diff --git a/server/AIServer/AIUser.cpp b/server/AIServer/AIUser.cpp new file mode 100644 index 0000000..5ee719a --- /dev/null +++ b/server/AIServer/AIUser.cpp @@ -0,0 +1,188 @@ +#include "stdafx.h" +#include "User.h" +#include "Region.h" +#include "GameSocket.h" +#include "Npc.h" +#include "MAP.h" + +#define MORAL_GOOD 0x01 +#define MORAL_BAD 0x02 +#define MORAL_NEUTRAL 0x03 + +static float surround_fx[8] = {0.0f, -0.7071f, -1.0f, -0.7083f, 0.0f, 0.7059f, 1.0000f, 0.7083f}; +static float surround_fz[8] = {1.0f, 0.7071f, 0.0f, -0.7059f, -1.0f, -0.7083f, -0.0017f, 0.7059f}; + +CUser::CUser() : Unit(UnitPlayer) {} +CUser::~CUser() { } + +void CUser::Initialize() +{ + Unit::Initialize(); + + m_iUserId = -1; + m_bLive = AI_USER_DEAD; + m_sHP = m_sMP = 0; + m_sMaxHP = m_sMaxMP = 0; + m_state = 0; + m_sItemAc = 0; + m_byNowParty = 0; + m_sPartyTotalLevel = 0; + m_byPartyTotalMan = 0; + m_sPartyNumber = -1; + m_byIsOP = 0; + m_transformationType = TransformationNone; + m_bInvisibilityType = 0; + + m_tLastRegeneTime = 0; + m_bMaxWeightAmount = 100; + + m_FlashExpBonus = 0; + m_FlashDcBonus = 0; + m_FlashWarBonus = 0; + + m_sExpGainAmount = m_bNPGainAmount = m_bNoahGainAmount = 100; + m_bPlayerAttackAmount = 100; + m_bSkillNPBonus = 0; + m_bAddWeaponDamage = 0; + m_sAddArmourAc = 0; + m_bPctArmourAc = 100; + m_bPremiumMerchant = false; + + InitNpcAttack(); +} + +void CUser::OnDeath(Unit * pAttacker) +{ + if (m_bLive == AI_USER_DEAD) + return; + + m_sHP = 0; + m_bLive = AI_USER_DEAD; + + InitNpcAttack(); + + MAP* pMap = GetMap(); + if (pMap == nullptr) + return; + + pMap->RegionUserRemove(m_sRegionX, m_sRegionZ, GetID()); +} + +void CUser::InitNpcAttack() +{ + memset(&m_sSurroundNpcNumber, -1, sizeof(m_sSurroundNpcNumber)); +} + +int CUser::IsSurroundCheck(float fX, float fY, float fZ, int NpcID) +{ + int nDir = 0; + __Vector3 vNpc, vUser, vDis; + vNpc.Set(fX, fY, fZ); + float fDX, fDZ; + float fDis = 0.0f, fCurDis=1000.0f; + bool bFlag = false; + for(int i=0; i<8; i++) + { + //if(m_sSurroundNpcNumber[i] != -1) continue; + if(m_sSurroundNpcNumber[i] == NpcID) + { + if (bFlag) + m_sSurroundNpcNumber[i] = -1; + else + { + m_sSurroundNpcNumber[i] = NpcID; + nDir = i+1; + bFlag = true; + } + //return nDir; + } + + if(m_sSurroundNpcNumber[i] == -1 && bFlag==false) + { + fDX = GetX() + surround_fx[i]; + fDZ = GetZ() + surround_fz[i]; + vUser.Set(fDX, 0.0f, fDZ); + vDis = vUser - vNpc; + fDis = vDis.Magnitude(); + if(fDis < fCurDis) + { + nDir = i+1; + fCurDis = fDis; + } + } + } + + + /* TRACE("User-Sur : [0=%d,1=%d,2=%d,3=%d,4=%d,5=%d,6=%d,7=%d]\n", m_sSurroundNpcNumber[0], + m_sSurroundNpcNumber[1], m_sSurroundNpcNumber[2], m_sSurroundNpcNumber[3], m_sSurroundNpcNumber[4], + m_sSurroundNpcNumber[5],m_sSurroundNpcNumber[6], m_sSurroundNpcNumber[7]); + */ + if(nDir != 0) + { + m_sSurroundNpcNumber[nDir-1] = NpcID; + } + + return nDir; +} + +void CUser::HealMagic() +{ + int region_x = (int)(GetX() / VIEW_DIST); + int region_z = (int)(GetZ() / VIEW_DIST); + + MAP* pMap = GetMap(); + if (pMap == nullptr) return; + int min_x = region_x - 1; if(min_x < 0) min_x = 0; + int min_z = region_z - 1; if(min_z < 0) min_z = 0; + int max_x = region_x + 1; if(max_x > pMap->GetXRegionMax()) max_x = pMap->GetXRegionMax(); + int max_z = region_z + 1; if(min_z > pMap->GetZRegionMax()) min_z = pMap->GetZRegionMax(); + + int search_x = max_x - min_x + 1; + int search_z = max_z - min_z + 1; + + int i, j; + + for(i = 0; i < search_x; i++) + { + for(j = 0; j < search_z; j++) + { + HealAreaCheck( min_x+i, min_z+j ); + } + } +} + +void CUser::HealAreaCheck(int rx, int rz) +{ + MAP* pMap = GetMap(); + if (pMap == nullptr) return; + + if (rx < 0 || rz < 0 || rx > pMap->GetXRegionMax() || rz > pMap->GetZRegionMax()) + { + //TRACE("#### CUser-HealAreaCheck() Fail : [nid=%d, name=%s], nRX=%d, nRZ=%d #####\n", GetID(), GetName().c_str(), rx, rz); + return; + } + + static const float fRadius = 30.0f; // 30m + + Guard lock(pMap->m_lock); + CRegion *pRegion = &pMap->m_ppRegion[rx][rz]; + + if (pRegion == nullptr || (pRegion && pRegion->m_RegionNpcArray.GetSize() <= 0)) + return; + + foreach_stlmap (itr, pRegion->m_RegionNpcArray) + { + CNpc * pNpc = g_pMain->GetNpcPtr(itr->first); + if (pNpc == nullptr) + continue; + + if(pNpc->isDead() || !pNpc->isHostileTo(this)) + continue; + + if (pNpc->isInRangeSlow(this, fRadius)) + { + pNpc->ChangeTarget(1004, this); + break; + } + } +} \ No newline at end of file diff --git a/server/AIServer/Debug/AIServer.Build.CppClean.log b/server/AIServer/Debug/AIServer.Build.CppClean.log new file mode 100644 index 0000000..d5430c4 --- /dev/null +++ b/server/AIServer/Debug/AIServer.Build.CppClean.log @@ -0,0 +1,53 @@ +f:\005server\aıserver\debug\vcpkg.applocal.log +f:\005server\aıserver\debug\server.pch +f:\005server\aıserver\debug\vc142.pdb +f:\005server\aıserver\debug\vc142.ıdb +f:\005server\aıserver\debug\stdafx.obj +f:\005server\aıserver\debug\magıcprocess.obj +f:\005server\aıserver\debug\unıt.obj +f:\005server\aıserver\debug\gamesocket.obj +f:\005server\aıserver\debug\maın.obj +f:\005server\aıserver\debug\map.obj +f:\005server\aıserver\debug\npc.obj +f:\005server\aıserver\debug\npcmagıcprocess.obj +f:\005server\aıserver\debug\npcthread.obj +f:\005server\aıserver\debug\party.obj +f:\005server\aıserver\debug\pathfınd.obj +f:\005server\aıserver\debug\roomevent.obj +f:\005server\aıserver\debug\aıuser.obj +f:\005server\aıserver\debug\serverdlg.obj +f:\005server\aıserver\debug\n3shapemgr.obj +f:\bın\debug\aıserver.ılk +f:\bın\debug\aıserver.exe +f:\005server\aıserver\debug\server.map +f:\bın\debug\aıserver.pdb +f:\005server\aıserver\debug\aıserver.res +f:\005server\server source\aıserver\debug\aıuser.obj +f:\005server\server source\aıserver\debug\gamesocket.obj +f:\005server\server source\aıserver\debug\magicprocess.obj +f:\005server\server source\aıserver\debug\main.obj +f:\005server\server source\aıserver\debug\map.obj +f:\005server\server source\aıserver\debug\n3shapemgr.obj +f:\005server\server source\aıserver\debug\npc.obj +f:\005server\server source\aıserver\debug\npcmagicprocess.obj +f:\005server\server source\aıserver\debug\npcthread.obj +f:\005server\server source\aıserver\debug\party.obj +f:\005server\server source\aıserver\debug\pathfind.obj +f:\005server\server source\aıserver\debug\roomevent.obj +f:\005server\server source\aıserver\debug\serverdlg.obj +f:\005server\server source\aıserver\debug\stdafx.obj +f:\005server\server source\aıserver\debug\unit.obj +f:\005server\server source\aıserver\debug\aıserver.res +f:\005server\server source\aıserver\debug\server.pch +f:\005server\server source\aıserver\debug\vc142.idb +f:\005server\server source\aıserver\debug\vc142.pdb +f:\005server\server source\aıserver\debug\aıserver.tlog\aıserver.write.1u.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\cl.command.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\cl.read.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\cl.write.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\link.command.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\link.read.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\link.write.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\rc.command.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\rc.read.1.tlog +f:\005server\server source\aıserver\debug\aıserver.tlog\rc.write.1.tlog diff --git a/server/AIServer/Debug/AIServer.res b/server/AIServer/Debug/AIServer.res new file mode 100644 index 0000000..8bb0b1e Binary files /dev/null and b/server/AIServer/Debug/AIServer.res differ diff --git a/server/AIServer/Debug/AIServer.tlog/AIServer.lastbuildstate b/server/AIServer/Debug/AIServer.tlog/AIServer.lastbuildstate new file mode 100644 index 0000000..869aa4e --- /dev/null +++ b/server/AIServer/Debug/AIServer.tlog/AIServer.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Debug|Win32|F:\005SERVER\server source\| diff --git a/server/AIServer/Debug/AIServer.tlog/AIServer.write.1u.tlog b/server/AIServer/Debug/AIServer.tlog/AIServer.write.1u.tlog new file mode 100644 index 0000000..e59a281 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/AIServer.write.1u.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/CL.command.1.tlog b/server/AIServer/Debug/AIServer.tlog/CL.command.1.tlog new file mode 100644 index 0000000..1b0ca1d Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/CL.command.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/CL.read.1.tlog b/server/AIServer/Debug/AIServer.tlog/CL.read.1.tlog new file mode 100644 index 0000000..c19f0f0 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/CL.read.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/CL.write.1.tlog b/server/AIServer/Debug/AIServer.tlog/CL.write.1.tlog new file mode 100644 index 0000000..249b1c7 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/CL.write.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/link.command.1.tlog b/server/AIServer/Debug/AIServer.tlog/link.command.1.tlog new file mode 100644 index 0000000..9aaa3a4 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/link.command.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/link.read.1.tlog b/server/AIServer/Debug/AIServer.tlog/link.read.1.tlog new file mode 100644 index 0000000..6f5638a Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/link.read.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/link.write.1.tlog b/server/AIServer/Debug/AIServer.tlog/link.write.1.tlog new file mode 100644 index 0000000..fa38cc1 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/link.write.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/rc.command.1.tlog b/server/AIServer/Debug/AIServer.tlog/rc.command.1.tlog new file mode 100644 index 0000000..756236a Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/rc.command.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/rc.read.1.tlog b/server/AIServer/Debug/AIServer.tlog/rc.read.1.tlog new file mode 100644 index 0000000..13cd326 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/rc.read.1.tlog differ diff --git a/server/AIServer/Debug/AIServer.tlog/rc.write.1.tlog b/server/AIServer/Debug/AIServer.tlog/rc.write.1.tlog new file mode 100644 index 0000000..84c44a6 Binary files /dev/null and b/server/AIServer/Debug/AIServer.tlog/rc.write.1.tlog differ diff --git a/server/AIServer/Debug/AIUser.obj b/server/AIServer/Debug/AIUser.obj new file mode 100644 index 0000000..dec562a Binary files /dev/null and b/server/AIServer/Debug/AIUser.obj differ diff --git a/server/AIServer/Debug/GameSocket.obj b/server/AIServer/Debug/GameSocket.obj new file mode 100644 index 0000000..08a029c Binary files /dev/null and b/server/AIServer/Debug/GameSocket.obj differ diff --git a/server/AIServer/Debug/MAP.obj b/server/AIServer/Debug/MAP.obj new file mode 100644 index 0000000..0562246 Binary files /dev/null and b/server/AIServer/Debug/MAP.obj differ diff --git a/server/AIServer/Debug/MagicProcess.obj b/server/AIServer/Debug/MagicProcess.obj new file mode 100644 index 0000000..4e0f6a6 Binary files /dev/null and b/server/AIServer/Debug/MagicProcess.obj differ diff --git a/server/AIServer/Debug/N3ShapeMgr.obj b/server/AIServer/Debug/N3ShapeMgr.obj new file mode 100644 index 0000000..bddad89 Binary files /dev/null and b/server/AIServer/Debug/N3ShapeMgr.obj differ diff --git a/server/AIServer/Debug/Npc.obj b/server/AIServer/Debug/Npc.obj new file mode 100644 index 0000000..934c31e Binary files /dev/null and b/server/AIServer/Debug/Npc.obj differ diff --git a/server/AIServer/Debug/NpcMagicProcess.obj b/server/AIServer/Debug/NpcMagicProcess.obj new file mode 100644 index 0000000..15cae7f Binary files /dev/null and b/server/AIServer/Debug/NpcMagicProcess.obj differ diff --git a/server/AIServer/Debug/NpcThread.obj b/server/AIServer/Debug/NpcThread.obj new file mode 100644 index 0000000..9f7a46b Binary files /dev/null and b/server/AIServer/Debug/NpcThread.obj differ diff --git a/server/AIServer/Debug/Party.obj b/server/AIServer/Debug/Party.obj new file mode 100644 index 0000000..fc44fdf Binary files /dev/null and b/server/AIServer/Debug/Party.obj differ diff --git a/server/AIServer/Debug/PathFind.obj b/server/AIServer/Debug/PathFind.obj new file mode 100644 index 0000000..cd2c947 Binary files /dev/null and b/server/AIServer/Debug/PathFind.obj differ diff --git a/server/AIServer/Debug/RoomEvent.obj b/server/AIServer/Debug/RoomEvent.obj new file mode 100644 index 0000000..2dd9999 Binary files /dev/null and b/server/AIServer/Debug/RoomEvent.obj differ diff --git a/server/AIServer/Debug/Server.map b/server/AIServer/Debug/Server.map new file mode 100644 index 0000000..c427d07 --- /dev/null +++ b/server/AIServer/Debug/Server.map @@ -0,0 +1,35973 @@ + AIServer + + Timestamp is 5d719ff5 (Fri Sep 6 02:53:25 2019) + + Preferred load address is 00400000 + + Start Length Name Class + 0001:00000000 00142631H .textbss DATA + 0002:00000000 00028900H .text$di CODE + 0002:00028900 002721f0H .text$mn CODE + 0002:0029aaf0 0001c030H .text$x CODE + 0002:002b6b20 000013a3H .text$yd CODE + 0003:00000000 00000104H .CRT$XCA DATA + 0003:00000104 00000104H .CRT$XCAA DATA + 0003:00000208 000001d0H .CRT$XCC DATA + 0003:000003d8 00000124H .CRT$XCL DATA + 0003:000004fc 00000150H .CRT$XCU DATA + 0003:0000064c 00000104H .CRT$XCZ DATA + 0003:00000750 00000104H .CRT$XIA DATA + 0003:00000854 00000104H .CRT$XIAA DATA + 0003:00000958 00000104H .CRT$XIAC DATA + 0003:00000a5c 0000011cH .CRT$XIC DATA + 0003:00000b78 00000104H .CRT$XIZ DATA + 0003:00000c7c 00000004H .CRT$XLA DATA + 0003:00000c80 00000004H .CRT$XLZ DATA + 0003:00000c84 00000104H .CRT$XPA DATA + 0003:00000d88 00000104H .CRT$XPB DATA + 0003:00000e8c 0000010cH .CRT$XPX DATA + 0003:00000f98 00000104H .CRT$XPXA DATA + 0003:0000109c 00000104H .CRT$XPZ DATA + 0003:000011a0 00000104H .CRT$XTA DATA + 0003:000012a4 0000010cH .CRT$XTZ DATA + 0003:000013b0 0005e41cH .rdata DATA + 0003:0005f7cc 0000011cH .rdata$T DATA + 0003:0005f8e8 00005af0H .rdata$r DATA + 0003:000653d8 00000160H .rdata$zzzdbg DATA + 0003:00065538 00000104H .rtc$IAA DATA + 0003:0006563c 000001b4H .rtc$IMZ DATA + 0003:000657f0 00000104H .rtc$IZZ DATA + 0003:000658f4 00000104H .rtc$TAA DATA + 0003:000659f8 000001b4H .rtc$TMZ DATA + 0003:00065bac 00000104H .rtc$TZZ DATA + 0003:00065cb0 00019becH .xdata$x DATA + 0003:0007f89c 00000000H .edata DATA + 0004:00000000 000013d0H .data DATA + 0004:000013d0 000033a8H .data$r DATA + 0004:00004778 00003dbcH .bss DATA + 0005:00000000 000003c0H .idata$5 DATA + 0005:000003c0 0000003cH .idata$2 DATA + 0005:000003fc 00000014H .idata$3 DATA + 0005:00000410 000003c0H .idata$4 DATA + 0005:000007d0 00000d2fH .idata$6 DATA + 0006:00000000 00000797H .msvcjmc DATA + 0007:00000000 00000104H .tls DATA + 0007:00000104 00000104H .tls$ DATA + 0007:00000208 00000101H .tls$ZZZ DATA + 0008:00000000 00000104H .00cfg DATA + 0009:00000000 00000400H .rsrc$01 DATA + 0009:00000400 0001bcecH .rsrc$02 DATA + + Address Publics by Value Rva+Base Lib:Object + + 0000:00000000 ___enclave_config 00000000 + 0000:00000000 ___hybrid_auxiliary_iat 00000000 + 0000:00000000 ___guard_longjmp_count 00000000 + 0000:00000000 ___hybrid_code_map_count 00000000 + 0000:00000000 ___dynamic_value_reloc_table 00000000 + 0000:00000000 ___safe_se_handler_count 00000000 + 0000:00000000 ___guard_fids_count 00000000 + 0000:00000000 ___hybrid_code_map 00000000 + 0000:00000000 ___guard_fids_table 00000000 + 0000:00000000 ___guard_iat_count 00000000 + 0000:00000000 ___volatile_metadata 00000000 + 0000:00000000 ___guard_iat_table 00000000 + 0000:00000000 ___AbsoluteZero 00000000 + 0000:00000000 ___guard_longjmp_table 00000000 + 0000:00000000 __except_list 00000000 + 0000:00000000 ___safe_se_handler_table 00000000 + 0000:0000002c __tls_array 0000002c + 0000:00000100 ___guard_flags 00000100 + 0000:00000000 ___ImageBase 00400000 + 0001:00000000 __enc$textbss$begin 00401000 + 0001:00142631 __enc$textbss$end 00543631 + 0002:00028900 ??$?0$$V@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 0056c900 f i MagicProcess.obj + 0002:00028960 ??$?0E@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@E@1@@Z 0056c960 f i MagicProcess.obj + 0002:000289a0 ??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QAEX$$QAV?$allocator@U_Container_proxy@std@@@1@@Z 0056c9a0 f i MagicProcess.obj + 0002:00028a40 ??$_Allocate@$07U_Default_allocate_traits@std@@$0A@@std@@YAPAXI@Z 0056ca40 f i MagicProcess.obj + 0002:00028ac0 ??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPAXI@Z 0056cac0 f i MagicProcess.obj + 0002:00028bd0 ??$_Copy_memmove@PAEPAE@std@@YAPAEPAE00@Z 0056cbd0 f i MagicProcess.obj + 0002:00028c50 ??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 0056cc50 f i MagicProcess.obj + 0002:00028d00 ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 0056cd00 f i MagicProcess.obj + 0002:00028d90 ??$_Debug_lt_pred@ABU?$less@E@std@@ABEABE$0A@@std@@YA_NABU?$less@E@0@ABE1@Z 0056cd90 f i MagicProcess.obj + 0002:00028e80 ??$_Debug_lt_pred@ABU?$less@I@std@@ABIABI$0A@@std@@YA_NABU?$less@I@0@ABI1@Z 0056ce80 f i MagicProcess.obj + 0002:00028f70 ??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 0056cf70 f i MagicProcess.obj + 0002:00029010 ??$_Destroy_range@V?$allocator@E@std@@@std@@YAXPAEQAEAAV?$allocator@E@0@@Z 0056d010 f i MagicProcess.obj + 0002:00029040 ??$_Find@E@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@ABE@Z 0056d040 f i MagicProcess.obj + 0002:00029110 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@ABI@Z 0056d110 f i MagicProcess.obj + 0002:000291e0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@ABI@Z 0056d1e0 f i MagicProcess.obj + 0002:000292b0 ??$_Find_lower_bound@E@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@ABE@Z 0056d2b0 f i MagicProcess.obj + 0002:00029410 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@ABI@Z 0056d410 f i MagicProcess.obj + 0002:00029570 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@ABI@Z 0056d570 f i MagicProcess.obj + 0002:000296d0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 0056d6d0 f i MagicProcess.obj + 0002:000297c0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 0056d7c0 f i MagicProcess.obj + 0002:00029870 ??$_Get_size_of_n@$00@std@@YAII@Z 0056d870 f i MagicProcess.obj + 0002:000298b0 ??$_Get_size_of_n@$07@std@@YAII@Z 0056d8b0 f i MagicProcess.obj + 0002:00029910 ??$_Get_unwrapped@E@std@@YAPAEQAE@Z 0056d910 f i MagicProcess.obj + 0002:00029950 ??$_Kfn@$$CBEU_BUFF_TYPE4_INFO@@@?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@SAABEABU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 0056d950 f i MagicProcess.obj + 0002:00029990 ??$_Kfn@$$CBIPAU_MAGIC_TABLE@@@?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@@Z 0056d990 f i MagicProcess.obj + 0002:000299d0 ??$_Kfn@$$CBIPAU_MAGIC_TYPE4@@@?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@@Z 0056d9d0 f i MagicProcess.obj + 0002:00029a10 ??$_Lower_bound_duplicate@E@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@ABE@Z 0056da10 f i MagicProcess.obj + 0002:00029ac0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@ABI@Z 0056dac0 f i MagicProcess.obj + 0002:00029b70 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@ABI@Z 0056db70 f i MagicProcess.obj + 0002:00029c20 ??$_Min_value@I@std@@YAABIABI0@Z 0056dc20 f i MagicProcess.obj + 0002:00029c90 ??$_Resize@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 0056dc90 f i MagicProcess.obj + 0002:00029de0 ??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 0056dde0 f i MagicProcess.obj + 0002:00029fc0 ??$_Unfancy@E@std@@YAPAEPAE@Z 0056dfc0 f i MagicProcess.obj + 0002:0002a000 ??$_Unfancy@U_Container_proxy@std@@@std@@YAPAU_Container_proxy@0@PAU10@@Z 0056e000 f i MagicProcess.obj + 0002:0002a040 ??$_Uninitialized_move@PAEV?$allocator@E@std@@@std@@YAPAEQAE0PAEAAV?$allocator@E@0@@Z 0056e040 f i MagicProcess.obj + 0002:0002a0e0 ??$_Uninitialized_value_construct_n@V?$allocator@E@std@@@std@@YAPAEPAEIAAV?$allocator@E@0@@Z 0056e0e0 f i MagicProcess.obj + 0002:0002a150 ??$_Zero_range@PAE@std@@YAPAEQAE0@Z 0056e150 f i MagicProcess.obj + 0002:0002a1c0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@0@ABV10@@Z 0056e1c0 f i MagicProcess.obj + 0002:0002a200 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@0@ABV10@@Z 0056e200 f i MagicProcess.obj + 0002:0002a240 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@0@ABV10@@Z 0056e240 f i MagicProcess.obj + 0002:0002a280 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@0@AAPAU10@@Z 0056e280 f i MagicProcess.obj + 0002:0002a2c0 ??$addressof@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@YAPAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@0@AAU10@@Z 0056e2c0 f i MagicProcess.obj + 0002:0002a300 ??$addressof@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAGIC_TABLE@@@0@AAU10@@Z 0056e300 f i MagicProcess.obj + 0002:0002a340 ??$addressof@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@0@AAU10@@Z 0056e340 f i MagicProcess.obj + 0002:0002a380 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@0@AAV10@@Z 0056e380 f i MagicProcess.obj + 0002:0002a3c0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@0@AAV10@@Z 0056e3c0 f i MagicProcess.obj + 0002:0002a400 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@0@AAV10@@Z 0056e400 f i MagicProcess.obj + 0002:0002a440 ??$append@E@ByteBuffer@@QAEXE@Z 0056e440 f i MagicProcess.obj + 0002:0002a4a0 ??$construct@U_Container_proxy@std@@PAU_Container_base12@2@@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAAV?$allocator@U_Container_proxy@std@@@1@QAU_Container_proxy@1@$$QAPAU_Container_base12@1@@Z 0056e4a0 f i MagicProcess.obj + 0002:0002a520 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 0056e520 f i MagicProcess.obj + 0002:0002a550 ??$destroy@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 0056e550 f i MagicProcess.obj + 0002:0002a580 ??$destroy@U_Container_proxy@std@@@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAAV?$allocator@U_Container_proxy@std@@@1@QAU_Container_proxy@1@@Z 0056e580 f i MagicProcess.obj + 0002:0002a5b0 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@V21@@Z 0056e5b0 f i MagicProcess.obj + 0002:0002a7a0 ??$exchange@PAU_Container_proxy@std@@$$T@std@@YAPAU_Container_proxy@0@AAPAU10@$$QA$$T@Z 0056e7a0 f i MagicProcess.obj + 0002:0002a7f0 ??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 0056e7f0 f i MagicProcess.obj + 0002:0002a830 ??$move@AAD@std@@YA$$QADAAD@Z 0056e830 f i MagicProcess.obj + 0002:0002a870 ??$read@D@ByteBuffer@@QAEDXZ 0056e870 f i MagicProcess.obj + 0002:0002a8f0 ??$read@D@ByteBuffer@@QBEDI@Z 0056e8f0 f i MagicProcess.obj + 0002:0002a970 ??$read@E@ByteBuffer@@QAEEXZ 0056e970 f i MagicProcess.obj + 0002:0002a9f0 ??$read@E@ByteBuffer@@QBEEI@Z 0056e9f0 f i MagicProcess.obj + 0002:0002aa70 ??$read@G@ByteBuffer@@QAEGXZ 0056ea70 f i MagicProcess.obj + 0002:0002aaf0 ??$read@G@ByteBuffer@@QBEGI@Z 0056eaf0 f i MagicProcess.obj + 0002:0002ab70 ??$read@I@ByteBuffer@@QAEIXZ 0056eb70 f i MagicProcess.obj + 0002:0002abf0 ??$read@I@ByteBuffer@@QBEII@Z 0056ebf0 f i MagicProcess.obj + 0002:0002ac70 ??$swap@DX@std@@YAXAAD0@Z 0056ec70 f i MagicProcess.obj + 0002:0002ad30 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0056ed30 f i MagicProcess.obj + 0002:0002ad90 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0056ed90 f i MagicProcess.obj + 0002:0002adf0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@1@@Z 0056edf0 f i MagicProcess.obj + 0002:0002ae50 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@1@@Z 0056ee50 f i MagicProcess.obj + 0002:0002aeb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0056eeb0 f i MagicProcess.obj + 0002:0002af10 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0056ef10 f i MagicProcess.obj + 0002:0002af70 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@1@@Z 0056ef70 f i MagicProcess.obj + 0002:0002afd0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@1@@Z 0056efd0 f i MagicProcess.obj + 0002:0002b030 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0056f030 f i MagicProcess.obj + 0002:0002b0a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0056f0a0 f i MagicProcess.obj + 0002:0002b110 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0056f110 f i MagicProcess.obj + 0002:0002b180 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@1@@Z 0056f180 f i MagicProcess.obj + 0002:0002b1f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@1@@Z 0056f1f0 f i MagicProcess.obj + 0002:0002b260 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0056f260 f i MagicProcess.obj + 0002:0002b2c0 ??0?$_Vector_val@U?$_Simple_types@E@std@@@std@@QAE@XZ 0056f2c0 f i MagicProcess.obj + 0002:0002b340 ??0?$allocator@E@std@@QAE@XZ 0056f340 f i MagicProcess.obj + 0002:0002b380 ??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 0056f380 f i MagicProcess.obj + 0002:0002b440 ??0ByteBuffer@@QAE@XZ 0056f440 f i MagicProcess.obj + 0002:0002b520 ??0Guard@@QAE@AAVrecursive_mutex@std@@@Z 0056f520 f i MagicProcess.obj + 0002:0002b590 ??0Packet@@QAE@EE@Z 0056f590 f i MagicProcess.obj + 0002:0002b660 ??0_BUFF_TYPE4_INFO@@QAE@XZ 0056f660 f i MagicProcess.obj + 0002:0002b6e0 ??0_Container_base12@std@@QAE@XZ 0056f6e0 f i MagicProcess.obj + 0002:0002b730 ??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 0056f730 f i MagicProcess.obj + 0002:0002b790 ??0_Iterator_base12@std@@QAE@ABU01@@Z 0056f790 f i MagicProcess.obj + 0002:0002b810 ??0_Iterator_base12@std@@QAE@XZ 0056f810 f i MagicProcess.obj + 0002:0002b860 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 0056f860 f i MagicProcess.obj + 0002:0002b8b0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@XZ 0056f8b0 f i MagicProcess.obj + 0002:0002b900 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@XZ 0056f900 f i MagicProcess.obj + 0002:0002b950 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 0056f950 f i MagicProcess.obj + 0002:0002b9a0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@XZ 0056f9a0 f i MagicProcess.obj + 0002:0002b9f0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@XZ 0056f9f0 f i MagicProcess.obj + 0002:0002ba40 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0056fa40 f i MagicProcess.obj + 0002:0002ba90 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0056fa90 f i MagicProcess.obj + 0002:0002bae0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0056fae0 f i MagicProcess.obj + 0002:0002bb30 ??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 0056fb30 f i MagicProcess.obj + 0002:0002bc40 ??1ByteBuffer@@UAE@XZ 0056fc40 f i MagicProcess.obj + 0002:0002bca0 ??1Guard@@QAE@XZ 0056fca0 f i MagicProcess.obj + 0002:0002bd30 ??1Packet@@UAE@XZ 0056fd30 f i MagicProcess.obj + 0002:0002bd80 ??1_Iterator_base12@std@@QAE@XZ 0056fd80 f i MagicProcess.obj + 0002:0002be50 ??2@YAPAXIPAX@Z 0056fe50 f i MagicProcess.obj + 0002:0002be90 ??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 0056fe90 f i MagicProcess.obj + 0002:0002bfa0 ??5ByteBuffer@@QAEAAV0@AAE@Z 0056ffa0 f i MagicProcess.obj + 0002:0002c000 ??5ByteBuffer@@QAEAAV0@AAG@Z 00570000 f i MagicProcess.obj + 0002:0002c060 ??5ByteBuffer@@QAEAAV0@AAI@Z 00570060 f i MagicProcess.obj + 0002:0002c0c0 ??5ByteBuffer@@QAEAAV0@AA_N@Z 005700c0 f i MagicProcess.obj + 0002:0002c140 ??6ByteBuffer@@QAEAAV0@E@Z 00570140 f i MagicProcess.obj + 0002:0002c1a0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005701a0 f i MagicProcess.obj + 0002:0002c2a0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005702a0 f i MagicProcess.obj + 0002:0002c3a0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005703a0 f i MagicProcess.obj + 0002:0002c4a0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005704a0 f i MagicProcess.obj + 0002:0002c530 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00570530 f i MagicProcess.obj + 0002:0002c5c0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005705c0 f i MagicProcess.obj + 0002:0002c650 ??A?$vector@EV?$allocator@E@std@@@std@@QAEAAEI@Z 00570650 f i MagicProcess.obj + 0002:0002c720 ??A?$vector@EV?$allocator@E@std@@@std@@QBEABEI@Z 00570720 f i MagicProcess.obj + 0002:0002c7f0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@XZ 005707f0 f i MagicProcess.obj + 0002:0002c850 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@XZ 00570850 f i MagicProcess.obj + 0002:0002c8b0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@XZ 005708b0 f i MagicProcess.obj + 0002:0002c910 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@XZ 00570910 f i MagicProcess.obj + 0002:0002ca50 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@XZ 00570a50 f i MagicProcess.obj + 0002:0002cb90 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@XZ 00570b90 f i MagicProcess.obj + 0002:0002ccd0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@XZ 00570cd0 f i MagicProcess.obj + 0002:0002cd20 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@XZ 00570d20 f i MagicProcess.obj + 0002:0002cd70 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@XZ 00570d70 f i MagicProcess.obj + 0002:0002cdc0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 00570dc0 f i MagicProcess.obj + 0002:0002ce80 ??R?$less@E@std@@QBE_NABE0@Z 00570e80 f i MagicProcess.obj + 0002:0002cef0 ??R?$less@I@std@@QBE_NABI0@Z 00570ef0 f i MagicProcess.obj + 0002:0002cf60 ??_EByteBuffer@@UAEPAXI@Z 00570f60 f i MagicProcess.obj + 0002:0002cf60 ??_GByteBuffer@@UAEPAXI@Z 00570f60 f i MagicProcess.obj + 0002:0002cfd0 ??_EPacket@@UAEPAXI@Z 00570fd0 f i MagicProcess.obj + 0002:0002cfd0 ??_GPacket@@UAEPAXI@Z 00570fd0 f i MagicProcess.obj + 0002:0002d040 ?GetClanID@CUser@@QAEGXZ 00571040 f i MagicProcess.obj + 0002:0002d080 ?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00571080 f i MagicProcess.obj + 0002:0002d240 ?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z 00571240 f i MagicProcess.obj + 0002:0002d400 ?GetMap@Unit@@QAEPAVMAP@@XZ 00571400 f i MagicProcess.obj + 0002:0002d440 ?GetPartyID@CUser@@QAEGXZ 00571440 f i MagicProcess.obj + 0002:0002d490 ?GetStat@CUser@@QAEEW4StatType@@@Z 00571490 f i MagicProcess.obj + 0002:0002d4d0 ?GetUnitType@Unit@@QAE?AW4UnitType@@XZ 005714d0 f i MagicProcess.obj + 0002:0002d510 ?GetZoneID@Unit@@QAEEXZ 00571510 f i MagicProcess.obj + 0002:0002d550 ?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z 00571550 f MagicProcess.obj + 0002:0002e7e0 ?IsBuff@CMagicProcess@@SA_NPAU_MAGIC_TYPE4@@@Z 005727e0 f MagicProcess.obj + 0002:0002ee00 ?MagicPacket@CMagicProcess@@SAXAAVPacket@@PAVUnit@@@Z 00572e00 f MagicProcess.obj + 0002:0002f0d0 ?RemoveSavedMagic@CUser@@QAEXI@Z 005730d0 f i MagicProcess.obj + 0002:0002f110 ?RemoveStatBuff@CUser@@QAEXW4StatType@@C@Z 00573110 f i MagicProcess.obj + 0002:0002f150 ?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z 00573150 f MagicProcess.obj + 0002:00030310 ?Send@CUser@@QAEXPAVPacket@@@Z 00574310 f i MagicProcess.obj + 0002:00030350 ?SendUserStatusUpdate@CUser@@QAEXW4UserStatus@@W4UserStatusBehaviour@@@Z 00574350 f i MagicProcess.obj + 0002:00030390 ?SetStatBuff@CUser@@QAEXW4StatType@@C@Z 00574390 f i MagicProcess.obj + 0002:000303d0 ?SetUserAbility@CUser@@QAEX_N@Z 005743d0 f i MagicProcess.obj + 0002:00030410 ?UserRegionCheck@CMagicProcess@@SA_NPAVUnit@@0PAU_MAGIC_TABLE@@HFF@Z 00574410 f MagicProcess.obj + 0002:00030a20 ?_Adjust_manually_vector_aligned@std@@YAXAAPAXAAI@Z 00574a20 f i MagicProcess.obj + 0002:00030bb0 ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z 00574bb0 f i MagicProcess.obj + 0002:00030bf0 ?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00574bf0 f i MagicProcess.obj + 0002:00030d40 ?_Allocate@_Default_allocate_traits@std@@SAPAXI@Z 00574d40 f i MagicProcess.obj + 0002:00030d90 ?_Calculate_growth@?$vector@EV?$allocator@E@std@@@std@@ABEII@Z 00574d90 f i MagicProcess.obj + 0002:00030e30 ?_Change_array@?$vector@EV?$allocator@E@std@@@std@@AAEXQAEII@Z 00574e30 f i MagicProcess.obj + 0002:00030f20 ?_Check_C_return@std@@YAHH@Z 00574f20 f i MagicProcess.obj + 0002:00030f80 ?_Destroy@?$vector@EV?$allocator@E@std@@@std@@AAEXPAE0@Z 00574f80 f i MagicProcess.obj + 0002:00030ff0 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00574ff0 f i MagicProcess.obj + 0002:000310e0 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005750e0 f i MagicProcess.obj + 0002:00031670 ?_Get_first@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@E@2@XZ 00575670 f i MagicProcess.obj + 0002:000316b0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005756b0 f i MagicProcess.obj + 0002:000316f0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005756f0 f i MagicProcess.obj + 0002:00031730 ?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QAEAAV?$allocator@E@2@XZ 00575730 f i MagicProcess.obj + 0002:00031770 ?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QBEABV?$allocator@E@2@XZ 00575770 f i MagicProcess.obj + 0002:000317b0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@XZ 005757b0 f i MagicProcess.obj + 0002:000317f0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@XZ 005757f0 f i MagicProcess.obj + 0002:00031850 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@XZ 00575850 f i MagicProcess.obj + 0002:000318b0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@XZ 005758b0 f i MagicProcess.obj + 0002:00031910 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@XZ 00575910 f i MagicProcess.obj + 0002:00031970 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@XZ 00575970 f i MagicProcess.obj + 0002:000319d0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@XZ 005759d0 f i MagicProcess.obj + 0002:00031a30 ?_Getal@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@XZ 00575a30 f i MagicProcess.obj + 0002:00031a80 ?_Getal@?$vector@EV?$allocator@E@std@@@std@@AAEAAV?$allocator@E@2@XZ 00575a80 f i MagicProcess.obj + 0002:00031ad0 ?_Getal@?$vector@EV?$allocator@E@std@@@std@@ABEABV?$allocator@E@2@XZ 00575ad0 f i MagicProcess.obj + 0002:00031b20 ?_Getcomp@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@E@2@XZ 00575b20 f i MagicProcess.obj + 0002:00031b70 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00575b70 f i MagicProcess.obj + 0002:00031bc0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00575bc0 f i MagicProcess.obj + 0002:00031c10 ?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00575c10 f i MagicProcess.obj + 0002:00031c80 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@@Z 00575c80 f i MagicProcess.obj + 0002:00031d70 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@PAU32@@Z 00575d70 f i MagicProcess.obj + 0002:00031dd0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@PAU32@@Z 00575dd0 f i MagicProcess.obj + 0002:00031e20 ?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00575e20 f i MagicProcess.obj + 0002:00031e60 ?_Orphan_all@_Container_base12@std@@QAEXXZ 00575e60 f i MagicProcess.obj + 0002:00031f80 ?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00575f80 f i MagicProcess.obj + 0002:00032090 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@@Z 00576090 f i MagicProcess.obj + 0002:000321a0 ?_Orphan_range@?$vector@EV?$allocator@E@std@@@std@@ABEXPAE0@Z 005761a0 f i MagicProcess.obj + 0002:000322b0 ?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 005762b0 f i MagicProcess.obj + 0002:00032400 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@@Z 00576400 f i MagicProcess.obj + 0002:000324f0 ?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 005764f0 f i MagicProcess.obj + 0002:00032610 ?_Ufill@?$vector@EV?$allocator@E@std@@@std@@AAEPAEPAEIU_Value_init_tag@2@@Z 00576610 f i MagicProcess.obj + 0002:00032680 ?_Umove_if_noexcept1@?$vector@EV?$allocator@E@std@@@std@@AAEXPAE00U?$integral_constant@_N$00@2@@Z 00576680 f i MagicProcess.obj + 0002:000326f0 ?_Umove_if_noexcept@?$vector@EV?$allocator@E@std@@@std@@AAEXPAE00@Z 005766f0 f i MagicProcess.obj + 0002:00032770 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 00576770 f i MagicProcess.obj + 0002:000327e0 ?_Xlength@?$vector@EV?$allocator@E@std@@@std@@CAXXZ 005767e0 f i MagicProcess.obj + 0002:00032830 ?allocate@?$allocator@E@std@@QAEPAEI@Z 00576830 f i MagicProcess.obj + 0002:000328a0 ?allocate@?$allocator@U_Container_proxy@std@@@std@@QAEPAU_Container_proxy@2@I@Z 005768a0 f i MagicProcess.obj + 0002:00032910 ?append@ByteBuffer@@QAEXPBXI@Z 00576910 f i MagicProcess.obj + 0002:00032a10 ?capacity@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00576a10 f i MagicProcess.obj + 0002:00032a60 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@I@Z 00576a60 f i MagicProcess.obj + 0002:00032ac0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAAV?$allocator@U_Container_proxy@std@@@2@QAU_Container_proxy@2@I@Z 00576ac0 f i MagicProcess.obj + 0002:00032b20 ?deallocate@?$allocator@E@std@@QAEXQAEI@Z 00576b20 f i MagicProcess.obj + 0002:00032b80 ?end@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 00576b80 f i MagicProcess.obj + 0002:00032c30 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00576c30 f i MagicProcess.obj + 0002:00032ce0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 00576ce0 f i MagicProcess.obj + 0002:00032d90 ?find@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@ABE@Z 00576d90 f i MagicProcess.obj + 0002:00032e20 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@ABI@Z 00576e20 f i MagicProcess.obj + 0002:00032eb0 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@ABI@Z 00576eb0 f i MagicProcess.obj + 0002:00032f40 ?isBuff@_BUFF_TYPE4_INFO@@QAE_NXZ 00576f40 f i MagicProcess.obj + 0002:00032f80 ?isInClan@CUser@@QAE_NXZ 00576f80 f i MagicProcess.obj + 0002:00032fc0 ?isInParty@CUser@@QAE_NXZ 00576fc0 f i MagicProcess.obj + 0002:00033030 ?isInTempleEventZone@Unit@@QAE_NE@Z 00577030 f i MagicProcess.obj + 0002:000330e0 ?isNPC@Unit@@QAE_NXZ 005770e0 f i MagicProcess.obj + 0002:00033160 ?isPlayer@Unit@@QAE_NXZ 00577160 f i MagicProcess.obj + 0002:000331e0 ?isWarZone@MAP@@QAE_NXZ 005771e0 f i MagicProcess.obj + 0002:00033250 ?lock@_Mutex_base@std@@QAEXXZ 00577250 f i MagicProcess.obj + 0002:000332c0 ?max@?$numeric_limits@H@std@@SAHXZ 005772c0 f i MagicProcess.obj + 0002:00033300 ?max_size@?$_Default_allocator_traits@V?$allocator@E@std@@@std@@SAIABV?$allocator@E@2@@Z 00577300 f i MagicProcess.obj + 0002:00033340 ?max_size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00577340 f i MagicProcess.obj + 0002:000333d0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@SAPAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@AAU32@@Z 005773d0 f i MagicProcess.obj + 0002:00033420 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAGIC_TABLE@@@2@AAU32@@Z 00577420 f i MagicProcess.obj + 0002:00033470 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@2@AAU32@@Z 00577470 f i MagicProcess.obj + 0002:000334c0 ?reserve@?$vector@EV?$allocator@E@std@@@std@@QAEXI@Z 005774c0 f i MagicProcess.obj + 0002:00033540 ?resize@?$vector@EV?$allocator@E@std@@@std@@QAEXI@Z 00577540 f i MagicProcess.obj + 0002:000335b0 ?size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 005775b0 f i MagicProcess.obj + 0002:00033600 ?size@ByteBuffer@@QBEIXZ 00577600 f i MagicProcess.obj + 0002:00033660 ?unlock@_Mutex_base@std@@QAEXXZ 00577660 f i MagicProcess.obj + 0002:000336d0 ___local_stdio_printf_options 005776d0 f i MagicProcess.obj + 0002:00033710 __vfprintf_l 00577710 f i MagicProcess.obj + 0002:00033780 _printf 00577780 f i MagicProcess.obj + 0002:00033800 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00577800 f i Unit.obj + 0002:00033860 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00577860 f i Unit.obj + 0002:000338c0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005778c0 f i Unit.obj + 0002:00033920 ??$?0AAEAAU_BUFF_TYPE4_INFO@@$0A@@?$pair@EU_BUFF_TYPE4_INFO@@@std@@QAE@AAEAAU_BUFF_TYPE4_INFO@@@Z 00577920 f i Unit.obj + 0002:000339c0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QA_N@Z 005779c0 f i Unit.obj + 0002:00033a40 ??$?0ABU?$less@E@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@E@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00577a40 f i Unit.obj + 0002:00033ac0 ??$?0ABU?$less@E@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@E@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00577ac0 f i Unit.obj + 0002:00033b40 ??$?0ABU?$less@E@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@E@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00577b40 f i Unit.obj + 0002:00033bc0 ??$?0EU_BUFF_TYPE4_INFO@@$0A@@?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@QAE@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 00577bc0 f i Unit.obj + 0002:00033c60 ??$?0PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QA_N@Z 00577c60 f i Unit.obj + 0002:00033ce0 ??$?0U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 00577ce0 f i Unit.obj + 0002:00033d20 ??$?0U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 00577d20 f i Unit.obj + 0002:00033d60 ??$?0U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@@Z 00577d60 f i Unit.obj + 0002:00033da0 ??$?0U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 00577da0 f i Unit.obj + 0002:00033de0 ??$?0U?$less@E@std@@U_One_then_variadic_args_t@1@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$less@E@1@$$QAU21@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 00577de0 f i Unit.obj + 0002:00033e70 ??$?0U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 00577e70 f i Unit.obj + 0002:00033ff0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@AB_N@Z 00577ff0 f i Unit.obj + 0002:00034070 ??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 00578070 f i Unit.obj + 0002:000340e0 ??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 005780e0 f i Unit.obj + 0002:000342c0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 005782c0 f i Unit.obj + 0002:000343e0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@@Z 005783e0 f i Unit.obj + 0002:00034500 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 00578500 f i Unit.obj + 0002:00034620 ??$_Buynode@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 00578620 f i Unit.obj + 0002:000346a0 ??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 005786a0 f i Unit.obj + 0002:00034860 ??$_Copy@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXABV01@U_Copy_tag@01@@Z 00578860 f i Unit.obj + 0002:00034980 ??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00578980 f i Unit.obj + 0002:00034b70 ??$_Copy_or_move@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@U?$integral_constant@_N$0A@@2@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@U_Copy_tag@01@U?$integral_constant@_N$0A@@1@@Z 00578b70 f i Unit.obj + 0002:00034bd0 ??$_Emplace@U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@_N@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 00578bd0 f i Unit.obj + 0002:00034d90 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 00578d90 f i Unit.obj + 0002:00034e20 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 00578e20 f i Unit.obj + 0002:00034eb0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@@Z 00578eb0 f i Unit.obj + 0002:00034f40 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 00578f40 f i Unit.obj + 0002:00034fd0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00578fd0 f i Unit.obj + 0002:000350a0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 005790a0 f i Unit.obj + 0002:00035170 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 00579170 f i Unit.obj + 0002:00035240 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00579240 f i Unit.obj + 0002:00035310 ??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00579310 f i Unit.obj + 0002:000353f0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@ABI@Z 005793f0 f i Unit.obj + 0002:000354c0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@ABI@Z 005794c0 f i Unit.obj + 0002:00035590 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@ABI@Z 00579590 f i Unit.obj + 0002:000356f0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@ABI@Z 005796f0 f i Unit.obj + 0002:00035850 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00579850 f i Unit.obj + 0002:00035940 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00579940 f i Unit.obj + 0002:00035a30 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00579a30 f i Unit.obj + 0002:00035b20 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00579b20 f i Unit.obj + 0002:00035bd0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00579bd0 f i Unit.obj + 0002:00035c80 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00579c80 f i Unit.obj + 0002:00035d30 ??$_Get_size_of_n@$0CA@@std@@YAII@Z 00579d30 f i Unit.obj + 0002:00035d90 ??$_Get_size_of_n@$0CI@@std@@YAII@Z 00579d90 f i Unit.obj + 0002:00035df0 ??$_Kfn@$$CBIPAU_MAGIC_TYPE1@@@?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@@Z 00579df0 f i Unit.obj + 0002:00035e30 ??$_Kfn@$$CBIPAU_MAGIC_TYPE2@@@?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@@Z 00579e30 f i Unit.obj + 0002:00035e70 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@ABI@Z 00579e70 f i Unit.obj + 0002:00035f20 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@ABI@Z 00579f20 f i Unit.obj + 0002:00035fd0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@0@ABV10@@Z 00579fd0 f i Unit.obj + 0002:00036010 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@0@ABV10@@Z 0057a010 f i Unit.obj + 0002:00036050 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@0@ABV10@@Z 0057a050 f i Unit.obj + 0002:00036090 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@0@ABV10@@Z 0057a090 f i Unit.obj + 0002:000360d0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@0@AAPAU10@@Z 0057a0d0 f i Unit.obj + 0002:00036110 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@0@AAPAU10@@Z 0057a110 f i Unit.obj + 0002:00036150 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@AAPAU10@@Z 0057a150 f i Unit.obj + 0002:00036190 ??$addressof@U?$pair@$$CBEF@std@@@std@@YAPAU?$pair@$$CBEF@0@AAU10@@Z 0057a190 f i Unit.obj + 0002:000361d0 ??$addressof@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@YAPAU?$pair@$$CBEU_BUFF_TYPE9_INFO@@@0@AAU10@@Z 0057a1d0 f i Unit.obj + 0002:00036210 ??$addressof@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@YAPAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@0@AAU10@@Z 0057a210 f i Unit.obj + 0002:00036250 ??$addressof@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@0@AAU10@@Z 0057a250 f i Unit.obj + 0002:00036290 ??$addressof@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@0@AAU10@@Z 0057a290 f i Unit.obj + 0002:000362d0 ??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 0057a2d0 f i Unit.obj + 0002:00036310 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@0@AAV10@@Z 0057a310 f i Unit.obj + 0002:00036350 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@0@AAV10@@Z 0057a350 f i Unit.obj + 0002:00036390 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@0@AAV10@@Z 0057a390 f i Unit.obj + 0002:000363d0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@0@AAV10@@Z 0057a3d0 f i Unit.obj + 0002:00036410 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@0@AAV10@@Z 0057a410 f i Unit.obj + 0002:00036450 ??$append@F@ByteBuffer@@QAEXF@Z 0057a450 f i Unit.obj + 0002:000364b0 ??$append@G@ByteBuffer@@QAEXG@Z 0057a4b0 f i Unit.obj + 0002:00036510 ??$construct@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@AAPAU31@@Z 0057a510 f i Unit.obj + 0002:00036590 ??$construct@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@AAPAU31@@Z 0057a590 f i Unit.obj + 0002:00036610 ??$construct@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@AAPAU31@@Z 0057a610 f i Unit.obj + 0002:00036690 ??$construct@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@AAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@AAU31@@Z 0057a690 f i Unit.obj + 0002:00036730 ??$construct@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@U?$pair@EU_BUFF_TYPE4_INFO@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 0057a730 f i Unit.obj + 0002:000367b0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 0057a7b0 f i Unit.obj + 0002:000367e0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 0057a7e0 f i Unit.obj + 0002:00036810 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 0057a810 f i Unit.obj + 0002:00036840 ??$destroy@U?$pair@$$CBEF@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@QAU?$pair@$$CBEF@1@@Z 0057a840 f i Unit.obj + 0002:00036870 ??$destroy@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBEU_BUFF_TYPE9_INFO@@@1@@Z 0057a870 f i Unit.obj + 0002:000368a0 ??$destroy@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@QAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@@Z 0057a8a0 f i Unit.obj + 0002:000368f0 ??$emplace@U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 0057a8f0 f i Unit.obj + 0002:00036a00 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@0@AAPAU10@0@Z 0057aa00 f i Unit.obj + 0002:00036a50 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 0057aa50 f i Unit.obj + 0002:00036aa0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@0@AAPAU10@0@Z 0057aaa0 f i Unit.obj + 0002:00036af0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@0@AAPAU10@0@Z 0057aaf0 f i Unit.obj + 0002:00036b40 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@AAPAU10@0@Z 0057ab40 f i Unit.obj + 0002:00036b90 ??$forward@AAE@std@@YAAAEAAE@Z 0057ab90 f i Unit.obj + 0002:00036bd0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@0@AAPAU10@@Z 0057abd0 f i Unit.obj + 0002:00036c10 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@0@AAPAU10@@Z 0057ac10 f i Unit.obj + 0002:00036c50 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@AAPAU10@@Z 0057ac50 f i Unit.obj + 0002:00036c90 ??$forward@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@YAAAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@0@AAU10@@Z 0057ac90 f i Unit.obj + 0002:00036cd0 ??$forward@AAU_BUFF_TYPE4_INFO@@@std@@YAAAU_BUFF_TYPE4_INFO@@AAU1@@Z 0057acd0 f i Unit.obj + 0002:00036d10 ??$forward@ABU?$less@E@std@@@std@@YAABU?$less@E@0@ABU10@@Z 0057ad10 f i Unit.obj + 0002:00036d50 ??$forward@AB_N@std@@YAAB_NAB_N@Z 0057ad50 f i Unit.obj + 0002:00036d90 ??$forward@E@std@@YA$$QAEAAE@Z 0057ad90 f i Unit.obj + 0002:00036dd0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@0@AAPAU10@@Z 0057add0 f i Unit.obj + 0002:00036e10 ??$forward@U?$less@E@std@@@std@@YA$$QAU?$less@E@0@AAU10@@Z 0057ae10 f i Unit.obj + 0002:00036e50 ??$forward@U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@std@@YA$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@0@AAU10@@Z 0057ae50 f i Unit.obj + 0002:00036e90 ??$forward@U_BUFF_TYPE4_INFO@@@std@@YA$$QAU_BUFF_TYPE4_INFO@@AAU1@@Z 0057ae90 f i Unit.obj + 0002:00036ed0 ??$forward@U_One_then_variadic_args_t@std@@@std@@YA$$QAU_One_then_variadic_args_t@0@AAU10@@Z 0057aed0 f i Unit.obj + 0002:00036f10 ??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 0057af10 f i Unit.obj + 0002:00036f50 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@0@AAV10@@Z 0057af50 f i Unit.obj + 0002:00036f90 ??$forward@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@0@AAV10@@Z 0057af90 f i Unit.obj + 0002:00036fd0 ??$forward@_N@std@@YA$$QA_NAA_N@Z 0057afd0 f i Unit.obj + 0002:00037010 ??$insert@U?$pair@EU_BUFF_TYPE4_INFO@@@std@@X@?$map@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 0057b010 f i Unit.obj + 0002:000370a0 ??$make_pair@AAEAAU_BUFF_TYPE4_INFO@@@std@@YA?AU?$pair@EU_BUFF_TYPE4_INFO@@@0@AAEAAU_BUFF_TYPE4_INFO@@@Z 0057b0a0 f i Unit.obj + 0002:00037110 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 0057b110 f i Unit.obj + 0002:00037170 ??0?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@AAV?$allocator@U_Container_proxy@std@@@1@AAU_Container_base12@1@@Z 0057b170 f i Unit.obj + 0002:00037230 ??0?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@E@1@@Z 0057b230 f i Unit.obj + 0002:000372b0 ??0?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@E@1@@Z 0057b2b0 f i Unit.obj + 0002:00037330 ??0?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@E@1@@Z 0057b330 f i Unit.obj + 0002:000373b0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b3b0 f i Unit.obj + 0002:00037410 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0057b410 f i Unit.obj + 0002:00037470 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@1@@Z 0057b470 f i Unit.obj + 0002:000374d0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b4d0 f i Unit.obj + 0002:00037530 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b530 f i Unit.obj + 0002:00037590 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0057b590 f i Unit.obj + 0002:000375f0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@1@@Z 0057b5f0 f i Unit.obj + 0002:00037650 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@1@@Z 0057b650 f i Unit.obj + 0002:000376b0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@1@@Z 0057b6b0 f i Unit.obj + 0002:00037710 ??0?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@AAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@1@@Z 0057b710 f i Unit.obj + 0002:000377a0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b7a0 f i Unit.obj + 0002:00037800 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0057b800 f i Unit.obj + 0002:00037860 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@1@@Z 0057b860 f i Unit.obj + 0002:000378c0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b8c0 f i Unit.obj + 0002:00037920 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0057b920 f i Unit.obj + 0002:00037980 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0057b980 f i Unit.obj + 0002:000379e0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@1@@Z 0057b9e0 f i Unit.obj + 0002:00037a40 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@1@@Z 0057ba40 f i Unit.obj + 0002:00037aa0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@1@@Z 0057baa0 f i Unit.obj + 0002:00037b00 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 0057bb00 f i Unit.obj + 0002:00037bb0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0057bbb0 f i Unit.obj + 0002:00037c20 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0057bc20 f i Unit.obj + 0002:00037c90 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@1@@Z 0057bc90 f i Unit.obj + 0002:00037d00 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0057bd00 f i Unit.obj + 0002:00037d70 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0057bd70 f i Unit.obj + 0002:00037de0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0057bde0 f i Unit.obj + 0002:00037e50 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@1@@Z 0057be50 f i Unit.obj + 0002:00037ec0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@1@@Z 0057bec0 f i Unit.obj + 0002:00037f30 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@1@@Z 0057bf30 f i Unit.obj + 0002:00037fa0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAE@XZ 0057bfa0 f i Unit.obj + 0002:00038010 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAE@XZ 0057c010 f i Unit.obj + 0002:00038080 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAE@XZ 0057c080 f i Unit.obj + 0002:000380f0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@QAE@XZ 0057c0f0 f i Unit.obj + 0002:00038130 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@QAE@XZ 0057c130 f i Unit.obj + 0002:00038170 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@QAE@XZ 0057c170 f i Unit.obj + 0002:000381b0 ??0?$map@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@@std@@QAE@ABV01@@Z 0057c1b0 f i Unit.obj + 0002:00038230 ??0?$map@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@@std@@QAE@XZ 0057c230 f i Unit.obj + 0002:00038290 ??0?$map@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@@std@@QAE@XZ 0057c290 f i Unit.obj + 0002:000382f0 ??0?$map@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@@std@@QAE@XZ 0057c2f0 f i Unit.obj + 0002:00038350 ??0ByteBuffer@@QAE@I@Z 0057c350 f i Unit.obj + 0002:00038460 ??0MagicType3@Unit@@QAE@XZ 0057c460 f i Unit.obj + 0002:000384c0 ??0Packet@@QAE@E@Z 0057c4c0 f i Unit.obj + 0002:00038540 ??0Unit@@QAE@W4UnitType@@@Z 0057c540 f Unit.obj + 0002:000386c0 ??0_Mutex_base@std@@QAE@H@Z 0057c6c0 f i Unit.obj + 0002:00038730 ??0recursive_mutex@std@@QAE@XZ 0057c730 f i Unit.obj + 0002:00038790 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0057c790 f i Unit.obj + 0002:00038830 ??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 0057c830 f i Unit.obj + 0002:000388a0 ??1?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE@XZ 0057c8a0 f i Unit.obj + 0002:00038980 ??1?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0057c980 f i Unit.obj + 0002:00038a60 ??1?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0057ca60 f i Unit.obj + 0002:00038b40 ??1?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE@XZ 0057cb40 f i Unit.obj + 0002:00038c20 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@XZ 0057cc20 f i Unit.obj + 0002:00038c70 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@XZ 0057cc70 f i Unit.obj + 0002:00038cc0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@XZ 0057ccc0 f i Unit.obj + 0002:00038d10 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@XZ 0057cd10 f i Unit.obj + 0002:00038d60 ??1?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@@std@@QAE@XZ 0057cd60 f i Unit.obj + 0002:00038dd0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE@XZ 0057cdd0 f i Unit.obj + 0002:00038e20 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE@XZ 0057ce20 f i Unit.obj + 0002:00038e70 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@XZ 0057ce70 f i Unit.obj + 0002:00038ec0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@XZ 0057cec0 f i Unit.obj + 0002:00038f10 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0057cf10 f i Unit.obj + 0002:00039050 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0057d050 f i Unit.obj + 0002:000390a0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0057d0a0 f i Unit.obj + 0002:000390f0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0057d0f0 f i Unit.obj + 0002:00039140 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0057d140 f i Unit.obj + 0002:00039190 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0057d190 f i Unit.obj + 0002:000391e0 ??1?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@QAE@XZ 0057d1e0 f i Unit.obj + 0002:00039230 ??1?$map@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@@std@@QAE@XZ 0057d230 f i Unit.obj + 0002:00039280 ??1?$map@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@@std@@QAE@XZ 0057d280 f i Unit.obj + 0002:000392d0 ??1?$map@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@@std@@QAE@XZ 0057d2d0 f i Unit.obj + 0002:00039320 ??1?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@QAE@XZ 0057d320 f i Unit.obj + 0002:00039380 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0057d380 f i Unit.obj + 0002:000393d0 ??1ReferenceObject@@UAE@XZ 0057d3d0 f i Unit.obj + 0002:00039410 ??1Unit@@UAE@XZ 0057d410 f i Unit.obj + 0002:000394c0 ??1_Mutex_base@std@@QAE@XZ 0057d4c0 f i Unit.obj + 0002:00039520 ??1recursive_mutex@std@@QAE@XZ 0057d520 f i Unit.obj + 0002:00039570 ??6ByteBuffer@@QAEAAV0@F@Z 0057d570 f i Unit.obj + 0002:000395d0 ??6ByteBuffer@@QAEAAV0@G@Z 0057d5d0 f i Unit.obj + 0002:00039630 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057d630 f i Unit.obj + 0002:00039730 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057d730 f i Unit.obj + 0002:00039830 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057d830 f i Unit.obj + 0002:00039930 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057d930 f i Unit.obj + 0002:00039a30 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057da30 f i Unit.obj + 0002:00039ac0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057dac0 f i Unit.obj + 0002:00039b50 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057db50 f i Unit.obj + 0002:00039be0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0057dbe0 f i Unit.obj + 0002:00039c70 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBEF@1@XZ 0057dc70 f i Unit.obj + 0002:00039cd0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@XZ 0057dcd0 f i Unit.obj + 0002:00039d30 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@XZ 0057dd30 f i Unit.obj + 0002:00039d90 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@XZ 0057dd90 f i Unit.obj + 0002:00039df0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBEF@1@XZ 0057ddf0 f i Unit.obj + 0002:00039f30 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@XZ 0057df30 f i Unit.obj + 0002:0003a070 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@XZ 0057e070 f i Unit.obj + 0002:0003a1b0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@XZ 0057e1b0 f i Unit.obj + 0002:0003a2f0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBEF@1@XZ 0057e2f0 f i Unit.obj + 0002:0003a340 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@XZ 0057e340 f i Unit.obj + 0002:0003a390 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@XZ 0057e390 f i Unit.obj + 0002:0003a3e0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@XZ 0057e3e0 f i Unit.obj + 0002:0003a430 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAEAAV01@XZ 0057e430 f i Unit.obj + 0002:0003a570 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0057e570 f i Unit.obj + 0002:0003a6b0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0057e6b0 f i Unit.obj + 0002:0003a7f0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0057e7f0 f i Unit.obj + 0002:0003a910 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0057e910 f i Unit.obj + 0002:0003aa30 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0057ea30 f i Unit.obj + 0002:0003ab50 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0057eb50 f i Unit.obj + 0002:0003ac20 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0057ec20 f i Unit.obj + 0002:0003acf0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0057ecf0 f i Unit.obj + 0002:0003adc0 ??_G?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@QAEPAXI@Z 0057edc0 f i Unit.obj + 0002:0003ae30 ??_EReferenceObject@@UAEPAXI@Z 0057ee30 f i Unit.obj + 0002:0003ae30 ??_GReferenceObject@@UAEPAXI@Z 0057ee30 f i Unit.obj + 0002:0003aea0 ??_GUnit@@UAEPAXI@Z 0057eea0 f i Unit.obj + 0002:0003aea0 ??_EUnit@@UAEPAXI@Z 0057eea0 f i Unit.obj + 0002:0003af20 ??_H@YGXPAXIIP6EPAX0@Z@Z 0057ef20 f i Unit.obj + 0002:0003afd0 ?AddType4Buff@Unit@@QAEXEAAU_BUFF_TYPE4_INFO@@@Z 0057efd0 f Unit.obj + 0002:0003b130 ?BorderTempleEventZone@Unit@@QAE_NE@Z 0057f130 f i Unit.obj + 0002:0003b1c0 ?CanAttack@Unit@@UAE_NPAV1@@Z 0057f1c0 f Unit.obj + 0002:0003b2c0 ?CanCastRHit@Unit@@UAE_NG@Z 0057f2c0 f Unit.obj + 0002:0003b300 ?ChaosTempleEventZone@Unit@@QAE_NE@Z 0057f300 f i Unit.obj + 0002:0003b390 ?GetACDamage@Unit@@QAEFHPAV1@@Z 0057f390 f Unit.obj + 0002:0003b410 ?GetDamage@CNpc@@QAEFPAV1@PAU_MAGIC_TABLE@@_N@Z 0057f410 f Unit.obj + 0002:0003b620 ?GetDamage@CNpc@@QAEFPAVCUser@@PAU_MAGIC_TABLE@@_N@Z 0057f620 f Unit.obj + 0002:0003b8a0 ?GetDamage@CNpc@@UAEFPAVUnit@@PAU_MAGIC_TABLE@@_N@Z 0057f8a0 f Unit.obj + 0002:0003b930 ?GetDamage@CUser@@UAEFPAVUnit@@PAU_MAGIC_TABLE@@_N@Z 0057f930 f Unit.obj + 0002:0003c0b0 ?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z 005800b0 f i Unit.obj + 0002:0003c270 ?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z 00580270 f i Unit.obj + 0002:0003c430 ?GetDistance@Unit@@QAEMMM@Z 00580430 f Unit.obj + 0002:0003c4c0 ?GetDistance@Unit@@QAEMPAV1@@Z 005804c0 f Unit.obj + 0002:0003c590 ?GetDistance@Unit@@SAMMMMM@Z 00580590 f Unit.obj + 0002:0003c680 ?GetDistanceSqrt@Unit@@QAEMPAV1@@Z 00580680 f Unit.obj + 0002:0003c760 ?GetEventRoom@Unit@@QAEGXZ 00580760 f i Unit.obj + 0002:0003c7e0 ?GetHitRate@Unit@@QAEEM@Z 005807e0 f Unit.obj + 0002:0003ccc0 ?GetLevel@Unit@@QAEEXZ 00580cc0 f i Unit.obj + 0002:0003cd00 ?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z 00580d00 f Unit.obj + 0002:0003d4f0 ?GetNation@Unit@@QAEEXZ 005814f0 f i Unit.obj + 0002:0003d530 ?GetProto@CNpc@@QAEPAVCNpcTable@@XZ 00581530 f i Unit.obj + 0002:0003d570 ?GetSavedMagicDuration@Unit@@UAEFI@Z 00581570 f i Unit.obj + 0002:0003d5b0 ?GetType@CNpc@@QAEEXZ 005815b0 f i Unit.obj + 0002:0003d610 ?GetX@Unit@@QAEMXZ 00581610 f i Unit.obj + 0002:0003d650 ?GetZ@Unit@@QAEMXZ 00581650 f i Unit.obj + 0002:0003d690 ?HasSavedMagic@Unit@@UAE_NI@Z 00581690 f i Unit.obj + 0002:0003d6d0 ?HpChangeMagic@Unit@@UAEXHPAV1@W4AttributeType@@@Z 005816d0 f i Unit.obj + 0002:0003d740 ?InitType3@Unit@@QAEXXZ 00581740 f Unit.obj + 0002:0003d7d0 ?InitType4@Unit@@QAEX_NE@Z 005817d0 f Unit.obj + 0002:0003d9c0 ?Initialize@Unit@@UAEXXZ 005819c0 f Unit.obj + 0002:0003ddc0 ?InsertSavedMagic@Unit@@UAEXIG@Z 00581dc0 f i Unit.obj + 0002:0003de00 ?JuraidTempleEventZone@Unit@@QAE_NE@Z 00581e00 f i Unit.obj + 0002:0003de90 ?OnAttack@Unit@@UAEXPAV1@W4AttackType@@@Z 00581e90 f i Unit.obj + 0002:0003ded0 ?OnDeath@Unit@@QAEXPAV1@@Z 00581ed0 f Unit.obj + 0002:0003df10 ?OnDefend@Unit@@UAEXPAV1@W4AttackType@@@Z 00581f10 f i Unit.obj + 0002:0003df50 ?Reset@MagicType3@Unit@@QAEXXZ 00581f50 f i Unit.obj + 0002:0003dfe0 ?SendDeathAnimation@Unit@@QAEXPAV1@@Z 00581fe0 f Unit.obj + 0002:0003e160 ?SetPosition@Unit@@QAEXMMM@Z 00582160 f i Unit.obj + 0002:0003e1d0 ?SetUnitEventRoom@Unit@@QAEXG@Z 005821d0 f i Unit.obj + 0002:0003e220 ?SetZoneAttributes@MAP@@IAEXH@Z 00582220 f Unit.obj + 0002:0003ebe0 ?StateChangeServerDirect@Unit@@UAEXEI@Z 00582be0 f i Unit.obj + 0002:0003ec20 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00582c20 f i Unit.obj + 0002:0003ed70 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00582d70 f i Unit.obj + 0002:0003eec0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ 00582ec0 f i Unit.obj + 0002:0003f010 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAEXXZ 00583010 f i Unit.obj + 0002:0003f080 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00583080 f i Unit.obj + 0002:0003f0f0 ?_Extract@?$_In_place_key_extract_map@EU?$pair@EU_BUFF_TYPE4_INFO@@@std@@@std@@SAABEABU?$pair@EU_BUFF_TYPE4_INFO@@@2@@Z 005830f0 f i Unit.obj + 0002:0003f130 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00583130 f i Unit.obj + 0002:0003f170 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00583170 f i Unit.obj + 0002:0003f1b0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@XZ 005831b0 f i Unit.obj + 0002:0003f1f0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@XZ 005831f0 f i Unit.obj + 0002:0003f230 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@2@XZ 00583230 f i Unit.obj + 0002:0003f270 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@XZ 00583270 f i Unit.obj + 0002:0003f2b0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@XZ 005832b0 f i Unit.obj + 0002:0003f310 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@XZ 00583310 f i Unit.obj + 0002:0003f370 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@2@XZ 00583370 f i Unit.obj + 0002:0003f3d0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@XZ 005833d0 f i Unit.obj + 0002:0003f430 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@XZ 00583430 f i Unit.obj + 0002:0003f490 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@XZ 00583490 f i Unit.obj + 0002:0003f4f0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@XZ 005834f0 f i Unit.obj + 0002:0003f550 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@XZ 00583550 f i Unit.obj + 0002:0003f5b0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@XZ 005835b0 f i Unit.obj + 0002:0003f610 ?_Getal@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@XZ 00583610 f i Unit.obj + 0002:0003f660 ?_Getal@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@XZ 00583660 f i Unit.obj + 0002:0003f6b0 ?_Getal@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@2@XZ 005836b0 f i Unit.obj + 0002:0003f700 ?_Getal@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@XZ 00583700 f i Unit.obj + 0002:0003f750 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00583750 f i Unit.obj + 0002:0003f7a0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005837a0 f i Unit.obj + 0002:0003f7f0 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@QAU32@@Z 005837f0 f i Unit.obj + 0002:0003faf0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@PAU32@@Z 00583af0 f i Unit.obj + 0002:0003fb40 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@PAU32@@Z 00583b40 f i Unit.obj + 0002:0003fb90 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@@Z 00583b90 f i Unit.obj + 0002:0003fca0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@XZ 00583ca0 f i Unit.obj + 0002:0003fd50 ?_Release@?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@2@@std@@QAEXXZ 00583d50 f i Unit.obj + 0002:0003fda0 ?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00583da0 f i Unit.obj + 0002:0003fde0 ?_Throw_tree_length_error@std@@YAXXZ 00583de0 f i Unit.obj + 0002:0003fe30 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@I@Z 00583e30 f i Unit.obj + 0002:0003fea0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@2@I@Z 00583ea0 f i Unit.obj + 0002:0003ff10 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@I@Z 00583f10 f i Unit.obj + 0002:0003ff80 ?areNPCsFriendly@MAP@@QAE_NXZ 00583f80 f i Unit.obj + 0002:0003fff0 ?begin@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 00583ff0 f i Unit.obj + 0002:000400a0 ?begin@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 005840a0 f i Unit.obj + 0002:00040150 ?begin@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 00584150 f i Unit.obj + 0002:00040200 ?canAttackOtherNation@MAP@@QAE_NXZ 00584200 f i Unit.obj + 0002:00040270 ?clear@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAEXXZ 00584270 f i Unit.obj + 0002:00040360 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@I@Z 00584360 f i Unit.obj + 0002:000403c0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@2@I@Z 005843c0 f i Unit.obj + 0002:00040420 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@I@Z 00584420 f i Unit.obj + 0002:00040480 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@I@Z 00584480 f i Unit.obj + 0002:000404e0 ?end@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 005844e0 f i Unit.obj + 0002:00040590 ?end@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 00584590 f i Unit.obj + 0002:00040640 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 00584640 f i Unit.obj + 0002:000406f0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 005846f0 f i Unit.obj + 0002:000407a0 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@ABI@Z 005847a0 f i Unit.obj + 0002:00040830 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@ABI@Z 00584830 f i Unit.obj + 0002:000408c0 ?hasBuff@Unit@@QAE_NE_N@Z 005848c0 f i Unit.obj + 0002:00040be0 ?isAlive@Unit@@UAE_NXZ 00584be0 f i Unit.obj + 0002:00040c70 ?isAttackable@Unit@@UAE_NPAV1@@Z 00584c70 f Unit.obj + 0002:00040cf0 ?isBlinded@Unit@@QAE_NXZ 00584cf0 f i Unit.obj + 0002:00040d30 ?isBlinking@Unit@@UAE_NXZ 00584d30 f i Unit.obj + 0002:00040d70 ?isHostileTo@CNpc@@UAE_NPAVUnit@@@Z 00584d70 f Unit.obj + 0002:00040fb0 ?isHostileTo@CUser@@UAE_NPAVUnit@@@Z 00584fb0 f Unit.obj + 0002:00041230 ?isInArena@CUser@@QAE_NXZ 00585230 f Unit.obj + 0002:00041380 ?isInPVPZone@CUser@@QAE_NXZ 00585380 f Unit.obj + 0002:000413f0 ?isInPartyArena@CUser@@QAE_NXZ 005853f0 f Unit.obj + 0002:00041540 ?isInRange@Unit@@QAE_NMMM@Z 00585540 f Unit.obj + 0002:000415f0 ?isInRange@Unit@@QAE_NPAV1@M@Z 005855f0 f Unit.obj + 0002:00041690 ?isInRange@Unit@@SA_NMMMMM@Z 00585690 f Unit.obj + 0002:00041750 ?isInRangeSlow@Unit@@QAE_NMMM@Z 00585750 f Unit.obj + 0002:000417f0 ?isInRangeSlow@Unit@@QAE_NPAV1@M@Z 005857f0 f Unit.obj + 0002:00041880 ?isInRangeSlow@Unit@@SA_NMMMMM@Z 00585880 f Unit.obj + 0002:00041930 ?isInSafetyArea@CUser@@QAE_NXZ 00585930 f Unit.obj + 0002:00042940 ?isIncapacitated@Unit@@QAE_NXZ 00586940 f i Unit.obj + 0002:00042a20 ?isKaul@Unit@@QAE_NXZ 00586a20 f i Unit.obj + 0002:00042a60 ?isMonster@CNpc@@QAE_NXZ 00586a60 f i Unit.obj + 0002:00042aa0 ?isSameEventRoom@Unit@@UAE_NPAV1@@Z 00586aa0 f Unit.obj + 0002:00042b20 ?key_comp@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QBE?AU?$less@E@2@XZ 00586b20 f i Unit.obj + 0002:00042b80 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@@Z 00586b80 f i Unit.obj + 0002:00042bc0 ?max_size@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00586bc0 f i Unit.obj + 0002:00042c20 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBEF@std@@@std@@SAPAU?$pair@$$CBEF@2@AAU32@@Z 00586c20 f i Unit.obj + 0002:00042c70 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@SAPAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@2@AAU32@@Z 00586c70 f i Unit.obj + 0002:00042cc0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@2@AAU32@@Z 00586cc0 f i Unit.obj + 0002:00042d10 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@2@AAU32@@Z 00586d10 f i Unit.obj + 0002:00042d60 ?pow@@YAMMM@Z 00586d60 f i Unit.obj + 0002:00042dd0 ?select_on_container_copy_construction@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@SA?AV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@ABV32@@Z 00586dd0 f i Unit.obj + 0002:00042e10 ?size@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QBEIXZ 00586e10 f i Unit.obj + 0002:00042e70 ?size@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QBEIXZ 00586e70 f i Unit.obj + 0002:00042ed0 _powf 00586ed0 f i Unit.obj + 0002:00042f50 _sqrtf 00586f50 f i Unit.obj + 0002:00042fc0 ??0CN3ShapeMgr@@QAE@XZ 00586fc0 f N3ShapeMgr.obj + 0002:00043070 ??0__CellMain@CN3ShapeMgr@@QAE@XZ 00587070 f i N3ShapeMgr.obj + 0002:000430f0 ??0__CellSub@CN3ShapeMgr@@QAE@XZ 005870f0 f i N3ShapeMgr.obj + 0002:00043150 ??0__Vector3@@QAE@XZ 00587150 f i N3ShapeMgr.obj + 0002:00043190 ??1CN3ShapeMgr@@UAE@XZ 00587190 f N3ShapeMgr.obj + 0002:000432c0 ??1__CellMain@CN3ShapeMgr@@QAE@XZ 005872c0 f i N3ShapeMgr.obj + 0002:00043380 ??1__CellSub@CN3ShapeMgr@@QAE@XZ 00587380 f i N3ShapeMgr.obj + 0002:000433f0 ??_ECN3ShapeMgr@@UAEPAXI@Z 005873f0 f i N3ShapeMgr.obj + 0002:000433f0 ??_GCN3ShapeMgr@@UAEPAXI@Z 005873f0 f i N3ShapeMgr.obj + 0002:00043470 ??_G__CellMain@CN3ShapeMgr@@QAEPAXI@Z 00587470 f i N3ShapeMgr.obj + 0002:000434f0 ?Create@CN3ShapeMgr@@QAE_NMM@Z 005874f0 f N3ShapeMgr.obj + 0002:00043590 ?Load@__CellMain@CN3ShapeMgr@@QAEXPAU_iobuf@@@Z 00587590 f i N3ShapeMgr.obj + 0002:00043750 ?Load@__CellSub@CN3ShapeMgr@@QAEXPAU_iobuf@@@Z 00587750 f i N3ShapeMgr.obj + 0002:000438a0 ?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z 005878a0 f N3ShapeMgr.obj + 0002:00043df0 ?unlock@CN3ShapeMgr@@QAEXXZ 00587df0 f N3ShapeMgr.obj + 0002:00043f70 ??$?0$$V@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00587f70 f i GameSocket.obj + 0002:00043fd0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00587fd0 f i GameSocket.obj + 0002:00044030 ??$?0AAEAAF$0A@@?$pair@EF@std@@QAE@AAEAAF@Z 00588030 f i GameSocket.obj + 0002:000440b0 ??$?0AAIAAPAU_PARTY_GROUP@@$0A@@?$pair@IPAU_PARTY_GROUP@@@std@@QAE@AAIAAPAU_PARTY_GROUP@@@Z 005880b0 f i GameSocket.obj + 0002:00044130 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QA_N@Z 00588130 f i GameSocket.obj + 0002:000441b0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QA_N@Z 005881b0 f i GameSocket.obj + 0002:00044230 ??$?0ABE$$Z$$V@?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@ABE@1@V?$tuple@$$V@1@@Z 00588230 f i GameSocket.obj + 0002:000442b0 ??$?0ABE$0A@@?$tuple@ABE@std@@QAE@ABE@Z 005882b0 f i GameSocket.obj + 0002:00044360 ??$?0ABE@?$_Tuple_val@ABE@std@@QAE@ABE@Z 00588360 f i GameSocket.obj + 0002:000443c0 ??$?0ABQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@$$QA_N@Z 005883c0 f i GameSocket.obj + 0002:00044440 ??$?0ABU?$less@E@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@E@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00588440 f i GameSocket.obj + 0002:000444c0 ??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABE@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z 005884c0 f i GameSocket.obj + 0002:00044660 ??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00588660 f i GameSocket.obj + 0002:000446a0 ??$?0EF$0A@@?$pair@$$CBEF@std@@QAE@$$QAU?$pair@EF@1@@Z 005886a0 f i GameSocket.obj + 0002:00044730 ??$?0IPAU_PARTY_GROUP@@$0A@@?$pair@$$CBIPAU_PARTY_GROUP@@@std@@QAE@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00588730 f i GameSocket.obj + 0002:000447b0 ??$?0PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QA_N@Z 005887b0 f i GameSocket.obj + 0002:00044830 ??$?0PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@$$QA_N@Z 00588830 f i GameSocket.obj + 0002:000448b0 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QA_N@Z 005888b0 f i GameSocket.obj + 0002:00044930 ??$?0U?$pair@EF@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QAU?$pair@EF@1@@Z 00588930 f i GameSocket.obj + 0002:00044ab0 ??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00588ab0 f i GameSocket.obj + 0002:00044c30 ??$?0U_Exact_args_t@std@@$0A@@?$tuple@$$V@std@@QAE@U_Exact_args_t@1@@Z 00588c30 f i GameSocket.obj + 0002:00044c70 ??$?0U_Exact_args_t@std@@ABE$$V$0A@@?$tuple@ABE@std@@QAE@U_Exact_args_t@1@ABE@Z 00588c70 f i GameSocket.obj + 0002:00044d00 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@1@AB_N@Z 00588d00 f i GameSocket.obj + 0002:00044d80 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@AB_N@Z 00588d80 f i GameSocket.obj + 0002:00044e00 ??$?0V?$allocator@D@std@@$$V@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@D@1@@Z 00588e00 f i GameSocket.obj + 0002:00044e70 ??$?0V?$tuple@ABE@std@@V?$tuple@$$V@1@$0A@$$Z$S@?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@QAE@AAV?$tuple@ABE@1@AAV?$tuple@$$V@1@U?$integer_sequence@I$0A@@1@U?$integer_sequence@I$S@1@@Z 00588e70 f i GameSocket.obj + 0002:00044ef0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 00588ef0 f i GameSocket.obj + 0002:00045010 ??$_Buynode@AAU?$pair@$$CBEF@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@AAU?$pair@$$CBEF@1@@Z 00589010 f i GameSocket.obj + 0002:00045090 ??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@AAU?$pair@$$CBEF@2@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEF@1@@Z 00589090 f i GameSocket.obj + 0002:00045250 ??$_Copy@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXABV01@U_Copy_tag@01@@Z 00589250 f i GameSocket.obj + 0002:00045370 ??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00589370 f i GameSocket.obj + 0002:00045560 ??$_Copy_or_move@U?$pair@$$CBEF@std@@U?$integral_constant@_N$0A@@2@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@AAU?$pair@$$CBEF@1@U_Copy_tag@01@U?$integral_constant@_N$0A@@1@@Z 00589560 f i GameSocket.obj + 0002:000455c0 ??$_Emplace@U?$pair@EF@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@_N@1@$$QAU?$pair@EF@1@@Z 005895c0 f i GameSocket.obj + 0002:00045780 ??$_Emplace@U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00589780 f i GameSocket.obj + 0002:00045940 ??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00589940 f i GameSocket.obj + 0002:00045a20 ??$_Find_lower_bound@E@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@ABE@Z 00589a20 f i GameSocket.obj + 0002:00045b80 ??$_Find_lower_bound@E@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@ABE@Z 00589b80 f i GameSocket.obj + 0002:00045ce0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@ABI@Z 00589ce0 f i GameSocket.obj + 0002:00045e40 ??$_Get_size_of_n@$0BE@@std@@YAII@Z 00589e40 f i GameSocket.obj + 0002:00045ea0 ??$_Get_size_of_n@$0BI@@std@@YAII@Z 00589ea0 f i GameSocket.obj + 0002:00045f00 ??$_Kfn@$$CBEF@?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@SAABEABU?$pair@$$CBEF@1@@Z 00589f00 f i GameSocket.obj + 0002:00045f40 ??$_Kfn@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@SAABEABU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@@Z 00589f40 f i GameSocket.obj + 0002:00045f80 ??$_Kfn@$$CBIPAU_PARTY_GROUP@@@?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_PARTY_GROUP@@@1@@Z 00589f80 f i GameSocket.obj + 0002:00045fc0 ??$_Lower_bound_duplicate@E@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@ABE@Z 00589fc0 f i GameSocket.obj + 0002:00046070 ??$_Lower_bound_duplicate@E@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABE@Z 0058a070 f i GameSocket.obj + 0002:00046120 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@ABI@Z 0058a120 f i GameSocket.obj + 0002:000461d0 ??$_Max_value@I@std@@YAABIABI0@Z 0058a1d0 f i GameSocket.obj + 0002:00046240 ??$_Pocca@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@YAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@0@ABV10@@Z 0058a240 f i GameSocket.obj + 0002:00046270 ??$_Reallocate_grow_by@V@@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@@D@Z 0058a270 f i GameSocket.obj + 0002:00046460 ??$_Try_emplace@ABE$$V@?$map@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@@std@@AAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@_N@1@ABE@Z 0058a460 f i GameSocket.obj + 0002:00046620 ??$_Unfancy@D@std@@YAPADPAD@Z 0058a620 f i GameSocket.obj + 0002:00046660 ??$addressof@$$CBV?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@std@@YAPBV?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@0@ABV10@@Z 0058a660 f i GameSocket.obj + 0002:000466a0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@0@ABV10@@Z 0058a6a0 f i GameSocket.obj + 0002:000466e0 ??$addressof@PAD@std@@YAPAPADAAPAD@Z 0058a6e0 f i GameSocket.obj + 0002:00046720 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@0@AAPAU10@@Z 0058a720 f i GameSocket.obj + 0002:00046760 ??$addressof@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@YAPAU?$pair@$$CBIPAU_PARTY_GROUP@@@0@AAU10@@Z 0058a760 f i GameSocket.obj + 0002:000467a0 ??$addressof@U?$pair@$$CBIPAVCNpc@@@std@@@std@@YAPAU?$pair@$$CBIPAVCNpc@@@0@AAU10@@Z 0058a7a0 f i GameSocket.obj + 0002:000467e0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@0@AAV10@@Z 0058a7e0 f i GameSocket.obj + 0002:00046820 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@0@AAV10@@Z 0058a820 f i GameSocket.obj + 0002:00046860 ??$construct@PADABQAD@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@QAPADABQAD@Z 0058a860 f i GameSocket.obj + 0002:000468e0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@AAPAU31@@Z 0058a8e0 f i GameSocket.obj + 0002:00046960 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@AAPAU31@@Z 0058a960 f i GameSocket.obj + 0002:000469e0 ??$construct@U?$pair@$$CBEF@std@@AAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@QAU?$pair@$$CBEF@1@AAU31@@Z 0058a9e0 f i GameSocket.obj + 0002:00046a60 ??$construct@U?$pair@$$CBEF@std@@U?$pair@EF@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@QAU?$pair@$$CBEF@1@$$QAU?$pair@EF@1@@Z 0058aa60 f i GameSocket.obj + 0002:00046ae0 ??$construct@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@ABUpiecewise_construct_t@2@V?$tuple@ABE@2@V?$tuple@$$V@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@QAU?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z 0058aae0 f i GameSocket.obj + 0002:00046ba0 ??$construct@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@U?$pair@IPAU_PARTY_GROUP@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_PARTY_GROUP@@@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 0058aba0 f i GameSocket.obj + 0002:00046c20 ??$destroy@PAD@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@QAPAD@Z 0058ac20 f i GameSocket.obj + 0002:00046c50 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@@Z 0058ac50 f i GameSocket.obj + 0002:00046c80 ??$destroy@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_PARTY_GROUP@@@1@@Z 0058ac80 f i GameSocket.obj + 0002:00046cb0 ??$emplace@U?$pair@EF@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@EF@1@@Z 0058acb0 f i GameSocket.obj + 0002:00046dc0 ??$emplace@U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 0058adc0 f i GameSocket.obj + 0002:00046ed0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@0@AAPAU10@$$QA$$T@Z 0058aed0 f i GameSocket.obj + 0002:00046f20 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 0058af20 f i GameSocket.obj + 0002:00046f70 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 0058af70 f i GameSocket.obj + 0002:00046fc0 ??$forward@AAF@std@@YAAAFAAF@Z 0058afc0 f i GameSocket.obj + 0002:00047000 ??$forward@AAI@std@@YAAAIAAI@Z 0058b000 f i GameSocket.obj + 0002:00047040 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@0@AAPAU10@@Z 0058b040 f i GameSocket.obj + 0002:00047080 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@0@AAPAU10@@Z 0058b080 f i GameSocket.obj + 0002:000470c0 ??$forward@AAPAU_PARTY_GROUP@@@std@@YAAAPAU_PARTY_GROUP@@AAPAU1@@Z 0058b0c0 f i GameSocket.obj + 0002:00047100 ??$forward@AAU?$pair@$$CBEF@std@@@std@@YAAAU?$pair@$$CBEF@0@AAU10@@Z 0058b100 f i GameSocket.obj + 0002:00047140 ??$forward@ABE@std@@YAABEABE@Z 0058b140 f i GameSocket.obj + 0002:00047180 ??$forward@ABQAD@std@@YAABQADABQAD@Z 0058b180 f i GameSocket.obj + 0002:000471c0 ??$forward@ABQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@ABQAU10@@Z 0058b1c0 f i GameSocket.obj + 0002:00047200 ??$forward@ABUpiecewise_construct_t@std@@@std@@YAABUpiecewise_construct_t@0@ABU10@@Z 0058b200 f i GameSocket.obj + 0002:00047240 ??$forward@F@std@@YA$$QAFAAF@Z 0058b240 f i GameSocket.obj + 0002:00047280 ??$forward@I@std@@YA$$QAIAAI@Z 0058b280 f i GameSocket.obj + 0002:000472c0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@0@AAPAU10@@Z 0058b2c0 f i GameSocket.obj + 0002:00047300 ??$forward@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@0@AAPAU10@@Z 0058b300 f i GameSocket.obj + 0002:00047340 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@0@AAPAU10@@Z 0058b340 f i GameSocket.obj + 0002:00047380 ??$forward@PAU_PARTY_GROUP@@@std@@YA$$QAPAU_PARTY_GROUP@@AAPAU1@@Z 0058b380 f i GameSocket.obj + 0002:000473c0 ??$forward@U?$pair@EF@std@@@std@@YA$$QAU?$pair@EF@0@AAU10@@Z 0058b3c0 f i GameSocket.obj + 0002:00047400 ??$forward@U?$pair@IPAU_PARTY_GROUP@@@std@@@std@@YA$$QAU?$pair@IPAU_PARTY_GROUP@@@0@AAU10@@Z 0058b400 f i GameSocket.obj + 0002:00047440 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@0@AAV10@@Z 0058b440 f i GameSocket.obj + 0002:00047480 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@0@AAV10@@Z 0058b480 f i GameSocket.obj + 0002:000474c0 ??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 0058b4c0 f i GameSocket.obj + 0002:00047500 ??$forward@V?$tuple@$$V@std@@@std@@YA$$QAV?$tuple@$$V@0@AAV10@@Z 0058b500 f i GameSocket.obj + 0002:00047540 ??$forward@V?$tuple@ABE@std@@@std@@YA$$QAV?$tuple@ABE@0@AAV10@@Z 0058b540 f i GameSocket.obj + 0002:00047580 ??$forward_as_tuple@$$V@std@@YA?AV?$tuple@$$V@0@XZ 0058b580 f i GameSocket.obj + 0002:000475d0 ??$forward_as_tuple@ABE@std@@YA?AV?$tuple@ABE@0@ABE@Z 0058b5d0 f i GameSocket.obj + 0002:00047630 ??$get@$0A@ABE@std@@YAABE$$QAV?$tuple@ABE@0@@Z 0058b630 f i GameSocket.obj + 0002:00047680 ??$insert@U?$pair@EF@std@@X@?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@EF@1@@Z 0058b680 f i GameSocket.obj + 0002:00047710 ??$insert@U?$pair@IPAU_PARTY_GROUP@@@std@@X@?$map@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 0058b710 f i GameSocket.obj + 0002:000477a0 ??$make_pair@AAEAAF@std@@YA?AU?$pair@EF@0@AAEAAF@Z 0058b7a0 f i GameSocket.obj + 0002:00047810 ??$make_pair@AAIAAPAU_PARTY_GROUP@@@std@@YA?AU?$pair@IPAU_PARTY_GROUP@@@0@AAIAAPAU_PARTY_GROUP@@@Z 0058b810 f i GameSocket.obj + 0002:00047880 ??$move@AAV?$tuple@ABE@std@@@std@@YA$$QAV?$tuple@ABE@0@AAV10@@Z 0058b880 f i GameSocket.obj + 0002:000478c0 ??$read@F@ByteBuffer@@QAEFXZ 0058b8c0 f i GameSocket.obj + 0002:00047940 ??$read@F@ByteBuffer@@QBEFI@Z 0058b940 f i GameSocket.obj + 0002:000479c0 ??$read@H@ByteBuffer@@QAEHXZ 0058b9c0 f i GameSocket.obj + 0002:00047a40 ??$read@H@ByteBuffer@@QBEHI@Z 0058ba40 f i GameSocket.obj + 0002:00047ac0 ??$read@M@ByteBuffer@@QAEMXZ 0058bac0 f i GameSocket.obj + 0002:00047b40 ??$read@M@ByteBuffer@@QBEMI@Z 0058bb40 f i GameSocket.obj + 0002:00047bc0 ??$read@_K@ByteBuffer@@QAE_KXZ 0058bbc0 f i GameSocket.obj + 0002:00047c40 ??$read@_K@ByteBuffer@@QBE_KI@Z 0058bc40 f i GameSocket.obj + 0002:00047cc0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 0058bcc0 f i GameSocket.obj + 0002:00047d20 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 0058bd20 f i GameSocket.obj + 0002:00047d80 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 0058bd80 f i GameSocket.obj + 0002:00047de0 ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 0058bde0 f i GameSocket.obj + 0002:00047e60 ??0?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@E@1@@Z 0058be60 f i GameSocket.obj + 0002:00047ee0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0058bee0 f i GameSocket.obj + 0002:00047f40 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@1@@Z 0058bf40 f i GameSocket.obj + 0002:00047fa0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0058bfa0 f i GameSocket.obj + 0002:00048000 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0058c000 f i GameSocket.obj + 0002:00048060 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@1@@Z 0058c060 f i GameSocket.obj + 0002:000480c0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0058c0c0 f i GameSocket.obj + 0002:00048120 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@1@@Z 0058c120 f i GameSocket.obj + 0002:00048180 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0058c180 f i GameSocket.obj + 0002:000481e0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0058c1e0 f i GameSocket.obj + 0002:00048240 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@1@@Z 0058c240 f i GameSocket.obj + 0002:000482a0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 0058c2a0 f i GameSocket.obj + 0002:00048350 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 0058c350 f i GameSocket.obj + 0002:00048400 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 0058c400 f i GameSocket.obj + 0002:000484b0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0058c4b0 f i GameSocket.obj + 0002:00048520 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@1@@Z 0058c520 f i GameSocket.obj + 0002:00048590 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0058c590 f i GameSocket.obj + 0002:00048600 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0058c600 f i GameSocket.obj + 0002:00048670 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@1@@Z 0058c670 f i GameSocket.obj + 0002:000486e0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAE@XZ 0058c6e0 f i GameSocket.obj + 0002:00048750 ??0?$allocator@D@std@@QAE@XZ 0058c750 f i GameSocket.obj + 0002:00048790 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@QAE@XZ 0058c790 f i GameSocket.obj + 0002:000487d0 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 0058c7d0 f i GameSocket.obj + 0002:00048950 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 0058c950 f i GameSocket.obj + 0002:00048a20 ??0?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@QAE@XZ 0058ca20 f i GameSocket.obj + 0002:00048a80 ??0?$tuple@$$V@std@@QAE@ABV01@@Z 0058ca80 f i GameSocket.obj + 0002:00048ac0 ??0?$tuple@$$V@std@@QAE@XZ 0058cac0 f i GameSocket.obj + 0002:00048b00 ??0?$tuple@ABE@std@@QAE@$$QAV01@@Z 0058cb00 f i GameSocket.obj + 0002:00048b70 ??0_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 0058cb70 f i GameSocket.obj + 0002:00048bb0 ??0_PARTY_GROUP@@QAE@XZ 0058cbb0 f i GameSocket.obj + 0002:00048c20 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 0058cc20 f i GameSocket.obj + 0002:00048cc0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058ccc0 f i GameSocket.obj + 0002:00048d60 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058cd60 f i GameSocket.obj + 0002:00048e00 ??1?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@XZ 0058ce00 f i GameSocket.obj + 0002:00048e50 ??1?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 0058ce50 f i GameSocket.obj + 0002:00048eb0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@XZ 0058ceb0 f i GameSocket.obj + 0002:00048f00 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@XZ 0058cf00 f i GameSocket.obj + 0002:00048f50 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@XZ 0058cf50 f i GameSocket.obj + 0002:00048fa0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@XZ 0058cfa0 f i GameSocket.obj + 0002:00048ff0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 0058cff0 f i GameSocket.obj + 0002:00049130 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058d130 f i GameSocket.obj + 0002:00049270 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058d270 f i GameSocket.obj + 0002:000493b0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 0058d3b0 f i GameSocket.obj + 0002:00049400 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058d400 f i GameSocket.obj + 0002:00049450 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0058d450 f i GameSocket.obj + 0002:000494a0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0058d4a0 f i GameSocket.obj + 0002:000494f0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0058d4f0 f i GameSocket.obj + 0002:00049540 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 0058d540 f i GameSocket.obj + 0002:00049660 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0058d660 f i GameSocket.obj + 0002:000496b0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0058d6b0 f i GameSocket.obj + 0002:00049700 ??1CGameSocket@@UAE@XZ 0058d700 f GameSocket.obj + 0002:00049770 ??1KOSocket@@UAE@XZ 0058d770 f i GameSocket.obj + 0002:000497c0 ??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 0058d7c0 f i GameSocket.obj + 0002:00049800 ??4?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAEAAV01@ABV01@@Z 0058d800 f i GameSocket.obj + 0002:00049890 ??4?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@QAEAAV01@ABV01@@Z 0058d890 f i GameSocket.obj + 0002:000498f0 ??5ByteBuffer@@QAEAAV0@AAF@Z 0058d8f0 f i GameSocket.obj + 0002:00049950 ??5ByteBuffer@@QAEAAV0@AAH@Z 0058d950 f i GameSocket.obj + 0002:000499b0 ??5ByteBuffer@@QAEAAV0@AAM@Z 0058d9b0 f i GameSocket.obj + 0002:00049a10 ??5ByteBuffer@@QAEAAV0@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0058da10 f i GameSocket.obj + 0002:00049b00 ??5ByteBuffer@@QAEAAV0@AA_K@Z 0058db00 f i GameSocket.obj + 0002:00049b60 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0058db60 f i GameSocket.obj + 0002:00049c60 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0058dc60 f i GameSocket.obj + 0002:00049cf0 ??A?$map@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@@std@@QAEAAV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@1@ABE@Z 0058dcf0 f i GameSocket.obj + 0002:00049d60 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAVCNpc@@@1@XZ 0058dd60 f i GameSocket.obj + 0002:00049dc0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAVCNpc@@@1@XZ 0058ddc0 f i GameSocket.obj + 0002:00049f00 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAVCNpc@@@1@XZ 0058df00 f i GameSocket.obj + 0002:00049f50 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0058df50 f i GameSocket.obj + 0002:0004a090 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0058e090 f i GameSocket.obj + 0002:0004a1b0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0058e1b0 f i GameSocket.obj + 0002:0004a280 ??R@@QBEXQADQBDID@Z 0058e280 f i GameSocket.obj + 0002:0004a330 ??_GCGameSocket@@UAEPAXI@Z 0058e330 f i GameSocket.obj + 0002:0004a330 ??_ECGameSocket@@UAEPAXI@Z 0058e330 f i GameSocket.obj + 0002:0004a3b0 ?GetOpcode@Packet@@QBEEXZ 0058e3b0 f i GameSocket.obj + 0002:0004a3f0 ?GetSocketID@KOSocket@@QAEGXZ 0058e3f0 f i GameSocket.obj + 0002:0004a440 ?HandlePacket@CGameSocket@@UAE_NAAVPacket@@@Z 0058e440 f GameSocket.obj + 0002:0004a910 ?Initialize@CGameSocket@@QAEXXZ 0058e910 f GameSocket.obj + 0002:0004a970 ?OnConnect@CGameSocket@@UAEXXZ 0058e970 f GameSocket.obj + 0002:0004a9d0 ?OnDisconnect@CGameSocket@@UAEXXZ 0058e9d0 f GameSocket.obj + 0002:0004aaf0 ?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 0058eaf0 f i GameSocket.obj + 0002:0004ac40 ?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z 0058ec40 f GameSocket.obj + 0002:0004b050 ?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z 0058f050 f GameSocket.obj + 0002:0004b310 ?RecvGateOpen@CGameSocket@@QAEXAAVPacket@@@Z 0058f310 f GameSocket.obj + 0002:0004b470 ?RecvHealMagic@CGameSocket@@QAEXAAVPacket@@@Z 0058f470 f GameSocket.obj + 0002:0004b520 ?RecvNpcHpChange@CGameSocket@@QAEXAAVPacket@@@Z 0058f520 f GameSocket.obj + 0002:0004b6f0 ?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z 0058f6f0 f GameSocket.obj + 0002:0004b980 ?RecvNpcMoveResult@CGameSocket@@QAEXAAVPacket@@@Z 0058f980 f GameSocket.obj + 0002:0004bb10 ?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z 0058fb10 f GameSocket.obj + 0002:0004c050 ?RecvNpcUpdate@CGameSocket@@QAEXAAVPacket@@@Z 00590050 f GameSocket.obj + 0002:0004c190 ?RecvPartyInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z 00590190 f GameSocket.obj + 0002:0004c340 ?RecvServerConnect@CGameSocket@@QAEXAAVPacket@@@Z 00590340 f GameSocket.obj + 0002:0004c580 ?RecvTimeAndWeather@CGameSocket@@QAEXAAVPacket@@@Z 00590580 f GameSocket.obj + 0002:0004c6d0 ?RecvUserInOut@CGameSocket@@QAEXAAVPacket@@@Z 005906d0 f GameSocket.obj + 0002:0004cc00 ?RecvUserInfo@CGameSocket@@QAEXAAVPacket@@@Z 00590c00 f GameSocket.obj + 0002:0004cf00 ?RecvUserInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z 00590f00 f GameSocket.obj + 0002:0004cf90 ?RecvUserLogOut@CGameSocket@@QAEXAAVPacket@@@Z 00590f90 f GameSocket.obj + 0002:0004d0d0 ?RecvUserMove@CGameSocket@@QAEXAAVPacket@@@Z 005910d0 f GameSocket.obj + 0002:0004d220 ?RecvUserRegene@CGameSocket@@QAEXAAVPacket@@@Z 00591220 f GameSocket.obj + 0002:0004d370 ?RecvUserSetHP@CGameSocket@@QAEXAAVPacket@@@Z 00591370 f GameSocket.obj + 0002:0004d4c0 ?RecvUserTransform@CGameSocket@@QAEXAAVPacket@@@Z 005914c0 f GameSocket.obj + 0002:0004d5b0 ?RecvUserUpdate@CGameSocket@@QAEXAAVPacket@@@Z 005915b0 f GameSocket.obj + 0002:0004d640 ?RecvUserVisibility@CGameSocket@@QAEXAAVPacket@@@Z 00591640 f GameSocket.obj + 0002:0004d730 ?RecvZoneChange@CGameSocket@@QAEXAAVPacket@@@Z 00591730 f GameSocket.obj + 0002:0004d840 ?SByte@ByteBuffer@@QAEXXZ 00591840 f i GameSocket.obj + 0002:0004d880 ?SetUid@CGameSocket@@QAE_NMMHH@Z 00591880 f GameSocket.obj + 0002:0004dc00 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ 00591c00 f i GameSocket.obj + 0002:0004dd50 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAEXXZ 00591d50 f i GameSocket.obj + 0002:0004ddc0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAEXXZ 00591dc0 f i GameSocket.obj + 0002:0004de30 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEXXZ 00591e30 f i GameSocket.obj + 0002:0004dea0 ?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00591ea0 f i GameSocket.obj + 0002:0004df10 ?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00591f10 f i GameSocket.obj + 0002:0004dff0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ 00591ff0 f i GameSocket.obj + 0002:0004e060 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ 00592060 f i GameSocket.obj + 0002:0004e0d0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 005920d0 f i GameSocket.obj + 0002:0004e140 ?_Construct_lv_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00592140 f i GameSocket.obj + 0002:0004e310 ?_Copy_assign@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@AAEXABV12@U?$integral_constant@_N$0A@@2@@Z 00592310 f i GameSocket.obj + 0002:0004e3b0 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z 005923b0 f i GameSocket.obj + 0002:0004e440 ?_Extract@?$_In_place_key_extract_map@EU?$pair@EF@std@@@std@@SAABEABU?$pair@EF@2@@Z 00592440 f i GameSocket.obj + 0002:0004e480 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_PARTY_GROUP@@@std@@@std@@SAABIABU?$pair@IPAU_PARTY_GROUP@@@2@@Z 00592480 f i GameSocket.obj + 0002:0004e4c0 ?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 005924c0 f i GameSocket.obj + 0002:0004e500 ?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00592500 f i GameSocket.obj + 0002:0004e540 ?_Get_first@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@2@$00@std@@QAEAAU?$less@E@2@XZ 00592540 f i GameSocket.obj + 0002:0004e580 ?_Get_first@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@E@2@XZ 00592580 f i GameSocket.obj + 0002:0004e5c0 ?_Get_first@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@E@2@XZ 005925c0 f i GameSocket.obj + 0002:0004e600 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00592600 f i GameSocket.obj + 0002:0004e640 ?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00592640 f i GameSocket.obj + 0002:0004e680 ?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00592680 f i GameSocket.obj + 0002:0004e6c0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@XZ 005926c0 f i GameSocket.obj + 0002:0004e700 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@XZ 00592700 f i GameSocket.obj + 0002:0004e740 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@XZ 00592740 f i GameSocket.obj + 0002:0004e780 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@XZ 00592780 f i GameSocket.obj + 0002:0004e7c0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@XZ 005927c0 f i GameSocket.obj + 0002:0004e820 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@XZ 00592820 f i GameSocket.obj + 0002:0004e880 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@XZ 00592880 f i GameSocket.obj + 0002:0004e8e0 ?_Getal@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@XZ 005928e0 f i GameSocket.obj + 0002:0004e930 ?_Getal@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@XZ 00592930 f i GameSocket.obj + 0002:0004e980 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@XZ 00592980 f i GameSocket.obj + 0002:0004e9d0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@XZ 005929d0 f i GameSocket.obj + 0002:0004ea20 ?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00592a20 f i GameSocket.obj + 0002:0004ea70 ?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00592a70 f i GameSocket.obj + 0002:0004eac0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEAAU?$less@E@2@XZ 00592ac0 f i GameSocket.obj + 0002:0004eb10 ?_Getcomp@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IBEABU?$less@E@2@XZ 00592b10 f i GameSocket.obj + 0002:0004eb60 ?_Getcomp@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IBEABU?$less@E@2@XZ 00592b60 f i GameSocket.obj + 0002:0004ebb0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00592bb0 f i GameSocket.obj + 0002:0004ec00 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@QAU32@@Z 00592c00 f i GameSocket.obj + 0002:0004ef00 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@QAU32@@Z 00592f00 f i GameSocket.obj + 0002:0004f200 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00593200 f i GameSocket.obj + 0002:0004f500 ?_Large_string_engaged@?$_String_val@U?$_Simple_types@D@std@@@std@@QBE_NXZ 00593500 f i GameSocket.obj + 0002:0004f570 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@@Z 00593570 f i GameSocket.obj + 0002:0004f660 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@@Z 00593660 f i GameSocket.obj + 0002:0004f750 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@@Z 00593750 f i GameSocket.obj + 0002:0004f840 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@PAU32@@Z 00593840 f i GameSocket.obj + 0002:0004f8a0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@PAU32@@Z 005938a0 f i GameSocket.obj + 0002:0004f8f0 ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ 005938f0 f i GameSocket.obj + 0002:0004f970 ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ 00593970 f i GameSocket.obj + 0002:0004f9f0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@@Z 005939f0 f i GameSocket.obj + 0002:0004fb00 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@XZ 00593b00 f i GameSocket.obj + 0002:0004fbb0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@XZ 00593bb0 f i GameSocket.obj + 0002:0004fc60 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@XZ 00593c60 f i GameSocket.obj + 0002:0004fd10 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@@Z 00593d10 f i GameSocket.obj + 0002:0004fe00 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@@Z 00593e00 f i GameSocket.obj + 0002:0004fef0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@@Z 00593ef0 f i GameSocket.obj + 0002:0004ffe0 ?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00593fe0 f i GameSocket.obj + 0002:00050130 ?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00594130 f i GameSocket.obj + 0002:000501d0 ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAXXZ 005941d0 f i GameSocket.obj + 0002:00050220 ?allocate@?$allocator@D@std@@QAEPADI@Z 00594220 f i GameSocket.obj + 0002:00050290 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@I@Z 00594290 f i GameSocket.obj + 0002:00050300 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@I@Z 00594300 f i GameSocket.obj + 0002:00050370 ?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00594370 f i GameSocket.obj + 0002:000503b0 ?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 005943b0 f i GameSocket.obj + 0002:00050460 ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00594460 f i GameSocket.obj + 0002:000504f0 ?clear@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAEXXZ 005944f0 f i GameSocket.obj + 0002:000505e0 ?clear@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ 005945e0 f i GameSocket.obj + 0002:00050670 ?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00594670 f i GameSocket.obj + 0002:000506d0 ?deallocate@?$allocator@D@std@@QAEXQADI@Z 005946d0 f i GameSocket.obj + 0002:00050730 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@I@Z 00594730 f i GameSocket.obj + 0002:00050790 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@I@Z 00594790 f i GameSocket.obj + 0002:000507f0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@I@Z 005947f0 f i GameSocket.obj + 0002:00050850 ?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00594850 f i GameSocket.obj + 0002:000508d0 ?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 005948d0 f i GameSocket.obj + 0002:00050980 ?isGate@CNpc@@QAE_NXZ 00594980 f i GameSocket.obj + 0002:00050a80 ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00594a80 f i GameSocket.obj + 0002:00050ae0 ?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00594ae0 f i GameSocket.obj + 0002:00050b20 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@@Z 00594b20 f i GameSocket.obj + 0002:00050b60 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@@Z 00594b60 f i GameSocket.obj + 0002:00050ba0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@@Z 00594ba0 f i GameSocket.obj + 0002:00050be0 ?max_size@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QBEIXZ 00594be0 f i GameSocket.obj + 0002:00050c40 ?max_size@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QBEIXZ 00594c40 f i GameSocket.obj + 0002:00050ca0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00594ca0 f i GameSocket.obj + 0002:00050d00 ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00594d00 f i GameSocket.obj + 0002:00050e10 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVCNpc@@@std@@@std@@SAPAU?$pair@$$CBIPAVCNpc@@@2@AAU32@@Z 00594e10 f i GameSocket.obj + 0002:00050e60 ?push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z 00594e60 f i GameSocket.obj + 0002:00050f60 ?select_on_container_copy_construction@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SA?AV?$allocator@D@2@ABV32@@Z 00594f60 f i GameSocket.obj + 0002:00050fa0 ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00594fa0 f i GameSocket.obj + 0002:00051000 ??_GCServerDlg@@QAEPAXI@Z 00595000 f i main.obj + 0002:00051080 ?_ConsoleHandler@@YGHK@Z 00595080 f main.obj + 0002:00051110 _main 00595110 f main.obj + 0002:00051300 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00595300 f i MAP.obj + 0002:00051360 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00595360 f i MAP.obj + 0002:000513c0 ??$?0AAIAAPAH$0A@@?$pair@IPAH@std@@QAE@AAIAAPAH@Z 005953c0 f i MAP.obj + 0002:00051440 ??$?0AAIAAPAVCRoomEvent@@$0A@@?$pair@IPAVCRoomEvent@@@std@@QAE@AAIAAPAVCRoomEvent@@@Z 00595440 f i MAP.obj + 0002:000514c0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QA_N@Z 005954c0 f i MAP.obj + 0002:00051540 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QA_N@Z 00595540 f i MAP.obj + 0002:000515c0 ??$?0AAPAV_Facet_base@std@@@?$_Compressed_pair@U?$default_delete@V_Facet_base@std@@@std@@PAV_Facet_base@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@AAPAV_Facet_base@1@@Z 005955c0 f i MAP.obj + 0002:00051630 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00595630 f i MAP.obj + 0002:000516b0 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005956b0 f i MAP.obj + 0002:00051730 ??$?0IPAH$0A@@?$pair@$$CBIPAH@std@@QAE@$$QAU?$pair@IPAH@1@@Z 00595730 f i MAP.obj + 0002:000517b0 ??$?0IPAVCRoomEvent@@$0A@@?$pair@$$CBIPAVCRoomEvent@@@std@@QAE@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 005957b0 f i MAP.obj + 0002:00051830 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QA_N@Z 00595830 f i MAP.obj + 0002:000518b0 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QA_N@Z 005958b0 f i MAP.obj + 0002:00051930 ??$?0U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00595930 f i MAP.obj + 0002:00051970 ??$?0U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 00595970 f i MAP.obj + 0002:000519b0 ??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 005959b0 f i MAP.obj + 0002:00051a50 ??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00595a50 f i MAP.obj + 0002:00051bd0 ??$?0U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00595bd0 f i MAP.obj + 0002:00051d50 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@AB_N@Z 00595d50 f i MAP.obj + 0002:00051dd0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@1@AB_N@Z 00595dd0 f i MAP.obj + 0002:00051e50 ??$_Adl_verify_range@PBDPBD@std@@YAXABQBD0@Z 00595e50 f i MAP.obj + 0002:00051eb0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00595eb0 f i MAP.obj + 0002:00051fd0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 00595fd0 f i MAP.obj + 0002:000520f0 ??$_Convert_size@I@std@@YAII@Z 005960f0 f i MAP.obj + 0002:00052130 ??$_Emplace@U?$pair@IPAH@std@@@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@_N@1@$$QAU?$pair@IPAH@1@@Z 00596130 f i MAP.obj + 0002:000522f0 ??$_Emplace@U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 005962f0 f i MAP.obj + 0002:000524b0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 005964b0 f i MAP.obj + 0002:00052540 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 00596540 f i MAP.obj + 0002:000525d0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 005965d0 f i MAP.obj + 0002:000526a0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@@Z 005966a0 f i MAP.obj + 0002:00052770 ??$_Fgetc@D@std@@YA_NAADPAU_iobuf@@@Z 00596770 f i MAP.obj + 0002:000527e0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@ABI@Z 005967e0 f i MAP.obj + 0002:000528b0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@ABI@Z 005968b0 f i MAP.obj + 0002:00052980 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@ABI@Z 00596980 f i MAP.obj + 0002:00052ae0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@ABI@Z 00596ae0 f i MAP.obj + 0002:00052c40 ??$_Fputc@D@std@@YA_NDPAU_iobuf@@@Z 00596c40 f i MAP.obj + 0002:00052cc0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00596cc0 f i MAP.obj + 0002:00052db0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 00596db0 f i MAP.obj + 0002:00052ea0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00596ea0 f i MAP.obj + 0002:00052f50 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 00596f50 f i MAP.obj + 0002:00053000 ??$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@0@XZ 00597000 f i MAP.obj + 0002:00053070 ??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z 00597070 f i MAP.obj + 0002:000530e0 ??$_Kfn@$$CBIPAH@?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@SAABIABU?$pair@$$CBIPAH@1@@Z 005970e0 f i MAP.obj + 0002:00053120 ??$_Kfn@$$CBIPAVCRoomEvent@@@?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAVCRoomEvent@@@1@@Z 00597120 f i MAP.obj + 0002:00053160 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@ABI@Z 00597160 f i MAP.obj + 0002:00053210 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@ABI@Z 00597210 f i MAP.obj + 0002:000532c0 ??$_Min_value@H@std@@YAABHABH0@Z 005972c0 f i MAP.obj + 0002:00053330 ??$_Reallocate_for@V@@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@@PBD@Z 00597330 f i MAP.obj + 0002:000534c0 ??$_Reallocate_grow_by@V@@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@@PBDI@Z 005974c0 f i MAP.obj + 0002:000536b0 ??$_Ungetc@D@std@@YA_NABDPAU_iobuf@@@Z 005976b0 f i MAP.obj + 0002:00053730 ??$_Verify_range@D@std@@YAXQBD0@Z 00597730 f i MAP.obj + 0002:000537e0 ??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 005977e0 f i MAP.obj + 0002:00053820 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@0@ABV10@@Z 00597820 f i MAP.obj + 0002:00053860 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@0@ABV10@@Z 00597860 f i MAP.obj + 0002:000538a0 ??$addressof@$$CBV?$codecvt@DDU_Mbstatet@@@std@@@std@@YAPBV?$codecvt@DDU_Mbstatet@@@0@ABV10@@Z 005978a0 f i MAP.obj + 0002:000538e0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@0@AAPAU10@@Z 005978e0 f i MAP.obj + 0002:00053920 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@0@AAPAU10@@Z 00597920 f i MAP.obj + 0002:00053960 ??$addressof@U?$pair@$$CBIPAH@std@@@std@@YAPAU?$pair@$$CBIPAH@0@AAU10@@Z 00597960 f i MAP.obj + 0002:000539a0 ??$addressof@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@0@AAU10@@Z 005979a0 f i MAP.obj + 0002:000539e0 ??$addressof@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@YAPAU?$pair@$$CBIPAVCRoomEvent@@@0@AAU10@@Z 005979e0 f i MAP.obj + 0002:00053a20 ??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00597a20 f i MAP.obj + 0002:00053a60 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@0@AAV10@@Z 00597a60 f i MAP.obj + 0002:00053aa0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@AAV10@@Z 00597aa0 f i MAP.obj + 0002:00053ae0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@0@AAV10@@Z 00597ae0 f i MAP.obj + 0002:00053b20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@AAPAU31@@Z 00597b20 f i MAP.obj + 0002:00053ba0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@AAPAU31@@Z 00597ba0 f i MAP.obj + 0002:00053c20 ??$construct@U?$pair@$$CBIPAH@std@@U?$pair@IPAH@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@QAU?$pair@$$CBIPAH@1@$$QAU?$pair@IPAH@1@@Z 00597c20 f i MAP.obj + 0002:00053ca0 ??$construct@U?$pair@$$CBIPAVCRoomEvent@@@std@@U?$pair@IPAVCRoomEvent@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCRoomEvent@@@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00597ca0 f i MAP.obj + 0002:00053d20 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00597d20 f i MAP.obj + 0002:00053d50 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@@Z 00597d50 f i MAP.obj + 0002:00053d80 ??$destroy@U?$pair@$$CBIPAH@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@QAU?$pair@$$CBIPAH@1@@Z 00597d80 f i MAP.obj + 0002:00053db0 ??$destroy@U?$pair@$$CBIPAVCRoomEvent@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCRoomEvent@@@1@@Z 00597db0 f i MAP.obj + 0002:00053de0 ??$emplace@U?$pair@IPAH@std@@@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAH@1@@Z 00597de0 f i MAP.obj + 0002:00053ef0 ??$emplace@U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00597ef0 f i MAP.obj + 0002:00054000 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@V21@@Z 00598000 f i MAP.obj + 0002:000541f0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@0@AAPAU10@$$QA$$T@Z 005981f0 f i MAP.obj + 0002:00054240 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@0@AAPAU10@0@Z 00598240 f i MAP.obj + 0002:00054290 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 00598290 f i MAP.obj + 0002:000542e0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@0@AAPAU10@0@Z 005982e0 f i MAP.obj + 0002:00054330 ??$exchange@PAV_Facet_base@std@@PAV12@@std@@YAPAV_Facet_base@0@AAPAV10@$$QAPAV10@@Z 00598330 f i MAP.obj + 0002:00054380 ??$forward@AAPAH@std@@YAAAPAHAAPAH@Z 00598380 f i MAP.obj + 0002:000543c0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@0@AAPAU10@@Z 005983c0 f i MAP.obj + 0002:00054400 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@0@AAPAU10@@Z 00598400 f i MAP.obj + 0002:00054440 ??$forward@AAPAVCRoomEvent@@@std@@YAAAPAVCRoomEvent@@AAPAV1@@Z 00598440 f i MAP.obj + 0002:00054480 ??$forward@AAPAV_Facet_base@std@@@std@@YAAAPAV_Facet_base@0@AAPAV10@@Z 00598480 f i MAP.obj + 0002:000544c0 ??$forward@ABU?$less@I@std@@@std@@YAABU?$less@I@0@ABU10@@Z 005984c0 f i MAP.obj + 0002:00054500 ??$forward@PAH@std@@YA$$QAPAHAAPAH@Z 00598500 f i MAP.obj + 0002:00054540 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@0@AAPAU10@@Z 00598540 f i MAP.obj + 0002:00054580 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@0@AAPAU10@@Z 00598580 f i MAP.obj + 0002:000545c0 ??$forward@PAVCRoomEvent@@@std@@YA$$QAPAVCRoomEvent@@AAPAV1@@Z 005985c0 f i MAP.obj + 0002:00054600 ??$forward@U?$pair@IPAH@std@@@std@@YA$$QAU?$pair@IPAH@0@AAU10@@Z 00598600 f i MAP.obj + 0002:00054640 ??$forward@U?$pair@IPAVCRoomEvent@@@std@@@std@@YA$$QAU?$pair@IPAVCRoomEvent@@@0@AAU10@@Z 00598640 f i MAP.obj + 0002:00054680 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@0@AAV10@@Z 00598680 f i MAP.obj + 0002:000546c0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@0@AAV10@@Z 005986c0 f i MAP.obj + 0002:00054700 ??$insert@U?$pair@IPAH@std@@X@?$map@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAH@1@@Z 00598700 f i MAP.obj + 0002:00054790 ??$insert@U?$pair@IPAVCRoomEvent@@@std@@X@?$map@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00598790 f i MAP.obj + 0002:00054820 ??$make_pair@AAIAAPAH@std@@YA?AU?$pair@IPAH@0@AAIAAPAH@Z 00598820 f i MAP.obj + 0002:00054890 ??$make_pair@AAIAAPAVCRoomEvent@@@std@@YA?AU?$pair@IPAVCRoomEvent@@@0@AAIAAPAVCRoomEvent@@@Z 00598890 f i MAP.obj + 0002:00054900 ??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00598900 f i MAP.obj + 0002:00054940 ??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00598940 f i MAP.obj + 0002:00054b60 ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00598b60 f i MAP.obj + 0002:00054d80 ??0?$CSTLMap@H@@QAE@XZ 00598d80 f i MAP.obj + 0002:00054e30 ??0?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 00598e30 f i MAP.obj + 0002:00054ee0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00598ee0 f i MAP.obj + 0002:00054f40 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 00598f40 f i MAP.obj + 0002:00054fa0 ??0?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 00598fa0 f i MAP.obj + 0002:00055020 ??0?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 00599020 f i MAP.obj + 0002:000550a0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005990a0 f i MAP.obj + 0002:00055100 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00599100 f i MAP.obj + 0002:00055160 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@1@@Z 00599160 f i MAP.obj + 0002:000551c0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005991c0 f i MAP.obj + 0002:00055220 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00599220 f i MAP.obj + 0002:00055280 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@1@@Z 00599280 f i MAP.obj + 0002:000552e0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005992e0 f i MAP.obj + 0002:00055340 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00599340 f i MAP.obj + 0002:000553a0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@1@@Z 005993a0 f i MAP.obj + 0002:00055400 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00599400 f i MAP.obj + 0002:00055460 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00599460 f i MAP.obj + 0002:000554c0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@1@@Z 005994c0 f i MAP.obj + 0002:00055520 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00599520 f i MAP.obj + 0002:00055580 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00599580 f i MAP.obj + 0002:000555e0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@1@@Z 005995e0 f i MAP.obj + 0002:00055640 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00599640 f i MAP.obj + 0002:000556a0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005996a0 f i MAP.obj + 0002:00055700 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@1@@Z 00599700 f i MAP.obj + 0002:00055760 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00599760 f i MAP.obj + 0002:00055810 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 00599810 f i MAP.obj + 0002:000558c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@1@@Z 005998c0 f i MAP.obj + 0002:00055930 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 00599930 f i MAP.obj + 0002:000559a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005999a0 f i MAP.obj + 0002:00055a10 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@1@@Z 00599a10 f i MAP.obj + 0002:00055a80 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 00599a80 f i MAP.obj + 0002:00055af0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 00599af0 f i MAP.obj + 0002:00055b60 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@1@@Z 00599b60 f i MAP.obj + 0002:00055bd0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 00599bd0 f i MAP.obj + 0002:00055c40 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 00599c40 f i MAP.obj + 0002:00055cb0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@1@@Z 00599cb0 f i MAP.obj + 0002:00055d20 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@1@@Z 00599d20 f i MAP.obj + 0002:00055d80 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAE@XZ 00599d80 f i MAP.obj + 0002:00055df0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAE@XZ 00599df0 f i MAP.obj + 0002:00055e60 ??0?$_Yarn@D@std@@QAE@XZ 00599e60 f i MAP.obj + 0002:00055eb0 ??0?$_Yarn@_W@std@@QAE@XZ 00599eb0 f i MAP.obj + 0002:00055f00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@QAE@XZ 00599f00 f i MAP.obj + 0002:00055f40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@QAE@XZ 00599f40 f i MAP.obj + 0002:00055f80 ??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00599f80 f i MAP.obj + 0002:00056040 ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@HH@Z 0059a040 f i MAP.obj + 0002:000560f0 ??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 0059a0f0 f i MAP.obj + 0002:00056270 ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ 0059a270 f i MAP.obj + 0002:000562d0 ??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 0059a2d0 f i MAP.obj + 0002:00056410 ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ 0059a410 f i MAP.obj + 0002:000564c0 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 0059a4c0 f i MAP.obj + 0002:000565c0 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 0059a5c0 f i MAP.obj + 0002:00056730 ??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 0059a730 f i MAP.obj + 0002:000567f0 ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 0059a7f0 f i MAP.obj + 0002:000568b0 ??0?$fpos@U_Mbstatet@@@std@@QAE@U_Mbstatet@@_J@Z 0059a8b0 f i MAP.obj + 0002:00056930 ??0?$fpos@U_Mbstatet@@@std@@QAE@_J@Z 0059a930 f i MAP.obj + 0002:000569b0 ??0?$map@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@@std@@QAE@XZ 0059a9b0 f i MAP.obj + 0002:00056a10 ??0?$map@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@@std@@QAE@XZ 0059aa10 f i MAP.obj + 0002:00056a70 ??0CPoint@@QAE@HH@Z 0059aa70 f i MAP.obj + 0002:00056ac0 ??0CRect@@QAE@HHHH@Z 0059aac0 f i MAP.obj + 0002:00056b40 ??0CRegion@@QAE@XZ 0059ab40 f i MAP.obj + 0002:00056bf0 ??0MAP@@QAE@XZ 0059abf0 f MAP.obj + 0002:00056d20 ??0_Facet_base@std@@QAE@XZ 0059ad20 f i MAP.obj + 0002:00056d70 ??0_Generic_error_category@std@@QAE@XZ 0059ad70 f i MAP.obj + 0002:00056de0 ??0_Iostream_error_category@std@@QAE@XZ 0059ade0 f i MAP.obj + 0002:00056e50 ??0_Locinfo@std@@QAE@PBD@Z 0059ae50 f i MAP.obj + 0002:00056f90 ??0_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 0059af90 f i MAP.obj + 0002:00057070 ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 0059b070 f i MAP.obj + 0002:00057150 ??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0059b150 f i MAP.obj + 0002:00057280 ??0_System_error@std@@QAE@ABV01@@Z 0059b280 f i MAP.obj + 0002:00057300 ??0bad_cast@std@@QAE@ABV01@@Z 0059b300 f i MAP.obj + 0002:00057370 ??0bad_cast@std@@QAE@XZ 0059b370 f i MAP.obj + 0002:000573e0 ??0codecvt_base@std@@QAE@I@Z 0059b3e0 f i MAP.obj + 0002:00057450 ??0ctype_base@std@@QAE@I@Z 0059b450 f i MAP.obj + 0002:000574c0 ??0error_category@std@@QAE@XZ 0059b4c0 f i MAP.obj + 0002:00057510 ??0error_code@std@@QAE@HABVerror_category@1@@Z 0059b510 f i MAP.obj + 0002:00057560 ??0error_condition@std@@QAE@HABVerror_category@1@@Z 0059b560 f i MAP.obj + 0002:000575b0 ??0exception@std@@QAE@ABV01@@Z 0059b5b0 f i MAP.obj + 0002:00057640 ??0exception@std@@QAE@QBD@Z 0059b640 f i MAP.obj + 0002:00057710 ??0exception@std@@QAE@QBDH@Z 0059b710 f i MAP.obj + 0002:00057780 ??0facet@locale@std@@IAE@I@Z 0059b780 f i MAP.obj + 0002:000577f0 ??0failure@ios_base@std@@QAE@ABV012@@Z 0059b7f0 f i MAP.obj + 0002:00057860 ??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z 0059b860 f i MAP.obj + 0002:000578e0 ??0id@locale@std@@QAE@I@Z 0059b8e0 f i MAP.obj + 0002:00057930 ??0ios_base@std@@IAE@XZ 0059b930 f i MAP.obj + 0002:00057980 ??0locale@std@@QAE@ABV01@@Z 0059b980 f i MAP.obj + 0002:00057a00 ??0locale@std@@QAE@XZ 0059ba00 f i MAP.obj + 0002:00057aa0 ??0runtime_error@std@@QAE@ABV01@@Z 0059baa0 f i MAP.obj + 0002:00057b10 ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0059bb10 f i MAP.obj + 0002:00057b80 ??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 0059bb80 f i MAP.obj + 0002:00057c40 ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 0059bc40 f i MAP.obj + 0002:00057d80 ??0system_error@std@@QAE@ABV01@@Z 0059bd80 f i MAP.obj + 0002:00057df0 ??0system_error@std@@QAE@Verror_code@1@PBD@Z 0059bdf0 f i MAP.obj + 0002:00057ee0 ??1?$CSTLMap@H@@QAE@XZ 0059bee0 f i MAP.obj + 0002:00057f80 ??1?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 0059bf80 f i MAP.obj + 0002:00058020 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c020 f i MAP.obj + 0002:000580c0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c0c0 f i MAP.obj + 0002:00058160 ??1?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE@XZ 0059c160 f i MAP.obj + 0002:00058240 ??1?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0059c240 f i MAP.obj + 0002:00058320 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@XZ 0059c320 f i MAP.obj + 0002:00058370 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@XZ 0059c370 f i MAP.obj + 0002:000583c0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@XZ 0059c3c0 f i MAP.obj + 0002:00058410 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE@XZ 0059c410 f i MAP.obj + 0002:00058460 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE@XZ 0059c460 f i MAP.obj + 0002:000584b0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE@XZ 0059c4b0 f i MAP.obj + 0002:00058500 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c500 f i MAP.obj + 0002:00058640 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c640 f i MAP.obj + 0002:00058780 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c780 f i MAP.obj + 0002:000587d0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0059c7d0 f i MAP.obj + 0002:00058820 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0059c820 f i MAP.obj + 0002:00058870 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0059c870 f i MAP.obj + 0002:000588c0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0059c8c0 f i MAP.obj + 0002:00058910 ??1?$_Yarn@D@std@@QAE@XZ 0059c910 f i MAP.obj + 0002:00058960 ??1?$_Yarn@_W@std@@QAE@XZ 0059c960 f i MAP.obj + 0002:000589b0 ??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ 0059c9b0 f i MAP.obj + 0002:00058a70 ??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ 0059ca70 f i MAP.obj + 0002:00058b10 ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ 0059cb10 f i MAP.obj + 0002:00058b70 ??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ 0059cb70 f i MAP.obj + 0002:00058be0 ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ 0059cbe0 f i MAP.obj + 0002:00058c80 ??1?$codecvt@DDU_Mbstatet@@@std@@MAE@XZ 0059cc80 f i MAP.obj + 0002:00058ce0 ??1?$ctype@D@std@@MAE@XZ 0059cce0 f i MAP.obj + 0002:00058d50 ??1?$map@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@@std@@QAE@XZ 0059cd50 f i MAP.obj + 0002:00058da0 ??1?$map@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@@std@@QAE@XZ 0059cda0 f i MAP.obj + 0002:00058df0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0059cdf0 f i MAP.obj + 0002:00058e40 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0059ce40 f i MAP.obj + 0002:00058e90 ??1?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@XZ 0059ce90 f i MAP.obj + 0002:00058f00 ??1CRegion@@QAE@XZ 0059cf00 f i MAP.obj + 0002:00058f60 ??1MAP@@UAE@XZ 0059cf60 f MAP.obj + 0002:00059030 ??1_Facet_base@std@@UAE@XZ 0059d030 f i MAP.obj + 0002:00059070 ??1_Generic_error_category@std@@UAE@XZ 0059d070 f i MAP.obj + 0002:000590c0 ??1_Iostream_error_category@std@@UAE@XZ 0059d0c0 f i MAP.obj + 0002:00059110 ??1_Locinfo@std@@QAE@XZ 0059d110 f i MAP.obj + 0002:00059200 ??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 0059d200 f i MAP.obj + 0002:00059300 ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 0059d300 f i MAP.obj + 0002:00059400 ??1_System_error@std@@UAE@XZ 0059d400 f i MAP.obj + 0002:00059450 ??1bad_cast@std@@UAE@XZ 0059d450 f i MAP.obj + 0002:000594a0 ??1codecvt_base@std@@UAE@XZ 0059d4a0 f i MAP.obj + 0002:00059500 ??1ctype_base@std@@UAE@XZ 0059d500 f i MAP.obj + 0002:00059560 ??1error_category@std@@UAE@XZ 0059d560 f i MAP.obj + 0002:000595a0 ??1exception@std@@UAE@XZ 0059d5a0 f i MAP.obj + 0002:00059610 ??1facet@locale@std@@MAE@XZ 0059d610 f i MAP.obj + 0002:00059670 ??1failure@ios_base@std@@UAE@XZ 0059d670 f i MAP.obj + 0002:000596c0 ??1ios_base@std@@UAE@XZ 0059d6c0 f i MAP.obj + 0002:00059760 ??1locale@std@@QAE@XZ 0059d760 f i MAP.obj + 0002:00059820 ??1runtime_error@std@@UAE@XZ 0059d820 f i MAP.obj + 0002:00059870 ??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 0059d870 f i MAP.obj + 0002:000598c0 ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 0059d8c0 f i MAP.obj + 0002:00059960 ??1system_error@std@@UAE@XZ 0059d960 f i MAP.obj + 0002:000599b0 ??2_Crt_new_delete@std@@SAPAXI@Z 0059d9b0 f i MAP.obj + 0002:00059a20 ??2_Crt_new_delete@std@@SAPAXIABUnothrow_t@1@@Z 0059da20 f i MAP.obj + 0002:00059aa0 ??3_Crt_new_delete@std@@SAXPAX@Z 0059daa0 f i MAP.obj + 0002:00059af0 ??7ios_base@std@@QBE_NXZ 0059daf0 f i MAP.obj + 0002:00059b40 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059db40 f i MAP.obj + 0002:00059c40 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059dc40 f i MAP.obj + 0002:00059d40 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059dd40 f i MAP.obj + 0002:00059e40 ??8error_category@std@@QBE_NABV01@@Z 0059de40 f i MAP.obj + 0002:00059eb0 ??8std@@YA_NABVerror_condition@0@0@Z 0059deb0 f i MAP.obj + 0002:00059f60 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059df60 f i MAP.obj + 0002:00059ff0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059dff0 f i MAP.obj + 0002:0005a080 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0059e080 f i MAP.obj + 0002:0005a110 ??B?$fpos@U_Mbstatet@@@std@@QBE_JXZ 0059e110 f i MAP.obj + 0002:0005a160 ??Bid@locale@std@@QAEIXZ 0059e160 f i MAP.obj + 0002:0005a230 ??Bsentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_NXZ 0059e230 f i MAP.obj + 0002:0005a270 ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QBE_NXZ 0059e270 f i MAP.obj + 0002:0005a2b0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAH@1@XZ 0059e2b0 f i MAP.obj + 0002:0005a310 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@XZ 0059e310 f i MAP.obj + 0002:0005a370 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAVCRoomEvent@@@1@XZ 0059e370 f i MAP.obj + 0002:0005a3d0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAH@1@XZ 0059e3d0 f i MAP.obj + 0002:0005a510 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@XZ 0059e510 f i MAP.obj + 0002:0005a650 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAVCRoomEvent@@@1@XZ 0059e650 f i MAP.obj + 0002:0005a790 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAH@1@XZ 0059e790 f i MAP.obj + 0002:0005a7e0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@XZ 0059e7e0 f i MAP.obj + 0002:0005a830 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAVCRoomEvent@@@1@XZ 0059e830 f i MAP.obj + 0002:0005a880 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAEAAV01@XZ 0059e880 f i MAP.obj + 0002:0005a9c0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0059e9c0 f i MAP.obj + 0002:0005ab00 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0059eb00 f i MAP.obj + 0002:0005ac40 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0059ec40 f i MAP.obj + 0002:0005ad60 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0059ed60 f i MAP.obj + 0002:0005ae80 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0059ee80 f i MAP.obj + 0002:0005afa0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 0059efa0 f i MAP.obj + 0002:0005b060 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0059f060 f i MAP.obj + 0002:0005b130 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0059f130 f i MAP.obj + 0002:0005b200 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0059f200 f i MAP.obj + 0002:0005b2d0 ??R@@QBEXQADIQBD@Z 0059f2d0 f i MAP.obj + 0002:0005b360 ??R@@QBEXQADQBDI1I@Z 0059f360 f i MAP.obj + 0002:0005b410 ??R?$default_delete@V_Facet_base@std@@@std@@QBEXPAV_Facet_base@1@@Z 0059f410 f i MAP.obj + 0002:0005b4b0 ??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ 0059f4b0 f i MAP.obj + 0002:0005b510 ??_D?$basic_istream@DU?$char_traits@D@std@@@std@@QAEXXZ 0059f510 f i MAP.obj + 0002:0005b570 ??_E?$basic_ifstream@DU?$char_traits@D@std@@@std@@$4PPPPPPPM@A@AEPAXI@Z 0059f570 f i MAP.obj + 0002:0005b57a ??_E?$basic_istream@DU?$char_traits@D@std@@@std@@$4PPPPPPPM@A@AEPAXI@Z 0059f57a f i MAP.obj + 0002:0005b590 ??_ECRegion@@QAEPAXI@Z 0059f590 f i MAP.obj + 0002:0005b690 ??_G?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f690 f i MAP.obj + 0002:0005b690 ??_E?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f690 f i MAP.obj + 0002:0005b700 ??_E?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f700 f i MAP.obj + 0002:0005b700 ??_G?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f700 f i MAP.obj + 0002:0005b780 ??_G?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f780 f i MAP.obj + 0002:0005b780 ??_E?$basic_ios@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f780 f i MAP.obj + 0002:0005b7f0 ??_G?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f7f0 f i MAP.obj + 0002:0005b7f0 ??_E?$basic_istream@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f7f0 f i MAP.obj + 0002:0005b870 ??_E?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f870 f i MAP.obj + 0002:0005b870 ??_G?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEPAXI@Z 0059f870 f i MAP.obj + 0002:0005b8e0 ??_G?$codecvt@DDU_Mbstatet@@@std@@MAEPAXI@Z 0059f8e0 f i MAP.obj + 0002:0005b8e0 ??_E?$codecvt@DDU_Mbstatet@@@std@@MAEPAXI@Z 0059f8e0 f i MAP.obj + 0002:0005b970 ??_E?$ctype@D@std@@MAEPAXI@Z 0059f970 f i MAP.obj + 0002:0005b970 ??_G?$ctype@D@std@@MAEPAXI@Z 0059f970 f i MAP.obj + 0002:0005ba00 ??_GMAP@@UAEPAXI@Z 0059fa00 f i MAP.obj + 0002:0005ba00 ??_EMAP@@UAEPAXI@Z 0059fa00 f i MAP.obj + 0002:0005ba80 ??_E_Facet_base@std@@UAEPAXI@Z 0059fa80 f i MAP.obj + 0002:0005ba80 ??_G_Facet_base@std@@UAEPAXI@Z 0059fa80 f i MAP.obj + 0002:0005baf0 ??_G_Generic_error_category@std@@UAEPAXI@Z 0059faf0 f i MAP.obj + 0002:0005baf0 ??_E_Generic_error_category@std@@UAEPAXI@Z 0059faf0 f i MAP.obj + 0002:0005bb60 ??_E_Iostream_error_category@std@@UAEPAXI@Z 0059fb60 f i MAP.obj + 0002:0005bb60 ??_G_Iostream_error_category@std@@UAEPAXI@Z 0059fb60 f i MAP.obj + 0002:0005bbd0 ??_G_System_error@std@@UAEPAXI@Z 0059fbd0 f i MAP.obj + 0002:0005bbd0 ??_E_System_error@std@@UAEPAXI@Z 0059fbd0 f i MAP.obj + 0002:0005bc40 ??_Ebad_cast@std@@UAEPAXI@Z 0059fc40 f i MAP.obj + 0002:0005bc40 ??_Gbad_cast@std@@UAEPAXI@Z 0059fc40 f i MAP.obj + 0002:0005bcb0 ??_Ecodecvt_base@std@@UAEPAXI@Z 0059fcb0 f i MAP.obj + 0002:0005bcb0 ??_Gcodecvt_base@std@@UAEPAXI@Z 0059fcb0 f i MAP.obj + 0002:0005bd40 ??_Gctype_base@std@@UAEPAXI@Z 0059fd40 f i MAP.obj + 0002:0005bd40 ??_Ectype_base@std@@UAEPAXI@Z 0059fd40 f i MAP.obj + 0002:0005bdd0 ??_Eexception@std@@UAEPAXI@Z 0059fdd0 f i MAP.obj + 0002:0005bdd0 ??_Gexception@std@@UAEPAXI@Z 0059fdd0 f i MAP.obj + 0002:0005be40 ??_Gfacet@locale@std@@MAEPAXI@Z 0059fe40 f i MAP.obj + 0002:0005be40 ??_Efacet@locale@std@@MAEPAXI@Z 0059fe40 f i MAP.obj + 0002:0005bed0 ??_Efailure@ios_base@std@@UAEPAXI@Z 0059fed0 f i MAP.obj + 0002:0005bed0 ??_Gfailure@ios_base@std@@UAEPAXI@Z 0059fed0 f i MAP.obj + 0002:0005bf40 ??_Eios_base@std@@UAEPAXI@Z 0059ff40 f i MAP.obj + 0002:0005bf40 ??_Gios_base@std@@UAEPAXI@Z 0059ff40 f i MAP.obj + 0002:0005bfb0 ??_Glocale@std@@QAEPAXI@Z 0059ffb0 f i MAP.obj + 0002:0005c040 ??_Gruntime_error@std@@UAEPAXI@Z 005a0040 f i MAP.obj + 0002:0005c040 ??_Eruntime_error@std@@UAEPAXI@Z 005a0040 f i MAP.obj + 0002:0005c0b0 ??_Gsystem_error@std@@UAEPAXI@Z 005a00b0 f i MAP.obj + 0002:0005c0b0 ??_Esystem_error@std@@UAEPAXI@Z 005a00b0 f i MAP.obj + 0002:0005c120 ?DeleteAllData@?$CSTLMap@H@@QAEXXZ 005a0120 f i MAP.obj + 0002:0005c330 ?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ 005a0330 f i MAP.obj + 0002:0005c570 ?DeleteData@?$CSTLMap@H@@QAEXI@Z 005a0570 f i MAP.obj + 0002:0005c760 ?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 005a0760 f i MAP.obj + 0002:0005c920 ?GetEventIDs@MAP@@QAEPAFXZ 005a0920 f MAP.obj + 0002:0005c980 ?GetEventIDs@SMDFile@@QAEPAFXZ 005a0980 f i MAP.obj + 0002:0005c9c0 ?GetMapSize@MAP@@QAEHXZ 005a09c0 f MAP.obj + 0002:0005ca20 ?GetMapSize@SMDFile@@QAEHXZ 005a0a20 f i MAP.obj + 0002:0005ca70 ?GetRegion@MAP@@QAEPAVCRegion@@GG@Z 005a0a70 f MAP.obj + 0002:0005cb70 ?GetSize@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEHXZ 005a0b70 f i MAP.obj + 0002:0005cc20 ?GetStatus@CRoomEvent@@QAE?AW4RoomStatus@@XZ 005a0c20 f i MAP.obj + 0002:0005cc60 ?GetUnitDistance@MAP@@QAEMXZ 005a0c60 f MAP.obj + 0002:0005ccc0 ?GetUnitDistance@SMDFile@@QAEMXZ 005a0cc0 f i MAP.obj + 0002:0005cd00 ?GetXRegionMax@MAP@@QAEHXZ 005a0d00 f MAP.obj + 0002:0005cd60 ?GetXRegionMax@SMDFile@@QAEHXZ 005a0d60 f i MAP.obj + 0002:0005cdb0 ?GetZRegionMax@MAP@@QAEHXZ 005a0db0 f MAP.obj + 0002:0005ce10 ?GetZRegionMax@SMDFile@@QAEHXZ 005a0e10 f i MAP.obj + 0002:0005ce60 ?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z 005a0e60 f MAP.obj + 0002:0005d320 ?InitializeRoom@MAP@@QAEXXZ 005a1320 f MAP.obj + 0002:0005d500 ?IsEmpty@?$CSTLMap@H@@QAE_NXZ 005a1500 f i MAP.obj + 0002:0005d5b0 ?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z 005a15b0 f i MAP.obj + 0002:0005d740 ?IsMovable@MAP@@QAE_NHH@Z 005a1740 f MAP.obj + 0002:0005d7d0 ?IsRoomCheck@MAP@@QAEHMM@Z 005a17d0 f MAP.obj + 0002:0005dbc0 ?IsRoomStatusCheck@MAP@@QAE_NXZ 005a1bc0 f MAP.obj + 0002:0005def0 ?LoadRoomEvent@MAP@@QAE_NXZ 005a1ef0 f MAP.obj + 0002:0005ec70 ?ParseSpace@@YAHPAD0@Z 005a2c70 f i MAP.obj + 0002:0005edc0 ?PtInRect@CRect@@QAE_NHH@Z 005a2dc0 f i MAP.obj + 0002:0005ee50 ?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 005a2e50 f i MAP.obj + 0002:0005efa0 ?PutData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NIPAVCRoomEvent@@@Z 005a2fa0 f i MAP.obj + 0002:0005f0f0 ?RegionNpcAdd@MAP@@QAEXHHH@Z 005a30f0 f MAP.obj + 0002:0005f290 ?RegionNpcRemove@MAP@@QAE_NHHH@Z 005a3290 f MAP.obj + 0002:0005f3e0 ?RegionUserAdd@MAP@@QAEXHHH@Z 005a33e0 f MAP.obj + 0002:0005f5d0 ?RegionUserRemove@MAP@@QAE_NHHH@Z 005a35d0 f MAP.obj + 0002:0005f780 ?RemoveMapData@MAP@@QAEXXZ 005a3780 f MAP.obj + 0002:0005f8d0 ?SetRoomEvent@MAP@@QAEPAVCRoomEvent@@H@Z 005a38d0 f MAP.obj + 0002:0005faa0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 005a3aa0 f i MAP.obj + 0002:0005fbf0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ 005a3bf0 f i MAP.obj + 0002:0005fd40 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEXXZ 005a3d40 f i MAP.obj + 0002:0005fdb0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAEXXZ 005a3db0 f i MAP.obj + 0002:0005fe20 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 005a3e20 f i MAP.obj + 0002:0005fe90 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ 005a3e90 f i MAP.obj + 0002:0005ff00 ?_Check_offset@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEXI@Z 005a3f00 f i MAP.obj + 0002:0005ff60 ?_Clamp_suffix_size@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEIII@Z 005a3f60 f i MAP.obj + 0002:0005ffe0 ?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ 005a3fe0 f i MAP.obj + 0002:00060040 ?_Endwrite@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAE_NXZ 005a4040 f i MAP.obj + 0002:00060250 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005a4250 f i MAP.obj + 0002:00060340 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAH@std@@@std@@SAABIABU?$pair@IPAH@2@@Z 005a4340 f i MAP.obj + 0002:00060380 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAVCRoomEvent@@@std@@@std@@SAABIABU?$pair@IPAVCRoomEvent@@@2@@Z 005a4380 f i MAP.obj + 0002:000603c0 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005a43c0 f i MAP.obj + 0002:00060950 ?_Get_first@?$_Compressed_pair@U?$default_delete@V_Facet_base@std@@@std@@PAV_Facet_base@2@$00@std@@QAEAAU?$default_delete@V_Facet_base@std@@@2@XZ 005a4950 f i MAP.obj + 0002:00060990 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005a4990 f i MAP.obj + 0002:000609d0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005a49d0 f i MAP.obj + 0002:00060a10 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@XZ 005a4a10 f i MAP.obj + 0002:00060a50 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@XZ 005a4a50 f i MAP.obj + 0002:00060a90 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@XZ 005a4a90 f i MAP.obj + 0002:00060ad0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@XZ 005a4ad0 f i MAP.obj + 0002:00060b10 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@XZ 005a4b10 f i MAP.obj + 0002:00060b70 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@2@XZ 005a4b70 f i MAP.obj + 0002:00060bd0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 005a4bd0 f i MAP.obj + 0002:00060c30 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@XZ 005a4c30 f i MAP.obj + 0002:00060c90 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@2@XZ 005a4c90 f i MAP.obj + 0002:00060cf0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@XZ 005a4cf0 f i MAP.obj + 0002:00060d40 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@XZ 005a4d40 f i MAP.obj + 0002:00060d90 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@XZ 005a4d90 f i MAP.obj + 0002:00060de0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@XZ 005a4de0 f i MAP.obj + 0002:00060e30 ?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 005a4e30 f i MAP.obj + 0002:00060fd0 ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 005a4fd0 f i MAP.obj + 0002:00061170 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005a5170 f i MAP.obj + 0002:000611c0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005a51c0 f i MAP.obj + 0002:00061210 ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ 005a5210 f i MAP.obj + 0002:000612d0 ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z 005a52d0 f i MAP.obj + 0002:000613d0 ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBE_JXZ 005a53d0 f i MAP.obj + 0002:00061440 ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ 005a5440 f i MAP.obj + 0002:000614c0 ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ 005a54c0 f i MAP.obj + 0002:00061540 ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ 005a5540 f i MAP.obj + 0002:000615c0 ?_Incref@facet@locale@std@@UAEXXZ 005a55c0 f i MAP.obj + 0002:00061600 ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z 005a5600 f i MAP.obj + 0002:000617a0 ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z 005a57a0 f i MAP.obj + 0002:00061820 ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ 005a5820 f i MAP.obj + 0002:000618e0 ?_Init@?$codecvt@DDU_Mbstatet@@@std@@IAEXABV_Locinfo@2@@Z 005a58e0 f i MAP.obj + 0002:00061920 ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z 005a5920 f i MAP.obj + 0002:000619a0 ?_Init@ios_base@std@@IAEXXZ 005a59a0 f i MAP.obj + 0002:00061ac0 ?_Initcvt@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXABV?$codecvt@DDU_Mbstatet@@@2@@Z 005a5ac0 f i MAP.obj + 0002:00061b50 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU32@@Z 005a5b50 f i MAP.obj + 0002:00061e50 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@QAU32@@Z 005a5e50 f i MAP.obj + 0002:00062150 ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 005a6150 f i MAP.obj + 0002:000624a0 ?_Lock@?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEXXZ 005a64a0 f i MAP.obj + 0002:00062510 ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEXXZ 005a6510 f i MAP.obj + 0002:00062550 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@@Z 005a6550 f i MAP.obj + 0002:00062640 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@@Z 005a6640 f i MAP.obj + 0002:00062730 ?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 005a6730 f i MAP.obj + 0002:00062880 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@PAU32@@Z 005a6880 f i MAP.obj + 0002:000628e0 ?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 005a68e0 f i MAP.obj + 0002:00062980 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@PAU32@@Z 005a6980 f i MAP.obj + 0002:000629d0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@PAU32@@Z 005a69d0 f i MAP.obj + 0002:00062a20 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@PAU32@@Z 005a6a20 f i MAP.obj + 0002:00062a70 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@@Z 005a6a70 f i MAP.obj + 0002:00062b80 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@@Z 005a6b80 f i MAP.obj + 0002:00062c90 ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 005a6c90 f i MAP.obj + 0002:00062df0 ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBE_JXZ 005a6df0 f i MAP.obj + 0002:00062e60 ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ 005a6e60 f i MAP.obj + 0002:00062ee0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@XZ 005a6ee0 f i MAP.obj + 0002:00062f90 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@XZ 005a6f90 f i MAP.obj + 0002:00063040 ?_Reset_back@?$basic_filebuf@DU?$char_traits@D@std@@@std@@AAEXXZ 005a7040 f i MAP.obj + 0002:000630c0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@@Z 005a70c0 f i MAP.obj + 0002:000631b0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@@Z 005a71b0 f i MAP.obj + 0002:000632a0 ?_Set_back@?$basic_filebuf@DU?$char_traits@D@std@@@std@@AAEXXZ 005a72a0 f i MAP.obj + 0002:00063350 ?_Swap_proxy_and_iterators@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@@Z 005a7350 f i MAP.obj + 0002:000633c0 ?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 005a73c0 f i MAP.obj + 0002:000634e0 ?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 005a74e0 f i MAP.obj + 0002:000635b0 ?_Tidy@?$_Yarn@D@std@@AAEXXZ 005a75b0 f i MAP.obj + 0002:00063620 ?_Tidy@?$_Yarn@_W@std@@AAEXXZ 005a7620 f i MAP.obj + 0002:00063690 ?_Tidy@?$ctype@D@std@@IAEXXZ 005a7690 f i MAP.obj + 0002:00063740 ?_Unlock@?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAEXXZ 005a7740 f i MAP.obj + 0002:000637b0 ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEXXZ 005a77b0 f i MAP.obj + 0002:000637f0 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 005a77f0 f i MAP.obj + 0002:00063860 ?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ 005a7860 f i MAP.obj + 0002:000638b0 ?__empty_global_delete@@YAXPAX@Z 005a78b0 f i MAP.obj + 0002:000638e0 ?__empty_global_delete@@YAXPAXI@Z 005a78e0 f i MAP.obj + 0002:000638e0 ?__global_delete@@YAXPAXI@Z 005a78e0 f i MAP.obj + 0002:00063910 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@I@Z 005a7910 f i MAP.obj + 0002:00063980 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@I@Z 005a7980 f i MAP.obj + 0002:000639f0 ?always_noconv@codecvt_base@std@@QBE_NXZ 005a79f0 f i MAP.obj + 0002:00063a50 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z 005a7a50 f i MAP.obj + 0002:00063ad0 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@QBD@Z 005a7ad0 f i MAP.obj + 0002:00063b50 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@QBDI@Z 005a7b50 f i MAP.obj + 0002:00063c60 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@QBD@Z 005a7c60 f i MAP.obj + 0002:00063ce0 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@QBDI@Z 005a7ce0 f i MAP.obj + 0002:00063dd0 ?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 005a7dd0 f i MAP.obj + 0002:00063e80 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 005a7e80 f i MAP.obj + 0002:00063f30 ?begin@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 005a7f30 f i MAP.obj + 0002:00063fe0 ?c_str@?$_Yarn@D@std@@QBEPBDXZ 005a7fe0 f i MAP.obj + 0002:00064050 ?c_str@locale@std@@QBEPBDXZ 005a8050 f i MAP.obj + 0002:000640d0 ?category@error_code@std@@QBEABVerror_category@2@XZ 005a80d0 f i MAP.obj + 0002:00064110 ?category@error_condition@std@@QBEABVerror_category@2@XZ 005a8110 f i MAP.obj + 0002:00064150 ?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 005a8150 f i MAP.obj + 0002:00064240 ?clear@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAEXXZ 005a8240 f i MAP.obj + 0002:00064330 ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z 005a8330 f i MAP.obj + 0002:000643c0 ?clear@ios_base@std@@QAEXH@Z 005a83c0 f i MAP.obj + 0002:00064420 ?clear@ios_base@std@@QAEXH_N@Z 005a8420 f i MAP.obj + 0002:00064520 ?close@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@XZ 005a8520 f i MAP.obj + 0002:000645e0 ?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ 005a85e0 f i MAP.obj + 0002:00064660 ?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 005a8660 f i MAP.obj + 0002:000646f0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@I@Z 005a86f0 f i MAP.obj + 0002:00064750 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@I@Z 005a8750 f i MAP.obj + 0002:000647b0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@I@Z 005a87b0 f i MAP.obj + 0002:00064810 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@I@Z 005a8810 f i MAP.obj + 0002:00064870 ?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z 005a8870 f i MAP.obj + 0002:000648d0 ?do_always_noconv@?$codecvt@DDU_Mbstatet@@@std@@MBE_NXZ 005a88d0 f i MAP.obj + 0002:00064910 ?do_always_noconv@codecvt_base@std@@MBE_NXZ 005a8910 f i MAP.obj + 0002:00064950 ?do_encoding@codecvt_base@std@@MBEHXZ 005a8950 f i MAP.obj + 0002:00064990 ?do_in@?$codecvt@DDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1AAPBDPAD3AAPAD@Z 005a8990 f i MAP.obj + 0002:000649f0 ?do_length@?$codecvt@DDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1I@Z 005a89f0 f i MAP.obj + 0002:00064ad0 ?do_max_length@codecvt_base@std@@MBEHXZ 005a8ad0 f i MAP.obj + 0002:00064b10 ?do_narrow@?$ctype@D@std@@MBEDDD@Z 005a8b10 f i MAP.obj + 0002:00064b50 ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z 005a8b50 f i MAP.obj + 0002:00064bd0 ?do_out@?$codecvt@DDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1AAPBDPAD3AAPAD@Z 005a8bd0 f i MAP.obj + 0002:00064c30 ?do_tolower@?$ctype@D@std@@MBEDD@Z 005a8c30 f i MAP.obj + 0002:00064c90 ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z 005a8c90 f i MAP.obj + 0002:00064d40 ?do_toupper@?$ctype@D@std@@MBEDD@Z 005a8d40 f i MAP.obj + 0002:00064da0 ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z 005a8da0 f i MAP.obj + 0002:00064e50 ?do_unshift@?$codecvt@DDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PAD1AAPAD@Z 005a8e50 f i MAP.obj + 0002:00064ea0 ?do_widen@?$ctype@D@std@@MBEDD@Z 005a8ea0 f i MAP.obj + 0002:00064ee0 ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z 005a8ee0 f i MAP.obj + 0002:00064f60 ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ 005a8f60 f i MAP.obj + 0002:00064fa0 ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ 005a8fa0 f i MAP.obj + 0002:00064ff0 ?empty@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QBE_NXZ 005a8ff0 f i MAP.obj + 0002:00065070 ?empty@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 005a9070 f i MAP.obj + 0002:000650f0 ?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 005a90f0 f i MAP.obj + 0002:000651a0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 005a91a0 f i MAP.obj + 0002:00065250 ?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 005a9250 f i MAP.obj + 0002:00065300 ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ 005a9300 f i MAP.obj + 0002:00065340 ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ 005a9340 f i MAP.obj + 0002:00065390 ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NABH0@Z 005a9390 f i MAP.obj + 0002:000653f0 ?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z 005a93f0 f i MAP.obj + 0002:00065490 ?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z 005a9490 f i MAP.obj + 0002:00065510 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z 005a9510 f i MAP.obj + 0002:000655f0 ?fail@ios_base@std@@QBE_NXZ 005a95f0 f i MAP.obj + 0002:00065660 ?find@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@ABI@Z 005a9660 f i MAP.obj + 0002:000656f0 ?find@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@ABI@Z 005a96f0 f i MAP.obj + 0002:00065780 ?flags@ios_base@std@@QBEHXZ 005a9780 f i MAP.obj + 0002:000657c0 ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 005a97c0 f i MAP.obj + 0002:00065910 ?front@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADXZ 005a9910 f i MAP.obj + 0002:000659f0 ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z 005a99f0 f i MAP.obj + 0002:00065a60 ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ 005a9a60 f i MAP.obj + 0002:00065ae0 ?getloc@ios_base@std@@QBE?AVlocale@2@XZ 005a9ae0 f i MAP.obj + 0002:00065b60 ?good@ios_base@std@@QBE_NXZ 005a9b60 f i MAP.obj + 0002:00065be0 ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ 005a9be0 f i MAP.obj + 0002:00065c20 ?imbue@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z 005a9c20 f i MAP.obj + 0002:00065c90 ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z 005a9c90 f i MAP.obj + 0002:00065cd0 ?in@?$codecvt@DDU_Mbstatet@@@std@@QBEHAAU_Mbstatet@@PBD1AAPBDPAD3AAPAD@Z 005a9cd0 f i MAP.obj + 0002:00065d60 ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z 005a9d60 f i MAP.obj + 0002:00065e10 ?iostream_category@std@@YAABVerror_category@1@XZ 005a9e10 f i MAP.obj + 0002:00065e90 ?is@?$ctype@D@std@@QBE_NFD@Z 005a9e90 f i MAP.obj + 0002:00065f10 ?isCleared@CRoomEvent@@QAE_NXZ 005a9f10 f i MAP.obj + 0002:00065f90 ?isInProgress@CRoomEvent@@QAE_NXZ 005a9f90 f i MAP.obj + 0002:00066010 ?isInitialised@CRoomEvent@@QAE_NXZ 005aa010 f i MAP.obj + 0002:00066090 ?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 005aa090 f i MAP.obj + 0002:000660e0 ?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z 005aa0e0 f i MAP.obj + 0002:00066140 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@@Z 005aa140 f i MAP.obj + 0002:00066180 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@@Z 005aa180 f i MAP.obj + 0002:000661c0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QBEIXZ 005aa1c0 f i MAP.obj + 0002:00066220 ?max_size@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QBEIXZ 005aa220 f i MAP.obj + 0002:00066280 ?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 005aa280 f i MAP.obj + 0002:00066310 ?message@_Iostream_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 005aa310 f i MAP.obj + 0002:000663d0 ?message@error_code@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 005aa3d0 f i MAP.obj + 0002:00066480 ?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 005aa480 f i MAP.obj + 0002:000664e0 ?name@_Generic_error_category@std@@UBEPBDXZ 005aa4e0 f i MAP.obj + 0002:00066520 ?name@_Iostream_error_category@std@@UBEPBDXZ 005aa520 f i MAP.obj + 0002:00066560 ?not_eof@?$_Narrow_char_traits@DH@std@@SAHABH@Z 005aa560 f i MAP.obj + 0002:00066600 ?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 005aa600 f i MAP.obj + 0002:00066730 ?out@?$codecvt@DDU_Mbstatet@@@std@@QBEHAAU_Mbstatet@@PBD1AAPBDPAD3AAPAD@Z 005aa730 f i MAP.obj + 0002:000667c0 ?overflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z 005aa7c0 f i MAP.obj + 0002:00066af0 ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z 005aaaf0 f i MAP.obj + 0002:00066b40 ?pbackfail@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHH@Z 005aab40 f i MAP.obj + 0002:00066d30 ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z 005aad30 f i MAP.obj + 0002:00066d80 ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z 005aad80 f i MAP.obj + 0002:00066df0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAH@std@@@std@@SAPAU?$pair@$$CBIPAH@2@AAU32@@Z 005aadf0 f i MAP.obj + 0002:00066e40 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@2@AAU32@@Z 005aae40 f i MAP.obj + 0002:00066e90 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@SAPAU?$pair@$$CBIPAVCRoomEvent@@@2@AAU32@@Z 005aae90 f i MAP.obj + 0002:00066ee0 ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ 005aaee0 f i MAP.obj + 0002:00066f20 ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@_JHH@Z 005aaf20 f i MAP.obj + 0002:00066fa0 ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ 005aafa0 f i MAP.obj + 0002:00067000 ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ 005ab000 f i MAP.obj + 0002:00067040 ?rdstate@ios_base@std@@QBEHXZ 005ab040 f i MAP.obj + 0002:00067080 ?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z 005ab080 f i MAP.obj + 0002:000672c0 ?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 005ab2c0 f i MAP.obj + 0002:00067360 ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ 005ab360 f i MAP.obj + 0002:00067420 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@_JH@Z 005ab420 f i MAP.obj + 0002:00067600 ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@U_Mbstatet@@@2@_JHH@Z 005ab600 f i MAP.obj + 0002:00067780 ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@U_Mbstatet@@@2@_JHH@Z 005ab780 f i MAP.obj + 0002:000677e0 ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@U_Mbstatet@@@2@V32@H@Z 005ab7e0 f i MAP.obj + 0002:00067920 ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@U_Mbstatet@@@2@V32@H@Z 005ab920 f i MAP.obj + 0002:00067980 ?setbuf@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAD_J@Z 005ab980 f i MAP.obj + 0002:00067a50 ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PAD_J@Z 005aba50 f i MAP.obj + 0002:00067a90 ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z 005aba90 f i MAP.obj + 0002:00067b00 ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z 005abb00 f i MAP.obj + 0002:00067b70 ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z 005abb70 f i MAP.obj + 0002:00067be0 ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ 005abbe0 f i MAP.obj + 0002:00067ca0 ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPAD_J@Z 005abca0 f i MAP.obj + 0002:00067d20 ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JXZ 005abd20 f i MAP.obj + 0002:00067d60 ?size@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QBEIXZ 005abd60 f i MAP.obj + 0002:00067dc0 ?size@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QBEIXZ 005abdc0 f i MAP.obj + 0002:00067e20 ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ 005abe20 f i MAP.obj + 0002:00067f40 ?state@?$fpos@U_Mbstatet@@@std@@QBE?AU_Mbstatet@@XZ 005abf40 f i MAP.obj + 0002:00067f90 ?sync@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005abf90 f i MAP.obj + 0002:00068080 ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005ac080 f i MAP.obj + 0002:000680c0 ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ 005ac0c0 f i MAP.obj + 0002:00068230 ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ 005ac230 f i MAP.obj + 0002:00068270 ?to_char_type@?$_Narrow_char_traits@DH@std@@SADABH@Z 005ac270 f i MAP.obj + 0002:000682b0 ?to_int_type@?$_Narrow_char_traits@DH@std@@SAHABD@Z 005ac2b0 f i MAP.obj + 0002:000682f0 ?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005ac2f0 f i MAP.obj + 0002:00068700 ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005ac700 f i MAP.obj + 0002:000687d0 ?underflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005ac7d0 f i MAP.obj + 0002:00068910 ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ 005ac910 f i MAP.obj + 0002:00068960 ?unshift@?$codecvt@DDU_Mbstatet@@@std@@QBEHAAU_Mbstatet@@PAD1AAPAD@Z 005ac960 f i MAP.obj + 0002:000689e0 ?value@error_code@std@@QBEHXZ 005ac9e0 f i MAP.obj + 0002:00068a20 ?value@error_condition@std@@QBEHXZ 005aca20 f i MAP.obj + 0002:00068a60 ?what@exception@std@@UBEPBDXZ 005aca60 f i MAP.obj + 0002:00068ad0 ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 005acad0 f i MAP.obj + 0002:00068bd0 ?widen@?$ctype@D@std@@QBEDD@Z 005acbd0 f i MAP.obj + 0002:00068c40 ?xsgetn@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE_JPAD_J@Z 005acc40 f i MAP.obj + 0002:00068e80 ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPAD_J@Z 005ace80 f i MAP.obj + 0002:00069070 ?xsputn@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE_JPBD_J@Z 005ad070 f i MAP.obj + 0002:00069200 ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPBD_J@Z 005ad200 f i MAP.obj + 0002:000693b0 ??$?0$$V@?$_Compressed_pair@V?$allocator@I@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005ad3b0 f i Npc.obj + 0002:00069410 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005ad410 f i Npc.obj + 0002:00069470 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005ad470 f i Npc.obj + 0002:000694d0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QA_N@Z 005ad4d0 f i Npc.obj + 0002:00069550 ??$?0AAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QA_N@Z 005ad550 f i Npc.obj + 0002:000695d0 ??$?0AAPAVCUser@@AAH$0A@@?$pair@PAVCUser@@H@std@@QAE@AAPAVCUser@@AAH@Z 005ad5d0 f i Npc.obj + 0002:00069650 ??$?0ABQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QA_N@Z 005ad650 f i Npc.obj + 0002:000696d0 ??$?0ABQAVCUser@@$$Z$$V@?$pair@QAVCUser@@H@std@@QAE@Upiecewise_construct_t@1@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@Z 005ad6d0 f i Npc.obj + 0002:00069750 ??$?0ABQAVCUser@@$0A@@?$tuple@ABQAVCUser@@@std@@QAE@ABQAVCUser@@@Z 005ad750 f i Npc.obj + 0002:00069800 ??$?0ABQAVCUser@@@?$_Tuple_val@ABQAVCUser@@@std@@QAE@ABQAVCUser@@@Z 005ad800 f i Npc.obj + 0002:00069860 ??$?0ABU?$less@G@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@G@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005ad860 f i Npc.obj + 0002:000698e0 ??$?0ABU?$less@PAVCUser@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@PAVCUser@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@PAVCUser@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005ad8e0 f i Npc.obj + 0002:00069960 ??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z 005ad960 f i Npc.obj + 0002:00069b00 ??$?0GAAPAVCUser@@$0A@@?$pair@GPAVCUser@@@std@@QAE@$$QAGAAPAVCUser@@@Z 005adb00 f i Npc.obj + 0002:00069b80 ??$?0GPAVCUser@@$0A@@?$pair@$$CBGPAVCUser@@@std@@QAE@$$QAU?$pair@GPAVCUser@@@1@@Z 005adb80 f i Npc.obj + 0002:00069c10 ??$?0I@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@I@1@@Z 005adc10 f i Npc.obj + 0002:00069c50 ??$?0PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QA_N@Z 005adc50 f i Npc.obj + 0002:00069cd0 ??$?0PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QA_N@Z 005adcd0 f i Npc.obj + 0002:00069d50 ??$?0PAVCUser@@H$0A@@?$pair@QAVCUser@@H@std@@QAE@$$QAU?$pair@PAVCUser@@H@1@@Z 005add50 f i Npc.obj + 0002:00069dd0 ??$?0U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 005addd0 f i Npc.obj + 0002:00069e10 ??$?0U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 005ade10 f i Npc.obj + 0002:00069e50 ??$?0U?$pair@GPAVCUser@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QAU?$pair@GPAVCUser@@@1@@Z 005ade50 f i Npc.obj + 0002:00069fd0 ??$?0U?$pair@PAVCUser@@H@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QAU?$pair@PAVCUser@@H@1@@Z 005adfd0 f i Npc.obj + 0002:0006a150 ??$?0U_Exact_args_t@std@@ABQAVCUser@@$$V$0A@@?$tuple@ABQAVCUser@@@std@@QAE@U_Exact_args_t@1@ABQAVCUser@@@Z 005ae150 f i Npc.obj + 0002:0006a1e0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@AB_N@Z 005ae1e0 f i Npc.obj + 0002:0006a260 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@1@AB_N@Z 005ae260 f i Npc.obj + 0002:0006a2e0 ??$?0V?$tuple@ABQAVCUser@@@std@@V?$tuple@$$V@1@$0A@$$Z$S@?$pair@QAVCUser@@H@std@@QAE@AAV?$tuple@ABQAVCUser@@@1@AAV?$tuple@$$V@1@U?$integer_sequence@I$0A@@1@U?$integer_sequence@I$S@1@@Z 005ae2e0 f i Npc.obj + 0002:0006a360 ??$_Atomic_address_as@$$CBF$$CBU?$_Atomic_padded@G@std@@@std@@YAPDFABU?$_Atomic_padded@G@0@@Z 005ae360 f i Npc.obj + 0002:0006a3a0 ??$_Atomic_address_as@FU?$_Atomic_padded@G@std@@@std@@YAPCFAAU?$_Atomic_padded@G@0@@Z 005ae3a0 f i Npc.obj + 0002:0006a3e0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 005ae3e0 f i Npc.obj + 0002:0006a500 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 005ae500 f i Npc.obj + 0002:0006a620 ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z 005ae620 f i Npc.obj + 0002:0006a6a0 ??$_Debug_lt_pred@ABU?$less@G@std@@ABGABG$0A@@std@@YA_NABU?$less@G@0@ABG1@Z 005ae6a0 f i Npc.obj + 0002:0006a790 ??$_Debug_lt_pred@ABU?$less@PAVCUser@@@std@@ABQAVCUser@@ABQAV3@$0A@@std@@YA_NABU?$less@PAVCUser@@@0@ABQAVCUser@@1@Z 005ae790 f i Npc.obj + 0002:0006a880 ??$_Destroy_range@V?$allocator@I@std@@@std@@YAXPAIQAIAAV?$allocator@I@0@@Z 005ae880 f i Npc.obj + 0002:0006a8b0 ??$_Emplace@U?$pair@GPAVCUser@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N@1@$$QAU?$pair@GPAVCUser@@@1@@Z 005ae8b0 f i Npc.obj + 0002:0006aa70 ??$_Emplace@U?$pair@PAVCUser@@H@std@@@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N@1@$$QAU?$pair@PAVCUser@@H@1@@Z 005aea70 f i Npc.obj + 0002:0006ac30 ??$_Emplace_back_with_unused_capacity@ABI@?$vector@IV?$allocator@I@std@@@std@@AAE@ABI@Z 005aec30 f i Npc.obj + 0002:0006ad00 ??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 005aed00 f i Npc.obj + 0002:0006afc0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 005aefc0 f i Npc.obj + 0002:0006b050 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 005af050 f i Npc.obj + 0002:0006b0e0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 005af0e0 f i Npc.obj + 0002:0006b1b0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@@Z 005af1b0 f i Npc.obj + 0002:0006b280 ??$_Find@G@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABG@Z 005af280 f i Npc.obj + 0002:0006b350 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@ABI@Z 005af350 f i Npc.obj + 0002:0006b420 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@ABI@Z 005af420 f i Npc.obj + 0002:0006b4f0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@ABI@Z 005af4f0 f i Npc.obj + 0002:0006b5c0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@ABI@Z 005af5c0 f i Npc.obj + 0002:0006b690 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@ABI@Z 005af690 f i Npc.obj + 0002:0006b760 ??$_Find@PAVCUser@@@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABQAVCUser@@@Z 005af760 f i Npc.obj + 0002:0006b830 ??$_Find_lower_bound@G@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@ABG@Z 005af830 f i Npc.obj + 0002:0006b990 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@ABI@Z 005af990 f i Npc.obj + 0002:0006baf0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@ABI@Z 005afaf0 f i Npc.obj + 0002:0006bc50 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@ABI@Z 005afc50 f i Npc.obj + 0002:0006bdb0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@ABI@Z 005afdb0 f i Npc.obj + 0002:0006bf10 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@ABI@Z 005aff10 f i Npc.obj + 0002:0006c070 ??$_Find_lower_bound@PAVCUser@@@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@ABQAVCUser@@@Z 005b0070 f i Npc.obj + 0002:0006c1d0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 005b01d0 f i Npc.obj + 0002:0006c2c0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 005b02c0 f i Npc.obj + 0002:0006c3b0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 005b03b0 f i Npc.obj + 0002:0006c460 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 005b0460 f i Npc.obj + 0002:0006c510 ??$_Get_size_of_n@$03@std@@YAII@Z 005b0510 f i Npc.obj + 0002:0006c570 ??$_Get_unwrapped@I@std@@YAPAIQAI@Z 005b0570 f i Npc.obj + 0002:0006c5b0 ??$_Kfn@$$CBGPAVCUser@@@?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@SAABGABU?$pair@$$CBGPAVCUser@@@1@@Z 005b05b0 f i Npc.obj + 0002:0006c5f0 ??$_Kfn@$$CBIPAU_K_MONSTER_ITEM@@@?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@@Z 005b05f0 f i Npc.obj + 0002:0006c630 ??$_Kfn@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005b0630 f i Npc.obj + 0002:0006c670 ??$_Kfn@$$CBIPAU_MAKE_ITEM_GROUP@@@?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@@Z 005b0670 f i Npc.obj + 0002:0006c6b0 ??$_Kfn@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005b06b0 f i Npc.obj + 0002:0006c6f0 ??$_Kfn@$$CBIPAU_MAKE_WEAPON@@@?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@@Z 005b06f0 f i Npc.obj + 0002:0006c730 ??$_Kfn@QAVCUser@@H@?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@SAABQAVCUser@@ABU?$pair@QAVCUser@@H@1@@Z 005b0730 f i Npc.obj + 0002:0006c770 ??$_Lower_bound_duplicate@G@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABG@Z 005b0770 f i Npc.obj + 0002:0006c820 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@ABI@Z 005b0820 f i Npc.obj + 0002:0006c8d0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@ABI@Z 005b08d0 f i Npc.obj + 0002:0006c980 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@ABI@Z 005b0980 f i Npc.obj + 0002:0006ca30 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@ABI@Z 005b0a30 f i Npc.obj + 0002:0006cae0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@ABI@Z 005b0ae0 f i Npc.obj + 0002:0006cb90 ??$_Lower_bound_duplicate@PAVCUser@@@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABQAVCUser@@@Z 005b0b90 f i Npc.obj + 0002:0006cc40 ??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 005b0c40 f i Npc.obj + 0002:0006cc70 ??$_Try_emplace@ABQAVCUser@@$$V@?$map@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@@std@@AAE?AU?$pair@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@_N@1@ABQAVCUser@@@Z 005b0c70 f i Npc.obj + 0002:0006ce30 ??$_Unfancy@I@std@@YAPAIPAI@Z 005b0e30 f i Npc.obj + 0002:0006ce70 ??$_Uninitialized_move@PAIV?$allocator@I@std@@@std@@YAPAIQAI0PAIAAV?$allocator@I@0@@Z 005b0e70 f i Npc.obj + 0002:0006cf10 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@0@ABV10@@Z 005b0f10 f i Npc.obj + 0002:0006cf50 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@0@ABV10@@Z 005b0f50 f i Npc.obj + 0002:0006cf90 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@0@ABV10@@Z 005b0f90 f i Npc.obj + 0002:0006cfd0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@0@ABV10@@Z 005b0fd0 f i Npc.obj + 0002:0006d010 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@0@ABV10@@Z 005b1010 f i Npc.obj + 0002:0006d050 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@0@ABV10@@Z 005b1050 f i Npc.obj + 0002:0006d090 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@0@ABV10@@Z 005b1090 f i Npc.obj + 0002:0006d0d0 ??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 005b10d0 f i Npc.obj + 0002:0006d110 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@AAPAU10@@Z 005b1110 f i Npc.obj + 0002:0006d150 ??$addressof@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@AAPAU10@@Z 005b1150 f i Npc.obj + 0002:0006d190 ??$addressof@U?$pair@$$CBGPAVCUser@@@std@@@std@@YAPAU?$pair@$$CBGPAVCUser@@@0@AAU10@@Z 005b1190 f i Npc.obj + 0002:0006d1d0 ??$addressof@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@YAPAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@0@AAU10@@Z 005b11d0 f i Npc.obj + 0002:0006d210 ??$addressof@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@0@AAU10@@Z 005b1210 f i Npc.obj + 0002:0006d250 ??$addressof@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@0@AAU10@@Z 005b1250 f i Npc.obj + 0002:0006d290 ??$addressof@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@0@AAU10@@Z 005b1290 f i Npc.obj + 0002:0006d2d0 ??$addressof@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@YAPAU?$pair@$$CBIPAU_MAKE_WEAPON@@@0@AAU10@@Z 005b12d0 f i Npc.obj + 0002:0006d310 ??$addressof@U?$pair@QAVCUser@@H@std@@@std@@YAPAU?$pair@QAVCUser@@H@0@AAU10@@Z 005b1310 f i Npc.obj + 0002:0006d350 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@0@AAV10@@Z 005b1350 f i Npc.obj + 0002:0006d390 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@0@AAV10@@Z 005b1390 f i Npc.obj + 0002:0006d3d0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@0@AAV10@@Z 005b13d0 f i Npc.obj + 0002:0006d410 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@0@AAV10@@Z 005b1410 f i Npc.obj + 0002:0006d450 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@0@AAV10@@Z 005b1450 f i Npc.obj + 0002:0006d490 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@0@AAV10@@Z 005b1490 f i Npc.obj + 0002:0006d4d0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@0@AAV10@@Z 005b14d0 f i Npc.obj + 0002:0006d510 ??$append@D@ByteBuffer@@QAEXD@Z 005b1510 f i Npc.obj + 0002:0006d570 ??$append@H@ByteBuffer@@QAEXH@Z 005b1570 f i Npc.obj + 0002:0006d5d0 ??$append@I@ByteBuffer@@QAEXI@Z 005b15d0 f i Npc.obj + 0002:0006d630 ??$append@M@ByteBuffer@@QAEXM@Z 005b1630 f i Npc.obj + 0002:0006d690 ??$append@_K@ByteBuffer@@QAEX_K@Z 005b1690 f i Npc.obj + 0002:0006d6f0 ??$construct@IABI@?$_Default_allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@QAIABI@Z 005b16f0 f i Npc.obj + 0002:0006d770 ??$construct@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@AAPAU31@@Z 005b1770 f i Npc.obj + 0002:0006d7f0 ??$construct@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@AAPAU31@@Z 005b17f0 f i Npc.obj + 0002:0006d870 ??$construct@U?$pair@$$CBGPAVCUser@@@std@@U?$pair@GPAVCUser@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVCUser@@@1@$$QAU?$pair@GPAVCUser@@@1@@Z 005b1870 f i Npc.obj + 0002:0006d8f0 ??$construct@U?$pair@QAVCUser@@H@std@@ABUpiecewise_construct_t@2@V?$tuple@ABQAVCUser@@@2@V?$tuple@$$V@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@QAU?$pair@QAVCUser@@H@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z 005b18f0 f i Npc.obj + 0002:0006d9b0 ??$construct@U?$pair@QAVCUser@@H@std@@U?$pair@PAVCUser@@H@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@QAU?$pair@QAVCUser@@H@1@$$QAU?$pair@PAVCUser@@H@1@@Z 005b19b0 f i Npc.obj + 0002:0006da30 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 005b1a30 f i Npc.obj + 0002:0006da60 ??$destroy@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@@Z 005b1a60 f i Npc.obj + 0002:0006da90 ??$destroy@U?$pair@$$CBGPAVCUser@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVCUser@@@1@@Z 005b1a90 f i Npc.obj + 0002:0006dac0 ??$destroy@U?$pair@QAVCUser@@H@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@QAU?$pair@QAVCUser@@H@1@@Z 005b1ac0 f i Npc.obj + 0002:0006daf0 ??$emplace@U?$pair@GPAVCUser@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVCUser@@@1@@Z 005b1af0 f i Npc.obj + 0002:0006dc00 ??$emplace@U?$pair@PAVCUser@@H@std@@@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@PAVCUser@@H@1@@Z 005b1c00 f i Npc.obj + 0002:0006dd10 ??$emplace_back@ABI@?$vector@IV?$allocator@I@std@@@std@@QAE@ABI@Z 005b1d10 f i Npc.obj + 0002:0006ddc0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005b1dc0 f i Npc.obj + 0002:0006de10 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@AAPAU10@0@Z 005b1e10 f i Npc.obj + 0002:0006de60 ??$exchange@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@AAPAU10@$$QA$$T@Z 005b1e60 f i Npc.obj + 0002:0006deb0 ??$exchange@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@AAPAU10@0@Z 005b1eb0 f i Npc.obj + 0002:0006df00 ??$forward@AAH@std@@YAAAHAAH@Z 005b1f00 f i Npc.obj + 0002:0006df40 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@AAPAU10@@Z 005b1f40 f i Npc.obj + 0002:0006df80 ??$forward@AAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@AAPAU10@@Z 005b1f80 f i Npc.obj + 0002:0006dfc0 ??$forward@AAPAVCUser@@@std@@YAAAPAVCUser@@AAPAV1@@Z 005b1fc0 f i Npc.obj + 0002:0006e000 ??$forward@ABI@std@@YAABIABI@Z 005b2000 f i Npc.obj + 0002:0006e040 ??$forward@ABQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@ABQAU10@@Z 005b2040 f i Npc.obj + 0002:0006e080 ??$forward@ABQAVCUser@@@std@@YAABQAVCUser@@ABQAV1@@Z 005b2080 f i Npc.obj + 0002:0006e0c0 ??$forward@ABU?$less@G@std@@@std@@YAABU?$less@G@0@ABU10@@Z 005b20c0 f i Npc.obj + 0002:0006e100 ??$forward@ABU?$less@PAVCUser@@@std@@@std@@YAABU?$less@PAVCUser@@@0@ABU10@@Z 005b2100 f i Npc.obj + 0002:0006e140 ??$forward@G@std@@YA$$QAGAAG@Z 005b2140 f i Npc.obj + 0002:0006e180 ??$forward@H@std@@YA$$QAHAAH@Z 005b2180 f i Npc.obj + 0002:0006e1c0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@AAPAU10@@Z 005b21c0 f i Npc.obj + 0002:0006e200 ??$forward@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@0@AAPAU10@@Z 005b2200 f i Npc.obj + 0002:0006e240 ??$forward@PAVCUser@@@std@@YA$$QAPAVCUser@@AAPAV1@@Z 005b2240 f i Npc.obj + 0002:0006e280 ??$forward@U?$pair@GPAVCUser@@@std@@@std@@YA$$QAU?$pair@GPAVCUser@@@0@AAU10@@Z 005b2280 f i Npc.obj + 0002:0006e2c0 ??$forward@U?$pair@PAVCUser@@H@std@@@std@@YA$$QAU?$pair@PAVCUser@@H@0@AAU10@@Z 005b22c0 f i Npc.obj + 0002:0006e300 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@0@AAV10@@Z 005b2300 f i Npc.obj + 0002:0006e340 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@0@AAV10@@Z 005b2340 f i Npc.obj + 0002:0006e380 ??$forward@V?$tuple@ABQAVCUser@@@std@@@std@@YA$$QAV?$tuple@ABQAVCUser@@@0@AAV10@@Z 005b2380 f i Npc.obj + 0002:0006e3c0 ??$forward_as_tuple@ABQAVCUser@@@std@@YA?AV?$tuple@ABQAVCUser@@@0@ABQAVCUser@@@Z 005b23c0 f i Npc.obj + 0002:0006e420 ??$get@$0A@ABQAVCUser@@@std@@YAABQAVCUser@@$$QAV?$tuple@ABQAVCUser@@@0@@Z 005b2420 f i Npc.obj + 0002:0006e470 ??$insert@U?$pair@GPAVCUser@@@std@@X@?$map@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVCUser@@@1@@Z 005b2470 f i Npc.obj + 0002:0006e500 ??$insert@U?$pair@PAVCUser@@H@std@@X@?$map@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@PAVCUser@@H@1@@Z 005b2500 f i Npc.obj + 0002:0006e590 ??$make_pair@AAPAVCUser@@AAH@std@@YA?AU?$pair@PAVCUser@@H@0@AAPAVCUser@@AAH@Z 005b2590 f i Npc.obj + 0002:0006e600 ??$make_pair@GAAPAVCUser@@@std@@YA?AU?$pair@GPAVCUser@@@0@$$QAGAAPAVCUser@@@Z 005b2600 f i Npc.obj + 0002:0006e670 ??$move@AAV?$tuple@ABQAVCUser@@@std@@@std@@YA$$QAV?$tuple@ABQAVCUser@@@0@AAV10@@Z 005b2670 f i Npc.obj + 0002:0006e6b0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 005b26b0 f i Npc.obj + 0002:0006e710 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 005b2710 f i Npc.obj + 0002:0006e770 ??0?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@G@1@@Z 005b2770 f i Npc.obj + 0002:0006e7f0 ??0?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@PAVCUser@@@1@@Z 005b27f0 f i Npc.obj + 0002:0006e870 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005b2870 f i Npc.obj + 0002:0006e8d0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@1@@Z 005b28d0 f i Npc.obj + 0002:0006e930 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@1@@Z 005b2930 f i Npc.obj + 0002:0006e990 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@1@@Z 005b2990 f i Npc.obj + 0002:0006e9f0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@1@@Z 005b29f0 f i Npc.obj + 0002:0006ea50 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@1@@Z 005b2a50 f i Npc.obj + 0002:0006eab0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@1@@Z 005b2ab0 f i Npc.obj + 0002:0006eb10 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005b2b10 f i Npc.obj + 0002:0006eb70 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005b2b70 f i Npc.obj + 0002:0006ebd0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@1@@Z 005b2bd0 f i Npc.obj + 0002:0006ec30 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005b2c30 f i Npc.obj + 0002:0006ec90 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@1@@Z 005b2c90 f i Npc.obj + 0002:0006ecf0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@1@@Z 005b2cf0 f i Npc.obj + 0002:0006ed50 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@1@@Z 005b2d50 f i Npc.obj + 0002:0006edb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@1@@Z 005b2db0 f i Npc.obj + 0002:0006ee10 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@1@@Z 005b2e10 f i Npc.obj + 0002:0006ee70 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@1@@Z 005b2e70 f i Npc.obj + 0002:0006eed0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005b2ed0 f i Npc.obj + 0002:0006ef30 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005b2f30 f i Npc.obj + 0002:0006ef90 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@1@@Z 005b2f90 f i Npc.obj + 0002:0006eff0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 005b2ff0 f i Npc.obj + 0002:0006f0a0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 005b30a0 f i Npc.obj + 0002:0006f150 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005b3150 f i Npc.obj + 0002:0006f1c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@1@@Z 005b31c0 f i Npc.obj + 0002:0006f230 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@1@@Z 005b3230 f i Npc.obj + 0002:0006f2a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@1@@Z 005b32a0 f i Npc.obj + 0002:0006f310 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@1@@Z 005b3310 f i Npc.obj + 0002:0006f380 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@1@@Z 005b3380 f i Npc.obj + 0002:0006f3f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@1@@Z 005b33f0 f i Npc.obj + 0002:0006f460 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005b3460 f i Npc.obj + 0002:0006f4d0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005b34d0 f i Npc.obj + 0002:0006f540 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@1@@Z 005b3540 f i Npc.obj + 0002:0006f5b0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAE@XZ 005b35b0 f i Npc.obj + 0002:0006f620 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAE@XZ 005b3620 f i Npc.obj + 0002:0006f690 ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ 005b3690 f i Npc.obj + 0002:0006f710 ??0?$allocator@I@std@@QAE@XZ 005b3710 f i Npc.obj + 0002:0006f750 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@QAE@XZ 005b3750 f i Npc.obj + 0002:0006f790 ??0?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@QAE@XZ 005b3790 f i Npc.obj + 0002:0006f7d0 ??0?$map@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@@std@@QAE@XZ 005b37d0 f i Npc.obj + 0002:0006f830 ??0?$map@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@@std@@QAE@XZ 005b3830 f i Npc.obj + 0002:0006f890 ??0?$tuple@ABQAVCUser@@@std@@QAE@$$QAV01@@Z 005b3890 f i Npc.obj + 0002:0006f900 ??0?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 005b3900 f i Npc.obj + 0002:0006f9c0 ??0CNpc@@QAE@XZ 005b39c0 f Npc.obj + 0002:0006feb0 ??0CPoint@@QAE@XZ 005b3eb0 f i Npc.obj + 0002:0006fef0 ??0__Matrix44@@QAE@XZ 005b3ef0 f i Npc.obj + 0002:0006ff30 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 005b3f30 f i Npc.obj + 0002:0006ffd0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 005b3fd0 f i Npc.obj + 0002:00070070 ??1?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE@XZ 005b4070 f i Npc.obj + 0002:00070150 ??1?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE@XZ 005b4150 f i Npc.obj + 0002:00070230 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@XZ 005b4230 f i Npc.obj + 0002:00070280 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@XZ 005b4280 f i Npc.obj + 0002:000702d0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@XZ 005b42d0 f i Npc.obj + 0002:00070320 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@XZ 005b4320 f i Npc.obj + 0002:00070370 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@XZ 005b4370 f i Npc.obj + 0002:000703c0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@XZ 005b43c0 f i Npc.obj + 0002:00070410 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@XZ 005b4410 f i Npc.obj + 0002:00070460 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@XZ 005b4460 f i Npc.obj + 0002:000704b0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@XZ 005b44b0 f i Npc.obj + 0002:00070500 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@XZ 005b4500 f i Npc.obj + 0002:00070550 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@XZ 005b4550 f i Npc.obj + 0002:000705a0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@XZ 005b45a0 f i Npc.obj + 0002:000705f0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@XZ 005b45f0 f i Npc.obj + 0002:00070640 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE@XZ 005b4640 f i Npc.obj + 0002:00070690 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 005b4690 f i Npc.obj + 0002:000707d0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 005b47d0 f i Npc.obj + 0002:00070910 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 005b4910 f i Npc.obj + 0002:00070960 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 005b4960 f i Npc.obj + 0002:000709b0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b49b0 f i Npc.obj + 0002:00070a00 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4a00 f i Npc.obj + 0002:00070a50 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4a50 f i Npc.obj + 0002:00070aa0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4aa0 f i Npc.obj + 0002:00070af0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4af0 f i Npc.obj + 0002:00070b40 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4b40 f i Npc.obj + 0002:00070b90 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005b4b90 f i Npc.obj + 0002:00070be0 ??1?$map@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@@std@@QAE@XZ 005b4be0 f i Npc.obj + 0002:00070c30 ??1?$map@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@@std@@QAE@XZ 005b4c30 f i Npc.obj + 0002:00070c80 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 005b4c80 f i Npc.obj + 0002:00070cd0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 005b4cd0 f i Npc.obj + 0002:00070d20 ??1?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 005b4d20 f i Npc.obj + 0002:00070e30 ??1CNpc@@UAE@XZ 005b4e30 f Npc.obj + 0002:00070f20 ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z 005b4f20 f i Npc.obj + 0002:00070fb0 ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@QBD@Z 005b4fb0 f i Npc.obj + 0002:00071010 ??4__Vector3@@QAEABU0@ABU0@@Z 005b5010 f i Npc.obj + 0002:00071080 ??6ByteBuffer@@QAEAAV0@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 005b5080 f i Npc.obj + 0002:000710e0 ??6ByteBuffer@@QAEAAV0@H@Z 005b50e0 f i Npc.obj + 0002:00071140 ??6ByteBuffer@@QAEAAV0@I@Z 005b5140 f i Npc.obj + 0002:000711a0 ??6ByteBuffer@@QAEAAV0@M@Z 005b51a0 f i Npc.obj + 0002:00071210 ??6ByteBuffer@@QAEAAV0@PBD@Z 005b5210 f i Npc.obj + 0002:000712f0 ??6ByteBuffer@@QAEAAV0@_K@Z 005b52f0 f i Npc.obj + 0002:00071350 ??6ByteBuffer@@QAEAAV0@_N@Z 005b5350 f i Npc.obj + 0002:000713b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b53b0 f i Npc.obj + 0002:000714b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b54b0 f i Npc.obj + 0002:000715b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b55b0 f i Npc.obj + 0002:000716b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b56b0 f i Npc.obj + 0002:000717b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b57b0 f i Npc.obj + 0002:000718b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b58b0 f i Npc.obj + 0002:000719b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b59b0 f i Npc.obj + 0002:00071ab0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5ab0 f i Npc.obj + 0002:00071b40 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5b40 f i Npc.obj + 0002:00071bd0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5bd0 f i Npc.obj + 0002:00071c60 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5c60 f i Npc.obj + 0002:00071cf0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5cf0 f i Npc.obj + 0002:00071d80 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005b5d80 f i Npc.obj + 0002:00071e10 ??A?$map@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@@std@@QAEAAHABQAVCUser@@@Z 005b5e10 f i Npc.obj + 0002:00071e80 ??A?$vector@IV?$allocator@I@std@@@std@@QAEAAII@Z 005b5e80 f i Npc.obj + 0002:00071f60 ??B?$Atomic@G@@QAEGXZ 005b5f60 f i Npc.obj + 0002:00071fb0 ??B?$atomic@G@std@@QBEGXZ 005b5fb0 f i Npc.obj + 0002:00072000 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBGPAVCUser@@@1@XZ 005b6000 f i Npc.obj + 0002:00072060 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@XZ 005b6060 f i Npc.obj + 0002:000720c0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@XZ 005b60c0 f i Npc.obj + 0002:00072120 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@XZ 005b6120 f i Npc.obj + 0002:00072180 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@XZ 005b6180 f i Npc.obj + 0002:000721e0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@XZ 005b61e0 f i Npc.obj + 0002:00072240 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QBEPAU?$pair@QAVCUser@@H@1@XZ 005b6240 f i Npc.obj + 0002:000722a0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBGPAVCUser@@@1@XZ 005b62a0 f i Npc.obj + 0002:000723e0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@XZ 005b63e0 f i Npc.obj + 0002:00072520 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@XZ 005b6520 f i Npc.obj + 0002:00072660 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@XZ 005b6660 f i Npc.obj + 0002:000727a0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@XZ 005b67a0 f i Npc.obj + 0002:000728e0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@XZ 005b68e0 f i Npc.obj + 0002:00072a20 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QBEABU?$pair@QAVCUser@@H@1@XZ 005b6a20 f i Npc.obj + 0002:00072b60 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBGPAVCUser@@@1@XZ 005b6b60 f i Npc.obj + 0002:00072bb0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@XZ 005b6bb0 f i Npc.obj + 0002:00072c00 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@XZ 005b6c00 f i Npc.obj + 0002:00072c50 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@XZ 005b6c50 f i Npc.obj + 0002:00072ca0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@XZ 005b6ca0 f i Npc.obj + 0002:00072cf0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@XZ 005b6cf0 f i Npc.obj + 0002:00072d40 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QBEAAU?$pair@QAVCUser@@H@1@XZ 005b6d40 f i Npc.obj + 0002:00072d90 ??E?$_Atomic_integral@G$01@std@@QAEGXZ 005b6d90 f i Npc.obj + 0002:00072e00 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAEAAV01@XZ 005b6e00 f i Npc.obj + 0002:00072f40 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE?AV01@H@Z 005b6f40 f i Npc.obj + 0002:00073060 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 005b7060 f i Npc.obj + 0002:00073130 ??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 005b7130 f i Npc.obj + 0002:000732a0 ??R?$less@G@std@@QBE_NABG0@Z 005b72a0 f i Npc.obj + 0002:00073310 ??R?$less@PAVCUser@@@std@@QBE_NABQAVCUser@@0@Z 005b7310 f i Npc.obj + 0002:00073380 ??X__Vector3@@QAEXABU_D3DMATRIX@@@Z 005b7380 f i Npc.obj + 0002:000735c0 ??X__Vector3@@QAEXM@Z 005b75c0 f i Npc.obj + 0002:00073650 ??Y__Vector3@@QAEXABU_D3DVECTOR@@@Z 005b7650 f i Npc.obj + 0002:000736e0 ??_ECNpc@@UAEPAXI@Z 005b76e0 f i Npc.obj + 0002:000736e0 ??_GCNpc@@UAEPAXI@Z 005b76e0 f i Npc.obj + 0002:00073760 ?AddToRegion@CNpc@@UAEXFF@Z 005b7760 f i Npc.obj + 0002:000737a0 ?Attack@CNpc@@QAE_JXZ 005b77a0 f Npc.obj + 0002:000745f0 ?CalcAdaptivePosition@CNpc@@QAEXAAU__Vector3@@0MPAU2@@Z 005b85f0 f Npc.obj + 0002:000746b0 ?ChangeAbility@CNpc@@QAEXH@Z 005b86b0 f Npc.obj + 0002:00074a00 ?ChangeNTarget@CNpc@@QAEXPAV1@@Z 005b8a00 f Npc.obj + 0002:00074ec0 ?ChangeTarget@CNpc@@QAEXHPAVCUser@@@Z 005b8ec0 f Npc.obj + 0002:00075590 ?ChaosCubeControl@CNpc@@QAEXXZ 005b9590 f Npc.obj + 0002:00075760 ?CheckFindEnemy@CNpc@@QAE_NXZ 005b9760 f Npc.obj + 0002:00075820 ?ClearPathFindData@CNpc@@IAEXXZ 005b9820 f Npc.obj + 0002:00075940 ?ComputeDestPos@CNpc@@QAEXAAU__Vector3@@MMPAU2@@Z 005b9940 f Npc.obj + 0002:00075a70 ?Dead@CNpc@@QAEXPAVUnit@@_N@Z 005b9a70 f Npc.obj + 0002:00075c50 ?FillNpcInfo@CNpc@@QAEXAAVPacket@@@Z 005b9c50 f Npc.obj + 0002:00076080 ?FindEnemy@CNpc@@QAE_NXZ 005ba080 f Npc.obj + 0002:00076760 ?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z 005ba760 f Npc.obj + 0002:000771a0 ?FindEnemyRegion@CNpc@@QAEHXZ 005bb1a0 f Npc.obj + 0002:00077db0 ?FindFriend@CNpc@@QAEHW4MonSearchType@@@Z 005bbdb0 f Npc.obj + 0002:000781d0 ?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z 005bc1d0 f Npc.obj + 0002:000789f0 ?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z 005bc9f0 f i Npc.obj + 0002:00078bb0 ?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z 005bcbb0 f i Npc.obj + 0002:00078d70 ?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z 005bcd70 f i Npc.obj + 0002:00078f30 ?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z 005bcf30 f i Npc.obj + 0002:000790f0 ?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z 005bd0f0 f i Npc.obj + 0002:000792b0 ?GetDir@CNpc@@QAEHMMMM@Z 005bd2b0 f Npc.obj + 0002:00079660 ?GetDistance@CNpc@@QAEMAAU__Vector3@@0@Z 005bd660 f Npc.obj + 0002:000796e0 ?GetHealth@CNpc@@UAEHXZ 005bd6e0 f i Npc.obj + 0002:00079720 ?GetID@CNpc@@UAEGXZ 005bd720 f i Npc.obj + 0002:00079770 ?GetInOut@CNpc@@UAEXAAVPacket@@E@Z 005bd770 f i Npc.obj + 0002:000797b0 ?GetItemCodeNumber@CNpc@@QAEHHH@Z 005bd7b0 f Npc.obj + 0002:00079aa0 ?GetItemGrade@CNpc@@QAEHH@Z 005bdaa0 f Npc.obj + 0002:00079c70 ?GetMana@CNpc@@UAEHXZ 005bdc70 f i Npc.obj + 0002:00079cc0 ?GetMaxHealth@CNpc@@UAEHXZ 005bdcc0 f i Npc.obj + 0002:00079d20 ?GetMaxMana@CNpc@@UAEHXZ 005bdd20 f i Npc.obj + 0002:00079d80 ?GetMyField@CNpc@@QAEHXZ 005bdd80 f Npc.obj + 0002:00079f30 ?GetMyPath@CNpc@@QAEHXZ 005bdf30 f i Npc.obj + 0002:00079fb0 ?GetName@CNpc@@UAEAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 005bdfb0 f i Npc.obj + 0002:0007a010 ?GetNearPathPoint@CNpc@@QAEHXZ 005be010 f Npc.obj + 0002:0007a250 ?GetPartyExp@CNpc@@QAEHHHH@Z 005be250 f Npc.obj + 0002:0007a3b0 ?GetProtoID@CNpc@@QAEGXZ 005be3b0 f i Npc.obj + 0002:0007a410 ?GetRegionX@Unit@@QAEGXZ 005be410 f i Npc.obj + 0002:0007a450 ?GetRegionZ@Unit@@QAEGXZ 005be450 f i Npc.obj + 0002:0007a490 ?GetTargetPath@CNpc@@QAEHH@Z 005be490 f Npc.obj + 0002:0007b430 ?GetTargetPos@CNpc@@QAE_NAAM0@Z 005bf430 f Npc.obj + 0002:0007b4e0 ?GetUserInView@CNpc@@QAE_NXZ 005bf4e0 f Npc.obj + 0002:0007b720 ?GetUserInViewRange@CNpc@@QAE_NHH@Z 005bf720 f Npc.obj + 0002:0007bab0 ?GetVectorPosition@CNpc@@QAEXAAU__Vector3@@0MPAU2@@Z 005bfab0 f Npc.obj + 0002:0007bb70 ?GetWeaponItemCodeNumber@CNpc@@QAEH_N@Z 005bfb70 f Npc.obj + 0002:0007bcf0 ?GetY@Unit@@QAEMXZ 005bfcf0 f i Npc.obj + 0002:0007bd30 ?GiveNpcHaveItem@CNpc@@QAEXXZ 005bfd30 f Npc.obj + 0002:0007c3a0 ?HpChange@CNpc@@QAEXXZ 005c03a0 f Npc.obj + 0002:0007c4a0 ?HpChange@CNpc@@UAEXHPAVUnit@@_N@Z 005c04a0 f Npc.obj + 0002:0007c720 ?Identity@__Matrix44@@QAEXXZ 005c0720 f i Npc.obj + 0002:0007c850 ?Init@CNpc@@QAEXXZ 005c0850 f Npc.obj + 0002:0007c950 ?InitPos@CNpc@@QAEXXZ 005c0950 f Npc.obj + 0002:0007ca00 ?InitTarget@CNpc@@QAEXXZ 005c0a00 f Npc.obj + 0002:0007cb60 ?InitUserList@CNpc@@QAEXXZ 005c0b60 f Npc.obj + 0002:0007cc10 ?IsChangePath@CNpc@@QAE_NXZ 005c0c10 f Npc.obj + 0002:0007cde0 ?IsCloseTarget@CNpc@@QAE?AW4CloseTargetResult@@HW4AttackType@@@Z 005c0de0 f Npc.obj + 0002:0007d4c0 ?IsCloseTarget@CNpc@@QAE_NPAVCUser@@H@Z 005c14c0 f Npc.obj + 0002:0007d5e0 ?IsDamagedUserList@CNpc@@QAE_NPAVCUser@@@Z 005c15e0 f Npc.obj + 0002:0007d6b0 ?IsInPathRange@CNpc@@QAE_NXZ 005c16b0 f Npc.obj + 0002:0007d780 ?IsMovingEnd@CNpc@@QAE_NXZ 005c1780 f Npc.obj + 0002:0007d810 ?IsNoPathFind@CNpc@@QAEXM@Z 005c1810 f Npc.obj + 0002:0007dd40 ?IsPathFindCheck@CNpc@@QAE_NM@Z 005c1d40 f Npc.obj + 0002:0007e190 ?IsSurround@CNpc@@QAEHPAVCUser@@@Z 005c2190 f Npc.obj + 0002:0007e280 ?ItemProdution@CNpc@@QAEHH@Z 005c2280 f Npc.obj + 0002:0007ec40 ?Load@CNpc@@QAEXGPAVCNpcTable@@_NE@Z 005c2c40 f Npc.obj + 0002:0007f130 ?LongAndMagicAttack@CNpc@@QAE_JXZ 005c3130 f Npc.obj + 0002:0007f410 ?MSpChange@CNpc@@UAEXH@Z 005c3410 f i Npc.obj + 0002:0007f450 ?Magnitude@__Vector3@@QBEMXZ 005c3450 f i Npc.obj + 0002:0007f4f0 ?MoveAttack@CNpc@@QAEXXZ 005c34f0 f Npc.obj + 0002:0007fae0 ?Normalize@__Vector3@@QAEXXZ 005c3ae0 f i Npc.obj + 0002:0007fbf0 ?NpcAttacking@CNpc@@QAE_JXZ 005c3bf0 f Npc.obj + 0002:0007fdc0 ?NpcBack@CNpc@@QAE_JXZ 005c3dc0 f Npc.obj + 0002:000801c0 ?NpcCalling@CNpc@@QAEXMMU__Vector3@@0@Z 005c41c0 f Npc.obj + 0002:00080480 ?NpcCasting@CNpc@@QAE_JXZ 005c4480 f Npc.obj + 0002:000805c0 ?NpcFainting@CNpc@@QAE_JXZ 005c45c0 f Npc.obj + 0002:00080680 ?NpcHealing@CNpc@@QAE_JXZ 005c4680 f Npc.obj + 0002:000809f0 ?NpcLive@CNpc@@QAE_JXZ 005c49f0 f Npc.obj + 0002:00080b60 ?NpcMoveEnd@CNpc@@QAEXXZ 005c4b60 f Npc.obj + 0002:00080c30 ?NpcMoving@CNpc@@QAE_JXZ 005c4c30 f Npc.obj + 0002:00080fd0 ?NpcSleeping@CNpc@@QAE_JXZ 005c4fd0 f Npc.obj + 0002:00081060 ?NpcStanding@CNpc@@QAE_JXZ 005c5060 f Npc.obj + 0002:00081590 ?NpcStrategy@CNpc@@QAEXE@Z 005c5590 f Npc.obj + 0002:00081640 ?NpcTracing@CNpc@@QAE_JXZ 005c5640 f Npc.obj + 0002:00081b80 ?PathFind@CNpc@@QAEHUCPoint@@0M@Z 005c5b80 f Npc.obj + 0002:00081fd0 ?RandomBackMove@CNpc@@QAE_NXZ 005c5fd0 f Npc.obj + 0002:00082bf0 ?RandomMove@CNpc@@QAE_NXZ 005c6bf0 f Npc.obj + 0002:000841a0 ?RecvAttackReq@CNpc@@QAEXHGW4AttributeType@@@Z 005c81a0 f Npc.obj + 0002:00084840 ?RegisterRegion@CNpc@@QAE_NMM@Z 005c8840 f Npc.obj + 0002:00084b50 ?Reset@_NpcDamagedList@@QAEXXZ 005c8b50 f i Npc.obj + 0002:00084bb0 ?ResetPath@CNpc@@QAE_NXZ 005c8bb0 f Npc.obj + 0002:00084d30 ?RotationY@__Matrix44@@QAEXM@Z 005c8d30 f i Npc.obj + 0002:00084e10 ?SendAttackRequest@CNpc@@QAEXF@Z 005c8e10 f Npc.obj + 0002:00084f40 ?SendExpToUserList@CNpc@@QAEXXZ 005c8f40 f Npc.obj + 0002:00085c30 ?SendInOut@CNpc@@QAEXW4InOutType@@@Z 005c9c30 f Npc.obj + 0002:00085da0 ?SendMoveResult@CNpc@@QAEXMMMM@Z 005c9da0 f Npc.obj + 0002:00085f80 ?SendNpcInfo@CNpc@@QAEXXZ 005c9f80 f Npc.obj + 0002:00086090 ?SendRegionUpdate@CNpc@@QAEXXZ 005ca090 f Npc.obj + 0002:000861f0 ?Set@__Vector3@@QAEXMMM@Z 005ca1f0 f i Npc.obj + 0002:00086260 ?SetLive@CNpc@@QAE_NXZ 005ca260 f Npc.obj + 0002:00086f10 ?StepMove@CNpc@@QAE_NXZ 005caf10 f Npc.obj + 0002:00087770 ?StepNoPathMove@CNpc@@QAE_NXZ 005cb770 f Npc.obj + 0002:00087c80 ?TracingAttack@CNpc@@QAEXXZ 005cbc80 f Npc.obj + 0002:00087e00 ?Yaw2D@CNpc@@QAEXMMAAM@Z 005cbe00 f Npc.obj + 0002:00087f70 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 005cbf70 f i Npc.obj + 0002:000880c0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ 005cc0c0 f i Npc.obj + 0002:00088210 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEXXZ 005cc210 f i Npc.obj + 0002:00088280 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAEXXZ 005cc280 f i Npc.obj + 0002:000882f0 ?_Calculate_growth@?$vector@IV?$allocator@I@std@@@std@@ABEII@Z 005cc2f0 f i Npc.obj + 0002:00088390 ?_Change_array@?$vector@IV?$allocator@I@std@@@std@@AAEXQAIII@Z 005cc390 f i Npc.obj + 0002:00088490 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 005cc490 f i Npc.obj + 0002:00088500 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ 005cc500 f i Npc.obj + 0002:00088570 ?_Copy_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@U?$integral_constant@_N$0A@@2@@Z 005cc570 f i Npc.obj + 0002:00088610 ?_Destroy@?$vector@IV?$allocator@I@std@@@std@@AAEXPAI0@Z 005cc610 f i Npc.obj + 0002:00088680 ?_Extract@?$_In_place_key_extract_map@GU?$pair@GPAVCUser@@@std@@@std@@SAABGABU?$pair@GPAVCUser@@@2@@Z 005cc680 f i Npc.obj + 0002:000886c0 ?_Extract@?$_In_place_key_extract_map@PAVCUser@@U?$pair@PAVCUser@@H@std@@@std@@SAABQAVCUser@@ABU?$pair@PAVCUser@@H@2@@Z 005cc6c0 f i Npc.obj + 0002:00088700 ?_Get_first@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@G@2@XZ 005cc700 f i Npc.obj + 0002:00088740 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005cc740 f i Npc.obj + 0002:00088780 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005cc780 f i Npc.obj + 0002:000887c0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005cc7c0 f i Npc.obj + 0002:00088800 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005cc800 f i Npc.obj + 0002:00088840 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005cc840 f i Npc.obj + 0002:00088880 ?_Get_first@?$_Compressed_pair@U?$less@PAVCUser@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAVCUser@@@2@XZ 005cc880 f i Npc.obj + 0002:000888c0 ?_Get_first@?$_Compressed_pair@V?$allocator@I@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$allocator@I@2@XZ 005cc8c0 f i Npc.obj + 0002:00088900 ?_Get_first@?$_Compressed_pair@V?$allocator@I@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$allocator@I@2@XZ 005cc900 f i Npc.obj + 0002:00088940 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@XZ 005cc940 f i Npc.obj + 0002:00088980 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@XZ 005cc980 f i Npc.obj + 0002:000889c0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@XZ 005cc9c0 f i Npc.obj + 0002:00088a00 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@XZ 005cca00 f i Npc.obj + 0002:00088a40 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@XZ 005cca40 f i Npc.obj + 0002:00088aa0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@2@XZ 005ccaa0 f i Npc.obj + 0002:00088b00 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@XZ 005ccb00 f i Npc.obj + 0002:00088b60 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@XZ 005ccb60 f i Npc.obj + 0002:00088bc0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@XZ 005ccbc0 f i Npc.obj + 0002:00088c20 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@XZ 005ccc20 f i Npc.obj + 0002:00088c80 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@XZ 005ccc80 f i Npc.obj + 0002:00088ce0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@XZ 005ccce0 f i Npc.obj + 0002:00088d40 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@XZ 005ccd40 f i Npc.obj + 0002:00088da0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@XZ 005ccda0 f i Npc.obj + 0002:00088e00 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@XZ 005cce00 f i Npc.obj + 0002:00088e60 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@XZ 005cce60 f i Npc.obj + 0002:00088ec0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@XZ 005ccec0 f i Npc.obj + 0002:00088f20 ?_Get_scary@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@2@XZ 005ccf20 f i Npc.obj + 0002:00088f80 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@XZ 005ccf80 f i Npc.obj + 0002:00088fd0 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@XZ 005ccfd0 f i Npc.obj + 0002:00089020 ?_Getal@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@XZ 005cd020 f i Npc.obj + 0002:00089070 ?_Getal@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@XZ 005cd070 f i Npc.obj + 0002:000890c0 ?_Getal@?$vector@IV?$allocator@I@std@@@std@@AAEAAV?$allocator@I@2@XZ 005cd0c0 f i Npc.obj + 0002:00089110 ?_Getal@?$vector@IV?$allocator@I@std@@@std@@ABEABV?$allocator@I@2@XZ 005cd110 f i Npc.obj + 0002:00089160 ?_Getcomp@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@G@2@XZ 005cd160 f i Npc.obj + 0002:000891b0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005cd1b0 f i Npc.obj + 0002:00089200 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005cd200 f i Npc.obj + 0002:00089250 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005cd250 f i Npc.obj + 0002:000892a0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005cd2a0 f i Npc.obj + 0002:000892f0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005cd2f0 f i Npc.obj + 0002:00089340 ?_Getcomp@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IBEABU?$less@PAVCUser@@@2@XZ 005cd340 f i Npc.obj + 0002:00089390 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU32@@Z 005cd390 f i Npc.obj + 0002:00089690 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@QAU32@@Z 005cd690 f i Npc.obj + 0002:00089990 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@@Z 005cd990 f i Npc.obj + 0002:00089a80 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@@Z 005cda80 f i Npc.obj + 0002:00089b70 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@PAU32@@Z 005cdb70 f i Npc.obj + 0002:00089bc0 ?_Orphan_range@?$vector@IV?$allocator@I@std@@@std@@ABEXPAI0@Z 005cdbc0 f i Npc.obj + 0002:00089cd0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@XZ 005cdcd0 f i Npc.obj + 0002:00089d80 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@XZ 005cdd80 f i Npc.obj + 0002:00089e30 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@@Z 005cde30 f i Npc.obj + 0002:00089f20 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@@Z 005cdf20 f i Npc.obj + 0002:0008a010 ?_Tidy@?$vector@IV?$allocator@I@std@@@std@@AAEXXZ 005ce010 f i Npc.obj + 0002:0008a130 ?_Umove@?$vector@IV?$allocator@I@std@@@std@@AAEPAIPAI00@Z 005ce130 f i Npc.obj + 0002:0008a1a0 ?_Umove_if_noexcept1@?$vector@IV?$allocator@I@std@@@std@@AAEXPAI00U?$integral_constant@_N$00@2@@Z 005ce1a0 f i Npc.obj + 0002:0008a210 ?_Umove_if_noexcept@?$vector@IV?$allocator@I@std@@@std@@AAEXPAI00@Z 005ce210 f i Npc.obj + 0002:0008a290 ?_Xlength@?$vector@IV?$allocator@I@std@@@std@@CAXXZ 005ce290 f i Npc.obj + 0002:0008a2e0 ?acos@@YAMM@Z 005ce2e0 f i Npc.obj + 0002:0008a340 ?allocate@?$allocator@I@std@@QAEPAII@Z 005ce340 f i Npc.obj + 0002:0008a3b0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@I@Z 005ce3b0 f i Npc.obj + 0002:0008a420 ?allocate@?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@I@Z 005ce420 f i Npc.obj + 0002:0008a490 ?asin@@YAMM@Z 005ce490 f i Npc.obj + 0002:0008a4f0 ?begin@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 005ce4f0 f i Npc.obj + 0002:0008a5a0 ?capacity@?$vector@IV?$allocator@I@std@@@std@@QBEIXZ 005ce5a0 f i Npc.obj + 0002:0008a5f0 ?clear@?$vector@EV?$allocator@E@std@@@std@@QAEXXZ 005ce5f0 f i Npc.obj + 0002:0008a6c0 ?clear@ByteBuffer@@QAEXXZ 005ce6c0 f i Npc.obj + 0002:0008a730 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@I@Z 005ce730 f i Npc.obj + 0002:0008a790 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@I@Z 005ce790 f i Npc.obj + 0002:0008a7f0 ?deallocate@?$allocator@I@std@@QAEXQAII@Z 005ce7f0 f i Npc.obj + 0002:0008a850 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@I@Z 005ce850 f i Npc.obj + 0002:0008a8b0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@I@Z 005ce8b0 f i Npc.obj + 0002:0008a910 ?end@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 005ce910 f i Npc.obj + 0002:0008a9c0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 005ce9c0 f i Npc.obj + 0002:0008aa70 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 005cea70 f i Npc.obj + 0002:0008ab20 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 005ceb20 f i Npc.obj + 0002:0008abd0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 005cebd0 f i Npc.obj + 0002:0008ac80 ?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 005cec80 f i Npc.obj + 0002:0008ad30 ?end@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 005ced30 f i Npc.obj + 0002:0008ade0 ?find@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@ABG@Z 005cede0 f i Npc.obj + 0002:0008ae70 ?find@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@ABI@Z 005cee70 f i Npc.obj + 0002:0008af00 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@ABI@Z 005cef00 f i Npc.obj + 0002:0008af90 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@ABI@Z 005cef90 f i Npc.obj + 0002:0008b020 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@ABI@Z 005cf020 f i Npc.obj + 0002:0008b0b0 ?find@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@ABI@Z 005cf0b0 f i Npc.obj + 0002:0008b140 ?find@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@ABQAVCUser@@@Z 005cf140 f i Npc.obj + 0002:0008b1d0 ?getMSTime@@YA_JXZ 005cf1d0 f i Npc.obj + 0002:0008b2a0 ?hasTarget@CNpc@@QAE_NXZ 005cf2a0 f i Npc.obj + 0002:0008b2e0 ?increment@?$Atomic@G@@QAEGXZ 005cf2e0 f i Npc.obj + 0002:0008b330 ?isAlive@CNpc@@UAE_NXZ 005cf330 f i Npc.obj + 0002:0008b3c0 ?isArtifact@CNpc@@QAE_NXZ 005cf3c0 f i Npc.obj + 0002:0008b4a0 ?isDead@CNpc@@UAE_NXZ 005cf4a0 f i Npc.obj + 0002:0008b520 ?isGM@CUser@@QAE_NXZ 005cf520 f i Npc.obj + 0002:0008b590 ?isGuard@CNpc@@QAE_NXZ 005cf590 f i Npc.obj + 0002:0008b640 ?isHealer@CNpc@@QAE_NXZ 005cf640 f i Npc.obj + 0002:0008b6c0 ?isInSpawnRange@CNpc@@QAE_NHH@Z 005cf6c0 f Npc.obj + 0002:0008b790 ?isNonAttackableObject@CNpc@@QAE_NXZ 005cf790 f i Npc.obj + 0002:0008b830 ?isNonAttackingObject@CNpc@@QAE_NXZ 005cf830 f i Npc.obj + 0002:0008b920 ?isShowBox@CNpc@@QAE_NXZ 005cf920 f Npc.obj + 0002:0008bab0 ?load@?$_Atomic_storage@G$01@std@@QBEGXZ 005cfab0 f i Npc.obj + 0002:0008bb20 ?max_size@?$_Default_allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z 005cfb20 f i Npc.obj + 0002:0008bb60 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@@Z 005cfb60 f i Npc.obj + 0002:0008bba0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@@Z 005cfba0 f i Npc.obj + 0002:0008bbe0 ?max_size@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QBEIXZ 005cfbe0 f i Npc.obj + 0002:0008bc40 ?max_size@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QBEIXZ 005cfc40 f i Npc.obj + 0002:0008bca0 ?max_size@?$vector@IV?$allocator@I@std@@@std@@QBEIXZ 005cfca0 f i Npc.obj + 0002:0008bd30 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBGPAVCUser@@@std@@@std@@SAPAU?$pair@$$CBGPAVCUser@@@2@AAU32@@Z 005cfd30 f i Npc.obj + 0002:0008bd80 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@SAPAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@2@AAU32@@Z 005cfd80 f i Npc.obj + 0002:0008bdd0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@2@AAU32@@Z 005cfdd0 f i Npc.obj + 0002:0008be20 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@2@AAU32@@Z 005cfe20 f i Npc.obj + 0002:0008be70 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@2@AAU32@@Z 005cfe70 f i Npc.obj + 0002:0008bec0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@SAPAU?$pair@$$CBIPAU_MAKE_WEAPON@@@2@AAU32@@Z 005cfec0 f i Npc.obj + 0002:0008bf10 ?pointer_to@?$pointer_traits@PAU?$pair@QAVCUser@@H@std@@@std@@SAPAU?$pair@QAVCUser@@H@2@AAU32@@Z 005cff10 f i Npc.obj + 0002:0008bf60 ?push_back@?$vector@IV?$allocator@I@std@@@std@@QAEXABI@Z 005cff60 f i Npc.obj + 0002:0008bfc0 ?size@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QBEIXZ 005cffc0 f i Npc.obj + 0002:0008c020 ?size@?$vector@IV?$allocator@I@std@@@std@@QBEIXZ 005d0020 f i Npc.obj + 0002:0008c070 _acosf 005d0070 f i Npc.obj + 0002:0008c0e0 _asinf 005d00e0 f i Npc.obj + 0002:0008c150 _cosf 005d0150 f i Npc.obj + 0002:0008c1c0 _sinf 005d01c0 f i Npc.obj + 0002:0008c230 ?MagicPacket@CNpcMagicProcess@@SA_JEIFFFFF@Z 005d0230 f NpcMagicProcess.obj + 0002:0008c4e0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005d04e0 f i NpcThread.obj + 0002:0008c540 ??$?0AAPAU?$_Tree_node@PAVCNpc@@PAX@std@@AAPAU01@$0A@@?$pair@PAU?$_Tree_node@PAVCNpc@@PAX@std@@PAU12@@std@@QAE@AAPAU?$_Tree_node@PAVCNpc@@PAX@1@0@Z 005d0540 f i NpcThread.obj + 0002:0008c5c0 ??$?0AAPAU?$_Tree_node@PAVCNpc@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVCNpc@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAVCNpc@@PAX@1@$$QA_N@Z 005d05c0 f i NpcThread.obj + 0002:0008c640 ??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 005d0640 f i NpcThread.obj + 0002:0008c7c0 ??$?0ABU?$less@PAVCNpc@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@PAVCNpc@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@PAVCNpc@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005d07c0 f i NpcThread.obj + 0002:0008c840 ??$?0PAU?$_Tree_node@PAVCNpc@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVCNpc@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAVCNpc@@PAX@1@$$QA_N@Z 005d0840 f i NpcThread.obj + 0002:0008c8c0 ??$?0U?$_Tree_node@PAVCNpc@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 005d08c0 f i NpcThread.obj + 0002:0008c900 ??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@1@AB_N@Z 005d0900 f i NpcThread.obj + 0002:0008c980 ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD@Z 005d0980 f i NpcThread.obj + 0002:0008c9d0 ??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD@Z 005d09d0 f i NpcThread.obj + 0002:0008ca50 ??$?9H@@YA_NAAV?$Atomic@G@@H@Z 005d0a50 f i NpcThread.obj + 0002:0008cad0 ??$_Adl_verify_range@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@V12@@std@@YAXABV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@0@0@Z 005d0ad0 f i NpcThread.obj + 0002:0008cb00 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 005d0b00 f i NpcThread.obj + 0002:0008cc20 ??$_Copy_memmove@PAGPAG@std@@YAPAGPAG00@Z 005d0c20 f i NpcThread.obj + 0002:0008cca0 ??$_Debug_lt_pred@ABU?$less@PAVCNpc@@@std@@ABQAVCNpc@@ABQAV3@$0A@@std@@YA_NABU?$less@PAVCNpc@@@0@ABQAVCNpc@@1@Z 005d0ca0 f i NpcThread.obj + 0002:0008cd90 ??$_Destroy_range@V?$allocator@G@std@@@std@@YAXPAGQAGAAV?$allocator@G@0@@Z 005d0d90 f i NpcThread.obj + 0002:0008cdc0 ??$_Emplace@ABQAVCNpc@@@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@PAVCNpc@@PAX@std@@_N@1@ABQAVCNpc@@@Z 005d0dc0 f i NpcThread.obj + 0002:0008cf80 ??$_Emplace_back_with_unused_capacity@ABG@?$vector@GV?$allocator@G@std@@@std@@AAE@ABG@Z 005d0f80 f i NpcThread.obj + 0002:0008d050 ??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 005d1050 f i NpcThread.obj + 0002:0008d310 ??$_Eqrange@PAVCNpc@@@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBE?AU?$pair@PAU?$_Tree_node@PAVCNpc@@PAX@std@@PAU12@@1@ABQAVCNpc@@@Z 005d1310 f i NpcThread.obj + 0002:0008d550 ??$_Erase_head@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 005d1550 f i NpcThread.obj + 0002:0008d5e0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@@Z 005d15e0 f i NpcThread.obj + 0002:0008d6b0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@ABI@Z 005d16b0 f i NpcThread.obj + 0002:0008d780 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@ABI@Z 005d1780 f i NpcThread.obj + 0002:0008d8e0 ??$_Find_lower_bound@PAVCNpc@@@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@1@ABQAVCNpc@@@Z 005d18e0 f i NpcThread.obj + 0002:0008da40 ??$_Freenode0@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 005d1a40 f i NpcThread.obj + 0002:0008db30 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 005d1b30 f i NpcThread.obj + 0002:0008dc20 ??$_Freenode@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 005d1c20 f i NpcThread.obj + 0002:0008dcd0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 005d1cd0 f i NpcThread.obj + 0002:0008dd80 ??$_Get_size_of_n@$01@std@@YAII@Z 005d1d80 f i NpcThread.obj + 0002:0008dde0 ??$_Get_unwrapped@G@std@@YAPAGQAG@Z 005d1de0 f i NpcThread.obj + 0002:0008de20 ??$_Get_unwrapped@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@$0A@@std@@YAABV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@0@ABV10@@Z 005d1e20 f i NpcThread.obj + 0002:0008de60 ??$_Kfn@$$CBIPAVCNpc@@@?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAVCNpc@@@1@@Z 005d1e60 f i NpcThread.obj + 0002:0008dea0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@ABI@Z 005d1ea0 f i NpcThread.obj + 0002:0008df50 ??$_Lower_bound_duplicate@PAVCNpc@@@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 005d1f50 f i NpcThread.obj + 0002:0008e000 ??$_Traits_equal@U?$char_traits@D@std@@@std@@YA_NQBDI0I@Z 005d2000 f i NpcThread.obj + 0002:0008e090 ??$_Unfancy@G@std@@YAPAGPAG@Z 005d2090 f i NpcThread.obj + 0002:0008e0d0 ??$_Uninitialized_move@PAGV?$allocator@G@std@@@std@@YAPAGQAG0PAGAAV?$allocator@G@0@@Z 005d20d0 f i NpcThread.obj + 0002:0008e170 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@0@ABV10@@Z 005d2170 f i NpcThread.obj + 0002:0008e1b0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@0@ABV10@@Z 005d21b0 f i NpcThread.obj + 0002:0008e1f0 ??$addressof@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAVCNpc@@PAX@0@AAPAU10@@Z 005d21f0 f i NpcThread.obj + 0002:0008e230 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@0@AAPAU10@@Z 005d2230 f i NpcThread.obj + 0002:0008e270 ??$addressof@PAVCNpc@@@std@@YAPAPAVCNpc@@AAPAV1@@Z 005d2270 f i NpcThread.obj + 0002:0008e2b0 ??$addressof@U?$pair@$$CBIPAVMAP@@@std@@@std@@YAPAU?$pair@$$CBIPAVMAP@@@0@AAU10@@Z 005d22b0 f i NpcThread.obj + 0002:0008e2f0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@0@AAV10@@Z 005d22f0 f i NpcThread.obj + 0002:0008e330 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@0@AAV10@@Z 005d2330 f i NpcThread.obj + 0002:0008e370 ??$construct@GABG@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SAXAAV?$allocator@G@1@QAGABG@Z 005d2370 f i NpcThread.obj + 0002:0008e3f0 ??$construct@PAU?$_Tree_node@PAVCNpc@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@QAPAU?$_Tree_node@PAVCNpc@@PAX@1@AAPAU31@@Z 005d23f0 f i NpcThread.obj + 0002:0008e470 ??$construct@PAVCNpc@@ABQAV1@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@QAPAVCNpc@@ABQAV3@@Z 005d2470 f i NpcThread.obj + 0002:0008e4f0 ??$destroy@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@QAPAU?$_Tree_node@PAVCNpc@@PAX@1@@Z 005d24f0 f i NpcThread.obj + 0002:0008e520 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@@Z 005d2520 f i NpcThread.obj + 0002:0008e550 ??$destroy@PAVCNpc@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@QAPAVCNpc@@@Z 005d2550 f i NpcThread.obj + 0002:0008e580 ??$destroy@U?$pair@$$CBIPAVCNpc@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCNpc@@@1@@Z 005d2580 f i NpcThread.obj + 0002:0008e5b0 ??$distance@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@@std@@YAHV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@0@0@Z 005d25b0 f i NpcThread.obj + 0002:0008e6c0 ??$emplace_back@ABG@?$vector@GV?$allocator@G@std@@@std@@QAE@ABG@Z 005d26c0 f i NpcThread.obj + 0002:0008e770 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@V21@@Z 005d2770 f i NpcThread.obj + 0002:0008e960 ??$exchange@PAU?$_Tree_node@PAVCNpc@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@PAVCNpc@@PAX@0@AAPAU10@$$QA$$T@Z 005d2960 f i NpcThread.obj + 0002:0008e9b0 ??$exchange@PAU?$_Tree_node@PAVCNpc@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@PAVCNpc@@PAX@0@AAPAU10@0@Z 005d29b0 f i NpcThread.obj + 0002:0008ea00 ??$forward@AAPAU?$_Tree_node@PAVCNpc@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAVCNpc@@PAX@0@AAPAU10@@Z 005d2a00 f i NpcThread.obj + 0002:0008ea40 ??$forward@ABG@std@@YAABGABG@Z 005d2a40 f i NpcThread.obj + 0002:0008ea80 ??$forward@ABQAVCNpc@@@std@@YAABQAVCNpc@@ABQAV1@@Z 005d2a80 f i NpcThread.obj + 0002:0008eac0 ??$forward@ABU?$less@PAVCNpc@@@std@@@std@@YAABU?$less@PAVCNpc@@@0@ABU10@@Z 005d2ac0 f i NpcThread.obj + 0002:0008eb00 ??$forward@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAVCNpc@@PAX@0@AAPAU10@@Z 005d2b00 f i NpcThread.obj + 0002:0008eb40 ??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@0@AAV10@@Z 005d2b40 f i NpcThread.obj + 0002:0008eb80 ??$insert@$0A@$0A@@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@_N@1@ABQAVCNpc@@@Z 005d2b80 f i NpcThread.obj + 0002:0008ec90 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 005d2c90 f i NpcThread.obj + 0002:0008ecf0 ??0?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE@ABU?$less@PAVCNpc@@@1@@Z 005d2cf0 f i NpcThread.obj + 0002:0008ed70 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005d2d70 f i NpcThread.obj + 0002:0008edd0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE@ABV01@@Z 005d2dd0 f i NpcThread.obj + 0002:0008ee30 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@PAVCNpc@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@1@@Z 005d2e30 f i NpcThread.obj + 0002:0008ee90 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005d2e90 f i NpcThread.obj + 0002:0008eef0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005d2ef0 f i NpcThread.obj + 0002:0008ef50 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@1@@Z 005d2f50 f i NpcThread.obj + 0002:0008efb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005d2fb0 f i NpcThread.obj + 0002:0008f010 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005d3010 f i NpcThread.obj + 0002:0008f070 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@1@@Z 005d3070 f i NpcThread.obj + 0002:0008f0d0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 005d30d0 f i NpcThread.obj + 0002:0008f180 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@PAVCNpc@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@1@@Z 005d3180 f i NpcThread.obj + 0002:0008f1f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005d31f0 f i NpcThread.obj + 0002:0008f260 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005d3260 f i NpcThread.obj + 0002:0008f2d0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@PAVCNpc@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@1@@Z 005d32d0 f i NpcThread.obj + 0002:0008f340 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@1@@Z 005d3340 f i NpcThread.obj + 0002:0008f3b0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005d33b0 f i NpcThread.obj + 0002:0008f420 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005d3420 f i NpcThread.obj + 0002:0008f490 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@1@@Z 005d3490 f i NpcThread.obj + 0002:0008f500 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@1@@Z 005d3500 f i NpcThread.obj + 0002:0008f560 ??0?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAE@XZ 005d3560 f i NpcThread.obj + 0002:0008f5d0 ??0?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@QAE@XZ 005d35d0 f i NpcThread.obj + 0002:0008f610 ??0?$set@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@@std@@QAE@XZ 005d3610 f i NpcThread.obj + 0002:0008f670 ??0CNpcThread@@QAE@XZ 005d3670 f NpcThread.obj + 0002:0008f740 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 005d3740 f i NpcThread.obj + 0002:0008f7e0 ??1?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE@XZ 005d37e0 f i NpcThread.obj + 0002:0008f8c0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE@XZ 005d38c0 f i NpcThread.obj + 0002:0008f910 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@XZ 005d3910 f i NpcThread.obj + 0002:0008f960 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE@XZ 005d3960 f i NpcThread.obj + 0002:0008f9b0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 005d39b0 f i NpcThread.obj + 0002:0008faf0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 005d3af0 f i NpcThread.obj + 0002:0008fb40 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005d3b40 f i NpcThread.obj + 0002:0008fb90 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 005d3b90 f i NpcThread.obj + 0002:0008fbe0 ??1?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@_N@std@@QAE@XZ 005d3be0 f i NpcThread.obj + 0002:0008fc30 ??1?$set@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@@std@@QAE@XZ 005d3c30 f i NpcThread.obj + 0002:0008fc80 ??1CNpcThread@@UAE@XZ 005d3c80 f NpcThread.obj + 0002:0008fd90 ??1Thread@@UAE@XZ 005d3d90 f i NpcThread.obj + 0002:0008fdf0 ??1thread@std@@QAE@XZ 005d3df0 f i NpcThread.obj + 0002:0008fe50 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QBE_NABV01@@Z 005d3e50 f i NpcThread.obj + 0002:0008ff50 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005d3f50 f i NpcThread.obj + 0002:00090050 ??8?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@QBE_NABV01@@Z 005d4050 f i NpcThread.obj + 0002:000900c0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QBE_NABV01@@Z 005d40c0 f i NpcThread.obj + 0002:00090150 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005d4150 f i NpcThread.obj + 0002:000901e0 ??9?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@QBE_NABV01@@Z 005d41e0 f i NpcThread.obj + 0002:00090270 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAVMAP@@@1@XZ 005d4270 f i NpcThread.obj + 0002:000902d0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QBEABQAVCNpc@@XZ 005d42d0 f i NpcThread.obj + 0002:00090410 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAVMAP@@@1@XZ 005d4410 f i NpcThread.obj + 0002:00090550 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAVMAP@@@1@XZ 005d4550 f i NpcThread.obj + 0002:000905a0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE?AV01@H@Z 005d45a0 f i NpcThread.obj + 0002:000906c0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAEAAV01@XZ 005d46c0 f i NpcThread.obj + 0002:00090800 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 005d4800 f i NpcThread.obj + 0002:00090940 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 005d4940 f i NpcThread.obj + 0002:00090a60 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@QAE?AV01@H@Z 005d4a60 f i NpcThread.obj + 0002:00090b10 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 005d4b10 f i NpcThread.obj + 0002:00090bd0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 005d4bd0 f i NpcThread.obj + 0002:00090ca0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 005d4ca0 f i NpcThread.obj + 0002:00090d60 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 005d4d60 f i NpcThread.obj + 0002:00090e30 ??F?$Atomic@G@@QAEAAV0@XZ 005d4e30 f i NpcThread.obj + 0002:00090e90 ??F?$_Atomic_integral@G$01@std@@QAEGXZ 005d4e90 f i NpcThread.obj + 0002:00090f00 ??R?$less@PAVCNpc@@@std@@QBE_NABQAVCNpc@@0@Z 005d4f00 f i NpcThread.obj + 0002:00090f70 ??_ECNpcThread@@UAEPAXI@Z 005d4f70 f i NpcThread.obj + 0002:00090f70 ??_GCNpcThread@@UAEPAXI@Z 005d4f70 f i NpcThread.obj + 0002:00090fe0 ??_GThread@@UAEPAXI@Z 005d4fe0 f i NpcThread.obj + 0002:00090fe0 ??_EThread@@UAEPAXI@Z 005d4fe0 f i NpcThread.obj + 0002:00091050 ?AddNPC@CNpcThread@@QAEXPAVCNpc@@@Z 005d5050 f NpcThread.obj + 0002:00091160 ?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z 005d5160 f i NpcThread.obj + 0002:00091390 ?NpcThreadProc@@YGIPAX@Z 005d5390 f NpcThread.obj + 0002:00092010 ?RemoveNPC@CNpcThread@@QAEXPAVCNpc@@@Z 005d6010 f NpcThread.obj + 0002:00092110 ?ZoneEventThreadProc@@YGIPAX@Z 005d6110 f NpcThread.obj + 0002:00092420 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ 005d6420 f i NpcThread.obj + 0002:00092570 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEXXZ 005d6570 f i NpcThread.obj + 0002:000925e0 ?_Calculate_growth@?$vector@GV?$allocator@G@std@@@std@@ABEII@Z 005d65e0 f i NpcThread.obj + 0002:00092680 ?_Change_array@?$vector@GV?$allocator@G@std@@@std@@AAEXQAGII@Z 005d6680 f i NpcThread.obj + 0002:00092780 ?_Check_grow_by_1@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ 005d6780 f i NpcThread.obj + 0002:000927f0 ?_Destroy@?$vector@GV?$allocator@G@std@@@std@@AAEXPAG0@Z 005d67f0 f i NpcThread.obj + 0002:00092860 ?_Equal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NQBD@Z 005d6860 f i NpcThread.obj + 0002:00092920 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005d6920 f i NpcThread.obj + 0002:00092a10 ?_Erase_unchecked@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@PAVCNpc@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@0@Z 005d6a10 f i NpcThread.obj + 0002:00092b20 ?_Erase_unchecked@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@PAVCNpc@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005d6b20 f i NpcThread.obj + 0002:00092c10 ?_Extract@?$_In_place_key_extract_set@PAVCNpc@@PAV1@@std@@SAABQAVCNpc@@ABQAV3@@Z 005d6c10 f i NpcThread.obj + 0002:00092c50 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005d6c50 f i NpcThread.obj + 0002:000931e0 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005d71e0 f i NpcThread.obj + 0002:00093770 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 005d7770 f i NpcThread.obj + 0002:000937b0 ?_Get_first@?$_Compressed_pair@U?$less@PAVCNpc@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAVCNpc@@@2@XZ 005d77b0 f i NpcThread.obj + 0002:000937f0 ?_Get_first@?$_Compressed_pair@V?$allocator@G@std@@V?$_Vector_val@U?$_Simple_types@G@std@@@2@$00@std@@QAEAAV?$allocator@G@2@XZ 005d77f0 f i NpcThread.obj + 0002:00093830 ?_Get_first@?$_Compressed_pair@V?$allocator@G@std@@V?$_Vector_val@U?$_Simple_types@G@std@@@2@$00@std@@QBEABV?$allocator@G@2@XZ 005d7830 f i NpcThread.obj + 0002:00093870 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@XZ 005d7870 f i NpcThread.obj + 0002:000938b0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@XZ 005d78b0 f i NpcThread.obj + 0002:000938f0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@XZ 005d78f0 f i NpcThread.obj + 0002:00093930 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@XZ 005d7930 f i NpcThread.obj + 0002:00093990 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@XZ 005d7990 f i NpcThread.obj + 0002:000939f0 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@XZ 005d79f0 f i NpcThread.obj + 0002:00093a50 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@2@XZ 005d7a50 f i NpcThread.obj + 0002:00093ab0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@XZ 005d7ab0 f i NpcThread.obj + 0002:00093b00 ?_Getal@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@XZ 005d7b00 f i NpcThread.obj + 0002:00093b50 ?_Getal@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@XZ 005d7b50 f i NpcThread.obj + 0002:00093ba0 ?_Getal@?$vector@GV?$allocator@G@std@@@std@@AAEAAV?$allocator@G@2@XZ 005d7ba0 f i NpcThread.obj + 0002:00093bf0 ?_Getal@?$vector@GV?$allocator@G@std@@@std@@ABEABV?$allocator@G@2@XZ 005d7bf0 f i NpcThread.obj + 0002:00093c40 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 005d7c40 f i NpcThread.obj + 0002:00093c90 ?_Getcomp@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IBEABU?$less@PAVCNpc@@@2@XZ 005d7c90 f i NpcThread.obj + 0002:00093ce0 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU32@@Z 005d7ce0 f i NpcThread.obj + 0002:00093fe0 ?_Kfn@?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@SAABQAVCNpc@@ABQAV3@@Z 005d7fe0 f i NpcThread.obj + 0002:00094020 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXPAU?$_Tree_node@PAVCNpc@@PAX@2@@Z 005d8020 f i NpcThread.obj + 0002:00094110 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@@Z 005d8110 f i NpcThread.obj + 0002:00094200 ?_Max@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@SAPAU?$_Tree_node@PAVCNpc@@PAX@2@PAU32@@Z 005d8200 f i NpcThread.obj + 0002:00094260 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@PAU32@@Z 005d8260 f i NpcThread.obj + 0002:000942c0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@SAPAU?$_Tree_node@PAVCNpc@@PAX@2@PAU32@@Z 005d82c0 f i NpcThread.obj + 0002:00094310 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@PAU32@@Z 005d8310 f i NpcThread.obj + 0002:00094360 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXQAU?$_Tree_node@PAVCNpc@@PAX@2@@Z 005d8360 f i NpcThread.obj + 0002:00094470 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@@Z 005d8470 f i NpcThread.obj + 0002:00094580 ?_Orphan_range@?$vector@GV?$allocator@G@std@@@std@@ABEXPAG0@Z 005d8580 f i NpcThread.obj + 0002:00094690 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@XZ 005d8690 f i NpcThread.obj + 0002:00094740 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXPAU?$_Tree_node@PAVCNpc@@PAX@2@@Z 005d8740 f i NpcThread.obj + 0002:00094830 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@@Z 005d8830 f i NpcThread.obj + 0002:00094920 ?_Umove@?$vector@GV?$allocator@G@std@@@std@@AAEPAGPAG00@Z 005d8920 f i NpcThread.obj + 0002:00094990 ?_Umove_if_noexcept1@?$vector@GV?$allocator@G@std@@@std@@AAEXPAG00U?$integral_constant@_N$00@2@@Z 005d8990 f i NpcThread.obj + 0002:00094a00 ?_Umove_if_noexcept@?$vector@GV?$allocator@G@std@@@std@@AAEXPAG00@Z 005d8a00 f i NpcThread.obj + 0002:00094a80 ?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@XZ 005d8a80 f i NpcThread.obj + 0002:00094b20 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 005d8b20 f i NpcThread.obj + 0002:00094b90 ?_Xlength@?$vector@GV?$allocator@G@std@@@std@@CAXXZ 005d8b90 f i NpcThread.obj + 0002:00094be0 ?allocate@?$allocator@G@std@@QAEPAGI@Z 005d8be0 f i NpcThread.obj + 0002:00094c50 ?allocate@?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@I@Z 005d8c50 f i NpcThread.obj + 0002:00094cc0 ?begin@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 005d8cc0 f i NpcThread.obj + 0002:00094d70 ?begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 005d8d70 f i NpcThread.obj + 0002:00094e20 ?capacity@?$vector@GV?$allocator@G@std@@@std@@QBEIXZ 005d8e20 f i NpcThread.obj + 0002:00094e70 ?clear@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAEXXZ 005d8e70 f i NpcThread.obj + 0002:00094f60 ?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 005d8f60 f i NpcThread.obj + 0002:00094fc0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU?$_Tree_node@PAVCNpc@@PAX@2@I@Z 005d8fc0 f i NpcThread.obj + 0002:00095020 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@I@Z 005d9020 f i NpcThread.obj + 0002:00095080 ?deallocate@?$allocator@G@std@@QAEXQAGI@Z 005d9080 f i NpcThread.obj + 0002:000950e0 ?deallocate@?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@QAEXQAU?$_Tree_node@PAVCNpc@@PAX@2@I@Z 005d90e0 f i NpcThread.obj + 0002:00095140 ?decrement@?$Atomic@G@@QAEGXZ 005d9140 f i NpcThread.obj + 0002:00095190 ?end@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 005d9190 f i NpcThread.obj + 0002:00095240 ?end@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 005d9240 f i NpcThread.obj + 0002:000952f0 ?erase@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAEIABQAVCNpc@@@Z 005d92f0 f i NpcThread.obj + 0002:00095410 ?find@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@ABI@Z 005d9410 f i NpcThread.obj + 0002:000954a0 ?joinable@thread@std@@QBE_NXZ 005d94a0 f i NpcThread.obj + 0002:00095510 ?max_size@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SAIABV?$allocator@G@2@@Z 005d9510 f i NpcThread.obj + 0002:00095550 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@2@@Z 005d9550 f i NpcThread.obj + 0002:00095590 ?max_size@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QBEIXZ 005d9590 f i NpcThread.obj + 0002:000955f0 ?max_size@?$vector@GV?$allocator@G@std@@@std@@QBEIXZ 005d95f0 f i NpcThread.obj + 0002:00095680 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVMAP@@@std@@@std@@SAPAU?$pair@$$CBIPAVMAP@@@2@AAU32@@Z 005d9680 f i NpcThread.obj + 0002:000956d0 ?push_back@?$vector@GV?$allocator@G@std@@@std@@QAEXABG@Z 005d96d0 f i NpcThread.obj + 0002:00095730 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@ABI@Z 005d9730 f i Party.obj + 0002:00095800 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 005d9800 f i Party.obj + 0002:000958f0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 005d98f0 f i Party.obj + 0002:000959a0 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@V21@@Z 005d99a0 f i Party.obj + 0002:00095b90 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005d9b90 f i Party.obj + 0002:00095bf0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005d9bf0 f i Party.obj + 0002:00095c50 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@1@@Z 005d9c50 f i Party.obj + 0002:00095cc0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005d9cc0 f i Party.obj + 0002:00095d30 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@1@@Z 005d9d30 f i Party.obj + 0002:00095d90 ??0CParty@@QAE@XZ 005d9d90 f Party.obj + 0002:00095de0 ??1CParty@@UAE@XZ 005d9de0 f Party.obj + 0002:00095e20 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005d9e20 f i Party.obj + 0002:00095f20 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 005d9f20 f i Party.obj + 0002:00095fb0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_PARTY_GROUP@@@1@XZ 005d9fb0 f i Party.obj + 0002:00096010 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_PARTY_GROUP@@@1@XZ 005da010 f i Party.obj + 0002:00096150 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_PARTY_GROUP@@@1@XZ 005da150 f i Party.obj + 0002:000961a0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 005da1a0 f i Party.obj + 0002:00096260 ??_GCParty@@UAEPAXI@Z 005da260 f i Party.obj + 0002:00096260 ??_ECParty@@UAEPAXI@Z 005da260 f i Party.obj + 0002:000962d0 ?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z 005da2d0 f i Party.obj + 0002:000964c0 ?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z 005da4c0 f i Party.obj + 0002:00096680 ?Initialize@CParty@@QAEXXZ 005da680 f Party.obj + 0002:000966c0 ?PartyCreate@CParty@@QAEXAAVPacket@@@Z 005da6c0 f Party.obj + 0002:000968c0 ?PartyDelete@CParty@@QAEXAAVPacket@@@Z 005da8c0 f Party.obj + 0002:000969e0 ?PartyInsert@CParty@@QAEXAAVPacket@@@Z 005da9e0 f Party.obj + 0002:00096b10 ?PartyProcess@CParty@@QAEXAAVPacket@@@Z 005dab10 f Party.obj + 0002:00096c00 ?PartyRemove@CParty@@QAEXAAVPacket@@@Z 005dac00 f Party.obj + 0002:00096d50 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005dad50 f i Party.obj + 0002:00096e40 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 005dae40 f i Party.obj + 0002:000973d0 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@PAU32@@Z 005db3d0 f i Party.obj + 0002:00097430 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@PAU32@@Z 005db430 f i Party.obj + 0002:00097480 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@@Z 005db480 f i Party.obj + 0002:00097590 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 005db590 f i Party.obj + 0002:00097600 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@I@Z 005db600 f i Party.obj + 0002:00097660 ?end@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 005db660 f i Party.obj + 0002:00097710 ?find@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@ABI@Z 005db710 f i Party.obj + 0002:000977a0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@SAPAU?$pair@$$CBIPAU_PARTY_GROUP@@@2@AAU32@@Z 005db7a0 f i Party.obj + 0002:000977f0 ??$max@H@std@@YAABHABH0@Z 005db7f0 f i PathFind.obj + 0002:000978c0 ??0CPathFind@@QAE@XZ 005db8c0 f PathFind.obj + 0002:00097970 ??0CSize@@QAE@XZ 005db970 f i PathFind.obj + 0002:000979c0 ??1CPathFind@@UAE@XZ 005db9c0 f PathFind.obj + 0002:00097a70 ??_GCPathFind@@UAEPAXI@Z 005dba70 f i PathFind.obj + 0002:00097a70 ??_ECPathFind@@UAEPAXI@Z 005dba70 f i PathFind.obj + 0002:00097ae0 ?CheckClosed@CPathFind@@QAEPAV_PathNode@@HH@Z 005dbae0 f PathFind.obj + 0002:00097b70 ?CheckOpen@CPathFind@@QAEPAV_PathNode@@HH@Z 005dbb70 f PathFind.obj + 0002:00097bf0 ?ClearData@CPathFind@@QAEXXZ 005dbbf0 f PathFind.obj + 0002:00097d00 ?FindChildPath@CPathFind@@QAEXPAV_PathNode@@HH@Z 005dbd00 f PathFind.obj + 0002:00098040 ?FindChildPathSub@CPathFind@@QAEXPAV_PathNode@@HHHHH@Z 005dc040 f PathFind.obj + 0002:000982e0 ?FindPath@CPathFind@@QAEPAV_PathNode@@HHHH@Z 005dc2e0 f PathFind.obj + 0002:00098530 ?Insert@CPathFind@@QAEXPAV_PathNode@@@Z 005dc530 f PathFind.obj + 0002:000985f0 ?IsBlankMap@CPathFind@@QAE_NHH@Z 005dc5f0 f PathFind.obj + 0002:00098660 ?Pop@CPathFind@@QAEPAV_PathNode@@XZ 005dc660 f PathFind.obj + 0002:000986f0 ?PropagateDown@CPathFind@@QAEXPAV_PathNode@@@Z 005dc6f0 f PathFind.obj + 0002:00098890 ?Push@CPathFind@@QAEXPAV_PathNode@@@Z 005dc890 f PathFind.obj + 0002:00098920 ?ReturnBestNode@CPathFind@@QAEPAV_PathNode@@XZ 005dc920 f PathFind.obj + 0002:000989b0 ?SetMap@CPathFind@@QAEXHHPAVMAP@@FF@Z 005dc9b0 f PathFind.obj + 0002:00098a30 ??0CRoomEvent@@QAE@XZ 005dca30 f RoomEvent.obj + 0002:00098b80 ??1CRoomEvent@@UAE@XZ 005dcb80 f RoomEvent.obj + 0002:00098bf0 ??_GCRoomEvent@@UAEPAXI@Z 005dcbf0 f i RoomEvent.obj + 0002:00098bf0 ??_ECRoomEvent@@UAEPAXI@Z 005dcbf0 f i RoomEvent.obj + 0002:00098c70 ?CheckEvent@CRoomEvent@@AAE_NH@Z 005dcc70 f RoomEvent.obj + 0002:00098f90 ?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z 005dcf90 f RoomEvent.obj + 0002:000992f0 ?EndEventSay@CRoomEvent@@AAEXHH@Z 005dd2f0 f RoomEvent.obj + 0002:000995a0 ?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z 005dd5a0 f RoomEvent.obj + 0002:00099840 ?GetSize@?$CSTLMap@H@@QAEHXZ 005dd840 f i RoomEvent.obj + 0002:000998f0 ?Initialize@CRoomEvent@@AAEXXZ 005dd8f0 f RoomEvent.obj + 0002:000999e0 ?InitializeRoom@CRoomEvent@@QAEXXZ 005dd9e0 f RoomEvent.obj + 0002:00099a70 ?MainRoom@CRoomEvent@@QAEXXZ 005dda70 f RoomEvent.obj + 0002:00099b50 ?RunEvent@CRoomEvent@@AAE_NH@Z 005ddb50 f RoomEvent.obj + 0002:00099fb0 ??$?0$$V@?$_Compressed_pair@V?$allocator@G@std@@V?$_Vector_val@U?$_Simple_types@G@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005ddfb0 f i ServerDlg.obj + 0002:0009a010 ??$?0$$V@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de010 f i ServerDlg.obj + 0002:0009a070 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_List_node@HPAX@std@@@std@@V?$_List_val@U?$_List_simple_types@H@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de070 f i ServerDlg.obj + 0002:0009a0d0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de0d0 f i ServerDlg.obj + 0002:0009a130 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de130 f i ServerDlg.obj + 0002:0009a190 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de190 f i ServerDlg.obj + 0002:0009a1f0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de1f0 f i ServerDlg.obj + 0002:0009a250 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de250 f i ServerDlg.obj + 0002:0009a2b0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de2b0 f i ServerDlg.obj + 0002:0009a310 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de310 f i ServerDlg.obj + 0002:0009a370 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de370 f i ServerDlg.obj + 0002:0009a3d0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de3d0 f i ServerDlg.obj + 0002:0009a430 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de430 f i ServerDlg.obj + 0002:0009a490 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de490 f i ServerDlg.obj + 0002:0009a4f0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de4f0 f i ServerDlg.obj + 0002:0009a550 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de550 f i ServerDlg.obj + 0002:0009a5b0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de5b0 f i ServerDlg.obj + 0002:0009a610 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de610 f i ServerDlg.obj + 0002:0009a670 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de670 f i ServerDlg.obj + 0002:0009a6d0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de6d0 f i ServerDlg.obj + 0002:0009a730 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de730 f i ServerDlg.obj + 0002:0009a790 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 005de790 f i ServerDlg.obj + 0002:0009a7f0 ??$?0AAGAAPAU_ZONE_INFO@@$0A@@?$pair@GPAU_ZONE_INFO@@@std@@QAE@AAGAAPAU_ZONE_INFO@@@Z 005de7f0 f i ServerDlg.obj + 0002:0009a870 ??$?0AAGPAVCGameSocket@@$0A@@?$pair@GPAVCGameSocket@@@std@@QAE@AAG$$QAPAVCGameSocket@@@Z 005de870 f i ServerDlg.obj + 0002:0009a8f0 ??$?0AAIAAPAU_K_MONSTER_ITEM@@$0A@@?$pair@IPAU_K_MONSTER_ITEM@@@std@@QAE@AAIAAPAU_K_MONSTER_ITEM@@@Z 005de8f0 f i ServerDlg.obj + 0002:0009a970 ??$?0AAIAAPAU_MAGIC_TABLE@@$0A@@?$pair@IPAU_MAGIC_TABLE@@@std@@QAE@AAIAAPAU_MAGIC_TABLE@@@Z 005de970 f i ServerDlg.obj + 0002:0009a9f0 ??$?0AAIAAPAU_MAGIC_TYPE1@@$0A@@?$pair@IPAU_MAGIC_TYPE1@@@std@@QAE@AAIAAPAU_MAGIC_TYPE1@@@Z 005de9f0 f i ServerDlg.obj + 0002:0009aa70 ??$?0AAIAAPAU_MAGIC_TYPE2@@$0A@@?$pair@IPAU_MAGIC_TYPE2@@@std@@QAE@AAIAAPAU_MAGIC_TYPE2@@@Z 005dea70 f i ServerDlg.obj + 0002:0009aaf0 ??$?0AAIAAPAU_MAGIC_TYPE4@@$0A@@?$pair@IPAU_MAGIC_TYPE4@@@std@@QAE@AAIAAPAU_MAGIC_TYPE4@@@Z 005deaf0 f i ServerDlg.obj + 0002:0009ab70 ??$?0AAIAAPAU_MAKE_ITEM_GRADE_CODE@@$0A@@?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@QAE@AAIAAPAU_MAKE_ITEM_GRADE_CODE@@@Z 005deb70 f i ServerDlg.obj + 0002:0009abf0 ??$?0AAIAAPAU_MAKE_ITEM_GROUP@@$0A@@?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@QAE@AAIAAPAU_MAKE_ITEM_GROUP@@@Z 005debf0 f i ServerDlg.obj + 0002:0009ac70 ??$?0AAIAAPAU_MAKE_ITEM_LARE_CODE@@$0A@@?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@QAE@AAIAAPAU_MAKE_ITEM_LARE_CODE@@@Z 005dec70 f i ServerDlg.obj + 0002:0009acf0 ??$?0AAIAAPAU_MAKE_WEAPON@@$0A@@?$pair@IPAU_MAKE_WEAPON@@@std@@QAE@AAIAAPAU_MAKE_WEAPON@@@Z 005decf0 f i ServerDlg.obj + 0002:0009ad70 ??$?0AAIAAPAU_NPC_LIVE_TIME@@$0A@@?$pair@IPAU_NPC_LIVE_TIME@@@std@@QAE@AAIAAPAU_NPC_LIVE_TIME@@@Z 005ded70 f i ServerDlg.obj + 0002:0009adf0 ??$?0AAIAAPAU_OBJECT_EVENT@@$0A@@?$pair@IPAU_OBJECT_EVENT@@@std@@QAE@AAIAAPAU_OBJECT_EVENT@@@Z 005dedf0 f i ServerDlg.obj + 0002:0009ae70 ??$?0AAIAAPAU_SERVER_RESOURCE@@$0A@@?$pair@IPAU_SERVER_RESOURCE@@@std@@QAE@AAIAAPAU_SERVER_RESOURCE@@@Z 005dee70 f i ServerDlg.obj + 0002:0009aef0 ??$?0AAIAAPAVCNpc@@$0A@@?$pair@IPAVCNpc@@@std@@QAE@AAIAAPAVCNpc@@@Z 005deef0 f i ServerDlg.obj + 0002:0009af70 ??$?0AAIAAPAVCNpcTable@@$0A@@?$pair@IPAVCNpcTable@@@std@@QAE@AAIAAPAVCNpcTable@@@Z 005def70 f i ServerDlg.obj + 0002:0009aff0 ??$?0AAIAAPAVMAP@@$0A@@?$pair@IPAVMAP@@@std@@QAE@AAIAAPAVMAP@@@Z 005deff0 f i ServerDlg.obj + 0002:0009b070 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QA_N@Z 005df070 f i ServerDlg.obj + 0002:0009b0f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QA_N@Z 005df0f0 f i ServerDlg.obj + 0002:0009b170 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QA_N@Z 005df170 f i ServerDlg.obj + 0002:0009b1f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QA_N@Z 005df1f0 f i ServerDlg.obj + 0002:0009b270 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QA_N@Z 005df270 f i ServerDlg.obj + 0002:0009b2f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QA_N@Z 005df2f0 f i ServerDlg.obj + 0002:0009b370 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QA_N@Z 005df370 f i ServerDlg.obj + 0002:0009b3f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QA_N@Z 005df3f0 f i ServerDlg.obj + 0002:0009b470 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QA_N@Z 005df470 f i ServerDlg.obj + 0002:0009b4f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QA_N@Z 005df4f0 f i ServerDlg.obj + 0002:0009b570 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QA_N@Z 005df570 f i ServerDlg.obj + 0002:0009b5f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QA_N@Z 005df5f0 f i ServerDlg.obj + 0002:0009b670 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QA_N@Z 005df670 f i ServerDlg.obj + 0002:0009b6f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QA_N@Z 005df6f0 f i ServerDlg.obj + 0002:0009b770 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QA_N@Z 005df770 f i ServerDlg.obj + 0002:0009b7f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QA_N@Z 005df7f0 f i ServerDlg.obj + 0002:0009b870 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QA_N@Z 005df870 f i ServerDlg.obj + 0002:0009b8f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QA_N@Z 005df8f0 f i ServerDlg.obj + 0002:0009b970 ??$?0ABG$$Z$$V@?$pair@$$CBGPAVCUser@@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@ABG@1@V?$tuple@$$V@1@@Z 005df970 f i ServerDlg.obj + 0002:0009b9f0 ??$?0ABG$0A@@?$tuple@ABG@std@@QAE@ABG@Z 005df9f0 f i ServerDlg.obj + 0002:0009baa0 ??$?0ABG@?$_Tuple_val@ABG@std@@QAE@ABG@Z 005dfaa0 f i ServerDlg.obj + 0002:0009bb00 ??$?0ABGAAPAVKOSocket@@$0A@@?$pair@GPAVKOSocket@@@std@@QAE@ABGAAPAVKOSocket@@@Z 005dfb00 f i ServerDlg.obj + 0002:0009bb80 ??$?0ABIAAPAVCNpcThread@@$0A@@?$pair@IPAVCNpcThread@@@std@@QAE@ABIAAPAVCNpcThread@@@Z 005dfb80 f i ServerDlg.obj + 0002:0009bc00 ??$?0ABQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QA_N@Z 005dfc00 f i ServerDlg.obj + 0002:0009bc80 ??$?0ABU?$less@E@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@E@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dfc80 f i ServerDlg.obj + 0002:0009bd00 ??$?0ABU?$less@G@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@G@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dfd00 f i ServerDlg.obj + 0002:0009bd80 ??$?0ABU?$less@G@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@G@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dfd80 f i ServerDlg.obj + 0002:0009be00 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dfe00 f i ServerDlg.obj + 0002:0009be80 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dfe80 f i ServerDlg.obj + 0002:0009bf00 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dff00 f i ServerDlg.obj + 0002:0009bf80 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005dff80 f i ServerDlg.obj + 0002:0009c000 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0000 f i ServerDlg.obj + 0002:0009c080 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0080 f i ServerDlg.obj + 0002:0009c100 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0100 f i ServerDlg.obj + 0002:0009c180 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0180 f i ServerDlg.obj + 0002:0009c200 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0200 f i ServerDlg.obj + 0002:0009c280 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0280 f i ServerDlg.obj + 0002:0009c300 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0300 f i ServerDlg.obj + 0002:0009c380 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0380 f i ServerDlg.obj + 0002:0009c400 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0400 f i ServerDlg.obj + 0002:0009c480 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0480 f i ServerDlg.obj + 0002:0009c500 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0500 f i ServerDlg.obj + 0002:0009c580 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 005e0580 f i ServerDlg.obj + 0002:0009c600 ??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABG@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z 005e0600 f i ServerDlg.obj + 0002:0009c7a0 ??$?0G@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@G@1@@Z 005e07a0 f i ServerDlg.obj + 0002:0009c7e0 ??$?0GPAU_ZONE_INFO@@$0A@@?$pair@$$CBGPAU_ZONE_INFO@@@std@@QAE@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005e07e0 f i ServerDlg.obj + 0002:0009c870 ??$?0GPAVCGameSocket@@$0A@@?$pair@$$CBGPAVKOSocket@@@std@@QAE@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005e0870 f i ServerDlg.obj + 0002:0009c900 ??$?0GPAVKOSocket@@$0A@@?$pair@$$CBGPAVKOSocket@@@std@@QAE@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005e0900 f i ServerDlg.obj + 0002:0009c990 ??$?0IPAU_K_MONSTER_ITEM@@$0A@@?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@QAE@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005e0990 f i ServerDlg.obj + 0002:0009ca10 ??$?0IPAU_MAGIC_TABLE@@$0A@@?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@QAE@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005e0a10 f i ServerDlg.obj + 0002:0009ca90 ??$?0IPAU_MAGIC_TYPE1@@$0A@@?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@QAE@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005e0a90 f i ServerDlg.obj + 0002:0009cb10 ??$?0IPAU_MAGIC_TYPE2@@$0A@@?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@QAE@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005e0b10 f i ServerDlg.obj + 0002:0009cb90 ??$?0IPAU_MAGIC_TYPE4@@$0A@@?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@QAE@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005e0b90 f i ServerDlg.obj + 0002:0009cc10 ??$?0IPAU_MAKE_ITEM_GRADE_CODE@@$0A@@?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@QAE@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005e0c10 f i ServerDlg.obj + 0002:0009cc90 ??$?0IPAU_MAKE_ITEM_GROUP@@$0A@@?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@QAE@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005e0c90 f i ServerDlg.obj + 0002:0009cd10 ??$?0IPAU_MAKE_ITEM_LARE_CODE@@$0A@@?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@QAE@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005e0d10 f i ServerDlg.obj + 0002:0009cd90 ??$?0IPAU_MAKE_WEAPON@@$0A@@?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@QAE@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005e0d90 f i ServerDlg.obj + 0002:0009ce10 ??$?0IPAU_NPC_LIVE_TIME@@$0A@@?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@QAE@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005e0e10 f i ServerDlg.obj + 0002:0009ce90 ??$?0IPAU_OBJECT_EVENT@@$0A@@?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@QAE@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005e0e90 f i ServerDlg.obj + 0002:0009cf10 ??$?0IPAU_SERVER_RESOURCE@@$0A@@?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@QAE@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005e0f10 f i ServerDlg.obj + 0002:0009cf90 ??$?0IPAVCNpc@@$0A@@?$pair@$$CBIPAVCNpc@@@std@@QAE@$$QAU?$pair@IPAVCNpc@@@1@@Z 005e0f90 f i ServerDlg.obj + 0002:0009d010 ??$?0IPAVCNpcTable@@$0A@@?$pair@$$CBIPAVCNpcTable@@@std@@QAE@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005e1010 f i ServerDlg.obj + 0002:0009d090 ??$?0IPAVCNpcThread@@$0A@@?$pair@$$CBEPAVCNpcThread@@@std@@QAE@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005e1090 f i ServerDlg.obj + 0002:0009d110 ??$?0IPAVMAP@@$0A@@?$pair@$$CBIPAVMAP@@@std@@QAE@$$QAU?$pair@IPAVMAP@@@1@@Z 005e1110 f i ServerDlg.obj + 0002:0009d190 ??$?0PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QA_N@Z 005e1190 f i ServerDlg.obj + 0002:0009d210 ??$?0PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QA_N@Z 005e1210 f i ServerDlg.obj + 0002:0009d290 ??$?0PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QA_N@Z 005e1290 f i ServerDlg.obj + 0002:0009d310 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QA_N@Z 005e1310 f i ServerDlg.obj + 0002:0009d390 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QA_N@Z 005e1390 f i ServerDlg.obj + 0002:0009d410 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QA_N@Z 005e1410 f i ServerDlg.obj + 0002:0009d490 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QA_N@Z 005e1490 f i ServerDlg.obj + 0002:0009d510 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QA_N@Z 005e1510 f i ServerDlg.obj + 0002:0009d590 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QA_N@Z 005e1590 f i ServerDlg.obj + 0002:0009d610 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QA_N@Z 005e1610 f i ServerDlg.obj + 0002:0009d690 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QA_N@Z 005e1690 f i ServerDlg.obj + 0002:0009d710 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QA_N@Z 005e1710 f i ServerDlg.obj + 0002:0009d790 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QA_N@Z 005e1790 f i ServerDlg.obj + 0002:0009d810 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QA_N@Z 005e1810 f i ServerDlg.obj + 0002:0009d890 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QA_N@Z 005e1890 f i ServerDlg.obj + 0002:0009d910 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QA_N@Z 005e1910 f i ServerDlg.obj + 0002:0009d990 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QA_N@Z 005e1990 f i ServerDlg.obj + 0002:0009da10 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QA_N@Z 005e1a10 f i ServerDlg.obj + 0002:0009da90 ??$?0PAVThread@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVThread@@@1@@Z 005e1a90 f i ServerDlg.obj + 0002:0009dad0 ??$?0U?$_List_node@HPAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_List_node@HPAX@std@@@1@@Z 005e1ad0 f i ServerDlg.obj + 0002:0009db10 ??$?0U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 005e1b10 f i ServerDlg.obj + 0002:0009db50 ??$?0U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 005e1b50 f i ServerDlg.obj + 0002:0009db90 ??$?0U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e1b90 f i ServerDlg.obj + 0002:0009dbd0 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 005e1bd0 f i ServerDlg.obj + 0002:0009dc10 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 005e1c10 f i ServerDlg.obj + 0002:0009dc50 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 005e1c50 f i ServerDlg.obj + 0002:0009dc90 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 005e1c90 f i ServerDlg.obj + 0002:0009dcd0 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 005e1cd0 f i ServerDlg.obj + 0002:0009dd10 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 005e1d10 f i ServerDlg.obj + 0002:0009dd50 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 005e1d50 f i ServerDlg.obj + 0002:0009dd90 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 005e1d90 f i ServerDlg.obj + 0002:0009ddd0 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 005e1dd0 f i ServerDlg.obj + 0002:0009de10 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 005e1e10 f i ServerDlg.obj + 0002:0009de50 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 005e1e50 f i ServerDlg.obj + 0002:0009de90 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 005e1e90 f i ServerDlg.obj + 0002:0009ded0 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 005e1ed0 f i ServerDlg.obj + 0002:0009df10 ??$?0U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 005e1f10 f i ServerDlg.obj + 0002:0009df50 ??$?0U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 005e1f50 f i ServerDlg.obj + 0002:0009df90 ??$?0U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 005e1f90 f i ServerDlg.obj + 0002:0009dfd0 ??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 005e1fd0 f i ServerDlg.obj + 0002:0009e010 ??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 005e2010 f i ServerDlg.obj + 0002:0009e050 ??$?0U?$less@G@std@@U_One_then_variadic_args_t@1@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$less@G@1@$$QAU21@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e2050 f i ServerDlg.obj + 0002:0009e0e0 ??$?0U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005e20e0 f i ServerDlg.obj + 0002:0009e260 ??$?0U?$pair@GPAVCGameSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005e2260 f i ServerDlg.obj + 0002:0009e3e0 ??$?0U?$pair@GPAVKOSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005e23e0 f i ServerDlg.obj + 0002:0009e560 ??$?0U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005e2560 f i ServerDlg.obj + 0002:0009e6e0 ??$?0U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005e26e0 f i ServerDlg.obj + 0002:0009e860 ??$?0U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005e2860 f i ServerDlg.obj + 0002:0009e9e0 ??$?0U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005e29e0 f i ServerDlg.obj + 0002:0009eb60 ??$?0U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005e2b60 f i ServerDlg.obj + 0002:0009ece0 ??$?0U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005e2ce0 f i ServerDlg.obj + 0002:0009ee60 ??$?0U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005e2e60 f i ServerDlg.obj + 0002:0009efe0 ??$?0U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005e2fe0 f i ServerDlg.obj + 0002:0009f160 ??$?0U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005e3160 f i ServerDlg.obj + 0002:0009f2e0 ??$?0U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005e32e0 f i ServerDlg.obj + 0002:0009f460 ??$?0U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005e3460 f i ServerDlg.obj + 0002:0009f5e0 ??$?0U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005e35e0 f i ServerDlg.obj + 0002:0009f760 ??$?0U?$pair@IPAVCNpc@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 005e3760 f i ServerDlg.obj + 0002:0009f8e0 ??$?0U?$pair@IPAVCNpcTable@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005e38e0 f i ServerDlg.obj + 0002:0009fa60 ??$?0U?$pair@IPAVCNpcThread@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005e3a60 f i ServerDlg.obj + 0002:0009fbe0 ??$?0U?$pair@IPAVMAP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QAU?$pair@IPAVMAP@@@1@@Z 005e3be0 f i ServerDlg.obj + 0002:0009fd60 ??$?0U_Exact_args_t@std@@ABG$$V$0A@@?$tuple@ABG@std@@QAE@U_Exact_args_t@1@ABG@Z 005e3d60 f i ServerDlg.obj + 0002:0009fdf0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@1@AB_N@Z 005e3df0 f i ServerDlg.obj + 0002:0009fe70 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@1@AB_N@Z 005e3e70 f i ServerDlg.obj + 0002:0009fef0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@AB_N@Z 005e3ef0 f i ServerDlg.obj + 0002:0009ff70 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@1@AB_N@Z 005e3f70 f i ServerDlg.obj + 0002:0009fff0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@1@AB_N@Z 005e3ff0 f i ServerDlg.obj + 0002:000a0070 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@1@AB_N@Z 005e4070 f i ServerDlg.obj + 0002:000a00f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@1@AB_N@Z 005e40f0 f i ServerDlg.obj + 0002:000a0170 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@1@AB_N@Z 005e4170 f i ServerDlg.obj + 0002:000a01f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@1@AB_N@Z 005e41f0 f i ServerDlg.obj + 0002:000a0270 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@1@AB_N@Z 005e4270 f i ServerDlg.obj + 0002:000a02f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@1@AB_N@Z 005e42f0 f i ServerDlg.obj + 0002:000a0370 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@1@AB_N@Z 005e4370 f i ServerDlg.obj + 0002:000a03f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@AB_N@Z 005e43f0 f i ServerDlg.obj + 0002:000a0470 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@1@AB_N@Z 005e4470 f i ServerDlg.obj + 0002:000a04f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@1@AB_N@Z 005e44f0 f i ServerDlg.obj + 0002:000a0570 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@AB_N@Z 005e4570 f i ServerDlg.obj + 0002:000a05f0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@1@AB_N@Z 005e45f0 f i ServerDlg.obj + 0002:000a0670 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@1@AB_N@Z 005e4670 f i ServerDlg.obj + 0002:000a06f0 ??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e46f0 f i ServerDlg.obj + 0002:000a0760 ??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e4760 f i ServerDlg.obj + 0002:000a0940 ??$?0V?$tuple@ABG@std@@V?$tuple@$$V@1@$0A@$$Z$S@?$pair@$$CBGPAVCUser@@@std@@QAE@AAV?$tuple@ABG@1@AAV?$tuple@$$V@1@U?$integer_sequence@I$0A@@1@U?$integer_sequence@I$S@1@@Z 005e4940 f i ServerDlg.obj + 0002:000a09c0 ??$?4F@?$Atomic@G@@QAEAAV0@ABF@Z 005e49c0 f i ServerDlg.obj + 0002:000a0a20 ??$?4H@?$Atomic@G@@QAEAAV0@ABH@Z 005e4a20 f i ServerDlg.obj + 0002:000a0a80 ??$ListenSocketThread@VCGameSocket@@@@YGIPAX@Z 005e4a80 f i ServerDlg.obj + 0002:000a0b00 ??$_Atomic_reinterpret_as@FG@std@@YAFABG@Z 005e4b00 f i ServerDlg.obj + 0002:000a0bb0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 005e4bb0 f i ServerDlg.obj + 0002:000a0cd0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 005e4cd0 f i ServerDlg.obj + 0002:000a0df0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e4df0 f i ServerDlg.obj + 0002:000a0f10 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 005e4f10 f i ServerDlg.obj + 0002:000a1030 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 005e5030 f i ServerDlg.obj + 0002:000a1150 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 005e5150 f i ServerDlg.obj + 0002:000a1270 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 005e5270 f i ServerDlg.obj + 0002:000a1390 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 005e5390 f i ServerDlg.obj + 0002:000a14b0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 005e54b0 f i ServerDlg.obj + 0002:000a15d0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 005e55d0 f i ServerDlg.obj + 0002:000a16f0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 005e56f0 f i ServerDlg.obj + 0002:000a1810 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 005e5810 f i ServerDlg.obj + 0002:000a1930 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 005e5930 f i ServerDlg.obj + 0002:000a1a50 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 005e5a50 f i ServerDlg.obj + 0002:000a1b70 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 005e5b70 f i ServerDlg.obj + 0002:000a1c90 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 005e5c90 f i ServerDlg.obj + 0002:000a1db0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 005e5db0 f i ServerDlg.obj + 0002:000a1ed0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 005e5ed0 f i ServerDlg.obj + 0002:000a1ff0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 005e5ff0 f i ServerDlg.obj + 0002:000a2110 ??$_Buynode@AAU?$pair@$$CBGPAVKOSocket@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z 005e6110 f i ServerDlg.obj + 0002:000a2190 ??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@AAU?$pair@$$CBGPAVKOSocket@@@2@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z 005e6190 f i ServerDlg.obj + 0002:000a2350 ??$_Copy@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXABV01@U_Copy_tag@01@@Z 005e6350 f i ServerDlg.obj + 0002:000a2470 ??$_Copy_memmove@PAPAVThread@@PAPAV1@@std@@YAPAPAVThread@@PAPAV1@00@Z 005e6470 f i ServerDlg.obj + 0002:000a24f0 ??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 005e64f0 f i ServerDlg.obj + 0002:000a26e0 ??$_Copy_or_move@U?$pair@$$CBGPAVKOSocket@@@std@@U?$integral_constant@_N$0A@@2@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@AAU?$pair@$$CBGPAVKOSocket@@@1@U_Copy_tag@01@U?$integral_constant@_N$0A@@1@@Z 005e66e0 f i ServerDlg.obj + 0002:000a2740 ??$_Destroy_range@V?$allocator@PAVThread@@@std@@@std@@YAXPAPAVThread@@QAPAV1@AAV?$allocator@PAVThread@@@0@@Z 005e6740 f i ServerDlg.obj + 0002:000a2770 ??$_Emplace@U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@_N@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005e6770 f i ServerDlg.obj + 0002:000a2930 ??$_Emplace@U?$pair@GPAVCGameSocket@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005e6930 f i ServerDlg.obj + 0002:000a2af0 ??$_Emplace@U?$pair@GPAVKOSocket@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@_N@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005e6af0 f i ServerDlg.obj + 0002:000a2cb0 ??$_Emplace@U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005e6cb0 f i ServerDlg.obj + 0002:000a2e70 ??$_Emplace@U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005e6e70 f i ServerDlg.obj + 0002:000a3030 ??$_Emplace@U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005e7030 f i ServerDlg.obj + 0002:000a31f0 ??$_Emplace@U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005e71f0 f i ServerDlg.obj + 0002:000a33b0 ??$_Emplace@U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005e73b0 f i ServerDlg.obj + 0002:000a3570 ??$_Emplace@U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005e7570 f i ServerDlg.obj + 0002:000a3730 ??$_Emplace@U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005e7730 f i ServerDlg.obj + 0002:000a38f0 ??$_Emplace@U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005e78f0 f i ServerDlg.obj + 0002:000a3ab0 ??$_Emplace@U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005e7ab0 f i ServerDlg.obj + 0002:000a3c70 ??$_Emplace@U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005e7c70 f i ServerDlg.obj + 0002:000a3e30 ??$_Emplace@U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005e7e30 f i ServerDlg.obj + 0002:000a3ff0 ??$_Emplace@U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005e7ff0 f i ServerDlg.obj + 0002:000a41b0 ??$_Emplace@U?$pair@IPAVCNpc@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 005e81b0 f i ServerDlg.obj + 0002:000a4370 ??$_Emplace@U?$pair@IPAVCNpcTable@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005e8370 f i ServerDlg.obj + 0002:000a4530 ??$_Emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005e8530 f i ServerDlg.obj + 0002:000a4750 ??$_Emplace@U?$pair@IPAVMAP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVMAP@@@1@@Z 005e8750 f i ServerDlg.obj + 0002:000a4910 ??$_Emplace_back_with_unused_capacity@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAE@$$QAPAVThread@@@Z 005e8910 f i ServerDlg.obj + 0002:000a49e0 ??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 005e89e0 f i ServerDlg.obj + 0002:000a4ca0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 005e8ca0 f i ServerDlg.obj + 0002:000a4d30 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 005e8d30 f i ServerDlg.obj + 0002:000a4dc0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005e8dc0 f i ServerDlg.obj + 0002:000a4e50 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 005e8e50 f i ServerDlg.obj + 0002:000a4ee0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 005e8ee0 f i ServerDlg.obj + 0002:000a4f70 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 005e8f70 f i ServerDlg.obj + 0002:000a5000 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 005e9000 f i ServerDlg.obj + 0002:000a5090 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 005e9090 f i ServerDlg.obj + 0002:000a5120 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 005e9120 f i ServerDlg.obj + 0002:000a51b0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 005e91b0 f i ServerDlg.obj + 0002:000a5240 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 005e9240 f i ServerDlg.obj + 0002:000a52d0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 005e92d0 f i ServerDlg.obj + 0002:000a5360 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 005e9360 f i ServerDlg.obj + 0002:000a53f0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 005e93f0 f i ServerDlg.obj + 0002:000a5480 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 005e9480 f i ServerDlg.obj + 0002:000a5510 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 005e9510 f i ServerDlg.obj + 0002:000a55a0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 005e95a0 f i ServerDlg.obj + 0002:000a5630 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 005e9630 f i ServerDlg.obj + 0002:000a56c0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 005e96c0 f i ServerDlg.obj + 0002:000a5750 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 005e9750 f i ServerDlg.obj + 0002:000a57e0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 005e97e0 f i ServerDlg.obj + 0002:000a5870 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@@Z 005e9870 f i ServerDlg.obj + 0002:000a5940 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@@Z 005e9940 f i ServerDlg.obj + 0002:000a5a10 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 005e9a10 f i ServerDlg.obj + 0002:000a5ae0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@@Z 005e9ae0 f i ServerDlg.obj + 0002:000a5bb0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@@Z 005e9bb0 f i ServerDlg.obj + 0002:000a5c80 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@@Z 005e9c80 f i ServerDlg.obj + 0002:000a5d50 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@@Z 005e9d50 f i ServerDlg.obj + 0002:000a5e20 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@@Z 005e9e20 f i ServerDlg.obj + 0002:000a5ef0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@@Z 005e9ef0 f i ServerDlg.obj + 0002:000a5fc0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@@Z 005e9fc0 f i ServerDlg.obj + 0002:000a6090 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@@Z 005ea090 f i ServerDlg.obj + 0002:000a6160 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@@Z 005ea160 f i ServerDlg.obj + 0002:000a6230 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@@Z 005ea230 f i ServerDlg.obj + 0002:000a6300 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 005ea300 f i ServerDlg.obj + 0002:000a63d0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@@Z 005ea3d0 f i ServerDlg.obj + 0002:000a64a0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@@Z 005ea4a0 f i ServerDlg.obj + 0002:000a6570 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@@Z 005ea570 f i ServerDlg.obj + 0002:000a6640 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@@Z 005ea640 f i ServerDlg.obj + 0002:000a6710 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@@Z 005ea710 f i ServerDlg.obj + 0002:000a67e0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 005ea7e0 f i ServerDlg.obj + 0002:000a68b0 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 005ea8b0 f i ServerDlg.obj + 0002:000a6980 ??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 005ea980 f i ServerDlg.obj + 0002:000a6a60 ??$_Find@E@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@ABE@Z 005eaa60 f i ServerDlg.obj + 0002:000a6b30 ??$_Find@G@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@ABG@Z 005eab30 f i ServerDlg.obj + 0002:000a6c00 ??$_Find@G@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@ABG@Z 005eac00 f i ServerDlg.obj + 0002:000a6cd0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@ABI@Z 005eacd0 f i ServerDlg.obj + 0002:000a6da0 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@ABI@Z 005eada0 f i ServerDlg.obj + 0002:000a6e70 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@ABI@Z 005eae70 f i ServerDlg.obj + 0002:000a6f40 ??$_Find@I@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@ABI@Z 005eaf40 f i ServerDlg.obj + 0002:000a7010 ??$_Find_lower_bound@E@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@ABE@Z 005eb010 f i ServerDlg.obj + 0002:000a7170 ??$_Find_lower_bound@G@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@ABG@Z 005eb170 f i ServerDlg.obj + 0002:000a72d0 ??$_Find_lower_bound@G@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@ABG@Z 005eb2d0 f i ServerDlg.obj + 0002:000a7430 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@ABI@Z 005eb430 f i ServerDlg.obj + 0002:000a7590 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@ABI@Z 005eb590 f i ServerDlg.obj + 0002:000a76f0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@ABI@Z 005eb6f0 f i ServerDlg.obj + 0002:000a7850 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@ABI@Z 005eb850 f i ServerDlg.obj + 0002:000a79b0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@ABI@Z 005eb9b0 f i ServerDlg.obj + 0002:000a7b10 ??$_Free_non_head@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 005ebb10 f i ServerDlg.obj + 0002:000a7ba0 ??$_Freenode0@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 005ebba0 f i ServerDlg.obj + 0002:000a7c70 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 005ebc70 f i ServerDlg.obj + 0002:000a7d60 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 005ebd60 f i ServerDlg.obj + 0002:000a7e50 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 005ebe50 f i ServerDlg.obj + 0002:000a7f40 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 005ebf40 f i ServerDlg.obj + 0002:000a8030 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 005ec030 f i ServerDlg.obj + 0002:000a8120 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 005ec120 f i ServerDlg.obj + 0002:000a8210 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 005ec210 f i ServerDlg.obj + 0002:000a8300 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 005ec300 f i ServerDlg.obj + 0002:000a83f0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 005ec3f0 f i ServerDlg.obj + 0002:000a84e0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 005ec4e0 f i ServerDlg.obj + 0002:000a85d0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 005ec5d0 f i ServerDlg.obj + 0002:000a86c0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 005ec6c0 f i ServerDlg.obj + 0002:000a87b0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 005ec7b0 f i ServerDlg.obj + 0002:000a88a0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 005ec8a0 f i ServerDlg.obj + 0002:000a8990 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 005ec990 f i ServerDlg.obj + 0002:000a8a80 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 005eca80 f i ServerDlg.obj + 0002:000a8b70 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 005ecb70 f i ServerDlg.obj + 0002:000a8c60 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 005ecc60 f i ServerDlg.obj + 0002:000a8d50 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 005ecd50 f i ServerDlg.obj + 0002:000a8e40 ??$_Freenode@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 005ece40 f i ServerDlg.obj + 0002:000a8ef0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 005ecef0 f i ServerDlg.obj + 0002:000a8fa0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 005ecfa0 f i ServerDlg.obj + 0002:000a9050 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 005ed050 f i ServerDlg.obj + 0002:000a9100 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 005ed100 f i ServerDlg.obj + 0002:000a91b0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 005ed1b0 f i ServerDlg.obj + 0002:000a9260 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 005ed260 f i ServerDlg.obj + 0002:000a9310 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 005ed310 f i ServerDlg.obj + 0002:000a93c0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 005ed3c0 f i ServerDlg.obj + 0002:000a9470 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 005ed470 f i ServerDlg.obj + 0002:000a9520 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 005ed520 f i ServerDlg.obj + 0002:000a95d0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 005ed5d0 f i ServerDlg.obj + 0002:000a9680 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 005ed680 f i ServerDlg.obj + 0002:000a9730 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 005ed730 f i ServerDlg.obj + 0002:000a97e0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 005ed7e0 f i ServerDlg.obj + 0002:000a9890 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 005ed890 f i ServerDlg.obj + 0002:000a9940 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 005ed940 f i ServerDlg.obj + 0002:000a99f0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 005ed9f0 f i ServerDlg.obj + 0002:000a9aa0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 005edaa0 f i ServerDlg.obj + 0002:000a9b50 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 005edb50 f i ServerDlg.obj + 0002:000a9c00 ??$_Get_size_of_n@$0M@@std@@YAII@Z 005edc00 f i ServerDlg.obj + 0002:000a9c60 ??$_Get_unwrapped@PAVThread@@@std@@YAPAPAVThread@@QAPAV1@@Z 005edc60 f i ServerDlg.obj + 0002:000a9ca0 ??$_Kfn@$$CBEPAVCNpcThread@@@?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@SAABEABU?$pair@$$CBEPAVCNpcThread@@@1@@Z 005edca0 f i ServerDlg.obj + 0002:000a9ce0 ??$_Kfn@$$CBGPAU_ZONE_INFO@@@?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@SAABGABU?$pair@$$CBGPAU_ZONE_INFO@@@1@@Z 005edce0 f i ServerDlg.obj + 0002:000a9d20 ??$_Kfn@$$CBGPAVKOSocket@@@?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@SAABGABU?$pair@$$CBGPAVKOSocket@@@1@@Z 005edd20 f i ServerDlg.obj + 0002:000a9d60 ??$_Kfn@$$CBIPAU_NPC_LIVE_TIME@@@?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@@Z 005edd60 f i ServerDlg.obj + 0002:000a9da0 ??$_Kfn@$$CBIPAU_OBJECT_EVENT@@@?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@@Z 005edda0 f i ServerDlg.obj + 0002:000a9de0 ??$_Kfn@$$CBIPAU_SERVER_RESOURCE@@@?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@@Z 005edde0 f i ServerDlg.obj + 0002:000a9e20 ??$_Kfn@$$CBIPAVCNpcTable@@@?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAVCNpcTable@@@1@@Z 005ede20 f i ServerDlg.obj + 0002:000a9e60 ??$_Kfn@$$CBIPAVMAP@@@?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAVMAP@@@1@@Z 005ede60 f i ServerDlg.obj + 0002:000a9ea0 ??$_Lower_bound_duplicate@E@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@ABE@Z 005edea0 f i ServerDlg.obj + 0002:000a9f50 ??$_Lower_bound_duplicate@G@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@ABG@Z 005edf50 f i ServerDlg.obj + 0002:000aa000 ??$_Lower_bound_duplicate@G@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@ABG@Z 005ee000 f i ServerDlg.obj + 0002:000aa0b0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@ABI@Z 005ee0b0 f i ServerDlg.obj + 0002:000aa160 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@ABI@Z 005ee160 f i ServerDlg.obj + 0002:000aa210 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@ABI@Z 005ee210 f i ServerDlg.obj + 0002:000aa2c0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@ABI@Z 005ee2c0 f i ServerDlg.obj + 0002:000aa370 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@ABI@Z 005ee370 f i ServerDlg.obj + 0002:000aa420 ??$_Try_emplace@ABG$$V@?$map@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@@std@@AAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@_N@1@ABG@Z 005ee420 f i ServerDlg.obj + 0002:000aa5e0 ??$_Unfancy@PAVThread@@@std@@YAPAPAVThread@@PAPAV1@@Z 005ee5e0 f i ServerDlg.obj + 0002:000aa620 ??$_Uninitialized_move@PAPAVThread@@V?$allocator@PAVThread@@@std@@@std@@YAPAPAVThread@@QAPAV1@0PAPAV1@AAV?$allocator@PAVThread@@@0@@Z 005ee620 f i ServerDlg.obj + 0002:000aa6c0 ??$addressof@$$CBG@std@@YAPBGABG@Z 005ee6c0 f i ServerDlg.obj + 0002:000aa700 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@0@ABV10@@Z 005ee700 f i ServerDlg.obj + 0002:000aa740 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@0@ABV10@@Z 005ee740 f i ServerDlg.obj + 0002:000aa780 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@0@ABV10@@Z 005ee780 f i ServerDlg.obj + 0002:000aa7c0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@0@ABV10@@Z 005ee7c0 f i ServerDlg.obj + 0002:000aa800 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@ABV10@@Z 005ee800 f i ServerDlg.obj + 0002:000aa840 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@0@ABV10@@Z 005ee840 f i ServerDlg.obj + 0002:000aa880 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@0@ABV10@@Z 005ee880 f i ServerDlg.obj + 0002:000aa8c0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@0@ABV10@@Z 005ee8c0 f i ServerDlg.obj + 0002:000aa900 ??$addressof@H@std@@YAPAHAAH@Z 005ee900 f i ServerDlg.obj + 0002:000aa940 ??$addressof@PAU?$_List_node@HPAX@std@@@std@@YAPAPAU?$_List_node@HPAX@0@AAPAU10@@Z 005ee940 f i ServerDlg.obj + 0002:000aa980 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@0@AAPAU10@@Z 005ee980 f i ServerDlg.obj + 0002:000aa9c0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@0@AAPAU10@@Z 005ee9c0 f i ServerDlg.obj + 0002:000aaa00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@0@AAPAU10@@Z 005eea00 f i ServerDlg.obj + 0002:000aaa40 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@0@AAPAU10@@Z 005eea40 f i ServerDlg.obj + 0002:000aaa80 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@0@AAPAU10@@Z 005eea80 f i ServerDlg.obj + 0002:000aaac0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@0@AAPAU10@@Z 005eeac0 f i ServerDlg.obj + 0002:000aab00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@0@AAPAU10@@Z 005eeb00 f i ServerDlg.obj + 0002:000aab40 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@0@AAPAU10@@Z 005eeb40 f i ServerDlg.obj + 0002:000aab80 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@0@AAPAU10@@Z 005eeb80 f i ServerDlg.obj + 0002:000aabc0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@0@AAPAU10@@Z 005eebc0 f i ServerDlg.obj + 0002:000aac00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@0@AAPAU10@@Z 005eec00 f i ServerDlg.obj + 0002:000aac40 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@0@AAPAU10@@Z 005eec40 f i ServerDlg.obj + 0002:000aac80 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@0@AAPAU10@@Z 005eec80 f i ServerDlg.obj + 0002:000aacc0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 005eecc0 f i ServerDlg.obj + 0002:000aad00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@0@AAPAU10@@Z 005eed00 f i ServerDlg.obj + 0002:000aad40 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@0@AAPAU10@@Z 005eed40 f i ServerDlg.obj + 0002:000aad80 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@0@AAPAU10@@Z 005eed80 f i ServerDlg.obj + 0002:000aadc0 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 005eedc0 f i ServerDlg.obj + 0002:000aae00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 005eee00 f i ServerDlg.obj + 0002:000aae40 ??$addressof@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@YAPAU?$pair@$$CBEPAVCNpcThread@@@0@AAU10@@Z 005eee40 f i ServerDlg.obj + 0002:000aae80 ??$addressof@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@YAPAU?$pair@$$CBGPAU_ZONE_INFO@@@0@AAU10@@Z 005eee80 f i ServerDlg.obj + 0002:000aaec0 ??$addressof@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@YAPAU?$pair@$$CBGPAVKOSocket@@@0@AAU10@@Z 005eeec0 f i ServerDlg.obj + 0002:000aaf00 ??$addressof@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@YAPAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@0@AAU10@@Z 005eef00 f i ServerDlg.obj + 0002:000aaf40 ??$addressof@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@YAPAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@0@AAU10@@Z 005eef40 f i ServerDlg.obj + 0002:000aaf80 ??$addressof@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@YAPAU?$pair@$$CBIPAVCNpcTable@@@0@AAU10@@Z 005eef80 f i ServerDlg.obj + 0002:000aafc0 ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@0@AAU10@@Z 005eefc0 f i ServerDlg.obj + 0002:000ab000 ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 005ef000 f i ServerDlg.obj + 0002:000ab040 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@0@AAV10@@Z 005ef040 f i ServerDlg.obj + 0002:000ab080 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@0@AAV10@@Z 005ef080 f i ServerDlg.obj + 0002:000ab0c0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@0@AAV10@@Z 005ef0c0 f i ServerDlg.obj + 0002:000ab100 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@0@AAV10@@Z 005ef100 f i ServerDlg.obj + 0002:000ab140 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@0@AAV10@@Z 005ef140 f i ServerDlg.obj + 0002:000ab180 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@0@AAV10@@Z 005ef180 f i ServerDlg.obj + 0002:000ab1c0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@AAV10@@Z 005ef1c0 f i ServerDlg.obj + 0002:000ab200 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@AAV10@@Z 005ef200 f i ServerDlg.obj + 0002:000ab240 ??$addressof@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@YAPAV?$_Vector_val@U?$_Simple_types@G@std@@@0@AAV10@@Z 005ef240 f i ServerDlg.obj + 0002:000ab280 ??$addressof@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@YAPAV?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@0@AAV10@@Z 005ef280 f i ServerDlg.obj + 0002:000ab2c0 ??$addressof@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@boost@@YAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@AAV12@@Z 005ef2c0 f i ServerDlg.obj + 0002:000ab300 ??$and_@U?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@boost@@U?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@3@@foreach_detail_@boost@@YAPAU?$and_@U?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@boost@@U?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@3@U?$bool_@$00@23@U623@U623@@mpl@1@PAU?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@31@PAU?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@1@@Z 005ef300 f i ServerDlg.obj + 0002:000ab330 ??$auto_any_cast@PAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YAAAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@ABUauto_any_base@01@@Z 005ef330 f i ServerDlg.obj + 0002:000ab370 ??$auto_any_cast@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YAAAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@ABUauto_any_base@01@@Z 005ef370 f i ServerDlg.obj + 0002:000ab3b0 ??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@range_adl_barrier@boost@@YA?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@3@@Z 005ef3b0 f i ServerDlg.obj + 0002:000ab430 ??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 005ef430 f i ServerDlg.obj + 0002:000ab540 ??$boost_foreach_is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@@YAPAU?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@AAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@W4boost_foreach_argument_dependent_lookup_hack@@@Z 005ef540 f i ServerDlg.obj + 0002:000ab570 ??$boost_foreach_is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@@YAPAU?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@AAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@W4boost_foreach_argument_dependent_lookup_hack@@@Z 005ef570 f i ServerDlg.obj + 0002:000ab5a0 ??$construct@PAU?$_List_node@HPAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_List_node@HPAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@QAPAU?$_List_node@HPAX@1@AAPAU31@@Z 005ef5a0 f i ServerDlg.obj + 0002:000ab620 ??$construct@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@AAPAU31@@Z 005ef620 f i ServerDlg.obj + 0002:000ab6a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@AAPAU31@@Z 005ef6a0 f i ServerDlg.obj + 0002:000ab720 ??$construct@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@AAPAU31@@Z 005ef720 f i ServerDlg.obj + 0002:000ab7a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@AAPAU31@@Z 005ef7a0 f i ServerDlg.obj + 0002:000ab820 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@AAPAU31@@Z 005ef820 f i ServerDlg.obj + 0002:000ab8a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@AAPAU31@@Z 005ef8a0 f i ServerDlg.obj + 0002:000ab920 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@AAPAU31@@Z 005ef920 f i ServerDlg.obj + 0002:000ab9a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@AAPAU31@@Z 005ef9a0 f i ServerDlg.obj + 0002:000aba20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@AAPAU31@@Z 005efa20 f i ServerDlg.obj + 0002:000abaa0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@AAPAU31@@Z 005efaa0 f i ServerDlg.obj + 0002:000abb20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@AAPAU31@@Z 005efb20 f i ServerDlg.obj + 0002:000abba0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@AAPAU31@@Z 005efba0 f i ServerDlg.obj + 0002:000abc20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@AAPAU31@@Z 005efc20 f i ServerDlg.obj + 0002:000abca0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@AAPAU31@@Z 005efca0 f i ServerDlg.obj + 0002:000abd20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@AAPAU31@@Z 005efd20 f i ServerDlg.obj + 0002:000abda0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@AAPAU31@@Z 005efda0 f i ServerDlg.obj + 0002:000abe20 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@AAPAU31@@Z 005efe20 f i ServerDlg.obj + 0002:000abea0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@AAPAU31@@Z 005efea0 f i ServerDlg.obj + 0002:000abf20 ??$construct@PAVThread@@PAV1@@?$_Default_allocator_traits@V?$allocator@PAVThread@@@std@@@std@@SAXAAV?$allocator@PAVThread@@@1@QAPAVThread@@$$QAPAV3@@Z 005eff20 f i ServerDlg.obj + 0002:000abfa0 ??$construct@U?$pair@$$CBEPAVCNpcThread@@@std@@U?$pair@IPAVCNpcThread@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@QAU?$pair@$$CBEPAVCNpcThread@@@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005effa0 f i ServerDlg.obj + 0002:000ac020 ??$construct@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@U?$pair@GPAU_ZONE_INFO@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAU_ZONE_INFO@@@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005f0020 f i ServerDlg.obj + 0002:000ac0a0 ??$construct@U?$pair@$$CBGPAVCUser@@@std@@ABUpiecewise_construct_t@2@V?$tuple@ABG@2@V?$tuple@$$V@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVCUser@@@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z 005f00a0 f i ServerDlg.obj + 0002:000ac160 ??$construct@U?$pair@$$CBGPAVKOSocket@@@std@@AAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVKOSocket@@@1@AAU31@@Z 005f0160 f i ServerDlg.obj + 0002:000ac1e0 ??$construct@U?$pair@$$CBGPAVKOSocket@@@std@@U?$pair@GPAVCGameSocket@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVKOSocket@@@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005f01e0 f i ServerDlg.obj + 0002:000ac260 ??$construct@U?$pair@$$CBGPAVKOSocket@@@std@@U?$pair@GPAVKOSocket@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVKOSocket@@@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005f0260 f i ServerDlg.obj + 0002:000ac2e0 ??$construct@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@U?$pair@IPAU_K_MONSTER_ITEM@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005f02e0 f i ServerDlg.obj + 0002:000ac360 ??$construct@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@U?$pair@IPAU_MAGIC_TABLE@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005f0360 f i ServerDlg.obj + 0002:000ac3e0 ??$construct@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@U?$pair@IPAU_MAGIC_TYPE1@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005f03e0 f i ServerDlg.obj + 0002:000ac460 ??$construct@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@U?$pair@IPAU_MAGIC_TYPE2@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005f0460 f i ServerDlg.obj + 0002:000ac4e0 ??$construct@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@U?$pair@IPAU_MAGIC_TYPE4@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005f04e0 f i ServerDlg.obj + 0002:000ac560 ??$construct@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005f0560 f i ServerDlg.obj + 0002:000ac5e0 ??$construct@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@U?$pair@IPAU_MAKE_ITEM_GROUP@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005f05e0 f i ServerDlg.obj + 0002:000ac660 ??$construct@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005f0660 f i ServerDlg.obj + 0002:000ac6e0 ??$construct@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@U?$pair@IPAU_MAKE_WEAPON@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005f06e0 f i ServerDlg.obj + 0002:000ac760 ??$construct@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@U?$pair@IPAU_NPC_LIVE_TIME@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005f0760 f i ServerDlg.obj + 0002:000ac7e0 ??$construct@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@U?$pair@IPAU_OBJECT_EVENT@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005f07e0 f i ServerDlg.obj + 0002:000ac860 ??$construct@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@U?$pair@IPAU_SERVER_RESOURCE@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005f0860 f i ServerDlg.obj + 0002:000ac8e0 ??$construct@U?$pair@$$CBIPAVCNpc@@@std@@U?$pair@IPAVCNpc@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCNpc@@@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 005f08e0 f i ServerDlg.obj + 0002:000ac960 ??$construct@U?$pair@$$CBIPAVCNpcTable@@@std@@U?$pair@IPAVCNpcTable@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCNpcTable@@@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005f0960 f i ServerDlg.obj + 0002:000ac9e0 ??$construct@U?$pair@$$CBIPAVMAP@@@std@@U?$pair@IPAVMAP@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVMAP@@@1@$$QAU?$pair@IPAVMAP@@@1@@Z 005f09e0 f i ServerDlg.obj + 0002:000aca60 ??$contain@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YA?AU?$auto_any@PAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@01@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@PAU?$bool_@$0A@@mpl@1@@Z 005f0a60 f i ServerDlg.obj + 0002:000acad0 ??$deref@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YAAAU?$pair@$$CBGPAVKOSocket@@@std@@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@@Z 005f0ad0 f i ServerDlg.obj + 0002:000acb30 ??$destroy@G@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SAXAAV?$allocator@G@1@QAG@Z 005f0b30 f i ServerDlg.obj + 0002:000acb60 ??$destroy@H@?$_Default_allocator_traits@V?$allocator@U?$_List_node@HPAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@QAH@Z 005f0b60 f i ServerDlg.obj + 0002:000acb90 ??$destroy@PAU?$_List_node@HPAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_List_node@HPAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@QAPAU?$_List_node@HPAX@1@@Z 005f0b90 f i ServerDlg.obj + 0002:000acbc0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@@Z 005f0bc0 f i ServerDlg.obj + 0002:000acbf0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@@Z 005f0bf0 f i ServerDlg.obj + 0002:000acc20 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 005f0c20 f i ServerDlg.obj + 0002:000acc50 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@@Z 005f0c50 f i ServerDlg.obj + 0002:000acc80 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@@Z 005f0c80 f i ServerDlg.obj + 0002:000accb0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@@Z 005f0cb0 f i ServerDlg.obj + 0002:000acce0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@@Z 005f0ce0 f i ServerDlg.obj + 0002:000acd10 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@@Z 005f0d10 f i ServerDlg.obj + 0002:000acd40 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@@Z 005f0d40 f i ServerDlg.obj + 0002:000acd70 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@@Z 005f0d70 f i ServerDlg.obj + 0002:000acda0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@@Z 005f0da0 f i ServerDlg.obj + 0002:000acdd0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@@Z 005f0dd0 f i ServerDlg.obj + 0002:000ace00 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@@Z 005f0e00 f i ServerDlg.obj + 0002:000ace30 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 005f0e30 f i ServerDlg.obj + 0002:000ace60 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@@Z 005f0e60 f i ServerDlg.obj + 0002:000ace90 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@@Z 005f0e90 f i ServerDlg.obj + 0002:000acec0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@@Z 005f0ec0 f i ServerDlg.obj + 0002:000acef0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 005f0ef0 f i ServerDlg.obj + 0002:000acf20 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 005f0f20 f i ServerDlg.obj + 0002:000acf50 ??$destroy@U?$pair@$$CBEPAVCNpcThread@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@QAU?$pair@$$CBEPAVCNpcThread@@@1@@Z 005f0f50 f i ServerDlg.obj + 0002:000acf80 ??$destroy@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAU_ZONE_INFO@@@1@@Z 005f0f80 f i ServerDlg.obj + 0002:000acfb0 ??$destroy@U?$pair@$$CBGPAVKOSocket@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@QAU?$pair@$$CBGPAVKOSocket@@@1@@Z 005f0fb0 f i ServerDlg.obj + 0002:000acfe0 ??$destroy@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_K_MONSTER_ITEM@@@1@@Z 005f0fe0 f i ServerDlg.obj + 0002:000ad010 ??$destroy@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TABLE@@@1@@Z 005f1010 f i ServerDlg.obj + 0002:000ad040 ??$destroy@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE1@@@1@@Z 005f1040 f i ServerDlg.obj + 0002:000ad070 ??$destroy@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE2@@@1@@Z 005f1070 f i ServerDlg.obj + 0002:000ad0a0 ??$destroy@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAGIC_TYPE4@@@1@@Z 005f10a0 f i ServerDlg.obj + 0002:000ad0d0 ??$destroy@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005f10d0 f i ServerDlg.obj + 0002:000ad100 ??$destroy@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@1@@Z 005f1100 f i ServerDlg.obj + 0002:000ad130 ??$destroy@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005f1130 f i ServerDlg.obj + 0002:000ad160 ??$destroy@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_MAKE_WEAPON@@@1@@Z 005f1160 f i ServerDlg.obj + 0002:000ad190 ??$destroy@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@@Z 005f1190 f i ServerDlg.obj + 0002:000ad1c0 ??$destroy@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_OBJECT_EVENT@@@1@@Z 005f11c0 f i ServerDlg.obj + 0002:000ad1f0 ??$destroy@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@@Z 005f11f0 f i ServerDlg.obj + 0002:000ad220 ??$destroy@U?$pair@$$CBIPAVCNpcTable@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVCNpcTable@@@1@@Z 005f1220 f i ServerDlg.obj + 0002:000ad250 ??$destroy@U?$pair@$$CBIPAVMAP@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVMAP@@@1@@Z 005f1250 f i ServerDlg.obj + 0002:000ad280 ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@@Z 005f1280 f i ServerDlg.obj + 0002:000ad2d0 ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 005f12d0 f i ServerDlg.obj + 0002:000ad320 ??$done@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA_NABUauto_any_base@01@0PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@@Z 005f1320 f i ServerDlg.obj + 0002:000ad390 ??$emplace@U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005f1390 f i ServerDlg.obj + 0002:000ad4a0 ??$emplace@U?$pair@GPAVCGameSocket@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005f14a0 f i ServerDlg.obj + 0002:000ad5b0 ??$emplace@U?$pair@GPAVKOSocket@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005f15b0 f i ServerDlg.obj + 0002:000ad6c0 ??$emplace@U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005f16c0 f i ServerDlg.obj + 0002:000ad7d0 ??$emplace@U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005f17d0 f i ServerDlg.obj + 0002:000ad8e0 ??$emplace@U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005f18e0 f i ServerDlg.obj + 0002:000ad9f0 ??$emplace@U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005f19f0 f i ServerDlg.obj + 0002:000adb00 ??$emplace@U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005f1b00 f i ServerDlg.obj + 0002:000adc10 ??$emplace@U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005f1c10 f i ServerDlg.obj + 0002:000add20 ??$emplace@U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005f1d20 f i ServerDlg.obj + 0002:000ade30 ??$emplace@U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005f1e30 f i ServerDlg.obj + 0002:000adf40 ??$emplace@U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005f1f40 f i ServerDlg.obj + 0002:000ae050 ??$emplace@U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005f2050 f i ServerDlg.obj + 0002:000ae160 ??$emplace@U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005f2160 f i ServerDlg.obj + 0002:000ae270 ??$emplace@U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005f2270 f i ServerDlg.obj + 0002:000ae380 ??$emplace@U?$pair@IPAVCNpc@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 005f2380 f i ServerDlg.obj + 0002:000ae490 ??$emplace@U?$pair@IPAVCNpcTable@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005f2490 f i ServerDlg.obj + 0002:000ae5a0 ??$emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005f25a0 f i ServerDlg.obj + 0002:000ae6b0 ??$emplace@U?$pair@IPAVMAP@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVMAP@@@1@@Z 005f26b0 f i ServerDlg.obj + 0002:000ae7c0 ??$emplace_back@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@$$QAPAVThread@@@Z 005f27c0 f i ServerDlg.obj + 0002:000ae870 ??$encode_type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YAPAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@PAU?$integral_constant@_N$0A@@1@@Z 005f2870 f i ServerDlg.obj + 0002:000ae8a0 ??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@range_adl_barrier@boost@@YA?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@3@@Z 005f28a0 f i ServerDlg.obj + 0002:000ae920 ??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 005f2920 f i ServerDlg.obj + 0002:000aea30 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@V21@@Z 005f2a30 f i ServerDlg.obj + 0002:000aec20 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@V21@@Z 005f2c20 f i ServerDlg.obj + 0002:000aee10 ??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@V21@@Z 005f2e10 f i ServerDlg.obj + 0002:000af000 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3000 f i ServerDlg.obj + 0002:000af050 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@0@AAPAU10@0@Z 005f3050 f i ServerDlg.obj + 0002:000af0a0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f30a0 f i ServerDlg.obj + 0002:000af0f0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@0@AAPAU10@0@Z 005f30f0 f i ServerDlg.obj + 0002:000af140 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3140 f i ServerDlg.obj + 0002:000af190 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@0@AAPAU10@0@Z 005f3190 f i ServerDlg.obj + 0002:000af1e0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f31e0 f i ServerDlg.obj + 0002:000af230 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@0@AAPAU10@0@Z 005f3230 f i ServerDlg.obj + 0002:000af280 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3280 f i ServerDlg.obj + 0002:000af2d0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@0@AAPAU10@0@Z 005f32d0 f i ServerDlg.obj + 0002:000af320 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3320 f i ServerDlg.obj + 0002:000af370 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@0@AAPAU10@0@Z 005f3370 f i ServerDlg.obj + 0002:000af3c0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f33c0 f i ServerDlg.obj + 0002:000af410 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@0@AAPAU10@0@Z 005f3410 f i ServerDlg.obj + 0002:000af460 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3460 f i ServerDlg.obj + 0002:000af4b0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@0@AAPAU10@0@Z 005f34b0 f i ServerDlg.obj + 0002:000af500 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3500 f i ServerDlg.obj + 0002:000af550 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@0@AAPAU10@0@Z 005f3550 f i ServerDlg.obj + 0002:000af5a0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f35a0 f i ServerDlg.obj + 0002:000af5f0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@0@AAPAU10@0@Z 005f35f0 f i ServerDlg.obj + 0002:000af640 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3640 f i ServerDlg.obj + 0002:000af690 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@0@AAPAU10@0@Z 005f3690 f i ServerDlg.obj + 0002:000af6e0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f36e0 f i ServerDlg.obj + 0002:000af730 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@0@AAPAU10@0@Z 005f3730 f i ServerDlg.obj + 0002:000af780 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3780 f i ServerDlg.obj + 0002:000af7d0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@0@AAPAU10@0@Z 005f37d0 f i ServerDlg.obj + 0002:000af820 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3820 f i ServerDlg.obj + 0002:000af870 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@0@Z 005f3870 f i ServerDlg.obj + 0002:000af8c0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@0@AAPAU10@0@Z 005f38c0 f i ServerDlg.obj + 0002:000af910 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3910 f i ServerDlg.obj + 0002:000af960 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@0@AAPAU10@0@Z 005f3960 f i ServerDlg.obj + 0002:000af9b0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f39b0 f i ServerDlg.obj + 0002:000afa00 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@0@AAPAU10@0@Z 005f3a00 f i ServerDlg.obj + 0002:000afa50 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3a50 f i ServerDlg.obj + 0002:000afaa0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@0@AAPAU10@0@Z 005f3aa0 f i ServerDlg.obj + 0002:000afaf0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 005f3af0 f i ServerDlg.obj + 0002:000afb40 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@0@AAPAU10@0@Z 005f3b40 f i ServerDlg.obj + 0002:000afb90 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@0@Z 005f3b90 f i ServerDlg.obj + 0002:000afbe0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@0@Z 005f3be0 f i ServerDlg.obj + 0002:000afc30 ??$forward@AAG@std@@YAAAGAAG@Z 005f3c30 f i ServerDlg.obj + 0002:000afc70 ??$forward@AAPAU?$_List_node@HPAX@std@@@std@@YAAAPAU?$_List_node@HPAX@0@AAPAU10@@Z 005f3c70 f i ServerDlg.obj + 0002:000afcb0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@0@AAPAU10@@Z 005f3cb0 f i ServerDlg.obj + 0002:000afcf0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@0@AAPAU10@@Z 005f3cf0 f i ServerDlg.obj + 0002:000afd30 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@0@AAPAU10@@Z 005f3d30 f i ServerDlg.obj + 0002:000afd70 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@0@AAPAU10@@Z 005f3d70 f i ServerDlg.obj + 0002:000afdb0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@0@AAPAU10@@Z 005f3db0 f i ServerDlg.obj + 0002:000afdf0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@0@AAPAU10@@Z 005f3df0 f i ServerDlg.obj + 0002:000afe30 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@0@AAPAU10@@Z 005f3e30 f i ServerDlg.obj + 0002:000afe70 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@0@AAPAU10@@Z 005f3e70 f i ServerDlg.obj + 0002:000afeb0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@0@AAPAU10@@Z 005f3eb0 f i ServerDlg.obj + 0002:000afef0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@0@AAPAU10@@Z 005f3ef0 f i ServerDlg.obj + 0002:000aff30 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@0@AAPAU10@@Z 005f3f30 f i ServerDlg.obj + 0002:000aff70 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@0@AAPAU10@@Z 005f3f70 f i ServerDlg.obj + 0002:000affb0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@0@AAPAU10@@Z 005f3fb0 f i ServerDlg.obj + 0002:000afff0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 005f3ff0 f i ServerDlg.obj + 0002:000b0030 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@0@AAPAU10@@Z 005f4030 f i ServerDlg.obj + 0002:000b0070 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@0@AAPAU10@@Z 005f4070 f i ServerDlg.obj + 0002:000b00b0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@0@AAPAU10@@Z 005f40b0 f i ServerDlg.obj + 0002:000b00f0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@0@AAPAU10@@Z 005f40f0 f i ServerDlg.obj + 0002:000b0130 ??$forward@AAPAU_K_MONSTER_ITEM@@@std@@YAAAPAU_K_MONSTER_ITEM@@AAPAU1@@Z 005f4130 f i ServerDlg.obj + 0002:000b0170 ??$forward@AAPAU_MAGIC_TABLE@@@std@@YAAAPAU_MAGIC_TABLE@@AAPAU1@@Z 005f4170 f i ServerDlg.obj + 0002:000b01b0 ??$forward@AAPAU_MAGIC_TYPE1@@@std@@YAAAPAU_MAGIC_TYPE1@@AAPAU1@@Z 005f41b0 f i ServerDlg.obj + 0002:000b01f0 ??$forward@AAPAU_MAGIC_TYPE2@@@std@@YAAAPAU_MAGIC_TYPE2@@AAPAU1@@Z 005f41f0 f i ServerDlg.obj + 0002:000b0230 ??$forward@AAPAU_MAGIC_TYPE4@@@std@@YAAAPAU_MAGIC_TYPE4@@AAPAU1@@Z 005f4230 f i ServerDlg.obj + 0002:000b0270 ??$forward@AAPAU_MAKE_ITEM_GRADE_CODE@@@std@@YAAAPAU_MAKE_ITEM_GRADE_CODE@@AAPAU1@@Z 005f4270 f i ServerDlg.obj + 0002:000b02b0 ??$forward@AAPAU_MAKE_ITEM_GROUP@@@std@@YAAAPAU_MAKE_ITEM_GROUP@@AAPAU1@@Z 005f42b0 f i ServerDlg.obj + 0002:000b02f0 ??$forward@AAPAU_MAKE_ITEM_LARE_CODE@@@std@@YAAAPAU_MAKE_ITEM_LARE_CODE@@AAPAU1@@Z 005f42f0 f i ServerDlg.obj + 0002:000b0330 ??$forward@AAPAU_MAKE_WEAPON@@@std@@YAAAPAU_MAKE_WEAPON@@AAPAU1@@Z 005f4330 f i ServerDlg.obj + 0002:000b0370 ??$forward@AAPAU_NPC_LIVE_TIME@@@std@@YAAAPAU_NPC_LIVE_TIME@@AAPAU1@@Z 005f4370 f i ServerDlg.obj + 0002:000b03b0 ??$forward@AAPAU_OBJECT_EVENT@@@std@@YAAAPAU_OBJECT_EVENT@@AAPAU1@@Z 005f43b0 f i ServerDlg.obj + 0002:000b03f0 ??$forward@AAPAU_SERVER_RESOURCE@@@std@@YAAAPAU_SERVER_RESOURCE@@AAPAU1@@Z 005f43f0 f i ServerDlg.obj + 0002:000b0430 ??$forward@AAPAU_ZONE_INFO@@@std@@YAAAPAU_ZONE_INFO@@AAPAU1@@Z 005f4430 f i ServerDlg.obj + 0002:000b0470 ??$forward@AAPAVCNpc@@@std@@YAAAPAVCNpc@@AAPAV1@@Z 005f4470 f i ServerDlg.obj + 0002:000b04b0 ??$forward@AAPAVCNpcTable@@@std@@YAAAPAVCNpcTable@@AAPAV1@@Z 005f44b0 f i ServerDlg.obj + 0002:000b04f0 ??$forward@AAPAVCNpcThread@@@std@@YAAAPAVCNpcThread@@AAPAV1@@Z 005f44f0 f i ServerDlg.obj + 0002:000b0530 ??$forward@AAPAVKOSocket@@@std@@YAAAPAVKOSocket@@AAPAV1@@Z 005f4530 f i ServerDlg.obj + 0002:000b0570 ??$forward@AAPAVMAP@@@std@@YAAAPAVMAP@@AAPAV1@@Z 005f4570 f i ServerDlg.obj + 0002:000b05b0 ??$forward@AAU?$pair@$$CBGPAVKOSocket@@@std@@@std@@YAAAU?$pair@$$CBGPAVKOSocket@@@0@AAU10@@Z 005f45b0 f i ServerDlg.obj + 0002:000b05f0 ??$forward@ABQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@0@ABQAU10@@Z 005f45f0 f i ServerDlg.obj + 0002:000b0630 ??$forward@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@0@AAPAU10@@Z 005f4630 f i ServerDlg.obj + 0002:000b0670 ??$forward@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@0@AAPAU10@@Z 005f4670 f i ServerDlg.obj + 0002:000b06b0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@0@AAPAU10@@Z 005f46b0 f i ServerDlg.obj + 0002:000b06f0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@0@AAPAU10@@Z 005f46f0 f i ServerDlg.obj + 0002:000b0730 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@0@AAPAU10@@Z 005f4730 f i ServerDlg.obj + 0002:000b0770 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@0@AAPAU10@@Z 005f4770 f i ServerDlg.obj + 0002:000b07b0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@0@AAPAU10@@Z 005f47b0 f i ServerDlg.obj + 0002:000b07f0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@0@AAPAU10@@Z 005f47f0 f i ServerDlg.obj + 0002:000b0830 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@0@AAPAU10@@Z 005f4830 f i ServerDlg.obj + 0002:000b0870 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@0@AAPAU10@@Z 005f4870 f i ServerDlg.obj + 0002:000b08b0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@0@AAPAU10@@Z 005f48b0 f i ServerDlg.obj + 0002:000b08f0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@0@AAPAU10@@Z 005f48f0 f i ServerDlg.obj + 0002:000b0930 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@0@AAPAU10@@Z 005f4930 f i ServerDlg.obj + 0002:000b0970 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 005f4970 f i ServerDlg.obj + 0002:000b09b0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@0@AAPAU10@@Z 005f49b0 f i ServerDlg.obj + 0002:000b09f0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@0@AAPAU10@@Z 005f49f0 f i ServerDlg.obj + 0002:000b0a30 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@0@AAPAU10@@Z 005f4a30 f i ServerDlg.obj + 0002:000b0a70 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@0@AAPAU10@@Z 005f4a70 f i ServerDlg.obj + 0002:000b0ab0 ??$forward@PAU_K_MONSTER_ITEM@@@std@@YA$$QAPAU_K_MONSTER_ITEM@@AAPAU1@@Z 005f4ab0 f i ServerDlg.obj + 0002:000b0af0 ??$forward@PAU_MAGIC_TABLE@@@std@@YA$$QAPAU_MAGIC_TABLE@@AAPAU1@@Z 005f4af0 f i ServerDlg.obj + 0002:000b0b30 ??$forward@PAU_MAGIC_TYPE1@@@std@@YA$$QAPAU_MAGIC_TYPE1@@AAPAU1@@Z 005f4b30 f i ServerDlg.obj + 0002:000b0b70 ??$forward@PAU_MAGIC_TYPE2@@@std@@YA$$QAPAU_MAGIC_TYPE2@@AAPAU1@@Z 005f4b70 f i ServerDlg.obj + 0002:000b0bb0 ??$forward@PAU_MAGIC_TYPE4@@@std@@YA$$QAPAU_MAGIC_TYPE4@@AAPAU1@@Z 005f4bb0 f i ServerDlg.obj + 0002:000b0bf0 ??$forward@PAU_MAKE_ITEM_GRADE_CODE@@@std@@YA$$QAPAU_MAKE_ITEM_GRADE_CODE@@AAPAU1@@Z 005f4bf0 f i ServerDlg.obj + 0002:000b0c30 ??$forward@PAU_MAKE_ITEM_GROUP@@@std@@YA$$QAPAU_MAKE_ITEM_GROUP@@AAPAU1@@Z 005f4c30 f i ServerDlg.obj + 0002:000b0c70 ??$forward@PAU_MAKE_ITEM_LARE_CODE@@@std@@YA$$QAPAU_MAKE_ITEM_LARE_CODE@@AAPAU1@@Z 005f4c70 f i ServerDlg.obj + 0002:000b0cb0 ??$forward@PAU_MAKE_WEAPON@@@std@@YA$$QAPAU_MAKE_WEAPON@@AAPAU1@@Z 005f4cb0 f i ServerDlg.obj + 0002:000b0cf0 ??$forward@PAU_NPC_LIVE_TIME@@@std@@YA$$QAPAU_NPC_LIVE_TIME@@AAPAU1@@Z 005f4cf0 f i ServerDlg.obj + 0002:000b0d30 ??$forward@PAU_OBJECT_EVENT@@@std@@YA$$QAPAU_OBJECT_EVENT@@AAPAU1@@Z 005f4d30 f i ServerDlg.obj + 0002:000b0d70 ??$forward@PAU_SERVER_RESOURCE@@@std@@YA$$QAPAU_SERVER_RESOURCE@@AAPAU1@@Z 005f4d70 f i ServerDlg.obj + 0002:000b0db0 ??$forward@PAU_ZONE_INFO@@@std@@YA$$QAPAU_ZONE_INFO@@AAPAU1@@Z 005f4db0 f i ServerDlg.obj + 0002:000b0df0 ??$forward@PAVCGameSocket@@@std@@YA$$QAPAVCGameSocket@@AAPAV1@@Z 005f4df0 f i ServerDlg.obj + 0002:000b0e30 ??$forward@PAVCNpc@@@std@@YA$$QAPAVCNpc@@AAPAV1@@Z 005f4e30 f i ServerDlg.obj + 0002:000b0e70 ??$forward@PAVCNpcTable@@@std@@YA$$QAPAVCNpcTable@@AAPAV1@@Z 005f4e70 f i ServerDlg.obj + 0002:000b0eb0 ??$forward@PAVCNpcThread@@@std@@YA$$QAPAVCNpcThread@@AAPAV1@@Z 005f4eb0 f i ServerDlg.obj + 0002:000b0ef0 ??$forward@PAVKOSocket@@@std@@YA$$QAPAVKOSocket@@AAPAV1@@Z 005f4ef0 f i ServerDlg.obj + 0002:000b0f30 ??$forward@PAVMAP@@@std@@YA$$QAPAVMAP@@AAPAV1@@Z 005f4f30 f i ServerDlg.obj + 0002:000b0f70 ??$forward@PAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 005f4f70 f i ServerDlg.obj + 0002:000b0fb0 ??$forward@U?$less@G@std@@@std@@YA$$QAU?$less@G@0@AAU10@@Z 005f4fb0 f i ServerDlg.obj + 0002:000b0ff0 ??$forward@U?$pair@GPAU_ZONE_INFO@@@std@@@std@@YA$$QAU?$pair@GPAU_ZONE_INFO@@@0@AAU10@@Z 005f4ff0 f i ServerDlg.obj + 0002:000b1030 ??$forward@U?$pair@GPAVCGameSocket@@@std@@@std@@YA$$QAU?$pair@GPAVCGameSocket@@@0@AAU10@@Z 005f5030 f i ServerDlg.obj + 0002:000b1070 ??$forward@U?$pair@GPAVKOSocket@@@std@@@std@@YA$$QAU?$pair@GPAVKOSocket@@@0@AAU10@@Z 005f5070 f i ServerDlg.obj + 0002:000b10b0 ??$forward@U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@std@@YA$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@0@AAU10@@Z 005f50b0 f i ServerDlg.obj + 0002:000b10f0 ??$forward@U?$pair@IPAU_MAGIC_TABLE@@@std@@@std@@YA$$QAU?$pair@IPAU_MAGIC_TABLE@@@0@AAU10@@Z 005f50f0 f i ServerDlg.obj + 0002:000b1130 ??$forward@U?$pair@IPAU_MAGIC_TYPE1@@@std@@@std@@YA$$QAU?$pair@IPAU_MAGIC_TYPE1@@@0@AAU10@@Z 005f5130 f i ServerDlg.obj + 0002:000b1170 ??$forward@U?$pair@IPAU_MAGIC_TYPE2@@@std@@@std@@YA$$QAU?$pair@IPAU_MAGIC_TYPE2@@@0@AAU10@@Z 005f5170 f i ServerDlg.obj + 0002:000b11b0 ??$forward@U?$pair@IPAU_MAGIC_TYPE4@@@std@@@std@@YA$$QAU?$pair@IPAU_MAGIC_TYPE4@@@0@AAU10@@Z 005f51b0 f i ServerDlg.obj + 0002:000b11f0 ??$forward@U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@YA$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@0@AAU10@@Z 005f51f0 f i ServerDlg.obj + 0002:000b1230 ??$forward@U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@std@@YA$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@0@AAU10@@Z 005f5230 f i ServerDlg.obj + 0002:000b1270 ??$forward@U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@YA$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@0@AAU10@@Z 005f5270 f i ServerDlg.obj + 0002:000b12b0 ??$forward@U?$pair@IPAU_MAKE_WEAPON@@@std@@@std@@YA$$QAU?$pair@IPAU_MAKE_WEAPON@@@0@AAU10@@Z 005f52b0 f i ServerDlg.obj + 0002:000b12f0 ??$forward@U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@std@@YA$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@0@AAU10@@Z 005f52f0 f i ServerDlg.obj + 0002:000b1330 ??$forward@U?$pair@IPAU_OBJECT_EVENT@@@std@@@std@@YA$$QAU?$pair@IPAU_OBJECT_EVENT@@@0@AAU10@@Z 005f5330 f i ServerDlg.obj + 0002:000b1370 ??$forward@U?$pair@IPAU_SERVER_RESOURCE@@@std@@@std@@YA$$QAU?$pair@IPAU_SERVER_RESOURCE@@@0@AAU10@@Z 005f5370 f i ServerDlg.obj + 0002:000b13b0 ??$forward@U?$pair@IPAVCNpc@@@std@@@std@@YA$$QAU?$pair@IPAVCNpc@@@0@AAU10@@Z 005f53b0 f i ServerDlg.obj + 0002:000b13f0 ??$forward@U?$pair@IPAVCNpcTable@@@std@@@std@@YA$$QAU?$pair@IPAVCNpcTable@@@0@AAU10@@Z 005f53f0 f i ServerDlg.obj + 0002:000b1430 ??$forward@U?$pair@IPAVCNpcThread@@@std@@@std@@YA$$QAU?$pair@IPAVCNpcThread@@@0@AAU10@@Z 005f5430 f i ServerDlg.obj + 0002:000b1470 ??$forward@U?$pair@IPAVMAP@@@std@@@std@@YA$$QAU?$pair@IPAVMAP@@@0@AAU10@@Z 005f5470 f i ServerDlg.obj + 0002:000b14b0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@0@AAV10@@Z 005f54b0 f i ServerDlg.obj + 0002:000b14f0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@0@AAV10@@Z 005f54f0 f i ServerDlg.obj + 0002:000b1530 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@0@AAV10@@Z 005f5530 f i ServerDlg.obj + 0002:000b1570 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@0@AAV10@@Z 005f5570 f i ServerDlg.obj + 0002:000b15b0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@0@AAV10@@Z 005f55b0 f i ServerDlg.obj + 0002:000b15f0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@0@AAV10@@Z 005f55f0 f i ServerDlg.obj + 0002:000b1630 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@0@AAV10@@Z 005f5630 f i ServerDlg.obj + 0002:000b1670 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@0@AAV10@@Z 005f5670 f i ServerDlg.obj + 0002:000b16b0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@0@AAV10@@Z 005f56b0 f i ServerDlg.obj + 0002:000b16f0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@0@AAV10@@Z 005f56f0 f i ServerDlg.obj + 0002:000b1730 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@0@AAV10@@Z 005f5730 f i ServerDlg.obj + 0002:000b1770 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@0@AAV10@@Z 005f5770 f i ServerDlg.obj + 0002:000b17b0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@0@AAV10@@Z 005f57b0 f i ServerDlg.obj + 0002:000b17f0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@0@AAV10@@Z 005f57f0 f i ServerDlg.obj + 0002:000b1830 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@0@AAV10@@Z 005f5830 f i ServerDlg.obj + 0002:000b1870 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@0@AAV10@@Z 005f5870 f i ServerDlg.obj + 0002:000b18b0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@0@AAV10@@Z 005f58b0 f i ServerDlg.obj + 0002:000b18f0 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@0@AAV10@@Z 005f58f0 f i ServerDlg.obj + 0002:000b1930 ??$forward@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@0@AAV10@@Z 005f5930 f i ServerDlg.obj + 0002:000b1970 ??$forward@V?$tuple@ABG@std@@@std@@YA$$QAV?$tuple@ABG@0@AAV10@@Z 005f5970 f i ServerDlg.obj + 0002:000b19b0 ??$forward_as_tuple@ABG@std@@YA?AV?$tuple@ABG@0@ABG@Z 005f59b0 f i ServerDlg.obj + 0002:000b1a10 ??$get@$0A@ABG@std@@YAABG$$QAV?$tuple@ABG@0@@Z 005f5a10 f i ServerDlg.obj + 0002:000b1a60 ??$insert@U?$pair@GPAU_ZONE_INFO@@@std@@X@?$map@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 005f5a60 f i ServerDlg.obj + 0002:000b1af0 ??$insert@U?$pair@GPAVCGameSocket@@@std@@X@?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 005f5af0 f i ServerDlg.obj + 0002:000b1b80 ??$insert@U?$pair@GPAVKOSocket@@@std@@X@?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 005f5b80 f i ServerDlg.obj + 0002:000b1c10 ??$insert@U?$pair@IPAU_K_MONSTER_ITEM@@@std@@X@?$map@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 005f5c10 f i ServerDlg.obj + 0002:000b1ca0 ??$insert@U?$pair@IPAU_MAGIC_TABLE@@@std@@X@?$map@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 005f5ca0 f i ServerDlg.obj + 0002:000b1d30 ??$insert@U?$pair@IPAU_MAGIC_TYPE1@@@std@@X@?$map@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 005f5d30 f i ServerDlg.obj + 0002:000b1dc0 ??$insert@U?$pair@IPAU_MAGIC_TYPE2@@@std@@X@?$map@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 005f5dc0 f i ServerDlg.obj + 0002:000b1e50 ??$insert@U?$pair@IPAU_MAGIC_TYPE4@@@std@@X@?$map@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 005f5e50 f i ServerDlg.obj + 0002:000b1ee0 ??$insert@U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@X@?$map@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 005f5ee0 f i ServerDlg.obj + 0002:000b1f70 ??$insert@U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@X@?$map@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 005f5f70 f i ServerDlg.obj + 0002:000b2000 ??$insert@U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@X@?$map@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 005f6000 f i ServerDlg.obj + 0002:000b2090 ??$insert@U?$pair@IPAU_MAKE_WEAPON@@@std@@X@?$map@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 005f6090 f i ServerDlg.obj + 0002:000b2120 ??$insert@U?$pair@IPAU_NPC_LIVE_TIME@@@std@@X@?$map@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 005f6120 f i ServerDlg.obj + 0002:000b21b0 ??$insert@U?$pair@IPAU_OBJECT_EVENT@@@std@@X@?$map@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 005f61b0 f i ServerDlg.obj + 0002:000b2240 ??$insert@U?$pair@IPAU_SERVER_RESOURCE@@@std@@X@?$map@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 005f6240 f i ServerDlg.obj + 0002:000b22d0 ??$insert@U?$pair@IPAVCNpc@@@std@@X@?$map@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 005f62d0 f i ServerDlg.obj + 0002:000b2360 ??$insert@U?$pair@IPAVCNpcTable@@@std@@X@?$map@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 005f6360 f i ServerDlg.obj + 0002:000b23f0 ??$insert@U?$pair@IPAVCNpcThread@@@std@@X@?$map@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 005f63f0 f i ServerDlg.obj + 0002:000b2480 ??$insert@U?$pair@IPAVMAP@@@std@@X@?$map@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVMAP@@@1@@Z 005f6480 f i ServerDlg.obj + 0002:000b2510 ??$is_const_@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YAPAU?$is_const@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@1@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@Z 005f6510 f i ServerDlg.obj + 0002:000b2540 ??$is_rvalue_@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YAPAU?$is_rvalue_reference@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@1@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@H@Z 005f6540 f i ServerDlg.obj + 0002:000b2570 ??$make_pair@AAGAAPAU_ZONE_INFO@@@std@@YA?AU?$pair@GPAU_ZONE_INFO@@@0@AAGAAPAU_ZONE_INFO@@@Z 005f6570 f i ServerDlg.obj + 0002:000b25e0 ??$make_pair@AAGPAVCGameSocket@@@std@@YA?AU?$pair@GPAVCGameSocket@@@0@AAG$$QAPAVCGameSocket@@@Z 005f65e0 f i ServerDlg.obj + 0002:000b2650 ??$make_pair@AAIAAPAU_K_MONSTER_ITEM@@@std@@YA?AU?$pair@IPAU_K_MONSTER_ITEM@@@0@AAIAAPAU_K_MONSTER_ITEM@@@Z 005f6650 f i ServerDlg.obj + 0002:000b26c0 ??$make_pair@AAIAAPAU_MAGIC_TABLE@@@std@@YA?AU?$pair@IPAU_MAGIC_TABLE@@@0@AAIAAPAU_MAGIC_TABLE@@@Z 005f66c0 f i ServerDlg.obj + 0002:000b2730 ??$make_pair@AAIAAPAU_MAGIC_TYPE1@@@std@@YA?AU?$pair@IPAU_MAGIC_TYPE1@@@0@AAIAAPAU_MAGIC_TYPE1@@@Z 005f6730 f i ServerDlg.obj + 0002:000b27a0 ??$make_pair@AAIAAPAU_MAGIC_TYPE2@@@std@@YA?AU?$pair@IPAU_MAGIC_TYPE2@@@0@AAIAAPAU_MAGIC_TYPE2@@@Z 005f67a0 f i ServerDlg.obj + 0002:000b2810 ??$make_pair@AAIAAPAU_MAGIC_TYPE4@@@std@@YA?AU?$pair@IPAU_MAGIC_TYPE4@@@0@AAIAAPAU_MAGIC_TYPE4@@@Z 005f6810 f i ServerDlg.obj + 0002:000b2880 ??$make_pair@AAIAAPAU_MAKE_ITEM_GRADE_CODE@@@std@@YA?AU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@0@AAIAAPAU_MAKE_ITEM_GRADE_CODE@@@Z 005f6880 f i ServerDlg.obj + 0002:000b28f0 ??$make_pair@AAIAAPAU_MAKE_ITEM_GROUP@@@std@@YA?AU?$pair@IPAU_MAKE_ITEM_GROUP@@@0@AAIAAPAU_MAKE_ITEM_GROUP@@@Z 005f68f0 f i ServerDlg.obj + 0002:000b2960 ??$make_pair@AAIAAPAU_MAKE_ITEM_LARE_CODE@@@std@@YA?AU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@0@AAIAAPAU_MAKE_ITEM_LARE_CODE@@@Z 005f6960 f i ServerDlg.obj + 0002:000b29d0 ??$make_pair@AAIAAPAU_MAKE_WEAPON@@@std@@YA?AU?$pair@IPAU_MAKE_WEAPON@@@0@AAIAAPAU_MAKE_WEAPON@@@Z 005f69d0 f i ServerDlg.obj + 0002:000b2a40 ??$make_pair@AAIAAPAU_NPC_LIVE_TIME@@@std@@YA?AU?$pair@IPAU_NPC_LIVE_TIME@@@0@AAIAAPAU_NPC_LIVE_TIME@@@Z 005f6a40 f i ServerDlg.obj + 0002:000b2ab0 ??$make_pair@AAIAAPAU_OBJECT_EVENT@@@std@@YA?AU?$pair@IPAU_OBJECT_EVENT@@@0@AAIAAPAU_OBJECT_EVENT@@@Z 005f6ab0 f i ServerDlg.obj + 0002:000b2b20 ??$make_pair@AAIAAPAU_SERVER_RESOURCE@@@std@@YA?AU?$pair@IPAU_SERVER_RESOURCE@@@0@AAIAAPAU_SERVER_RESOURCE@@@Z 005f6b20 f i ServerDlg.obj + 0002:000b2b90 ??$make_pair@AAIAAPAVCNpc@@@std@@YA?AU?$pair@IPAVCNpc@@@0@AAIAAPAVCNpc@@@Z 005f6b90 f i ServerDlg.obj + 0002:000b2c00 ??$make_pair@AAIAAPAVCNpcTable@@@std@@YA?AU?$pair@IPAVCNpcTable@@@0@AAIAAPAVCNpcTable@@@Z 005f6c00 f i ServerDlg.obj + 0002:000b2c70 ??$make_pair@AAIAAPAVMAP@@@std@@YA?AU?$pair@IPAVMAP@@@0@AAIAAPAVMAP@@@Z 005f6c70 f i ServerDlg.obj + 0002:000b2ce0 ??$make_pair@ABGAAPAVKOSocket@@@std@@YA?AU?$pair@GPAVKOSocket@@@0@ABGAAPAVKOSocket@@@Z 005f6ce0 f i ServerDlg.obj + 0002:000b2d50 ??$make_pair@ABIAAPAVCNpcThread@@@std@@YA?AU?$pair@IPAVCNpcThread@@@0@ABIAAPAVCNpcThread@@@Z 005f6d50 f i ServerDlg.obj + 0002:000b2dc0 ??$move@AAPAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 005f6dc0 f i ServerDlg.obj + 0002:000b2e00 ??$move@AAV?$tuple@ABG@std@@@std@@YA$$QAV?$tuple@ABG@0@AAV10@@Z 005f6e00 f i ServerDlg.obj + 0002:000b2e40 ??$next@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YAXABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@@Z 005f6e40 f i ServerDlg.obj + 0002:000b2ea0 ??$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@foreach_detail_@boost@@YAPAU?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@1@PAU?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@1@@Z 005f6ea0 f i ServerDlg.obj + 0002:000b2ed0 ??$or_@U?$is_rvalue_reference@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@boost@@U?$and_@U?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@boost@@U?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@3@U?$bool_@$00@23@U623@U623@@mpl@2@@foreach_detail_@boost@@YAPAU?$or_@U?$is_rvalue_reference@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@boost@@U?$and_@U?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@boost@@U?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@3@U?$bool_@$00@23@U623@U623@@mpl@2@U?$bool_@$0A@@42@U542@U542@@mpl@1@PAU?$is_rvalue_reference@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@1@PAU?$and_@U?$not_@U?$is_noncopyable@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@boost@@@mpl@boost@@U?$is_lightweight_proxy@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach@3@U?$bool_@$00@23@U623@U623@@31@@Z 005f6ed0 f i ServerDlg.obj + 0002:000b2f00 ??$put@E@ByteBuffer@@QAEXIE@Z 005f6f00 f i ServerDlg.obj + 0002:000b2f60 ??$range_begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@range_detail@boost@@YA?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@3@@Z 005f6f60 f i ServerDlg.obj + 0002:000b2fd0 ??$range_end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@range_detail@boost@@YA?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@AAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@3@@Z 005f6fd0 f i ServerDlg.obj + 0002:000b3040 ??$to_ptr@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YAAAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@ABV23@@Z 005f7040 f i ServerDlg.obj + 0002:000b3080 ??0?$Atomic@G@@QAE@XZ 005f7080 f i ServerDlg.obj + 0002:000b30c0 ??0?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 005f70c0 f i ServerDlg.obj + 0002:000b3170 ??0?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 005f7170 f i ServerDlg.obj + 0002:000b3220 ??0?$CSTLMap@VCNpc@@@@QAE@XZ 005f7220 f i ServerDlg.obj + 0002:000b32d0 ??0?$CSTLMap@VCNpcTable@@@@QAE@XZ 005f72d0 f i ServerDlg.obj + 0002:000b3380 ??0?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 005f7380 f i ServerDlg.obj + 0002:000b3430 ??0?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 005f7430 f i ServerDlg.obj + 0002:000b34e0 ??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 005f74e0 f i ServerDlg.obj + 0002:000b3590 ??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 005f7590 f i ServerDlg.obj + 0002:000b3640 ??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 005f7640 f i ServerDlg.obj + 0002:000b36f0 ??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 005f76f0 f i ServerDlg.obj + 0002:000b37a0 ??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 005f77a0 f i ServerDlg.obj + 0002:000b3850 ??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 005f7850 f i ServerDlg.obj + 0002:000b3900 ??0?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 005f7900 f i ServerDlg.obj + 0002:000b39b0 ??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 005f79b0 f i ServerDlg.obj + 0002:000b3a60 ??0?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 005f7a60 f i ServerDlg.obj + 0002:000b3b10 ??0?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 005f7b10 f i ServerDlg.obj + 0002:000b3bc0 ??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ 005f7bc0 f i ServerDlg.obj + 0002:000b3cb0 ??0?$ListenSocket@VCGameSocket@@@@QAE@PAVSocketMgr@@PBDI@Z 005f7cb0 f i ServerDlg.obj + 0002:000b3f10 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 005f7f10 f i ServerDlg.obj + 0002:000b3f70 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 005f7f70 f i ServerDlg.obj + 0002:000b3fd0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005f7fd0 f i ServerDlg.obj + 0002:000b4030 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 005f8030 f i ServerDlg.obj + 0002:000b4090 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 005f8090 f i ServerDlg.obj + 0002:000b40f0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 005f80f0 f i ServerDlg.obj + 0002:000b4150 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 005f8150 f i ServerDlg.obj + 0002:000b41b0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 005f81b0 f i ServerDlg.obj + 0002:000b4210 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 005f8210 f i ServerDlg.obj + 0002:000b4270 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 005f8270 f i ServerDlg.obj + 0002:000b42d0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 005f82d0 f i ServerDlg.obj + 0002:000b4330 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 005f8330 f i ServerDlg.obj + 0002:000b4390 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 005f8390 f i ServerDlg.obj + 0002:000b43f0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 005f83f0 f i ServerDlg.obj + 0002:000b4450 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 005f8450 f i ServerDlg.obj + 0002:000b44b0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 005f84b0 f i ServerDlg.obj + 0002:000b4510 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 005f8510 f i ServerDlg.obj + 0002:000b4570 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 005f8570 f i ServerDlg.obj + 0002:000b45d0 ??0?$_List_val@U?$_List_simple_types@H@std@@@std@@QAE@XZ 005f85d0 f i ServerDlg.obj + 0002:000b4640 ??0?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@E@1@@Z 005f8640 f i ServerDlg.obj + 0002:000b46c0 ??0?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@G@1@@Z 005f86c0 f i ServerDlg.obj + 0002:000b4740 ??0?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@G@1@@Z 005f8740 f i ServerDlg.obj + 0002:000b47c0 ??0?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f87c0 f i ServerDlg.obj + 0002:000b4840 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8840 f i ServerDlg.obj + 0002:000b48c0 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f88c0 f i ServerDlg.obj + 0002:000b4940 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8940 f i ServerDlg.obj + 0002:000b49c0 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f89c0 f i ServerDlg.obj + 0002:000b4a40 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8a40 f i ServerDlg.obj + 0002:000b4ac0 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8ac0 f i ServerDlg.obj + 0002:000b4b40 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8b40 f i ServerDlg.obj + 0002:000b4bc0 ??0?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8bc0 f i ServerDlg.obj + 0002:000b4c40 ??0?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8c40 f i ServerDlg.obj + 0002:000b4cc0 ??0?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8cc0 f i ServerDlg.obj + 0002:000b4d40 ??0?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8d40 f i ServerDlg.obj + 0002:000b4dc0 ??0?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8dc0 f i ServerDlg.obj + 0002:000b4e40 ??0?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8e40 f i ServerDlg.obj + 0002:000b4ec0 ??0?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8ec0 f i ServerDlg.obj + 0002:000b4f40 ??0?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 005f8f40 f i ServerDlg.obj + 0002:000b4fc0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f8fc0 f i ServerDlg.obj + 0002:000b5020 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9020 f i ServerDlg.obj + 0002:000b5080 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@1@@Z 005f9080 f i ServerDlg.obj + 0002:000b50e0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f90e0 f i ServerDlg.obj + 0002:000b5140 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9140 f i ServerDlg.obj + 0002:000b51a0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@1@@Z 005f91a0 f i ServerDlg.obj + 0002:000b5200 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9200 f i ServerDlg.obj + 0002:000b5260 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9260 f i ServerDlg.obj + 0002:000b52c0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f92c0 f i ServerDlg.obj + 0002:000b5320 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005f9320 f i ServerDlg.obj + 0002:000b5380 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9380 f i ServerDlg.obj + 0002:000b53e0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f93e0 f i ServerDlg.obj + 0002:000b5440 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9440 f i ServerDlg.obj + 0002:000b54a0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f94a0 f i ServerDlg.obj + 0002:000b5500 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9500 f i ServerDlg.obj + 0002:000b5560 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9560 f i ServerDlg.obj + 0002:000b55c0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f95c0 f i ServerDlg.obj + 0002:000b5620 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9620 f i ServerDlg.obj + 0002:000b5680 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9680 f i ServerDlg.obj + 0002:000b56e0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f96e0 f i ServerDlg.obj + 0002:000b5740 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9740 f i ServerDlg.obj + 0002:000b57a0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f97a0 f i ServerDlg.obj + 0002:000b5800 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9800 f i ServerDlg.obj + 0002:000b5860 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9860 f i ServerDlg.obj + 0002:000b58c0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f98c0 f i ServerDlg.obj + 0002:000b5920 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9920 f i ServerDlg.obj + 0002:000b5980 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9980 f i ServerDlg.obj + 0002:000b59e0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f99e0 f i ServerDlg.obj + 0002:000b5a40 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9a40 f i ServerDlg.obj + 0002:000b5aa0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9aa0 f i ServerDlg.obj + 0002:000b5b00 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@1@@Z 005f9b00 f i ServerDlg.obj + 0002:000b5b60 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9b60 f i ServerDlg.obj + 0002:000b5bc0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9bc0 f i ServerDlg.obj + 0002:000b5c20 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@1@@Z 005f9c20 f i ServerDlg.obj + 0002:000b5c80 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9c80 f i ServerDlg.obj + 0002:000b5ce0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9ce0 f i ServerDlg.obj + 0002:000b5d40 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@1@@Z 005f9d40 f i ServerDlg.obj + 0002:000b5da0 ??0?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@AAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005f9da0 f i ServerDlg.obj + 0002:000b5e30 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9e30 f i ServerDlg.obj + 0002:000b5e90 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9e90 f i ServerDlg.obj + 0002:000b5ef0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@1@@Z 005f9ef0 f i ServerDlg.obj + 0002:000b5f50 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005f9f50 f i ServerDlg.obj + 0002:000b5fb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005f9fb0 f i ServerDlg.obj + 0002:000b6010 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@1@@Z 005fa010 f i ServerDlg.obj + 0002:000b6070 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa070 f i ServerDlg.obj + 0002:000b60d0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa0d0 f i ServerDlg.obj + 0002:000b6130 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa130 f i ServerDlg.obj + 0002:000b6190 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005fa190 f i ServerDlg.obj + 0002:000b61f0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa1f0 f i ServerDlg.obj + 0002:000b6250 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa250 f i ServerDlg.obj + 0002:000b62b0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa2b0 f i ServerDlg.obj + 0002:000b6310 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa310 f i ServerDlg.obj + 0002:000b6370 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa370 f i ServerDlg.obj + 0002:000b63d0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa3d0 f i ServerDlg.obj + 0002:000b6430 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa430 f i ServerDlg.obj + 0002:000b6490 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa490 f i ServerDlg.obj + 0002:000b64f0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa4f0 f i ServerDlg.obj + 0002:000b6550 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa550 f i ServerDlg.obj + 0002:000b65b0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa5b0 f i ServerDlg.obj + 0002:000b6610 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa610 f i ServerDlg.obj + 0002:000b6670 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa670 f i ServerDlg.obj + 0002:000b66d0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa6d0 f i ServerDlg.obj + 0002:000b6730 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa730 f i ServerDlg.obj + 0002:000b6790 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa790 f i ServerDlg.obj + 0002:000b67f0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa7f0 f i ServerDlg.obj + 0002:000b6850 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa850 f i ServerDlg.obj + 0002:000b68b0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa8b0 f i ServerDlg.obj + 0002:000b6910 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fa910 f i ServerDlg.obj + 0002:000b6970 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@1@@Z 005fa970 f i ServerDlg.obj + 0002:000b69d0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fa9d0 f i ServerDlg.obj + 0002:000b6a30 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005faa30 f i ServerDlg.obj + 0002:000b6a90 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@1@@Z 005faa90 f i ServerDlg.obj + 0002:000b6af0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005faaf0 f i ServerDlg.obj + 0002:000b6b50 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 005fab50 f i ServerDlg.obj + 0002:000b6bb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@1@@Z 005fabb0 f i ServerDlg.obj + 0002:000b6c10 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 005fac10 f i ServerDlg.obj + 0002:000b6cc0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 005facc0 f i ServerDlg.obj + 0002:000b6d70 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 005fad70 f i ServerDlg.obj + 0002:000b6e20 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 005fae20 f i ServerDlg.obj + 0002:000b6ed0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 005faed0 f i ServerDlg.obj + 0002:000b6f80 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 005faf80 f i ServerDlg.obj + 0002:000b7030 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 005fb030 f i ServerDlg.obj + 0002:000b70e0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 005fb0e0 f i ServerDlg.obj + 0002:000b7190 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 005fb190 f i ServerDlg.obj + 0002:000b7240 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 005fb240 f i ServerDlg.obj + 0002:000b72f0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 005fb2f0 f i ServerDlg.obj + 0002:000b73a0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 005fb3a0 f i ServerDlg.obj + 0002:000b7450 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 005fb450 f i ServerDlg.obj + 0002:000b7500 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 005fb500 f i ServerDlg.obj + 0002:000b75b0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 005fb5b0 f i ServerDlg.obj + 0002:000b7660 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 005fb660 f i ServerDlg.obj + 0002:000b7710 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 005fb710 f i ServerDlg.obj + 0002:000b77c0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 005fb7c0 f i ServerDlg.obj + 0002:000b7870 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fb870 f i ServerDlg.obj + 0002:000b78e0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fb8e0 f i ServerDlg.obj + 0002:000b7950 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@1@@Z 005fb950 f i ServerDlg.obj + 0002:000b79c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fb9c0 f i ServerDlg.obj + 0002:000b7a30 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fba30 f i ServerDlg.obj + 0002:000b7aa0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@1@@Z 005fbaa0 f i ServerDlg.obj + 0002:000b7b10 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@1@@Z 005fbb10 f i ServerDlg.obj + 0002:000b7b80 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fbb80 f i ServerDlg.obj + 0002:000b7bf0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005fbbf0 f i ServerDlg.obj + 0002:000b7c60 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fbc60 f i ServerDlg.obj + 0002:000b7cd0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fbcd0 f i ServerDlg.obj + 0002:000b7d40 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005fbd40 f i ServerDlg.obj + 0002:000b7db0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fbdb0 f i ServerDlg.obj + 0002:000b7e20 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fbe20 f i ServerDlg.obj + 0002:000b7e90 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fbe90 f i ServerDlg.obj + 0002:000b7f00 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fbf00 f i ServerDlg.obj + 0002:000b7f70 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fbf70 f i ServerDlg.obj + 0002:000b7fe0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fbfe0 f i ServerDlg.obj + 0002:000b8050 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc050 f i ServerDlg.obj + 0002:000b80c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc0c0 f i ServerDlg.obj + 0002:000b8130 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc130 f i ServerDlg.obj + 0002:000b81a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc1a0 f i ServerDlg.obj + 0002:000b8210 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc210 f i ServerDlg.obj + 0002:000b8280 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc280 f i ServerDlg.obj + 0002:000b82f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc2f0 f i ServerDlg.obj + 0002:000b8360 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc360 f i ServerDlg.obj + 0002:000b83d0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc3d0 f i ServerDlg.obj + 0002:000b8440 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc440 f i ServerDlg.obj + 0002:000b84b0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc4b0 f i ServerDlg.obj + 0002:000b8520 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc520 f i ServerDlg.obj + 0002:000b8590 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@1@@Z 005fc590 f i ServerDlg.obj + 0002:000b8600 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc600 f i ServerDlg.obj + 0002:000b8670 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc670 f i ServerDlg.obj + 0002:000b86e0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@1@@Z 005fc6e0 f i ServerDlg.obj + 0002:000b8750 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc750 f i ServerDlg.obj + 0002:000b87c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc7c0 f i ServerDlg.obj + 0002:000b8830 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@1@@Z 005fc830 f i ServerDlg.obj + 0002:000b88a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 005fc8a0 f i ServerDlg.obj + 0002:000b8910 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 005fc910 f i ServerDlg.obj + 0002:000b8980 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@1@@Z 005fc980 f i ServerDlg.obj + 0002:000b89f0 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@1@@Z 005fc9f0 f i ServerDlg.obj + 0002:000b8a50 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@1@@Z 005fca50 f i ServerDlg.obj + 0002:000b8ab0 ??0?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@1@@Z 005fcab0 f i ServerDlg.obj + 0002:000b8b10 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAE@XZ 005fcb10 f i ServerDlg.obj + 0002:000b8b80 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAE@XZ 005fcb80 f i ServerDlg.obj + 0002:000b8bf0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAE@XZ 005fcbf0 f i ServerDlg.obj + 0002:000b8c60 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAE@XZ 005fcc60 f i ServerDlg.obj + 0002:000b8cd0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAE@XZ 005fccd0 f i ServerDlg.obj + 0002:000b8d40 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAE@XZ 005fcd40 f i ServerDlg.obj + 0002:000b8db0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAE@XZ 005fcdb0 f i ServerDlg.obj + 0002:000b8e20 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAE@XZ 005fce20 f i ServerDlg.obj + 0002:000b8e90 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAE@XZ 005fce90 f i ServerDlg.obj + 0002:000b8f00 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAE@XZ 005fcf00 f i ServerDlg.obj + 0002:000b8f70 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAE@XZ 005fcf70 f i ServerDlg.obj + 0002:000b8fe0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAE@XZ 005fcfe0 f i ServerDlg.obj + 0002:000b9050 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAE@XZ 005fd050 f i ServerDlg.obj + 0002:000b90c0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAE@XZ 005fd0c0 f i ServerDlg.obj + 0002:000b9130 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAE@XZ 005fd130 f i ServerDlg.obj + 0002:000b91a0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAE@XZ 005fd1a0 f i ServerDlg.obj + 0002:000b9210 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAE@XZ 005fd210 f i ServerDlg.obj + 0002:000b9280 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAE@XZ 005fd280 f i ServerDlg.obj + 0002:000b92f0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAE@XZ 005fd2f0 f i ServerDlg.obj + 0002:000b9360 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@$$QAV01@@Z 005fd360 f i ServerDlg.obj + 0002:000b93d0 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@ABV01@@Z 005fd3d0 f i ServerDlg.obj + 0002:000b9440 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@PAGPBU_Container_base12@1@@Z 005fd440 f i ServerDlg.obj + 0002:000b94b0 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fd4b0 f i ServerDlg.obj + 0002:000b9520 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@ABV01@@Z 005fd520 f i ServerDlg.obj + 0002:000b9590 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@PAPAVThread@@PBU_Container_base12@1@@Z 005fd590 f i ServerDlg.obj + 0002:000b9600 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@$$QAV01@@Z 005fd600 f i ServerDlg.obj + 0002:000b9660 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@ABV01@@Z 005fd660 f i ServerDlg.obj + 0002:000b96c0 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@PAGPBU_Container_base12@1@@Z 005fd6c0 f i ServerDlg.obj + 0002:000b9720 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@$$QAV01@@Z 005fd720 f i ServerDlg.obj + 0002:000b9780 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@ABV01@@Z 005fd780 f i ServerDlg.obj + 0002:000b97e0 ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@PAPAVThread@@PBU_Container_base12@1@@Z 005fd7e0 f i ServerDlg.obj + 0002:000b9840 ??0?$_Vector_val@U?$_Simple_types@G@std@@@std@@QAE@XZ 005fd840 f i ServerDlg.obj + 0002:000b98c0 ??0?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@QAE@XZ 005fd8c0 f i ServerDlg.obj + 0002:000b9940 ??0?$allocator@G@std@@QAE@XZ 005fd940 f i ServerDlg.obj + 0002:000b9980 ??0?$allocator@PAVThread@@@std@@QAE@XZ 005fd980 f i ServerDlg.obj + 0002:000b99c0 ??0?$allocator@U?$_List_node@HPAX@std@@@std@@QAE@XZ 005fd9c0 f i ServerDlg.obj + 0002:000b9a00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@QAE@XZ 005fda00 f i ServerDlg.obj + 0002:000b9a40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@QAE@XZ 005fda40 f i ServerDlg.obj + 0002:000b9a80 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@QAE@XZ 005fda80 f i ServerDlg.obj + 0002:000b9ac0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@QAE@XZ 005fdac0 f i ServerDlg.obj + 0002:000b9b00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@QAE@XZ 005fdb00 f i ServerDlg.obj + 0002:000b9b40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@QAE@XZ 005fdb40 f i ServerDlg.obj + 0002:000b9b80 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@QAE@XZ 005fdb80 f i ServerDlg.obj + 0002:000b9bc0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@QAE@XZ 005fdbc0 f i ServerDlg.obj + 0002:000b9c00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@QAE@XZ 005fdc00 f i ServerDlg.obj + 0002:000b9c40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@QAE@XZ 005fdc40 f i ServerDlg.obj + 0002:000b9c80 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@QAE@XZ 005fdc80 f i ServerDlg.obj + 0002:000b9cc0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@QAE@XZ 005fdcc0 f i ServerDlg.obj + 0002:000b9d00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@QAE@XZ 005fdd00 f i ServerDlg.obj + 0002:000b9d40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 005fdd40 f i ServerDlg.obj + 0002:000b9d80 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@QAE@XZ 005fdd80 f i ServerDlg.obj + 0002:000b9dc0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@QAE@XZ 005fddc0 f i ServerDlg.obj + 0002:000b9e00 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@QAE@XZ 005fde00 f i ServerDlg.obj + 0002:000b9e40 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@QAE@XZ 005fde40 f i ServerDlg.obj + 0002:000b9e80 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@QAE@XZ 005fde80 f i ServerDlg.obj + 0002:000b9ec0 ??0?$auto_any@PAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@QAE@ABQAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@Z 005fdec0 f i ServerDlg.obj + 0002:000b9f10 ??0?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@foreach_detail_@boost@@QAE@ABV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@Z 005fdf10 f i ServerDlg.obj + 0002:000b9f70 ??0?$list@HV?$allocator@H@std@@@std@@QAE@XZ 005fdf70 f i ServerDlg.obj + 0002:000b9fe0 ??0?$lock_guard@Vrecursive_mutex@std@@@std@@QAE@AAVrecursive_mutex@1@@Z 005fdfe0 f i ServerDlg.obj + 0002:000ba050 ??0?$map@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@@std@@QAE@XZ 005fe050 f i ServerDlg.obj + 0002:000ba0b0 ??0?$map@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@@std@@QAE@XZ 005fe0b0 f i ServerDlg.obj + 0002:000ba110 ??0?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@QAE@ABV01@@Z 005fe110 f i ServerDlg.obj + 0002:000ba190 ??0?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@QAE@XZ 005fe190 f i ServerDlg.obj + 0002:000ba1f0 ??0?$map@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@@std@@QAE@XZ 005fe1f0 f i ServerDlg.obj + 0002:000ba250 ??0?$map@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@@std@@QAE@XZ 005fe250 f i ServerDlg.obj + 0002:000ba2b0 ??0?$map@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@@std@@QAE@XZ 005fe2b0 f i ServerDlg.obj + 0002:000ba310 ??0?$map@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@@std@@QAE@XZ 005fe310 f i ServerDlg.obj + 0002:000ba370 ??0?$map@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@@std@@QAE@XZ 005fe370 f i ServerDlg.obj + 0002:000ba3d0 ??0?$map@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@@std@@QAE@XZ 005fe3d0 f i ServerDlg.obj + 0002:000ba430 ??0?$map@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@@std@@QAE@XZ 005fe430 f i ServerDlg.obj + 0002:000ba490 ??0?$map@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@@std@@QAE@XZ 005fe490 f i ServerDlg.obj + 0002:000ba4f0 ??0?$map@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@@std@@QAE@XZ 005fe4f0 f i ServerDlg.obj + 0002:000ba550 ??0?$map@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@@std@@QAE@XZ 005fe550 f i ServerDlg.obj + 0002:000ba5b0 ??0?$map@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@@std@@QAE@XZ 005fe5b0 f i ServerDlg.obj + 0002:000ba610 ??0?$map@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@@std@@QAE@XZ 005fe610 f i ServerDlg.obj + 0002:000ba670 ??0?$map@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@@std@@QAE@XZ 005fe670 f i ServerDlg.obj + 0002:000ba6d0 ??0?$map@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@@std@@QAE@XZ 005fe6d0 f i ServerDlg.obj + 0002:000ba730 ??0?$map@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@@std@@QAE@XZ 005fe730 f i ServerDlg.obj + 0002:000ba790 ??0?$map@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@@std@@QAE@XZ 005fe790 f i ServerDlg.obj + 0002:000ba7f0 ??0?$tuple@ABG@std@@QAE@$$QAV01@@Z 005fe7f0 f i ServerDlg.obj + 0002:000ba860 ??0?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 005fe860 f i ServerDlg.obj + 0002:000ba920 ??0?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 005fe920 f i ServerDlg.obj + 0002:000ba9e0 ??0CGameSocket@@QAE@GPAVSocketMgr@@@Z 005fe9e0 f i ServerDlg.obj + 0002:000baac0 ??0CMagicTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@@Z 005feac0 f i ServerDlg.obj + 0002:000bab30 ??0CMagicType1Set@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@@Z 005feb30 f i ServerDlg.obj + 0002:000baba0 ??0CMagicType2Set@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@@Z 005feba0 f i ServerDlg.obj + 0002:000bac10 ??0CMagicType4Set@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@@Z 005fec10 f i ServerDlg.obj + 0002:000bac80 ??0CMakeDefensiveTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@@Z 005fec80 f i ServerDlg.obj + 0002:000bacf0 ??0CMakeGradeItemTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@@Z 005fecf0 f i ServerDlg.obj + 0002:000bad60 ??0CMakeItemGroupSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@@Z 005fed60 f i ServerDlg.obj + 0002:000badd0 ??0CMakeLareItemTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@@Z 005fedd0 f i ServerDlg.obj + 0002:000bae40 ??0CMakeWeaponTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@@Z 005fee40 f i ServerDlg.obj + 0002:000baeb0 ??0CMonTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMap@VCNpcTable@@@@@Z 005feeb0 f i ServerDlg.obj + 0002:000baf30 ??0CNpcItemSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@@Z 005fef30 f i ServerDlg.obj + 0002:000bafa0 ??0CNpcPosSet@@QAE@PAVOdbcConnection@@PAX@Z 005fefa0 f i ServerDlg.obj + 0002:000bb010 ??0CNpcTable@@QAE@XZ 005ff010 f i ServerDlg.obj + 0002:000bb080 ??0CNpcTableSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMap@VCNpcTable@@@@@Z 005ff080 f i ServerDlg.obj + 0002:000bb100 ??0CObjectPosSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@@Z 005ff100 f i ServerDlg.obj + 0002:000bb170 ??0CServerDlg@@QAE@XZ 005ff170 f ServerDlg.obj + 0002:000bb5e0 ??0CServerResourceSet@@QAE@PAVOdbcConnection@@PAV?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@@Z 005ff5e0 f i ServerDlg.obj + 0002:000bb650 ??0CZoneInfoSet@@QAE@PAVOdbcConnection@@PAV?$map@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@@std@@@Z 005ff650 f i ServerDlg.obj + 0002:000bb6c0 ??0DateTime@@QAE@XZ 005ff6c0 f i ServerDlg.obj + 0002:000bb760 ??0_K_MONSTER_ITEM@@QAE@XZ 005ff760 f i ServerDlg.obj + 0002:000bb7e0 ??0_MAKE_ITEM_GROUP@@QAE@XZ 005ff7e0 f i ServerDlg.obj + 0002:000bb840 ??0_MAKE_WEAPON@@QAE@XZ 005ff840 f i ServerDlg.obj + 0002:000bb8a0 ??0_SERVER_RESOURCE@@QAE@XZ 005ff8a0 f i ServerDlg.obj + 0002:000bb900 ??0_ZONE_INFO@@QAE@XZ 005ff900 f i ServerDlg.obj + 0002:000bb960 ??1?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 005ff960 f i ServerDlg.obj + 0002:000bba00 ??1?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 005ffa00 f i ServerDlg.obj + 0002:000bbaa0 ??1?$CSTLMap@VCNpc@@@@QAE@XZ 005ffaa0 f i ServerDlg.obj + 0002:000bbb40 ??1?$CSTLMap@VCNpcTable@@@@QAE@XZ 005ffb40 f i ServerDlg.obj + 0002:000bbbe0 ??1?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 005ffbe0 f i ServerDlg.obj + 0002:000bbc80 ??1?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 005ffc80 f i ServerDlg.obj + 0002:000bbd20 ??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 005ffd20 f i ServerDlg.obj + 0002:000bbdc0 ??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 005ffdc0 f i ServerDlg.obj + 0002:000bbe60 ??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 005ffe60 f i ServerDlg.obj + 0002:000bbf00 ??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 005fff00 f i ServerDlg.obj + 0002:000bbfa0 ??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 005fffa0 f i ServerDlg.obj + 0002:000bc040 ??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 00600040 f i ServerDlg.obj + 0002:000bc0e0 ??1?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 006000e0 f i ServerDlg.obj + 0002:000bc180 ??1?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00600180 f i ServerDlg.obj + 0002:000bc220 ??1?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 00600220 f i ServerDlg.obj + 0002:000bc2c0 ??1?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 006002c0 f i ServerDlg.obj + 0002:000bc360 ??1?$KOSocketMgr@VCGameSocket@@@@UAE@XZ 00600360 f i ServerDlg.obj + 0002:000bc430 ??1?$ListenSocket@VCGameSocket@@@@QAE@XZ 00600430 f i ServerDlg.obj + 0002:000bc4d0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006004d0 f i ServerDlg.obj + 0002:000bc570 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600570 f i ServerDlg.obj + 0002:000bc610 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600610 f i ServerDlg.obj + 0002:000bc6b0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006006b0 f i ServerDlg.obj + 0002:000bc750 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600750 f i ServerDlg.obj + 0002:000bc7f0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006007f0 f i ServerDlg.obj + 0002:000bc890 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600890 f i ServerDlg.obj + 0002:000bc930 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600930 f i ServerDlg.obj + 0002:000bc9d0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006009d0 f i ServerDlg.obj + 0002:000bca70 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600a70 f i ServerDlg.obj + 0002:000bcb10 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600b10 f i ServerDlg.obj + 0002:000bcbb0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600bb0 f i ServerDlg.obj + 0002:000bcc50 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600c50 f i ServerDlg.obj + 0002:000bccf0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600cf0 f i ServerDlg.obj + 0002:000bcd90 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600d90 f i ServerDlg.obj + 0002:000bce30 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600e30 f i ServerDlg.obj + 0002:000bced0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600ed0 f i ServerDlg.obj + 0002:000bcf70 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00600f70 f i ServerDlg.obj + 0002:000bd010 ??1?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601010 f i ServerDlg.obj + 0002:000bd0f0 ??1?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006010f0 f i ServerDlg.obj + 0002:000bd1d0 ??1?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006011d0 f i ServerDlg.obj + 0002:000bd2b0 ??1?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006012b0 f i ServerDlg.obj + 0002:000bd390 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601390 f i ServerDlg.obj + 0002:000bd470 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601470 f i ServerDlg.obj + 0002:000bd550 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601550 f i ServerDlg.obj + 0002:000bd630 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601630 f i ServerDlg.obj + 0002:000bd710 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601710 f i ServerDlg.obj + 0002:000bd7f0 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006017f0 f i ServerDlg.obj + 0002:000bd8d0 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006018d0 f i ServerDlg.obj + 0002:000bd9b0 ??1?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE@XZ 006019b0 f i ServerDlg.obj + 0002:000bda90 ??1?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601a90 f i ServerDlg.obj + 0002:000bdb70 ??1?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601b70 f i ServerDlg.obj + 0002:000bdc50 ??1?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601c50 f i ServerDlg.obj + 0002:000bdd30 ??1?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601d30 f i ServerDlg.obj + 0002:000bde10 ??1?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601e10 f i ServerDlg.obj + 0002:000bdef0 ??1?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601ef0 f i ServerDlg.obj + 0002:000bdfd0 ??1?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00601fd0 f i ServerDlg.obj + 0002:000be0b0 ??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE@XZ 006020b0 f i ServerDlg.obj + 0002:000be190 ??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE@XZ 00602190 f i ServerDlg.obj + 0002:000be270 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@XZ 00602270 f i ServerDlg.obj + 0002:000be2c0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 006022c0 f i ServerDlg.obj + 0002:000be310 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@XZ 00602310 f i ServerDlg.obj + 0002:000be360 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@XZ 00602360 f i ServerDlg.obj + 0002:000be3b0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@XZ 006023b0 f i ServerDlg.obj + 0002:000be400 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@XZ 00602400 f i ServerDlg.obj + 0002:000be450 ??1?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@@std@@QAE@XZ 00602450 f i ServerDlg.obj + 0002:000be4c0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE@XZ 006024c0 f i ServerDlg.obj + 0002:000be510 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 00602510 f i ServerDlg.obj + 0002:000be560 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE@XZ 00602560 f i ServerDlg.obj + 0002:000be5b0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE@XZ 006025b0 f i ServerDlg.obj + 0002:000be600 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE@XZ 00602600 f i ServerDlg.obj + 0002:000be650 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE@XZ 00602650 f i ServerDlg.obj + 0002:000be6a0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006026a0 f i ServerDlg.obj + 0002:000be7e0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006027e0 f i ServerDlg.obj + 0002:000be920 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602920 f i ServerDlg.obj + 0002:000bea60 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602a60 f i ServerDlg.obj + 0002:000beba0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602ba0 f i ServerDlg.obj + 0002:000bece0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602ce0 f i ServerDlg.obj + 0002:000bee20 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602e20 f i ServerDlg.obj + 0002:000bef60 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00602f60 f i ServerDlg.obj + 0002:000bf0a0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006030a0 f i ServerDlg.obj + 0002:000bf1e0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006031e0 f i ServerDlg.obj + 0002:000bf320 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603320 f i ServerDlg.obj + 0002:000bf460 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603460 f i ServerDlg.obj + 0002:000bf5a0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006035a0 f i ServerDlg.obj + 0002:000bf6e0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006036e0 f i ServerDlg.obj + 0002:000bf820 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603820 f i ServerDlg.obj + 0002:000bf960 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603960 f i ServerDlg.obj + 0002:000bfaa0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603aa0 f i ServerDlg.obj + 0002:000bfbe0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603be0 f i ServerDlg.obj + 0002:000bfd20 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603d20 f i ServerDlg.obj + 0002:000bfd70 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603d70 f i ServerDlg.obj + 0002:000bfdc0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603dc0 f i ServerDlg.obj + 0002:000bfe10 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603e10 f i ServerDlg.obj + 0002:000bfe60 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603e60 f i ServerDlg.obj + 0002:000bfeb0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603eb0 f i ServerDlg.obj + 0002:000bff00 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603f00 f i ServerDlg.obj + 0002:000bff50 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603f50 f i ServerDlg.obj + 0002:000bffa0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603fa0 f i ServerDlg.obj + 0002:000bfff0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00603ff0 f i ServerDlg.obj + 0002:000c0040 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604040 f i ServerDlg.obj + 0002:000c0090 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604090 f i ServerDlg.obj + 0002:000c00e0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006040e0 f i ServerDlg.obj + 0002:000c0130 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604130 f i ServerDlg.obj + 0002:000c0180 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604180 f i ServerDlg.obj + 0002:000c01d0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 006041d0 f i ServerDlg.obj + 0002:000c0220 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604220 f i ServerDlg.obj + 0002:000c0270 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00604270 f i ServerDlg.obj + 0002:000c02c0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 006042c0 f i ServerDlg.obj + 0002:000c0310 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 00604310 f i ServerDlg.obj + 0002:000c0360 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 00604360 f i ServerDlg.obj + 0002:000c03b0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 006043b0 f i ServerDlg.obj + 0002:000c0400 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 00604400 f i ServerDlg.obj + 0002:000c0450 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 00604450 f i ServerDlg.obj + 0002:000c04a0 ??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@XZ 006044a0 f i ServerDlg.obj + 0002:000c04f0 ??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@XZ 006044f0 f i ServerDlg.obj + 0002:000c0540 ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@XZ 00604540 f i ServerDlg.obj + 0002:000c0590 ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE@XZ 00604590 f i ServerDlg.obj + 0002:000c05e0 ??1?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@foreach_detail_@boost@@QAE@XZ 006045e0 f i ServerDlg.obj + 0002:000c0630 ??1?$list@HV?$allocator@H@std@@@std@@QAE@XZ 00604630 f i ServerDlg.obj + 0002:000c06f0 ??1?$lock_guard@Vrecursive_mutex@std@@@std@@QAE@XZ 006046f0 f i ServerDlg.obj + 0002:000c0780 ??1?$map@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@@std@@QAE@XZ 00604780 f i ServerDlg.obj + 0002:000c07d0 ??1?$map@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@@std@@QAE@XZ 006047d0 f i ServerDlg.obj + 0002:000c0820 ??1?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@QAE@XZ 00604820 f i ServerDlg.obj + 0002:000c0870 ??1?$map@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@@std@@QAE@XZ 00604870 f i ServerDlg.obj + 0002:000c08c0 ??1?$map@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@@std@@QAE@XZ 006048c0 f i ServerDlg.obj + 0002:000c0910 ??1?$map@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@@std@@QAE@XZ 00604910 f i ServerDlg.obj + 0002:000c0960 ??1?$map@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@@std@@QAE@XZ 00604960 f i ServerDlg.obj + 0002:000c09b0 ??1?$map@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@@std@@QAE@XZ 006049b0 f i ServerDlg.obj + 0002:000c0a00 ??1?$map@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@@std@@QAE@XZ 00604a00 f i ServerDlg.obj + 0002:000c0a50 ??1?$map@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@@std@@QAE@XZ 00604a50 f i ServerDlg.obj + 0002:000c0aa0 ??1?$map@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@@std@@QAE@XZ 00604aa0 f i ServerDlg.obj + 0002:000c0af0 ??1?$map@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@@std@@QAE@XZ 00604af0 f i ServerDlg.obj + 0002:000c0b40 ??1?$map@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@@std@@QAE@XZ 00604b40 f i ServerDlg.obj + 0002:000c0b90 ??1?$map@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@@std@@QAE@XZ 00604b90 f i ServerDlg.obj + 0002:000c0be0 ??1?$map@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@@std@@QAE@XZ 00604be0 f i ServerDlg.obj + 0002:000c0c30 ??1?$map@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@@std@@QAE@XZ 00604c30 f i ServerDlg.obj + 0002:000c0c80 ??1?$map@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@@std@@QAE@XZ 00604c80 f i ServerDlg.obj + 0002:000c0cd0 ??1?$map@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@@std@@QAE@XZ 00604cd0 f i ServerDlg.obj + 0002:000c0d20 ??1?$map@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@@std@@QAE@XZ 00604d20 f i ServerDlg.obj + 0002:000c0d70 ??1?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@QAE@XZ 00604d70 f i ServerDlg.obj + 0002:000c0dc0 ??1?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@@std@@QAE@XZ 00604dc0 f i ServerDlg.obj + 0002:000c0e10 ??1?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAE@XZ 00604e10 f i ServerDlg.obj + 0002:000c0e70 ??1?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@XZ 00604e70 f i ServerDlg.obj + 0002:000c0ed0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00604ed0 f i ServerDlg.obj + 0002:000c0f20 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00604f20 f i ServerDlg.obj + 0002:000c0f70 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00604f70 f i ServerDlg.obj + 0002:000c0fc0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00604fc0 f i ServerDlg.obj + 0002:000c1010 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605010 f i ServerDlg.obj + 0002:000c1060 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605060 f i ServerDlg.obj + 0002:000c10b0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 006050b0 f i ServerDlg.obj + 0002:000c1100 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605100 f i ServerDlg.obj + 0002:000c1150 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605150 f i ServerDlg.obj + 0002:000c11a0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 006051a0 f i ServerDlg.obj + 0002:000c11f0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 006051f0 f i ServerDlg.obj + 0002:000c1240 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605240 f i ServerDlg.obj + 0002:000c1290 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605290 f i ServerDlg.obj + 0002:000c12e0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 006052e0 f i ServerDlg.obj + 0002:000c1330 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605330 f i ServerDlg.obj + 0002:000c1380 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605380 f i ServerDlg.obj + 0002:000c13d0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 006053d0 f i ServerDlg.obj + 0002:000c1420 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00605420 f i ServerDlg.obj + 0002:000c1470 ??1?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 00605470 f i ServerDlg.obj + 0002:000c1580 ??1?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00605580 f i ServerDlg.obj + 0002:000c1690 ??1CIni@@QAE@XZ 00605690 f i ServerDlg.obj + 0002:000c16f0 ??1CMagicTableSet@@UAE@XZ 006056f0 f i ServerDlg.obj + 0002:000c1740 ??1CMagicType1Set@@UAE@XZ 00605740 f i ServerDlg.obj + 0002:000c1790 ??1CMagicType2Set@@UAE@XZ 00605790 f i ServerDlg.obj + 0002:000c17e0 ??1CMagicType4Set@@UAE@XZ 006057e0 f i ServerDlg.obj + 0002:000c1830 ??1CMakeDefensiveTableSet@@UAE@XZ 00605830 f i ServerDlg.obj + 0002:000c1880 ??1CMakeGradeItemTableSet@@UAE@XZ 00605880 f i ServerDlg.obj + 0002:000c18d0 ??1CMakeItemGroupSet@@UAE@XZ 006058d0 f i ServerDlg.obj + 0002:000c1920 ??1CMakeLareItemTableSet@@UAE@XZ 00605920 f i ServerDlg.obj + 0002:000c1970 ??1CMakeWeaponTableSet@@UAE@XZ 00605970 f i ServerDlg.obj + 0002:000c19c0 ??1CMonTableSet@@UAE@XZ 006059c0 f i ServerDlg.obj + 0002:000c1a10 ??1CNpcItemSet@@UAE@XZ 00605a10 f i ServerDlg.obj + 0002:000c1a60 ??1CNpcPosSet@@UAE@XZ 00605a60 f i ServerDlg.obj + 0002:000c1ab0 ??1CNpcTable@@QAE@XZ 00605ab0 f i ServerDlg.obj + 0002:000c1b10 ??1CNpcTableSet@@UAE@XZ 00605b10 f i ServerDlg.obj + 0002:000c1b60 ??1CObjectPosSet@@UAE@XZ 00605b60 f i ServerDlg.obj + 0002:000c1bb0 ??1CServerDlg@@QAE@XZ 00605bb0 f ServerDlg.obj + 0002:000c22e0 ??1CServerResourceSet@@UAE@XZ 006062e0 f i ServerDlg.obj + 0002:000c2330 ??1CZoneInfoSet@@UAE@XZ 00606330 f i ServerDlg.obj + 0002:000c2380 ??1OdbcError@@QAE@XZ 00606380 f i ServerDlg.obj + 0002:000c23f0 ??1_MAKE_ITEM_GROUP@@QAE@XZ 006063f0 f i ServerDlg.obj + 0002:000c2450 ??1_SERVER_RESOURCE@@QAE@XZ 00606450 f i ServerDlg.obj + 0002:000c24b0 ??1_ZONE_INFO@@QAE@XZ 006064b0 f i ServerDlg.obj + 0002:000c2510 ??4?$atomic@G@std@@QAEGG@Z 00606510 f i ServerDlg.obj + 0002:000c2570 ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z 00606570 f i ServerDlg.obj + 0002:000c2630 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606630 f i ServerDlg.obj + 0002:000c2730 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606730 f i ServerDlg.obj + 0002:000c2830 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606830 f i ServerDlg.obj + 0002:000c2930 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606930 f i ServerDlg.obj + 0002:000c2a30 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606a30 f i ServerDlg.obj + 0002:000c2b30 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606b30 f i ServerDlg.obj + 0002:000c2c30 ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QBE_NABV01@@Z 00606c30 f i ServerDlg.obj + 0002:000c2cc0 ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QBE_NABV01@@Z 00606cc0 f i ServerDlg.obj + 0002:000c2d50 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606d50 f i ServerDlg.obj + 0002:000c2de0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606de0 f i ServerDlg.obj + 0002:000c2e70 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606e70 f i ServerDlg.obj + 0002:000c2f00 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606f00 f i ServerDlg.obj + 0002:000c2f90 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00606f90 f i ServerDlg.obj + 0002:000c3020 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00607020 f i ServerDlg.obj + 0002:000c30b0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 006070b0 f i ServerDlg.obj + 0002:000c3140 ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QBE_NABV01@@Z 00607140 f i ServerDlg.obj + 0002:000c31d0 ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QBE_NABV01@@Z 006071d0 f i ServerDlg.obj + 0002:000c3260 ??A?$map@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@@std@@QAEAAPAVCUser@@ABG@Z 00607260 f i ServerDlg.obj + 0002:000c32d0 ??Bauto_any_base@foreach_detail_@boost@@QBE_NXZ 006072d0 f i ServerDlg.obj + 0002:000c3310 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBEPAVCNpcThread@@@1@XZ 00607310 f i ServerDlg.obj + 0002:000c3370 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBGPAU_ZONE_INFO@@@1@XZ 00607370 f i ServerDlg.obj + 0002:000c33d0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBGPAVKOSocket@@@1@XZ 006073d0 f i ServerDlg.obj + 0002:000c3430 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@XZ 00607430 f i ServerDlg.obj + 0002:000c3490 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@XZ 00607490 f i ServerDlg.obj + 0002:000c34f0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAVCNpcTable@@@1@XZ 006074f0 f i ServerDlg.obj + 0002:000c3550 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBEPAVCNpcThread@@@1@XZ 00607550 f i ServerDlg.obj + 0002:000c3690 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBGPAU_ZONE_INFO@@@1@XZ 00607690 f i ServerDlg.obj + 0002:000c37d0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBGPAVKOSocket@@@1@XZ 006077d0 f i ServerDlg.obj + 0002:000c3910 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@XZ 00607910 f i ServerDlg.obj + 0002:000c3a50 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@XZ 00607a50 f i ServerDlg.obj + 0002:000c3b90 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAVCNpcTable@@@1@XZ 00607b90 f i ServerDlg.obj + 0002:000c3cd0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBEPAVCNpcThread@@@1@XZ 00607cd0 f i ServerDlg.obj + 0002:000c3d20 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBGPAU_ZONE_INFO@@@1@XZ 00607d20 f i ServerDlg.obj + 0002:000c3d70 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBGPAVKOSocket@@@1@XZ 00607d70 f i ServerDlg.obj + 0002:000c3dc0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@1@XZ 00607dc0 f i ServerDlg.obj + 0002:000c3e10 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@1@XZ 00607e10 f i ServerDlg.obj + 0002:000c3e60 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAVCNpcTable@@@1@XZ 00607e60 f i ServerDlg.obj + 0002:000c3eb0 ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QBEABGXZ 00607eb0 f i ServerDlg.obj + 0002:000c3ff0 ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QBEABQAVThread@@XZ 00607ff0 f i ServerDlg.obj + 0002:000c4130 ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QBEAAGXZ 00608130 f i ServerDlg.obj + 0002:000c4180 ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QBEAAPAVThread@@XZ 00608180 f i ServerDlg.obj + 0002:000c41d0 ??E?$Atomic@G@@QAEAAV0@XZ 006081d0 f i ServerDlg.obj + 0002:000c4230 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608230 f i ServerDlg.obj + 0002:000c4370 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608370 f i ServerDlg.obj + 0002:000c44b0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006084b0 f i ServerDlg.obj + 0002:000c45f0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006085f0 f i ServerDlg.obj + 0002:000c4730 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608730 f i ServerDlg.obj + 0002:000c4870 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608870 f i ServerDlg.obj + 0002:000c49b0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006089b0 f i ServerDlg.obj + 0002:000c4af0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608af0 f i ServerDlg.obj + 0002:000c4c30 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608c30 f i ServerDlg.obj + 0002:000c4d70 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608d70 f i ServerDlg.obj + 0002:000c4eb0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608eb0 f i ServerDlg.obj + 0002:000c4ff0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00608ff0 f i ServerDlg.obj + 0002:000c5130 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00609130 f i ServerDlg.obj + 0002:000c5270 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00609270 f i ServerDlg.obj + 0002:000c53b0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006093b0 f i ServerDlg.obj + 0002:000c54f0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006094f0 f i ServerDlg.obj + 0002:000c5630 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00609630 f i ServerDlg.obj + 0002:000c5770 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609770 f i ServerDlg.obj + 0002:000c5890 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609890 f i ServerDlg.obj + 0002:000c59b0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 006099b0 f i ServerDlg.obj + 0002:000c5ad0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609ad0 f i ServerDlg.obj + 0002:000c5bf0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 00609bf0 f i ServerDlg.obj + 0002:000c5c50 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609c50 f i ServerDlg.obj + 0002:000c5d70 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609d70 f i ServerDlg.obj + 0002:000c5e90 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609e90 f i ServerDlg.obj + 0002:000c5fb0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00609fb0 f i ServerDlg.obj + 0002:000c60d0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a0d0 f i ServerDlg.obj + 0002:000c61f0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a1f0 f i ServerDlg.obj + 0002:000c6310 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a310 f i ServerDlg.obj + 0002:000c6430 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a430 f i ServerDlg.obj + 0002:000c6550 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a550 f i ServerDlg.obj + 0002:000c6670 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a670 f i ServerDlg.obj + 0002:000c6790 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a790 f i ServerDlg.obj + 0002:000c68b0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a8b0 f i ServerDlg.obj + 0002:000c69d0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0060a9d0 f i ServerDlg.obj + 0002:000c6af0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060aaf0 f i ServerDlg.obj + 0002:000c6bc0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060abc0 f i ServerDlg.obj + 0002:000c6c90 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 0060ac90 f i ServerDlg.obj + 0002:000c6d50 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060ad50 f i ServerDlg.obj + 0002:000c6e20 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 0060ae20 f i ServerDlg.obj + 0002:000c6ee0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060aee0 f i ServerDlg.obj + 0002:000c6fb0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060afb0 f i ServerDlg.obj + 0002:000c7080 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b080 f i ServerDlg.obj + 0002:000c7150 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b150 f i ServerDlg.obj + 0002:000c7220 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b220 f i ServerDlg.obj + 0002:000c72f0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b2f0 f i ServerDlg.obj + 0002:000c73c0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b3c0 f i ServerDlg.obj + 0002:000c7490 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b490 f i ServerDlg.obj + 0002:000c7560 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b560 f i ServerDlg.obj + 0002:000c7630 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b630 f i ServerDlg.obj + 0002:000c7700 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 0060b700 f i ServerDlg.obj + 0002:000c77c0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b7c0 f i ServerDlg.obj + 0002:000c7890 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b890 f i ServerDlg.obj + 0002:000c7960 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060b960 f i ServerDlg.obj + 0002:000c7a30 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0060ba30 f i ServerDlg.obj + 0002:000c7b00 ??E?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@XZ 0060bb00 f i ServerDlg.obj + 0002:000c7c40 ??E?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAEAAV01@XZ 0060bc40 f i ServerDlg.obj + 0002:000c7d80 ??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE?AV01@H@Z 0060bd80 f i ServerDlg.obj + 0002:000c7ea0 ??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 0060bea0 f i ServerDlg.obj + 0002:000c7fc0 ??_E?$KOSocketMgr@VCGameSocket@@@@UAEPAXI@Z 0060bfc0 f i ServerDlg.obj + 0002:000c7fc0 ??_G?$KOSocketMgr@VCGameSocket@@@@UAEPAXI@Z 0060bfc0 f i ServerDlg.obj + 0002:000c8030 ??_G?$ListenSocket@VCGameSocket@@@@QAEPAXI@Z 0060c030 f i ServerDlg.obj + 0002:000c80a0 ??_G?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAEPAXI@Z 0060c0a0 f i ServerDlg.obj + 0002:000c8110 ??_G?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAEPAXI@Z 0060c110 f i ServerDlg.obj + 0002:000c8180 ??_GCMagicTableSet@@UAEPAXI@Z 0060c180 f i ServerDlg.obj + 0002:000c8180 ??_ECMagicTableSet@@UAEPAXI@Z 0060c180 f i ServerDlg.obj + 0002:000c81f0 ??_ECMagicType1Set@@UAEPAXI@Z 0060c1f0 f i ServerDlg.obj + 0002:000c81f0 ??_GCMagicType1Set@@UAEPAXI@Z 0060c1f0 f i ServerDlg.obj + 0002:000c8260 ??_GCMagicType2Set@@UAEPAXI@Z 0060c260 f i ServerDlg.obj + 0002:000c8260 ??_ECMagicType2Set@@UAEPAXI@Z 0060c260 f i ServerDlg.obj + 0002:000c82d0 ??_ECMagicType4Set@@UAEPAXI@Z 0060c2d0 f i ServerDlg.obj + 0002:000c82d0 ??_GCMagicType4Set@@UAEPAXI@Z 0060c2d0 f i ServerDlg.obj + 0002:000c8340 ??_ECMakeDefensiveTableSet@@UAEPAXI@Z 0060c340 f i ServerDlg.obj + 0002:000c8340 ??_GCMakeDefensiveTableSet@@UAEPAXI@Z 0060c340 f i ServerDlg.obj + 0002:000c83b0 ??_GCMakeGradeItemTableSet@@UAEPAXI@Z 0060c3b0 f i ServerDlg.obj + 0002:000c83b0 ??_ECMakeGradeItemTableSet@@UAEPAXI@Z 0060c3b0 f i ServerDlg.obj + 0002:000c8420 ??_GCMakeItemGroupSet@@UAEPAXI@Z 0060c420 f i ServerDlg.obj + 0002:000c8420 ??_ECMakeItemGroupSet@@UAEPAXI@Z 0060c420 f i ServerDlg.obj + 0002:000c8490 ??_GCMakeLareItemTableSet@@UAEPAXI@Z 0060c490 f i ServerDlg.obj + 0002:000c8490 ??_ECMakeLareItemTableSet@@UAEPAXI@Z 0060c490 f i ServerDlg.obj + 0002:000c8500 ??_GCMakeWeaponTableSet@@UAEPAXI@Z 0060c500 f i ServerDlg.obj + 0002:000c8500 ??_ECMakeWeaponTableSet@@UAEPAXI@Z 0060c500 f i ServerDlg.obj + 0002:000c8570 ??_ECMonTableSet@@UAEPAXI@Z 0060c570 f i ServerDlg.obj + 0002:000c8570 ??_GCMonTableSet@@UAEPAXI@Z 0060c570 f i ServerDlg.obj + 0002:000c85e0 ??_ECNpcItemSet@@UAEPAXI@Z 0060c5e0 f i ServerDlg.obj + 0002:000c85e0 ??_GCNpcItemSet@@UAEPAXI@Z 0060c5e0 f i ServerDlg.obj + 0002:000c8650 ??_ECNpcPosSet@@UAEPAXI@Z 0060c650 f i ServerDlg.obj + 0002:000c8650 ??_GCNpcPosSet@@UAEPAXI@Z 0060c650 f i ServerDlg.obj + 0002:000c86c0 ??_GCNpcTable@@QAEPAXI@Z 0060c6c0 f i ServerDlg.obj + 0002:000c8740 ??_ECNpcTableSet@@UAEPAXI@Z 0060c740 f i ServerDlg.obj + 0002:000c8740 ??_GCNpcTableSet@@UAEPAXI@Z 0060c740 f i ServerDlg.obj + 0002:000c87b0 ??_GCObjectPosSet@@UAEPAXI@Z 0060c7b0 f i ServerDlg.obj + 0002:000c87b0 ??_ECObjectPosSet@@UAEPAXI@Z 0060c7b0 f i ServerDlg.obj + 0002:000c8820 ??_ECServerResourceSet@@UAEPAXI@Z 0060c820 f i ServerDlg.obj + 0002:000c8820 ??_GCServerResourceSet@@UAEPAXI@Z 0060c820 f i ServerDlg.obj + 0002:000c8890 ??_GCZoneInfoSet@@UAEPAXI@Z 0060c890 f i ServerDlg.obj + 0002:000c8890 ??_ECZoneInfoSet@@UAEPAXI@Z 0060c890 f i ServerDlg.obj + 0002:000c8900 ??_GOdbcError@@QAEPAXI@Z 0060c900 f i ServerDlg.obj + 0002:000c8970 ??_G_MAKE_ITEM_GROUP@@QAEPAXI@Z 0060c970 f i ServerDlg.obj + 0002:000c89e0 ??_G_SERVER_RESOURCE@@QAEPAXI@Z 0060c9e0 f i ServerDlg.obj + 0002:000c8a50 ??_G_ZONE_INFO@@QAEPAXI@Z 0060ca50 f i ServerDlg.obj + 0002:000c8ac0 ?AddObjectEventNpc@CServerDlg@@QAE_NPAU_OBJECT_EVENT@@PAVMAP@@@Z 0060cac0 f ServerDlg.obj + 0002:000c8f00 ?AllNpcInfo@CServerDlg@@QAEXXZ 0060cf00 f ServerDlg.obj + 0002:000c93a0 ?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z 0060d3a0 f i ServerDlg.obj + 0002:000c9630 ?CheckAliveTest@CServerDlg@@QAEXXZ 0060d630 f ServerDlg.obj + 0002:000c9d40 ?CheckLiveTimes@CServerDlg@@QAEXXZ 0060dd40 f ServerDlg.obj + 0002:000ca060 ?Close@?$ListenSocket@VCGameSocket@@@@QAEXXZ 0060e060 f i ServerDlg.obj + 0002:000ca0f0 ?CreateNpcThread@CServerDlg@@AAE_NXZ 0060e0f0 f ServerDlg.obj + 0002:000ca700 ?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ 0060e700 f i ServerDlg.obj + 0002:000ca910 ?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ 0060e910 f i ServerDlg.obj + 0002:000cab20 ?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ 0060eb20 f i ServerDlg.obj + 0002:000cad60 ?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ 0060ed60 f i ServerDlg.obj + 0002:000caf90 ?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ 0060ef90 f i ServerDlg.obj + 0002:000cb1a0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ 0060f1a0 f i ServerDlg.obj + 0002:000cb3b0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ 0060f3b0 f i ServerDlg.obj + 0002:000cb5c0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ 0060f5c0 f i ServerDlg.obj + 0002:000cb7d0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ 0060f7d0 f i ServerDlg.obj + 0002:000cb9e0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ 0060f9e0 f i ServerDlg.obj + 0002:000cbbf0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ 0060fbf0 f i ServerDlg.obj + 0002:000cbe20 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ 0060fe20 f i ServerDlg.obj + 0002:000cc030 ?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ 00610030 f i ServerDlg.obj + 0002:000cc240 ?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 00610240 f i ServerDlg.obj + 0002:000cc450 ?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ 00610450 f i ServerDlg.obj + 0002:000cc680 ?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ 00610680 f i ServerDlg.obj + 0002:000cc8c0 ?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z 006108c0 f ServerDlg.obj + 0002:000ccd40 ?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z 00610d40 f i ServerDlg.obj + 0002:000ccf30 ?DeleteUserPtr@CServerDlg@@QAEXG@Z 00610f30 f ServerDlg.obj + 0002:000cd170 ?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 00611170 f i ServerDlg.obj + 0002:000cd3b0 ?Fetch@CMagicTableSet@@UAE_NXZ 006113b0 f i ServerDlg.obj + 0002:000cd8e0 ?Fetch@CMagicType1Set@@UAE_NXZ 006118e0 f i ServerDlg.obj + 0002:000cda80 ?Fetch@CMagicType2Set@@UAE_NXZ 00611a80 f i ServerDlg.obj + 0002:000cdbc0 ?Fetch@CMagicType4Set@@UAE_NXZ 00611bc0 f i ServerDlg.obj + 0002:000cdf60 ?Fetch@CMakeDefensiveTableSet@@UAE_NXZ 00611f60 f i ServerDlg.obj + 0002:000ce0f0 ?Fetch@CMakeGradeItemTableSet@@UAE_NXZ 006120f0 f i ServerDlg.obj + 0002:000ce200 ?Fetch@CMakeItemGroupSet@@UAE_NXZ 00612200 f i ServerDlg.obj + 0002:000ce3a0 ?Fetch@CMakeLareItemTableSet@@UAE_NXZ 006123a0 f i ServerDlg.obj + 0002:000ce4b0 ?Fetch@CMakeWeaponTableSet@@UAE_NXZ 006124b0 f i ServerDlg.obj + 0002:000ce640 ?Fetch@CNpcItemSet@@UAE_NXZ 00612640 f i ServerDlg.obj + 0002:000ce830 ?Fetch@CNpcPosSet@@UAE_NXZ 00612830 f i ServerDlg.obj + 0002:000ce890 ?Fetch@CNpcTableSet@@UAE_NXZ 00612890 f i ServerDlg.obj + 0002:000cf390 ?Fetch@CObjectPosSet@@UAE_NXZ 00613390 f i ServerDlg.obj + 0002:000cf680 ?Fetch@CServerResourceSet@@UAE_NXZ 00613680 f i ServerDlg.obj + 0002:000cf7b0 ?Fetch@CZoneInfoSet@@UAE_NXZ 006137b0 f i ServerDlg.obj + 0002:000cfb60 ?FetchString@OdbcCommand@@QAE_NHPADJ@Z 00613b60 f i ServerDlg.obj + 0002:000cfc10 ?GameServerAcceptThread@CServerDlg@@QAEXXZ 00613c10 f ServerDlg.obj + 0002:000cfc70 ?GetActiveSessionMap@?$KOSocketMgr@VCGameSocket@@@@QAEAAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@XZ 00613c70 f i ServerDlg.obj + 0002:000cfcb0 ?GetColumns@CMagicTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613cb0 f i ServerDlg.obj + 0002:000cfd30 ?GetColumns@CMagicType1Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613d30 f i ServerDlg.obj + 0002:000cfdb0 ?GetColumns@CMagicType2Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613db0 f i ServerDlg.obj + 0002:000cfe30 ?GetColumns@CMagicType4Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613e30 f i ServerDlg.obj + 0002:000cfeb0 ?GetColumns@CMakeDefensiveTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613eb0 f i ServerDlg.obj + 0002:000cff30 ?GetColumns@CMakeGradeItemTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613f30 f i ServerDlg.obj + 0002:000cffb0 ?GetColumns@CMakeItemGroupSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00613fb0 f i ServerDlg.obj + 0002:000d0030 ?GetColumns@CMakeLareItemTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00614030 f i ServerDlg.obj + 0002:000d00b0 ?GetColumns@CMakeWeaponTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006140b0 f i ServerDlg.obj + 0002:000d0130 ?GetColumns@CNpcItemSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00614130 f i ServerDlg.obj + 0002:000d01b0 ?GetColumns@CNpcPosSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006141b0 f i ServerDlg.obj + 0002:000d0230 ?GetColumns@CNpcTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00614230 f i ServerDlg.obj + 0002:000d02b0 ?GetColumns@CObjectPosSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006142b0 f i ServerDlg.obj + 0002:000d0330 ?GetColumns@CServerResourceSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00614330 f i ServerDlg.obj + 0002:000d03b0 ?GetColumns@CZoneInfoSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006143b0 f i ServerDlg.obj + 0002:000d0430 ?GetCompletionPort@SocketMgr@@QAEPAXXZ 00614430 f i ServerDlg.obj + 0002:000d0470 ?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z 00614470 f i ServerDlg.obj + 0002:000d0630 ?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z 00614630 f i ServerDlg.obj + 0002:000d07f0 ?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z 006147f0 f i ServerDlg.obj + 0002:000d09b0 ?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z 006149b0 f i ServerDlg.obj + 0002:000d0b70 ?GetDay@DateTime@@QAEEXZ 00614b70 f i ServerDlg.obj + 0002:000d0bb0 ?GetHour@DateTime@@QAEEXZ 00614bb0 f i ServerDlg.obj + 0002:000d0bf0 ?GetMagicTableData@CServerDlg@@AAE_NXZ 00614bf0 f ServerDlg.obj + 0002:000d0dc0 ?GetMagicType1Data@CServerDlg@@AAE_NXZ 00614dc0 f ServerDlg.obj + 0002:000d0f90 ?GetMagicType2Data@CServerDlg@@AAE_NXZ 00614f90 f ServerDlg.obj + 0002:000d1160 ?GetMagicType4Data@CServerDlg@@AAE_NXZ 00615160 f ServerDlg.obj + 0002:000d1330 ?GetMakeDefensiveItemTableData@CServerDlg@@AAE_NXZ 00615330 f ServerDlg.obj + 0002:000d1500 ?GetMakeGradeItemTableData@CServerDlg@@AAE_NXZ 00615500 f ServerDlg.obj + 0002:000d16d0 ?GetMakeItemGroupTable@CServerDlg@@AAE_NXZ 006156d0 f ServerDlg.obj + 0002:000d18a0 ?GetMakeLareItemTableData@CServerDlg@@AAE_NXZ 006158a0 f ServerDlg.obj + 0002:000d1a70 ?GetMakeWeaponItemTableData@CServerDlg@@AAE_NXZ 00615a70 f ServerDlg.obj + 0002:000d1c40 ?GetMinute@DateTime@@QAEEXZ 00615c40 f i ServerDlg.obj + 0002:000d1c80 ?GetMonth@DateTime@@QAEEXZ 00615c80 f i ServerDlg.obj + 0002:000d1cd0 ?GetNpcItemTable@CServerDlg@@AAE_NXZ 00615cd0 f ServerDlg.obj + 0002:000d1e90 ?GetNpcPtr@CServerDlg@@QAEPAVCNpc@@G@Z 00615e90 f ServerDlg.obj + 0002:000d1ef0 ?GetNpcTableData@CServerDlg@@AAE_N_N@Z 00615ef0 f ServerDlg.obj + 0002:000d21f0 ?GetObjectPostTableData@CServerDlg@@AAE_NXZ 006161f0 f ServerDlg.obj + 0002:000d23b0 ?GetSPosX@Unit@@QAEGXZ 006163b0 f i ServerDlg.obj + 0002:000d2420 ?GetSPosZ@Unit@@QAEGXZ 00616420 f i ServerDlg.obj + 0002:000d2490 ?GetServer@?$KOSocketMgr@VCGameSocket@@@@QAEPAV?$ListenSocket@VCGameSocket@@@@XZ 00616490 f i ServerDlg.obj + 0002:000d24d0 ?GetServerInfoIni@CServerDlg@@AAEXXZ 006164d0 f ServerDlg.obj + 0002:000d27f0 ?GetServerResource@CServerDlg@@QAAXHPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ZZ 006167f0 f ServerDlg.obj + 0002:000d28b0 ?GetServerResourceTable@CServerDlg@@AAE_NXZ 006168b0 f ServerDlg.obj + 0002:000d2a80 ?GetSize@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEHXZ 00616a80 f i ServerDlg.obj + 0002:000d2b30 ?GetTableName@CMagicTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616b30 f i ServerDlg.obj + 0002:000d2bb0 ?GetTableName@CMagicType1Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616bb0 f i ServerDlg.obj + 0002:000d2c30 ?GetTableName@CMagicType2Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616c30 f i ServerDlg.obj + 0002:000d2cb0 ?GetTableName@CMagicType4Set@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616cb0 f i ServerDlg.obj + 0002:000d2d30 ?GetTableName@CMakeDefensiveTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616d30 f i ServerDlg.obj + 0002:000d2db0 ?GetTableName@CMakeGradeItemTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616db0 f i ServerDlg.obj + 0002:000d2e30 ?GetTableName@CMakeItemGroupSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616e30 f i ServerDlg.obj + 0002:000d2eb0 ?GetTableName@CMakeLareItemTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616eb0 f i ServerDlg.obj + 0002:000d2f30 ?GetTableName@CMakeWeaponTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616f30 f i ServerDlg.obj + 0002:000d2fb0 ?GetTableName@CMonTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00616fb0 f i ServerDlg.obj + 0002:000d3030 ?GetTableName@CNpcItemSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00617030 f i ServerDlg.obj + 0002:000d30b0 ?GetTableName@CNpcPosSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006170b0 f i ServerDlg.obj + 0002:000d3130 ?GetTableName@CNpcTableSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00617130 f i ServerDlg.obj + 0002:000d31b0 ?GetTableName@CObjectPosSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006171b0 f i ServerDlg.obj + 0002:000d3230 ?GetTableName@CServerResourceSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00617230 f i ServerDlg.obj + 0002:000d32b0 ?GetTableName@CZoneInfoSet@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006172b0 f i ServerDlg.obj + 0002:000d3330 ?GetUnitPtr@CServerDlg@@QAEPAVUnit@@G@Z 00617330 f ServerDlg.obj + 0002:000d33b0 ?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z 006173b0 f ServerDlg.obj + 0002:000d35a0 ?GetWhereClause@OdbcRecordset@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006175a0 f i ServerDlg.obj + 0002:000d3620 ?GetYear@DateTime@@QAEGXZ 00617620 f i ServerDlg.obj + 0002:000d3670 ?GetZoneByID@CServerDlg@@QAEPAVMAP@@H@Z 00617670 f ServerDlg.obj + 0002:000d36d0 ?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z 006176d0 f i ServerDlg.obj + 0002:000d38c0 ?IsOpen@?$ListenSocket@VCGameSocket@@@@QAE_NXZ 006178c0 f i ServerDlg.obj + 0002:000d3900 ?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NGG@Z 00617900 f i ServerDlg.obj + 0002:000d3990 ?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z 00617990 f i ServerDlg.obj + 0002:000d3b60 ?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z 00617b60 f ServerDlg.obj + 0002:000d4e40 ?MapFileLoad@CServerDlg@@AAE_NXZ 00618e40 f ServerDlg.obj + 0002:000d5350 ?NpcUpdate@CServerDlg@@QAEXG_NEG@Z 00619350 f ServerDlg.obj + 0002:000d5420 ?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 00619420 f i ServerDlg.obj + 0002:000d5660 ?PutData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE_NIPAU_NPC_LIVE_TIME@@@Z 00619660 f i ServerDlg.obj + 0002:000d57b0 ?PutData@?$CSTLMap@VCNpc@@@@QAE_NIPAVCNpc@@@Z 006197b0 f i ServerDlg.obj + 0002:000d5900 ?PutData@?$CSTLMap@VCNpcTable@@@@QAE_NIPAVCNpcTable@@@Z 00619900 f i ServerDlg.obj + 0002:000d5a50 ?PutData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE_NIPAU_K_MONSTER_ITEM@@@Z 00619a50 f i ServerDlg.obj + 0002:000d5ba0 ?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE_NIPAU_MAGIC_TABLE@@@Z 00619ba0 f i ServerDlg.obj + 0002:000d5cf0 ?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE_NIPAU_MAGIC_TYPE1@@@Z 00619cf0 f i ServerDlg.obj + 0002:000d5e40 ?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE_NIPAU_MAGIC_TYPE2@@@Z 00619e40 f i ServerDlg.obj + 0002:000d5f90 ?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE_NIPAU_MAGIC_TYPE4@@@Z 00619f90 f i ServerDlg.obj + 0002:000d60e0 ?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE_NIPAU_MAKE_ITEM_GRADE_CODE@@@Z 0061a0e0 f i ServerDlg.obj + 0002:000d6230 ?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE_NIPAU_MAKE_ITEM_GROUP@@@Z 0061a230 f i ServerDlg.obj + 0002:000d6380 ?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE_NIPAU_MAKE_ITEM_LARE_CODE@@@Z 0061a380 f i ServerDlg.obj + 0002:000d64d0 ?PutData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE_NIPAU_MAKE_WEAPON@@@Z 0061a4d0 f i ServerDlg.obj + 0002:000d6620 ?PutData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE_NIPAU_OBJECT_EVENT@@@Z 0061a620 f i ServerDlg.obj + 0002:000d6770 ?PutData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE_NIPAU_SERVER_RESOURCE@@@Z 0061a770 f i ServerDlg.obj + 0002:000d68c0 ?PutData@?$CSTLMapOnlyLoad@VMAP@@@@QAE_NIPAVMAP@@@Z 0061a8c0 f i ServerDlg.obj + 0002:000d6a10 ?ResetBattleZone@CServerDlg@@QAEXXZ 0061aa10 f ServerDlg.obj + 0002:000d6bf0 ?ResumeAI@CServerDlg@@AAEXXZ 0061abf0 f ServerDlg.obj + 0002:000d6e00 ?RunServer@?$KOSocketMgr@VCGameSocket@@@@QAEXXZ 0061ae00 f i ServerDlg.obj + 0002:000d6e70 ?Send@CServerDlg@@QAEXPAVPacket@@@Z 0061ae70 f ServerDlg.obj + 0002:000d6ed0 ?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 0061aed0 f i ServerDlg.obj + 0002:000d70b0 ?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 0061b0b0 f i ServerDlg.obj + 0002:000d7290 ?SendSystemMsg@CServerDlg@@QAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z 0061b290 f ServerDlg.obj + 0002:000d73a0 ?SetCompletionPort@Socket@@QAEXPAX@Z 0061b3a0 f i ServerDlg.obj + 0002:000d73f0 ?SetFd@Socket@@QAEXI@Z 0061b3f0 f i ServerDlg.obj + 0002:000d7440 ?SetNPCEventRoom@CNpc@@QAEXG@Z 0061b440 f i ServerDlg.obj + 0002:000d7490 ?SetUserEventRoom@CUser@@QAEXG@Z 0061b490 f i ServerDlg.obj + 0002:000d74e0 ?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z 0061b4e0 f ServerDlg.obj + 0002:000d7710 ?Shutdown@?$KOSocketMgr@VCGameSocket@@@@UAEXXZ 0061b710 f i ServerDlg.obj + 0002:000d77c0 ?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z 0061b7c0 f ServerDlg.obj + 0002:000d89a0 ?Startup@CServerDlg@@QAE_NXZ 0061c9a0 f ServerDlg.obj + 0002:000d8e70 ?Timer_CheckAliveTest@CServerDlg@@SGIPAX@Z 0061ce70 f ServerDlg.obj + 0002:000d8ef0 ?Timer_CheckLiveTimes@CServerDlg@@SGIPAX@Z 0061cef0 f ServerDlg.obj + 0002:000d8f70 ?UserEventRoomUpdate@CServerDlg@@QAEXGG@Z 0061cf70 f ServerDlg.obj + 0002:000d9000 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d000 f i ServerDlg.obj + 0002:000d9150 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d150 f i ServerDlg.obj + 0002:000d92a0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d2a0 f i ServerDlg.obj + 0002:000d93f0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d3f0 f i ServerDlg.obj + 0002:000d9540 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d540 f i ServerDlg.obj + 0002:000d9690 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d690 f i ServerDlg.obj + 0002:000d97e0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d7e0 f i ServerDlg.obj + 0002:000d9930 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061d930 f i ServerDlg.obj + 0002:000d9a80 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061da80 f i ServerDlg.obj + 0002:000d9bd0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061dbd0 f i ServerDlg.obj + 0002:000d9d20 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061dd20 f i ServerDlg.obj + 0002:000d9e70 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061de70 f i ServerDlg.obj + 0002:000d9fc0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061dfc0 f i ServerDlg.obj + 0002:000da110 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e110 f i ServerDlg.obj + 0002:000da260 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e260 f i ServerDlg.obj + 0002:000da3b0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e3b0 f i ServerDlg.obj + 0002:000da500 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e500 f i ServerDlg.obj + 0002:000da650 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e650 f i ServerDlg.obj + 0002:000da7a0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061e7a0 f i ServerDlg.obj + 0002:000da8f0 ?_Alloc_sentinel_and_proxy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ 0061e8f0 f i ServerDlg.obj + 0002:000daab0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061eab0 f i ServerDlg.obj + 0002:000dab20 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061eb20 f i ServerDlg.obj + 0002:000dab90 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061eb90 f i ServerDlg.obj + 0002:000dac00 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ec00 f i ServerDlg.obj + 0002:000dac70 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ec70 f i ServerDlg.obj + 0002:000dace0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ece0 f i ServerDlg.obj + 0002:000dad50 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ed50 f i ServerDlg.obj + 0002:000dadc0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061edc0 f i ServerDlg.obj + 0002:000dae30 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ee30 f i ServerDlg.obj + 0002:000daea0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061eea0 f i ServerDlg.obj + 0002:000daf10 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ef10 f i ServerDlg.obj + 0002:000daf80 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061ef80 f i ServerDlg.obj + 0002:000daff0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061eff0 f i ServerDlg.obj + 0002:000db060 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061f060 f i ServerDlg.obj + 0002:000db0d0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061f0d0 f i ServerDlg.obj + 0002:000db140 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061f140 f i ServerDlg.obj + 0002:000db1b0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061f1b0 f i ServerDlg.obj + 0002:000db220 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0061f220 f i ServerDlg.obj + 0002:000db290 ?_Calculate_growth@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@ABEII@Z 0061f290 f i ServerDlg.obj + 0002:000db330 ?_Change_array@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXQAPAVThread@@II@Z 0061f330 f i ServerDlg.obj + 0002:000db430 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f430 f i ServerDlg.obj + 0002:000db4a0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f4a0 f i ServerDlg.obj + 0002:000db510 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f510 f i ServerDlg.obj + 0002:000db580 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f580 f i ServerDlg.obj + 0002:000db5f0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f5f0 f i ServerDlg.obj + 0002:000db660 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f660 f i ServerDlg.obj + 0002:000db6d0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f6d0 f i ServerDlg.obj + 0002:000db740 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f740 f i ServerDlg.obj + 0002:000db7b0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f7b0 f i ServerDlg.obj + 0002:000db820 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f820 f i ServerDlg.obj + 0002:000db890 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f890 f i ServerDlg.obj + 0002:000db900 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f900 f i ServerDlg.obj + 0002:000db970 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f970 f i ServerDlg.obj + 0002:000db9e0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061f9e0 f i ServerDlg.obj + 0002:000dba50 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061fa50 f i ServerDlg.obj + 0002:000dbac0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061fac0 f i ServerDlg.obj + 0002:000dbb30 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061fb30 f i ServerDlg.obj + 0002:000dbba0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0061fba0 f i ServerDlg.obj + 0002:000dbc10 ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QBEXABV12@@Z 0061fc10 f i ServerDlg.obj + 0002:000dbce0 ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QBEXABV12@@Z 0061fce0 f i ServerDlg.obj + 0002:000dbdb0 ?_Destroy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXPAPAVThread@@0@Z 0061fdb0 f i ServerDlg.obj + 0002:000dbe20 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 0061fe20 f i ServerDlg.obj + 0002:000dbf10 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 0061ff10 f i ServerDlg.obj + 0002:000dc000 ?_Erase_unchecked@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00620000 f i ServerDlg.obj + 0002:000dc0f0 ?_Extract@?$_In_place_key_extract_map@GU?$pair@GPAU_ZONE_INFO@@@std@@@std@@SAABGABU?$pair@GPAU_ZONE_INFO@@@2@@Z 006200f0 f i ServerDlg.obj + 0002:000dc130 ?_Extract@?$_In_place_key_extract_map@GU?$pair@GPAVCGameSocket@@@std@@@std@@SAABGABU?$pair@GPAVCGameSocket@@@2@@Z 00620130 f i ServerDlg.obj + 0002:000dc170 ?_Extract@?$_In_place_key_extract_map@GU?$pair@GPAVKOSocket@@@std@@@std@@SAABGABU?$pair@GPAVKOSocket@@@2@@Z 00620170 f i ServerDlg.obj + 0002:000dc1b0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_K_MONSTER_ITEM@@@std@@@std@@SAABIABU?$pair@IPAU_K_MONSTER_ITEM@@@2@@Z 006201b0 f i ServerDlg.obj + 0002:000dc1f0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAGIC_TABLE@@@std@@@std@@SAABIABU?$pair@IPAU_MAGIC_TABLE@@@2@@Z 006201f0 f i ServerDlg.obj + 0002:000dc230 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAGIC_TYPE1@@@std@@@std@@SAABIABU?$pair@IPAU_MAGIC_TYPE1@@@2@@Z 00620230 f i ServerDlg.obj + 0002:000dc270 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAGIC_TYPE2@@@std@@@std@@SAABIABU?$pair@IPAU_MAGIC_TYPE2@@@2@@Z 00620270 f i ServerDlg.obj + 0002:000dc2b0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAGIC_TYPE4@@@std@@@std@@SAABIABU?$pair@IPAU_MAGIC_TYPE4@@@2@@Z 006202b0 f i ServerDlg.obj + 0002:000dc2f0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@SAABIABU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@2@@Z 006202f0 f i ServerDlg.obj + 0002:000dc330 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@std@@SAABIABU?$pair@IPAU_MAKE_ITEM_GROUP@@@2@@Z 00620330 f i ServerDlg.obj + 0002:000dc370 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@SAABIABU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@2@@Z 00620370 f i ServerDlg.obj + 0002:000dc3b0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_MAKE_WEAPON@@@std@@@std@@SAABIABU?$pair@IPAU_MAKE_WEAPON@@@2@@Z 006203b0 f i ServerDlg.obj + 0002:000dc3f0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_NPC_LIVE_TIME@@@std@@@std@@SAABIABU?$pair@IPAU_NPC_LIVE_TIME@@@2@@Z 006203f0 f i ServerDlg.obj + 0002:000dc430 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_OBJECT_EVENT@@@std@@@std@@SAABIABU?$pair@IPAU_OBJECT_EVENT@@@2@@Z 00620430 f i ServerDlg.obj + 0002:000dc470 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_SERVER_RESOURCE@@@std@@@std@@SAABIABU?$pair@IPAU_SERVER_RESOURCE@@@2@@Z 00620470 f i ServerDlg.obj + 0002:000dc4b0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAVCNpc@@@std@@@std@@SAABIABU?$pair@IPAVCNpc@@@2@@Z 006204b0 f i ServerDlg.obj + 0002:000dc4f0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAVCNpcTable@@@std@@@std@@SAABIABU?$pair@IPAVCNpcTable@@@2@@Z 006204f0 f i ServerDlg.obj + 0002:000dc530 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAVMAP@@@std@@@std@@SAABIABU?$pair@IPAVMAP@@@2@@Z 00620530 f i ServerDlg.obj + 0002:000dc570 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00620570 f i ServerDlg.obj + 0002:000dcb00 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00620b00 f i ServerDlg.obj + 0002:000dd090 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00621090 f i ServerDlg.obj + 0002:000dd620 ?_Get_data@?$list@HV?$allocator@H@std@@@std@@AAEAAV?$_List_val@U?$_List_simple_types@H@std@@@2@XZ 00621620 f i ServerDlg.obj + 0002:000dd660 ?_Get_first@?$_Compressed_pair@U?$less@E@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@E@2@XZ 00621660 f i ServerDlg.obj + 0002:000dd6a0 ?_Get_first@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@G@2@XZ 006216a0 f i ServerDlg.obj + 0002:000dd6e0 ?_Get_first@?$_Compressed_pair@U?$less@G@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@G@2@XZ 006216e0 f i ServerDlg.obj + 0002:000dd720 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00621720 f i ServerDlg.obj + 0002:000dd760 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00621760 f i ServerDlg.obj + 0002:000dd7a0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 006217a0 f i ServerDlg.obj + 0002:000dd7e0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 006217e0 f i ServerDlg.obj + 0002:000dd820 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00621820 f i ServerDlg.obj + 0002:000dd860 ?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVThread@@@2@XZ 00621860 f i ServerDlg.obj + 0002:000dd8a0 ?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QBEABV?$allocator@PAVThread@@@2@XZ 006218a0 f i ServerDlg.obj + 0002:000dd8e0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_List_node@HPAX@std@@@std@@V?$_List_val@U?$_List_simple_types@H@std@@@2@$00@std@@QAEAAV?$allocator@U?$_List_node@HPAX@std@@@2@XZ 006218e0 f i ServerDlg.obj + 0002:000dd920 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@XZ 00621920 f i ServerDlg.obj + 0002:000dd960 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@XZ 00621960 f i ServerDlg.obj + 0002:000dd9a0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@XZ 006219a0 f i ServerDlg.obj + 0002:000dd9e0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@XZ 006219e0 f i ServerDlg.obj + 0002:000dda20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@XZ 00621a20 f i ServerDlg.obj + 0002:000dda60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@XZ 00621a60 f i ServerDlg.obj + 0002:000ddaa0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@XZ 00621aa0 f i ServerDlg.obj + 0002:000ddae0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@XZ 00621ae0 f i ServerDlg.obj + 0002:000ddb20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@XZ 00621b20 f i ServerDlg.obj + 0002:000ddb60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@XZ 00621b60 f i ServerDlg.obj + 0002:000ddba0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@XZ 00621ba0 f i ServerDlg.obj + 0002:000ddbe0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@XZ 00621be0 f i ServerDlg.obj + 0002:000ddc20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@XZ 00621c20 f i ServerDlg.obj + 0002:000ddc60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@XZ 00621c60 f i ServerDlg.obj + 0002:000ddca0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@XZ 00621ca0 f i ServerDlg.obj + 0002:000ddce0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@XZ 00621ce0 f i ServerDlg.obj + 0002:000ddd20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@XZ 00621d20 f i ServerDlg.obj + 0002:000ddd60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@XZ 00621d60 f i ServerDlg.obj + 0002:000ddda0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@XZ 00621da0 f i ServerDlg.obj + 0002:000ddde0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@XZ 00621de0 f i ServerDlg.obj + 0002:000dde20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@XZ 00621e20 f i ServerDlg.obj + 0002:000dde60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@XZ 00621e60 f i ServerDlg.obj + 0002:000ddea0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@XZ 00621ea0 f i ServerDlg.obj + 0002:000ddee0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@XZ 00621ee0 f i ServerDlg.obj + 0002:000ddf20 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@XZ 00621f20 f i ServerDlg.obj + 0002:000ddf60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@XZ 00621f60 f i ServerDlg.obj + 0002:000ddfa0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00621fa0 f i ServerDlg.obj + 0002:000ddfe0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00621fe0 f i ServerDlg.obj + 0002:000de020 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@XZ 00622020 f i ServerDlg.obj + 0002:000de060 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@XZ 00622060 f i ServerDlg.obj + 0002:000de0a0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@XZ 006220a0 f i ServerDlg.obj + 0002:000de0e0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@XZ 006220e0 f i ServerDlg.obj + 0002:000de120 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@XZ 00622120 f i ServerDlg.obj + 0002:000de160 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@XZ 00622160 f i ServerDlg.obj + 0002:000de1a0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@XZ 006221a0 f i ServerDlg.obj + 0002:000de1e0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 006221e0 f i ServerDlg.obj + 0002:000de220 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00622220 f i ServerDlg.obj + 0002:000de260 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@XZ 00622260 f i ServerDlg.obj + 0002:000de2c0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@2@XZ 006222c0 f i ServerDlg.obj + 0002:000de320 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@XZ 00622320 f i ServerDlg.obj + 0002:000de380 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@2@XZ 00622380 f i ServerDlg.obj + 0002:000de3e0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@XZ 006223e0 f i ServerDlg.obj + 0002:000de440 ?_Get_scary@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@XZ 00622440 f i ServerDlg.obj + 0002:000de4a0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@XZ 006224a0 f i ServerDlg.obj + 0002:000de500 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@2@XZ 00622500 f i ServerDlg.obj + 0002:000de560 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 00622560 f i ServerDlg.obj + 0002:000de5c0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@XZ 006225c0 f i ServerDlg.obj + 0002:000de620 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@2@XZ 00622620 f i ServerDlg.obj + 0002:000de680 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@XZ 00622680 f i ServerDlg.obj + 0002:000de6e0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@2@XZ 006226e0 f i ServerDlg.obj + 0002:000de740 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@2@XZ 00622740 f i ServerDlg.obj + 0002:000de7a0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 006227a0 f i ServerDlg.obj + 0002:000de800 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 00622800 f i ServerDlg.obj + 0002:000de860 ?_Getal@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@XZ 00622860 f i ServerDlg.obj + 0002:000de8b0 ?_Getal@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@XZ 006228b0 f i ServerDlg.obj + 0002:000de900 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@XZ 00622900 f i ServerDlg.obj + 0002:000de950 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@XZ 00622950 f i ServerDlg.obj + 0002:000de9a0 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@XZ 006229a0 f i ServerDlg.obj + 0002:000de9f0 ?_Getal@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@XZ 006229f0 f i ServerDlg.obj + 0002:000dea40 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@XZ 00622a40 f i ServerDlg.obj + 0002:000dea90 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@XZ 00622a90 f i ServerDlg.obj + 0002:000deae0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@XZ 00622ae0 f i ServerDlg.obj + 0002:000deb30 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@XZ 00622b30 f i ServerDlg.obj + 0002:000deb80 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@XZ 00622b80 f i ServerDlg.obj + 0002:000debd0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@XZ 00622bd0 f i ServerDlg.obj + 0002:000dec20 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@XZ 00622c20 f i ServerDlg.obj + 0002:000dec70 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@XZ 00622c70 f i ServerDlg.obj + 0002:000decc0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@XZ 00622cc0 f i ServerDlg.obj + 0002:000ded10 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@XZ 00622d10 f i ServerDlg.obj + 0002:000ded60 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@XZ 00622d60 f i ServerDlg.obj + 0002:000dedb0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@XZ 00622db0 f i ServerDlg.obj + 0002:000dee00 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@XZ 00622e00 f i ServerDlg.obj + 0002:000dee50 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@XZ 00622e50 f i ServerDlg.obj + 0002:000deea0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@XZ 00622ea0 f i ServerDlg.obj + 0002:000deef0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@XZ 00622ef0 f i ServerDlg.obj + 0002:000def40 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@XZ 00622f40 f i ServerDlg.obj + 0002:000def90 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@XZ 00622f90 f i ServerDlg.obj + 0002:000defe0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@XZ 00622fe0 f i ServerDlg.obj + 0002:000df030 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@XZ 00623030 f i ServerDlg.obj + 0002:000df080 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00623080 f i ServerDlg.obj + 0002:000df0d0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 006230d0 f i ServerDlg.obj + 0002:000df120 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@XZ 00623120 f i ServerDlg.obj + 0002:000df170 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@XZ 00623170 f i ServerDlg.obj + 0002:000df1c0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@XZ 006231c0 f i ServerDlg.obj + 0002:000df210 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@XZ 00623210 f i ServerDlg.obj + 0002:000df260 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@XZ 00623260 f i ServerDlg.obj + 0002:000df2b0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@XZ 006232b0 f i ServerDlg.obj + 0002:000df300 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@XZ 00623300 f i ServerDlg.obj + 0002:000df350 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00623350 f i ServerDlg.obj + 0002:000df3a0 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 006233a0 f i ServerDlg.obj + 0002:000df3f0 ?_Getal@?$list@HV?$allocator@H@std@@@std@@AAEAAV?$allocator@U?$_List_node@HPAX@std@@@2@XZ 006233f0 f i ServerDlg.obj + 0002:000df440 ?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEAAV?$allocator@PAVThread@@@2@XZ 00623440 f i ServerDlg.obj + 0002:000df490 ?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@ABEABV?$allocator@PAVThread@@@2@XZ 00623490 f i ServerDlg.obj + 0002:000df4e0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@E@2@XZ 006234e0 f i ServerDlg.obj + 0002:000df530 ?_Getcomp@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@G@2@XZ 00623530 f i ServerDlg.obj + 0002:000df580 ?_Getcomp@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@G@2@XZ 00623580 f i ServerDlg.obj + 0002:000df5d0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 006235d0 f i ServerDlg.obj + 0002:000df620 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00623620 f i ServerDlg.obj + 0002:000df670 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00623670 f i ServerDlg.obj + 0002:000df6c0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 006236c0 f i ServerDlg.obj + 0002:000df710 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00623710 f i ServerDlg.obj + 0002:000df760 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@QAU32@@Z 00623760 f i ServerDlg.obj + 0002:000dfa60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@QAU32@@Z 00623a60 f i ServerDlg.obj + 0002:000dfd60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@QAU32@@Z 00623d60 f i ServerDlg.obj + 0002:000e0060 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@QAU32@@Z 00624060 f i ServerDlg.obj + 0002:000e0360 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@QAU32@@Z 00624360 f i ServerDlg.obj + 0002:000e0660 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@QAU32@@Z 00624660 f i ServerDlg.obj + 0002:000e0960 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@QAU32@@Z 00624960 f i ServerDlg.obj + 0002:000e0c60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@QAU32@@Z 00624c60 f i ServerDlg.obj + 0002:000e0f60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 00624f60 f i ServerDlg.obj + 0002:000e1260 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00625260 f i ServerDlg.obj + 0002:000e1560 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 00625560 f i ServerDlg.obj + 0002:000e1860 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@QAU32@@Z 00625860 f i ServerDlg.obj + 0002:000e1b60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@QAU32@@Z 00625b60 f i ServerDlg.obj + 0002:000e1e60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 00625e60 f i ServerDlg.obj + 0002:000e2160 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@QAU32@@Z 00626160 f i ServerDlg.obj + 0002:000e2460 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@QAU32@@Z 00626460 f i ServerDlg.obj + 0002:000e2760 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@QAU32@@Z 00626760 f i ServerDlg.obj + 0002:000e2a60 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@QAU32@@Z 00626a60 f i ServerDlg.obj + 0002:000e2d60 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@@Z 00626d60 f i ServerDlg.obj + 0002:000e2e50 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@@Z 00626e50 f i ServerDlg.obj + 0002:000e2f40 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@@Z 00626f40 f i ServerDlg.obj + 0002:000e3030 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@@Z 00627030 f i ServerDlg.obj + 0002:000e3120 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@@Z 00627120 f i ServerDlg.obj + 0002:000e3210 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@@Z 00627210 f i ServerDlg.obj + 0002:000e3300 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@@Z 00627300 f i ServerDlg.obj + 0002:000e33f0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@@Z 006273f0 f i ServerDlg.obj + 0002:000e34e0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@@Z 006274e0 f i ServerDlg.obj + 0002:000e35d0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@@Z 006275d0 f i ServerDlg.obj + 0002:000e36c0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@@Z 006276c0 f i ServerDlg.obj + 0002:000e37b0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@@Z 006277b0 f i ServerDlg.obj + 0002:000e38a0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@@Z 006278a0 f i ServerDlg.obj + 0002:000e3990 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@@Z 00627990 f i ServerDlg.obj + 0002:000e3a80 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@@Z 00627a80 f i ServerDlg.obj + 0002:000e3b70 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@@Z 00627b70 f i ServerDlg.obj + 0002:000e3c60 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@@Z 00627c60 f i ServerDlg.obj + 0002:000e3d50 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@PAU32@@Z 00627d50 f i ServerDlg.obj + 0002:000e3db0 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@PAU32@@Z 00627db0 f i ServerDlg.obj + 0002:000e3e10 ?_Max@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@PAU32@@Z 00627e10 f i ServerDlg.obj + 0002:000e3e70 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@PAU32@@Z 00627e70 f i ServerDlg.obj + 0002:000e3ec0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@PAU32@@Z 00627ec0 f i ServerDlg.obj + 0002:000e3f10 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@PAU32@@Z 00627f10 f i ServerDlg.obj + 0002:000e3f60 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@PAU32@@Z 00627f60 f i ServerDlg.obj + 0002:000e3fb0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@PAU32@@Z 00627fb0 f i ServerDlg.obj + 0002:000e4000 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@PAU32@@Z 00628000 f i ServerDlg.obj + 0002:000e4050 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@PAU32@@Z 00628050 f i ServerDlg.obj + 0002:000e40a0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@PAU32@@Z 006280a0 f i ServerDlg.obj + 0002:000e40f0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@PAU32@@Z 006280f0 f i ServerDlg.obj + 0002:000e4140 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@PAU32@@Z 00628140 f i ServerDlg.obj + 0002:000e4190 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@PAU32@@Z 00628190 f i ServerDlg.obj + 0002:000e41e0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@PAU32@@Z 006281e0 f i ServerDlg.obj + 0002:000e4230 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@PAU32@@Z 00628230 f i ServerDlg.obj + 0002:000e4280 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@PAU32@@Z 00628280 f i ServerDlg.obj + 0002:000e42d0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@PAU32@@Z 006282d0 f i ServerDlg.obj + 0002:000e4320 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@PAU32@@Z 00628320 f i ServerDlg.obj + 0002:000e4370 ?_Orphan_non_end@?$_List_val@U?$_List_simple_types@H@std@@@std@@QAEXXZ 00628370 f i ServerDlg.obj + 0002:000e44a0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@@Z 006284a0 f i ServerDlg.obj + 0002:000e45b0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@@Z 006285b0 f i ServerDlg.obj + 0002:000e46c0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@@Z 006286c0 f i ServerDlg.obj + 0002:000e47d0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@@Z 006287d0 f i ServerDlg.obj + 0002:000e48e0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@@Z 006288e0 f i ServerDlg.obj + 0002:000e49f0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@@Z 006289f0 f i ServerDlg.obj + 0002:000e4b00 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@@Z 00628b00 f i ServerDlg.obj + 0002:000e4c10 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@@Z 00628c10 f i ServerDlg.obj + 0002:000e4d20 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@@Z 00628d20 f i ServerDlg.obj + 0002:000e4e30 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@@Z 00628e30 f i ServerDlg.obj + 0002:000e4f40 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@@Z 00628f40 f i ServerDlg.obj + 0002:000e5050 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@@Z 00629050 f i ServerDlg.obj + 0002:000e5160 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@@Z 00629160 f i ServerDlg.obj + 0002:000e5270 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@@Z 00629270 f i ServerDlg.obj + 0002:000e5380 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@@Z 00629380 f i ServerDlg.obj + 0002:000e5490 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@@Z 00629490 f i ServerDlg.obj + 0002:000e55a0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@@Z 006295a0 f i ServerDlg.obj + 0002:000e56b0 ?_Orphan_range@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@ABEXPAPAVThread@@0@Z 006296b0 f i ServerDlg.obj + 0002:000e57c0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@XZ 006297c0 f i ServerDlg.obj + 0002:000e5870 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@XZ 00629870 f i ServerDlg.obj + 0002:000e5920 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@XZ 00629920 f i ServerDlg.obj + 0002:000e59d0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@XZ 006299d0 f i ServerDlg.obj + 0002:000e5a80 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@XZ 00629a80 f i ServerDlg.obj + 0002:000e5b30 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@XZ 00629b30 f i ServerDlg.obj + 0002:000e5be0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@XZ 00629be0 f i ServerDlg.obj + 0002:000e5c90 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@XZ 00629c90 f i ServerDlg.obj + 0002:000e5d40 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@XZ 00629d40 f i ServerDlg.obj + 0002:000e5df0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@XZ 00629df0 f i ServerDlg.obj + 0002:000e5ea0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@XZ 00629ea0 f i ServerDlg.obj + 0002:000e5f50 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@XZ 00629f50 f i ServerDlg.obj + 0002:000e6000 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@XZ 0062a000 f i ServerDlg.obj + 0002:000e60b0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@XZ 0062a0b0 f i ServerDlg.obj + 0002:000e6160 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@XZ 0062a160 f i ServerDlg.obj + 0002:000e6210 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@XZ 0062a210 f i ServerDlg.obj + 0002:000e62c0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@XZ 0062a2c0 f i ServerDlg.obj + 0002:000e6370 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@XZ 0062a370 f i ServerDlg.obj + 0002:000e6420 ?_Release@?$_Tree_head_scoped_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@2@@std@@QAEXXZ 0062a420 f i ServerDlg.obj + 0002:000e6470 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@@Z 0062a470 f i ServerDlg.obj + 0002:000e6560 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@@Z 0062a560 f i ServerDlg.obj + 0002:000e6650 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@@Z 0062a650 f i ServerDlg.obj + 0002:000e6740 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@@Z 0062a740 f i ServerDlg.obj + 0002:000e6830 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@@Z 0062a830 f i ServerDlg.obj + 0002:000e6920 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@@Z 0062a920 f i ServerDlg.obj + 0002:000e6a10 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@@Z 0062aa10 f i ServerDlg.obj + 0002:000e6b00 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@@Z 0062ab00 f i ServerDlg.obj + 0002:000e6bf0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@@Z 0062abf0 f i ServerDlg.obj + 0002:000e6ce0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@@Z 0062ace0 f i ServerDlg.obj + 0002:000e6dd0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@@Z 0062add0 f i ServerDlg.obj + 0002:000e6ec0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@@Z 0062aec0 f i ServerDlg.obj + 0002:000e6fb0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@@Z 0062afb0 f i ServerDlg.obj + 0002:000e70a0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@@Z 0062b0a0 f i ServerDlg.obj + 0002:000e7190 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@@Z 0062b190 f i ServerDlg.obj + 0002:000e7280 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@@Z 0062b280 f i ServerDlg.obj + 0002:000e7370 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@@Z 0062b370 f i ServerDlg.obj + 0002:000e7460 ?_Tidy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ 0062b460 f i ServerDlg.obj + 0002:000e7500 ?_Tidy@?$vector@GV?$allocator@G@std@@@std@@AAEXXZ 0062b500 f i ServerDlg.obj + 0002:000e7620 ?_Tidy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXXZ 0062b620 f i ServerDlg.obj + 0002:000e7740 ?_Umove@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEPAPAVThread@@PAPAV3@00@Z 0062b740 f i ServerDlg.obj + 0002:000e77b0 ?_Umove_if_noexcept1@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXPAPAVThread@@00U?$integral_constant@_N$00@2@@Z 0062b7b0 f i ServerDlg.obj + 0002:000e7820 ?_Umove_if_noexcept@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXPAPAVThread@@00@Z 0062b820 f i ServerDlg.obj + 0002:000e78a0 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 0062b8a0 f i ServerDlg.obj + 0002:000e7910 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 0062b910 f i ServerDlg.obj + 0002:000e7980 ?_Unwrapped@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QBE?AV?$_Tree_unchecked_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 0062b980 f i ServerDlg.obj + 0002:000e79f0 ?_Xlength@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@CAXXZ 0062b9f0 f i ServerDlg.obj + 0002:000e7a40 ?allocate@?$allocator@PAVThread@@@std@@QAEPAPAVThread@@I@Z 0062ba40 f i ServerDlg.obj + 0002:000e7ab0 ?allocate@?$allocator@U?$_List_node@HPAX@std@@@std@@QAEPAU?$_List_node@HPAX@2@I@Z 0062bab0 f i ServerDlg.obj + 0002:000e7b20 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@I@Z 0062bb20 f i ServerDlg.obj + 0002:000e7b90 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@I@Z 0062bb90 f i ServerDlg.obj + 0002:000e7c00 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@I@Z 0062bc00 f i ServerDlg.obj + 0002:000e7c70 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@I@Z 0062bc70 f i ServerDlg.obj + 0002:000e7ce0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@I@Z 0062bce0 f i ServerDlg.obj + 0002:000e7d50 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@I@Z 0062bd50 f i ServerDlg.obj + 0002:000e7dc0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@I@Z 0062bdc0 f i ServerDlg.obj + 0002:000e7e30 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@I@Z 0062be30 f i ServerDlg.obj + 0002:000e7ea0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@I@Z 0062bea0 f i ServerDlg.obj + 0002:000e7f10 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@I@Z 0062bf10 f i ServerDlg.obj + 0002:000e7f80 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@I@Z 0062bf80 f i ServerDlg.obj + 0002:000e7ff0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@I@Z 0062bff0 f i ServerDlg.obj + 0002:000e8060 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@I@Z 0062c060 f i ServerDlg.obj + 0002:000e80d0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@I@Z 0062c0d0 f i ServerDlg.obj + 0002:000e8140 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@I@Z 0062c140 f i ServerDlg.obj + 0002:000e81b0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@I@Z 0062c1b0 f i ServerDlg.obj + 0002:000e8220 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@I@Z 0062c220 f i ServerDlg.obj + 0002:000e8290 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@I@Z 0062c290 f i ServerDlg.obj + 0002:000e8300 ?back@?$vector@GV?$allocator@G@std@@@std@@QAEAAGXZ 0062c300 f i ServerDlg.obj + 0002:000e83d0 ?begin@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 0062c3d0 f i ServerDlg.obj + 0002:000e8480 ?begin@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 0062c480 f i ServerDlg.obj + 0002:000e8530 ?begin@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 0062c530 f i ServerDlg.obj + 0002:000e85e0 ?begin@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 0062c5e0 f i ServerDlg.obj + 0002:000e8690 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 0062c690 f i ServerDlg.obj + 0002:000e8740 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 0062c740 f i ServerDlg.obj + 0002:000e87f0 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 0062c7f0 f i ServerDlg.obj + 0002:000e88a0 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 0062c8a0 f i ServerDlg.obj + 0002:000e8950 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 0062c950 f i ServerDlg.obj + 0002:000e8a00 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 0062ca00 f i ServerDlg.obj + 0002:000e8ab0 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 0062cab0 f i ServerDlg.obj + 0002:000e8b60 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 0062cb60 f i ServerDlg.obj + 0002:000e8c10 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 0062cc10 f i ServerDlg.obj + 0002:000e8cc0 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 0062ccc0 f i ServerDlg.obj + 0002:000e8d70 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 0062cd70 f i ServerDlg.obj + 0002:000e8e20 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 0062ce20 f i ServerDlg.obj + 0002:000e8ed0 ?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 0062ced0 f i ServerDlg.obj + 0002:000e8f80 ?begin@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 0062cf80 f i ServerDlg.obj + 0002:000e9030 ?begin@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 0062d030 f i ServerDlg.obj + 0002:000e90e0 ?capacity@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 0062d0e0 f i ServerDlg.obj + 0002:000e9130 ?clear@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d130 f i ServerDlg.obj + 0002:000e9220 ?clear@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d220 f i ServerDlg.obj + 0002:000e9310 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d310 f i ServerDlg.obj + 0002:000e9400 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d400 f i ServerDlg.obj + 0002:000e94f0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d4f0 f i ServerDlg.obj + 0002:000e95e0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d5e0 f i ServerDlg.obj + 0002:000e96d0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d6d0 f i ServerDlg.obj + 0002:000e97c0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d7c0 f i ServerDlg.obj + 0002:000e98b0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d8b0 f i ServerDlg.obj + 0002:000e99a0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062d9a0 f i ServerDlg.obj + 0002:000e9a90 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062da90 f i ServerDlg.obj + 0002:000e9b80 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062db80 f i ServerDlg.obj + 0002:000e9c70 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062dc70 f i ServerDlg.obj + 0002:000e9d60 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062dd60 f i ServerDlg.obj + 0002:000e9e50 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062de50 f i ServerDlg.obj + 0002:000e9f40 ?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062df40 f i ServerDlg.obj + 0002:000ea030 ?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062e030 f i ServerDlg.obj + 0002:000ea120 ?clear@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0062e120 f i ServerDlg.obj + 0002:000ea210 ?clear@?$list@HV?$allocator@H@std@@@std@@QAEXXZ 0062e210 f i ServerDlg.obj + 0002:000ea2c0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_List_node@HPAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@2@QAU?$_List_node@HPAX@2@I@Z 0062e2c0 f i ServerDlg.obj + 0002:000ea320 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@I@Z 0062e320 f i ServerDlg.obj + 0002:000ea380 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@I@Z 0062e380 f i ServerDlg.obj + 0002:000ea3e0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@I@Z 0062e3e0 f i ServerDlg.obj + 0002:000ea440 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@I@Z 0062e440 f i ServerDlg.obj + 0002:000ea4a0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@I@Z 0062e4a0 f i ServerDlg.obj + 0002:000ea500 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@I@Z 0062e500 f i ServerDlg.obj + 0002:000ea560 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@I@Z 0062e560 f i ServerDlg.obj + 0002:000ea5c0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@I@Z 0062e5c0 f i ServerDlg.obj + 0002:000ea620 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@I@Z 0062e620 f i ServerDlg.obj + 0002:000ea680 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@I@Z 0062e680 f i ServerDlg.obj + 0002:000ea6e0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@I@Z 0062e6e0 f i ServerDlg.obj + 0002:000ea740 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@I@Z 0062e740 f i ServerDlg.obj + 0002:000ea7a0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@I@Z 0062e7a0 f i ServerDlg.obj + 0002:000ea800 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@I@Z 0062e800 f i ServerDlg.obj + 0002:000ea860 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@I@Z 0062e860 f i ServerDlg.obj + 0002:000ea8c0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@I@Z 0062e8c0 f i ServerDlg.obj + 0002:000ea920 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@I@Z 0062e920 f i ServerDlg.obj + 0002:000ea980 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@I@Z 0062e980 f i ServerDlg.obj + 0002:000ea9e0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@I@Z 0062e9e0 f i ServerDlg.obj + 0002:000eaa40 ?deallocate@?$allocator@PAVThread@@@std@@QAEXQAPAVThread@@I@Z 0062ea40 f i ServerDlg.obj + 0002:000eaaa0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@I@Z 0062eaa0 f i ServerDlg.obj + 0002:000eab00 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@I@Z 0062eb00 f i ServerDlg.obj + 0002:000eab60 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@I@Z 0062eb60 f i ServerDlg.obj + 0002:000eabc0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@I@Z 0062ebc0 f i ServerDlg.obj + 0002:000eac20 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@I@Z 0062ec20 f i ServerDlg.obj + 0002:000eac80 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@I@Z 0062ec80 f i ServerDlg.obj + 0002:000eace0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@I@Z 0062ece0 f i ServerDlg.obj + 0002:000ead40 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@I@Z 0062ed40 f i ServerDlg.obj + 0002:000eada0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@I@Z 0062eda0 f i ServerDlg.obj + 0002:000eae00 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@I@Z 0062ee00 f i ServerDlg.obj + 0002:000eae60 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@I@Z 0062ee60 f i ServerDlg.obj + 0002:000eaec0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@I@Z 0062eec0 f i ServerDlg.obj + 0002:000eaf20 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@I@Z 0062ef20 f i ServerDlg.obj + 0002:000eaf80 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@I@Z 0062ef80 f i ServerDlg.obj + 0002:000eafe0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@I@Z 0062efe0 f i ServerDlg.obj + 0002:000eb040 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@I@Z 0062f040 f i ServerDlg.obj + 0002:000eb0a0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@I@Z 0062f0a0 f i ServerDlg.obj + 0002:000eb100 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@I@Z 0062f100 f i ServerDlg.obj + 0002:000eb160 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f160 f i ServerDlg.obj + 0002:000eb1e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f1e0 f i ServerDlg.obj + 0002:000eb260 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f260 f i ServerDlg.obj + 0002:000eb2e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f2e0 f i ServerDlg.obj + 0002:000eb360 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f360 f i ServerDlg.obj + 0002:000eb3e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f3e0 f i ServerDlg.obj + 0002:000eb460 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f460 f i ServerDlg.obj + 0002:000eb4e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f4e0 f i ServerDlg.obj + 0002:000eb560 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f560 f i ServerDlg.obj + 0002:000eb5e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f5e0 f i ServerDlg.obj + 0002:000eb660 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f660 f i ServerDlg.obj + 0002:000eb6e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f6e0 f i ServerDlg.obj + 0002:000eb760 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f760 f i ServerDlg.obj + 0002:000eb7e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f7e0 f i ServerDlg.obj + 0002:000eb860 ?empty@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f860 f i ServerDlg.obj + 0002:000eb8e0 ?empty@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0062f8e0 f i ServerDlg.obj + 0002:000eb960 ?end@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 0062f960 f i ServerDlg.obj + 0002:000eba10 ?end@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 0062fa10 f i ServerDlg.obj + 0002:000ebac0 ?end@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 0062fac0 f i ServerDlg.obj + 0002:000ebb70 ?end@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 0062fb70 f i ServerDlg.obj + 0002:000ebc20 ?end@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 0062fc20 f i ServerDlg.obj + 0002:000ebcd0 ?end@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 0062fcd0 f i ServerDlg.obj + 0002:000ebd80 ?end@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 0062fd80 f i ServerDlg.obj + 0002:000ebe30 ?end@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 0062fe30 f i ServerDlg.obj + 0002:000ebee0 ?find@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@ABE@Z 0062fee0 f i ServerDlg.obj + 0002:000ebf70 ?find@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@ABG@Z 0062ff70 f i ServerDlg.obj + 0002:000ec000 ?find@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@ABG@Z 00630000 f i ServerDlg.obj + 0002:000ec090 ?find@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@ABI@Z 00630090 f i ServerDlg.obj + 0002:000ec120 ?find@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@ABI@Z 00630120 f i ServerDlg.obj + 0002:000ec1b0 ?find@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@ABI@Z 006301b0 f i ServerDlg.obj + 0002:000ec240 ?find@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@ABI@Z 00630240 f i ServerDlg.obj + 0002:000ec2d0 ?isStarted@Thread@@QAE_NXZ 006302d0 f i ServerDlg.obj + 0002:000ec330 ?key_comp@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QBE?AU?$less@G@2@XZ 00630330 f i ServerDlg.obj + 0002:000ec390 ?max_size@?$_Default_allocator_traits@V?$allocator@PAVThread@@@std@@@std@@SAIABV?$allocator@PAVThread@@@2@@Z 00630390 f i ServerDlg.obj + 0002:000ec3d0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@@Z 006303d0 f i ServerDlg.obj + 0002:000ec410 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@@Z 00630410 f i ServerDlg.obj + 0002:000ec450 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@@Z 00630450 f i ServerDlg.obj + 0002:000ec490 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@@Z 00630490 f i ServerDlg.obj + 0002:000ec4d0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@@Z 006304d0 f i ServerDlg.obj + 0002:000ec510 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@@Z 00630510 f i ServerDlg.obj + 0002:000ec550 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@@Z 00630550 f i ServerDlg.obj + 0002:000ec590 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@@Z 00630590 f i ServerDlg.obj + 0002:000ec5d0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@@Z 006305d0 f i ServerDlg.obj + 0002:000ec610 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@@Z 00630610 f i ServerDlg.obj + 0002:000ec650 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@@Z 00630650 f i ServerDlg.obj + 0002:000ec690 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@@Z 00630690 f i ServerDlg.obj + 0002:000ec6d0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@@Z 006306d0 f i ServerDlg.obj + 0002:000ec710 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@@Z 00630710 f i ServerDlg.obj + 0002:000ec750 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@@Z 00630750 f i ServerDlg.obj + 0002:000ec790 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@@Z 00630790 f i ServerDlg.obj + 0002:000ec7d0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@@Z 006307d0 f i ServerDlg.obj + 0002:000ec810 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@@Z 00630810 f i ServerDlg.obj + 0002:000ec850 ?max_size@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630850 f i ServerDlg.obj + 0002:000ec8b0 ?max_size@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006308b0 f i ServerDlg.obj + 0002:000ec910 ?max_size@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630910 f i ServerDlg.obj + 0002:000ec970 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630970 f i ServerDlg.obj + 0002:000ec9d0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006309d0 f i ServerDlg.obj + 0002:000eca30 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630a30 f i ServerDlg.obj + 0002:000eca90 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630a90 f i ServerDlg.obj + 0002:000ecaf0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630af0 f i ServerDlg.obj + 0002:000ecb50 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630b50 f i ServerDlg.obj + 0002:000ecbb0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630bb0 f i ServerDlg.obj + 0002:000ecc10 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630c10 f i ServerDlg.obj + 0002:000ecc70 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630c70 f i ServerDlg.obj + 0002:000eccd0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630cd0 f i ServerDlg.obj + 0002:000ecd30 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630d30 f i ServerDlg.obj + 0002:000ecd90 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630d90 f i ServerDlg.obj + 0002:000ecdf0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630df0 f i ServerDlg.obj + 0002:000ece50 ?max_size@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630e50 f i ServerDlg.obj + 0002:000eceb0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00630eb0 f i ServerDlg.obj + 0002:000ecf10 ?max_size@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 00630f10 f i ServerDlg.obj + 0002:000ecfa0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBEPAVCNpcThread@@@std@@@std@@SAPAU?$pair@$$CBEPAVCNpcThread@@@2@AAU32@@Z 00630fa0 f i ServerDlg.obj + 0002:000ecff0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@SAPAU?$pair@$$CBGPAU_ZONE_INFO@@@2@AAU32@@Z 00630ff0 f i ServerDlg.obj + 0002:000ed040 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBGPAVKOSocket@@@std@@@std@@SAPAU?$pair@$$CBGPAVKOSocket@@@2@AAU32@@Z 00631040 f i ServerDlg.obj + 0002:000ed090 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@SAPAU?$pair@$$CBIPAU_NPC_LIVE_TIME@@@2@AAU32@@Z 00631090 f i ServerDlg.obj + 0002:000ed0e0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@SAPAU?$pair@$$CBIPAU_SERVER_RESOURCE@@@2@AAU32@@Z 006310e0 f i ServerDlg.obj + 0002:000ed130 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVCNpcTable@@@std@@@std@@SAPAU?$pair@$$CBIPAVCNpcTable@@@2@AAU32@@Z 00631130 f i ServerDlg.obj + 0002:000ed180 ?pop_back@?$vector@GV?$allocator@G@std@@@std@@QAEXXZ 00631180 f i ServerDlg.obj + 0002:000ed2b0 ?push_back@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEX$$QAPAVThread@@@Z 006312b0 f i ServerDlg.obj + 0002:000ed320 ?put@ByteBuffer@@QAEXIPBXI@Z 00631320 f i ServerDlg.obj + 0002:000ed3d0 ?run@?$ListenSocket@VCGameSocket@@@@QAE_NXZ 006313d0 f i ServerDlg.obj + 0002:000ed450 ?runnable@?$ListenSocket@VCGameSocket@@@@QAE_NXZ 00631450 f i ServerDlg.obj + 0002:000ed5e0 ?select_on_container_copy_construction@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@SA?AV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@ABV32@@Z 006315e0 f i ServerDlg.obj + 0002:000ed620 ?set_false@foreach_detail_@boost@@YA_NAA_N@Z 00631620 f i ServerDlg.obj + 0002:000ed660 ?size@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631660 f i ServerDlg.obj + 0002:000ed6c0 ?size@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006316c0 f i ServerDlg.obj + 0002:000ed720 ?size@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631720 f i ServerDlg.obj + 0002:000ed780 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631780 f i ServerDlg.obj + 0002:000ed7e0 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006317e0 f i ServerDlg.obj + 0002:000ed840 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631840 f i ServerDlg.obj + 0002:000ed8a0 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006318a0 f i ServerDlg.obj + 0002:000ed900 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631900 f i ServerDlg.obj + 0002:000ed960 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631960 f i ServerDlg.obj + 0002:000ed9c0 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 006319c0 f i ServerDlg.obj + 0002:000eda20 ?size@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631a20 f i ServerDlg.obj + 0002:000eda80 ?size@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631a80 f i ServerDlg.obj + 0002:000edae0 ?size@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631ae0 f i ServerDlg.obj + 0002:000edb40 ?size@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631b40 f i ServerDlg.obj + 0002:000edba0 ?size@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631ba0 f i ServerDlg.obj + 0002:000edc00 ?size@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631c00 f i ServerDlg.obj + 0002:000edc60 ?size@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631c60 f i ServerDlg.obj + 0002:000edcc0 ?size@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00631cc0 f i ServerDlg.obj + 0002:000edd20 ?size@?$vector@GV?$allocator@G@std@@@std@@QBEIXZ 00631d20 f i ServerDlg.obj + 0002:000edd70 ?store@?$_Atomic_storage@G$01@std@@QAEXG@Z 00631d70 f i ServerDlg.obj + 0002:000ede90 ??0CUser@@QAE@XZ 00631e90 f AIUser.obj + 0002:000edf10 ??1CUser@@UAE@XZ 00631f10 f AIUser.obj + 0002:000edf80 ??_GCUser@@UAEPAXI@Z 00631f80 f i AIUser.obj + 0002:000edf80 ??_ECUser@@UAEPAXI@Z 00631f80 f i AIUser.obj + 0002:000ee000 ?AddToRegion@CUser@@UAEXFF@Z 00632000 f i AIUser.obj + 0002:000ee040 ?BlinkStart@CUser@@UAEXXZ 00632040 f i AIUser.obj + 0002:000ee080 ?DcFlash@CUser@@UAEXXZ 00632080 f i AIUser.obj + 0002:000ee0c0 ?ExpFlash@CUser@@UAEXXZ 006320c0 f i AIUser.obj + 0002:000ee100 ?GetHealth@CUser@@UAEHXZ 00632100 f i AIUser.obj + 0002:000ee150 ?GetID@CUser@@UAEGXZ 00632150 f i AIUser.obj + 0002:000ee1a0 ?GetInOut@CUser@@UAEXAAVPacket@@E@Z 006321a0 f i AIUser.obj + 0002:000ee1e0 ?GetMana@CUser@@UAEHXZ 006321e0 f i AIUser.obj + 0002:000ee230 ?GetMaxHealth@CUser@@UAEHXZ 00632230 f i AIUser.obj + 0002:000ee280 ?GetMaxMana@CUser@@UAEHXZ 00632280 f i AIUser.obj + 0002:000ee2d0 ?GetName@CUser@@UAEAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 006322d0 f i AIUser.obj + 0002:000ee310 ?HealAreaCheck@CUser@@QAEXHH@Z 00632310 f AIUser.obj + 0002:000ee670 ?HealMagic@CUser@@QAEXXZ 00632670 f AIUser.obj + 0002:000ee840 ?HpChange@CUser@@UAEXHPAVUnit@@_N@Z 00632840 f i AIUser.obj + 0002:000ee880 ?InitNpcAttack@CUser@@QAEXXZ 00632880 f AIUser.obj + 0002:000ee8e0 ?Initialize@CUser@@UAEXXZ 006328e0 f AIUser.obj + 0002:000eead0 ?IsSurroundCheck@CUser@@QAEHMMMH@Z 00632ad0 f AIUser.obj + 0002:000eee20 ?MSpChange@CUser@@UAEXH@Z 00632e20 f i AIUser.obj + 0002:000eee60 ?OnDeath@CUser@@QAEXPAVUnit@@@Z 00632e60 f AIUser.obj + 0002:000eef40 ?WarFlash@CUser@@UAEXXZ 00632f40 f i AIUser.obj + 0002:000eef80 ?isDead@CUser@@UAE_NXZ 00632f80 f i AIUser.obj + 0002:000ef019 _bind@12 00633019 f ws2_32:WS2_32.dll + 0002:000ef01f _htonl@4 0063301f f ws2_32:WS2_32.dll + 0002:000ef025 _listen@8 00633025 f ws2_32:WS2_32.dll + 0002:000ef02b _ntohs@4 0063302b f ws2_32:WS2_32.dll + 0002:000ef031 _gethostbyname@4 00633031 f ws2_32:WS2_32.dll + 0002:000ef037 _WSAAccept@20 00633037 f ws2_32:WS2_32.dll + 0002:000ef03d _WSASocketA@24 0063303d f ws2_32:WS2_32.dll + 0002:000ef050 ?CleanupTimeThread@@YAXXZ 00633050 f shared:TimeThread.obj + 0002:000ef0d0 ?StartTimeThread@@YAXXZ 006330d0 f shared:TimeThread.obj + 0002:000ef170 ?TimeThread@@YGIPAX@Z 00633170 f shared:TimeThread.obj + 0002:000ef2b0 __JustMyCode_Default 006332b0 f i shared:TimeThread.obj + 0002:000ef380 ??$?RV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@?$uniform_int@H@std@@QBEHAAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@@Z 00633380 f i shared:globals.obj + 0002:000ef400 ??$?RV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@?$uniform_int@_K@std@@QBE_KAAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@@Z 00633400 f i shared:globals.obj + 0002:000ef480 ??$_Eval@V?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@?$uniform_int@H@std@@ABEHAAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@HH@Z 00633480 f i shared:globals.obj + 0002:000ef5b0 ??$_Eval@V?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@?$uniform_int@_K@std@@ABE_KAAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@_K1@Z 006335b0 f i shared:globals.obj + 0002:000ef730 ??$move@AAH@std@@YA$$QAHAAH@Z 00633730 f i shared:globals.obj + 0002:000ef7c0 ??$swap@HX@std@@YAXAAH0@Z 006337c0 f i shared:globals.obj + 0002:000ef8d0 ??0?$_Rng_from_urng@IV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAE@AAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@@Z 006338d0 f i shared:globals.obj + 0002:000ef990 ??0?$_Rng_from_urng@_KV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAE@AAV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@1@@Z 00633990 f i shared:globals.obj + 0002:000efab0 ??0?$mersenne_twister@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@@std@@QAE@III@Z 00633ab0 f i shared:globals.obj + 0002:000efb30 ??0?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@QAE@I@Z 00633b30 f i shared:globals.obj + 0002:000efba0 ??0?$uniform_int@H@std@@QAE@HH@Z 00633ba0 f i shared:globals.obj + 0002:000efc10 ??0?$uniform_int@_K@std@@QAE@_K0@Z 00633c10 f i shared:globals.obj + 0002:000efc90 ??0?$uniform_int_distribution@H@std@@QAE@HH@Z 00633c90 f i shared:globals.obj + 0002:000efd00 ??0?$uniform_int_distribution@_K@std@@QAE@_K0@Z 00633d00 f i shared:globals.obj + 0002:000efd80 ??0param_type@?$uniform_int@H@std@@QAE@HH@Z 00633d80 f i shared:globals.obj + 0002:000efdf0 ??0param_type@?$uniform_int@_K@std@@QAE@_K0@Z 00633df0 f i shared:globals.obj + 0002:000efe70 ??R?$_Rng_from_urng@IV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAEII@Z 00633e70 f i shared:globals.obj + 0002:000eff90 ??R?$_Rng_from_urng@_KV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAE_K_K@Z 00633f90 f i shared:globals.obj + 0002:000f0200 ??R?$mersenne_twister@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@@std@@QAEIXZ 00634200 f i shared:globals.obj + 0002:000f0300 ?RandUInt64@@YA_KXZ 00634300 f shared:globals.obj + 0002:000f0460 ?SeedRNG@@YAXXZ 00634460 f i shared:globals.obj + 0002:000f04e0 ?_Adjust@?$uniform_int@H@std@@CAII@Z 006344e0 f i shared:globals.obj + 0002:000f0550 ?_Adjust@?$uniform_int@H@std@@CAIIU?$integral_constant@_N$00@2@@Z 00634550 f i shared:globals.obj + 0002:000f05d0 ?_Adjust@?$uniform_int@_K@std@@CA_K_K@Z 006345d0 f i shared:globals.obj + 0002:000f0640 ?_Adjust@?$uniform_int@_K@std@@CA_K_KU?$integral_constant@_N$0A@@2@@Z 00634640 f i shared:globals.obj + 0002:000f06a0 ?_Get_all_bits@?$_Rng_from_urng@IV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAEIXZ 006346a0 f i shared:globals.obj + 0002:000f0760 ?_Get_all_bits@?$_Rng_from_urng@_KV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@QAE_KXZ 00634760 f i shared:globals.obj + 0002:000f0840 ?_Get_bits@?$_Rng_from_urng@IV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@AAEIXZ 00634840 f i shared:globals.obj + 0002:000f08d0 ?_Get_bits@?$_Rng_from_urng@_KV?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@@std@@AAE_KXZ 006348d0 f i shared:globals.obj + 0002:000f0980 ?_Init@param_type@?$uniform_int@H@std@@QAEXHH@Z 00634980 f i shared:globals.obj + 0002:000f0a60 ?_Init@param_type@?$uniform_int@_K@std@@QAEX_K0@Z 00634a60 f i shared:globals.obj + 0002:000f0b50 ?_Refill_lower@?$mersenne_twister@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@@std@@IAEXXZ 00634b50 f i shared:globals.obj + 0002:000f0d90 ?_Refill_upper@?$mersenne_twister@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@@std@@IAEXXZ 00634d90 f i shared:globals.obj + 0002:000f0e90 ?max@?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@SAIXZ 00634e90 f i shared:globals.obj + 0002:000f0ee0 ?max@?$numeric_limits@_K@std@@SA_KXZ 00634ee0 f i shared:globals.obj + 0002:000f0f70 ?min@?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@SAIXZ 00634f70 f i shared:globals.obj + 0002:000f0fc0 ?myrand@@YAHHH@Z 00634fc0 f shared:globals.obj + 0002:000f1120 ?seed@?$mersenne_twister@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@@std@@QAEXII@Z 00635120 f i shared:globals.obj + 0002:000f1200 ?seed@?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@QAEXI@Z 00635200 f i shared:globals.obj + 0002:000f1270 ??$_Atomic_address_as@JU?$_Atomic_padded@I@std@@@std@@YAPCJAAU?$_Atomic_padded@I@0@@Z 00635270 f i shared:ReferenceObject.obj + 0002:000f1300 ??0?$Atomic@I@@QAE@I@Z 00635300 f i shared:ReferenceObject.obj + 0002:000f1370 ??0?$_Atomic_integral@I$03@std@@QAE@I@Z 00635370 f i shared:ReferenceObject.obj + 0002:000f13d0 ??0?$_Atomic_integral_facade@I@std@@QAE@I@Z 006353d0 f i shared:ReferenceObject.obj + 0002:000f1430 ??0?$_Atomic_storage@I$03@std@@QAE@I@Z 00635430 f i shared:ReferenceObject.obj + 0002:000f14d0 ??0?$atomic@I@std@@QAE@I@Z 006354d0 f i shared:ReferenceObject.obj + 0002:000f1530 ??0ReferenceObject@@QAE@XZ 00635530 f shared:ReferenceObject.obj + 0002:000f15b0 ??E?$Atomic@I@@QAEAAV0@XZ 006355b0 f i shared:ReferenceObject.obj + 0002:000f1610 ??E?$_Atomic_integral@I$03@std@@QAEIXZ 00635610 f i shared:ReferenceObject.obj + 0002:000f16c0 ??F?$_Atomic_integral@I$03@std@@QAEIXZ 006356c0 f i shared:ReferenceObject.obj + 0002:000f1770 ?DecRef@ReferenceObject@@QAEXXZ 00635770 f shared:ReferenceObject.obj + 0002:000f1830 ?IncRef@ReferenceObject@@QAEXXZ 00635830 f shared:ReferenceObject.obj + 0002:000f1890 ?decrement@?$Atomic@I@@QAEIXZ 00635890 f i shared:ReferenceObject.obj + 0002:000f18f0 ?increment@?$Atomic@I@@QAEIXZ 006358f0 f i shared:ReferenceObject.obj + 0002:000f1950 ?HandleReadComplete@@YAXPAVSocket@@I@Z 00635950 f shared:SocketMgr.obj + 0002:000f1a20 ?HandleWriteComplete@@YAXPAVSocket@@I@Z 00635a20 f shared:SocketMgr.obj + 0002:000f1b80 ?HandleShutdown@@YAXPAVSocket@@I@Z 00635b80 f shared:SocketMgr.obj + 0002:000f1bd0 ??$?0$$V@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00635bd0 f i shared:SocketMgr.obj + 0002:000f1c40 ??$?0PAVSocket@@@?$allocator@PAPAVSocket@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 00635c40 f i shared:SocketMgr.obj + 0002:000f1cd0 ??$?0PAVSocket@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 00635cd0 f i shared:SocketMgr.obj + 0002:000f1d60 ??$?4H@?$Atomic@I@@QAEAAV0@ABH@Z 00635d60 f i shared:SocketMgr.obj + 0002:000f1dd0 ??$?4_N@?$Atomic@_N@@QAEAAV0@AB_N@Z 00635dd0 f i shared:SocketMgr.obj + 0002:000f1e40 ??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 00635e40 f i shared:SocketMgr.obj + 0002:000f1ed0 ??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 00635ed0 f i shared:SocketMgr.obj + 0002:000f1fd0 ??$_Atomic_reinterpret_as@JI@std@@YAJABI@Z 00635fd0 f i shared:SocketMgr.obj + 0002:000f20d0 ??$_Copy_memmove@PAPAPAVSocket@@PAPAPAV1@@std@@YAPAPAPAVSocket@@PAPAPAV1@00@Z 006360d0 f i shared:SocketMgr.obj + 0002:000f2160 ??$_Destroy_range@V?$allocator@PAPAVSocket@@@std@@@std@@YAXPAPAPAVSocket@@QAPAPAV1@AAV?$allocator@PAPAVSocket@@@0@@Z 00636160 f i shared:SocketMgr.obj + 0002:000f21e0 ??$_Get_unwrapped@PAPAVSocket@@@std@@YAPAPAPAVSocket@@QAPAPAV1@@Z 006361e0 f i shared:SocketMgr.obj + 0002:000f2230 ??$_Unfancy@PAPAVSocket@@@std@@YAPAPAPAVSocket@@PAPAPAV1@@Z 00636230 f i shared:SocketMgr.obj + 0002:000f2280 ??$_Unfancy@PAVSocket@@@std@@YAPAPAVSocket@@PAPAV1@@Z 00636280 f i shared:SocketMgr.obj + 0002:000f22d0 ??$_Uninitialized_copy@PAPAPAVSocket@@V?$allocator@PAPAVSocket@@@std@@@std@@YAPAPAPAVSocket@@QAPAPAV1@0PAPAPAV1@AAV?$allocator@PAPAVSocket@@@0@@Z 006362d0 f i shared:SocketMgr.obj + 0002:000f2380 ??$_Uninitialized_value_construct_n@V?$allocator@PAPAVSocket@@@std@@@std@@YAPAPAPAVSocket@@PAPAPAV1@IAAV?$allocator@PAPAVSocket@@@0@@Z 00636380 f i shared:SocketMgr.obj + 0002:000f2410 ??$_Zero_range@PAPAPAVSocket@@@std@@YAPAPAPAVSocket@@QAPAPAV1@0@Z 00636410 f i shared:SocketMgr.obj + 0002:000f2490 ??$addressof@$$CBI@std@@YAPBIABI@Z 00636490 f i shared:SocketMgr.obj + 0002:000f2520 ??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 00636520 f i shared:SocketMgr.obj + 0002:000f25b0 ??$addressof@PAPAVSocket@@@std@@YAPAPAPAVSocket@@AAPAPAV1@@Z 006365b0 f i shared:SocketMgr.obj + 0002:000f2640 ??$addressof@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@YAPAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@0@AAV10@@Z 00636640 f i shared:SocketMgr.obj + 0002:000f26d0 ??$construct@PAVSocket@@ABQAV1@@?$_Default_allocator_traits@V?$allocator@PAVSocket@@@std@@@std@@SAXAAV?$allocator@PAVSocket@@@1@QAPAVSocket@@ABQAV3@@Z 006366d0 f i shared:SocketMgr.obj + 0002:000f2750 ??$destroy@PAPAVSocket@@@?$_Default_allocator_traits@V?$allocator@PAPAVSocket@@@std@@@std@@SAXAAV?$allocator@PAPAVSocket@@@1@QAPAPAVSocket@@@Z 00636750 f i shared:SocketMgr.obj + 0002:000f27a0 ??$destroy@PAVSocket@@@?$_Default_allocator_traits@V?$allocator@PAVSocket@@@std@@@std@@SAXAAV?$allocator@PAVSocket@@@1@QAPAVSocket@@@Z 006367a0 f i shared:SocketMgr.obj + 0002:000f27f0 ??$forward@ABQAVSocket@@@std@@YAABQAVSocket@@ABQAV1@@Z 006367f0 f i shared:SocketMgr.obj + 0002:000f2880 ??0?$Atomic@I@@QAE@XZ 00636880 f i shared:SocketMgr.obj + 0002:000f28e0 ??0?$Atomic@_N@@QAE@XZ 006368e0 f i shared:SocketMgr.obj + 0002:000f2940 ??0?$_Deque_unchecked_const_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@QAE@IPBU_Container_base12@1@@Z 00636940 f i shared:SocketMgr.obj + 0002:000f29b0 ??0?$_Deque_unchecked_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@QAE@IPBU_Container_base12@1@@Z 006369b0 f i shared:SocketMgr.obj + 0002:000f2a20 ??0?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@QAE@XZ 00636a20 f i shared:SocketMgr.obj + 0002:000f2ac0 ??0?$allocator@PAVSocket@@@std@@QAE@XZ 00636ac0 f i shared:SocketMgr.obj + 0002:000f2b50 ??0?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE@XZ 00636b50 f i shared:SocketMgr.obj + 0002:000f2bf0 ??0?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAE@XZ 00636bf0 f i shared:SocketMgr.obj + 0002:000f2c50 ??0OverlappedStruct@@QAE@W4SocketIOEvent@@@Z 00636c50 f i shared:SocketMgr.obj + 0002:000f2d00 ??0SocketMgr@@QAE@XZ 00636d00 f shared:SocketMgr.obj + 0002:000f2e20 ??1?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE@XZ 00636e20 f i shared:SocketMgr.obj + 0002:000f2f60 ??1?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAE@XZ 00636f60 f i shared:SocketMgr.obj + 0002:000f2fb0 ??1SocketMgr@@UAE@XZ 00636fb0 f shared:SocketMgr.obj + 0002:000f3060 ??4?$atomic@I@std@@QAEII@Z 00637060 f i shared:SocketMgr.obj + 0002:000f3100 ??4?$atomic@_N@std@@QAE_N_N@Z 00637100 f i shared:SocketMgr.obj + 0002:000f31a0 ??D?$_Deque_unchecked_const_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@QBEABQAVSocket@@XZ 006371a0 f i shared:SocketMgr.obj + 0002:000f3240 ??D?$_Deque_unchecked_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@QBEAAPAVSocket@@XZ 00637240 f i shared:SocketMgr.obj + 0002:000f32a0 ??_GSocketMgr@@UAEPAXI@Z 006372a0 f i shared:SocketMgr.obj + 0002:000f32a0 ??_ESocketMgr@@UAEPAXI@Z 006372a0 f i shared:SocketMgr.obj + 0002:000f3310 ?CleanupSockets@SocketMgr@@SAXXZ 00637310 f shared:SocketMgr.obj + 0002:000f33a0 ?CreateCompletionPort@SocketMgr@@QAEXXZ 006373a0 f shared:SocketMgr.obj + 0002:000f3420 ?DecRef@SocketMgr@@IAEXXZ 00637420 f i shared:SocketMgr.obj + 0002:000f3490 ?DecSendLock@Socket@@QAEXXZ 00637490 f i shared:SocketMgr.obj + 0002:000f3500 ?DisconnectCallback@SocketMgr@@UAEXPAVSocket@@@Z 00637500 f shared:SocketMgr.obj + 0002:000f3560 ?GetReadBuffer@Socket@@QAEAAVCircularBuffer@@XZ 00637560 f i shared:SocketMgr.obj + 0002:000f35c0 ?GetSocketMgr@Socket@@QAEPAVSocketMgr@@XZ 006375c0 f i shared:SocketMgr.obj + 0002:000f3620 ?GetWriteBuffer@Socket@@QAEAAVCircularBuffer@@XZ 00637620 f i shared:SocketMgr.obj + 0002:000f3680 ?IncRef@SocketMgr@@IAEXXZ 00637680 f i shared:SocketMgr.obj + 0002:000f36f0 ?Initialise@SocketMgr@@QAEXXZ 006376f0 f shared:SocketMgr.obj + 0002:000f3750 ?IsDeleted@Socket@@QAE_NXZ 00637750 f i shared:SocketMgr.obj + 0002:000f37b0 ?OnConnect@SocketMgr@@UAEXPAVSocket@@@Z 006377b0 f shared:SocketMgr.obj + 0002:000f3810 ?OnDisconnect@SocketMgr@@UAEXPAVSocket@@@Z 00637810 f shared:SocketMgr.obj + 0002:000f3920 ?SetCompletionPort@SocketMgr@@QAEXPAX@Z 00637920 f i shared:SocketMgr.obj + 0002:000f3980 ?SetupSockets@SocketMgr@@SAXXZ 00637980 f shared:SocketMgr.obj + 0002:000f39e0 ?SetupWinsock@SocketMgr@@SAXXZ 006379e0 f shared:SocketMgr.obj + 0002:000f3aa0 ?Shutdown@SocketMgr@@UAEXXZ 00637aa0 f shared:SocketMgr.obj + 0002:000f3b20 ?ShutdownThreads@SocketMgr@@QAEXXZ 00637b20 f shared:SocketMgr.obj + 0002:000f3df0 ?SocketCleanupThread@@YGIPAX@Z 00637df0 f shared:SocketMgr.obj + 0002:000f3f10 ?SocketWorkerThread@SocketMgr@@SGIPAX@Z 00637f10 f shared:SocketMgr.obj + 0002:000f40f0 ?SpawnWorkerThreads@SocketMgr@@QAEXXZ 006380f0 f shared:SocketMgr.obj + 0002:000f42e0 ?Unmark@OverlappedStruct@@QAEXXZ 006382e0 f i shared:SocketMgr.obj + 0002:000f4350 ?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 00638350 f i shared:SocketMgr.obj + 0002:000f43e0 ?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 006383e0 f i shared:SocketMgr.obj + 0002:000f4470 ?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVSocket@@@2@XZ 00638470 f i shared:SocketMgr.obj + 0002:000f4500 ?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QBEABV?$allocator@PAVSocket@@@2@XZ 00638500 f i shared:SocketMgr.obj + 0002:000f4590 ?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$allocator@PAVSocket@@@2@XZ 00638590 f i shared:SocketMgr.obj + 0002:000f4620 ?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$allocator@PAVSocket@@@2@XZ 00638620 f i shared:SocketMgr.obj + 0002:000f46b0 ?_Getblock@?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@QBEII@Z 006386b0 f i shared:SocketMgr.obj + 0002:000f4720 ?_Getblock@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEII@Z 00638720 f i shared:SocketMgr.obj + 0002:000f4790 ?_Growmap@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXI@Z 00638790 f i shared:SocketMgr.obj + 0002:000f4b40 ?_Map@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAPAPAPAVSocket@@XZ 00638b40 f i shared:SocketMgr.obj + 0002:000f4be0 ?_Mapsize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 00638be0 f i shared:SocketMgr.obj + 0002:000f4c80 ?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 00638c80 f i shared:SocketMgr.obj + 0002:000f4d20 ?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 00638d20 f i shared:SocketMgr.obj + 0002:000f4dc0 ?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 00638dc0 f i shared:SocketMgr.obj + 0002:000f4e60 ?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 00638e60 f i shared:SocketMgr.obj + 0002:000f4f00 ?_Orphan_all@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXXZ 00638f00 f i shared:SocketMgr.obj + 0002:000f4f70 ?_Orphan_off@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEXI@Z 00638f70 f i shared:SocketMgr.obj + 0002:000f5110 ?_Push_back_internal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXABQAVSocket@@@Z 00639110 f i shared:SocketMgr.obj + 0002:000f52f0 ?_Tidy@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXXZ 006392f0 f i shared:SocketMgr.obj + 0002:000f54f0 ?_Unchecked_begin@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE?AV?$_Deque_unchecked_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@2@XZ 006394f0 f i shared:SocketMgr.obj + 0002:000f55b0 ?_Xlen@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEXXZ 006395b0 f i shared:SocketMgr.obj + 0002:000f5610 ?__autoclassinit2@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAEXI@Z 00639610 f i shared:SocketMgr.obj + 0002:000f5670 ?__autoclassinit2@?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAEXI@Z 00639670 f i shared:SocketMgr.obj + 0002:000f56d0 ?allocate@?$allocator@PAPAVSocket@@@std@@QAEPAPAPAVSocket@@I@Z 006396d0 f i shared:SocketMgr.obj + 0002:000f5740 ?allocate@?$allocator@PAVSocket@@@std@@QAEPAPAVSocket@@I@Z 00639740 f i shared:SocketMgr.obj + 0002:000f57b0 ?deallocate@?$allocator@PAPAVSocket@@@std@@QAEXQAPAPAVSocket@@I@Z 006397b0 f i shared:SocketMgr.obj + 0002:000f5820 ?deallocate@?$allocator@PAVSocket@@@std@@QAEXQAPAVSocket@@I@Z 00639820 f i shared:SocketMgr.obj + 0002:000f5890 ?empty@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBE_NXZ 00639890 f i shared:SocketMgr.obj + 0002:000f5950 ?empty@?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QBE_NXZ 00639950 f i shared:SocketMgr.obj + 0002:000f59b0 ?front@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAEAAPAVSocket@@XZ 006399b0 f i shared:SocketMgr.obj + 0002:000f5aa0 ?front@?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAEAAPAVSocket@@XZ 00639aa0 f i shared:SocketMgr.obj + 0002:000f5b00 ?max_size@?$_Default_allocator_traits@V?$allocator@PAVSocket@@@std@@@std@@SAIABV?$allocator@PAVSocket@@@2@@Z 00639b00 f i shared:SocketMgr.obj + 0002:000f5b90 ?max_size@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBEIXZ 00639b90 f i shared:SocketMgr.obj + 0002:000f5c30 ?pop@?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAEXXZ 00639c30 f i shared:SocketMgr.obj + 0002:000f5c90 ?pop_back@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAEXXZ 00639c90 f i shared:SocketMgr.obj + 0002:000f5e30 ?pop_front@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAEXXZ 00639e30 f i shared:SocketMgr.obj + 0002:000f5ff0 ?push@?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@QAEXABQAVSocket@@@Z 00639ff0 f i shared:SocketMgr.obj + 0002:000f6060 ?push_back@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAEXABQAVSocket@@@Z 0063a060 f i shared:SocketMgr.obj + 0002:000f60d0 ?store@?$_Atomic_storage@I$03@std@@QAEXI@Z 0063a0d0 f i shared:SocketMgr.obj + 0002:000f6180 ?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 0063a180 f i shared:SocketMgr.obj + 0002:000f6240 ?FormattedDebugString@@YAXPBDZZ 0063a240 f shared:DebugUtils.obj + 0002:000f6430 __vsnprintf 0063a430 f i shared:DebugUtils.obj + 0002:000f64a0 __vsnprintf_l 0063a4a0 f i shared:DebugUtils.obj + 0002:000f6550 ??0OverlappedStruct@@QAE@XZ 0063a550 f i shared:Socket.obj + 0002:000f65f0 ??0Socket@@QAE@III@Z 0063a5f0 f shared:Socket.obj + 0002:000f67c0 ??1Socket@@UAE@XZ 0063a7c0 f shared:Socket.obj + 0002:000f68a0 ??_GSocket@@UAEPAXI@Z 0063a8a0 f i shared:Socket.obj + 0002:000f68a0 ??_ESocket@@UAEPAXI@Z 0063a8a0 f i shared:Socket.obj + 0002:000f6920 ?Accept@Socket@@QAEXPAUsockaddr_in@@@Z 0063a920 f shared:Socket.obj + 0002:000f69a0 ?BurstBegin@Socket@@QAEXXZ 0063a9a0 f i shared:Socket.obj + 0002:000f6a00 ?BurstEnd@Socket@@QAEXXZ 0063aa00 f i shared:Socket.obj + 0002:000f6a60 ?BurstSend@Socket@@QAE_NPBEI@Z 0063aa60 f shared:Socket.obj + 0002:000f6ad0 ?Connect@Socket@@QAE_NPBDI@Z 0063aad0 f shared:Socket.obj + 0002:000f6c50 ?Delete@Socket@@QAEXXZ 0063ac50 f shared:Socket.obj + 0002:000f6d40 ?Disconnect@Socket@@QAEXXZ 0063ad40 f shared:Socket.obj + 0002:000f6ec0 ?GetRemoteIP@Socket@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 0063aec0 f shared:Socket.obj + 0002:000f6fa0 ?IsConnected@Socket@@QAE_NXZ 0063afa0 f i shared:Socket.obj + 0002:000f7000 ?OnConnect@Socket@@UAEXXZ 0063b000 f i shared:Socket.obj + 0002:000f7060 ?OnDisconnect@Socket@@UAEXXZ 0063b060 f i shared:Socket.obj + 0002:000f70c0 ?OnRead@Socket@@UAEXXZ 0063b0c0 f i shared:Socket.obj + 0002:000f7120 ?Send@Socket@@QAE_NPBEI@Z 0063b120 f shared:Socket.obj + 0002:000f71c0 ?_OnConnect@Socket@@IAEXXZ 0063b1c0 f shared:Socket.obj + 0002:000f72b0 ??$_Adl_verify_range@PAEPAE@std@@YAXABQAE0@Z 0063b2b0 f i shared:KOSocket.obj + 0002:000f7320 ??$_Assign_range@PAE@?$vector@EV?$allocator@E@std@@@std@@AAEXPAE0Uforward_iterator_tag@1@@Z 0063b320 f i shared:KOSocket.obj + 0002:000f7430 ??$_Pocca@V?$allocator@E@std@@@std@@YAXAAV?$allocator@E@0@ABV10@@Z 0063b430 f i shared:KOSocket.obj + 0002:000f74b0 ??$_Refancy@PAE$0A@@std@@YAPAEPAE@Z 0063b4b0 f i shared:KOSocket.obj + 0002:000f7540 ??$_Verify_range@E@std@@YAXQBE0@Z 0063b540 f i shared:KOSocket.obj + 0002:000f7630 ??$addressof@$$CBV?$vector@EV?$allocator@E@std@@@std@@@std@@YAPBV?$vector@EV?$allocator@E@std@@@0@ABV10@@Z 0063b630 f i shared:KOSocket.obj + 0002:000f76c0 ??$assign@PAEX@?$vector@EV?$allocator@E@std@@@std@@QAEXPAE0@Z 0063b6c0 f i shared:KOSocket.obj + 0002:000f7760 ??$distance@PAE@std@@YAHPAE0@Z 0063b760 f i shared:KOSocket.obj + 0002:000f77c0 ??0CJvCryption@@QAE@XZ 0063b7c0 f i shared:KOSocket.obj + 0002:000f7830 ??0KOSocket@@QAE@GPAVSocketMgr@@III@Z 0063b830 f shared:KOSocket.obj + 0002:000f7980 ??0Packet@@QAE@EI@Z 0063b980 f i shared:KOSocket.obj + 0002:000f7a00 ??0Packet@@QAE@XZ 0063ba00 f i shared:KOSocket.obj + 0002:000f7a80 ??4?$vector@EV?$allocator@E@std@@@std@@QAEAAV01@ABV01@@Z 0063ba80 f i shared:KOSocket.obj + 0002:000f7b10 ??4ByteBuffer@@QAEAAV0@ABV0@@Z 0063bb10 f i shared:KOSocket.obj + 0002:000f7ba0 ??4Packet@@QAEAAV0@ABV0@@Z 0063bba0 f i shared:KOSocket.obj + 0002:000f7c10 ??_GKOSocket@@UAEPAXI@Z 0063bc10 f i shared:KOSocket.obj + 0002:000f7c10 ??_EKOSocket@@UAEPAXI@Z 0063bc10 f i shared:KOSocket.obj + 0002:000f7c90 ?DecryptPacket@KOSocket@@UAE_NPAEAAVPacket@@@Z 0063bc90 f shared:KOSocket.obj + 0002:000f7ef0 ?EnableCrypto@KOSocket@@QAEXXZ 0063bef0 f shared:KOSocket.obj + 0002:000f7f60 ?GetAllocatedSize@CircularBuffer@@QBEIXZ 0063bf60 f i shared:KOSocket.obj + 0002:000f7fc0 ?GetRemotePort@Socket@@QAEIXZ 0063bfc0 f i shared:KOSocket.obj + 0002:000f8040 ?OnConnect@KOSocket@@UAEXXZ 0063c040 f shared:KOSocket.obj + 0002:000f8210 ?OnDisconnect@KOSocket@@UAEXXZ 0063c210 f shared:KOSocket.obj + 0002:000f8360 ?OnRead@KOSocket@@UAEXXZ 0063c360 f shared:KOSocket.obj + 0002:000f8a40 ?Send@KOSocket@@UAE_NPAVPacket@@@Z 0063ca40 f shared:KOSocket.obj + 0002:000f8e30 ?SendCompressed@KOSocket@@UAE_NPAVPacket@@@Z 0063ce30 f shared:KOSocket.obj + 0002:000f9160 ?SetSocketMgr@Socket@@QAEXPAVSocketMgr@@@Z 0063d160 f i shared:KOSocket.obj + 0002:000f91d0 ?_Buy_raw@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 0063d1d0 f i shared:KOSocket.obj + 0002:000f9290 ?_Clear_and_reserve_geometric@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 0063d290 f i shared:KOSocket.obj + 0002:000f93c0 ?_Copy_assign@?$vector@EV?$allocator@E@std@@@std@@AAEXABV12@U?$integral_constant@_N$0A@@2@@Z 0063d3c0 f i shared:KOSocket.obj + 0002:000f9460 ?__autoclassinit2@Packet@@QAEXI@Z 0063d460 f i shared:KOSocket.obj + 0002:000f94c0 ?contents@ByteBuffer@@QBEPBEXZ 0063d4c0 f i shared:KOSocket.obj + 0002:000f9530 ?isCryptoEnabled@KOSocket@@QAE_NXZ 0063d530 f i shared:KOSocket.obj + 0002:000f9590 ?resize@ByteBuffer@@QAEXI@Z 0063d590 f i shared:KOSocket.obj + 0002:000f9620 ??$?0NU?$ratio@$00$00@std@@X@?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@QAE@ABV?$duration@NU?$ratio@$00$00@std@@@12@@Z 0063d620 f i shared:Condition.obj + 0002:000f96a0 ??$?0NX@?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@QAE@ABN@Z 0063d6a0 f i shared:Condition.obj + 0002:000f9710 ??$?0_JU?$ratio@$00$00@std@@X@?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QAE@ABV?$duration@_JU?$ratio@$00$00@std@@@12@@Z 0063d710 f i shared:Condition.obj + 0002:000f97a0 ??$?0_JU?$ratio@$00$0DOI@@std@@X@?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@QAE@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@12@@Z 0063d7a0 f i shared:Condition.obj + 0002:000f9820 ??$?0_JU?$ratio@$00$0JIJGIA@@std@@X@?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QAE@ABV?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@12@@Z 0063d820 f i shared:Condition.obj + 0002:000f98b0 ??$?0_JX@?$duration@_JU?$ratio@$00$00@std@@@chrono@std@@QAE@AB_J@Z 0063d8b0 f i shared:Condition.obj + 0002:000f9920 ??$?0_JX@?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QAE@AB_J@Z 0063d920 f i shared:Condition.obj + 0002:000f9990 ??$?0_JX@?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@QAE@AB_J@Z 0063d990 f i shared:Condition.obj + 0002:000f9a00 ??$?0_JX@?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@chrono@std@@QAE@AB_J@Z 0063da00 f i shared:Condition.obj + 0002:000f9a70 ??$?MNU?$ratio@$00$00@std@@_JU?$ratio@$00$0DOI@@1@@chrono@std@@YA_NABV?$duration@NU?$ratio@$00$00@std@@@01@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@01@@Z 0063da70 f i shared:Condition.obj + 0002:000f9b60 ??$?M_JU?$ratio@$00$0DOI@@std@@_JU01@@chrono@std@@YA_NABV?$duration@_JU?$ratio@$00$0DOI@@std@@@01@0@Z 0063db60 f i shared:Condition.obj + 0002:000f9c70 ??$?N_JU?$ratio@$00$0DOI@@std@@_JU01@@chrono@std@@YA_NABV?$duration@_JU?$ratio@$00$0DOI@@std@@@01@0@Z 0063dc70 f i shared:Condition.obj + 0002:000f9d00 ??$_To_xtime_10_day_clamped@_JU?$ratio@$00$0DOI@@std@@@std@@YA_NAAUxtime@@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@0@@Z 0063dd00 f i shared:Condition.obj + 0002:000f9f00 ??$addressof@Vmutex@std@@@std@@YAPAVmutex@0@AAV10@@Z 0063df00 f i shared:Condition.obj + 0002:000f9f90 ??$duration_cast@V?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@NU?$ratio@$00$00@3@X@chrono@std@@YA?AV?$duration@NU?$ratio@$00$0DOI@@std@@@01@ABV?$duration@NU?$ratio@$00$00@std@@@01@@Z 0063df90 f i shared:Condition.obj + 0002:000fa1d0 ??$duration_cast@V?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@_JU?$ratio@$00$0DOI@@3@X@chrono@std@@YA?AV?$duration@NU?$ratio@$00$0DOI@@std@@@01@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@01@@Z 0063e1d0 f i shared:Condition.obj + 0002:000fa400 ??$duration_cast@V?$duration@_JU?$ratio@$00$00@std@@@chrono@std@@_JU?$ratio@$00$0DLJKMKAA@@3@X@chrono@std@@YA?AV?$duration@_JU?$ratio@$00$00@std@@@01@ABV?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@01@@Z 0063e400 f i shared:Condition.obj + 0002:000fa620 ??$duration_cast@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@_JU?$ratio@$00$00@3@X@chrono@std@@YA?AV?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@01@ABV?$duration@_JU?$ratio@$00$00@std@@@01@@Z 0063e620 f i shared:Condition.obj + 0002:000fa840 ??$duration_cast@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@_JU?$ratio@$00$0DOI@@3@X@chrono@std@@YA?AV?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@01@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@01@@Z 0063e840 f i shared:Condition.obj + 0002:000faa60 ??$duration_cast@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@_JU?$ratio@$00$0JIJGIA@@3@X@chrono@std@@YA?AV?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@01@ABV?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@01@@Z 0063ea60 f i shared:Condition.obj + 0002:000fac70 ??$wait_for@_JU?$ratio@$00$0DOI@@std@@@condition_variable@std@@QAE?AW4cv_status@1@AAV?$unique_lock@Vmutex@std@@@1@ABV?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@1@@Z 0063ec70 f i shared:Condition.obj + 0002:000fad90 ??0?$time_point@Usystem_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@@chrono@std@@QAE@ABV?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@12@@Z 0063ed90 f i shared:Condition.obj + 0002:000fae00 ??0?$unique_lock@Vmutex@std@@@std@@QAE@AAVmutex@1@@Z 0063ee00 f i shared:Condition.obj + 0002:000fae90 ??0Condition@@QAE@XZ 0063ee90 f shared:Condition.obj + 0002:000faf10 ??0condition_variable@std@@QAE@XZ 0063ef10 f i shared:Condition.obj + 0002:000faf80 ??0mutex@std@@QAE@XZ 0063ef80 f i shared:Condition.obj + 0002:000fb020 ??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 0063f020 f i shared:Condition.obj + 0002:000fb0c0 ??1Condition@@QAE@XZ 0063f0c0 f shared:Condition.obj + 0002:000fb170 ??1condition_variable@std@@QAE@XZ 0063f170 f i shared:Condition.obj + 0002:000fb210 ??1mutex@std@@QAE@XZ 0063f210 f i shared:Condition.obj + 0002:000fb260 ??Y?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QAEAAV012@ABV012@@Z 0063f260 f i shared:Condition.obj + 0002:000fb2e0 ??Z?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QAEAAV012@ABV012@@Z 0063f2e0 f i shared:Condition.obj + 0002:000fb360 ?BeginSynchronized@Condition@@QAEXXZ 0063f360 f shared:Condition.obj + 0002:000fb3d0 ?Broadcast@Condition@@QAEXXZ 0063f3d0 f shared:Condition.obj + 0002:000fb430 ?EndSynchronized@Condition@@QAEXXZ 0063f430 f shared:Condition.obj + 0002:000fb4a0 ?Signal@Condition@@QAEXXZ 0063f4a0 f shared:Condition.obj + 0002:000fb500 ?Wait@Condition@@QAEIXZ 0063f500 f shared:Condition.obj + 0002:000fb630 ?Wait@Condition@@QAEI_J@Z 0063f630 f shared:Condition.obj + 0002:000fb780 ?_Mycnd@condition_variable@std@@AAEPAU_Cnd_internal_imp_t@@XZ 0063f780 f i shared:Condition.obj + 0002:000fb810 ?__autoclassinit2@?$unique_lock@Vmutex@std@@@std@@QAEXI@Z 0063f810 f i shared:Condition.obj + 0002:000fb870 ?count@?$duration@NU?$ratio@$00$00@std@@@chrono@std@@QBENXZ 0063f870 f i shared:Condition.obj + 0002:000fb8d0 ?count@?$duration@NU?$ratio@$00$0DOI@@std@@@chrono@std@@QBENXZ 0063f8d0 f i shared:Condition.obj + 0002:000fb930 ?count@?$duration@_JU?$ratio@$00$00@std@@@chrono@std@@QBE_JXZ 0063f930 f i shared:Condition.obj + 0002:000fb990 ?count@?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@chrono@std@@QBE_JXZ 0063f990 f i shared:Condition.obj + 0002:000fb9f0 ?count@?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@QBE_JXZ 0063f9f0 f i shared:Condition.obj + 0002:000fba50 ?count@?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@chrono@std@@QBE_JXZ 0063fa50 f i shared:Condition.obj + 0002:000fbab0 ?mutex@?$unique_lock@Vmutex@std@@@std@@QBEPAV02@XZ 0063fab0 f i shared:Condition.obj + 0002:000fbb40 ?notify_all@condition_variable@std@@QAEXXZ 0063fb40 f i shared:Condition.obj + 0002:000fbbf0 ?notify_one@condition_variable@std@@QAEXXZ 0063fbf0 f i shared:Condition.obj + 0002:000fbca0 ?now@system_clock@chrono@std@@SA?AV?$time_point@Usystem_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@@23@XZ 0063fca0 f i shared:Condition.obj + 0002:000fbd60 ?time_since_epoch@?$time_point@Usystem_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@@chrono@std@@QBE?AV?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@XZ 0063fd60 f i shared:Condition.obj + 0002:000fbdd0 ?wait@condition_variable@std@@QAEXAAV?$unique_lock@Vmutex@std@@@2@@Z 0063fdd0 f i shared:Condition.obj + 0002:000fbe60 ?wait_until@condition_variable@std@@QAE?AW4cv_status@2@AAV?$unique_lock@Vmutex@std@@@2@PBUxtime@@@Z 0063fe60 f i shared:Condition.obj + 0002:000fbf50 ?zero@?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@SA?AV123@XZ 0063ff50 f i shared:Condition.obj + 0002:000fc000 ?zero@?$duration_values@_J@chrono@std@@SA_JXZ 00640000 f i shared:Condition.obj + 0002:000fc090 ?HookSignals@@YAXPAVCondition@@@Z 00640090 f shared:signal_handler.obj + 0002:000fc130 ?OnSignal@@YAXH@Z 00640130 f shared:signal_handler.obj + 0002:000fc230 ?UnhookSignals@@YAXXZ 00640230 f shared:signal_handler.obj + 0002:000fc2c0 ??$?8PADPAD@std@@YA_NABV?$reverse_iterator@PAD@0@0@Z 006402c0 f i shared:tstring.obj + 0002:000fc350 ??$?9PADPAD@std@@YA_NABV?$reverse_iterator@PAD@0@0@Z 00640350 f i shared:tstring.obj + 0002:000fc3e0 ??$_Adl_verify_range@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@@std@@YAXABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@0@Z 006403e0 f i shared:tstring.obj + 0002:000fc440 ??$_Adl_verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@@std@@YAXABV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@0@Z 00640440 f i shared:tstring.obj + 0002:000fc4a0 ??$_Adl_verify_range@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V12@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z 006404a0 f i shared:tstring.obj + 0002:000fc500 ??$_Const_cast@$$CBD@std@@YA@PBD@Z 00640500 f i shared:tstring.obj + 0002:000fc590 ??$_Get_unwrapped@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@$0A@@std@@YA@ABV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@@Z 00640590 f i shared:tstring.obj + 0002:000fc5f0 ??$_Get_unwrapped@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@$0A@@std@@YA@ABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@@Z 006405f0 f i shared:tstring.obj + 0002:000fc650 ??$_Refancy@PAD$0A@@std@@YAPADPAD@Z 00640650 f i shared:tstring.obj + 0002:000fc6e0 ??$_Seek_to@PAD$0A@@?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAEXABV?$reverse_iterator@PAD@1@@Z 006406e0 f i shared:tstring.obj + 0002:000fc750 ??$_Seek_wrapped@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@PAD@std@@YAXAAV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@ABQAD@Z 00640750 f i shared:tstring.obj + 0002:000fc7b0 ??$_Seek_wrapped@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$reverse_iterator@PAD@2@@std@@YAXAAV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@ABV?$reverse_iterator@PAD@0@@Z 006407b0 f i shared:tstring.obj + 0002:000fc810 ??$_Unfancy@$$CBD@std@@YAPBDPBD@Z 00640810 f i shared:tstring.obj + 0002:000fc860 ??$_Unwrapped@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@$0A@@?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QBE?AV?$reverse_iterator@PAD@1@XZ 00640860 f i shared:tstring.obj + 0002:000fc8d0 ??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z 006408d0 f i shared:tstring.obj + 0002:000fca00 ??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 00640a00 f i shared:tstring.obj + 0002:000fcbc0 ??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 00640bc0 f i shared:tstring.obj + 0002:000fcdd0 ??$not1@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@std@@YA?AV?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@ABV?$pointer_to_unary_function@HHP6AHH@Z@0@@Z 00640dd0 f i shared:tstring.obj + 0002:000fce30 ??$ptr_fun@HH@std@@YA?AV?$pointer_to_unary_function@HHP6AHH@Z@0@P6AHH@Z@Z 00640e30 f i shared:tstring.obj + 0002:000fce90 ??$safe_ctype@$1?isspace@@YAHH@Z@@YAHE@Z 00640e90 f i shared:tstring.obj + 0002:000fcef0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@$$QAV01@@Z 00640ef0 f i shared:tstring.obj + 0002:000fcf60 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@ABV01@@Z 00640f60 f i shared:tstring.obj + 0002:000fcfd0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base12@1@@Z 00640fd0 f i shared:tstring.obj + 0002:000fd050 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@$$QAV01@@Z 00641050 f i shared:tstring.obj + 0002:000fd0b0 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@ABV01@@Z 006410b0 f i shared:tstring.obj + 0002:000fd110 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base12@1@@Z 00641110 f i shared:tstring.obj + 0002:000fd180 ??0?$pointer_to_unary_function@HHP6AHH@Z@std@@QAE@P6AHH@Z@Z 00641180 f i shared:tstring.obj + 0002:000fd1f0 ??0?$reverse_iterator@PAD@std@@QAE@PAD@Z 006411f0 f i shared:tstring.obj + 0002:000fd260 ??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00641260 f i shared:tstring.obj + 0002:000fd2c0 ??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z 006412c0 f i shared:tstring.obj + 0002:000fd380 ??0?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@std@@QAE@ABV?$pointer_to_unary_function@HHP6AHH@Z@1@@Z 00641380 f i shared:tstring.obj + 0002:000fd3f0 ??1?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@XZ 006413f0 f i shared:tstring.obj + 0002:000fd440 ??1?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@XZ 00641440 f i shared:tstring.obj + 0002:000fd490 ??1?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@XZ 00641490 f i shared:tstring.obj + 0002:000fd4e0 ??D?$reverse_iterator@PAD@std@@QBEAADXZ 006414e0 f i shared:tstring.obj + 0002:000fd550 ??E?$reverse_iterator@PAD@std@@QAEAAV01@XZ 00641550 f i shared:tstring.obj + 0002:000fd5c0 ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z 006415c0 f i shared:tstring.obj + 0002:000fd640 ??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 00641640 f i shared:tstring.obj + 0002:000fd790 ??R?$pointer_to_unary_function@HHP6AHH@Z@std@@QBEHH@Z 00641790 f i shared:tstring.obj + 0002:000fd800 ??R?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@std@@QBE_NABH@Z 00641800 f i shared:tstring.obj + 0002:000fd890 ??Y?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@H@Z 00641890 f i shared:tstring.obj + 0002:000fd910 ??Y?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@H@Z 00641910 f i shared:tstring.obj + 0002:000fd980 ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z 00641980 f i shared:tstring.obj + 0002:000fda50 ?_Seek_to@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEXPBD@Z 00641a50 f i shared:tstring.obj + 0002:000fdab0 ?_Unwrapped@?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEPADXZ 00641ab0 f i shared:tstring.obj + 0002:000fdb20 ?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXH@Z 00641b20 f i shared:tstring.obj + 0002:000fddc0 ?_Verify_range@std@@YAXABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z 00641dc0 f i shared:tstring.obj + 0002:000fdf00 ?__autoclassinit2@?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEXI@Z 00641f00 f i shared:tstring.obj + 0002:000fdf60 ?__autoclassinit2@?$reverse_iterator@PAD@std@@QAEXI@Z 00641f60 f i shared:tstring.obj + 0002:000fdfc0 ?_string_format@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV12@PAD@Z 00641fc0 f shared:tstring.obj + 0002:000fe0e0 ?base@?$reverse_iterator@PAD@std@@QBEPADXZ 006420e0 f i shared:tstring.obj + 0002:000fe140 ?base@?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QBE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 00642140 f i shared:tstring.obj + 0002:000fe1d0 ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 006421d0 f i shared:tstring.obj + 0002:000fe2a0 ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 006422a0 f i shared:tstring.obj + 0002:000fe380 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z 00642380 f i shared:tstring.obj + 0002:000fe540 ?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 00642540 f shared:tstring.obj + 0002:000fe730 ?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 00642730 f i shared:tstring.obj + 0002:000fe7e0 ?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 006427e0 f i shared:tstring.obj + 0002:000fe890 ?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 00642890 f shared:tstring.obj + 0002:000feb30 ?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ 00642b30 f shared:tstring.obj + 0002:000feca0 ?tstrcpy@@YAXPADIAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 00642ca0 f shared:tstring.obj + 0002:000fed60 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00642d60 f i shared:SMDFile.obj + 0002:000fedd0 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00642dd0 f i shared:SMDFile.obj + 0002:000fee40 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00642e40 f i shared:SMDFile.obj + 0002:000feeb0 ??$?0AAIAAPAU_REGENE_EVENT@@$0A@@?$pair@IPAU_REGENE_EVENT@@@std@@QAE@AAIAAPAU_REGENE_EVENT@@@Z 00642eb0 f i shared:SMDFile.obj + 0002:000fef70 ??$?0AAIAAPAU_WARP_INFO@@$0A@@?$pair@IPAU_WARP_INFO@@@std@@QAE@AAIAAPAU_WARP_INFO@@@Z 00642f70 f i shared:SMDFile.obj + 0002:000ff030 ??$?0AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 00643030 f i shared:SMDFile.obj + 0002:000ff0f0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 006430f0 f i shared:SMDFile.obj + 0002:000ff1b0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 006431b0 f i shared:SMDFile.obj + 0002:000ff270 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 00643270 f i shared:SMDFile.obj + 0002:000ff330 ??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAPAVSMDFile@@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@AAPAVSMDFile@@@Z 00643330 f i shared:SMDFile.obj + 0002:000ff3c0 ??$?0ABQAU_WARP_INFO@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z 006433c0 f i shared:SMDFile.obj + 0002:000ff550 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00643550 f i shared:SMDFile.obj + 0002:000ff5e0 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 006435e0 f i shared:SMDFile.obj + 0002:000ff670 ??$?0ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00643670 f i shared:SMDFile.obj + 0002:000ff700 ??$?0IPAU_REGENE_EVENT@@$0A@@?$pair@$$CBIPAU_REGENE_EVENT@@@std@@QAE@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00643700 f i shared:SMDFile.obj + 0002:000ff7c0 ??$?0IPAU_WARP_INFO@@$0A@@?$pair@$$CBIPAU_WARP_INFO@@@std@@QAE@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 006437c0 f i shared:SMDFile.obj + 0002:000ff880 ??$?0PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 00643880 f i shared:SMDFile.obj + 0002:000ff940 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 00643940 f i shared:SMDFile.obj + 0002:000ffa00 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 00643a00 f i shared:SMDFile.obj + 0002:000ffac0 ??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 00643ac0 f i shared:SMDFile.obj + 0002:000ffb80 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 00643b80 f i shared:SMDFile.obj + 0002:000ffc10 ??$?0U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 00643c10 f i shared:SMDFile.obj + 0002:000ffca0 ??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 00643ca0 f i shared:SMDFile.obj + 0002:000ffd30 ??$?0U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00643d30 f i shared:SMDFile.obj + 0002:000ffec0 ??$?0U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 00643ec0 f i shared:SMDFile.obj + 0002:00100050 ??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 00644050 f i shared:SMDFile.obj + 0002:001001e0 ??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@1@AB_N@Z 006441e0 f i shared:SMDFile.obj + 0002:001002a0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@1@AB_N@Z 006442a0 f i shared:SMDFile.obj + 0002:00100360 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@1@AB_N@Z 00644360 f i shared:SMDFile.obj + 0002:00100420 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@1@AB_N@Z 00644420 f i shared:SMDFile.obj + 0002:001004e0 ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 006444e0 f i shared:SMDFile.obj + 0002:001005b0 ??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z 006445b0 f i shared:SMDFile.obj + 0002:00100670 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 00644670 f i shared:SMDFile.obj + 0002:001007b0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 006447b0 f i shared:SMDFile.obj + 0002:001008f0 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 006448f0 f i shared:SMDFile.obj + 0002:00100a30 ??$_Debug_lt_pred@ABU?$less@PAU_WARP_INFO@@@std@@ABQAU_WARP_INFO@@ABQAU3@$0A@@std@@YA_NABU?$less@PAU_WARP_INFO@@@0@ABQAU_WARP_INFO@@1@Z 00644a30 f i shared:SMDFile.obj + 0002:00100b20 ??$_Debug_lt_pred@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABV32@$0A@@std@@YA_NABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@1@Z 00644b20 f i shared:SMDFile.obj + 0002:00100c10 ??$_Emplace@ABQAU_WARP_INFO@@@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@1@ABQAU_WARP_INFO@@@Z 00644c10 f i shared:SMDFile.obj + 0002:00100e00 ??$_Emplace@U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00644e00 f i shared:SMDFile.obj + 0002:00100ff0 ??$_Emplace@U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 00644ff0 f i shared:SMDFile.obj + 0002:001011e0 ??$_Emplace@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 006451e0 f i shared:SMDFile.obj + 0002:001013d0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 006453d0 f i shared:SMDFile.obj + 0002:001014a0 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 006454a0 f i shared:SMDFile.obj + 0002:00101570 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 00645570 f i shared:SMDFile.obj + 0002:00101640 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@@Z 00645640 f i shared:SMDFile.obj + 0002:00101720 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@@Z 00645720 f i shared:SMDFile.obj + 0002:00101800 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@@Z 00645800 f i shared:SMDFile.obj + 0002:001018e0 ??$_Find@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 006458e0 f i shared:SMDFile.obj + 0002:001019d0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@ABI@Z 006459d0 f i shared:SMDFile.obj + 0002:00101b50 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@ABI@Z 00645b50 f i shared:SMDFile.obj + 0002:00101cd0 ??$_Find_lower_bound@PAU_WARP_INFO@@@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@ABQAU_WARP_INFO@@@Z 00645cd0 f i shared:SMDFile.obj + 0002:00101e50 ??$_Find_lower_bound@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00645e50 f i shared:SMDFile.obj + 0002:00101fd0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00645fd0 f i shared:SMDFile.obj + 0002:001020d0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 006460d0 f i shared:SMDFile.obj + 0002:001021d0 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 006461d0 f i shared:SMDFile.obj + 0002:001022d0 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 006462d0 f i shared:SMDFile.obj + 0002:00102390 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00646390 f i shared:SMDFile.obj + 0002:00102450 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 00646450 f i shared:SMDFile.obj + 0002:00102510 ??$_Get_size_of_n@$0DA@@std@@YAII@Z 00646510 f i shared:SMDFile.obj + 0002:001025c0 ??$_Kfn@$$CBIPAU_REGENE_EVENT@@@?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_REGENE_EVENT@@@1@@Z 006465c0 f i shared:SMDFile.obj + 0002:00102610 ??$_Kfn@$$CBIPAU_WARP_INFO@@@?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAU_WARP_INFO@@@1@@Z 00646610 f i shared:SMDFile.obj + 0002:00102660 ??$_Kfn@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@SAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@ABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 00646660 f i shared:SMDFile.obj + 0002:001026b0 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@ABI@Z 006466b0 f i shared:SMDFile.obj + 0002:00102770 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@ABI@Z 00646770 f i shared:SMDFile.obj + 0002:00102830 ??$_Lower_bound_duplicate@PAU_WARP_INFO@@@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z 00646830 f i shared:SMDFile.obj + 0002:001028f0 ??$_Lower_bound_duplicate@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 006468f0 f i shared:SMDFile.obj + 0002:001029b0 ??$_Traits_compare@U?$char_traits@D@std@@@std@@YAHQBDI0I@Z 006469b0 f i shared:SMDFile.obj + 0002:00102aa0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@ABV10@@Z 00646aa0 f i shared:SMDFile.obj + 0002:00102b30 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@ABV10@@Z 00646b30 f i shared:SMDFile.obj + 0002:00102bc0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@ABV10@@Z 00646bc0 f i shared:SMDFile.obj + 0002:00102c50 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@ABV10@@Z 00646c50 f i shared:SMDFile.obj + 0002:00102ce0 ??$addressof@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 00646ce0 f i shared:SMDFile.obj + 0002:00102d70 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 00646d70 f i shared:SMDFile.obj + 0002:00102e00 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 00646e00 f i shared:SMDFile.obj + 0002:00102e90 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 00646e90 f i shared:SMDFile.obj + 0002:00102f20 ??$addressof@PAU_WARP_INFO@@@std@@YAPAPAU_WARP_INFO@@AAPAU1@@Z 00646f20 f i shared:SMDFile.obj + 0002:00102fb0 ??$addressof@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@0@AAU10@@Z 00646fb0 f i shared:SMDFile.obj + 0002:00103040 ??$addressof@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@YAPAU?$pair@$$CBIPAU_WARP_INFO@@@0@AAU10@@Z 00647040 f i shared:SMDFile.obj + 0002:001030d0 ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 006470d0 f i shared:SMDFile.obj + 0002:00103160 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@AAV10@@Z 00647160 f i shared:SMDFile.obj + 0002:001031f0 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@AAV10@@Z 006471f0 f i shared:SMDFile.obj + 0002:00103280 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 00647280 f i shared:SMDFile.obj + 0002:00103310 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@AAV10@@Z 00647310 f i shared:SMDFile.obj + 0002:001033a0 ??$construct@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@AAPAU31@@Z 006473a0 f i shared:SMDFile.obj + 0002:00103420 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@AAPAU31@@Z 00647420 f i shared:SMDFile.obj + 0002:001034a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@AAPAU31@@Z 006474a0 f i shared:SMDFile.obj + 0002:00103520 ??$construct@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@AAPAU31@@Z 00647520 f i shared:SMDFile.obj + 0002:001035a0 ??$construct@PAU_WARP_INFO@@ABQAU1@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@QAPAU_WARP_INFO@@ABQAU3@@Z 006475a0 f i shared:SMDFile.obj + 0002:00103620 ??$construct@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@U?$pair@IPAU_REGENE_EVENT@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_REGENE_EVENT@@@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00647620 f i shared:SMDFile.obj + 0002:001036b0 ??$construct@U?$pair@$$CBIPAU_WARP_INFO@@@std@@U?$pair@IPAU_WARP_INFO@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_WARP_INFO@@@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 006476b0 f i shared:SMDFile.obj + 0002:00103740 ??$construct@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 00647740 f i shared:SMDFile.obj + 0002:001037d0 ??$destroy@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@@Z 006477d0 f i shared:SMDFile.obj + 0002:00103820 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@@Z 00647820 f i shared:SMDFile.obj + 0002:00103870 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@@Z 00647870 f i shared:SMDFile.obj + 0002:001038c0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@@Z 006478c0 f i shared:SMDFile.obj + 0002:00103910 ??$destroy@PAU_WARP_INFO@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@QAPAU_WARP_INFO@@@Z 00647910 f i shared:SMDFile.obj + 0002:00103960 ??$destroy@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_REGENE_EVENT@@@1@@Z 00647960 f i shared:SMDFile.obj + 0002:001039b0 ??$destroy@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAU_WARP_INFO@@@1@@Z 006479b0 f i shared:SMDFile.obj + 0002:00103a00 ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 00647a00 f i shared:SMDFile.obj + 0002:00103a60 ??$emplace@U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00647a60 f i shared:SMDFile.obj + 0002:00103ba0 ??$emplace@U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 00647ba0 f i shared:SMDFile.obj + 0002:00103ce0 ??$emplace@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 00647ce0 f i shared:SMDFile.obj + 0002:00103e20 ??$exchange@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@$$QA$$T@Z 00647e20 f i shared:SMDFile.obj + 0002:00103e90 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 00647e90 f i shared:SMDFile.obj + 0002:00103f00 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@0@Z 00647f00 f i shared:SMDFile.obj + 0002:00103f70 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 00647f70 f i shared:SMDFile.obj + 0002:00103fe0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@0@Z 00647fe0 f i shared:SMDFile.obj + 0002:00104050 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 00648050 f i shared:SMDFile.obj + 0002:001040c0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@0@Z 006480c0 f i shared:SMDFile.obj + 0002:00104130 ??$forward@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 00648130 f i shared:SMDFile.obj + 0002:001041c0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 006481c0 f i shared:SMDFile.obj + 0002:00104250 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 00648250 f i shared:SMDFile.obj + 0002:001042e0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 006482e0 f i shared:SMDFile.obj + 0002:00104370 ??$forward@AAPAU_REGENE_EVENT@@@std@@YAAAPAU_REGENE_EVENT@@AAPAU1@@Z 00648370 f i shared:SMDFile.obj + 0002:00104400 ??$forward@AAPAU_WARP_INFO@@@std@@YAAAPAU_WARP_INFO@@AAPAU1@@Z 00648400 f i shared:SMDFile.obj + 0002:00104490 ??$forward@AAPAVSMDFile@@@std@@YAAAPAVSMDFile@@AAPAV1@@Z 00648490 f i shared:SMDFile.obj + 0002:00104520 ??$forward@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00648520 f i shared:SMDFile.obj + 0002:001045b0 ??$forward@ABQAU_WARP_INFO@@@std@@YAABQAU_WARP_INFO@@ABQAU1@@Z 006485b0 f i shared:SMDFile.obj + 0002:00104640 ??$forward@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABU10@@Z 00648640 f i shared:SMDFile.obj + 0002:001046d0 ??$forward@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 006486d0 f i shared:SMDFile.obj + 0002:00104760 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 00648760 f i shared:SMDFile.obj + 0002:001047f0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 006487f0 f i shared:SMDFile.obj + 0002:00104880 ??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 00648880 f i shared:SMDFile.obj + 0002:00104910 ??$forward@PAU_REGENE_EVENT@@@std@@YA$$QAPAU_REGENE_EVENT@@AAPAU1@@Z 00648910 f i shared:SMDFile.obj + 0002:001049a0 ??$forward@PAU_WARP_INFO@@@std@@YA$$QAPAU_WARP_INFO@@AAPAU1@@Z 006489a0 f i shared:SMDFile.obj + 0002:00104a30 ??$forward@PAVSMDFile@@@std@@YA$$QAPAVSMDFile@@AAPAV1@@Z 00648a30 f i shared:SMDFile.obj + 0002:00104ac0 ??$forward@U?$pair@IPAU_REGENE_EVENT@@@std@@@std@@YA$$QAU?$pair@IPAU_REGENE_EVENT@@@0@AAU10@@Z 00648ac0 f i shared:SMDFile.obj + 0002:00104b50 ??$forward@U?$pair@IPAU_WARP_INFO@@@std@@@std@@YA$$QAU?$pair@IPAU_WARP_INFO@@@0@AAU10@@Z 00648b50 f i shared:SMDFile.obj + 0002:00104be0 ??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 00648be0 f i shared:SMDFile.obj + 0002:00104c70 ??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 00648c70 f i shared:SMDFile.obj + 0002:00104d00 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@0@AAV10@@Z 00648d00 f i shared:SMDFile.obj + 0002:00104d90 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@0@AAV10@@Z 00648d90 f i shared:SMDFile.obj + 0002:00104e20 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@0@AAV10@@Z 00648e20 f i shared:SMDFile.obj + 0002:00104eb0 ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00648eb0 f i shared:SMDFile.obj + 0002:00104f40 ??$insert@$0A@$0A@@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@_N@1@ABQAU_WARP_INFO@@@Z 00648f40 f i shared:SMDFile.obj + 0002:00105070 ??$insert@U?$pair@IPAU_REGENE_EVENT@@@std@@X@?$map@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 00649070 f i shared:SMDFile.obj + 0002:00105110 ??$insert@U?$pair@IPAU_WARP_INFO@@@std@@X@?$map@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 00649110 f i shared:SMDFile.obj + 0002:001051b0 ??$insert@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@X@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 006491b0 f i shared:SMDFile.obj + 0002:00105250 ??$make_pair@AAIAAPAU_REGENE_EVENT@@@std@@YA?AU?$pair@IPAU_REGENE_EVENT@@@0@AAIAAPAU_REGENE_EVENT@@@Z 00649250 f i shared:SMDFile.obj + 0002:001052d0 ??$make_pair@AAIAAPAU_WARP_INFO@@@std@@YA?AU?$pair@IPAU_WARP_INFO@@@0@AAIAAPAU_WARP_INFO@@@Z 006492d0 f i shared:SMDFile.obj + 0002:00105350 ??$make_pair@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAPAVSMDFile@@@std@@YA?AU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAPAVSMDFile@@@Z 00649350 f i shared:SMDFile.obj + 0002:001053f0 ??0?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 006493f0 f i shared:SMDFile.obj + 0002:001054a0 ??0?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 006494a0 f i shared:SMDFile.obj + 0002:00105550 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z 00649550 f i shared:SMDFile.obj + 0002:001055c0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 006495c0 f i shared:SMDFile.obj + 0002:00105630 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 00649630 f i shared:SMDFile.obj + 0002:001056a0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 006496a0 f i shared:SMDFile.obj + 0002:00105710 ??0?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 00649710 f i shared:SMDFile.obj + 0002:001057a0 ??0?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 006497a0 f i shared:SMDFile.obj + 0002:00105830 ??0?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@@Z 00649830 f i shared:SMDFile.obj + 0002:001058c0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@QAE@$$QAV01@@Z 006498c0 f i shared:SMDFile.obj + 0002:00105920 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@1@@Z 00649920 f i shared:SMDFile.obj + 0002:00105990 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649990 f i shared:SMDFile.obj + 0002:001059f0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 006499f0 f i shared:SMDFile.obj + 0002:00105a50 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@1@@Z 00649a50 f i shared:SMDFile.obj + 0002:00105ac0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649ac0 f i shared:SMDFile.obj + 0002:00105b20 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00649b20 f i shared:SMDFile.obj + 0002:00105b80 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@1@@Z 00649b80 f i shared:SMDFile.obj + 0002:00105bf0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649bf0 f i shared:SMDFile.obj + 0002:00105c50 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@1@@Z 00649c50 f i shared:SMDFile.obj + 0002:00105cc0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649cc0 f i shared:SMDFile.obj + 0002:00105d20 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00649d20 f i shared:SMDFile.obj + 0002:00105d80 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@1@@Z 00649d80 f i shared:SMDFile.obj + 0002:00105df0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649df0 f i shared:SMDFile.obj + 0002:00105e50 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00649e50 f i shared:SMDFile.obj + 0002:00105eb0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@1@@Z 00649eb0 f i shared:SMDFile.obj + 0002:00105f20 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00649f20 f i shared:SMDFile.obj + 0002:00105f80 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@1@@Z 00649f80 f i shared:SMDFile.obj + 0002:00105ff0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z 00649ff0 f i shared:SMDFile.obj + 0002:001060b0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 0064a0b0 f i shared:SMDFile.obj + 0002:00106170 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 0064a170 f i shared:SMDFile.obj + 0002:00106230 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 0064a230 f i shared:SMDFile.obj + 0002:001062f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0064a2f0 f i shared:SMDFile.obj + 0002:00106360 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@1@@Z 0064a360 f i shared:SMDFile.obj + 0002:001063e0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0064a3e0 f i shared:SMDFile.obj + 0002:00106450 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0064a450 f i shared:SMDFile.obj + 0002:001064c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@1@@Z 0064a4c0 f i shared:SMDFile.obj + 0002:00106540 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0064a540 f i shared:SMDFile.obj + 0002:001065b0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0064a5b0 f i shared:SMDFile.obj + 0002:00106620 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@1@@Z 0064a620 f i shared:SMDFile.obj + 0002:001066a0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0064a6a0 f i shared:SMDFile.obj + 0002:00106710 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@1@@Z 0064a710 f i shared:SMDFile.obj + 0002:00106790 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAE@XZ 0064a790 f i shared:SMDFile.obj + 0002:00106810 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAE@XZ 0064a810 f i shared:SMDFile.obj + 0002:00106890 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAE@XZ 0064a890 f i shared:SMDFile.obj + 0002:00106910 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 0064a910 f i shared:SMDFile.obj + 0002:001069a0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@QAE@XZ 0064a9a0 f i shared:SMDFile.obj + 0002:00106a30 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@QAE@XZ 0064aa30 f i shared:SMDFile.obj + 0002:00106ac0 ??0?$map@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@@std@@QAE@XZ 0064aac0 f i shared:SMDFile.obj + 0002:00106b30 ??0?$map@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@@std@@QAE@XZ 0064ab30 f i shared:SMDFile.obj + 0002:00106ba0 ??0?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@QAE@XZ 0064aba0 f i shared:SMDFile.obj + 0002:00106c10 ??0SMDFile@@QAE@XZ 0064ac10 f shared:SMDFile.obj + 0002:00106e00 ??0_WARP_INFO@@QAE@XZ 0064ae00 f i shared:SMDFile.obj + 0002:00106e70 ??1?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 0064ae70 f i shared:SMDFile.obj + 0002:00106f20 ??1?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 0064af20 f i shared:SMDFile.obj + 0002:00106fd0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 0064afd0 f i shared:SMDFile.obj + 0002:00107080 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064b080 f i shared:SMDFile.obj + 0002:00107130 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064b130 f i shared:SMDFile.obj + 0002:001071e0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064b1e0 f i shared:SMDFile.obj + 0002:00107290 ??1?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0064b290 f i shared:SMDFile.obj + 0002:001073c0 ??1?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0064b3c0 f i shared:SMDFile.obj + 0002:001074f0 ??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE@XZ 0064b4f0 f i shared:SMDFile.obj + 0002:00107620 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@QAE@XZ 0064b620 f i shared:SMDFile.obj + 0002:00107670 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@XZ 0064b670 f i shared:SMDFile.obj + 0002:001076c0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 0064b6c0 f i shared:SMDFile.obj + 0002:00107710 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@XZ 0064b710 f i shared:SMDFile.obj + 0002:00107760 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE@XZ 0064b760 f i shared:SMDFile.obj + 0002:001077b0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE@XZ 0064b7b0 f i shared:SMDFile.obj + 0002:00107800 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAE@XZ 0064b800 f i shared:SMDFile.obj + 0002:00107850 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 0064b850 f i shared:SMDFile.obj + 0002:001079a0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064b9a0 f i shared:SMDFile.obj + 0002:00107af0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064baf0 f i shared:SMDFile.obj + 0002:00107c40 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064bc40 f i shared:SMDFile.obj + 0002:00107d90 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 0064bd90 f i shared:SMDFile.obj + 0002:00107de0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064bde0 f i shared:SMDFile.obj + 0002:00107e30 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064be30 f i shared:SMDFile.obj + 0002:00107e80 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0064be80 f i shared:SMDFile.obj + 0002:00107ed0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0064bed0 f i shared:SMDFile.obj + 0002:00107f20 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0064bf20 f i shared:SMDFile.obj + 0002:00107f70 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0064bf70 f i shared:SMDFile.obj + 0002:00107fc0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0064bfc0 f i shared:SMDFile.obj + 0002:00108010 ??1?$map@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@@std@@QAE@XZ 0064c010 f i shared:SMDFile.obj + 0002:00108060 ??1?$map@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@@std@@QAE@XZ 0064c060 f i shared:SMDFile.obj + 0002:001080b0 ??1?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@QAE@XZ 0064c0b0 f i shared:SMDFile.obj + 0002:00108100 ??1?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@XZ 0064c100 f i shared:SMDFile.obj + 0002:00108150 ??1?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@_N@std@@QAE@XZ 0064c150 f i shared:SMDFile.obj + 0002:001081a0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0064c1a0 f i shared:SMDFile.obj + 0002:001081f0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0064c1f0 f i shared:SMDFile.obj + 0002:00108240 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0064c240 f i shared:SMDFile.obj + 0002:00108290 ??1?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@XZ 0064c290 f i shared:SMDFile.obj + 0002:001082e0 ??1SMDFile@@UAE@XZ 0064c2e0 f shared:SMDFile.obj + 0002:00108490 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c490 f i shared:SMDFile.obj + 0002:001085a0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c5a0 f i shared:SMDFile.obj + 0002:001086b0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c6b0 f i shared:SMDFile.obj + 0002:001087c0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c7c0 f i shared:SMDFile.obj + 0002:00108850 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c850 f i shared:SMDFile.obj + 0002:001088e0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0064c8e0 f i shared:SMDFile.obj + 0002:00108970 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z 0064c970 f i shared:SMDFile.obj + 0002:00108a50 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_REGENE_EVENT@@@1@XZ 0064ca50 f i shared:SMDFile.obj + 0002:00108ac0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAU_WARP_INFO@@@1@XZ 0064cac0 f i shared:SMDFile.obj + 0002:00108b30 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@XZ 0064cb30 f i shared:SMDFile.obj + 0002:00108ba0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_REGENE_EVENT@@@1@XZ 0064cba0 f i shared:SMDFile.obj + 0002:00108cf0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAU_WARP_INFO@@@1@XZ 0064ccf0 f i shared:SMDFile.obj + 0002:00108e40 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@XZ 0064ce40 f i shared:SMDFile.obj + 0002:00108f90 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_REGENE_EVENT@@@1@XZ 0064cf90 f i shared:SMDFile.obj + 0002:00108ff0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAU_WARP_INFO@@@1@XZ 0064cff0 f i shared:SMDFile.obj + 0002:00109050 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@XZ 0064d050 f i shared:SMDFile.obj + 0002:001090b0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0064d0b0 f i shared:SMDFile.obj + 0002:00109200 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0064d200 f i shared:SMDFile.obj + 0002:00109350 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0064d350 f i shared:SMDFile.obj + 0002:001094a0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0064d4a0 f i shared:SMDFile.obj + 0002:001095f0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0064d5f0 f i shared:SMDFile.obj + 0002:001096d0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 0064d6d0 f i shared:SMDFile.obj + 0002:001097b0 ??R?$less@PAU_WARP_INFO@@@std@@QBE_NABQAU_WARP_INFO@@0@Z 0064d7b0 f i shared:SMDFile.obj + 0002:00109840 ??R?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@0@Z 0064d840 f i shared:SMDFile.obj + 0002:001098b0 ??_G?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAEPAXI@Z 0064d8b0 f i shared:SMDFile.obj + 0002:00109920 ??_GSMDFile@@UAEPAXI@Z 0064d920 f i shared:SMDFile.obj + 0002:00109920 ??_ESMDFile@@UAEPAXI@Z 0064d920 f i shared:SMDFile.obj + 0002:001099a0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ 0064d9a0 f i shared:SMDFile.obj + 0002:00109be0 ?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ 0064dbe0 f i shared:SMDFile.obj + 0002:00109e20 ?GetEventID@SMDFile@@QAEHHH@Z 0064de20 f shared:SMDFile.obj + 0002:00109ed0 ?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z 0064ded0 f shared:SMDFile.obj + 0002:0010a0f0 ?Height@CN3ShapeMgr@@QAEMXZ 0064e0f0 f i shared:SMDFile.obj + 0002:0010a150 ?IsValidPosition@SMDFile@@QAE_NMMM@Z 0064e150 f shared:SMDFile.obj + 0002:0010a220 ?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0064e220 f shared:SMDFile.obj + 0002:0010a670 ?LoadMap@SMDFile@@QAE_NPAU_iobuf@@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0064e670 f shared:SMDFile.obj + 0002:0010a8d0 ?LoadMapTile@SMDFile@@QAEXPAU_iobuf@@@Z 0064e8d0 f shared:SMDFile.obj + 0002:0010a9c0 ?LoadObjectEvent@SMDFile@@QAEXPAU_iobuf@@@Z 0064e9c0 f shared:SMDFile.obj + 0002:0010ab10 ?LoadRegeneEvent@SMDFile@@QAEXPAU_iobuf@@@Z 0064eb10 f shared:SMDFile.obj + 0002:0010ad10 ?LoadTerrain@SMDFile@@QAEXPAU_iobuf@@@Z 0064ed10 f shared:SMDFile.obj + 0002:0010ae60 ?LoadWarpList@SMDFile@@QAEXPAU_iobuf@@@Z 0064ee60 f shared:SMDFile.obj + 0002:0010b0e0 ?OnInvalidMap@SMDFile@@QAEXXZ 0064f0e0 f shared:SMDFile.obj + 0002:0010b200 ?PutData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE_NIPAU_REGENE_EVENT@@@Z 0064f200 f i shared:SMDFile.obj + 0002:0010b360 ?PutData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE_NIPAU_WARP_INFO@@@Z 0064f360 f i shared:SMDFile.obj + 0002:0010b4c0 ?STRTOLOWER@@YAXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0064f4c0 f i shared:SMDFile.obj + 0002:0010b570 ?Width@CN3ShapeMgr@@QAEMXZ 0064f570 f i shared:SMDFile.obj + 0002:0010b5d0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0064f5d0 f i shared:SMDFile.obj + 0002:0010b740 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0064f740 f i shared:SMDFile.obj + 0002:0010b8b0 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ 0064f8b0 f i shared:SMDFile.obj + 0002:0010ba20 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAEXXZ 0064fa20 f i shared:SMDFile.obj + 0002:0010baa0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0064faa0 f i shared:SMDFile.obj + 0002:0010bb20 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0064fb20 f i shared:SMDFile.obj + 0002:0010bba0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0064fba0 f i shared:SMDFile.obj + 0002:0010bc20 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0064fc20 f i shared:SMDFile.obj + 0002:0010bca0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0064fca0 f i shared:SMDFile.obj + 0002:0010bd20 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ 0064fd20 f i shared:SMDFile.obj + 0002:0010bda0 ?_Check_grow_by_1@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEXXZ 0064fda0 f i shared:SMDFile.obj + 0002:0010be20 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_REGENE_EVENT@@@std@@@std@@SAABIABU?$pair@IPAU_REGENE_EVENT@@@2@@Z 0064fe20 f i shared:SMDFile.obj + 0002:0010be70 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAU_WARP_INFO@@@std@@@std@@SAABIABU?$pair@IPAU_WARP_INFO@@@2@@Z 0064fe70 f i shared:SMDFile.obj + 0002:0010bec0 ?_Extract@?$_In_place_key_extract_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@@std@@SAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@@Z 0064fec0 f i shared:SMDFile.obj + 0002:0010bf10 ?_Extract@?$_In_place_key_extract_set@PAU_WARP_INFO@@PAU1@@std@@SAABQAU_WARP_INFO@@ABQAU3@@Z 0064ff10 f i shared:SMDFile.obj + 0002:0010bfa0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 0064ffa0 f i shared:SMDFile.obj + 0002:0010c030 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 00650030 f i shared:SMDFile.obj + 0002:0010c0c0 ?_Get_first@?$_Compressed_pair@U?$less@PAU_WARP_INFO@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAU_WARP_INFO@@@2@XZ 006500c0 f i shared:SMDFile.obj + 0002:0010c150 ?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00650150 f i shared:SMDFile.obj + 0002:0010c1e0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 006501e0 f i shared:SMDFile.obj + 0002:0010c270 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 00650270 f i shared:SMDFile.obj + 0002:0010c300 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 00650300 f i shared:SMDFile.obj + 0002:0010c390 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 00650390 f i shared:SMDFile.obj + 0002:0010c420 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 00650420 f i shared:SMDFile.obj + 0002:0010c4b0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 006504b0 f i shared:SMDFile.obj + 0002:0010c540 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 00650540 f i shared:SMDFile.obj + 0002:0010c5d0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 006505d0 f i shared:SMDFile.obj + 0002:0010c660 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 00650660 f i shared:SMDFile.obj + 0002:0010c700 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 00650700 f i shared:SMDFile.obj + 0002:0010c7a0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 006507a0 f i shared:SMDFile.obj + 0002:0010c840 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 00650840 f i shared:SMDFile.obj + 0002:0010c8e0 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 006508e0 f i shared:SMDFile.obj + 0002:0010c980 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 00650980 f i shared:SMDFile.obj + 0002:0010ca20 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 00650a20 f i shared:SMDFile.obj + 0002:0010cac0 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 00650ac0 f i shared:SMDFile.obj + 0002:0010cb60 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 00650b60 f i shared:SMDFile.obj + 0002:0010cbf0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 00650bf0 f i shared:SMDFile.obj + 0002:0010cc80 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 00650c80 f i shared:SMDFile.obj + 0002:0010cd10 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 00650d10 f i shared:SMDFile.obj + 0002:0010cda0 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 00650da0 f i shared:SMDFile.obj + 0002:0010ce30 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 00650e30 f i shared:SMDFile.obj + 0002:0010cec0 ?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 00650ec0 f i shared:SMDFile.obj + 0002:0010cf50 ?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 00650f50 f i shared:SMDFile.obj + 0002:0010cfe0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00650fe0 f i shared:SMDFile.obj + 0002:0010d070 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 00651070 f i shared:SMDFile.obj + 0002:0010d100 ?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00651100 f i shared:SMDFile.obj + 0002:0010d190 ?_Getcomp@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABU?$less@PAU_WARP_INFO@@@2@XZ 00651190 f i shared:SMDFile.obj + 0002:0010d220 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@QAU32@@Z 00651220 f i shared:SMDFile.obj + 0002:0010d520 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 00651520 f i shared:SMDFile.obj + 0002:0010d820 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@QAU32@@Z 00651820 f i shared:SMDFile.obj + 0002:0010db20 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@QAU32@@Z 00651b20 f i shared:SMDFile.obj + 0002:0010de20 ?_Kfn@?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@SAABQAU_WARP_INFO@@ABQAU3@@Z 00651e20 f i shared:SMDFile.obj + 0002:0010de70 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@QAEXPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@@Z 00651e70 f i shared:SMDFile.obj + 0002:0010df80 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@@Z 00651f80 f i shared:SMDFile.obj + 0002:0010e090 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@@Z 00652090 f i shared:SMDFile.obj + 0002:0010e1a0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@@Z 006521a0 f i shared:SMDFile.obj + 0002:0010e2b0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@PAU32@@Z 006522b0 f i shared:SMDFile.obj + 0002:0010e320 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@PAU32@@Z 00652320 f i shared:SMDFile.obj + 0002:0010e390 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@@Z 00652390 f i shared:SMDFile.obj + 0002:0010e4c0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@@Z 006524c0 f i shared:SMDFile.obj + 0002:0010e5f0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@XZ 006525f0 f i shared:SMDFile.obj + 0002:0010e6a0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@XZ 006526a0 f i shared:SMDFile.obj + 0002:0010e750 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@XZ 00652750 f i shared:SMDFile.obj + 0002:0010e800 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@XZ 00652800 f i shared:SMDFile.obj + 0002:0010e8b0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@QAEXPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@@Z 006528b0 f i shared:SMDFile.obj + 0002:0010e9c0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@@Z 006529c0 f i shared:SMDFile.obj + 0002:0010ead0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@@Z 00652ad0 f i shared:SMDFile.obj + 0002:0010ebe0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@@Z 00652be0 f i shared:SMDFile.obj + 0002:0010ecf0 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAEXI@Z 00652cf0 f i shared:SMDFile.obj + 0002:0010ed50 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAEXI@Z 00652d50 f i shared:SMDFile.obj + 0002:0010edb0 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAEXI@Z 00652db0 f i shared:SMDFile.obj + 0002:0010ee10 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@QAEXI@Z 00652e10 f i shared:SMDFile.obj + 0002:0010ee70 ?__autoclassinit2@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@QAEXI@Z 00652e70 f i shared:SMDFile.obj + 0002:0010eed0 ?__autoclassinit2@CN3ShapeMgr@@QAEXI@Z 00652ed0 f i shared:SMDFile.obj + 0002:0010ef30 ?__autoclassinit2@SMDFile@@QAEXI@Z 00652f30 f i shared:SMDFile.obj + 0002:0010ef90 ?allocate@?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@I@Z 00652f90 f i shared:SMDFile.obj + 0002:0010f000 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@I@Z 00653000 f i shared:SMDFile.obj + 0002:0010f070 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@I@Z 00653070 f i shared:SMDFile.obj + 0002:0010f0e0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@I@Z 006530e0 f i shared:SMDFile.obj + 0002:0010f150 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 00653150 f i shared:SMDFile.obj + 0002:0010f210 ?begin@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 00653210 f i shared:SMDFile.obj + 0002:0010f2d0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 006532d0 f i shared:SMDFile.obj + 0002:0010f3d0 ?clear@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAEXXZ 006533d0 f i shared:SMDFile.obj + 0002:0010f4d0 ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z 006534d0 f i shared:SMDFile.obj + 0002:0010f5b0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@I@Z 006535b0 f i shared:SMDFile.obj + 0002:0010f610 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@I@Z 00653610 f i shared:SMDFile.obj + 0002:0010f670 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@I@Z 00653670 f i shared:SMDFile.obj + 0002:0010f6d0 ?deallocate@?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@QAEXQAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@I@Z 006536d0 f i shared:SMDFile.obj + 0002:0010f740 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@I@Z 00653740 f i shared:SMDFile.obj + 0002:0010f7b0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@I@Z 006537b0 f i shared:SMDFile.obj + 0002:0010f820 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@I@Z 00653820 f i shared:SMDFile.obj + 0002:0010f890 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 00653890 f i shared:SMDFile.obj + 0002:0010f950 ?empty@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 00653950 f i shared:SMDFile.obj + 0002:0010fa10 ?end@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 00653a10 f i shared:SMDFile.obj + 0002:0010fad0 ?end@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 00653ad0 f i shared:SMDFile.obj + 0002:0010fb90 ?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@2@XZ 00653b90 f i shared:SMDFile.obj + 0002:0010fc50 ?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00653c50 f i shared:SMDFile.obj + 0002:0010fcf0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@@Z 00653cf0 f i shared:SMDFile.obj + 0002:0010fd80 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@@Z 00653d80 f i shared:SMDFile.obj + 0002:0010fe10 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@@Z 00653e10 f i shared:SMDFile.obj + 0002:0010fea0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@@Z 00653ea0 f i shared:SMDFile.obj + 0002:0010ff30 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00653f30 f i shared:SMDFile.obj + 0002:0010ffd0 ?max_size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00653fd0 f i shared:SMDFile.obj + 0002:00110070 ?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QBEIXZ 00654070 f i shared:SMDFile.obj + 0002:00110110 ?max_size@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@QBEIXZ 00654110 f i shared:SMDFile.obj + 0002:001101b0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@2@AAU32@@Z 006541b0 f i shared:SMDFile.obj + 0002:00110240 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@SAPAU?$pair@$$CBIPAU_WARP_INFO@@@2@AAU32@@Z 00654240 f i shared:SMDFile.obj + 0002:001102d0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@AAU32@@Z 006542d0 f i shared:SMDFile.obj + 0002:00110360 ?size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00654360 f i shared:SMDFile.obj + 0002:00110400 ?size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00654400 f i shared:SMDFile.obj + 0002:001104a0 ??$?0AAP6GIPAX@Z@?$_Tuple_val@P6GIPAX@Z@std@@QAE@AAP6GIPAX@Z@Z 006544a0 f i shared:Thread.obj + 0002:00110510 ??$?0AAP6GIPAX@ZAAPAX$0A@@?$tuple@P6GIPAX@ZPAX@std@@QAE@AAP6GIPAX@ZAAPAX@Z 00654510 f i shared:Thread.obj + 0002:001105e0 ??$?0AAP6GIPAX@ZAAPAXX@thread@std@@QAE@AAP6GIPAX@ZAAPAX@Z 006545e0 f i shared:Thread.obj + 0002:00110780 ??$?0AAPAV?$tuple@P6GIPAX@ZPAX@std@@@?$_Compressed_pair@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@PAV?$tuple@P6GIPAX@ZPAX@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@AAPAV?$tuple@P6GIPAX@ZPAX@1@@Z 00654780 f i shared:Thread.obj + 0002:001107f0 ??$?0AAPAX@?$_Tuple_val@PAX@std@@QAE@AAPAX@Z 006547f0 f i shared:Thread.obj + 0002:00110860 ??$?0U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@$0A@@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@PAV?$tuple@P6GIPAX@ZPAX@1@@Z 00654860 f i shared:Thread.obj + 0002:00110910 ??$?0U_Exact_args_t@std@@AAP6GIPAX@ZAAPAX$0A@@?$tuple@P6GIPAX@ZPAX@std@@QAE@U_Exact_args_t@1@AAP6GIPAX@ZAAPAX@Z 00654910 f i shared:Thread.obj + 0002:001109c0 ??$?0U_Exact_args_t@std@@AAPAX$$V$0A@@?$tuple@PAX@std@@QAE@U_Exact_args_t@1@AAPAX@Z 006549c0 f i shared:Thread.obj + 0002:00110a50 ??$_Call@P6GIPAX@ZPAX@_Invoker_functor@std@@SAI$$QAP6GIPAX@Z$$QAPAX@Z 00654a50 f i shared:Thread.obj + 0002:00110ad0 ??$_Invoke@V?$tuple@P6GIPAX@ZPAX@std@@$0A@$00@thread@std@@CGIPAX@Z 00654ad0 f i shared:Thread.obj + 0002:00110c30 ??$exchange@PAV?$tuple@P6GIPAX@ZPAX@std@@PAV12@@std@@YAPAV?$tuple@P6GIPAX@ZPAX@0@AAPAV10@$$QAPAV10@@Z 00654c30 f i shared:Thread.obj + 0002:00110ca0 ??$exchange@U_Thrd_imp_t@@U1@@std@@YA?AU_Thrd_imp_t@@AAU1@$$QAU1@@Z 00654ca0 f i shared:Thread.obj + 0002:00110d60 ??$forward@AAP6GIPAX@Z@std@@YAAAP6GIPAX@ZAAP6GI0@Z@Z 00654d60 f i shared:Thread.obj + 0002:00110df0 ??$forward@AAPAV?$tuple@P6GIPAX@ZPAX@std@@@std@@YAAAPAV?$tuple@P6GIPAX@ZPAX@0@AAPAV10@@Z 00654df0 f i shared:Thread.obj + 0002:00110e80 ??$forward@AAPAX@std@@YAAAPAXAAPAX@Z 00654e80 f i shared:Thread.obj + 0002:00110f10 ??$forward@P6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 00654f10 f i shared:Thread.obj + 0002:00110fa0 ??$forward@PAX@std@@YA$$QAPAXAAPAX@Z 00654fa0 f i shared:Thread.obj + 0002:00111030 ??$get@$00P6GIPAX@ZPAX@std@@YAAAPAXAAV?$tuple@P6GIPAX@ZPAX@0@@Z 00655030 f i shared:Thread.obj + 0002:001110c0 ??$get@$0A@P6GIPAX@ZPAX@std@@YAAAP6GIPAX@ZAAV?$tuple@P6GIPAX@ZPAX@0@@Z 006550c0 f i shared:Thread.obj + 0002:00111150 ??$invoke@P6GIPAX@ZPAX@std@@YAI$$QAP6GIPAX@Z$$QAPAX@Z 00655150 f i shared:Thread.obj + 0002:001111d0 ??$make_unique@V?$tuple@P6GIPAX@ZPAX@std@@AAP6GIPAX@ZAAPAX$0A@@std@@YA?AV?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@0@AAP6GIPAX@ZAAPAX@Z 006551d0 f i shared:Thread.obj + 0002:001112c0 ??$move@AAP6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 006552c0 f i shared:Thread.obj + 0002:00111350 ??$move@AAPAX@std@@YA$$QAPAXAAPAX@Z 00655350 f i shared:Thread.obj + 0002:001113e0 ??0Thread@@QAE@P6GIPAX@Z0@Z 006553e0 f shared:Thread.obj + 0002:001114b0 ??0Thread@@QAE@XZ 006554b0 f shared:Thread.obj + 0002:00111520 ??0thread@std@@QAE@XZ 00655520 f i shared:Thread.obj + 0002:001115c0 ??1?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@XZ 006555c0 f i shared:Thread.obj + 0002:00111670 ??4thread@std@@QAEAAV01@$$QAV01@@Z 00655670 f i shared:Thread.obj + 0002:00111770 ??D?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QBEAAV?$tuple@P6GIPAX@ZPAX@1@XZ 00655770 f i shared:Thread.obj + 0002:001117d0 ??R?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@QBEXPAV?$tuple@P6GIPAX@ZPAX@1@@Z 006557d0 f i shared:Thread.obj + 0002:001118b0 ?_Get_first@?$_Compressed_pair@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@PAV?$tuple@P6GIPAX@ZPAX@2@$00@std@@QAEAAU?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@XZ 006558b0 f i shared:Thread.obj + 0002:00111940 ?__autoclassinit2@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAEXI@Z 00655940 f i shared:Thread.obj + 0002:001119a0 ?get@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QBEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 006559a0 f i shared:Thread.obj + 0002:00111a30 ?join@thread@std@@QAEXXZ 00655a30 f i shared:Thread.obj + 0002:00111b10 ?release@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 00655b10 f i shared:Thread.obj + 0002:00111bc0 ?start@Thread@@QAE_NP6GIPAX@Z0@Z 00655bc0 f shared:Thread.obj + 0002:00111d60 ?waitForExit@Thread@@QAE_NXZ 00655d60 f shared:Thread.obj + 0002:00111ee0 ?Blocking@SocketOps@@YA_NI@Z 00655ee0 f shared:SocketOpsWin32.obj + 0002:00111fd0 ?CloseSocket@SocketOps@@YAXI@Z 00655fd0 f shared:SocketOpsWin32.obj + 0002:00112050 ?CreateTCPFileDescriptor@SocketOps@@YAIXZ 00656050 f shared:SocketOpsWin32.obj + 0002:001120c0 ?DisableBuffering@SocketOps@@YA_NI@Z 006560c0 f shared:SocketOpsWin32.obj + 0002:001121b0 ?EnableBuffering@SocketOps@@YA_NI@Z 006561b0 f shared:SocketOpsWin32.obj + 0002:001122a0 ?Nonblocking@SocketOps@@YA_NI@Z 006562a0 f shared:SocketOpsWin32.obj + 0002:00112390 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00656390 f i shared:OdbcCommand.obj + 0002:00112400 ??$?0AAPAD@?$_Compressed_pair@U?$default_delete@D@std@@PAD$00@std@@QAE@U_Zero_then_variadic_args_t@1@AAPAD@Z 00656400 f i shared:OdbcCommand.obj + 0002:00112470 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 00656470 f i shared:OdbcCommand.obj + 0002:00112530 ??$?0ABU?$less@I@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@I@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00656530 f i shared:OdbcCommand.obj + 0002:001125c0 ??$?0IPAVOdbcParameter@@$0A@@?$pair@$$CBIPAVOdbcParameter@@@std@@QAE@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 006565c0 f i shared:OdbcCommand.obj + 0002:00112680 ??$?0IPAVOdbcParameter@@$0A@@?$pair@IPAVOdbcParameter@@@std@@QAE@$$QAI$$QAPAVOdbcParameter@@@Z 00656680 f i shared:OdbcCommand.obj + 0002:00112740 ??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 00656740 f i shared:OdbcCommand.obj + 0002:00112800 ??$?0U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 00656800 f i shared:OdbcCommand.obj + 0002:00112890 ??$?0U?$default_delete@D@std@@$0A@@?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@PAD@Z 00656890 f i shared:OdbcCommand.obj + 0002:00112940 ??$?0U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 00656940 f i shared:OdbcCommand.obj + 0002:00112ad0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@1@AB_N@Z 00656ad0 f i shared:OdbcCommand.obj + 0002:00112b90 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z 00656b90 f i shared:OdbcCommand.obj + 0002:00112d00 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 00656d00 f i shared:OdbcCommand.obj + 0002:00112e40 ??$_Emplace@U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 00656e40 f i shared:OdbcCommand.obj + 0002:00113030 ??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 00657030 f i shared:OdbcCommand.obj + 0002:00113100 ??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@@Z 00657100 f i shared:OdbcCommand.obj + 0002:001131e0 ??$_Find_lower_bound@I@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@ABI@Z 006571e0 f i shared:OdbcCommand.obj + 0002:00113360 ??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 00657360 f i shared:OdbcCommand.obj + 0002:00113460 ??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 00657460 f i shared:OdbcCommand.obj + 0002:00113520 ??$_Kfn@$$CBIPAVOdbcParameter@@@?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@SAABIABU?$pair@$$CBIPAVOdbcParameter@@@1@@Z 00657520 f i shared:OdbcCommand.obj + 0002:00113570 ??$_Lower_bound_duplicate@I@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@ABI@Z 00657570 f i shared:OdbcCommand.obj + 0002:00113630 ??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 00657630 f i shared:OdbcCommand.obj + 0002:001136c0 ??$_Reallocate_grow_by@V@@$$V@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@@@Z 006576c0 f i shared:OdbcCommand.obj + 0002:001138d0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@ABV10@@Z 006578d0 f i shared:OdbcCommand.obj + 0002:00113960 ??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 00657960 f i shared:OdbcCommand.obj + 0002:001139f0 ??$addressof@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@YAPAU?$pair@$$CBIPAVOdbcParameter@@@0@AAU10@@Z 006579f0 f i shared:OdbcCommand.obj + 0002:00113a80 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@AAV10@@Z 00657a80 f i shared:OdbcCommand.obj + 0002:00113b10 ??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00657b10 f i shared:OdbcCommand.obj + 0002:00113ba0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@AAPAU31@@Z 00657ba0 f i shared:OdbcCommand.obj + 0002:00113c20 ??$construct@U?$pair@$$CBIPAVOdbcParameter@@@std@@U?$pair@IPAVOdbcParameter@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVOdbcParameter@@@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 00657c20 f i shared:OdbcCommand.obj + 0002:00113cb0 ??$destroy@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@@Z 00657cb0 f i shared:OdbcCommand.obj + 0002:00113d00 ??$destroy@U?$pair@$$CBIPAVOdbcParameter@@@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@QAU?$pair@$$CBIPAVOdbcParameter@@@1@@Z 00657d00 f i shared:OdbcCommand.obj + 0002:00113d50 ??$emplace@U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 00657d50 f i shared:OdbcCommand.obj + 0002:00113e90 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@$$QA$$T@Z 00657e90 f i shared:OdbcCommand.obj + 0002:00113f00 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@0@Z 00657f00 f i shared:OdbcCommand.obj + 0002:00113f70 ??$forward@AAPAD@std@@YAAAPADAAPAD@Z 00657f70 f i shared:OdbcCommand.obj + 0002:00114000 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 00658000 f i shared:OdbcCommand.obj + 0002:00114090 ??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 00658090 f i shared:OdbcCommand.obj + 0002:00114120 ??$forward@PAVOdbcParameter@@@std@@YA$$QAPAVOdbcParameter@@AAPAV1@@Z 00658120 f i shared:OdbcCommand.obj + 0002:001141b0 ??$forward@U?$pair@IPAVOdbcParameter@@@std@@@std@@YA$$QAU?$pair@IPAVOdbcParameter@@@0@AAU10@@Z 006581b0 f i shared:OdbcCommand.obj + 0002:00114240 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@0@AAV10@@Z 00658240 f i shared:OdbcCommand.obj + 0002:001142d0 ??$insert@U?$pair@IPAVOdbcParameter@@@std@@X@?$map@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 006582d0 f i shared:OdbcCommand.obj + 0002:00114370 ??$make_pair@IPAVOdbcParameter@@@std@@YA?AU?$pair@IPAVOdbcParameter@@@0@$$QAI$$QAPAVOdbcParameter@@@Z 00658370 f i shared:OdbcCommand.obj + 0002:001143f0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 006583f0 f i shared:OdbcCommand.obj + 0002:00114460 ??0?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE@ABU?$less@I@1@@Z 00658460 f i shared:OdbcCommand.obj + 0002:001144f0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 006584f0 f i shared:OdbcCommand.obj + 0002:00114550 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00658550 f i shared:OdbcCommand.obj + 0002:001145b0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@1@@Z 006585b0 f i shared:OdbcCommand.obj + 0002:00114620 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00658620 f i shared:OdbcCommand.obj + 0002:00114680 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 00658680 f i shared:OdbcCommand.obj + 0002:001146e0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@1@@Z 006586e0 f i shared:OdbcCommand.obj + 0002:00114750 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 00658750 f i shared:OdbcCommand.obj + 0002:00114810 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 00658810 f i shared:OdbcCommand.obj + 0002:00114880 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 00658880 f i shared:OdbcCommand.obj + 0002:001148f0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@1@@Z 006588f0 f i shared:OdbcCommand.obj + 0002:00114970 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAE@XZ 00658970 f i shared:OdbcCommand.obj + 0002:001149f0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@QAE@XZ 006589f0 f i shared:OdbcCommand.obj + 0002:00114a80 ??0?$map@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@@std@@QAE@XZ 00658a80 f i shared:OdbcCommand.obj + 0002:00114af0 ??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z 00658af0 f shared:OdbcCommand.obj + 0002:00114bf0 ??0OdbcCommand@@QAE@PAX@Z 00658bf0 f shared:OdbcCommand.obj + 0002:00114ca0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00658ca0 f i shared:OdbcCommand.obj + 0002:00114d50 ??1?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00658d50 f i shared:OdbcCommand.obj + 0002:00114e80 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@XZ 00658e80 f i shared:OdbcCommand.obj + 0002:00114ed0 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE@XZ 00658ed0 f i shared:OdbcCommand.obj + 0002:00114f20 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00658f20 f i shared:OdbcCommand.obj + 0002:00115070 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00659070 f i shared:OdbcCommand.obj + 0002:001150c0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 006590c0 f i shared:OdbcCommand.obj + 0002:00115110 ??1?$map@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@@std@@QAE@XZ 00659110 f i shared:OdbcCommand.obj + 0002:00115160 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 00659160 f i shared:OdbcCommand.obj + 0002:001151b0 ??1?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@XZ 006591b0 f i shared:OdbcCommand.obj + 0002:00115260 ??1OdbcCommand@@QAE@XZ 00659260 f shared:OdbcCommand.obj + 0002:00115340 ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 00659340 f i shared:OdbcCommand.obj + 0002:00115410 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00659410 f i shared:OdbcCommand.obj + 0002:00115520 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 00659520 f i shared:OdbcCommand.obj + 0002:001155b0 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBIPAVOdbcParameter@@@1@XZ 006595b0 f i shared:OdbcCommand.obj + 0002:00115620 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBIPAVOdbcParameter@@@1@XZ 00659620 f i shared:OdbcCommand.obj + 0002:00115770 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBIPAVOdbcParameter@@@1@XZ 00659770 f i shared:OdbcCommand.obj + 0002:001157d0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAEAAV01@XZ 006597d0 f i shared:OdbcCommand.obj + 0002:00115920 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00659920 f i shared:OdbcCommand.obj + 0002:00115a70 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 00659a70 f i shared:OdbcCommand.obj + 0002:00115b50 ??R@@QBEXQADQBDI@Z 00659b50 f i shared:OdbcCommand.obj + 0002:00115bc0 ??R?$default_delete@D@std@@QBEXPAD@Z 00659bc0 f i shared:OdbcCommand.obj + 0002:00115ca0 ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z 00659ca0 f i shared:OdbcCommand.obj + 0002:00115d10 ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@QBD@Z 00659d10 f i shared:OdbcCommand.obj + 0002:00115d80 ?AddParameter@OdbcCommand@@QAEXFPACJ@Z 00659d80 f shared:OdbcCommand.obj + 0002:00115f00 ?AddParameter@OdbcCommand@@QAEXFPAEJ@Z 00659f00 f shared:OdbcCommand.obj + 0002:00116080 ?AddParameter@OdbcCommand@@QAEXFPAFJ@Z 0065a080 f shared:OdbcCommand.obj + 0002:00116200 ?AddParameter@OdbcCommand@@QAEXFPAGJ@Z 0065a200 f shared:OdbcCommand.obj + 0002:00116380 ?AddParameter@OdbcCommand@@QAEXFPAHJ@Z 0065a380 f shared:OdbcCommand.obj + 0002:00116500 ?AddParameter@OdbcCommand@@QAEXFPAIJ@Z 0065a500 f shared:OdbcCommand.obj + 0002:00116680 ?AddParameter@OdbcCommand@@QAEXFPAMJ@Z 0065a680 f shared:OdbcCommand.obj + 0002:00116800 ?AddParameter@OdbcCommand@@QAEXFPANJ@Z 0065a800 f shared:OdbcCommand.obj + 0002:00116980 ?AddParameter@OdbcCommand@@QAEXFPA_JJ@Z 0065a980 f shared:OdbcCommand.obj + 0002:00116b00 ?AddParameter@OdbcCommand@@QAEXFPA_KJ@Z 0065ab00 f shared:OdbcCommand.obj + 0002:00116c80 ?AddParameter@OdbcCommand@@QAEXFPBDJF@Z 0065ac80 f shared:OdbcCommand.obj + 0002:00116e10 ?BindParameters@OdbcCommand@@AAE_NXZ 0065ae10 f shared:OdbcCommand.obj + 0002:00117140 ?ClearParameters@OdbcCommand@@AAEXXZ 0065b140 f shared:OdbcCommand.obj + 0002:00117340 ?Close@OdbcCommand@@QAEXXZ 0065b340 f shared:OdbcCommand.obj + 0002:001173d0 ?Detach@OdbcCommand@@QAEXXZ 0065b3d0 f shared:OdbcCommand.obj + 0002:00117430 ?Execute@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0065b430 f shared:OdbcCommand.obj + 0002:001176b0 ?FetchBinary@OdbcCommand@@QAE_NHPADJPAJ@Z 0065b6b0 f shared:OdbcCommand.obj + 0002:00117760 ?FetchByte@OdbcCommand@@QAEEH@Z 0065b760 f shared:OdbcCommand.obj + 0002:00117850 ?FetchByte@OdbcCommand@@QAEXHAAE@Z 0065b850 f shared:OdbcCommand.obj + 0002:00117920 ?FetchDouble@OdbcCommand@@QAENH@Z 0065b920 f shared:OdbcCommand.obj + 0002:00117a10 ?FetchDouble@OdbcCommand@@QAEXHAAN@Z 0065ba10 f shared:OdbcCommand.obj + 0002:00117ae0 ?FetchInt16@OdbcCommand@@QAEFH@Z 0065bae0 f shared:OdbcCommand.obj + 0002:00117bd0 ?FetchInt16@OdbcCommand@@QAEXHAAF@Z 0065bbd0 f shared:OdbcCommand.obj + 0002:00117ca0 ?FetchInt32@OdbcCommand@@QAEHH@Z 0065bca0 f shared:OdbcCommand.obj + 0002:00117d90 ?FetchInt32@OdbcCommand@@QAEXHAAH@Z 0065bd90 f shared:OdbcCommand.obj + 0002:00117e60 ?FetchInt64@OdbcCommand@@QAEXHAA_J@Z 0065be60 f shared:OdbcCommand.obj + 0002:00117f30 ?FetchInt64@OdbcCommand@@QAE_JH@Z 0065bf30 f shared:OdbcCommand.obj + 0002:00118020 ?FetchSByte@OdbcCommand@@QAECH@Z 0065c020 f shared:OdbcCommand.obj + 0002:00118110 ?FetchSByte@OdbcCommand@@QAEXHAAC@Z 0065c110 f shared:OdbcCommand.obj + 0002:001181e0 ?FetchSingle@OdbcCommand@@QAEMH@Z 0065c1e0 f shared:OdbcCommand.obj + 0002:001182d0 ?FetchSingle@OdbcCommand@@QAEXHAAM@Z 0065c2d0 f shared:OdbcCommand.obj + 0002:001183a0 ?FetchString@OdbcCommand@@QAE_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0065c3a0 f shared:OdbcCommand.obj + 0002:00118620 ?FetchString@OdbcCommand@@QAE_NHPADJPAJ@Z 0065c620 f shared:OdbcCommand.obj + 0002:001186e0 ?FetchUInt16@OdbcCommand@@QAEGH@Z 0065c6e0 f shared:OdbcCommand.obj + 0002:001187d0 ?FetchUInt16@OdbcCommand@@QAEXHAAG@Z 0065c7d0 f shared:OdbcCommand.obj + 0002:001188a0 ?FetchUInt32@OdbcCommand@@QAEIH@Z 0065c8a0 f shared:OdbcCommand.obj + 0002:00118990 ?FetchUInt32@OdbcCommand@@QAEXHAAI@Z 0065c990 f shared:OdbcCommand.obj + 0002:00118a60 ?FetchUInt64@OdbcCommand@@QAEXHAA_K@Z 0065ca60 f shared:OdbcCommand.obj + 0002:00118b30 ?FetchUInt64@OdbcCommand@@QAE_KH@Z 0065cb30 f shared:OdbcCommand.obj + 0002:00118c20 ?GetAddress@OdbcParameter@@QAEPAXXZ 0065cc20 f i shared:OdbcCommand.obj + 0002:00118c80 ?GetCBValue@OdbcParameter@@QAEPAJXZ 0065cc80 f i shared:OdbcCommand.obj + 0002:00118ce0 ?GetCDataType@OdbcParameter@@QAEFXZ 0065cce0 f i shared:OdbcCommand.obj + 0002:00118d40 ?GetConnectionHandle@OdbcConnection@@QAEPAXXZ 0065cd40 f i shared:OdbcCommand.obj + 0002:00118da0 ?GetDataType@OdbcParameter@@QAEFXZ 0065cda0 f i shared:OdbcCommand.obj + 0002:00118e00 ?GetDataTypeSize@OdbcParameter@@QAEJXZ 0065ce00 f i shared:OdbcCommand.obj + 0002:00118e60 ?GetParameterType@OdbcParameter@@QAEFXZ 0065ce60 f i shared:OdbcCommand.obj + 0002:00118ec0 ?MoveNext@OdbcCommand@@QAE_NXZ 0065cec0 f shared:OdbcCommand.obj + 0002:00118f90 ?MoveNextSet@OdbcCommand@@QAE_NXZ 0065cf90 f shared:OdbcCommand.obj + 0002:00119060 ?Open@OdbcCommand@@AAE_N_N@Z 0065d060 f shared:OdbcCommand.obj + 0002:00119210 ?Prepare@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0065d210 f shared:OdbcCommand.obj + 0002:00119580 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0065d580 f i shared:OdbcCommand.obj + 0002:001196f0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAEXXZ 0065d6f0 f i shared:OdbcCommand.obj + 0002:00119770 ?_Become_small@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 0065d770 f i shared:OdbcCommand.obj + 0002:00119870 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0065d870 f i shared:OdbcCommand.obj + 0002:001198f0 ?_Extract@?$_In_place_key_extract_map@IU?$pair@IPAVOdbcParameter@@@std@@@std@@SAABIABU?$pair@IPAVOdbcParameter@@@2@@Z 0065d8f0 f i shared:OdbcCommand.obj + 0002:00119940 ?_Get_first@?$_Compressed_pair@U?$default_delete@D@std@@PAD$00@std@@QAEAAU?$default_delete@D@2@XZ 0065d940 f i shared:OdbcCommand.obj + 0002:001199d0 ?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 0065d9d0 f i shared:OdbcCommand.obj + 0002:00119a60 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0065da60 f i shared:OdbcCommand.obj + 0002:00119af0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0065daf0 f i shared:OdbcCommand.obj + 0002:00119b80 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 0065db80 f i shared:OdbcCommand.obj + 0002:00119c20 ?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 0065dc20 f i shared:OdbcCommand.obj + 0002:00119cc0 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0065dcc0 f i shared:OdbcCommand.obj + 0002:00119d50 ?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0065dd50 f i shared:OdbcCommand.obj + 0002:00119de0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 0065dde0 f i shared:OdbcCommand.obj + 0002:00119e70 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@QAU32@@Z 0065de70 f i shared:OdbcCommand.obj + 0002:0011a170 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@@Z 0065e170 f i shared:OdbcCommand.obj + 0002:0011a280 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@PAU32@@Z 0065e280 f i shared:OdbcCommand.obj + 0002:0011a2f0 ?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 0065e2f0 f i shared:OdbcCommand.obj + 0002:0011a3d0 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@@Z 0065e3d0 f i shared:OdbcCommand.obj + 0002:0011a500 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@XZ 0065e500 f i shared:OdbcCommand.obj + 0002:0011a5b0 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@@Z 0065e5b0 f i shared:OdbcCommand.obj + 0002:0011a6c0 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAEXI@Z 0065e6c0 f i shared:OdbcCommand.obj + 0002:0011a720 ?__autoclassinit2@?$unique_ptr@DU?$default_delete@D@std@@@std@@QAEXI@Z 0065e720 f i shared:OdbcCommand.obj + 0002:0011a780 ?__autoclassinit2@OdbcParameter@@QAEXI@Z 0065e780 f i shared:OdbcCommand.obj + 0002:0011a7e0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@I@Z 0065e7e0 f i shared:OdbcCommand.obj + 0002:0011a850 ?begin@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 0065e850 f i shared:OdbcCommand.obj + 0002:0011a910 ?clear@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0065e910 f i shared:OdbcCommand.obj + 0002:0011aa10 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@QAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@I@Z 0065ea10 f i shared:OdbcCommand.obj + 0002:0011aa70 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@I@Z 0065ea70 f i shared:OdbcCommand.obj + 0002:0011aae0 ?empty@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0065eae0 f i shared:OdbcCommand.obj + 0002:0011aba0 ?end@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 0065eba0 f i shared:OdbcCommand.obj + 0002:0011ac60 ?get@?$unique_ptr@DU?$default_delete@D@std@@@std@@QBEPADXZ 0065ec60 f i shared:OdbcCommand.obj + 0002:0011acf0 ?isOpen@OdbcCommand@@QAE_NXZ 0065ecf0 f i shared:OdbcCommand.obj + 0002:0011ad70 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@@Z 0065ed70 f i shared:OdbcCommand.obj + 0002:0011ae00 ?max_size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0065ee00 f i shared:OdbcCommand.obj + 0002:0011aea0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@SAPAU?$pair@$$CBIPAVOdbcParameter@@@2@AAU32@@Z 0065eea0 f i shared:OdbcCommand.obj + 0002:0011af30 ?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z 0065ef30 f i shared:OdbcCommand.obj + 0002:0011b030 ?size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0065f030 f i shared:OdbcCommand.obj + 0002:0011b0d0 ??$?0$$V@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 0065f0d0 f i shared:OdbcConnection.obj + 0002:0011b140 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 0065f140 f i shared:OdbcConnection.obj + 0002:0011b1b0 ??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@AAPAU01@$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@PAU12@@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@0@Z 0065f1b0 f i shared:OdbcConnection.obj + 0002:0011b270 ??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 0065f270 f i shared:OdbcConnection.obj + 0002:0011b330 ??$?0ABQAVOdbcCommand@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z 0065f330 f i shared:OdbcConnection.obj + 0002:0011b4c0 ??$?0ABU?$less@PAVOdbcCommand@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@PAVOdbcCommand@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@PAVOdbcCommand@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 0065f4c0 f i shared:OdbcConnection.obj + 0002:0011b550 ??$?0PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 0065f550 f i shared:OdbcConnection.obj + 0002:0011b610 ??$?0PAUOdbcError@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAUOdbcError@@@1@@Z 0065f610 f i shared:OdbcConnection.obj + 0002:0011b6a0 ??$?0U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0065f6a0 f i shared:OdbcConnection.obj + 0002:0011b730 ??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@1@AB_N@Z 0065f730 f i shared:OdbcConnection.obj + 0002:0011b7f0 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z 0065f7f0 f i shared:OdbcConnection.obj + 0002:0011b890 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z 0065f890 f i shared:OdbcConnection.obj + 0002:0011ba00 ??$_Adl_verify_range@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@V12@@std@@YAXABV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@0@0@Z 0065fa00 f i shared:OdbcConnection.obj + 0002:0011ba50 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0065fa50 f i shared:OdbcConnection.obj + 0002:0011bb90 ??$_Copy_memmove@PAPAUOdbcError@@PAPAU1@@std@@YAPAPAUOdbcError@@PAPAU1@00@Z 0065fb90 f i shared:OdbcConnection.obj + 0002:0011bc20 ??$_Debug_lt_pred@ABU?$less@PAVOdbcCommand@@@std@@ABQAVOdbcCommand@@ABQAV3@$0A@@std@@YA_NABU?$less@PAVOdbcCommand@@@0@ABQAVOdbcCommand@@1@Z 0065fc20 f i shared:OdbcConnection.obj + 0002:0011bd10 ??$_Destroy_range@V?$allocator@PAUOdbcError@@@std@@@std@@YAXPAPAUOdbcError@@QAPAU1@AAV?$allocator@PAUOdbcError@@@0@@Z 0065fd10 f i shared:OdbcConnection.obj + 0002:0011bd90 ??$_Emplace@ABQAVOdbcCommand@@@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@1@ABQAVOdbcCommand@@@Z 0065fd90 f i shared:OdbcConnection.obj + 0002:0011bf80 ??$_Emplace_back_with_unused_capacity@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAE@ABQAUOdbcError@@@Z 0065ff80 f i shared:OdbcConnection.obj + 0002:0011c060 ??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z 00660060 f i shared:OdbcConnection.obj + 0002:0011c330 ??$_Eqrange@PAVOdbcCommand@@@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBE?AU?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@PAU12@@1@ABQAVOdbcCommand@@@Z 00660330 f i shared:OdbcConnection.obj + 0002:0011c590 ??$_Erase_head@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 00660590 f i shared:OdbcConnection.obj + 0002:0011c660 ??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@@Z 00660660 f i shared:OdbcConnection.obj + 0002:0011c740 ??$_Find_lower_bound@PAVOdbcCommand@@@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@ABQAVOdbcCommand@@@Z 00660740 f i shared:OdbcConnection.obj + 0002:0011c8c0 ??$_Freenode0@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 006608c0 f i shared:OdbcConnection.obj + 0002:0011c9c0 ??$_Freenode@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 006609c0 f i shared:OdbcConnection.obj + 0002:0011ca80 ??$_Get_unwrapped@PAUOdbcError@@@std@@YAPAPAUOdbcError@@QAPAU1@@Z 00660a80 f i shared:OdbcConnection.obj + 0002:0011cad0 ??$_Get_unwrapped@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@$0A@@std@@YAABV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@0@ABV10@@Z 00660ad0 f i shared:OdbcConnection.obj + 0002:0011cb20 ??$_Lower_bound_duplicate@PAVOdbcCommand@@@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z 00660b20 f i shared:OdbcConnection.obj + 0002:0011cbe0 ??$_Unfancy@PAUOdbcError@@@std@@YAPAPAUOdbcError@@PAPAU1@@Z 00660be0 f i shared:OdbcConnection.obj + 0002:0011cc30 ??$_Uninitialized_move@PAPAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@YAPAPAUOdbcError@@QAPAU1@0PAPAU1@AAV?$allocator@PAUOdbcError@@@0@@Z 00660c30 f i shared:OdbcConnection.obj + 0002:0011cce0 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@ABV10@@Z 00660ce0 f i shared:OdbcConnection.obj + 0002:0011cd70 ??$addressof@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 00660d70 f i shared:OdbcConnection.obj + 0002:0011ce00 ??$addressof@PAVOdbcCommand@@@std@@YAPAPAVOdbcCommand@@AAPAV1@@Z 00660e00 f i shared:OdbcConnection.obj + 0002:0011ce90 ??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@AAV10@@Z 00660e90 f i shared:OdbcConnection.obj + 0002:0011cf20 ??$construct@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@AAPAU31@@Z 00660f20 f i shared:OdbcConnection.obj + 0002:0011cfa0 ??$construct@PAUOdbcError@@ABQAU1@@?$_Default_allocator_traits@V?$allocator@PAUOdbcError@@@std@@@std@@SAXAAV?$allocator@PAUOdbcError@@@1@QAPAUOdbcError@@ABQAU3@@Z 00660fa0 f i shared:OdbcConnection.obj + 0002:0011d020 ??$construct@PAVOdbcCommand@@ABQAV1@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@QAPAVOdbcCommand@@ABQAV3@@Z 00661020 f i shared:OdbcConnection.obj + 0002:0011d0a0 ??$destroy@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@@Z 006610a0 f i shared:OdbcConnection.obj + 0002:0011d0f0 ??$destroy@PAUOdbcError@@@?$_Default_allocator_traits@V?$allocator@PAUOdbcError@@@std@@@std@@SAXAAV?$allocator@PAUOdbcError@@@1@QAPAUOdbcError@@@Z 006610f0 f i shared:OdbcConnection.obj + 0002:0011d140 ??$destroy@PAVOdbcCommand@@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@QAPAVOdbcCommand@@@Z 00661140 f i shared:OdbcConnection.obj + 0002:0011d190 ??$distance@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@@std@@YAHV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@0@0@Z 00661190 f i shared:OdbcConnection.obj + 0002:0011d2e0 ??$emplace_back@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@ABQAUOdbcError@@@Z 006612e0 f i shared:OdbcConnection.obj + 0002:0011d3a0 ??$exchange@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@$$QA$$T@Z 006613a0 f i shared:OdbcConnection.obj + 0002:0011d410 ??$exchange@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@AAPAU12@@std@@YAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@0@Z 00661410 f i shared:OdbcConnection.obj + 0002:0011d480 ??$forward@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 00661480 f i shared:OdbcConnection.obj + 0002:0011d510 ??$forward@ABQAUOdbcError@@@std@@YAABQAUOdbcError@@ABQAU1@@Z 00661510 f i shared:OdbcConnection.obj + 0002:0011d5a0 ??$forward@ABQAVOdbcCommand@@@std@@YAABQAVOdbcCommand@@ABQAV1@@Z 006615a0 f i shared:OdbcConnection.obj + 0002:0011d630 ??$forward@ABU?$less@PAVOdbcCommand@@@std@@@std@@YAABU?$less@PAVOdbcCommand@@@0@ABU10@@Z 00661630 f i shared:OdbcConnection.obj + 0002:0011d6c0 ??$forward@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 006616c0 f i shared:OdbcConnection.obj + 0002:0011d750 ??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@0@AAV10@@Z 00661750 f i shared:OdbcConnection.obj + 0002:0011d7e0 ??$insert@$0A@$0A@@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@_N@1@ABQAVOdbcCommand@@@Z 006617e0 f i shared:OdbcConnection.obj + 0002:0011d910 ??$move@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00661910 f i shared:OdbcConnection.obj + 0002:0011d9a0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 006619a0 f i shared:OdbcConnection.obj + 0002:0011da10 ??0?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE@ABU?$less@PAVOdbcCommand@@@1@@Z 00661a10 f i shared:OdbcConnection.obj + 0002:0011daa0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE@$$QAV01@@Z 00661aa0 f i shared:OdbcConnection.obj + 0002:0011db00 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE@ABV01@@Z 00661b00 f i shared:OdbcConnection.obj + 0002:0011db60 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@1@@Z 00661b60 f i shared:OdbcConnection.obj + 0002:0011dbd0 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 00661bd0 f i shared:OdbcConnection.obj + 0002:0011dc90 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QAE@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@1@@Z 00661c90 f i shared:OdbcConnection.obj + 0002:0011dd00 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 00661d00 f i shared:OdbcConnection.obj + 0002:0011dd70 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 00661d70 f i shared:OdbcConnection.obj + 0002:0011dde0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@1@@Z 00661de0 f i shared:OdbcConnection.obj + 0002:0011de60 ??0?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAE@XZ 00661e60 f i shared:OdbcConnection.obj + 0002:0011dee0 ??0?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@std@@QAE@XZ 00661ee0 f i shared:OdbcConnection.obj + 0002:0011df70 ??0?$allocator@PAUOdbcError@@@std@@QAE@XZ 00661f70 f i shared:OdbcConnection.obj + 0002:0011e000 ??0?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@QAE@XZ 00662000 f i shared:OdbcConnection.obj + 0002:0011e090 ??0?$set@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@@std@@QAE@XZ 00662090 f i shared:OdbcConnection.obj + 0002:0011e100 ??0?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 00662100 f i shared:OdbcConnection.obj + 0002:0011e1d0 ??0Guard@@QAE@PAVrecursive_mutex@std@@@Z 006621d0 f i shared:OdbcConnection.obj + 0002:0011e240 ??0OdbcConnection@@QAE@XZ 00662240 f shared:OdbcConnection.obj + 0002:0011e3c0 ??0OdbcError@@QAE@XZ 006623c0 f i shared:OdbcConnection.obj + 0002:0011e430 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 00662430 f i shared:OdbcConnection.obj + 0002:0011e4e0 ??1?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE@XZ 006624e0 f i shared:OdbcConnection.obj + 0002:0011e610 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE@XZ 00662610 f i shared:OdbcConnection.obj + 0002:0011e660 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 00662660 f i shared:OdbcConnection.obj + 0002:0011e7b0 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 006627b0 f i shared:OdbcConnection.obj + 0002:0011e800 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 00662800 f i shared:OdbcConnection.obj + 0002:0011e850 ??1?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@_N@std@@QAE@XZ 00662850 f i shared:OdbcConnection.obj + 0002:0011e8a0 ??1?$set@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@@std@@QAE@XZ 006628a0 f i shared:OdbcConnection.obj + 0002:0011e8f0 ??1?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 006628f0 f i shared:OdbcConnection.obj + 0002:0011ea20 ??1OdbcConnection@@QAE@XZ 00662a20 f shared:OdbcConnection.obj + 0002:0011eb40 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QBE_NABV01@@Z 00662b40 f i shared:OdbcConnection.obj + 0002:0011ec50 ??8?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QBE_NABV01@@Z 00662c50 f i shared:OdbcConnection.obj + 0002:0011ece0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QBE_NABV01@@Z 00662ce0 f i shared:OdbcConnection.obj + 0002:0011ed70 ??9?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QBE_NABV01@@Z 00662d70 f i shared:OdbcConnection.obj + 0002:0011ee00 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QBEABQAVOdbcCommand@@XZ 00662e00 f i shared:OdbcConnection.obj + 0002:0011ef50 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE?AV01@H@Z 00662f50 f i shared:OdbcConnection.obj + 0002:0011f0a0 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAEAAV01@XZ 006630a0 f i shared:OdbcConnection.obj + 0002:0011f1f0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QAE?AV01@H@Z 006631f0 f i shared:OdbcConnection.obj + 0002:0011f2d0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QAEAAV01@XZ 006632d0 f i shared:OdbcConnection.obj + 0002:0011f3a0 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 006633a0 f i shared:OdbcConnection.obj + 0002:0011f480 ??R?$less@PAVOdbcCommand@@@std@@QBE_NABQAVOdbcCommand@@0@Z 00663480 f i shared:OdbcConnection.obj + 0002:0011f510 ??_GOdbcCommand@@QAEPAXI@Z 00663510 f i shared:OdbcConnection.obj + 0002:0011f580 ??_Grecursive_mutex@std@@QAEPAXI@Z 00663580 f i shared:OdbcConnection.obj + 0002:0011f5f0 ?AddCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 006635f0 f shared:OdbcConnection.obj + 0002:0011f720 ?Close@OdbcConnection@@AAEXXZ 00663720 f shared:OdbcConnection.obj + 0002:0011f790 ?Connect@OdbcConnection@@QAE_NAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00_N@Z 00663790 f shared:OdbcConnection.obj + 0002:0011f830 ?Connect@OdbcConnection@@QAE_NXZ 00663830 f shared:OdbcConnection.obj + 0002:0011ff20 ?CreateCommand@OdbcConnection@@QAEPAVOdbcCommand@@XZ 00663f20 f shared:OdbcConnection.obj + 0002:00120060 ?Disconnect@OdbcConnection@@QAEXXZ 00664060 f shared:OdbcConnection.obj + 0002:001202e0 ?GetError@OdbcConnection@@QAEPAUOdbcError@@XZ 006642e0 f shared:OdbcConnection.obj + 0002:00120450 ?GetSQLError@OdbcConnection@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAX@Z 00664450 f shared:OdbcConnection.obj + 0002:00120680 ?RemoveCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 00664680 f shared:OdbcConnection.obj + 0002:00120790 ?ReportSQLError@OdbcConnection@@AAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAXPBD1ZZ 00664790 f shared:OdbcConnection.obj + 0002:00120aa0 ?ResetErrors@OdbcConnection@@QAEXXZ 00664aa0 f shared:OdbcConnection.obj + 0002:00120c10 ?ResetHandles@OdbcConnection@@AAEXXZ 00664c10 f shared:OdbcConnection.obj + 0002:00120cc0 ?SetConnectionHandle@OdbcCommand@@QAEXPAX@Z 00664cc0 f i shared:OdbcConnection.obj + 0002:00120d20 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ 00664d20 f i shared:OdbcConnection.obj + 0002:00120e90 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAEXXZ 00664e90 f i shared:OdbcConnection.obj + 0002:00120f10 ?_Calculate_growth@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@ABEII@Z 00664f10 f i shared:OdbcConnection.obj + 0002:00120fc0 ?_Change_array@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXQAPAUOdbcError@@II@Z 00664fc0 f i shared:OdbcConnection.obj + 0002:001210d0 ?_Check_grow_by_1@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ 006650d0 f i shared:OdbcConnection.obj + 0002:00121150 ?_Destroy@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXPAPAUOdbcError@@0@Z 00665150 f i shared:OdbcConnection.obj + 0002:001211d0 ?_Erase_unchecked@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@0@Z 006651d0 f i shared:OdbcConnection.obj + 0002:00121310 ?_Erase_unchecked@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@AAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@@Z 00665310 f i shared:OdbcConnection.obj + 0002:00121430 ?_Extract@?$_In_place_key_extract_set@PAVOdbcCommand@@PAV1@@std@@SAABQAVOdbcCommand@@ABQAV3@@Z 00665430 f i shared:OdbcConnection.obj + 0002:001214c0 ?_Extract@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@V?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@@Z 006654c0 f i shared:OdbcConnection.obj + 0002:00121a60 ?_Get_first@?$_Compressed_pair@U?$less@PAVOdbcCommand@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAVOdbcCommand@@@2@XZ 00665a60 f i shared:OdbcConnection.obj + 0002:00121af0 ?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QAEAAV?$allocator@PAUOdbcError@@@2@XZ 00665af0 f i shared:OdbcConnection.obj + 0002:00121b80 ?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QBEABV?$allocator@PAUOdbcError@@@2@XZ 00665b80 f i shared:OdbcConnection.obj + 0002:00121c10 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 00665c10 f i shared:OdbcConnection.obj + 0002:00121ca0 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 00665ca0 f i shared:OdbcConnection.obj + 0002:00121d30 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 00665d30 f i shared:OdbcConnection.obj + 0002:00121dd0 ?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 00665dd0 f i shared:OdbcConnection.obj + 0002:00121e70 ?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 00665e70 f i shared:OdbcConnection.obj + 0002:00121f00 ?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 00665f00 f i shared:OdbcConnection.obj + 0002:00121f90 ?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEAAV?$allocator@PAUOdbcError@@@2@XZ 00665f90 f i shared:OdbcConnection.obj + 0002:00122020 ?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@ABEABV?$allocator@PAUOdbcError@@@2@XZ 00666020 f i shared:OdbcConnection.obj + 0002:001220b0 ?_Getcomp@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABU?$less@PAVOdbcCommand@@@2@XZ 006660b0 f i shared:OdbcConnection.obj + 0002:00122140 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@QAU32@@Z 00666140 f i shared:OdbcConnection.obj + 0002:00122440 ?_Kfn@?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@SAABQAVOdbcCommand@@ABQAV3@@Z 00666440 f i shared:OdbcConnection.obj + 0002:00122490 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@@Z 00666490 f i shared:OdbcConnection.obj + 0002:001225a0 ?_Max@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@SAPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@PAU32@@Z 006665a0 f i shared:OdbcConnection.obj + 0002:00122610 ?_Min@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@SAPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@PAU32@@Z 00666610 f i shared:OdbcConnection.obj + 0002:00122680 ?_Orphan_ptr@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXQAU?$_Tree_node@PAVOdbcCommand@@PAX@2@@Z 00666680 f i shared:OdbcConnection.obj + 0002:001227b0 ?_Orphan_range@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@ABEXPAPAUOdbcError@@0@Z 006667b0 f i shared:OdbcConnection.obj + 0002:001228e0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@XZ 006668e0 f i shared:OdbcConnection.obj + 0002:00122990 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@@Z 00666990 f i shared:OdbcConnection.obj + 0002:00122aa0 ?_Tidy@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXXZ 00666aa0 f i shared:OdbcConnection.obj + 0002:00122bd0 ?_Umove@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEPAPAUOdbcError@@PAPAU3@00@Z 00666bd0 f i shared:OdbcConnection.obj + 0002:00122c50 ?_Umove_if_noexcept1@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXPAPAUOdbcError@@00U?$integral_constant@_N$00@2@@Z 00666c50 f i shared:OdbcConnection.obj + 0002:00122cd0 ?_Umove_if_noexcept@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXPAPAUOdbcError@@00@Z 00666cd0 f i shared:OdbcConnection.obj + 0002:00122d50 ?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@XZ 00666d50 f i shared:OdbcConnection.obj + 0002:00122e00 ?_Xlength@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@CAXXZ 00666e00 f i shared:OdbcConnection.obj + 0002:00122e60 ?__autoclassinit2@?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAEXI@Z 00666e60 f i shared:OdbcConnection.obj + 0002:00122ec0 ?__autoclassinit2@?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@std@@QAEXI@Z 00666ec0 f i shared:OdbcConnection.obj + 0002:00122f20 ?__autoclassinit2@OdbcCommand@@QAEXI@Z 00666f20 f i shared:OdbcConnection.obj + 0002:00122f80 ?allocate@?$allocator@PAUOdbcError@@@std@@QAEPAPAUOdbcError@@I@Z 00666f80 f i shared:OdbcConnection.obj + 0002:00122ff0 ?allocate@?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@I@Z 00666ff0 f i shared:OdbcConnection.obj + 0002:00123060 ?back@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEAAPAUOdbcError@@XZ 00667060 f i shared:OdbcConnection.obj + 0002:00123140 ?begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 00667140 f i shared:OdbcConnection.obj + 0002:00123200 ?capacity@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 00667200 f i shared:OdbcConnection.obj + 0002:001232a0 ?clear@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAEXXZ 006672a0 f i shared:OdbcConnection.obj + 0002:001233a0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@QAU?$_Tree_node@PAVOdbcCommand@@PAX@2@I@Z 006673a0 f i shared:OdbcConnection.obj + 0002:00123400 ?deallocate@?$allocator@PAUOdbcError@@@std@@QAEXQAPAUOdbcError@@I@Z 00667400 f i shared:OdbcConnection.obj + 0002:00123470 ?deallocate@?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@QAEXQAU?$_Tree_node@PAVOdbcCommand@@PAX@2@I@Z 00667470 f i shared:OdbcConnection.obj + 0002:001234e0 ?empty@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBE_NXZ 006674e0 f i shared:OdbcConnection.obj + 0002:001235b0 ?end@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 006675b0 f i shared:OdbcConnection.obj + 0002:00123670 ?erase@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAEIABQAVOdbcCommand@@@Z 00667670 f i shared:OdbcConnection.obj + 0002:001237d0 ?isConnected@OdbcConnection@@QAE_NXZ 006677d0 f shared:OdbcConnection.obj + 0002:001238d0 ?isError@OdbcConnection@@QAE_NXZ 006678d0 f shared:OdbcConnection.obj + 0002:001239e0 ?max_size@?$_Default_allocator_traits@V?$allocator@PAUOdbcError@@@std@@@std@@SAIABV?$allocator@PAUOdbcError@@@2@@Z 006679e0 f i shared:OdbcConnection.obj + 0002:00123a70 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@@Z 00667a70 f i shared:OdbcConnection.obj + 0002:00123b00 ?max_size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 00667b00 f i shared:OdbcConnection.obj + 0002:00123ba0 ?max_size@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 00667ba0 f i shared:OdbcConnection.obj + 0002:00123c70 ?pop_back@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEXXZ 00667c70 f i shared:OdbcConnection.obj + 0002:00123da0 ?push_back@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEXABQAUOdbcError@@@Z 00667da0 f i shared:OdbcConnection.obj + 0002:00123e10 ?size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 00667e10 f i shared:OdbcConnection.obj + 0002:00123eb0 ??0OdbcRecordset@@QAE@PAVOdbcConnection@@@Z 00667eb0 f shared:OdbcRecordset.obj + 0002:00123f40 ??1OdbcRecordset@@UAE@XZ 00667f40 f shared:OdbcRecordset.obj + 0002:00123fe0 ??_GOdbcRecordset@@UAEPAXI@Z 00667fe0 f i shared:OdbcRecordset.obj + 0002:00123fe0 ??_EOdbcRecordset@@UAEPAXI@Z 00667fe0 f i shared:OdbcRecordset.obj + 0002:00124050 ?GetColumns@OdbcRecordset@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ 00668050 f i shared:OdbcRecordset.obj + 0002:001240e0 ?GetError@OdbcCommand@@QAEPADXZ 006680e0 f i shared:OdbcRecordset.obj + 0002:00124140 ?Read@OdbcRecordset@@QAEPAD_N@Z 00668140 f shared:OdbcRecordset.obj + 0002:001245f0 ?hasData@OdbcCommand@@QAE_NXZ 006685f0 f i shared:OdbcRecordset.obj + 0002:00124690 __vsprintf_l 00668690 f i shared:OdbcRecordset.obj + 0002:00124700 _sprintf 00668700 f i shared:OdbcRecordset.obj + 0002:00124780 ??$?0$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$Z$$V@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@Z 00668780 f i shared:Ini.obj + 0002:00124800 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00668800 f i shared:Ini.obj + 0002:00124870 ??$?0$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00668870 f i shared:Ini.obj + 0002:001248e0 ??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 006688e0 f i shared:Ini.obj + 0002:001249a0 ??$?0AAPBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@QAE@AAPBD$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z 006689a0 f i shared:Ini.obj + 0002:00124a30 ??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z 00668a30 f i shared:Ini.obj + 0002:00124b10 ??$?0ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 00668b10 f i shared:Ini.obj + 0002:00124bd0 ??$?0ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00668bd0 f i shared:Ini.obj + 0002:00124c60 ??$?0ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@U_Zero_then_variadic_args_t@1@@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAU_Zero_then_variadic_args_t@1@@Z 00668c60 f i shared:Ini.obj + 0002:00124cf0 ??$?0ABUpiecewise_construct_t@std@@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 00668cf0 f i shared:Ini.obj + 0002:00124ea0 ??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 00668ea0 f i shared:Ini.obj + 0002:00125050 ??$?0ABV?$allocator@D@std@@$$V@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@D@1@@Z 00669050 f i shared:Ini.obj + 0002:001250c0 ??$?0ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$Z$$V@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAE@Upiecewise_construct_t@1@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@Z 006690c0 f i shared:Ini.obj + 0002:00125140 ??$?0ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$0A@@?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00669140 f i shared:Ini.obj + 0002:001251f0 ??$?0ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tuple_val@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 006691f0 f i shared:Ini.obj + 0002:00125260 ??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 00669260 f i shared:Ini.obj + 0002:00125320 ??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 00669320 f i shared:Ini.obj + 0002:001253e0 ??$?0PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 006693e0 f i shared:Ini.obj + 0002:001254c0 ??$?0U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@U_One_then_variadic_args_t@1@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAU21@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 006694c0 f i shared:Ini.obj + 0002:00125560 ??$?0U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 00669560 f i shared:Ini.obj + 0002:001256f0 ??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 006696f0 f i shared:Ini.obj + 0002:00125880 ??$?0U_Exact_args_t@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$V$0A@@?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@U_Exact_args_t@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00669880 f i shared:Ini.obj + 0002:00125910 ??$?0U_Exact_args_t@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$V$0A@@?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@U_Exact_args_t@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00669910 f i shared:Ini.obj + 0002:001259a0 ??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@1@AB_N@Z 006699a0 f i shared:Ini.obj + 0002:00125a60 ??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@$$V@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00669a60 f i shared:Ini.obj + 0002:00125ad0 ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$V$0A@@?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00669ad0 f i shared:Ini.obj + 0002:00125b90 ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tuple_val@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00669b90 f i shared:Ini.obj + 0002:00125c00 ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 00669c00 f i shared:Ini.obj + 0002:00125ce0 ??$?0V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$tuple@$$V@1@$0A@$$Z$S@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAE@AAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@AAV?$tuple@$$V@1@U?$integer_sequence@I$0A@@1@U?$integer_sequence@I$S@1@@Z 00669ce0 f i shared:Ini.obj + 0002:00125d70 ??$?0V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$tuple@$$V@1@$0A@$$Z$S@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@QAE@AAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@AAV?$tuple@$$V@1@U?$integer_sequence@I$0A@@1@U?$integer_sequence@I$S@1@@Z 00669d70 f i shared:Ini.obj + 0002:00125e00 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00669e00 f i shared:Ini.obj + 0002:00125f40 ??$_Buyheadnode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 00669f40 f i shared:Ini.obj + 0002:00126080 ??$_Emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0066a080 f i shared:Ini.obj + 0002:001262c0 ??$_Emplace@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0066a2c0 f i shared:Ini.obj + 0002:001264b0 ??$_Find@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066a4b0 f i shared:Ini.obj + 0002:001265a0 ??$_Find@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@ABEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066a5a0 f i shared:Ini.obj + 0002:00126690 ??$_Find_lower_bound@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066a690 f i shared:Ini.obj + 0002:00126810 ??$_Find_lower_bound@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBE?AU?$_Tree_find_result@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066a810 f i shared:Ini.obj + 0002:00126990 ??$_Get_size_of_n@$0DI@@std@@YAII@Z 0066a990 f i shared:Ini.obj + 0002:00126a40 ??$_Get_size_of_n@$0EI@@std@@YAII@Z 0066aa40 f i shared:Ini.obj + 0002:00126af0 ??$_Kfn@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@SAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@ABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@@Z 0066aaf0 f i shared:Ini.obj + 0002:00126b40 ??$_Kfn@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@SAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@ABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0066ab40 f i shared:Ini.obj + 0002:00126b90 ??$_Lower_bound_duplicate@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066ab90 f i shared:Ini.obj + 0002:00126c50 ??$_Lower_bound_duplicate@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBE_NQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066ac50 f i shared:Ini.obj + 0002:00126d10 ??$_Swap_adl@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 0066ad10 f i shared:Ini.obj + 0002:00126db0 ??$_Swap_adl@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 0066adb0 f i shared:Ini.obj + 0002:00126e50 ??$_Traits_find_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 0066ae50 f i shared:Ini.obj + 0002:00126f20 ??$_Traits_rfind_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 0066af20 f i shared:Ini.obj + 0002:00127020 ??$_Try_emplace@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$V@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@AAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066b020 f i shared:Ini.obj + 0002:00127210 ??$_Try_emplace@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$V@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@AAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0066b210 f i shared:Ini.obj + 0002:00127400 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@ABV10@@Z 0066b400 f i shared:Ini.obj + 0002:00127490 ??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@ABV10@@Z 0066b490 f i shared:Ini.obj + 0002:00127520 ??$construct@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@AAPAU31@@Z 0066b520 f i shared:Ini.obj + 0002:001275a0 ??$construct@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@AAPAU12@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@AAPAU31@@Z 0066b5a0 f i shared:Ini.obj + 0002:00127620 ??$construct@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@ABUpiecewise_construct_t@2@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$tuple@$$V@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0066b620 f i shared:Ini.obj + 0002:001276f0 ??$construct@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@ABUpiecewise_construct_t@2@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$tuple@$$V@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0066b6f0 f i shared:Ini.obj + 0002:001277c0 ??$construct@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0066b7c0 f i shared:Ini.obj + 0002:00127850 ??$construct@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0066b850 f i shared:Ini.obj + 0002:001278e0 ??$emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0066b8e0 f i shared:Ini.obj + 0002:00127a20 ??$emplace@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0066ba20 f i shared:Ini.obj + 0002:00127b60 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@$$QA$$T@Z 0066bb60 f i shared:Ini.obj + 0002:00127bd0 ??$exchange@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@$$T@std@@YAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@$$QA$$T@Z 0066bbd0 f i shared:Ini.obj + 0002:00127c40 ??$forward@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 0066bc40 f i shared:Ini.obj + 0002:00127cd0 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 0066bcd0 f i shared:Ini.obj + 0002:00127d60 ??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 0066bd60 f i shared:Ini.obj + 0002:00127df0 ??$forward@AAPBD@std@@YAAAPBDAAPBD@Z 0066bdf0 f i shared:Ini.obj + 0002:00127e80 ??$forward@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@ABQAU10@@Z 0066be80 f i shared:Ini.obj + 0002:00127f10 ??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z 0066bf10 f i shared:Ini.obj + 0002:00127fa0 ??$forward@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 0066bfa0 f i shared:Ini.obj + 0002:00128030 ??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 0066c030 f i shared:Ini.obj + 0002:001280c0 ??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 0066c0c0 f i shared:Ini.obj + 0002:00128150 ??$forward@PBD@std@@YA$$QAPBDAAPBD@Z 0066c150 f i shared:Ini.obj + 0002:001281e0 ??$forward@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 0066c1e0 f i shared:Ini.obj + 0002:00128270 ??$forward@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@std@@YA$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@0@AAU10@@Z 0066c270 f i shared:Ini.obj + 0002:00128300 ??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 0066c300 f i shared:Ini.obj + 0002:00128390 ??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@0@AAV10@@Z 0066c390 f i shared:Ini.obj + 0002:00128420 ??$forward@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 0066c420 f i shared:Ini.obj + 0002:001284b0 ??$forward@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 0066c4b0 f i shared:Ini.obj + 0002:00128540 ??$forward@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0066c540 f i shared:Ini.obj + 0002:001285d0 ??$forward@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0066c5d0 f i shared:Ini.obj + 0002:00128660 ??$forward_as_tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 0066c660 f i shared:Ini.obj + 0002:00128700 ??$forward_as_tuple@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 0066c700 f i shared:Ini.obj + 0002:001287a0 ??$get@$0A@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 0066c7a0 f i shared:Ini.obj + 0002:00128840 ??$get@$0A@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 0066c840 f i shared:Ini.obj + 0002:001288e0 ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z 0066c8e0 f i shared:Ini.obj + 0002:00128c40 ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 0066cc40 f i shared:Ini.obj + 0002:00128cd0 ??$insert@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@X@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0066ccd0 f i shared:Ini.obj + 0002:00128d70 ??$insert@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@X@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@@std@@QAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0066cd70 f i shared:Ini.obj + 0002:00128e10 ??$make_pair@AAPBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA?AU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@0@AAPBD$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@@Z 0066ce10 f i shared:Ini.obj + 0002:00128eb0 ??$make_pair@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@YA?AU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@@Z 0066ceb0 f i shared:Ini.obj + 0002:00128f50 ??$move@AAI@std@@YA$$QAIAAI@Z 0066cf50 f i shared:Ini.obj + 0002:00128fe0 ??$move@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 0066cfe0 f i shared:Ini.obj + 0002:00129070 ??$move@AAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 0066d070 f i shared:Ini.obj + 0002:00129100 ??$move@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 0066d100 f i shared:Ini.obj + 0002:00129190 ??$move@AAV?$basic_istream@DU?$char_traits@D@std@@@std@@@std@@YA$$QAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@@Z 0066d190 f i shared:Ini.obj + 0002:00129220 ??$move@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 0066d220 f i shared:Ini.obj + 0002:001292b0 ??$move@AAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0066d2b0 f i shared:Ini.obj + 0002:00129340 ??$move@AAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0066d340 f i shared:Ini.obj + 0002:001293d0 ??$swap@IX@std@@YAXAAI0@Z 0066d3d0 f i shared:Ini.obj + 0002:001294e0 ??$swap@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@X@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 0066d4e0 f i shared:Ini.obj + 0002:001295f0 ??$swap@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@X@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 0066d5f0 f i shared:Ini.obj + 0002:001296f0 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 0066d6f0 f i shared:Ini.obj + 0002:00129760 ??0?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 0066d760 f i shared:Ini.obj + 0002:001297d0 ??0?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE@$$QAV01@@Z 0066d7d0 f i shared:Ini.obj + 0002:00129890 ??0?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@@Z 0066d890 f i shared:Ini.obj + 0002:00129920 ??0?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@@Z 0066d920 f i shared:Ini.obj + 0002:001299b0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0066d9b0 f i shared:Ini.obj + 0002:00129a10 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0066da10 f i shared:Ini.obj + 0002:00129a70 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@1@@Z 0066da70 f i shared:Ini.obj + 0002:00129ae0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0066dae0 f i shared:Ini.obj + 0002:00129b40 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0066db40 f i shared:Ini.obj + 0002:00129ba0 ??0?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@1@@Z 0066dba0 f i shared:Ini.obj + 0002:00129c10 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0066dc10 f i shared:Ini.obj + 0002:00129c70 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0066dc70 f i shared:Ini.obj + 0002:00129cd0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@1@@Z 0066dcd0 f i shared:Ini.obj + 0002:00129d40 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@$$QAV01@@Z 0066dd40 f i shared:Ini.obj + 0002:00129da0 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@ABV01@@Z 0066dda0 f i shared:Ini.obj + 0002:00129e00 ??0?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@1@@Z 0066de00 f i shared:Ini.obj + 0002:00129e70 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 0066de70 f i shared:Ini.obj + 0002:00129f30 ??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 0066df30 f i shared:Ini.obj + 0002:00129ff0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0066dff0 f i shared:Ini.obj + 0002:0012a060 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0066e060 f i shared:Ini.obj + 0002:0012a0d0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@1@@Z 0066e0d0 f i shared:Ini.obj + 0002:0012a150 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@$$QAV01@@Z 0066e150 f i shared:Ini.obj + 0002:0012a1c0 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@ABV01@@Z 0066e1c0 f i shared:Ini.obj + 0002:0012a230 ??0?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@PBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@1@@Z 0066e230 f i shared:Ini.obj + 0002:0012a2b0 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAE@XZ 0066e2b0 f i shared:Ini.obj + 0002:0012a330 ??0?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAE@XZ 0066e330 f i shared:Ini.obj + 0002:0012a3b0 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@QAE@XZ 0066e3b0 f i shared:Ini.obj + 0002:0012a440 ??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@QAE@XZ 0066e440 f i shared:Ini.obj + 0002:0012a4d0 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z 0066e4d0 f i shared:Ini.obj + 0002:0012a660 ??0?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@QAE@$$QAV01@@Z 0066e660 f i shared:Ini.obj + 0002:0012a6e0 ??0?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@QAE@XZ 0066e6e0 f i shared:Ini.obj + 0002:0012a750 ??0?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@@std@@QAE@XZ 0066e750 f i shared:Ini.obj + 0002:0012a7c0 ??0?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 0066e7c0 f i shared:Ini.obj + 0002:0012a870 ??0?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 0066e870 f i shared:Ini.obj + 0002:0012a920 ??0CIni@@QAE@PBD@Z 0066e920 f shared:Ini.obj + 0002:0012aa00 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066ea00 f i shared:Ini.obj + 0002:0012aab0 ??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066eab0 f i shared:Ini.obj + 0002:0012ab60 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@XZ 0066eb60 f i shared:Ini.obj + 0002:0012abb0 ??1?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@XZ 0066ebb0 f i shared:Ini.obj + 0002:0012ac00 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE@XZ 0066ec00 f i shared:Ini.obj + 0002:0012ac50 ??1?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE@XZ 0066ec50 f i shared:Ini.obj + 0002:0012aca0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066eca0 f i shared:Ini.obj + 0002:0012adf0 ??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066edf0 f i shared:Ini.obj + 0002:0012af40 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066ef40 f i shared:Ini.obj + 0002:0012af90 ??1?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 0066ef90 f i shared:Ini.obj + 0002:0012afe0 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0066efe0 f i shared:Ini.obj + 0002:0012b030 ??1?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAE@XZ 0066f030 f i shared:Ini.obj + 0002:0012b080 ??1?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@QAE@XZ 0066f080 f i shared:Ini.obj + 0002:0012b0e0 ??1?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@std@@QAE@XZ 0066f0e0 f i shared:Ini.obj + 0002:0012b130 ??1?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@XZ 0066f130 f i shared:Ini.obj + 0002:0012b190 ??4?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAEAAV01@$$QAV01@@Z 0066f190 f i shared:Ini.obj + 0002:0012b1f0 ??4?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAEAAV01@$$QAV01@@Z 0066f1f0 f i shared:Ini.obj + 0002:0012b250 ??4?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@$$QAV01@@Z 0066f250 f i shared:Ini.obj + 0002:0012b2c0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0066f2c0 f i shared:Ini.obj + 0002:0012b3d0 ??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0066f3d0 f i shared:Ini.obj + 0002:0012b4e0 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0066f4e0 f i shared:Ini.obj + 0002:0012b570 ??9?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QBE_NABV01@@Z 0066f570 f i shared:Ini.obj + 0002:0012b600 ??A?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@QAEAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV21@@Z 0066f600 f i shared:Ini.obj + 0002:0012b680 ??A?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@QAEAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@ABV21@@Z 0066f680 f i shared:Ini.obj + 0002:0012b700 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@XZ 0066f700 f i shared:Ini.obj + 0002:0012b770 ??C?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QBEPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@XZ 0066f770 f i shared:Ini.obj + 0002:0012b7e0 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@XZ 0066f7e0 f i shared:Ini.obj + 0002:0012b930 ??D?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QBEABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@XZ 0066f930 f i shared:Ini.obj + 0002:0012ba80 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@1@XZ 0066fa80 f i shared:Ini.obj + 0002:0012bae0 ??D?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QBEAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@XZ 0066fae0 f i shared:Ini.obj + 0002:0012bb40 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0066fb40 f i shared:Ini.obj + 0002:0012bc90 ??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAEAAV01@XZ 0066fc90 f i shared:Ini.obj + 0002:0012bde0 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0066fde0 f i shared:Ini.obj + 0002:0012bf30 ??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0066ff30 f i shared:Ini.obj + 0002:0012c080 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 00670080 f i shared:Ini.obj + 0002:0012c160 ??E?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@U_Iterator_base12@2@@std@@QAEAAV01@XZ 00670160 f i shared:Ini.obj + 0002:0012c240 ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z 00670240 f i shared:Ini.obj + 0002:0012c2b0 ?GetBool@CIni@@QAE_NPBD0_N@Z 006702b0 f shared:Ini.obj + 0002:0012c350 ?GetInt@CIni@@QAEHPBD0H@Z 00670350 f shared:Ini.obj + 0002:0012c680 ?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 00670680 f shared:Ini.obj + 0002:0012c990 ?Load@CIni@@QAE_NPBD@Z 00670990 f shared:Ini.obj + 0002:0012d0d0 ?Save@CIni@@QAEXPBD@Z 006710d0 f shared:Ini.obj + 0002:0012d450 ?SetInt@CIni@@QAEHPBD0H@Z 00671450 f shared:Ini.obj + 0002:0012d540 ?SetString@CIni@@QAEHPBD00@Z 00671540 f shared:Ini.obj + 0002:0012d890 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ 00671890 f i shared:Ini.obj + 0002:0012da00 ?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ 00671a00 f i shared:Ini.obj + 0002:0012db70 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAEXXZ 00671b70 f i shared:Ini.obj + 0002:0012dbf0 ?_Allocate@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAEXXZ 00671bf0 f i shared:Ini.obj + 0002:0012dc70 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ 00671c70 f i shared:Ini.obj + 0002:0012dcf0 ?_Check_grow_by_1@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ 00671cf0 f i shared:Ini.obj + 0002:0012dd70 ?_Extract@?$_In_place_key_extract_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@@std@@SAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@@Z 00671d70 f i shared:Ini.obj + 0002:0012ddc0 ?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00671dc0 f i shared:Ini.obj + 0002:0012de50 ?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00671e50 f i shared:Ini.obj + 0002:0012dee0 ?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00671ee0 f i shared:Ini.obj + 0002:0012df70 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00671f70 f i shared:Ini.obj + 0002:0012e000 ?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00672000 f i shared:Ini.obj + 0002:0012e090 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 00672090 f i shared:Ini.obj + 0002:0012e130 ?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 00672130 f i shared:Ini.obj + 0002:0012e1d0 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 006721d0 f i shared:Ini.obj + 0002:0012e260 ?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00672260 f i shared:Ini.obj + 0002:0012e2f0 ?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 006722f0 f i shared:Ini.obj + 0002:0012e380 ?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00672380 f i shared:Ini.obj + 0002:0012e410 ?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00672410 f i shared:Ini.obj + 0002:0012e4a0 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@QAU32@@Z 006724a0 f i shared:Ini.obj + 0002:0012e7a0 ?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@QAU32@@Z 006727a0 f i shared:Ini.obj + 0002:0012eaa0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@@Z 00672aa0 f i shared:Ini.obj + 0002:0012ebb0 ?_Lrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@@Z 00672bb0 f i shared:Ini.obj + 0002:0012ecc0 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@PAU32@@Z 00672cc0 f i shared:Ini.obj + 0002:0012ed30 ?_Min@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@SAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@PAU32@@Z 00672d30 f i shared:Ini.obj + 0002:0012eda0 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@XZ 00672da0 f i shared:Ini.obj + 0002:0012ee50 ?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@XZ 00672e50 f i shared:Ini.obj + 0002:0012ef00 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@@Z 00672f00 f i shared:Ini.obj + 0002:0012f010 ?_Rrotate@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@@Z 00673010 f i shared:Ini.obj + 0002:0012f120 ?_Swap_val@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@AAEXAAV12@@Z 00673120 f i shared:Ini.obj + 0002:0012f200 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAEXI@Z 00673200 f i shared:Ini.obj + 0002:0012f260 ?__autoclassinit2@?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAEXI@Z 00673260 f i shared:Ini.obj + 0002:0012f2c0 ?__autoclassinit2@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXI@Z 006732c0 f i shared:Ini.obj + 0002:0012f320 ?__autoclassinit2@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEXI@Z 00673320 f i shared:Ini.obj + 0002:0012f380 ?__autoclassinit2@locale@std@@QAEXI@Z 00673380 f i shared:Ini.obj + 0002:0012f3e0 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@I@Z 006733e0 f i shared:Ini.obj + 0002:0012f450 ?allocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@I@Z 00673450 f i shared:Ini.obj + 0002:0012f4c0 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z 006734c0 f i shared:Ini.obj + 0002:0012f570 ?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 00673570 f i shared:Ini.obj + 0002:0012f630 ?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 00673630 f i shared:Ini.obj + 0002:0012f6f0 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@I@Z 006736f0 f i shared:Ini.obj + 0002:0012f760 ?deallocate@?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@QAEXQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@I@Z 00673760 f i shared:Ini.obj + 0002:0012f7d0 ?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 006737d0 f i shared:Ini.obj + 0002:0012f890 ?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 00673890 f i shared:Ini.obj + 0002:0012f950 ?eof@ios_base@std@@QBE_NXZ 00673950 f i shared:Ini.obj + 0002:0012f9d0 ?eq@?$_Narrow_char_traits@DH@std@@SA_NABD0@Z 006739d0 f i shared:Ini.obj + 0002:0012fa90 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z 00673a90 f i shared:Ini.obj + 0002:0012fb20 ?find@?$_Narrow_char_traits@DH@std@@SAPBDQBDIABD@Z 00673b20 f i shared:Ini.obj + 0002:0012fbc0 ?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00673bc0 f i shared:Ini.obj + 0002:0012fc60 ?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00673c60 f i shared:Ini.obj + 0002:0012fd00 ?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 00673d00 f i shared:Ini.obj + 0002:0012fdc0 ?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 00673dc0 f i shared:Ini.obj + 0002:0012fe80 ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 00673e80 f i shared:Ini.obj + 0002:0012ff40 ?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ 00673f40 f i shared:Ini.obj + 0002:0012ffe0 ?key_comp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QBE?AU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 00673fe0 f i shared:Ini.obj + 0002:00130050 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@@Z 00674050 f i shared:Ini.obj + 0002:001300e0 ?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@@Z 006740e0 f i shared:Ini.obj + 0002:00130170 ?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QBEIXZ 00674170 f i shared:Ini.obj + 0002:00130210 ?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QBEIXZ 00674210 f i shared:Ini.obj + 0002:001302b0 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@2@AAU32@@Z 006742b0 f i shared:Ini.obj + 0002:00130340 ?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@AAU32@@Z 00674340 f i shared:Ini.obj + 0002:001303d0 ?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z 006743d0 f i shared:Ini.obj + 0002:00130480 __snprintf 00674480 f i shared:Ini.obj + 0002:00130500 _fprintf 00674500 f i shared:Ini.obj + 0002:00130580 ??0CircularBuffer@@QAE@XZ 00674580 f shared:CircularBuffer.obj + 0002:00130620 ??1CircularBuffer@@QAE@XZ 00674620 f shared:CircularBuffer.obj + 0002:001306c0 ?Allocate@CircularBuffer@@QAEXI@Z 006746c0 f shared:CircularBuffer.obj + 0002:00130760 ?AllocateB@CircularBuffer@@QAEXXZ 00674760 f shared:CircularBuffer.obj + 0002:001307c0 ?GetAFreeSpace@CircularBuffer@@AAEIXZ 006747c0 f i shared:CircularBuffer.obj + 0002:00130830 ?GetBFreeSpace@CircularBuffer@@AAEIXZ 00674830 f i shared:CircularBuffer.obj + 0002:001308b0 ?GetBuffer@CircularBuffer@@QAEPAXXZ 006748b0 f shared:CircularBuffer.obj + 0002:00130930 ?GetBufferStart@CircularBuffer@@QAEPAXXZ 00674930 f shared:CircularBuffer.obj + 0002:001309a0 ?GetContiguousBytes@CircularBuffer@@QAEIXZ 006749a0 f shared:CircularBuffer.obj + 0002:00130a10 ?GetSize@CircularBuffer@@QAEIXZ 00674a10 f shared:CircularBuffer.obj + 0002:00130a70 ?GetSpace@CircularBuffer@@QAEIXZ 00674a70 f shared:CircularBuffer.obj + 0002:00130b20 ?GetSpaceBeforeA@CircularBuffer@@AAEIXZ 00674b20 f i shared:CircularBuffer.obj + 0002:00130b80 ?IncrementWritten@CircularBuffer@@QAEXI@Z 00674b80 f shared:CircularBuffer.obj + 0002:00130c10 ?Read@CircularBuffer@@QAE_NPAXI@Z 00674c10 f shared:CircularBuffer.obj + 0002:00130e80 ?Remove@CircularBuffer@@QAEXI@Z 00674e80 f shared:CircularBuffer.obj + 0002:00131080 ?Write@CircularBuffer@@QAE_NPBXI@Z 00675080 f shared:CircularBuffer.obj + 0002:00131200 ?AcquireSendLock@Socket@@QAE_NXZ 00675200 f i shared:SocketWin32.obj + 0002:00131290 ?AssignToCompletionPort@Socket@@AAEXXZ 00675290 f shared:SocketWin32.obj + 0002:00131310 ?BurstPush@Socket@@QAEXXZ 00675310 f shared:SocketWin32.obj + 0002:00131380 ?Mark@OverlappedStruct@@QAEXXZ 00675380 f i shared:SocketWin32.obj + 0002:00131460 ?Reset@OverlappedStruct@@QAEXW4SocketIOEvent@@@Z 00675460 f i shared:SocketWin32.obj + 0002:001314e0 ?SetupReadEvent@Socket@@QAEXXZ 006754e0 f shared:SocketWin32.obj + 0002:00131770 ?WriteCallback@Socket@@QAEXXZ 00675770 f shared:SocketWin32.obj + 0002:001319e0 ?_Check_memory_order@std@@YAXW4memory_order@1@@Z 006759e0 f i shared:SocketWin32.obj + 0002:00131ad0 ?compare_exchange@?$Atomic@_N@@QAE_NAA_N_N@Z 00675ad0 f i shared:SocketWin32.obj + 0002:00131b40 ?compare_exchange_strong@?$_Atomic_storage@_N$00@std@@QAE_NAA_N_NW4memory_order@2@@Z 00675b40 f i shared:SocketWin32.obj + 0002:00131c50 _crc32 00675c50 f shared:crc32.obj + 0002:00131d00 ?GenerateKey@CJvCryption@@QAE_KXZ 00675d00 f shared:JvCryption.obj + 0002:00131d90 ?Init@CJvCryption@@QAEXXZ 00675d90 f shared:JvCryption.obj + 0002:00131e10 ?JvDecryptionFast@CJvCryption@@QAEXHPAE0@Z 00675e10 f i shared:JvCryption.obj + 0002:00131e80 ?JvDecryptionWithCRC32@CJvCryption@@QAEHHPAE0@Z 00675e80 f shared:JvCryption.obj + 0002:00131f30 ?JvEncryptionFast@CJvCryption@@QAEXHPAE0@Z 00675f30 f shared:JvCryption.obj + 0002:00132030 _lzf_compress 00676030 f shared:lzf.obj + 0002:00132e40 _lzf_decompress 00676e40 f shared:lzf.obj + 0002:00133080 ??0OdbcParameter@@QAE@FFPAXJ@Z 00677080 f shared:OdbcParameter.obj + 0002:00133289 _Sleep@4 00677289 f kernel32:KERNEL32.dll + 0002:0013328f _SetConsoleCtrlHandler@8 0067728f f kernel32:KERNEL32.dll + 0002:00133295 _SetConsoleTitleA@4 00677295 f kernel32:KERNEL32.dll + 0002:0013329b _GetTickCount@0 0067729b f kernel32:KERNEL32.dll + 0002:001332a1 _FreeLibrary@4 006772a1 f kernel32:KERNEL32.dll + 0002:001332a7 _GetProcAddress@8 006772a7 f kernel32:KERNEL32.dll + 0002:001332ad _LoadLibraryA@4 006772ad f kernel32:KERNEL32.dll + 0002:001332b3 _CreateIoCompletionPort@16 006772b3 f kernel32:KERNEL32.dll + 0002:001332b9 _GetQueuedCompletionStatus@20 006772b9 f kernel32:KERNEL32.dll + 0002:001332bf _PostQueuedCompletionStatus@16 006772bf f kernel32:KERNEL32.dll + 0002:001332c5 _GetSystemInfo@4 006772c5 f kernel32:KERNEL32.dll + 0002:001332cb _OutputDebugStringA@4 006772cb f kernel32:KERNEL32.dll + 0002:001332d1 _SQLAllocHandle@12 006772d1 f odbc32:ODBC32.dll + 0002:001332d7 _SQLCloseCursor@4 006772d7 f odbc32:ODBC32.dll + 0002:001332dd _SQLExecDirect@12 006772dd f odbc32:ODBC32.dll + 0002:001332e3 _SQLExecute@4 006772e3 f odbc32:ODBC32.dll + 0002:001332e9 _SQLFetch@4 006772e9 f odbc32:ODBC32.dll + 0002:001332ef _SQLFreeHandle@8 006772ef f odbc32:ODBC32.dll + 0002:001332f5 _SQLGetData@24 006772f5 f odbc32:ODBC32.dll + 0002:001332fb _SQLPrepare@12 006772fb f odbc32:ODBC32.dll + 0002:00133301 _SQLMoreResults@4 00677301 f odbc32:ODBC32.dll + 0002:00133307 _SQLBindParameter@40 00677307 f odbc32:ODBC32.dll + 0002:0013330d _SQLDisconnect@4 0067730d f odbc32:ODBC32.dll + 0002:00133313 _SQLGetDiagRec@32 00677313 f odbc32:ODBC32.dll + 0002:00133319 _SQLSetConnectAttr@16 00677319 f odbc32:ODBC32.dll + 0002:0013331f _SQLSetEnvAttr@16 0067731f f odbc32:ODBC32.dll + 0002:00133325 _SQLDriverConnect@32 00677325 f odbc32:ODBC32.dll + 0002:00133330 ??0_Init_locks@std@@QAE@XZ 00677330 f libcpmtd:xlock.obj + 0002:00133390 ??0_Lockit@std@@QAE@H@Z 00677390 f libcpmtd:xlock.obj + 0002:001333f0 ??0_Lockit@std@@QAE@XZ 006773f0 f libcpmtd:xlock.obj + 0002:00133440 ??1_Init_locks@std@@QAE@XZ 00677440 f libcpmtd:xlock.obj + 0002:001334a0 ??1_Lockit@std@@QAE@XZ 006774a0 f libcpmtd:xlock.obj + 0002:001334f0 ?_Init_locks_ctor@_Init_locks@std@@CAXPAV12@@Z 006774f0 f libcpmtd:xlock.obj + 0002:00133550 ?_Init_locks_dtor@_Init_locks@std@@CAXPAV12@@Z 00677550 f libcpmtd:xlock.obj + 0002:001335b0 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@@Z 006775b0 f libcpmtd:xlock.obj + 0002:001335e0 ?_Lockit_ctor@_Lockit@std@@CAXPAV12@H@Z 006775e0 f libcpmtd:xlock.obj + 0002:00133620 ?_Lockit_ctor@_Lockit@std@@SAXH@Z 00677620 f libcpmtd:xlock.obj + 0002:00133660 ?_Lockit_dtor@_Lockit@std@@CAXPAV12@@Z 00677660 f libcpmtd:xlock.obj + 0002:00133680 ?_Lockit_dtor@_Lockit@std@@SAXH@Z 00677680 f libcpmtd:xlock.obj + 0002:001336c0 __Lock_at_thread_exit_mutex 006776c0 f libcpmtd:xlock.obj + 0002:001336f0 __Unlock_at_thread_exit_mutex 006776f0 f libcpmtd:xlock.obj + 0002:00133720 ??0bad_alloc@std@@QAE@ABV01@@Z 00677720 f i libcpmtd:xthrow.obj + 0002:00133750 ??0bad_alloc@std@@QAE@XZ 00677750 f i libcpmtd:xthrow.obj + 0002:00133780 ??0bad_function_call@std@@QAE@ABV01@@Z 00677780 f i libcpmtd:xthrow.obj + 0002:001337b0 ??0bad_function_call@std@@QAE@XZ 006777b0 f i libcpmtd:xthrow.obj + 0002:001337e0 ??0exception@std@@QAE@XZ 006777e0 f i libcpmtd:xthrow.obj + 0002:00133810 ??0invalid_argument@std@@QAE@ABV01@@Z 00677810 f i libcpmtd:xthrow.obj + 0002:00133840 ??0invalid_argument@std@@QAE@PBD@Z 00677840 f i libcpmtd:xthrow.obj + 0002:00133870 ??0length_error@std@@QAE@ABV01@@Z 00677870 f i libcpmtd:xthrow.obj + 0002:001338a0 ??0length_error@std@@QAE@PBD@Z 006778a0 f i libcpmtd:xthrow.obj + 0002:001338d0 ??0logic_error@std@@QAE@ABV01@@Z 006778d0 f i libcpmtd:xthrow.obj + 0002:00133900 ??0logic_error@std@@QAE@PBD@Z 00677900 f i libcpmtd:xthrow.obj + 0002:00133930 ??0out_of_range@std@@QAE@ABV01@@Z 00677930 f i libcpmtd:xthrow.obj + 0002:00133960 ??0out_of_range@std@@QAE@PBD@Z 00677960 f i libcpmtd:xthrow.obj + 0002:00133990 ??0overflow_error@std@@QAE@ABV01@@Z 00677990 f i libcpmtd:xthrow.obj + 0002:001339c0 ??0overflow_error@std@@QAE@PBD@Z 006779c0 f i libcpmtd:xthrow.obj + 0002:001339f0 ??0regex_error@std@@QAE@ABV01@@Z 006779f0 f i libcpmtd:xthrow.obj + 0002:00133a30 ??0regex_error@std@@QAE@W4error_type@regex_constants@1@@Z 00677a30 f i libcpmtd:xthrow.obj + 0002:00133a80 ??0runtime_error@std@@QAE@PBD@Z 00677a80 f i libcpmtd:xthrow.obj + 0002:00133ab0 ??1bad_alloc@std@@UAE@XZ 00677ab0 f i libcpmtd:xthrow.obj + 0002:00133ad0 ??1bad_function_call@std@@UAE@XZ 00677ad0 f i libcpmtd:xthrow.obj + 0002:00133af0 ??1invalid_argument@std@@UAE@XZ 00677af0 f i libcpmtd:xthrow.obj + 0002:00133b10 ??1length_error@std@@UAE@XZ 00677b10 f i libcpmtd:xthrow.obj + 0002:00133b30 ??1logic_error@std@@UAE@XZ 00677b30 f i libcpmtd:xthrow.obj + 0002:00133b50 ??1out_of_range@std@@UAE@XZ 00677b50 f i libcpmtd:xthrow.obj + 0002:00133b70 ??1overflow_error@std@@UAE@XZ 00677b70 f i libcpmtd:xthrow.obj + 0002:00133b90 ??1regex_error@std@@UAE@XZ 00677b90 f i libcpmtd:xthrow.obj + 0002:00133bb0 ??_Gbad_alloc@std@@UAEPAXI@Z 00677bb0 f i libcpmtd:xthrow.obj + 0002:00133bb0 ??_Ebad_alloc@std@@UAEPAXI@Z 00677bb0 f i libcpmtd:xthrow.obj + 0002:00133bf0 ??_Gbad_function_call@std@@UAEPAXI@Z 00677bf0 f i libcpmtd:xthrow.obj + 0002:00133bf0 ??_Ebad_function_call@std@@UAEPAXI@Z 00677bf0 f i libcpmtd:xthrow.obj + 0002:00133c30 ??_Ginvalid_argument@std@@UAEPAXI@Z 00677c30 f i libcpmtd:xthrow.obj + 0002:00133c30 ??_Einvalid_argument@std@@UAEPAXI@Z 00677c30 f i libcpmtd:xthrow.obj + 0002:00133c70 ??_Glength_error@std@@UAEPAXI@Z 00677c70 f i libcpmtd:xthrow.obj + 0002:00133c70 ??_Elength_error@std@@UAEPAXI@Z 00677c70 f i libcpmtd:xthrow.obj + 0002:00133cb0 ??_Glogic_error@std@@UAEPAXI@Z 00677cb0 f i libcpmtd:xthrow.obj + 0002:00133cb0 ??_Elogic_error@std@@UAEPAXI@Z 00677cb0 f i libcpmtd:xthrow.obj + 0002:00133cf0 ??_Eout_of_range@std@@UAEPAXI@Z 00677cf0 f i libcpmtd:xthrow.obj + 0002:00133cf0 ??_Gout_of_range@std@@UAEPAXI@Z 00677cf0 f i libcpmtd:xthrow.obj + 0002:00133d30 ??_Goverflow_error@std@@UAEPAXI@Z 00677d30 f i libcpmtd:xthrow.obj + 0002:00133d30 ??_Eoverflow_error@std@@UAEPAXI@Z 00677d30 f i libcpmtd:xthrow.obj + 0002:00133d70 ??_Gregex_error@std@@UAEPAXI@Z 00677d70 f i libcpmtd:xthrow.obj + 0002:00133d70 ??_Eregex_error@std@@UAEPAXI@Z 00677d70 f i libcpmtd:xthrow.obj + 0002:00133db0 ?_Stringify@regex_error@std@@CAPBDW4error_type@regex_constants@2@@Z 00677db0 f i libcpmtd:xthrow.obj + 0002:00133eb0 ?_Xbad_alloc@std@@YAXXZ 00677eb0 f libcpmtd:xthrow.obj + 0002:00133ee0 ?_Xbad_function_call@std@@YAXXZ 00677ee0 f libcpmtd:xthrow.obj + 0002:00133f10 ?_Xinvalid_argument@std@@YAXPBD@Z 00677f10 f libcpmtd:xthrow.obj + 0002:00133f40 ?_Xlength_error@std@@YAXPBD@Z 00677f40 f libcpmtd:xthrow.obj + 0002:00133f70 ?_Xout_of_range@std@@YAXPBD@Z 00677f70 f libcpmtd:xthrow.obj + 0002:00133fa0 ?_Xoverflow_error@std@@YAXPBD@Z 00677fa0 f libcpmtd:xthrow.obj + 0002:00133fd0 ?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z 00677fd0 f libcpmtd:xthrow.obj + 0002:00134000 ?_Xruntime_error@std@@YAXPBD@Z 00678000 f libcpmtd:xthrow.obj + 0002:00134030 ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z 00678030 f i libcpmtd:xthrow.obj + 0002:00134040 ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z 00678040 f i libcpmtd:xthrow.obj + 0002:00134050 ?what@bad_function_call@std@@UBEPBDXZ 00678050 f i libcpmtd:xthrow.obj + 0002:00134070 ??0stl_critical_section_concrt@details@Concurrency@@QAE@XZ 00678070 f i libcpmtd:mutex.obj + 0002:001340b0 ??0stl_critical_section_interface@details@Concurrency@@QAE@XZ 006780b0 f i libcpmtd:mutex.obj + 0002:001340d0 ??0stl_critical_section_vista@details@Concurrency@@QAE@XZ 006780d0 f i libcpmtd:mutex.obj + 0002:00134120 ??0stl_critical_section_win7@details@Concurrency@@QAE@XZ 00678120 f i libcpmtd:mutex.obj + 0002:00134160 ??1GlobalCore@details@Concurrency@@QAE@XZ 00678160 f i libcpmtd:mutex.obj + 0002:00134190 ??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00678190 f i libcpmtd:mutex.obj + 0002:00134260 ??_Gcritical_section@Concurrency@@QAEPAXI@Z 00678260 f i libcpmtd:mutex.obj + 0002:001342a0 ?_get_cs@_Mtx_internal_imp_t@@QAEPAVstl_critical_section_interface@details@Concurrency@@XZ 006782a0 f i libcpmtd:mutex.obj + 0002:001342c0 ?are_vista_sync_apis_available@details@Concurrency@@YA_NXZ 006782c0 f i libcpmtd:mutex.obj + 0002:00134310 ?are_win7_sync_apis_available@details@Concurrency@@YA_NXZ 00678310 f i libcpmtd:mutex.obj + 0002:00134360 ?create_stl_critical_section@details@Concurrency@@YAXPAVstl_critical_section_interface@12@@Z 00678360 f i libcpmtd:mutex.obj + 0002:00134410 ?destroy@stl_critical_section_concrt@details@Concurrency@@UAEXXZ 00678410 f i libcpmtd:mutex.obj + 0002:00134440 ?destroy@stl_critical_section_vista@details@Concurrency@@UAEXXZ 00678440 f i libcpmtd:mutex.obj + 0002:00134460 ?destroy@stl_critical_section_win7@details@Concurrency@@UAEXXZ 00678460 f i libcpmtd:mutex.obj + 0002:00134470 ?lock@stl_critical_section_concrt@details@Concurrency@@UAEXXZ 00678470 f i libcpmtd:mutex.obj + 0002:00134490 ?lock@stl_critical_section_vista@details@Concurrency@@UAEXXZ 00678490 f i libcpmtd:mutex.obj + 0002:001344b0 ?lock@stl_critical_section_win7@details@Concurrency@@UAEXXZ 006784b0 f i libcpmtd:mutex.obj + 0002:00134880 ?try_lock@stl_critical_section_concrt@details@Concurrency@@UAE_NXZ 00678880 f i libcpmtd:mutex.obj + 0002:001348a0 ?try_lock@stl_critical_section_vista@details@Concurrency@@UAE_NXZ 006788a0 f i libcpmtd:mutex.obj + 0002:001348e0 ?try_lock@stl_critical_section_win7@details@Concurrency@@UAE_NXZ 006788e0 f i libcpmtd:mutex.obj + 0002:00134930 ?try_lock_for@stl_critical_section_concrt@details@Concurrency@@UAE_NI@Z 00678930 f i libcpmtd:mutex.obj + 0002:00134960 ?try_lock_for@stl_critical_section_vista@details@Concurrency@@UAE_NI@Z 00678960 f i libcpmtd:mutex.obj + 0002:00134980 ?try_lock_for@stl_critical_section_win7@details@Concurrency@@UAE_NI@Z 00678980 f i libcpmtd:mutex.obj + 0002:001349a0 ?unlock@stl_critical_section_concrt@details@Concurrency@@UAEXXZ 006789a0 f i libcpmtd:mutex.obj + 0002:001349c0 ?unlock@stl_critical_section_vista@details@Concurrency@@UAEXXZ 006789c0 f i libcpmtd:mutex.obj + 0002:001349e0 ?unlock@stl_critical_section_win7@details@Concurrency@@UAEXXZ 006789e0 f i libcpmtd:mutex.obj + 0002:00134a00 __Mtx_clear_owner 00678a00 f libcpmtd:mutex.obj + 0002:00134a30 __Mtx_current_owns 00678a30 f libcpmtd:mutex.obj + 0002:00134a70 __Mtx_destroy 00678a70 f libcpmtd:mutex.obj + 0002:00134aa0 __Mtx_destroy_in_situ 00678aa0 f libcpmtd:mutex.obj + 0002:00134b00 __Mtx_getconcrtcs 00678b00 f libcpmtd:mutex.obj + 0002:00134b10 __Mtx_init 00678b10 f libcpmtd:mutex.obj + 0002:00134b80 __Mtx_init_in_situ 00678b80 f libcpmtd:mutex.obj + 0002:00134bc0 __Mtx_lock 00678bc0 f libcpmtd:mutex.obj + 0002:00134be0 __Mtx_reset_owner 00678be0 f libcpmtd:mutex.obj + 0002:00134c10 __Mtx_timedlock 00678c10 f libcpmtd:mutex.obj + 0002:00134c80 __Mtx_trylock 00678c80 f libcpmtd:mutex.obj + 0002:00134d00 __Mtx_unlock 00678d00 f libcpmtd:mutex.obj + 0002:00134da0 __Thrd_abort 00678da0 f libcpmtd:mutex.obj + 0002:00134df0 ___set_stl_sync_api_mode 00678df0 f libcpmtd:mutex.obj + 0002:00134e00 ??$_Immortalize@V_Generic_error_category@std@@@std@@YAAAV_Generic_error_category@0@XZ 00678e00 f i libcpmtd:thread0.obj + 0002:00134e40 ??$_Immortalize_impl@V_Generic_error_category@std@@@std@@YGHPAX0PAPAX@Z 00678e40 f i libcpmtd:thread0.obj + 0002:00134e80 ??$_Reallocate_for@V@?1??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@QBDI@Z@PBD@Z 00678e80 f i libcpmtd:thread0.obj + 0002:00134fa0 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@QBDI@Z@PBDI@Z 00678fa0 f i libcpmtd:thread0.obj + 0002:00135120 ??0system_error@std@@QAE@HABVerror_category@1@PBD@Z 00679120 f i libcpmtd:thread0.obj + 0002:001351e0 ??R@?1??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV23@QBDI@Z@QBEXQAD0I0I@Z 006791e0 f i libcpmtd:thread0.obj + 0002:00135250 ??R@?1??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV23@QBDI@Z@QBEXQADI0@Z 00679250 f i libcpmtd:thread0.obj + 0002:001352a0 ?_Throw_C_error@std@@YAXH@Z 006792a0 f libcpmtd:thread0.obj + 0002:00135310 ?_Throw_Cpp_error@std@@YAXH@Z 00679310 f libcpmtd:thread0.obj + 0002:00135380 ?generic_category@std@@YAABVerror_category@1@XZ 00679380 f i libcpmtd:thread0.obj + 0002:001353d0 ?uncaught_exception@std@@YA_NXZ 006793d0 f libcpmtd:uncaught_exception.obj + 0002:001353e0 ??$_Immortalize@V_System_error_category@std@@@std@@YAAAV_System_error_category@0@XZ 006793e0 f i libcpmtd:xonce.obj + 0002:00135420 ??$_Immortalize_impl@V_System_error_category@std@@@std@@YGHPAX0PAPAX@Z 00679420 f i libcpmtd:xonce.obj + 0002:00135460 ??$_Reallocate_for@V@?1??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@ID@Z@D@Z 00679460 f i libcpmtd:xonce.obj + 0002:00135580 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@ID@Z@ID@Z 00679580 f i libcpmtd:xonce.obj + 0002:00135710 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00679710 f i libcpmtd:xonce.obj + 0002:00135800 ??0_System_error_category@std@@QAE@XZ 00679800 f i libcpmtd:xonce.obj + 0002:00135840 ??0system_error@std@@QAE@Verror_code@1@@Z 00679840 f i libcpmtd:xonce.obj + 0002:001358f0 ??1_System_error_category@std@@UAE@XZ 006798f0 f i libcpmtd:xonce.obj + 0002:00135910 ??R@?1??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV23@ID@Z@QBEXQADQBDIID@Z 00679910 f i libcpmtd:xonce.obj + 0002:00135980 ??R@?1??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV23@ID@Z@QBEXQADID@Z 00679980 f i libcpmtd:xonce.obj + 0002:001359d0 ??_G_System_error_category@std@@UAEPAXI@Z 006799d0 f i libcpmtd:xonce.obj + 0002:001359d0 ??_E_System_error_category@std@@UAEPAXI@Z 006799d0 f i libcpmtd:xonce.obj + 0002:00135a10 ?_Execute_once@std@@YAHAAUonce_flag@1@P6GHPAX1PAPAX@Z1@Z 00679a10 f libcpmtd:xonce.obj + 0002:00135a40 ?_XGetLastError@std@@YAXXZ 00679a40 f libcpmtd:xonce.obj + 0002:00135aa0 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z 00679aa0 f i libcpmtd:xonce.obj + 0002:00135b60 ?assign@?$_Narrow_char_traits@DH@std@@SAPADQADID@Z 00679b60 f i libcpmtd:xonce.obj + 0002:00135b80 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z 00679b80 f i libcpmtd:xonce.obj + 0002:00135c20 ?default_error_condition@_System_error_category@std@@UBE?AVerror_condition@2@H@Z 00679c20 f i libcpmtd:xonce.obj + 0002:00135cc0 ?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 00679cc0 f i libcpmtd:xonce.obj + 0002:00135de0 ?name@_System_error_category@std@@UBEPBDXZ 00679de0 f i libcpmtd:xonce.obj + 0002:00135e00 ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z 00679e00 f i libcpmtd:xonce.obj + 0002:00135e60 ?shrink_to_fit@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ 00679e60 f i libcpmtd:xonce.obj + 0002:00135fc0 ?system_category@std@@YAABVerror_category@1@XZ 00679fc0 f i libcpmtd:xonce.obj + 0002:00136010 ??$?0AAPA_W@?$_Compressed_pair@U?$default_delete@$$BY0A@_W@std@@PA_W$00@std@@QAE@U_Zero_then_variadic_args_t@1@AAPA_W@Z 0067a010 f i libcpmtd:syserror.obj + 0002:00136040 ??$?0PA_WU?$default_delete@$$BY0A@_W@std@@$0A@X@?$unique_ptr@$$BY0A@_WU?$default_delete@$$BY0A@_W@std@@@std@@QAE@PA_W@Z 0067a040 f i libcpmtd:syserror.obj + 0002:001360b0 ??$?R_W$0A@@?$default_delete@$$BY0A@_W@std@@QBEXPA_W@Z 0067a0b0 f i libcpmtd:syserror.obj + 0002:001360e0 ??$end@$$CBU_Sys_errtab_t@std@@$0EO@@std@@YAPBU_Sys_errtab_t@0@AAY0EO@$$CBU10@@Z 0067a0e0 f i libcpmtd:syserror.obj + 0002:001360f0 ??$end@$$CBU_Win_errtab_t@std@@$0EN@@std@@YAPBU_Win_errtab_t@0@AAY0EN@$$CBU10@@Z 0067a0f0 f i libcpmtd:syserror.obj + 0002:00136100 ??$forward@AAPA_W@std@@YAAAPA_WAAPA_W@Z 0067a100 f i libcpmtd:syserror.obj + 0002:00136110 ??1?$unique_ptr@$$BY0A@_WU?$default_delete@$$BY0A@_W@std@@@std@@QAE@XZ 0067a110 f i libcpmtd:syserror.obj + 0002:00136160 ?_Get_first@?$_Compressed_pair@U?$default_delete@$$BY0A@_W@std@@PA_W$00@std@@QAEAAU?$default_delete@$$BY0A@_W@2@XZ 0067a160 f i libcpmtd:syserror.obj + 0002:00136180 ?_Syserror_map@std@@YAPBDH@Z 0067a180 f libcpmtd:syserror.obj + 0002:001361f0 ?_Winerror_map@std@@YAHH@Z 0067a1f0 f libcpmtd:syserror.obj + 0002:00136250 ?_Winerror_message@std@@YAKKPADK@Z 0067a250 f libcpmtd:syserror.obj + 0002:001363a0 ?get@?$unique_ptr@$$BY0A@_WU?$default_delete@$$BY0A@_W@std@@@std@@QBEPA_WXZ 0067a3a0 f i libcpmtd:syserror.obj + 0002:001363c0 ??0?$_Yarn@D@std@@QAE@PBD@Z 0067a3c0 f i libcpmtd:locale0.obj + 0002:00136400 ??0_Fac_node@std@@QAE@PAU01@PAV_Facet_base@1@@Z 0067a400 f i libcpmtd:locale0.obj + 0002:00136430 ??0_Locimp@locale@std@@AAE@ABV012@@Z 0067a430 f i libcpmtd:locale0.obj + 0002:00136520 ??0_Locimp@locale@std@@AAE@_N@Z 0067a520 f i libcpmtd:locale0.obj + 0002:001365e0 ??0locale@std@@AAE@PAV_Locimp@01@@Z 0067a5e0 f i libcpmtd:locale0.obj + 0002:00136600 ??0locale@std@@QAE@W4_Uninitialized@1@@Z 0067a600 f i libcpmtd:locale0.obj + 0002:00136620 ??1_Fac_node@std@@QAE@XZ 0067a620 f i libcpmtd:locale0.obj + 0002:001366a0 ??1_Fac_tidy_reg_t@std@@QAE@XZ 0067a6a0 f i libcpmtd:locale0.obj + 0002:00136700 ??1_Locimp@locale@std@@MAE@XZ 0067a700 f i libcpmtd:locale0.obj + 0002:00136780 ??2_Fac_node@std@@SAPAXI@Z 0067a780 f i libcpmtd:locale0.obj + 0002:001367e0 ??3_Fac_node@std@@SAXPAX@Z 0067a7e0 f i libcpmtd:locale0.obj + 0002:00136800 ??4?$_Yarn@D@std@@QAEAAV01@PBD@Z 0067a800 f i libcpmtd:locale0.obj + 0002:001368c0 ??_G_Fac_node@std@@QAEPAXI@Z 0067a8c0 f i libcpmtd:locale0.obj + 0002:00136920 ??_G_Locimp@locale@std@@MAEPAXI@Z 0067a920 f i libcpmtd:locale0.obj + 0002:00136920 ??_E_Locimp@locale@std@@MAEPAXI@Z 0067a920 f i libcpmtd:locale0.obj + 0002:00136980 ?_C_str@?$_Yarn@D@std@@QBEPBDXZ 0067a980 f i libcpmtd:locale0.obj + 0002:001369c0 ?_Empty@?$_Yarn@D@std@@QBE_NXZ 0067a9c0 f i libcpmtd:locale0.obj + 0002:00136a00 ?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z 0067aa00 f libcpmtd:locale0.obj + 0002:00136ab0 ?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ 0067aab0 f libcpmtd:locale0.obj + 0002:00136ac0 ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z 0067aac0 f libcpmtd:locale0.obj + 0002:00136c10 ?_Locimp_dtor@_Locimp@locale@std@@CAXPAV123@@Z 0067ac10 f libcpmtd:locale0.obj + 0002:00136d10 ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z 0067ad10 f libcpmtd:locale0.obj + 0002:00136db0 ?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z 0067adb0 f libcpmtd:locale0.obj + 0002:00136df0 ?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z 0067adf0 f libcpmtd:locale0.obj + 0002:00136e90 ?_New_Locimp@_Locimp@locale@std@@CAPAV123@_N@Z 0067ae90 f libcpmtd:locale0.obj + 0002:00136f30 ?_Setgloballocale@locale@std@@CAXPAX@Z 0067af30 f libcpmtd:locale0.obj + 0002:00136f70 ?classic@locale@std@@SAABV12@XZ 0067af70 f libcpmtd:locale0.obj + 0002:00136f90 ?empty@locale@std@@SA?AV12@XZ 0067af90 f libcpmtd:locale0.obj + 0002:00136fe0 __Deletegloballocale 0067afe0 f libcpmtd:locale0.obj + 0002:001370b0 __Getctype 0067b0b0 f libcpmtd:_tolower.obj + 0002:00137190 __Tolower 0067b190 f libcpmtd:_tolower.obj + 0002:00137400 __Toupper 0067b400 f libcpmtd:_toupper.obj + 0002:00137670 ?_Addstd@ios_base@std@@SAXPAV12@@Z 0067b670 f libcpmtd:ios.obj + 0002:00137730 ?_Callfns@ios_base@std@@AAEXW4event@12@@Z 0067b730 f i libcpmtd:ios.obj + 0002:001377a0 ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z 0067b7a0 f libcpmtd:ios.obj + 0002:00137830 ?_Tidy@ios_base@std@@AAEXXZ 0067b830 f i libcpmtd:ios.obj + 0002:00137920 ??$_Xfiopen@D@std@@YAPAU_iobuf@@PBDHH@Z 0067b920 f i libcpmtd:fiopen.obj + 0002:00137ab0 ??$_Xfiopen@_W@std@@YAPAU_iobuf@@PB_WHH@Z 0067bab0 f i libcpmtd:fiopen.obj + 0002:00137c40 ?_Fiopen@std@@YAPAU_iobuf@@PBDHH@Z 0067bc40 f libcpmtd:fiopen.obj + 0002:00137c60 ?_Fiopen@std@@YAPAU_iobuf@@PBGHH@Z 0067bc60 f libcpmtd:fiopen.obj + 0002:00137c80 ?_Fiopen@std@@YAPAU_iobuf@@PB_WHH@Z 0067bc80 f libcpmtd:fiopen.obj + 0002:00137ca0 ?_Xfsopen@std@@YAPAU_iobuf@@PBDHH@Z 0067bca0 f libcpmtd:fiopen.obj + 0002:00137cd0 ?_Xfsopen@std@@YAPAU_iobuf@@PB_WHH@Z 0067bcd0 f libcpmtd:fiopen.obj + 0002:00137ec0 __Query_perf_counter 0067bec0 f libcpmtd:xtime.obj + 0002:00137ee0 __Query_perf_frequency 0067bee0 f libcpmtd:xtime.obj + 0002:00137f00 __Xtime_diff_to_millis 0067bf00 f libcpmtd:xtime.obj + 0002:00137f50 __Xtime_diff_to_millis2 0067bf50 f libcpmtd:xtime.obj + 0002:00138000 __Xtime_get_ticks 0067c000 f libcpmtd:xtime.obj + 0002:001380c0 _xtime_get 0067c0c0 f libcpmtd:xtime.obj + 0002:00138100 ??0stl_condition_variable_concrt@details@Concurrency@@QAE@XZ 0067c100 f i libcpmtd:cond.obj + 0002:00138140 ??0stl_condition_variable_interface@details@Concurrency@@QAE@XZ 0067c140 f i libcpmtd:cond.obj + 0002:00138160 ??0stl_condition_variable_vista@details@Concurrency@@QAE@XZ 0067c160 f i libcpmtd:cond.obj + 0002:001381a0 ??0stl_condition_variable_win7@details@Concurrency@@QAE@XZ 0067c1a0 f i libcpmtd:cond.obj + 0002:001381e0 ??_G_Condition_variable@details@Concurrency@@QAEPAXI@Z 0067c1e0 f i libcpmtd:cond.obj + 0002:00138220 ?_get_cv@_Cnd_internal_imp_t@@QAEPAVstl_condition_variable_interface@details@Concurrency@@XZ 0067c220 f i libcpmtd:cond.obj + 0002:00138240 ?create_stl_condition_variable@details@Concurrency@@YAXPAVstl_condition_variable_interface@12@@Z 0067c240 f i libcpmtd:cond.obj + 0002:001382f0 ?destroy@stl_condition_variable_concrt@details@Concurrency@@UAEXXZ 0067c2f0 f i libcpmtd:cond.obj + 0002:00138320 ?destroy@stl_condition_variable_vista@details@Concurrency@@UAEXXZ 0067c320 f i libcpmtd:cond.obj + 0002:00138330 ?destroy@stl_condition_variable_win7@details@Concurrency@@UAEXXZ 0067c330 f i libcpmtd:cond.obj + 0002:00138530 ?native_handle@stl_critical_section_concrt@details@Concurrency@@QAEAAVcritical_section@3@XZ 0067c530 f i libcpmtd:cond.obj + 0002:00138550 ?native_handle@stl_critical_section_vista@details@Concurrency@@QAEPAU_RTL_CRITICAL_SECTION@@XZ 0067c550 f i libcpmtd:cond.obj + 0002:00138570 ?native_handle@stl_critical_section_win7@details@Concurrency@@QAEPAU_RTL_SRWLOCK@@XZ 0067c570 f i libcpmtd:cond.obj + 0002:00138590 ?notify_all@stl_condition_variable_concrt@details@Concurrency@@UAEXXZ 0067c590 f i libcpmtd:cond.obj + 0002:001385b0 ?notify_all@stl_condition_variable_vista@details@Concurrency@@UAEXXZ 0067c5b0 f i libcpmtd:cond.obj + 0002:001385d0 ?notify_all@stl_condition_variable_win7@details@Concurrency@@UAEXXZ 0067c5d0 f i libcpmtd:cond.obj + 0002:001385f0 ?notify_one@stl_condition_variable_concrt@details@Concurrency@@UAEXXZ 0067c5f0 f i libcpmtd:cond.obj + 0002:00138610 ?notify_one@stl_condition_variable_vista@details@Concurrency@@UAEXXZ 0067c610 f i libcpmtd:cond.obj + 0002:00138630 ?notify_one@stl_condition_variable_win7@details@Concurrency@@UAEXXZ 0067c630 f i libcpmtd:cond.obj + 0002:00138650 ?wait@stl_condition_variable_concrt@details@Concurrency@@UAEXPAVstl_critical_section_interface@23@@Z 0067c650 f i libcpmtd:cond.obj + 0002:00138690 ?wait@stl_condition_variable_vista@details@Concurrency@@UAEXPAVstl_critical_section_interface@23@@Z 0067c690 f i libcpmtd:cond.obj + 0002:001386c0 ?wait@stl_condition_variable_win7@details@Concurrency@@UAEXPAVstl_critical_section_interface@23@@Z 0067c6c0 f i libcpmtd:cond.obj + 0002:001386f0 ?wait_for@stl_condition_variable_concrt@details@Concurrency@@UAE_NPAVstl_critical_section_interface@23@I@Z 0067c6f0 f i libcpmtd:cond.obj + 0002:00138730 ?wait_for@stl_condition_variable_vista@details@Concurrency@@UAE_NPAVstl_critical_section_interface@23@I@Z 0067c730 f i libcpmtd:cond.obj + 0002:00138790 ?wait_for@stl_condition_variable_win7@details@Concurrency@@UAE_NPAVstl_critical_section_interface@23@I@Z 0067c790 f i libcpmtd:cond.obj + 0002:001387f0 __Cnd_broadcast 0067c7f0 f libcpmtd:cond.obj + 0002:00138810 __Cnd_destroy 0067c810 f libcpmtd:cond.obj + 0002:00138840 __Cnd_destroy_in_situ 0067c840 f libcpmtd:cond.obj + 0002:00138880 __Cnd_init 0067c880 f libcpmtd:cond.obj + 0002:001388f0 __Cnd_init_in_situ 0067c8f0 f libcpmtd:cond.obj + 0002:00138910 __Cnd_signal 0067c910 f libcpmtd:cond.obj + 0002:00138930 __Cnd_timedwait 0067c930 f libcpmtd:cond.obj + 0002:00138950 __Cnd_wait 0067c950 f libcpmtd:cond.obj + 0002:00138970 __Thrd_create 0067c970 f libcpmtd:cthread.obj + 0002:00138a50 __Thrd_current 0067ca50 f libcpmtd:cthread.obj + 0002:00138a80 __Thrd_detach 0067ca80 f libcpmtd:cthread.obj + 0002:00138ac0 __Thrd_equal 0067cac0 f libcpmtd:cthread.obj + 0002:00138af0 __Thrd_exit 0067caf0 f libcpmtd:cthread.obj + 0002:00138b10 __Thrd_hardware_concurrency 0067cb10 f libcpmtd:cthread.obj + 0002:00138b30 __Thrd_id 0067cb30 f libcpmtd:cthread.obj + 0002:00138b40 __Thrd_join 0067cb40 f libcpmtd:cthread.obj + 0002:00138bc0 __Thrd_sleep 0067cbc0 f libcpmtd:cthread.obj + 0002:00138c80 __Thrd_start 0067cc80 f libcpmtd:cthread.obj + 0002:00138ce0 __Thrd_yield 0067cce0 f libcpmtd:cthread.obj + 0002:00138da0 __Cnd_do_broadcast_at_thread_exit 0067cda0 f libcpmtd:xnotify.obj + 0002:00138ee0 __Cnd_register_at_thread_exit 0067cee0 f libcpmtd:xnotify.obj + 0002:00139010 __Cnd_unregister_at_thread_exit 0067d010 f libcpmtd:xnotify.obj + 0002:001390c0 __Mtxdst 0067d0c0 f libcpmtd:xmtx.obj + 0002:001390e0 __Mtxinit 0067d0e0 f libcpmtd:xmtx.obj + 0002:00139100 __Mtxlock 0067d100 f libcpmtd:xmtx.obj + 0002:00139120 __Mtxunlock 0067d120 f libcpmtd:xmtx.obj + 0002:00139710 ___crtAcquireSRWLockExclusive 0067d710 f libcpmtd:winapisupp.obj + 0002:00139760 ___crtCloseThreadpoolTimer 0067d760 f libcpmtd:winapisupp.obj + 0002:001397b0 ___crtCloseThreadpoolWait 0067d7b0 f libcpmtd:winapisupp.obj + 0002:00139800 ___crtCloseThreadpoolWork 0067d800 f libcpmtd:winapisupp.obj + 0002:00139850 ___crtCreateEventExW 0067d850 f libcpmtd:winapisupp.obj + 0002:001398d0 ___crtCreateSemaphoreExW 0067d8d0 f libcpmtd:winapisupp.obj + 0002:00139990 ___crtCreateSymbolicLinkW 0067d990 f libcpmtd:winapisupp.obj + 0002:00139a00 ___crtCreateThreadpoolTimer 0067da00 f libcpmtd:winapisupp.obj + 0002:00139a60 ___crtCreateThreadpoolWait 0067da60 f libcpmtd:winapisupp.obj + 0002:00139ac0 ___crtCreateThreadpoolWork 0067dac0 f libcpmtd:winapisupp.obj + 0002:00139b10 ___crtFlsAlloc 0067db10 f libcpmtd:winapisupp.obj + 0002:00139b70 ___crtFlsFree 0067db70 f libcpmtd:winapisupp.obj + 0002:00139bd0 ___crtFlsGetValue 0067dbd0 f libcpmtd:winapisupp.obj + 0002:00139c30 ___crtFlsSetValue 0067dc30 f libcpmtd:winapisupp.obj + 0002:00139ca0 ___crtFlushProcessWriteBuffers 0067dca0 f libcpmtd:winapisupp.obj + 0002:00139ce0 ___crtFreeLibraryWhenCallbackReturns 0067dce0 f libcpmtd:winapisupp.obj + 0002:00139d40 ___crtGetCurrentProcessorNumber 0067dd40 f libcpmtd:winapisupp.obj + 0002:00139d90 ___crtGetFileInformationByHandleEx 0067dd90 f libcpmtd:winapisupp.obj + 0002:00139e00 ___crtGetSystemTimePreciseAsFileTime 0067de00 f libcpmtd:winapisupp.obj + 0002:00139e60 ___crtGetTickCount64 0067de60 f libcpmtd:winapisupp.obj + 0002:00139eb0 ___crtInitOnceExecuteOnce 0067deb0 f libcpmtd:winapisupp.obj + 0002:0013a010 ___crtInitializeConditionVariable 0067e010 f libcpmtd:winapisupp.obj + 0002:0013a060 ___crtInitializeCriticalSectionEx 0067e060 f libcpmtd:winapisupp.obj + 0002:0013a0d0 ___crtInitializeSRWLock 0067e0d0 f libcpmtd:winapisupp.obj + 0002:0013a120 ___crtIsPackagedApp 0067e120 f libcpmtd:winapisupp.obj + 0002:0013a170 ___crtReleaseSRWLockExclusive 0067e170 f libcpmtd:winapisupp.obj + 0002:0013a1c0 ___crtSetFileInformationByHandle 0067e1c0 f libcpmtd:winapisupp.obj + 0002:0013a230 ___crtSetThreadpoolTimer 0067e230 f libcpmtd:winapisupp.obj + 0002:0013a290 ___crtSetThreadpoolWait 0067e290 f libcpmtd:winapisupp.obj + 0002:0013a2f0 ___crtSleepConditionVariableCS 0067e2f0 f libcpmtd:winapisupp.obj + 0002:0013a340 ___crtSleepConditionVariableSRW 0067e340 f libcpmtd:winapisupp.obj + 0002:0013a3a0 ___crtSubmitThreadpoolWork 0067e3a0 f libcpmtd:winapisupp.obj + 0002:0013a3f0 ___crtTryAcquireSRWLockExclusive 0067e3f0 f libcpmtd:winapisupp.obj + 0002:0013a440 ___crtWaitForThreadpoolTimerCallbacks 0067e440 f libcpmtd:winapisupp.obj + 0002:0013a4a0 ___crtWakeAllConditionVariable 0067e4a0 f libcpmtd:winapisupp.obj + 0002:0013a4f0 ___crtWakeConditionVariable 0067e4f0 f libcpmtd:winapisupp.obj + 0002:0013a540 ___crt_IsPackagedAppHelper 0067e540 f libcpmtd:winapisupp.obj + 0002:0013a5c0 ??$?0U?$integral_constant@_N$00@std@@@_Unused_parameter@std@@QAE@$$QAU?$integral_constant@_N$00@1@@Z 0067e5c0 f i libcpmtd:locale.obj + 0002:0013a5e0 ??$?8DU?$char_traits@D@std@@@std@@YA_NABV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0@Z 0067e5e0 f i libcpmtd:locale.obj + 0002:0013a600 ??$?9DU?$char_traits@D@std@@@std@@YA_NABV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0@Z 0067e600 f i libcpmtd:locale.obj + 0002:0013a640 ??$_Adl_verify_range@V?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@V12@@std@@YAXABV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0@Z 0067e640 f i libcpmtd:locale.obj + 0002:0013a650 ??$_Find_elem@D$0BL@@std@@YAIAAY0BL@$$CBDD@Z 0067e650 f i libcpmtd:locale.obj + 0002:0013a680 ??$_Find_elem@D$0BN@@std@@YAIAAY0BN@$$CBDD@Z 0067e680 f i libcpmtd:locale.obj + 0002:0013a6b0 ??$_Find_elem@D$0P@@std@@YAIAAY0P@$$CBDD@Z 0067e6b0 f i libcpmtd:locale.obj + 0002:0013a6e0 ??$_Find_unchecked1@PBDD@std@@YAPBDPBDQBDABDU?$integral_constant@_N$00@0@@Z 0067e6e0 f i libcpmtd:locale.obj + 0002:0013a750 ??$_Find_unchecked@PBDD@std@@YAPBDQBD0ABD@Z 0067e750 f i libcpmtd:locale.obj + 0002:0013a780 ??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 0067e780 f i libcpmtd:locale.obj + 0002:0013aa70 ??$_Getvals@D@?$numpunct@D@std@@IAEXDPBUlconv@@U_Cvtvec@@@Z 0067ea70 f i libcpmtd:locale.obj + 0002:0013aae0 ??$_Maklocchr@D@std@@YADDPADABU_Cvtvec@@@Z 0067eae0 f i libcpmtd:locale.obj + 0002:0013aaf0 ??$_Maklocstr@D@std@@YAPADPBDPADABU_Cvtvec@@@Z 0067eaf0 f i libcpmtd:locale.obj + 0002:0013ab90 ??$_Reallocate_grow_by@V@?1??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IID@Z@IID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??insert@01@QAEAAV01@IID@Z@IID@Z 0067eb90 f i libcpmtd:locale.obj + 0002:0013ad20 ??$_Reallocate_grow_by@V@?1??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV01@IV@?1??push_back@01@QAEXD@Z@D@Z 0067ed20 f i libcpmtd:locale.obj + 0002:0013aea0 ??$_Within_limits@D@std@@YA_NABDU?$integral_constant@_N$00@0@1U_Unused_parameter@0@@Z 0067eea0 f i libcpmtd:locale.obj + 0002:0013aee0 ??$_Within_limits@PBDD@std@@YA_NPBDABD@Z 0067eee0 f i libcpmtd:locale.obj + 0002:0013af40 ??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 0067ef40 f i libcpmtd:locale.obj + 0002:0013b0b0 ??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 0067f0b0 f i libcpmtd:locale.obj + 0002:0013b220 ??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z 0067f220 f i libcpmtd:locale.obj + 0002:0013b390 ??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0067f390 f i libcpmtd:locale.obj + 0002:0013b420 ??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0067f420 f i libcpmtd:locale.obj + 0002:0013b4b0 ??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z 0067f4b0 f i libcpmtd:locale.obj + 0002:0013b540 ??1?$_Tidy_guard@V?$numpunct@D@std@@@std@@QAE@XZ 0067f540 f i libcpmtd:locale.obj + 0002:0013b570 ??1?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 0067f570 f i libcpmtd:locale.obj + 0002:0013b5a0 ??1?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 0067f5a0 f i libcpmtd:locale.obj + 0002:0013b5d0 ??1?$numpunct@D@std@@MAE@XZ 0067f5d0 f i libcpmtd:locale.obj + 0002:0013b600 ??4?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@QAEAAV01@D@Z 0067f600 f i libcpmtd:locale.obj + 0002:0013b670 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z 0067f670 f i libcpmtd:locale.obj + 0002:0013b710 ??D?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@QBEDXZ 0067f710 f i libcpmtd:locale.obj + 0002:0013b7b0 ??D?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@QAEAAV01@XZ 0067f7b0 f i libcpmtd:locale.obj + 0002:0013b7d0 ??E?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@QAEAAV01@XZ 0067f7d0 f i libcpmtd:locale.obj + 0002:0013b860 ??E?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@QAEAAV01@XZ 0067f860 f i libcpmtd:locale.obj + 0002:0013b880 ??R@?1??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV23@IID@Z@QBEXQADQBDIIID@Z 0067f880 f i libcpmtd:locale.obj + 0002:0013b900 ??R@?1??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@QBEXQADQBDID@Z 0067f900 f i libcpmtd:locale.obj + 0002:0013b970 ??_E?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 0067f970 f i libcpmtd:locale.obj + 0002:0013b970 ??_G?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 0067f970 f i libcpmtd:locale.obj + 0002:0013b9d0 ??_E?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 0067f9d0 f i libcpmtd:locale.obj + 0002:0013b9d0 ??_G?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 0067f9d0 f i libcpmtd:locale.obj + 0002:0013ba30 ??_G?$numpunct@D@std@@MAEPAXI@Z 0067fa30 f i libcpmtd:locale.obj + 0002:0013ba30 ??_E?$numpunct@D@std@@MAEPAXI@Z 0067fa30 f i libcpmtd:locale.obj + 0002:0013ba90 ?_Addfac@_Locimp@locale@std@@AAEXPAVfacet@23@I@Z 0067fa90 f i libcpmtd:locale.obj + 0002:0013bac0 ?_Ffmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAPADPADDH@Z 0067fac0 f i libcpmtd:locale.obj + 0002:0013bc50 ?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z 0067fc50 f i libcpmtd:locale.obj + 0002:0013c290 ?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00680290 f i libcpmtd:locale.obj + 0002:0013c3b0 ?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006803b0 f i libcpmtd:locale.obj + 0002:0013c4d0 ?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006804d0 f i libcpmtd:locale.obj + 0002:0013c600 ?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ 00680600 f i libcpmtd:locale.obj + 0002:0013c670 ?_Getfalse@_Locinfo@std@@QBEPBDXZ 00680670 f i libcpmtd:locale.obj + 0002:0013c690 ?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 00680690 f i libcpmtd:locale.obj + 0002:0013d1d0 ?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 006811d0 f i libcpmtd:locale.obj + 0002:0013dd60 ?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z 00681d60 f i libcpmtd:locale.obj + 0002:0013e400 ?_Getlconv@_Locinfo@std@@QBEPBUlconv@@XZ 00682400 f i libcpmtd:locale.obj + 0002:0013e420 ?_Getname@_Locinfo@std@@QBEPBDXZ 00682420 f i libcpmtd:locale.obj + 0002:0013e440 ?_Gettrue@_Locinfo@std@@QBEPBDXZ 00682440 f i libcpmtd:locale.obj + 0002:0013e460 ?_Ifmt@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAPADPADPBDH@Z 00682460 f i libcpmtd:locale.obj + 0002:0013e5d0 ?_Inc@?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@AAEXXZ 006825d0 f i libcpmtd:locale.obj + 0002:0013e640 ?_Init@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00682640 f i libcpmtd:locale.obj + 0002:0013e650 ?_Init@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00682650 f i libcpmtd:locale.obj + 0002:0013e660 ?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 00682660 f i libcpmtd:locale.obj + 0002:0013e830 ?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z 00682830 f i libcpmtd:locale.obj + 0002:0013ed80 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z 00682d80 f libcpmtd:locale.obj + 0002:0013ef70 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z 00682f70 f libcpmtd:locale.obj + 0002:0013f0f0 ?_Locinfo_Addcats@_Locinfo@std@@SAAAV12@PAV12@HPBD@Z 006830f0 f libcpmtd:locale.obj + 0002:0013f240 ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@HPBD@Z 00683240 f libcpmtd:locale.obj + 0002:0013f2b0 ?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z 006832b0 f libcpmtd:locale.obj + 0002:0013f840 ?_Peek@?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@ABEDXZ 00683840 f i libcpmtd:locale.obj + 0002:0013f8d0 ?_Put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@PBDI@Z 006838d0 f i libcpmtd:locale.obj + 0002:0013f940 ?_Rep@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z 00683940 f i libcpmtd:locale.obj + 0002:0013f9a0 ?_Stodx_v2@std@@YANPBDPAPADHPAH@Z 006839a0 f i libcpmtd:locale.obj + 0002:0013fa40 ?_Stofx_v2@std@@YAMPBDPAPADHPAH@Z 00683a40 f i libcpmtd:locale.obj + 0002:0013fae0 ?_Tidy@?$numpunct@D@std@@AAEXXZ 00683ae0 f i libcpmtd:locale.obj + 0002:0013fb30 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@$$QAV12@@Z 00683b30 f i libcpmtd:locale.obj + 0002:0013fb60 ?decimal_point@?$numpunct@D@std@@QBEDXZ 00683b60 f i libcpmtd:locale.obj + 0002:0013fb90 ?do_decimal_point@?$numpunct@D@std@@MBEDXZ 00683b90 f i libcpmtd:locale.obj + 0002:0013fbb0 ?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00683bb0 f i libcpmtd:locale.obj + 0002:0013fbf0 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 00683bf0 f i libcpmtd:locale.obj + 0002:0013fe20 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAI@Z 00683e20 f i libcpmtd:locale.obj + 0002:0013fea0 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00683ea0 f i libcpmtd:locale.obj + 0002:00140040 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00684040 f i libcpmtd:locale.obj + 0002:001401e0 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAM@Z 006841e0 f i libcpmtd:locale.obj + 0002:00140390 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAN@Z 00684390 f i libcpmtd:locale.obj + 0002:00140540 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAO@Z 00684540 f i libcpmtd:locale.obj + 0002:001405c0 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 006845c0 f i libcpmtd:locale.obj + 0002:00140750 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 00684750 f i libcpmtd:locale.obj + 0002:001408f0 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 006848f0 f i libcpmtd:locale.obj + 0002:00140a90 ?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 00684a90 f i libcpmtd:locale.obj + 0002:00140ea0 ?do_grouping@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00684ea0 f i libcpmtd:locale.obj + 0002:00140ee0 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DJ@Z 00684ee0 f i libcpmtd:locale.obj + 0002:00140f80 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z 00684f80 f i libcpmtd:locale.obj + 0002:00141020 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z 00685020 f i libcpmtd:locale.obj + 0002:00141270 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z 00685270 f i libcpmtd:locale.obj + 0002:001414c0 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBX@Z 006854c0 f i libcpmtd:locale.obj + 0002:00141540 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_J@Z 00685540 f i libcpmtd:locale.obj + 0002:001415f0 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_K@Z 006855f0 f i libcpmtd:locale.obj + 0002:001416a0 ?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z 006856a0 f i libcpmtd:locale.obj + 0002:001419d0 ?do_thousands_sep@?$numpunct@D@std@@MBEDXZ 006859d0 f i libcpmtd:locale.obj + 0002:001419f0 ?do_truename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006859f0 f i libcpmtd:locale.obj + 0002:00141a30 ?equal@?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@QBE_NABV12@@Z 00685a30 f i libcpmtd:locale.obj + 0002:00141ac0 ?falsename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00685ac0 f i libcpmtd:locale.obj + 0002:00141b20 ?global@locale@std@@SA?AV12@ABV12@@Z 00685b20 f libcpmtd:locale.obj + 0002:00141d30 ?grouping@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00685d30 f i libcpmtd:locale.obj + 0002:00141d90 ?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IID@Z 00685d90 f i libcpmtd:locale.obj + 0002:00141e70 ?precision@ios_base@std@@QBE_JXZ 00685e70 f i libcpmtd:locale.obj + 0002:00141e90 ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z 00685e90 f i libcpmtd:locale.obj + 0002:00141f50 ?thousands_sep@?$numpunct@D@std@@QBEDXZ 00685f50 f i libcpmtd:locale.obj + 0002:00141f80 ?truename@?$numpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00685f80 f i libcpmtd:locale.obj + 0002:00141fe0 ?widen@?$ctype@D@std@@QBEPBDPBD0PAD@Z 00685fe0 f i libcpmtd:locale.obj + 0002:00142030 ?width@ios_base@std@@QAE_J_J@Z 00686030 f i libcpmtd:locale.obj + 0002:00142070 ?width@ios_base@std@@QBE_JXZ 00686070 f i libcpmtd:locale.obj + 0002:00142090 __vsprintf_s_l 00686090 f i libcpmtd:locale.obj + 0002:001420f0 _fabsl 006860f0 f i libcpmtd:locale.obj + 0002:00142110 _frexpl 00686110 f i libcpmtd:locale.obj + 0002:00142130 _ldexpf 00686130 f i libcpmtd:locale.obj + 0002:00142160 _sprintf_s 00686160 f i libcpmtd:locale.obj + 0002:001421b0 ??1_Init_atexit@@QAE@XZ 006861b0 f i libcpmtd:iosptrs.obj + 0002:00142260 ?_Atexit@@YAXP6AXXZ@Z 00686260 f libcpmtd:iosptrs.obj + 0002:001422c0 ??0?$__crt_scoped_stack_ptr@_W@@QAE@U?$__crt_scoped_stack_ptr_tag@_W@@@Z 006862c0 f i libcpmtd:StlLCMapStringA.obj + 0002:001422e0 ??0?$__crt_scoped_stack_ptr_tag@_W@@QAE@QA_W@Z 006862e0 f i libcpmtd:StlLCMapStringA.obj + 0002:00142300 ??1?$__crt_scoped_stack_ptr@_W@@QAE@XZ 00686300 f i libcpmtd:StlLCMapStringA.obj + 0002:00142320 ??B?$__crt_scoped_stack_ptr@_W@@QBE_NXZ 00686320 f i libcpmtd:StlLCMapStringA.obj + 0002:00142360 ?get@?$__crt_scoped_stack_ptr@_W@@QBEPA_WXZ 00686360 f i libcpmtd:StlLCMapStringA.obj + 0002:00142380 __MallocaComputeSize 00686380 f i libcpmtd:StlLCMapStringA.obj + 0002:001423c0 __MarkAllocaS 006863c0 f i libcpmtd:StlLCMapStringA.obj + 0002:001423f0 ___crtLCMapStringA 006863f0 f libcpmtd:StlLCMapStringA.obj + 0002:00142880 __freea_crt 00686880 f i libcpmtd:StlLCMapStringA.obj + 0002:00142910 __Getcvt 00686910 f libcpmtd:xwctomb.obj + 0002:00142a20 __Wcrtomb 00686a20 f libcpmtd:xwctomb.obj + 0002:00142b40 ___Wcrtomb_lk 00686b40 f libcpmtd:xwctomb.obj + 0002:00142b70 ??$?0$$V@?$_Compressed_pair@V?$allocator@G@std@@V?$_String_val@U?$_Simple_types@G@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00686b70 f i libcpmtd:wlocale.obj + 0002:00142ba0 ??$?0$$V@?$_Compressed_pair@V?$allocator@_W@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z 00686ba0 f i libcpmtd:wlocale.obj + 0002:00142bd0 ??$?0V?$allocator@G@std@@$$V@?$_Compressed_pair@V?$allocator@G@std@@V?$_String_val@U?$_Simple_types@G@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@G@1@@Z 00686bd0 f i libcpmtd:wlocale.obj + 0002:00142c00 ??$?0V?$allocator@_W@std@@$$V@?$_Compressed_pair@V?$allocator@_W@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@_W@1@@Z 00686c00 f i libcpmtd:wlocale.obj + 0002:00142c30 ??$?0_W@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@_W@1@@Z 00686c30 f i libcpmtd:wlocale.obj + 0002:00142c50 ??$?8GU?$char_traits@G@std@@@std@@YA_NABV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0@Z 00686c50 f i libcpmtd:wlocale.obj + 0002:00142c70 ??$?8_WU?$char_traits@_W@std@@@std@@YA_NABV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0@Z 00686c70 f i libcpmtd:wlocale.obj + 0002:00142c90 ??$?9GU?$char_traits@G@std@@@std@@YA_NABV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0@Z 00686c90 f i libcpmtd:wlocale.obj + 0002:00142cd0 ??$?9_WU?$char_traits@_W@std@@@std@@YA_NABV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0@Z 00686cd0 f i libcpmtd:wlocale.obj + 0002:00142d10 ??$_Adl_verify_range@PADPAD@std@@YAXABQAD0@Z 00686d10 f i libcpmtd:wlocale.obj + 0002:00142d30 ??$_Adl_verify_range@PAGPAG@std@@YAXABQAG0@Z 00686d30 f i libcpmtd:wlocale.obj + 0002:00142d50 ??$_Adl_verify_range@PA_WPA_W@std@@YAXABQA_W0@Z 00686d50 f i libcpmtd:wlocale.obj + 0002:00142d70 ??$_Adl_verify_range@PBGPBG@std@@YAXABQBG0@Z 00686d70 f i libcpmtd:wlocale.obj + 0002:00142d90 ??$_Adl_verify_range@PB_WPB_W@std@@YAXABQB_W0@Z 00686d90 f i libcpmtd:wlocale.obj + 0002:00142db0 ??$_Adl_verify_range@V?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@V12@@std@@YAXABV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0@Z 00686db0 f i libcpmtd:wlocale.obj + 0002:00142dc0 ??$_Adl_verify_range@V?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@V12@@std@@YAXABV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0@Z 00686dc0 f i libcpmtd:wlocale.obj + 0002:00142dd0 ??$_Copy_unchecked@PA_WV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@0@PA_W0V10@@Z 00686dd0 f i libcpmtd:wlocale.obj + 0002:00142e40 ??$_Copy_unchecked@PA_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@0@PA_W0V10@@Z 00686e40 f i libcpmtd:wlocale.obj + 0002:00142eb0 ??$_Find_elem@G$0BL@@std@@YAIAAY0BL@$$CBGG@Z 00686eb0 f i libcpmtd:wlocale.obj + 0002:00142ee0 ??$_Find_elem@G$0BN@@std@@YAIAAY0BN@$$CBGG@Z 00686ee0 f i libcpmtd:wlocale.obj + 0002:00142f10 ??$_Find_elem@G$0M@@std@@YAIAAY0M@$$CBGG@Z 00686f10 f i libcpmtd:wlocale.obj + 0002:00142f40 ??$_Find_elem@G$0P@@std@@YAIAAY0P@$$CBGG@Z 00686f40 f i libcpmtd:wlocale.obj + 0002:00142f70 ??$_Find_elem@_W$0BL@@std@@YAIAAY0BL@$$CB_W_W@Z 00686f70 f i libcpmtd:wlocale.obj + 0002:00142fa0 ??$_Find_elem@_W$0BN@@std@@YAIAAY0BN@$$CB_W_W@Z 00686fa0 f i libcpmtd:wlocale.obj + 0002:00142fd0 ??$_Find_elem@_W$0M@@std@@YAIAAY0M@$$CB_W_W@Z 00686fd0 f i libcpmtd:wlocale.obj + 0002:00143000 ??$_Find_elem@_W$0P@@std@@YAIAAY0P@$$CB_W_W@Z 00687000 f i libcpmtd:wlocale.obj + 0002:00143030 ??$_Find_unchecked1@PBGG@std@@YAPBGPBGQBGABGU?$integral_constant@_N$0A@@0@@Z 00687030 f i libcpmtd:wlocale.obj + 0002:00143070 ??$_Find_unchecked1@PB_W_W@std@@YAPB_WPB_WQB_WAB_WU?$integral_constant@_N$0A@@0@@Z 00687070 f i libcpmtd:wlocale.obj + 0002:001430b0 ??$_Find_unchecked@PBGG@std@@YAPBGQBG0ABG@Z 006870b0 f i libcpmtd:wlocale.obj + 0002:001430e0 ??$_Find_unchecked@PB_W_W@std@@YAPB_WQB_W0AB_W@Z 006870e0 f i libcpmtd:wlocale.obj + 0002:00143110 ??$_Get_unwrapped@_W@std@@YAPA_WQA_W@Z 00687110 f i libcpmtd:wlocale.obj + 0002:00143120 ??$_Get_unwrapped_n@V?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@H$0A@@std@@YAABV?$ostreambuf_iterator@GU?$char_traits@G@std@@@0@ABV10@H@Z 00687120 f i libcpmtd:wlocale.obj + 0002:00143130 ??$_Get_unwrapped_n@V?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@H$0A@@std@@YAABV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@0@ABV10@H@Z 00687130 f i libcpmtd:wlocale.obj + 0002:00143140 ??$_Getloctxt@DV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBD@Z 00687140 f i libcpmtd:wlocale.obj + 0002:00143430 ??$_Getloctxt@DV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPBD@Z 00687430 f i libcpmtd:wlocale.obj + 0002:00143720 ??$_Getloctxt@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBG@Z 00687720 f i libcpmtd:wlocale.obj + 0002:00143a10 ??$_Getloctxt@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPB_W@Z 00687a10 f i libcpmtd:wlocale.obj + 0002:00143d00 ??$_Getvals@G@?$_Mpunct@G@std@@IAEXGPBUlconv@@@Z 00687d00 f i libcpmtd:wlocale.obj + 0002:00143e70 ??$_Getvals@G@?$numpunct@G@std@@IAEXGPBUlconv@@U_Cvtvec@@@Z 00687e70 f i libcpmtd:wlocale.obj + 0002:00143ef0 ??$_Getvals@G@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXGABV_Locinfo@1@@Z 00687ef0 f i libcpmtd:wlocale.obj + 0002:00144010 ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z 00688010 f i libcpmtd:wlocale.obj + 0002:00144140 ??$_Hash_array_representation@G@std@@YAIQBGI@Z 00688140 f i libcpmtd:wlocale.obj + 0002:00144170 ??$_Hash_array_representation@_W@std@@YAIQB_WI@Z 00688170 f i libcpmtd:wlocale.obj + 0002:001441a0 ??$_Idl_distance@PA_WPA_W@std@@YAHABQA_W0@Z 006881a0 f i libcpmtd:wlocale.obj + 0002:001441c0 ??$_LStrcoll@G@std@@YAHPBG000PBU_Collvec@@@Z 006881c0 f i libcpmtd:wlocale.obj + 0002:00144280 ??$_LStrcoll@_W@std@@YAHPB_W000PBU_Collvec@@@Z 00688280 f i libcpmtd:wlocale.obj + 0002:001442b0 ??$_LStrxfrm@G@std@@YAIPAG0PBG1PBU_Collvec@@@Z 006882b0 f i libcpmtd:wlocale.obj + 0002:00144300 ??$_LStrxfrm@_W@std@@YAIPA_W0PB_W1PBU_Collvec@@@Z 00688300 f i libcpmtd:wlocale.obj + 0002:00144330 ??$_Maklocchr@G@std@@YAGDPAGABU_Cvtvec@@@Z 00688330 f i libcpmtd:wlocale.obj + 0002:00144380 ??$_Maklocchr@_W@std@@YA_WDPA_WABU_Cvtvec@@@Z 00688380 f i libcpmtd:wlocale.obj + 0002:001443d0 ??$_Maklocstr@G@std@@YAPAGPBDPAGABU_Cvtvec@@@Z 006883d0 f i libcpmtd:wlocale.obj + 0002:00144540 ??$_Maklocstr@_W@std@@YAPA_WPBDPA_WABU_Cvtvec@@@Z 00688540 f i libcpmtd:wlocale.obj + 0002:001446b0 ??$_Pocma@V?$allocator@G@std@@@std@@YAXAAV?$allocator@G@0@0@Z 006886b0 f i libcpmtd:wlocale.obj + 0002:001446d0 ??$_Pocma@V?$allocator@_W@std@@@std@@YAXAAV?$allocator@_W@0@0@Z 006886d0 f i libcpmtd:wlocale.obj + 0002:001446f0 ??$_Reallocate_for@V@?1??assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV34@IG@Z@G@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@IG@Z@G@Z 006886f0 f i libcpmtd:wlocale.obj + 0002:00144810 ??$_Reallocate_for@V@?1??assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV34@QBGI@Z@PBG@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@QBGI@Z@PBG@Z 00688810 f i libcpmtd:wlocale.obj + 0002:00144930 ??$_Reallocate_for@V@?1??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@I_W@Z@_W@Z 00688930 f i libcpmtd:wlocale.obj + 0002:00144a50 ??$_Reallocate_for@V@?1??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z 00688a50 f i libcpmtd:wlocale.obj + 0002:00144b70 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV34@IG@Z@IG@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@IG@Z@IG@Z 00688b70 f i libcpmtd:wlocale.obj + 0002:00144d00 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV34@QBGI@Z@PBGI@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@QBGI@Z@PBGI@Z 00688d00 f i libcpmtd:wlocale.obj + 0002:00144e80 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@I_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@I_W@Z@I_W@Z 00688e80 f i libcpmtd:wlocale.obj + 0002:00145010 ??$_Reallocate_grow_by@V@?1??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z 00689010 f i libcpmtd:wlocale.obj + 0002:00145190 ??$_Reallocate_grow_by@V@?1??insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV34@IIG@Z@IIG@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??insert@01@QAEAAV01@IIG@Z@IIG@Z 00689190 f i libcpmtd:wlocale.obj + 0002:00145320 ??$_Reallocate_grow_by@V@?1??insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@II_W@Z@II_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??insert@01@QAEAAV01@II_W@Z@II_W@Z 00689320 f i libcpmtd:wlocale.obj + 0002:001454b0 ??$_Reallocate_grow_by@V@?1??push_back@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXG@Z@G@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV01@IV@?1??push_back@01@QAEXG@Z@G@Z 006894b0 f i libcpmtd:wlocale.obj + 0002:00145630 ??$_Reallocate_grow_by@V@?1??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV01@IV@?1??push_back@01@QAEX_W@Z@_W@Z 00689630 f i libcpmtd:wlocale.obj + 0002:001457b0 ??$_Refancy@PAG$0A@@std@@YAPAGPAG@Z 006897b0 f i libcpmtd:wlocale.obj + 0002:001457c0 ??$_Refancy@PA_W$0A@@std@@YAPA_WPA_W@Z 006897c0 f i libcpmtd:wlocale.obj + 0002:001457d0 ??$_Seek_wrapped@V?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@V12@@std@@YAXAAV?$ostreambuf_iterator@GU?$char_traits@G@std@@@0@ABV10@@Z 006897d0 f i libcpmtd:wlocale.obj + 0002:001457f0 ??$_Seek_wrapped@V?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@V12@@std@@YAXAAV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@0@ABV10@@Z 006897f0 f i libcpmtd:wlocale.obj + 0002:00145810 ??$_Unfancy@$$CBG@std@@YAPBGPBG@Z 00689810 f i libcpmtd:wlocale.obj + 0002:00145820 ??$_Unfancy@$$CB_W@std@@YAPB_WPB_W@Z 00689820 f i libcpmtd:wlocale.obj + 0002:00145830 ??$_Unfancy@_W@std@@YAPA_WPA_W@Z 00689830 f i libcpmtd:wlocale.obj + 0002:00145840 ??$_Verify_range@G@std@@YAXQBG0@Z 00689840 f i libcpmtd:wlocale.obj + 0002:001458c0 ??$_Verify_range@_W@std@@YAXQB_W0@Z 006898c0 f i libcpmtd:wlocale.obj + 0002:00145940 ??$addressof@$$CBV?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@G@std@@@0@ABV10@@Z 00689940 f i libcpmtd:wlocale.obj + 0002:00145950 ??$addressof@$$CBV?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@_W@std@@@0@ABV10@@Z 00689950 f i libcpmtd:wlocale.obj + 0002:00145960 ??$addressof@$$CBV?$moneypunct@G$00@std@@@std@@YAPBV?$moneypunct@G$00@0@ABV10@@Z 00689960 f i libcpmtd:wlocale.obj + 0002:00145970 ??$addressof@$$CBV?$moneypunct@G$0A@@std@@@std@@YAPBV?$moneypunct@G$0A@@0@ABV10@@Z 00689970 f i libcpmtd:wlocale.obj + 0002:00145980 ??$addressof@$$CBV?$moneypunct@_W$00@std@@@std@@YAPBV?$moneypunct@_W$00@0@ABV10@@Z 00689980 f i libcpmtd:wlocale.obj + 0002:00145990 ??$addressof@$$CBV?$moneypunct@_W$0A@@std@@@std@@YAPBV?$moneypunct@_W$0A@@0@ABV10@@Z 00689990 f i libcpmtd:wlocale.obj + 0002:001459a0 ??$addressof@PAG@std@@YAPAPAGAAPAG@Z 006899a0 f i libcpmtd:wlocale.obj + 0002:001459b0 ??$addressof@PA_W@std@@YAPAPA_WAAPA_W@Z 006899b0 f i libcpmtd:wlocale.obj + 0002:001459c0 ??$addressof@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@G@std@@@0@AAV10@@Z 006899c0 f i libcpmtd:wlocale.obj + 0002:001459d0 ??$addressof@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@_W@std@@@0@AAV10@@Z 006899d0 f i libcpmtd:wlocale.obj + 0002:001459e0 ??$addressof@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@std@@YAPAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AAV10@@Z 006899e0 f i libcpmtd:wlocale.obj + 0002:001459f0 ??$addressof@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAV10@@Z 006899f0 f i libcpmtd:wlocale.obj + 0002:00145a00 ??$construct@PAGABQAG@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SAXAAV?$allocator@G@1@QAPAGABQAG@Z 00689a00 f i libcpmtd:wlocale.obj + 0002:00145a40 ??$construct@PA_WABQA_W@?$_Default_allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@QAPA_WABQA_W@Z 00689a40 f i libcpmtd:wlocale.obj + 0002:00145a80 ??$copy@PA_WV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@0@PA_W0V10@@Z 00689a80 f i libcpmtd:wlocale.obj + 0002:00145b40 ??$copy@PA_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@0@PA_W0V10@@Z 00689b40 f i libcpmtd:wlocale.obj + 0002:00145c00 ??$destroy@PAG@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SAXAAV?$allocator@G@1@QAPAG@Z 00689c00 f i libcpmtd:wlocale.obj + 0002:00145c10 ??$destroy@PA_W@?$_Default_allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@QAPA_W@Z 00689c10 f i libcpmtd:wlocale.obj + 0002:00145c20 ??$forward@ABQAG@std@@YAABQAGABQAG@Z 00689c20 f i libcpmtd:wlocale.obj + 0002:00145c30 ??$forward@ABQA_W@std@@YAABQA_WABQA_W@Z 00689c30 f i libcpmtd:wlocale.obj + 0002:00145c40 ??$forward@V?$allocator@G@std@@@std@@YA$$QAV?$allocator@G@0@AAV10@@Z 00689c40 f i libcpmtd:wlocale.obj + 0002:00145c50 ??$forward@V?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z 00689c50 f i libcpmtd:wlocale.obj + 0002:00145c60 ??$move@AAV?$allocator@G@std@@@std@@YA$$QAV?$allocator@G@0@AAV10@@Z 00689c60 f i libcpmtd:wlocale.obj + 0002:00145c70 ??$move@AAV?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z 00689c70 f i libcpmtd:wlocale.obj + 0002:00145c80 ??$move@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@std@@YA$$QAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@AAV10@@Z 00689c80 f i libcpmtd:wlocale.obj + 0002:00145c90 ??$move@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA$$QAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAV10@@Z 00689c90 f i libcpmtd:wlocale.obj + 0002:00145ca0 ??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z 00689ca0 f i libcpmtd:wlocale.obj + 0002:00145e10 ??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z 00689e10 f i libcpmtd:wlocale.obj + 0002:00145f80 ??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z 00689f80 f i libcpmtd:wlocale.obj + 0002:001460f0 ??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z 0068a0f0 f i libcpmtd:wlocale.obj + 0002:00146260 ??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z 0068a260 f i libcpmtd:wlocale.obj + 0002:001463d0 ??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z 0068a3d0 f i libcpmtd:wlocale.obj + 0002:00146540 ??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z 0068a540 f i libcpmtd:wlocale.obj + 0002:001466b0 ??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z 0068a6b0 f i libcpmtd:wlocale.obj + 0002:00146820 ??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068a820 f i libcpmtd:wlocale.obj + 0002:00146990 ??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068a990 f i libcpmtd:wlocale.obj + 0002:00146b00 ??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068ab00 f i libcpmtd:wlocale.obj + 0002:00146c70 ??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068ac70 f i libcpmtd:wlocale.obj + 0002:00146de0 ??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z 0068ade0 f i libcpmtd:wlocale.obj + 0002:00146f50 ??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z 0068af50 f i libcpmtd:wlocale.obj + 0002:001470c0 ??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z 0068b0c0 f i libcpmtd:wlocale.obj + 0002:00147230 ??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z 0068b230 f i libcpmtd:wlocale.obj + 0002:001473a0 ??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068b3a0 f i libcpmtd:wlocale.obj + 0002:00147510 ??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068b510 f i libcpmtd:wlocale.obj + 0002:00147680 ??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068b680 f i libcpmtd:wlocale.obj + 0002:001477f0 ??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068b7f0 f i libcpmtd:wlocale.obj + 0002:00147960 ??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z 0068b960 f i libcpmtd:wlocale.obj + 0002:00147ad0 ??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z 0068bad0 f i libcpmtd:wlocale.obj + 0002:00147c40 ??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068bc40 f i libcpmtd:wlocale.obj + 0002:00147db0 ??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068bdb0 f i libcpmtd:wlocale.obj + 0002:00147f20 ??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 0068bf20 f i libcpmtd:wlocale.obj + 0002:00148090 ??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 0068c090 f i libcpmtd:wlocale.obj + 0002:00148200 ??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N1@Z 0068c200 f i libcpmtd:wlocale.obj + 0002:001482a0 ??0?$_Mpunct@_W@std@@QAE@ABV_Locinfo@1@I_N1@Z 0068c2a0 f i libcpmtd:wlocale.obj + 0002:00148340 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@$$QAV01@@Z 0068c340 f i libcpmtd:wlocale.obj + 0002:00148380 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@ABV01@@Z 0068c380 f i libcpmtd:wlocale.obj + 0002:001483c0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@PBGPBU_Container_base12@1@@Z 0068c3c0 f i libcpmtd:wlocale.obj + 0002:00148400 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@XZ 0068c400 f i libcpmtd:wlocale.obj + 0002:00148430 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@$$QAV01@@Z 0068c430 f i libcpmtd:wlocale.obj + 0002:00148470 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@ABV01@@Z 0068c470 f i libcpmtd:wlocale.obj + 0002:001484b0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PB_WPBU_Container_base12@1@@Z 0068c4b0 f i libcpmtd:wlocale.obj + 0002:001484f0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@XZ 0068c4f0 f i libcpmtd:wlocale.obj + 0002:00148520 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@ABV01@@Z 0068c520 f i libcpmtd:wlocale.obj + 0002:00148550 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@PAGPBU_Container_base12@1@@Z 0068c550 f i libcpmtd:wlocale.obj + 0002:00148580 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@ABV01@@Z 0068c580 f i libcpmtd:wlocale.obj + 0002:001485b0 ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PA_WPBU_Container_base12@1@@Z 0068c5b0 f i libcpmtd:wlocale.obj + 0002:001485e0 ??0?$_String_val@U?$_Simple_types@G@std@@@std@@QAE@XZ 0068c5e0 f i libcpmtd:wlocale.obj + 0002:00148630 ??0?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ 0068c630 f i libcpmtd:wlocale.obj + 0002:00148680 ??0?$allocator@_W@std@@QAE@XZ 0068c680 f i libcpmtd:wlocale.obj + 0002:001486a0 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@$$QAV01@@Z 0068c6a0 f i libcpmtd:wlocale.obj + 0002:00148780 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z 0068c780 f i libcpmtd:wlocale.obj + 0002:00148890 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z 0068c890 f i libcpmtd:wlocale.obj + 0002:00148980 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z 0068c980 f i libcpmtd:wlocale.obj + 0002:00148a70 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z 0068ca70 f i libcpmtd:wlocale.obj + 0002:00148b60 ??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 0068cb60 f i libcpmtd:wlocale.obj + 0002:00148c00 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@$$QAV01@@Z 0068cc00 f i libcpmtd:wlocale.obj + 0002:00148ce0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z 0068cce0 f i libcpmtd:wlocale.obj + 0002:00148df0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z 0068cdf0 f i libcpmtd:wlocale.obj + 0002:00148ee0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z 0068cee0 f i libcpmtd:wlocale.obj + 0002:00148fd0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z 0068cfd0 f i libcpmtd:wlocale.obj + 0002:001490c0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 0068d0c0 f i libcpmtd:wlocale.obj + 0002:00149160 ??0?$codecvt@GDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d160 f i libcpmtd:wlocale.obj + 0002:001491f0 ??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d1f0 f i libcpmtd:wlocale.obj + 0002:00149280 ??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z 0068d280 f i libcpmtd:wlocale.obj + 0002:00149310 ??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z 0068d310 f i libcpmtd:wlocale.obj + 0002:001493a0 ??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z 0068d3a0 f i libcpmtd:wlocale.obj + 0002:00149430 ??0?$ctype@_W@std@@QAE@ABV_Locinfo@1@I@Z 0068d430 f i libcpmtd:wlocale.obj + 0002:001494c0 ??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z 0068d4c0 f i libcpmtd:wlocale.obj + 0002:00149550 ??0?$messages@_W@std@@QAE@ABV_Locinfo@1@I@Z 0068d550 f i libcpmtd:wlocale.obj + 0002:001495e0 ??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d5e0 f i libcpmtd:wlocale.obj + 0002:00149670 ??0?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d670 f i libcpmtd:wlocale.obj + 0002:00149700 ??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d700 f i libcpmtd:wlocale.obj + 0002:00149790 ??0?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d790 f i libcpmtd:wlocale.obj + 0002:00149820 ??0?$moneypunct@G$00@std@@QAE@ABV_Locinfo@1@I_N@Z 0068d820 f i libcpmtd:wlocale.obj + 0002:00149860 ??0?$moneypunct@G$0A@@std@@QAE@ABV_Locinfo@1@I_N@Z 0068d860 f i libcpmtd:wlocale.obj + 0002:001498a0 ??0?$moneypunct@_W$00@std@@QAE@ABV_Locinfo@1@I_N@Z 0068d8a0 f i libcpmtd:wlocale.obj + 0002:001498e0 ??0?$moneypunct@_W$0A@@std@@QAE@ABV_Locinfo@1@I_N@Z 0068d8e0 f i libcpmtd:wlocale.obj + 0002:00149920 ??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d920 f i libcpmtd:wlocale.obj + 0002:001499b0 ??0?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068d9b0 f i libcpmtd:wlocale.obj + 0002:00149a40 ??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068da40 f i libcpmtd:wlocale.obj + 0002:00149ad0 ??0?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068dad0 f i libcpmtd:wlocale.obj + 0002:00149b60 ??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z 0068db60 f i libcpmtd:wlocale.obj + 0002:00149bf0 ??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z 0068dbf0 f i libcpmtd:wlocale.obj + 0002:00149c80 ??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068dc80 f i libcpmtd:wlocale.obj + 0002:00149d10 ??0?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068dd10 f i libcpmtd:wlocale.obj + 0002:00149da0 ??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068dda0 f i libcpmtd:wlocale.obj + 0002:00149e50 ??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0068de50 f i libcpmtd:wlocale.obj + 0002:00149f00 ??0_Bxty@?$_String_val@U?$_Simple_types@G@std@@@std@@QAE@XZ 0068df00 f i libcpmtd:wlocale.obj + 0002:00149f20 ??0_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ 0068df20 f i libcpmtd:wlocale.obj + 0002:00149f40 ??0_Timevec@std@@QAE@PAX@Z 0068df40 f i libcpmtd:wlocale.obj + 0002:00149f60 ??0messages_base@std@@QAE@I@Z 0068df60 f i libcpmtd:wlocale.obj + 0002:00149f90 ??0money_base@std@@QAE@I@Z 0068df90 f i libcpmtd:wlocale.obj + 0002:00149fc0 ??0time_base@std@@QAE@I@Z 0068dfc0 f i libcpmtd:wlocale.obj + 0002:00149ff0 ??1?$_Compressed_pair@V?$allocator@G@std@@V?$_String_val@U?$_Simple_types@G@std@@@2@$00@std@@QAE@XZ 0068dff0 f i libcpmtd:wlocale.obj + 0002:0014a010 ??1?$_Compressed_pair@V?$allocator@_W@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@XZ 0068e010 f i libcpmtd:wlocale.obj + 0002:0014a030 ??1?$_Mpunct@G@std@@MAE@XZ 0068e030 f i libcpmtd:wlocale.obj + 0002:0014a060 ??1?$_Mpunct@_W@std@@MAE@XZ 0068e060 f i libcpmtd:wlocale.obj + 0002:0014a090 ??1?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@XZ 0068e090 f i libcpmtd:wlocale.obj + 0002:0014a0b0 ??1?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@XZ 0068e0b0 f i libcpmtd:wlocale.obj + 0002:0014a0d0 ??1?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAE@XZ 0068e0d0 f i libcpmtd:wlocale.obj + 0002:0014a0f0 ??1?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@XZ 0068e0f0 f i libcpmtd:wlocale.obj + 0002:0014a110 ??1?$_String_val@U?$_Simple_types@G@std@@@std@@QAE@XZ 0068e110 f i libcpmtd:wlocale.obj + 0002:0014a130 ??1?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ 0068e130 f i libcpmtd:wlocale.obj + 0002:0014a150 ??1?$_Tidy_guard@V?$_Mpunct@G@std@@@std@@QAE@XZ 0068e150 f i libcpmtd:wlocale.obj + 0002:0014a180 ??1?$_Tidy_guard@V?$_Mpunct@_W@std@@@std@@QAE@XZ 0068e180 f i libcpmtd:wlocale.obj + 0002:0014a1b0 ??1?$_Tidy_guard@V?$numpunct@G@std@@@std@@QAE@XZ 0068e1b0 f i libcpmtd:wlocale.obj + 0002:0014a1e0 ??1?$_Tidy_guard@V?$numpunct@_W@std@@@std@@QAE@XZ 0068e1e0 f i libcpmtd:wlocale.obj + 0002:0014a210 ??1?$_Tidy_guard@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@QAE@XZ 0068e210 f i libcpmtd:wlocale.obj + 0002:0014a240 ??1?$_Tidy_guard@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@QAE@XZ 0068e240 f i libcpmtd:wlocale.obj + 0002:0014a270 ??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 0068e270 f i libcpmtd:wlocale.obj + 0002:0014a320 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 0068e320 f i libcpmtd:wlocale.obj + 0002:0014a3d0 ??1?$codecvt@GDU_Mbstatet@@@std@@MAE@XZ 0068e3d0 f i libcpmtd:wlocale.obj + 0002:0014a400 ??1?$codecvt@_WDU_Mbstatet@@@std@@MAE@XZ 0068e400 f i libcpmtd:wlocale.obj + 0002:0014a430 ??1?$collate@G@std@@MAE@XZ 0068e430 f i libcpmtd:wlocale.obj + 0002:0014a470 ??1?$collate@_W@std@@MAE@XZ 0068e470 f i libcpmtd:wlocale.obj + 0002:0014a4b0 ??1?$ctype@G@std@@MAE@XZ 0068e4b0 f i libcpmtd:wlocale.obj + 0002:0014a510 ??1?$ctype@_W@std@@MAE@XZ 0068e510 f i libcpmtd:wlocale.obj + 0002:0014a570 ??1?$messages@G@std@@MAE@XZ 0068e570 f i libcpmtd:wlocale.obj + 0002:0014a5a0 ??1?$messages@_W@std@@MAE@XZ 0068e5a0 f i libcpmtd:wlocale.obj + 0002:0014a5d0 ??1?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e5d0 f i libcpmtd:wlocale.obj + 0002:0014a600 ??1?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e600 f i libcpmtd:wlocale.obj + 0002:0014a630 ??1?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e630 f i libcpmtd:wlocale.obj + 0002:0014a660 ??1?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e660 f i libcpmtd:wlocale.obj + 0002:0014a690 ??1?$moneypunct@G$00@std@@MAE@XZ 0068e690 f i libcpmtd:wlocale.obj + 0002:0014a6c0 ??1?$moneypunct@G$0A@@std@@MAE@XZ 0068e6c0 f i libcpmtd:wlocale.obj + 0002:0014a6f0 ??1?$moneypunct@_W$00@std@@MAE@XZ 0068e6f0 f i libcpmtd:wlocale.obj + 0002:0014a720 ??1?$moneypunct@_W$0A@@std@@MAE@XZ 0068e720 f i libcpmtd:wlocale.obj + 0002:0014a750 ??1?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e750 f i libcpmtd:wlocale.obj + 0002:0014a780 ??1?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e780 f i libcpmtd:wlocale.obj + 0002:0014a7b0 ??1?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e7b0 f i libcpmtd:wlocale.obj + 0002:0014a7e0 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e7e0 f i libcpmtd:wlocale.obj + 0002:0014a810 ??1?$numpunct@G@std@@MAE@XZ 0068e810 f i libcpmtd:wlocale.obj + 0002:0014a840 ??1?$numpunct@_W@std@@MAE@XZ 0068e840 f i libcpmtd:wlocale.obj + 0002:0014a870 ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e870 f i libcpmtd:wlocale.obj + 0002:0014a8a0 ??1?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e8a0 f i libcpmtd:wlocale.obj + 0002:0014a8d0 ??1?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ 0068e8d0 f i libcpmtd:wlocale.obj + 0002:0014a900 ??1?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ 0068e900 f i libcpmtd:wlocale.obj + 0002:0014a930 ??1_Bxty@?$_String_val@U?$_Simple_types@G@std@@@std@@QAE@XZ 0068e930 f i libcpmtd:wlocale.obj + 0002:0014a940 ??1_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ 0068e940 f i libcpmtd:wlocale.obj + 0002:0014a950 ??1_Timevec@std@@QAE@XZ 0068e950 f i libcpmtd:wlocale.obj + 0002:0014a970 ??1messages_base@std@@UAE@XZ 0068e970 f i libcpmtd:wlocale.obj + 0002:0014a990 ??1money_base@std@@UAE@XZ 0068e990 f i libcpmtd:wlocale.obj + 0002:0014a9b0 ??1time_base@std@@UAE@XZ 0068e9b0 f i libcpmtd:wlocale.obj + 0002:0014a9e0 ??4?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@$$QAV01@@Z 0068e9e0 f i libcpmtd:wlocale.obj + 0002:0014aa20 ??4?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@$$QAV01@@Z 0068ea20 f i libcpmtd:wlocale.obj + 0002:0014aa60 ??4?$_Yarn@_W@std@@QAEAAV01@PB_W@Z 0068ea60 f i libcpmtd:wlocale.obj + 0002:0014ab20 ??4?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@$$QAV01@@Z 0068eb20 f i libcpmtd:wlocale.obj + 0002:0014ab70 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@$$QAV01@@Z 0068eb70 f i libcpmtd:wlocale.obj + 0002:0014abc0 ??4?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z 0068ebc0 f i libcpmtd:wlocale.obj + 0002:0014ac40 ??4?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QAEAAV01@_W@Z 0068ec40 f i libcpmtd:wlocale.obj + 0002:0014acc0 ??4_Timevec@std@@QAEAAV01@ABV01@@Z 0068ecc0 f i libcpmtd:wlocale.obj + 0002:0014acf0 ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE_NABV01@@Z 0068ecf0 f i libcpmtd:wlocale.obj + 0002:0014ad40 ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE_NABV01@@Z 0068ed40 f i libcpmtd:wlocale.obj + 0002:0014ad90 ??9?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE_NABV01@@Z 0068ed90 f i libcpmtd:wlocale.obj + 0002:0014ade0 ??9?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE_NABV01@@Z 0068ede0 f i libcpmtd:wlocale.obj + 0002:0014ae30 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z 0068ee30 f i libcpmtd:wlocale.obj + 0002:0014aee0 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z 0068eee0 f i libcpmtd:wlocale.obj + 0002:0014af90 ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAA_WI@Z 0068ef90 f i libcpmtd:wlocale.obj + 0002:0014b040 ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEAB_WI@Z 0068f040 f i libcpmtd:wlocale.obj + 0002:0014b0f0 ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEABGXZ 0068f0f0 f i libcpmtd:wlocale.obj + 0002:0014b290 ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAB_WXZ 0068f290 f i libcpmtd:wlocale.obj + 0002:0014b430 ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEAAGXZ 0068f430 f i libcpmtd:wlocale.obj + 0002:0014b450 ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAA_WXZ 0068f450 f i libcpmtd:wlocale.obj + 0002:0014b470 ??D?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@QBEGXZ 0068f470 f i libcpmtd:wlocale.obj + 0002:0014b510 ??D?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QBE_WXZ 0068f510 f i libcpmtd:wlocale.obj + 0002:0014b5b0 ??D?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@QAEAAV01@XZ 0068f5b0 f i libcpmtd:wlocale.obj + 0002:0014b5d0 ??D?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QAEAAV01@XZ 0068f5d0 f i libcpmtd:wlocale.obj + 0002:0014b5f0 ??E?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@XZ 0068f5f0 f i libcpmtd:wlocale.obj + 0002:0014b790 ??E?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@XZ 0068f790 f i libcpmtd:wlocale.obj + 0002:0014b930 ??E?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@XZ 0068f930 f i libcpmtd:wlocale.obj + 0002:0014b950 ??E?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@XZ 0068f950 f i libcpmtd:wlocale.obj + 0002:0014b970 ??E?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@QAEAAV01@XZ 0068f970 f i libcpmtd:wlocale.obj + 0002:0014ba00 ??E?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QAEAAV01@XZ 0068fa00 f i libcpmtd:wlocale.obj + 0002:0014ba90 ??E?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@QAEAAV01@H@Z 0068fa90 f i libcpmtd:wlocale.obj + 0002:0014bab0 ??E?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@QAEAAV01@XZ 0068fab0 f i libcpmtd:wlocale.obj + 0002:0014bad0 ??E?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z 0068fad0 f i libcpmtd:wlocale.obj + 0002:0014baf0 ??E?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QAEAAV01@XZ 0068faf0 f i libcpmtd:wlocale.obj + 0002:0014bb10 ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 0068fb10 f i libcpmtd:wlocale.obj + 0002:0014bbc0 ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 0068fbc0 f i libcpmtd:wlocale.obj + 0002:0014bc70 ??H?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 0068fc70 f i libcpmtd:wlocale.obj + 0002:0014bd20 ??H?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 0068fd20 f i libcpmtd:wlocale.obj + 0002:0014bdd0 ??R@?1??append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV23@IG@Z@QBEXQAGQBGIIG@Z 0068fdd0 f i libcpmtd:wlocale.obj + 0002:0014be50 ??R@?1??append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV23@QBGI@Z@QBEXQAG0I0I@Z 0068fe50 f i libcpmtd:wlocale.obj + 0002:0014bed0 ??R@?1??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV23@I_W@Z@QBEXQA_WQB_WII0@Z 0068fed0 f i libcpmtd:wlocale.obj + 0002:0014bf50 ??R@?1??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV23@QB_WI@Z@QBEXQA_W0I0I@Z 0068ff50 f i libcpmtd:wlocale.obj + 0002:0014bfd0 ??R@?1??assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV23@IG@Z@QBEXQAGIG@Z 0068ffd0 f i libcpmtd:wlocale.obj + 0002:0014c020 ??R@?1??assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV23@QBGI@Z@QBEXQAGI0@Z 00690020 f i libcpmtd:wlocale.obj + 0002:0014c070 ??R@?1??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV23@I_W@Z@QBEXQA_WI0@Z 00690070 f i libcpmtd:wlocale.obj + 0002:0014c0c0 ??R@?1??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV23@QB_WI@Z@QBEXQA_WI0@Z 006900c0 f i libcpmtd:wlocale.obj + 0002:0014c110 ??R@?1??insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV23@IIG@Z@QBEXQAGQBGIIIG@Z 00690110 f i libcpmtd:wlocale.obj + 0002:0014c1a0 ??R@?1??insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV23@II_W@Z@QBEXQA_WQB_WIII0@Z 006901a0 f i libcpmtd:wlocale.obj + 0002:0014c230 ??R@?1??push_back@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXG@Z@QBEXQAGQBGIG@Z 00690230 f i libcpmtd:wlocale.obj + 0002:0014c2a0 ??R@?1??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@QBEXQA_WQB_WI0@Z 006902a0 f i libcpmtd:wlocale.obj + 0002:0014c310 ??Y?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@H@Z 00690310 f i libcpmtd:wlocale.obj + 0002:0014c350 ??Y?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@H@Z 00690350 f i libcpmtd:wlocale.obj + 0002:0014c390 ??Y?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@H@Z 00690390 f i libcpmtd:wlocale.obj + 0002:0014c3c0 ??Y?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@H@Z 006903c0 f i libcpmtd:wlocale.obj + 0002:0014c3f0 ??Y?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV01@ABV01@@Z 006903f0 f i libcpmtd:wlocale.obj + 0002:0014c410 ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z 00690410 f i libcpmtd:wlocale.obj + 0002:0014c430 ??Z?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@H@Z 00690430 f i libcpmtd:wlocale.obj + 0002:0014c460 ??Z?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@H@Z 00690460 f i libcpmtd:wlocale.obj + 0002:0014c490 ??Z?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QAEAAV01@H@Z 00690490 f i libcpmtd:wlocale.obj + 0002:0014c4c0 ??Z?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAEAAV01@H@Z 006904c0 f i libcpmtd:wlocale.obj + 0002:0014c4f0 ??_G?$_Mpunct@G@std@@MAEPAXI@Z 006904f0 f i libcpmtd:wlocale.obj + 0002:0014c4f0 ??_E?$_Mpunct@G@std@@MAEPAXI@Z 006904f0 f i libcpmtd:wlocale.obj + 0002:0014c550 ??_G?$_Mpunct@_W@std@@MAEPAXI@Z 00690550 f i libcpmtd:wlocale.obj + 0002:0014c550 ??_E?$_Mpunct@_W@std@@MAEPAXI@Z 00690550 f i libcpmtd:wlocale.obj + 0002:0014c5b0 ??_E?$codecvt@GDU_Mbstatet@@@std@@MAEPAXI@Z 006905b0 f i libcpmtd:wlocale.obj + 0002:0014c5b0 ??_G?$codecvt@GDU_Mbstatet@@@std@@MAEPAXI@Z 006905b0 f i libcpmtd:wlocale.obj + 0002:0014c610 ??_G?$codecvt@_WDU_Mbstatet@@@std@@MAEPAXI@Z 00690610 f i libcpmtd:wlocale.obj + 0002:0014c610 ??_E?$codecvt@_WDU_Mbstatet@@@std@@MAEPAXI@Z 00690610 f i libcpmtd:wlocale.obj + 0002:0014c670 ??_E?$collate@G@std@@MAEPAXI@Z 00690670 f i libcpmtd:wlocale.obj + 0002:0014c670 ??_G?$collate@G@std@@MAEPAXI@Z 00690670 f i libcpmtd:wlocale.obj + 0002:0014c6d0 ??_G?$collate@_W@std@@MAEPAXI@Z 006906d0 f i libcpmtd:wlocale.obj + 0002:0014c6d0 ??_E?$collate@_W@std@@MAEPAXI@Z 006906d0 f i libcpmtd:wlocale.obj + 0002:0014c730 ??_G?$ctype@G@std@@MAEPAXI@Z 00690730 f i libcpmtd:wlocale.obj + 0002:0014c730 ??_E?$ctype@G@std@@MAEPAXI@Z 00690730 f i libcpmtd:wlocale.obj + 0002:0014c790 ??_E?$ctype@_W@std@@MAEPAXI@Z 00690790 f i libcpmtd:wlocale.obj + 0002:0014c790 ??_G?$ctype@_W@std@@MAEPAXI@Z 00690790 f i libcpmtd:wlocale.obj + 0002:0014c7f0 ??_G?$messages@G@std@@MAEPAXI@Z 006907f0 f i libcpmtd:wlocale.obj + 0002:0014c7f0 ??_E?$messages@G@std@@MAEPAXI@Z 006907f0 f i libcpmtd:wlocale.obj + 0002:0014c850 ??_G?$messages@_W@std@@MAEPAXI@Z 00690850 f i libcpmtd:wlocale.obj + 0002:0014c850 ??_E?$messages@_W@std@@MAEPAXI@Z 00690850 f i libcpmtd:wlocale.obj + 0002:0014c8b0 ??_G?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 006908b0 f i libcpmtd:wlocale.obj + 0002:0014c8b0 ??_E?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 006908b0 f i libcpmtd:wlocale.obj + 0002:0014c910 ??_G?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690910 f i libcpmtd:wlocale.obj + 0002:0014c910 ??_E?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690910 f i libcpmtd:wlocale.obj + 0002:0014c970 ??_G?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690970 f i libcpmtd:wlocale.obj + 0002:0014c970 ??_E?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690970 f i libcpmtd:wlocale.obj + 0002:0014c9d0 ??_G?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 006909d0 f i libcpmtd:wlocale.obj + 0002:0014c9d0 ??_E?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 006909d0 f i libcpmtd:wlocale.obj + 0002:0014ca30 ??_G?$moneypunct@G$00@std@@MAEPAXI@Z 00690a30 f i libcpmtd:wlocale.obj + 0002:0014ca30 ??_E?$moneypunct@G$00@std@@MAEPAXI@Z 00690a30 f i libcpmtd:wlocale.obj + 0002:0014ca90 ??_G?$moneypunct@G$0A@@std@@MAEPAXI@Z 00690a90 f i libcpmtd:wlocale.obj + 0002:0014ca90 ??_E?$moneypunct@G$0A@@std@@MAEPAXI@Z 00690a90 f i libcpmtd:wlocale.obj + 0002:0014caf0 ??_G?$moneypunct@_W$00@std@@MAEPAXI@Z 00690af0 f i libcpmtd:wlocale.obj + 0002:0014caf0 ??_E?$moneypunct@_W$00@std@@MAEPAXI@Z 00690af0 f i libcpmtd:wlocale.obj + 0002:0014cb50 ??_E?$moneypunct@_W$0A@@std@@MAEPAXI@Z 00690b50 f i libcpmtd:wlocale.obj + 0002:0014cb50 ??_G?$moneypunct@_W$0A@@std@@MAEPAXI@Z 00690b50 f i libcpmtd:wlocale.obj + 0002:0014cbb0 ??_G?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690bb0 f i libcpmtd:wlocale.obj + 0002:0014cbb0 ??_E?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690bb0 f i libcpmtd:wlocale.obj + 0002:0014cc10 ??_G?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690c10 f i libcpmtd:wlocale.obj + 0002:0014cc10 ??_E?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690c10 f i libcpmtd:wlocale.obj + 0002:0014cc70 ??_G?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690c70 f i libcpmtd:wlocale.obj + 0002:0014cc70 ??_E?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690c70 f i libcpmtd:wlocale.obj + 0002:0014ccd0 ??_E?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690cd0 f i libcpmtd:wlocale.obj + 0002:0014ccd0 ??_G?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690cd0 f i libcpmtd:wlocale.obj + 0002:0014cd30 ??_G?$numpunct@G@std@@MAEPAXI@Z 00690d30 f i libcpmtd:wlocale.obj + 0002:0014cd30 ??_E?$numpunct@G@std@@MAEPAXI@Z 00690d30 f i libcpmtd:wlocale.obj + 0002:0014cd90 ??_E?$numpunct@_W@std@@MAEPAXI@Z 00690d90 f i libcpmtd:wlocale.obj + 0002:0014cd90 ??_G?$numpunct@_W@std@@MAEPAXI@Z 00690d90 f i libcpmtd:wlocale.obj + 0002:0014cdf0 ??_G?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690df0 f i libcpmtd:wlocale.obj + 0002:0014cdf0 ??_E?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690df0 f i libcpmtd:wlocale.obj + 0002:0014ce50 ??_E?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690e50 f i libcpmtd:wlocale.obj + 0002:0014ce50 ??_G?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690e50 f i libcpmtd:wlocale.obj + 0002:0014ceb0 ??_E?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690eb0 f i libcpmtd:wlocale.obj + 0002:0014ceb0 ??_G?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAEPAXI@Z 00690eb0 f i libcpmtd:wlocale.obj + 0002:0014cf10 ??_E?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690f10 f i libcpmtd:wlocale.obj + 0002:0014cf10 ??_G?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAEPAXI@Z 00690f10 f i libcpmtd:wlocale.obj + 0002:0014cf70 ??_Emessages_base@std@@UAEPAXI@Z 00690f70 f i libcpmtd:wlocale.obj + 0002:0014cf70 ??_Gmessages_base@std@@UAEPAXI@Z 00690f70 f i libcpmtd:wlocale.obj + 0002:0014cfd0 ??_Gmoney_base@std@@UAEPAXI@Z 00690fd0 f i libcpmtd:wlocale.obj + 0002:0014cfd0 ??_Emoney_base@std@@UAEPAXI@Z 00690fd0 f i libcpmtd:wlocale.obj + 0002:0014d030 ??_Etime_base@std@@UAEPAXI@Z 00691030 f i libcpmtd:wlocale.obj + 0002:0014d030 ??_Gtime_base@std@@UAEPAXI@Z 00691030 f i libcpmtd:wlocale.obj + 0002:0014d090 ?_C_str@?$_Yarn@_W@std@@QBEPB_WXZ 00691090 f i libcpmtd:wlocale.obj + 0002:0014d0d0 ?_Calculate_growth@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ABEII@Z 006910d0 f i libcpmtd:wlocale.obj + 0002:0014d120 ?_Calculate_growth@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAIIII@Z 00691120 f i libcpmtd:wlocale.obj + 0002:0014d190 ?_Calculate_growth@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABEII@Z 00691190 f i libcpmtd:wlocale.obj + 0002:0014d1e0 ?_Calculate_growth@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@CAIIII@Z 006911e0 f i libcpmtd:wlocale.obj + 0002:0014d250 ?_Check_offset@?$_String_val@U?$_Simple_types@G@std@@@std@@QBEXI@Z 00691250 f i libcpmtd:wlocale.obj + 0002:0014d280 ?_Check_offset@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEXI@Z 00691280 f i libcpmtd:wlocale.obj + 0002:0014d2b0 ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEXABV12@@Z 006912b0 f i libcpmtd:wlocale.obj + 0002:0014d340 ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEXABV12@@Z 00691340 f i libcpmtd:wlocale.obj + 0002:0014d3d0 ?_Construct_lv_contents@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXABV12@@Z 006913d0 f i libcpmtd:wlocale.obj + 0002:0014d520 ?_Construct_lv_contents@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXABV12@@Z 00691520 f i libcpmtd:wlocale.obj + 0002:0014d670 ?_Donarrow@?$ctype@G@std@@IBEDGD@Z 00691670 f i libcpmtd:wlocale.obj + 0002:0014d6f0 ?_Donarrow@?$ctype@_W@std@@IBED_WD@Z 006916f0 f i libcpmtd:wlocale.obj + 0002:0014d770 ?_Dowiden@?$ctype@G@std@@IBEGD@Z 00691770 f i libcpmtd:wlocale.obj + 0002:0014d7e0 ?_Dowiden@?$ctype@_W@std@@IBE_WD@Z 006917e0 f i libcpmtd:wlocale.obj + 0002:0014d850 ?_Empty@?$_Yarn@_W@std@@QBE_NXZ 00691850 f i libcpmtd:wlocale.obj + 0002:0014d890 ?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXI@Z 00691890 f i libcpmtd:wlocale.obj + 0002:0014d900 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXI@Z 00691900 f i libcpmtd:wlocale.obj + 0002:0014d970 ?_Ffmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAPADPADDH@Z 00691970 f i libcpmtd:wlocale.obj + 0002:0014db00 ?_Ffmt@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAPADPADDH@Z 00691b00 f i libcpmtd:wlocale.obj + 0002:0014dc90 ?_Fnv1a_append_bytes@std@@YAIIQBEI@Z 00691c90 f i libcpmtd:wlocale.obj + 0002:0014dce0 ?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z 00691ce0 f i libcpmtd:wlocale.obj + 0002:0014e330 ?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z 00692330 f i libcpmtd:wlocale.obj + 0002:0014e980 ?_Get_data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@G@std@@@2@XZ 00692980 f i libcpmtd:wlocale.obj + 0002:0014e9a0 ?_Get_data@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ABEABV?$_String_val@U?$_Simple_types@G@std@@@2@XZ 006929a0 f i libcpmtd:wlocale.obj + 0002:0014e9c0 ?_Get_data@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ 006929c0 f i libcpmtd:wlocale.obj + 0002:0014e9e0 ?_Get_data@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ 006929e0 f i libcpmtd:wlocale.obj + 0002:0014ea00 ?_Get_first@?$_Compressed_pair@V?$allocator@G@std@@V?$_String_val@U?$_Simple_types@G@std@@@2@$00@std@@QAEAAV?$allocator@G@2@XZ 00692a00 f i libcpmtd:wlocale.obj + 0002:0014ea20 ?_Get_first@?$_Compressed_pair@V?$allocator@G@std@@V?$_String_val@U?$_Simple_types@G@std@@@2@$00@std@@QBEABV?$allocator@G@2@XZ 00692a20 f i libcpmtd:wlocale.obj + 0002:0014ea40 ?_Get_first@?$_Compressed_pair@V?$allocator@_W@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAV?$allocator@_W@2@XZ 00692a40 f i libcpmtd:wlocale.obj + 0002:0014ea60 ?_Get_first@?$_Compressed_pair@V?$allocator@_W@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABV?$allocator@_W@2@XZ 00692a60 f i libcpmtd:wlocale.obj + 0002:0014ea80 ?_Getal@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEAAV?$allocator@G@2@XZ 00692a80 f i libcpmtd:wlocale.obj + 0002:0014eaa0 ?_Getal@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ABEABV?$allocator@G@2@XZ 00692aa0 f i libcpmtd:wlocale.obj + 0002:0014eac0 ?_Getal@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEAAV?$allocator@_W@2@XZ 00692ac0 f i libcpmtd:wlocale.obj + 0002:0014eae0 ?_Getal@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABEABV?$allocator@_W@2@XZ 00692ae0 f i libcpmtd:wlocale.obj + 0002:0014eb00 ?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00692b00 f i libcpmtd:wlocale.obj + 0002:0014ec20 ?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00692c20 f i libcpmtd:wlocale.obj + 0002:0014ed40 ?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00692d40 f i libcpmtd:wlocale.obj + 0002:0014eed0 ?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00692ed0 f i libcpmtd:wlocale.obj + 0002:0014f060 ?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693060 f i libcpmtd:wlocale.obj + 0002:0014f180 ?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693180 f i libcpmtd:wlocale.obj + 0002:0014f2a0 ?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006932a0 f i libcpmtd:wlocale.obj + 0002:0014f3c0 ?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006933c0 f i libcpmtd:wlocale.obj + 0002:0014f4e0 ?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006934e0 f i libcpmtd:wlocale.obj + 0002:0014f600 ?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693600 f i libcpmtd:wlocale.obj + 0002:0014f720 ?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693720 f i libcpmtd:wlocale.obj + 0002:0014f840 ?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693840 f i libcpmtd:wlocale.obj + 0002:0014f960 ?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693960 f i libcpmtd:wlocale.obj + 0002:0014fa90 ?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693a90 f i libcpmtd:wlocale.obj + 0002:0014fbc0 ?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693bc0 f i libcpmtd:wlocale.obj + 0002:0014fcf0 ?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693cf0 f i libcpmtd:wlocale.obj + 0002:0014fe20 ?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693e20 f i libcpmtd:wlocale.obj + 0002:0014ff40 ?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00693f40 f i libcpmtd:wlocale.obj + 0002:00150060 ?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694060 f i libcpmtd:wlocale.obj + 0002:00150180 ?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694180 f i libcpmtd:wlocale.obj + 0002:001502a0 ?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006942a0 f i libcpmtd:wlocale.obj + 0002:001503d0 ?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006943d0 f i libcpmtd:wlocale.obj + 0002:00150500 ?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694500 f i libcpmtd:wlocale.obj + 0002:00150620 ?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694620 f i libcpmtd:wlocale.obj + 0002:00150740 ?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694740 f i libcpmtd:wlocale.obj + 0002:00150860 ?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00694860 f i libcpmtd:wlocale.obj + 0002:00150980 ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ 00694980 f i libcpmtd:wlocale.obj + 0002:001509c0 ?_Getdateorder@_Locinfo@std@@QBEHXZ 006949c0 f i libcpmtd:wlocale.obj + 0002:001509e0 ?_Getdays@_Locinfo@std@@QBEPBDXZ 006949e0 f i libcpmtd:wlocale.obj + 0002:00150a60 ?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 00694a60 f i libcpmtd:wlocale.obj + 0002:00151650 ?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 00695650 f i libcpmtd:wlocale.obj + 0002:00152240 ?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 00696240 f i libcpmtd:wlocale.obj + 0002:00152fb0 ?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 00696fb0 f i libcpmtd:wlocale.obj + 0002:00153d20 ?_Getfmt@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00697d20 f i libcpmtd:wlocale.obj + 0002:00153f50 ?_Getfmt@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00697f50 f i libcpmtd:wlocale.obj + 0002:00154180 ?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z 00698180 f i libcpmtd:wlocale.obj + 0002:00154950 ?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z 00698950 f i libcpmtd:wlocale.obj + 0002:00155120 ?_Getint@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0HHAAHABV?$ctype@G@2@@Z 00699120 f i libcpmtd:wlocale.obj + 0002:001553a0 ?_Getint@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0HHAAHABV?$ctype@_W@2@@Z 006993a0 f i libcpmtd:wlocale.obj + 0002:00155620 ?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z 00699620 f i libcpmtd:wlocale.obj + 0002:00156a30 ?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z 0069aa30 f i libcpmtd:wlocale.obj + 0002:00157e40 ?_Getmonths@_Locinfo@std@@QBEPBDXZ 0069be40 f i libcpmtd:wlocale.obj + 0002:00157ec0 ?_Getptr@_Timevec@std@@QBEPAXXZ 0069bec0 f i libcpmtd:wlocale.obj + 0002:00157ee0 ?_Getvals@?$_Mpunct@_W@std@@IAEX_WPBUlconv@@@Z 0069bee0 f i libcpmtd:wlocale.obj + 0002:00157ff0 ?_Getvals@?$numpunct@_W@std@@IAEX_WPBUlconv@@U_Cvtvec@@@Z 0069bff0 f i libcpmtd:wlocale.obj + 0002:00158040 ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBE_JXZ 0069c040 f i libcpmtd:wlocale.obj + 0002:00158080 ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBE_JXZ 0069c080 f i libcpmtd:wlocale.obj + 0002:001580c0 ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ 0069c0c0 f i libcpmtd:wlocale.obj + 0002:00158120 ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ 0069c120 f i libcpmtd:wlocale.obj + 0002:00158180 ?_Ifmt@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAPADPADPBDH@Z 0069c180 f i libcpmtd:wlocale.obj + 0002:001582f0 ?_Ifmt@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAPADPADPBDH@Z 0069c2f0 f i libcpmtd:wlocale.obj + 0002:00158460 ?_Inc@?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@AAEXXZ 0069c460 f i libcpmtd:wlocale.obj + 0002:001584e0 ?_Inc@?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@AAEXXZ 0069c4e0 f i libcpmtd:wlocale.obj + 0002:00158560 ?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 0069c560 f i libcpmtd:wlocale.obj + 0002:00158780 ?_Init@?$_Mpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 0069c780 f i libcpmtd:wlocale.obj + 0002:001589a0 ?_Init@?$codecvt@GDU_Mbstatet@@@std@@IAEXABV_Locinfo@2@@Z 0069c9a0 f i libcpmtd:wlocale.obj + 0002:00158a00 ?_Init@?$codecvt@_WDU_Mbstatet@@@std@@IAEXABV_Locinfo@2@@Z 0069ca00 f i libcpmtd:wlocale.obj + 0002:00158a60 ?_Init@?$collate@G@std@@IAEXABV_Locinfo@2@@Z 0069ca60 f i libcpmtd:wlocale.obj + 0002:00158aa0 ?_Init@?$collate@_W@std@@IAEXABV_Locinfo@2@@Z 0069caa0 f i libcpmtd:wlocale.obj + 0002:00158ae0 ?_Init@?$ctype@G@std@@IAEXABV_Locinfo@2@@Z 0069cae0 f i libcpmtd:wlocale.obj + 0002:00158b70 ?_Init@?$ctype@_W@std@@IAEXABV_Locinfo@2@@Z 0069cb70 f i libcpmtd:wlocale.obj + 0002:00158c00 ?_Init@?$messages@G@std@@IAEXABV_Locinfo@2@@Z 0069cc00 f i libcpmtd:wlocale.obj + 0002:00158c10 ?_Init@?$messages@_W@std@@IAEXABV_Locinfo@2@@Z 0069cc10 f i libcpmtd:wlocale.obj + 0002:00158c20 ?_Init@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc20 f i libcpmtd:wlocale.obj + 0002:00158c30 ?_Init@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc30 f i libcpmtd:wlocale.obj + 0002:00158c40 ?_Init@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc40 f i libcpmtd:wlocale.obj + 0002:00158c50 ?_Init@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc50 f i libcpmtd:wlocale.obj + 0002:00158c60 ?_Init@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc60 f i libcpmtd:wlocale.obj + 0002:00158c70 ?_Init@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc70 f i libcpmtd:wlocale.obj + 0002:00158c80 ?_Init@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc80 f i libcpmtd:wlocale.obj + 0002:00158c90 ?_Init@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069cc90 f i libcpmtd:wlocale.obj + 0002:00158ca0 ?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 0069cca0 f i libcpmtd:wlocale.obj + 0002:00158e70 ?_Init@?$numpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 0069ce70 f i libcpmtd:wlocale.obj + 0002:00159040 ?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069d040 f i libcpmtd:wlocale.obj + 0002:00159100 ?_Init@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069d100 f i libcpmtd:wlocale.obj + 0002:001591c0 ?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069d1c0 f i libcpmtd:wlocale.obj + 0002:00159250 ?_Init@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0069d250 f i libcpmtd:wlocale.obj + 0002:001592e0 ?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z 0069d2e0 f i libcpmtd:wlocale.obj + 0002:00159830 ?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z 0069d830 f i libcpmtd:wlocale.obj + 0002:00159d80 ?_Large_string_engaged@?$_String_val@U?$_Simple_types@G@std@@@std@@QBE_NXZ 0069dd80 f i libcpmtd:wlocale.obj + 0002:00159dc0 ?_Large_string_engaged@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBE_NXZ 0069ddc0 f i libcpmtd:wlocale.obj + 0002:00159e00 ?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 0069de00 f libcpmtd:wlocale.obj + 0002:0015abe0 ?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 0069ebe0 f libcpmtd:wlocale.obj + 0002:0015b9c0 ?_Maklocwcs@std@@YAPA_WPB_W@Z 0069f9c0 f i libcpmtd:wlocale.obj + 0002:0015ba30 ?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@III@Z 0069fa30 f i libcpmtd:wlocale.obj + 0002:0015bab0 ?_Makpat@?$_Mpunct@_W@std@@AAEXAAUpattern@money_base@2@III@Z 0069fab0 f i libcpmtd:wlocale.obj + 0002:0015bb30 ?_Memcpy_val_from@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXABV12@@Z 0069fb30 f i libcpmtd:wlocale.obj + 0002:0015bba0 ?_Memcpy_val_from@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXABV12@@Z 0069fba0 f i libcpmtd:wlocale.obj + 0002:0015bc10 ?_Move_assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 0069fc10 f i libcpmtd:wlocale.obj + 0002:0015bc80 ?_Move_assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 0069fc80 f i libcpmtd:wlocale.obj + 0002:0015bcf0 ?_Myptr@?$_String_val@U?$_Simple_types@G@std@@@std@@QAEPAGXZ 0069fcf0 f i libcpmtd:wlocale.obj + 0002:0015bd40 ?_Myptr@?$_String_val@U?$_Simple_types@G@std@@@std@@QBEPBGXZ 0069fd40 f i libcpmtd:wlocale.obj + 0002:0015bd90 ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAEPA_WXZ 0069fd90 f i libcpmtd:wlocale.obj + 0002:0015bde0 ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEPB_WXZ 0069fde0 f i libcpmtd:wlocale.obj + 0002:0015be30 ?_Peek@?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@ABEGXZ 0069fe30 f i libcpmtd:wlocale.obj + 0002:0015bec0 ?_Peek@?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@ABE_WXZ 0069fec0 f i libcpmtd:wlocale.obj + 0002:0015bf50 ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBE_JXZ 0069ff50 f i libcpmtd:wlocale.obj + 0002:0015bf90 ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBE_JXZ 0069ff90 f i libcpmtd:wlocale.obj + 0002:0015bfd0 ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ 0069ffd0 f i libcpmtd:wlocale.obj + 0002:0015c030 ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ 006a0030 f i libcpmtd:wlocale.obj + 0002:0015c090 ?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@I@Z 006a0090 f i libcpmtd:wlocale.obj + 0002:0015c160 ?_Put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@I@Z 006a0160 f i libcpmtd:wlocale.obj + 0002:0015c230 ?_Put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@PBGI@Z 006a0230 f i libcpmtd:wlocale.obj + 0002:0015c2b0 ?_Put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@PB_WI@Z 006a02b0 f i libcpmtd:wlocale.obj + 0002:0015c330 ?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z 006a0330 f i libcpmtd:wlocale.obj + 0002:0015d550 ?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z 006a1550 f i libcpmtd:wlocale.obj + 0002:0015e770 ?_Rep@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z 006a2770 f i libcpmtd:wlocale.obj + 0002:0015e7d0 ?_Rep@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_WI@Z 006a27d0 f i libcpmtd:wlocale.obj + 0002:0015e830 ?_Rep@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@GI@Z 006a2830 f i libcpmtd:wlocale.obj + 0002:0015e890 ?_Rep@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_WI@Z 006a2890 f i libcpmtd:wlocale.obj + 0002:0015e8f0 ?_Swap_proxy_and_iterators@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXAAV12@@Z 006a28f0 f i libcpmtd:wlocale.obj + 0002:0015e930 ?_Swap_proxy_and_iterators@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXAAV12@@Z 006a2930 f i libcpmtd:wlocale.obj + 0002:0015e970 ?_Take_contents@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 006a2970 f i libcpmtd:wlocale.obj + 0002:0015ea10 ?_Take_contents@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 006a2a10 f i libcpmtd:wlocale.obj + 0002:0015eab0 ?_Tidy@?$_Mpunct@G@std@@AAEXXZ 006a2ab0 f i libcpmtd:wlocale.obj + 0002:0015eb10 ?_Tidy@?$_Mpunct@_W@std@@AAEXXZ 006a2b10 f i libcpmtd:wlocale.obj + 0002:0015eb70 ?_Tidy@?$numpunct@G@std@@AAEXXZ 006a2b70 f i libcpmtd:wlocale.obj + 0002:0015ebc0 ?_Tidy@?$numpunct@_W@std@@AAEXXZ 006a2bc0 f i libcpmtd:wlocale.obj + 0002:0015ec10 ?_Tidy@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@AAEXXZ 006a2c10 f i libcpmtd:wlocale.obj + 0002:0015ec60 ?_Tidy@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@AAEXXZ 006a2c60 f i libcpmtd:wlocale.obj + 0002:0015ecb0 ?_Tidy_deallocate@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ 006a2cb0 f i libcpmtd:wlocale.obj + 0002:0015edc0 ?_Tidy_deallocate@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXXZ 006a2dc0 f i libcpmtd:wlocale.obj + 0002:0015eed0 ?_Tidy_init@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ 006a2ed0 f i libcpmtd:wlocale.obj + 0002:0015ef40 ?_Tidy_init@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXXZ 006a2f40 f i libcpmtd:wlocale.obj + 0002:0015efb0 ?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEXH@Z 006a2fb0 f i libcpmtd:wlocale.obj + 0002:0015f210 ?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEXH@Z 006a3210 f i libcpmtd:wlocale.obj + 0002:0015f470 ?_W_Getdays@_Locinfo@std@@QBEPBGXZ 006a3470 f i libcpmtd:wlocale.obj + 0002:0015f4f0 ?_W_Getmonths@_Locinfo@std@@QBEPBGXZ 006a34f0 f i libcpmtd:wlocale.obj + 0002:0015f570 ?_W_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ 006a3570 f i libcpmtd:wlocale.obj + 0002:0015f5b0 ?_Xlen@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@CAXXZ 006a35b0 f i libcpmtd:wlocale.obj + 0002:0015f5d0 ?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@CAXXZ 006a35d0 f i libcpmtd:wlocale.obj + 0002:0015f5f0 ?_Xran@?$_String_val@U?$_Simple_types@G@std@@@std@@SAXXZ 006a35f0 f i libcpmtd:wlocale.obj + 0002:0015f610 ?_Xran@?$_String_val@U?$_Simple_types@_W@std@@@std@@SAXXZ 006a3610 f i libcpmtd:wlocale.obj + 0002:0015f630 ?allocate@?$allocator@_W@std@@QAEPA_WI@Z 006a3630 f i libcpmtd:wlocale.obj + 0002:0015f660 ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@ABV12@@Z 006a3660 f i libcpmtd:wlocale.obj + 0002:0015f6b0 ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z 006a36b0 f i libcpmtd:wlocale.obj + 0002:0015f780 ?append@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@QBGI@Z 006a3780 f i libcpmtd:wlocale.obj + 0002:0015f850 ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@@Z 006a3850 f i libcpmtd:wlocale.obj + 0002:0015f8a0 ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I_W@Z 006a38a0 f i libcpmtd:wlocale.obj + 0002:0015f970 ?append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@QB_WI@Z 006a3970 f i libcpmtd:wlocale.obj + 0002:0015fa40 ?assign@?$_WChar_traits@G@std@@SAPAGQAGIG@Z 006a3a40 f i libcpmtd:wlocale.obj + 0002:0015fa60 ?assign@?$_WChar_traits@G@std@@SAXAAGABG@Z 006a3a60 f i libcpmtd:wlocale.obj + 0002:0015fa80 ?assign@?$_WChar_traits@_W@std@@SAPA_WQA_WI_W@Z 006a3a80 f i libcpmtd:wlocale.obj + 0002:0015faa0 ?assign@?$_WChar_traits@_W@std@@SAXAA_WAB_W@Z 006a3aa0 f i libcpmtd:wlocale.obj + 0002:0015fac0 ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@$$QAV12@@Z 006a3ac0 f i libcpmtd:wlocale.obj + 0002:0015faf0 ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IG@Z 006a3af0 f i libcpmtd:wlocale.obj + 0002:0015fba0 ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@QBG@Z 006a3ba0 f i libcpmtd:wlocale.obj + 0002:0015fbe0 ?assign@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@QBGI@Z 006a3be0 f i libcpmtd:wlocale.obj + 0002:0015fc90 ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@$$QAV12@@Z 006a3c90 f i libcpmtd:wlocale.obj + 0002:0015fcc0 ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I_W@Z 006a3cc0 f i libcpmtd:wlocale.obj + 0002:0015fd70 ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@QB_W@Z 006a3d70 f i libcpmtd:wlocale.obj + 0002:0015fdb0 ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@QB_WI@Z 006a3db0 f i libcpmtd:wlocale.obj + 0002:0015fe60 ?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 006a3e60 f i libcpmtd:wlocale.obj + 0002:0015fef0 ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 006a3ef0 f i libcpmtd:wlocale.obj + 0002:0015ff80 ?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ 006a3f80 f i libcpmtd:wlocale.obj + 0002:0015ffe0 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ 006a3fe0 f i libcpmtd:wlocale.obj + 0002:00160040 ?copy@?$_WChar_traits@G@std@@SAPAGQAGQBGI@Z 006a4040 f i libcpmtd:wlocale.obj + 0002:00160060 ?copy@?$_WChar_traits@_W@std@@SAPA_WQA_WQB_WI@Z 006a4060 f i libcpmtd:wlocale.obj + 0002:00160080 ?curr_symbol@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006a4080 f i libcpmtd:wlocale.obj + 0002:001600e0 ?curr_symbol@?$_Mpunct@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006a40e0 f i libcpmtd:wlocale.obj + 0002:00160140 ?date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AW4dateorder@time_base@2@XZ 006a4140 f i libcpmtd:wlocale.obj + 0002:00160170 ?date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QBE?AW4dateorder@time_base@2@XZ 006a4170 f i libcpmtd:wlocale.obj + 0002:001601a0 ?deallocate@?$allocator@_W@std@@QAEXQA_WI@Z 006a41a0 f i libcpmtd:wlocale.obj + 0002:001601d0 ?decimal_point@?$_Mpunct@G@std@@QBEGXZ 006a41d0 f i libcpmtd:wlocale.obj + 0002:00160200 ?decimal_point@?$_Mpunct@_W@std@@QBE_WXZ 006a4200 f i libcpmtd:wlocale.obj + 0002:00160230 ?decimal_point@?$numpunct@G@std@@QBEGXZ 006a4230 f i libcpmtd:wlocale.obj + 0002:00160260 ?decimal_point@?$numpunct@_W@std@@QBE_WXZ 006a4260 f i libcpmtd:wlocale.obj + 0002:00160290 ?do_always_noconv@?$codecvt@GDU_Mbstatet@@@std@@MBE_NXZ 006a4290 f i libcpmtd:wlocale.obj + 0002:001602a0 ?do_always_noconv@?$codecvt@_WDU_Mbstatet@@@std@@MBE_NXZ 006a42a0 f i libcpmtd:wlocale.obj + 0002:001602b0 ?do_close@?$messages@G@std@@MBEXH@Z 006a42b0 f i libcpmtd:wlocale.obj + 0002:001602c0 ?do_close@?$messages@_W@std@@MBEXH@Z 006a42c0 f i libcpmtd:wlocale.obj + 0002:001602d0 ?do_compare@?$collate@G@std@@MBEHPBG000@Z 006a42d0 f i libcpmtd:wlocale.obj + 0002:00160370 ?do_compare@?$collate@_W@std@@MBEHPB_W000@Z 006a4370 f i libcpmtd:wlocale.obj + 0002:00160410 ?do_curr_symbol@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006a4410 f i libcpmtd:wlocale.obj + 0002:00160450 ?do_curr_symbol@?$_Mpunct@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006a4450 f i libcpmtd:wlocale.obj + 0002:00160490 ?do_date_order@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ 006a4490 f i libcpmtd:wlocale.obj + 0002:001604b0 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ 006a44b0 f i libcpmtd:wlocale.obj + 0002:001604d0 ?do_decimal_point@?$_Mpunct@G@std@@MBEGXZ 006a44d0 f i libcpmtd:wlocale.obj + 0002:001604f0 ?do_decimal_point@?$_Mpunct@_W@std@@MBE_WXZ 006a44f0 f i libcpmtd:wlocale.obj + 0002:00160510 ?do_decimal_point@?$numpunct@G@std@@MBEGXZ 006a4510 f i libcpmtd:wlocale.obj + 0002:00160530 ?do_decimal_point@?$numpunct@_W@std@@MBE_WXZ 006a4530 f i libcpmtd:wlocale.obj + 0002:00160550 ?do_encoding@?$codecvt@GDU_Mbstatet@@@std@@MBEHXZ 006a4550 f i libcpmtd:wlocale.obj + 0002:00160590 ?do_encoding@?$codecvt@_WDU_Mbstatet@@@std@@MBEHXZ 006a4590 f i libcpmtd:wlocale.obj + 0002:001605d0 ?do_falsename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006a45d0 f i libcpmtd:wlocale.obj + 0002:00160610 ?do_falsename@?$numpunct@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006a4610 f i libcpmtd:wlocale.obj + 0002:00160650 ?do_frac_digits@?$_Mpunct@G@std@@MBEHXZ 006a4650 f i libcpmtd:wlocale.obj + 0002:00160670 ?do_frac_digits@?$_Mpunct@_W@std@@MBEHXZ 006a4670 f i libcpmtd:wlocale.obj + 0002:00160690 ?do_get@?$messages@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@HHHABV32@@Z 006a4690 f i libcpmtd:wlocale.obj + 0002:001606d0 ?do_get@?$messages@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HHHABV32@@Z 006a46d0 f i libcpmtd:wlocale.obj + 0002:00160710 ?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 006a4710 f i libcpmtd:wlocale.obj + 0002:00160880 ?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 006a4880 f i libcpmtd:wlocale.obj + 0002:00160a50 ?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 006a4a50 f i libcpmtd:wlocale.obj + 0002:00160bc0 ?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 006a4bc0 f i libcpmtd:wlocale.obj + 0002:00160d90 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 006a4d90 f i libcpmtd:wlocale.obj + 0002:00160fc0 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAI@Z 006a4fc0 f i libcpmtd:wlocale.obj + 0002:00161040 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 006a5040 f i libcpmtd:wlocale.obj + 0002:001611e0 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 006a51e0 f i libcpmtd:wlocale.obj + 0002:00161380 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAM@Z 006a5380 f i libcpmtd:wlocale.obj + 0002:00161530 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAN@Z 006a5530 f i libcpmtd:wlocale.obj + 0002:001616e0 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAO@Z 006a56e0 f i libcpmtd:wlocale.obj + 0002:00161760 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 006a5760 f i libcpmtd:wlocale.obj + 0002:001618f0 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 006a58f0 f i libcpmtd:wlocale.obj + 0002:00161a90 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 006a5a90 f i libcpmtd:wlocale.obj + 0002:00161c30 ?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 006a5c30 f i libcpmtd:wlocale.obj + 0002:00162040 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 006a6040 f i libcpmtd:wlocale.obj + 0002:00162270 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAI@Z 006a6270 f i libcpmtd:wlocale.obj + 0002:001622f0 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 006a62f0 f i libcpmtd:wlocale.obj + 0002:00162490 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 006a6490 f i libcpmtd:wlocale.obj + 0002:00162630 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAM@Z 006a6630 f i libcpmtd:wlocale.obj + 0002:001627e0 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAN@Z 006a67e0 f i libcpmtd:wlocale.obj + 0002:00162990 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAO@Z 006a6990 f i libcpmtd:wlocale.obj + 0002:00162a10 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 006a6a10 f i libcpmtd:wlocale.obj + 0002:00162ba0 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 006a6ba0 f i libcpmtd:wlocale.obj + 0002:00162d40 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 006a6d40 f i libcpmtd:wlocale.obj + 0002:00162ee0 ?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 006a6ee0 f i libcpmtd:wlocale.obj + 0002:001632f0 ?do_get@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 006a72f0 f i libcpmtd:wlocale.obj + 0002:00163ca0 ?do_get@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 006a7ca0 f i libcpmtd:wlocale.obj + 0002:00164650 ?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a8650 f i libcpmtd:wlocale.obj + 0002:00164df0 ?do_get_date@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a8df0 f i libcpmtd:wlocale.obj + 0002:00165590 ?do_get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9590 f i libcpmtd:wlocale.obj + 0002:00165610 ?do_get_monthname@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9610 f i libcpmtd:wlocale.obj + 0002:00165690 ?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9690 f i libcpmtd:wlocale.obj + 0002:001658a0 ?do_get_time@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a98a0 f i libcpmtd:wlocale.obj + 0002:00165ab0 ?do_get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9ab0 f i libcpmtd:wlocale.obj + 0002:00165b30 ?do_get_weekday@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9b30 f i libcpmtd:wlocale.obj + 0002:00165bb0 ?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9bb0 f i libcpmtd:wlocale.obj + 0002:00165cf0 ?do_get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006a9cf0 f i libcpmtd:wlocale.obj + 0002:00165e30 ?do_grouping@?$_Mpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006a9e30 f i libcpmtd:wlocale.obj + 0002:00165e70 ?do_grouping@?$_Mpunct@_W@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006a9e70 f i libcpmtd:wlocale.obj + 0002:00165eb0 ?do_grouping@?$numpunct@G@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006a9eb0 f i libcpmtd:wlocale.obj + 0002:00165ef0 ?do_grouping@?$numpunct@_W@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006a9ef0 f i libcpmtd:wlocale.obj + 0002:00165f30 ?do_hash@?$collate@G@std@@MBEJPBG0@Z 006a9f30 f i libcpmtd:wlocale.obj + 0002:00165f70 ?do_hash@?$collate@_W@std@@MBEJPB_W0@Z 006a9f70 f i libcpmtd:wlocale.obj + 0002:00165fb0 ?do_in@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1AAPBDPAG3AAPAG@Z 006a9fb0 f i libcpmtd:wlocale.obj + 0002:001660d0 ?do_in@?$codecvt@_WDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1AAPBDPA_W3AAPA_W@Z 006aa0d0 f i libcpmtd:wlocale.obj + 0002:001661f0 ?do_is@?$ctype@G@std@@MBEPBGPBG0PAF@Z 006aa1f0 f i libcpmtd:wlocale.obj + 0002:00166240 ?do_is@?$ctype@G@std@@MBE_NFG@Z 006aa240 f i libcpmtd:wlocale.obj + 0002:001662a0 ?do_is@?$ctype@_W@std@@MBEPB_WPB_W0PAF@Z 006aa2a0 f i libcpmtd:wlocale.obj + 0002:001662f0 ?do_is@?$ctype@_W@std@@MBE_NF_W@Z 006aa2f0 f i libcpmtd:wlocale.obj + 0002:00166350 ?do_length@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1I@Z 006aa350 f i libcpmtd:wlocale.obj + 0002:00166420 ?do_length@?$codecvt@_WDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1I@Z 006aa420 f i libcpmtd:wlocale.obj + 0002:001664f0 ?do_max_length@?$codecvt@GDU_Mbstatet@@@std@@MBEHXZ 006aa4f0 f i libcpmtd:wlocale.obj + 0002:00166510 ?do_max_length@?$codecvt@_WDU_Mbstatet@@@std@@MBEHXZ 006aa510 f i libcpmtd:wlocale.obj + 0002:00166530 ?do_narrow@?$ctype@G@std@@MBEDGD@Z 006aa530 f i libcpmtd:wlocale.obj + 0002:00166560 ?do_narrow@?$ctype@G@std@@MBEPBGPBG0DPAD@Z 006aa560 f i libcpmtd:wlocale.obj + 0002:001665d0 ?do_narrow@?$ctype@_W@std@@MBED_WD@Z 006aa5d0 f i libcpmtd:wlocale.obj + 0002:00166600 ?do_narrow@?$ctype@_W@std@@MBEPB_WPB_W0DPAD@Z 006aa600 f i libcpmtd:wlocale.obj + 0002:00166670 ?do_neg_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ 006aa670 f i libcpmtd:wlocale.obj + 0002:001666a0 ?do_neg_format@?$_Mpunct@_W@std@@MBE?AUpattern@money_base@2@XZ 006aa6a0 f i libcpmtd:wlocale.obj + 0002:001666d0 ?do_negative_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006aa6d0 f i libcpmtd:wlocale.obj + 0002:00166710 ?do_negative_sign@?$_Mpunct@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006aa710 f i libcpmtd:wlocale.obj + 0002:00166750 ?do_open@?$messages@G@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z 006aa750 f i libcpmtd:wlocale.obj + 0002:00166770 ?do_open@?$messages@_W@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z 006aa770 f i libcpmtd:wlocale.obj + 0002:00166790 ?do_out@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBG1AAPBGPAD3AAPAD@Z 006aa790 f i libcpmtd:wlocale.obj + 0002:00166980 ?do_out@?$codecvt@_WDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PB_W1AAPB_WPAD3AAPAD@Z 006aa980 f i libcpmtd:wlocale.obj + 0002:00166b70 ?do_pos_format@?$_Mpunct@G@std@@MBE?AUpattern@money_base@2@XZ 006aab70 f i libcpmtd:wlocale.obj + 0002:00166ba0 ?do_pos_format@?$_Mpunct@_W@std@@MBE?AUpattern@money_base@2@XZ 006aaba0 f i libcpmtd:wlocale.obj + 0002:00166bd0 ?do_positive_sign@?$_Mpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006aabd0 f i libcpmtd:wlocale.obj + 0002:00166c10 ?do_positive_sign@?$_Mpunct@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006aac10 f i libcpmtd:wlocale.obj + 0002:00166c50 ?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 006aac50 f i libcpmtd:wlocale.obj + 0002:00166eb0 ?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z 006aaeb0 f i libcpmtd:wlocale.obj + 0002:001670e0 ?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 006ab0e0 f i libcpmtd:wlocale.obj + 0002:00167340 ?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z 006ab340 f i libcpmtd:wlocale.obj + 0002:00167570 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GJ@Z 006ab570 f i libcpmtd:wlocale.obj + 0002:00167610 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GK@Z 006ab610 f i libcpmtd:wlocale.obj + 0002:001676b0 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z 006ab6b0 f i libcpmtd:wlocale.obj + 0002:00167900 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z 006ab900 f i libcpmtd:wlocale.obj + 0002:00167b50 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBX@Z 006abb50 f i libcpmtd:wlocale.obj + 0002:00167bd0 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_J@Z 006abbd0 f i libcpmtd:wlocale.obj + 0002:00167c80 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_K@Z 006abc80 f i libcpmtd:wlocale.obj + 0002:00167d30 ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z 006abd30 f i libcpmtd:wlocale.obj + 0002:00168060 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WJ@Z 006ac060 f i libcpmtd:wlocale.obj + 0002:00168100 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WK@Z 006ac100 f i libcpmtd:wlocale.obj + 0002:001681a0 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WN@Z 006ac1a0 f i libcpmtd:wlocale.obj + 0002:001683f0 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WO@Z 006ac3f0 f i libcpmtd:wlocale.obj + 0002:00168640 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBX@Z 006ac640 f i libcpmtd:wlocale.obj + 0002:001686c0 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_J@Z 006ac6c0 f i libcpmtd:wlocale.obj + 0002:00168770 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_K@Z 006ac770 f i libcpmtd:wlocale.obj + 0002:00168820 ?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z 006ac820 f i libcpmtd:wlocale.obj + 0002:00168b50 ?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z 006acb50 f i libcpmtd:wlocale.obj + 0002:00168d70 ?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z 006acd70 f i libcpmtd:wlocale.obj + 0002:00168f90 ?do_scan_is@?$ctype@G@std@@MBEPBGFPBG0@Z 006acf90 f i libcpmtd:wlocale.obj + 0002:00169000 ?do_scan_is@?$ctype@_W@std@@MBEPB_WFPB_W0@Z 006ad000 f i libcpmtd:wlocale.obj + 0002:00169070 ?do_scan_not@?$ctype@G@std@@MBEPBGFPBG0@Z 006ad070 f i libcpmtd:wlocale.obj + 0002:001690e0 ?do_scan_not@?$ctype@_W@std@@MBEPB_WFPB_W0@Z 006ad0e0 f i libcpmtd:wlocale.obj + 0002:00169150 ?do_thousands_sep@?$_Mpunct@G@std@@MBEGXZ 006ad150 f i libcpmtd:wlocale.obj + 0002:00169170 ?do_thousands_sep@?$_Mpunct@_W@std@@MBE_WXZ 006ad170 f i libcpmtd:wlocale.obj + 0002:00169190 ?do_thousands_sep@?$numpunct@G@std@@MBEGXZ 006ad190 f i libcpmtd:wlocale.obj + 0002:001691b0 ?do_thousands_sep@?$numpunct@_W@std@@MBE_WXZ 006ad1b0 f i libcpmtd:wlocale.obj + 0002:001691d0 ?do_tolower@?$ctype@G@std@@MBEGG@Z 006ad1d0 f i libcpmtd:wlocale.obj + 0002:00169200 ?do_tolower@?$ctype@G@std@@MBEPBGPAGPBG@Z 006ad200 f i libcpmtd:wlocale.obj + 0002:00169270 ?do_tolower@?$ctype@_W@std@@MBEPB_WPA_WPB_W@Z 006ad270 f i libcpmtd:wlocale.obj + 0002:001692e0 ?do_tolower@?$ctype@_W@std@@MBE_W_W@Z 006ad2e0 f i libcpmtd:wlocale.obj + 0002:00169310 ?do_toupper@?$ctype@G@std@@MBEGG@Z 006ad310 f i libcpmtd:wlocale.obj + 0002:00169340 ?do_toupper@?$ctype@G@std@@MBEPBGPAGPBG@Z 006ad340 f i libcpmtd:wlocale.obj + 0002:001693b0 ?do_toupper@?$ctype@_W@std@@MBEPB_WPA_WPB_W@Z 006ad3b0 f i libcpmtd:wlocale.obj + 0002:00169420 ?do_toupper@?$ctype@_W@std@@MBE_W_W@Z 006ad420 f i libcpmtd:wlocale.obj + 0002:00169450 ?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z 006ad450 f i libcpmtd:wlocale.obj + 0002:00169650 ?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z 006ad650 f i libcpmtd:wlocale.obj + 0002:00169850 ?do_truename@?$numpunct@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006ad850 f i libcpmtd:wlocale.obj + 0002:00169890 ?do_truename@?$numpunct@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006ad890 f i libcpmtd:wlocale.obj + 0002:001698d0 ?do_unshift@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PAD1AAPAD@Z 006ad8d0 f i libcpmtd:wlocale.obj + 0002:001699e0 ?do_unshift@?$codecvt@_WDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PAD1AAPAD@Z 006ad9e0 f i libcpmtd:wlocale.obj + 0002:00169af0 ?do_widen@?$ctype@G@std@@MBEGD@Z 006adaf0 f i libcpmtd:wlocale.obj + 0002:00169b10 ?do_widen@?$ctype@G@std@@MBEPBDPBD0PAG@Z 006adb10 f i libcpmtd:wlocale.obj + 0002:00169b80 ?do_widen@?$ctype@_W@std@@MBEPBDPBD0PA_W@Z 006adb80 f i libcpmtd:wlocale.obj + 0002:00169bf0 ?do_widen@?$ctype@_W@std@@MBE_WD@Z 006adbf0 f i libcpmtd:wlocale.obj + 0002:00169c10 ?empty@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBE_NXZ 006adc10 f i libcpmtd:wlocale.obj + 0002:00169c50 ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ 006adc50 f i libcpmtd:wlocale.obj + 0002:00169c90 ?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 006adc90 f i libcpmtd:wlocale.obj + 0002:00169d30 ?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 006add30 f i libcpmtd:wlocale.obj + 0002:00169dd0 ?eof@?$_WChar_traits@G@std@@SAGXZ 006addd0 f i libcpmtd:wlocale.obj + 0002:00169de0 ?eof@?$_WChar_traits@_W@std@@SAGXZ 006adde0 f i libcpmtd:wlocale.obj + 0002:00169df0 ?eq_int_type@?$_WChar_traits@G@std@@SA_NABG0@Z 006addf0 f i libcpmtd:wlocale.obj + 0002:00169e30 ?eq_int_type@?$_WChar_traits@_W@std@@SA_NABG0@Z 006ade30 f i libcpmtd:wlocale.obj + 0002:00169e70 ?equal@?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@QBE_NABV12@@Z 006ade70 f i libcpmtd:wlocale.obj + 0002:00169f00 ?equal@?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@QBE_NABV12@@Z 006adf00 f i libcpmtd:wlocale.obj + 0002:00169f90 ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@I@Z 006adf90 f i libcpmtd:wlocale.obj + 0002:00169fe0 ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I@Z 006adfe0 f i libcpmtd:wlocale.obj + 0002:0016a030 ?falsename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006ae030 f i libcpmtd:wlocale.obj + 0002:0016a090 ?falsename@?$numpunct@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006ae090 f i libcpmtd:wlocale.obj + 0002:0016a0f0 ?frac_digits@?$_Mpunct@G@std@@QBEHXZ 006ae0f0 f i libcpmtd:wlocale.obj + 0002:0016a120 ?frac_digits@?$_Mpunct@_W@std@@QBEHXZ 006ae120 f i libcpmtd:wlocale.obj + 0002:0016a150 ?get_monthname@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae150 f i libcpmtd:wlocale.obj + 0002:0016a1c0 ?get_monthname@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae1c0 f i libcpmtd:wlocale.obj + 0002:0016a230 ?get_weekday@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae230 f i libcpmtd:wlocale.obj + 0002:0016a2a0 ?get_weekday@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae2a0 f i libcpmtd:wlocale.obj + 0002:0016a310 ?get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae310 f i libcpmtd:wlocale.obj + 0002:0016a380 ?get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006ae380 f i libcpmtd:wlocale.obj + 0002:0016a3f0 ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ 006ae3f0 f i libcpmtd:wlocale.obj + 0002:0016a410 ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ 006ae410 f i libcpmtd:wlocale.obj + 0002:0016a430 ?grouping@?$_Mpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006ae430 f i libcpmtd:wlocale.obj + 0002:0016a490 ?grouping@?$_Mpunct@_W@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006ae490 f i libcpmtd:wlocale.obj + 0002:0016a4f0 ?grouping@?$numpunct@G@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006ae4f0 f i libcpmtd:wlocale.obj + 0002:0016a550 ?grouping@?$numpunct@_W@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006ae550 f i libcpmtd:wlocale.obj + 0002:0016a5b0 ?insert@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAV12@IIG@Z 006ae5b0 f i libcpmtd:wlocale.obj + 0002:0016a6a0 ?insert@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II_W@Z 006ae6a0 f i libcpmtd:wlocale.obj + 0002:0016a790 ?is@?$ctype@G@std@@QBE_NFG@Z 006ae790 f i libcpmtd:wlocale.obj + 0002:0016a7e0 ?is@?$ctype@_W@std@@QBE_NF_W@Z 006ae7e0 f i libcpmtd:wlocale.obj + 0002:0016a830 ?length@?$_Char_traits@GG@std@@SAIPBG@Z 006ae830 f i libcpmtd:wlocale.obj + 0002:0016a870 ?length@?$_WChar_traits@G@std@@SAIPBG@Z 006ae870 f i libcpmtd:wlocale.obj + 0002:0016a890 ?length@?$_WChar_traits@_W@std@@SAIPB_W@Z 006ae890 f i libcpmtd:wlocale.obj + 0002:0016a8e0 ?max_size@?$_Default_allocator_traits@V?$allocator@_W@std@@@std@@SAIABV?$allocator@_W@2@@Z 006ae8e0 f i libcpmtd:wlocale.obj + 0002:0016a8f0 ?max_size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ 006ae8f0 f i libcpmtd:wlocale.obj + 0002:0016a970 ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ 006ae970 f i libcpmtd:wlocale.obj + 0002:0016a9f0 ?move@?$_WChar_traits@G@std@@SAPAGQAGQBGI@Z 006ae9f0 f i libcpmtd:wlocale.obj + 0002:0016aa10 ?move@?$_WChar_traits@_W@std@@SAPA_WQA_WQB_WI@Z 006aea10 f i libcpmtd:wlocale.obj + 0002:0016aa30 ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006aea30 f i libcpmtd:wlocale.obj + 0002:0016ab70 ?narrow@?$ctype@G@std@@QBEDGD@Z 006aeb70 f i libcpmtd:wlocale.obj + 0002:0016abc0 ?narrow@?$ctype@_W@std@@QBED_WD@Z 006aebc0 f i libcpmtd:wlocale.obj + 0002:0016ac10 ?neg_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ 006aec10 f i libcpmtd:wlocale.obj + 0002:0016ac60 ?neg_format@?$_Mpunct@_W@std@@QBE?AUpattern@money_base@2@XZ 006aec60 f i libcpmtd:wlocale.obj + 0002:0016acb0 ?negative_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006aecb0 f i libcpmtd:wlocale.obj + 0002:0016ad10 ?negative_sign@?$_Mpunct@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006aed10 f i libcpmtd:wlocale.obj + 0002:0016ad70 ?pos_format@?$_Mpunct@G@std@@QBE?AUpattern@money_base@2@XZ 006aed70 f i libcpmtd:wlocale.obj + 0002:0016adc0 ?pos_format@?$_Mpunct@_W@std@@QBE?AUpattern@money_base@2@XZ 006aedc0 f i libcpmtd:wlocale.obj + 0002:0016ae10 ?positive_sign@?$_Mpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006aee10 f i libcpmtd:wlocale.obj + 0002:0016ae70 ?positive_sign@?$_Mpunct@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006aee70 f i libcpmtd:wlocale.obj + 0002:0016aed0 ?push_back@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXG@Z 006aeed0 f i libcpmtd:wlocale.obj + 0002:0016af90 ?push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z 006aef90 f i libcpmtd:wlocale.obj + 0002:0016b050 ?resize@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEXIG@Z 006af050 f i libcpmtd:wlocale.obj + 0002:0016b0b0 ?resize@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI_W@Z 006af0b0 f i libcpmtd:wlocale.obj + 0002:0016b110 ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ 006af110 f i libcpmtd:wlocale.obj + 0002:0016b190 ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ 006af190 f i libcpmtd:wlocale.obj + 0002:0016b210 ?select_on_container_copy_construction@?$_Default_allocator_traits@V?$allocator@G@std@@@std@@SA?AV?$allocator@G@2@ABV32@@Z 006af210 f i libcpmtd:wlocale.obj + 0002:0016b220 ?select_on_container_copy_construction@?$_Default_allocator_traits@V?$allocator@_W@std@@@std@@SA?AV?$allocator@_W@2@ABV32@@Z 006af220 f i libcpmtd:wlocale.obj + 0002:0016b230 ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ 006af230 f i libcpmtd:wlocale.obj + 0002:0016b2b0 ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ 006af2b0 f i libcpmtd:wlocale.obj + 0002:0016b330 ?size@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEIXZ 006af330 f i libcpmtd:wlocale.obj + 0002:0016b350 ?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ 006af350 f i libcpmtd:wlocale.obj + 0002:0016b370 ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z 006af370 f i libcpmtd:wlocale.obj + 0002:0016b430 ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z 006af430 f i libcpmtd:wlocale.obj + 0002:0016b4f0 ?thousands_sep@?$_Mpunct@G@std@@QBEGXZ 006af4f0 f i libcpmtd:wlocale.obj + 0002:0016b520 ?thousands_sep@?$_Mpunct@_W@std@@QBE_WXZ 006af520 f i libcpmtd:wlocale.obj + 0002:0016b550 ?thousands_sep@?$numpunct@G@std@@QBEGXZ 006af550 f i libcpmtd:wlocale.obj + 0002:0016b580 ?thousands_sep@?$numpunct@_W@std@@QBE_WXZ 006af580 f i libcpmtd:wlocale.obj + 0002:0016b5b0 ?to_char_type@?$_WChar_traits@G@std@@SAGABG@Z 006af5b0 f i libcpmtd:wlocale.obj + 0002:0016b5c0 ?to_char_type@?$_WChar_traits@_W@std@@SA_WABG@Z 006af5c0 f i libcpmtd:wlocale.obj + 0002:0016b5d0 ?to_int_type@?$_WChar_traits@G@std@@SAGABG@Z 006af5d0 f i libcpmtd:wlocale.obj + 0002:0016b5e0 ?to_int_type@?$_WChar_traits@_W@std@@SAGAB_W@Z 006af5e0 f i libcpmtd:wlocale.obj + 0002:0016b5f0 ?truename@?$numpunct@G@std@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@XZ 006af5f0 f i libcpmtd:wlocale.obj + 0002:0016b650 ?truename@?$numpunct@_W@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ 006af650 f i libcpmtd:wlocale.obj + 0002:0016b6b0 ?widen@?$ctype@G@std@@QBEGD@Z 006af6b0 f i libcpmtd:wlocale.obj + 0002:0016b700 ?widen@?$ctype@G@std@@QBEPBDPBD0PAG@Z 006af700 f i libcpmtd:wlocale.obj + 0002:0016b750 ?widen@?$ctype@_W@std@@QBEPBDPBD0PA_W@Z 006af750 f i libcpmtd:wlocale.obj + 0002:0016b7a0 ?widen@?$ctype@_W@std@@QBE_WD@Z 006af7a0 f i libcpmtd:wlocale.obj + 0002:0016b7f0 _wmemcpy 006af7f0 f i libcpmtd:wlocale.obj + 0002:0016b820 _wmemmove 006af820 f i libcpmtd:wlocale.obj + 0002:0016b850 _wmemset 006af850 f i libcpmtd:wlocale.obj + 0002:0016b8a0 ??$_Copy_unchecked@PADV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@0@PAD0V10@@Z 006af8a0 f i libcpmtd:xlocale.obj + 0002:0016b910 ??$_Find_elem@D$0M@@std@@YAIAAY0M@$$CBDD@Z 006af910 f i libcpmtd:xlocale.obj + 0002:0016b940 ??$_Get_unwrapped@D@std@@YAPADQAD@Z 006af940 f i libcpmtd:xlocale.obj + 0002:0016b950 ??$_Get_unwrapped_n@V?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@H$0A@@std@@YAABV?$ostreambuf_iterator@DU?$char_traits@D@std@@@0@ABV10@H@Z 006af950 f i libcpmtd:xlocale.obj + 0002:0016b960 ??$_Getvals@D@?$_Mpunct@D@std@@IAEXDPBUlconv@@@Z 006af960 f i libcpmtd:xlocale.obj + 0002:0016bad0 ??$_Getvals@D@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXDABV_Locinfo@1@@Z 006afad0 f i libcpmtd:xlocale.obj + 0002:0016bbf0 ??$_Hash_array_representation@D@std@@YAIQBDI@Z 006afbf0 f i libcpmtd:xlocale.obj + 0002:0016bc10 ??$_Idl_distance@PADPAD@std@@YAHABQAD0@Z 006afc10 f i libcpmtd:xlocale.obj + 0002:0016bc30 ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z 006afc30 f i libcpmtd:xlocale.obj + 0002:0016bc60 ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z 006afc60 f i libcpmtd:xlocale.obj + 0002:0016bc90 ??$_Seek_wrapped@V?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@V12@@std@@YAXAAV?$ostreambuf_iterator@DU?$char_traits@D@std@@@0@ABV10@@Z 006afc90 f i libcpmtd:xlocale.obj + 0002:0016bcb0 ??$addressof@$$CBV?$moneypunct@D$00@std@@@std@@YAPBV?$moneypunct@D$00@0@ABV10@@Z 006afcb0 f i libcpmtd:xlocale.obj + 0002:0016bcc0 ??$addressof@$$CBV?$moneypunct@D$0A@@std@@@std@@YAPBV?$moneypunct@D$0A@@0@ABV10@@Z 006afcc0 f i libcpmtd:xlocale.obj + 0002:0016bcd0 ??$copy@PADV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@0@PAD0V10@@Z 006afcd0 f i libcpmtd:xlocale.obj + 0002:0016bd90 ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z 006afd90 f i libcpmtd:xlocale.obj + 0002:0016bf00 ??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z 006aff00 f i libcpmtd:xlocale.obj + 0002:0016c070 ??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 006b0070 f i libcpmtd:xlocale.obj + 0002:0016c1e0 ??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 006b01e0 f i libcpmtd:xlocale.obj + 0002:0016c350 ??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z 006b0350 f i libcpmtd:xlocale.obj + 0002:0016c4c0 ??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z 006b04c0 f i libcpmtd:xlocale.obj + 0002:0016c630 ??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 006b0630 f i libcpmtd:xlocale.obj + 0002:0016c7a0 ??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 006b07a0 f i libcpmtd:xlocale.obj + 0002:0016c910 ??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N1@Z 006b0910 f i libcpmtd:xlocale.obj + 0002:0016c9b0 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@XZ 006b09b0 f i libcpmtd:xlocale.obj + 0002:0016c9e0 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z 006b09e0 f i libcpmtd:xlocale.obj + 0002:0016cad0 ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z 006b0ad0 f i libcpmtd:xlocale.obj + 0002:0016cb60 ??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z 006b0b60 f i libcpmtd:xlocale.obj + 0002:0016cbf0 ??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 006b0bf0 f i libcpmtd:xlocale.obj + 0002:0016cc80 ??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 006b0c80 f i libcpmtd:xlocale.obj + 0002:0016cd10 ??0?$moneypunct@D$00@std@@QAE@ABV_Locinfo@1@I_N@Z 006b0d10 f i libcpmtd:xlocale.obj + 0002:0016cd50 ??0?$moneypunct@D$0A@@std@@QAE@ABV_Locinfo@1@I_N@Z 006b0d50 f i libcpmtd:xlocale.obj + 0002:0016cd90 ??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 006b0d90 f i libcpmtd:xlocale.obj + 0002:0016ce20 ??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 006b0e20 f i libcpmtd:xlocale.obj + 0002:0016ced0 ??1?$_Mpunct@D@std@@MAE@XZ 006b0ed0 f i libcpmtd:xlocale.obj + 0002:0016cf00 ??1?$_Tidy_guard@V?$_Mpunct@D@std@@@std@@QAE@XZ 006b0f00 f i libcpmtd:xlocale.obj + 0002:0016cf30 ??1?$_Tidy_guard@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@QAE@XZ 006b0f30 f i libcpmtd:xlocale.obj + 0002:0016cf60 ??1?$collate@D@std@@MAE@XZ 006b0f60 f i libcpmtd:xlocale.obj + 0002:0016cfa0 ??1?$messages@D@std@@MAE@XZ 006b0fa0 f i libcpmtd:xlocale.obj + 0002:0016cfd0 ??1?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 006b0fd0 f i libcpmtd:xlocale.obj + 0002:0016d000 ??1?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 006b1000 f i libcpmtd:xlocale.obj + 0002:0016d030 ??1?$moneypunct@D$00@std@@MAE@XZ 006b1030 f i libcpmtd:xlocale.obj + 0002:0016d060 ??1?$moneypunct@D$0A@@std@@MAE@XZ 006b1060 f i libcpmtd:xlocale.obj + 0002:0016d090 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 006b1090 f i libcpmtd:xlocale.obj + 0002:0016d0c0 ??1?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ 006b10c0 f i libcpmtd:xlocale.obj + 0002:0016d0f0 ??4?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@$$QAV01@@Z 006b10f0 f i libcpmtd:xlocale.obj + 0002:0016d130 ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z 006b1130 f i libcpmtd:xlocale.obj + 0002:0016d180 ??9?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z 006b1180 f i libcpmtd:xlocale.obj + 0002:0016d1d0 ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ 006b11d0 f i libcpmtd:xlocale.obj + 0002:0016d370 ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ 006b1370 f i libcpmtd:xlocale.obj + 0002:0016d390 ??E?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@XZ 006b1390 f i libcpmtd:xlocale.obj + 0002:0016d530 ??E?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@XZ 006b1530 f i libcpmtd:xlocale.obj + 0002:0016d550 ??E?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z 006b1550 f i libcpmtd:xlocale.obj + 0002:0016d570 ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 006b1570 f i libcpmtd:xlocale.obj + 0002:0016d620 ??Z?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@H@Z 006b1620 f i libcpmtd:xlocale.obj + 0002:0016d650 ??Z?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAEAAV01@H@Z 006b1650 f i libcpmtd:xlocale.obj + 0002:0016d680 ??_E?$_Mpunct@D@std@@MAEPAXI@Z 006b1680 f i libcpmtd:xlocale.obj + 0002:0016d680 ??_G?$_Mpunct@D@std@@MAEPAXI@Z 006b1680 f i libcpmtd:xlocale.obj + 0002:0016d6e0 ??_E?$collate@D@std@@MAEPAXI@Z 006b16e0 f i libcpmtd:xlocale.obj + 0002:0016d6e0 ??_G?$collate@D@std@@MAEPAXI@Z 006b16e0 f i libcpmtd:xlocale.obj + 0002:0016d740 ??_G?$messages@D@std@@MAEPAXI@Z 006b1740 f i libcpmtd:xlocale.obj + 0002:0016d740 ??_E?$messages@D@std@@MAEPAXI@Z 006b1740 f i libcpmtd:xlocale.obj + 0002:0016d7a0 ??_E?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b17a0 f i libcpmtd:xlocale.obj + 0002:0016d7a0 ??_G?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b17a0 f i libcpmtd:xlocale.obj + 0002:0016d800 ??_E?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1800 f i libcpmtd:xlocale.obj + 0002:0016d800 ??_G?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1800 f i libcpmtd:xlocale.obj + 0002:0016d860 ??_G?$moneypunct@D$00@std@@MAEPAXI@Z 006b1860 f i libcpmtd:xlocale.obj + 0002:0016d860 ??_E?$moneypunct@D$00@std@@MAEPAXI@Z 006b1860 f i libcpmtd:xlocale.obj + 0002:0016d8c0 ??_G?$moneypunct@D$0A@@std@@MAEPAXI@Z 006b18c0 f i libcpmtd:xlocale.obj + 0002:0016d8c0 ??_E?$moneypunct@D$0A@@std@@MAEPAXI@Z 006b18c0 f i libcpmtd:xlocale.obj + 0002:0016d920 ??_G?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1920 f i libcpmtd:xlocale.obj + 0002:0016d920 ??_E?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1920 f i libcpmtd:xlocale.obj + 0002:0016d980 ??_E?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1980 f i libcpmtd:xlocale.obj + 0002:0016d980 ??_G?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAEPAXI@Z 006b1980 f i libcpmtd:xlocale.obj + 0002:0016d9e0 ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b19e0 f i libcpmtd:xlocale.obj + 0002:0016db70 ?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b1b70 f i libcpmtd:xlocale.obj + 0002:0016dc90 ?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b1c90 f i libcpmtd:xlocale.obj + 0002:0016ddb0 ?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b1db0 f i libcpmtd:xlocale.obj + 0002:0016ded0 ?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b1ed0 f i libcpmtd:xlocale.obj + 0002:0016e000 ?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b2000 f i libcpmtd:xlocale.obj + 0002:0016e130 ?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b2130 f i libcpmtd:xlocale.obj + 0002:0016e250 ?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 006b2250 f i libcpmtd:xlocale.obj + 0002:0016e370 ?_Getfmt@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 006b2370 f i libcpmtd:xlocale.obj + 0002:0016e5a0 ?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAHABV?$ctype@D@2@@Z 006b25a0 f i libcpmtd:xlocale.obj + 0002:0016e820 ?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z 006b2820 f i libcpmtd:xlocale.obj + 0002:0016fc30 ?_Gettnames@_Locinfo@std@@QBE?AV_Timevec@2@XZ 006b3c30 f i libcpmtd:xlocale.obj + 0002:0016fc70 ?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 006b3c70 f i libcpmtd:xlocale.obj + 0002:0016fe90 ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z 006b3e90 f i libcpmtd:xlocale.obj + 0002:0016fed0 ?_Init@?$messages@D@std@@IAEXABV_Locinfo@2@@Z 006b3ed0 f i libcpmtd:xlocale.obj + 0002:0016fee0 ?_Init@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 006b3ee0 f i libcpmtd:xlocale.obj + 0002:0016fef0 ?_Init@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 006b3ef0 f i libcpmtd:xlocale.obj + 0002:0016ff00 ?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 006b3f00 f i libcpmtd:xlocale.obj + 0002:0016ffc0 ?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 006b3fc0 f i libcpmtd:xlocale.obj + 0002:00170050 ?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 006b4050 f libcpmtd:xlocale.obj + 0002:001708a0 ?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@III@Z 006b48a0 f i libcpmtd:xlocale.obj + 0002:00170920 ?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@I@Z 006b4920 f i libcpmtd:xlocale.obj + 0002:001709f0 ?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z 006b49f0 f i libcpmtd:xlocale.obj + 0002:00171c10 ?_Rep@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@DI@Z 006b5c10 f i libcpmtd:xlocale.obj + 0002:00171c70 ?_Tidy@?$_Mpunct@D@std@@AAEXXZ 006b5c70 f i libcpmtd:xlocale.obj + 0002:00171cd0 ?_Tidy@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AAEXXZ 006b5cd0 f i libcpmtd:xlocale.obj + 0002:00171d20 ?curr_symbol@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b5d20 f i libcpmtd:xlocale.obj + 0002:00171d80 ?date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AW4dateorder@time_base@2@XZ 006b5d80 f i libcpmtd:xlocale.obj + 0002:00171db0 ?decimal_point@?$_Mpunct@D@std@@QBEDXZ 006b5db0 f i libcpmtd:xlocale.obj + 0002:00171de0 ?do_close@?$messages@D@std@@MBEXH@Z 006b5de0 f i libcpmtd:xlocale.obj + 0002:00171df0 ?do_compare@?$collate@D@std@@MBEHPBD000@Z 006b5df0 f i libcpmtd:xlocale.obj + 0002:00171e90 ?do_curr_symbol@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b5e90 f i libcpmtd:xlocale.obj + 0002:00171ed0 ?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ 006b5ed0 f i libcpmtd:xlocale.obj + 0002:00171ef0 ?do_decimal_point@?$_Mpunct@D@std@@MBEDXZ 006b5ef0 f i libcpmtd:xlocale.obj + 0002:00171f10 ?do_frac_digits@?$_Mpunct@D@std@@MBEHXZ 006b5f10 f i libcpmtd:xlocale.obj + 0002:00171f30 ?do_get@?$messages@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@HHHABV32@@Z 006b5f30 f i libcpmtd:xlocale.obj + 0002:00171f70 ?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 006b5f70 f i libcpmtd:xlocale.obj + 0002:001720e0 ?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 006b60e0 f i libcpmtd:xlocale.obj + 0002:001722a0 ?do_get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 006b62a0 f i libcpmtd:xlocale.obj + 0002:00172c50 ?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b6c50 f i libcpmtd:xlocale.obj + 0002:001733f0 ?do_get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b73f0 f i libcpmtd:xlocale.obj + 0002:00173470 ?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b7470 f i libcpmtd:xlocale.obj + 0002:00173680 ?do_get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b7680 f i libcpmtd:xlocale.obj + 0002:00173700 ?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b7700 f i libcpmtd:xlocale.obj + 0002:00173840 ?do_grouping@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b7840 f i libcpmtd:xlocale.obj + 0002:00173880 ?do_hash@?$collate@D@std@@MBEJPBD0@Z 006b7880 f i libcpmtd:xlocale.obj + 0002:001738c0 ?do_neg_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ 006b78c0 f i libcpmtd:xlocale.obj + 0002:001738f0 ?do_negative_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b78f0 f i libcpmtd:xlocale.obj + 0002:00173930 ?do_open@?$messages@D@std@@MBEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@ABVlocale@2@@Z 006b7930 f i libcpmtd:xlocale.obj + 0002:00173950 ?do_pos_format@?$_Mpunct@D@std@@MBE?AUpattern@money_base@2@XZ 006b7950 f i libcpmtd:xlocale.obj + 0002:00173980 ?do_positive_sign@?$_Mpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b7980 f i libcpmtd:xlocale.obj + 0002:001739c0 ?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 006b79c0 f i libcpmtd:xlocale.obj + 0002:00173c20 ?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z 006b7c20 f i libcpmtd:xlocale.obj + 0002:00173e50 ?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z 006b7e50 f i libcpmtd:xlocale.obj + 0002:00174050 ?do_thousands_sep@?$_Mpunct@D@std@@MBEDXZ 006b8050 f i libcpmtd:xlocale.obj + 0002:00174070 ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z 006b8070 f i libcpmtd:xlocale.obj + 0002:00174270 ?frac_digits@?$_Mpunct@D@std@@QBEHXZ 006b8270 f i libcpmtd:xlocale.obj + 0002:001742a0 ?get_monthname@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b82a0 f i libcpmtd:xlocale.obj + 0002:00174310 ?get_weekday@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b8310 f i libcpmtd:xlocale.obj + 0002:00174380 ?get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 006b8380 f i libcpmtd:xlocale.obj + 0002:001743f0 ?grouping@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b83f0 f i libcpmtd:xlocale.obj + 0002:00174450 ?narrow@?$ctype@D@std@@QBEDDD@Z 006b8450 f i libcpmtd:xlocale.obj + 0002:001744a0 ?neg_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ 006b84a0 f i libcpmtd:xlocale.obj + 0002:001744f0 ?negative_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b84f0 f i libcpmtd:xlocale.obj + 0002:00174550 ?pos_format@?$_Mpunct@D@std@@QBE?AUpattern@money_base@2@XZ 006b8550 f i libcpmtd:xlocale.obj + 0002:001745a0 ?positive_sign@?$_Mpunct@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 006b85a0 f i libcpmtd:xlocale.obj + 0002:00174600 ?thousands_sep@?$_Mpunct@D@std@@QBEDXZ 006b8600 f i libcpmtd:xlocale.obj + 0002:00174630 __Stolx 006b8630 f libcpmtd:xstol.obj + 0002:001747a0 __Stoul 006b87a0 f libcpmtd:xstoul.obj + 0002:001747d0 __Stoulx 006b87d0 f libcpmtd:xstoul.obj + 0002:00174ae0 __Stoll 006b8ae0 f libcpmtd:xstoll.obj + 0002:00174b10 __Stollx 006b8b10 f libcpmtd:xstoll.obj + 0002:00174cd0 __Stoull 006b8cd0 f libcpmtd:xstoull.obj + 0002:00174d00 __Stoullx 006b8d00 f libcpmtd:xstoull.obj + 0002:001750b0 _GetTableIndexFromLcid 006b90b0 f libcpmtd:winapinls.obj + 0002:00175130 _GetTableIndexFromLocaleName 006b9130 f libcpmtd:winapinls.obj + 0002:001751e0 ___crtCompareStringEx 006b91e0 f libcpmtd:winapinls.obj + 0002:00175280 ___crtDownlevelLCIDToLocaleName 006b9280 f libcpmtd:winapinls.obj + 0002:00175350 ___crtDownlevelLocaleNameToLCID 006b9350 f libcpmtd:winapinls.obj + 0002:001753a0 ___crtGetLocaleInfoEx 006b93a0 f libcpmtd:winapinls.obj + 0002:00175430 ___crtLCMapStringEx 006b9430 f libcpmtd:winapinls.obj + 0002:001754d0 ___wcsnicmp_ascii 006b94d0 f libcpmtd:winapinls.obj + 0002:001755d0 __Getcoll 006b95d0 f libcpmtd:xstrcoll.obj + 0002:00175630 __Strcoll 006b9630 f libcpmtd:xstrcoll.obj + 0002:00175790 __Getdateorder 006b9790 f libcpmtd:xdateord.obj + 0002:001758a0 __Mbrtowc 006b98a0 f libcpmtd:xmbtowc.obj + 0002:00175c40 __Wcscoll 006b9c40 f libcpmtd:xwcscoll.obj + 0002:00175d90 _wmemcmp 006b9d90 f i libcpmtd:xwcscoll.obj + 0002:00175e10 __Wcsxfrm 006b9e10 f libcpmtd:xwcsxfrm.obj + 0002:00175fb0 __Getwctype 006b9fb0 f libcpmtd:xgetwctype.obj + 0002:00176000 __Getwctypes 006ba000 f libcpmtd:xgetwctype.obj + 0002:00176030 __Towlower 006ba030 f libcpmtd:xtowlower.obj + 0002:001760d0 __Towupper 006ba0d0 f libcpmtd:xtowupper.obj + 0002:00176170 __Strxfrm 006ba170 f libcpmtd:xstrxfrm.obj + 0002:001762a0 ___crtCompareStringA 006ba2a0 f libcpmtd:StlCompareStringA.obj + 0002:00176840 ___crtCompareStringW 006ba840 f libcpmtd:StlCompareStringW.obj + 0002:00176910 ___crtLCMapStringW 006ba910 f libcpmtd:StlLCMapStringW.obj + 0002:00176980 ??2@YAPAXI@Z 006ba980 f LIBCMTD:new_scalar.obj + 0002:001769e0 ??3@YAXPAXI@Z 006ba9e0 f LIBCMTD:delete_scalar_size.obj + 0002:00176a00 @_RTC_AllocaHelper@12 006baa00 f LIBCMTD:stack.obj + 0002:00176a40 @_RTC_CheckStackVars2@12 006baa40 f LIBCMTD:stack.obj + 0002:00176b60 @_RTC_CheckStackVars@8 006bab60 f LIBCMTD:stack.obj + 0002:00176be0 __RTC_CheckEsp 006babe0 f LIBCMTD:stack.obj + 0002:00176c20 @__security_check_cookie@4 006bac20 f LIBCMTD:secchk.obj + 0002:00176c40 __CRT_RTC_INIT 006bac40 f LIBCMTD:init.obj + 0002:00176c50 __CRT_RTC_INITW 006bac50 f LIBCMTD:init.obj + 0002:00176c60 __RTC_InitBase 006bac60 f LIBCMTD:init.obj + 0002:00176ca0 __RTC_Shutdown 006baca0 f LIBCMTD:init.obj + 0002:00176d70 ?_RTC_AllocaFailure@@YAXPAXPAU_RTC_ALLOCA_NODE@@H@Z 006bad70 f LIBCMTD:error.obj + 0002:00176e90 ?_RTC_Failure@@YAXPAXH@Z 006bae90 f LIBCMTD:error.obj + 0002:00176f00 ?_RTC_StackFailure@@YAXPAXPBD@Z 006baf00 f LIBCMTD:error.obj + 0002:001773b0 __RTC_UninitUse 006bb3b0 f LIBCMTD:error.obj + 0002:00177490 ??1type_info@@UAE@XZ 006bb490 f LIBCMTD:std_type_info_static.obj + 0002:001774b0 ??_Etype_info@@UAEPAXI@Z 006bb4b0 f i LIBCMTD:std_type_info_static.obj + 0002:001774b0 ??_Gtype_info@@UAEPAXI@Z 006bb4b0 f i LIBCMTD:std_type_info_static.obj + 0002:001774f0 ??_L@YGXPAXIHP6EX0@Z1@Z 006bb4f0 f LIBCMTD:ehvecctr.obj + 0002:00177520 ??_L@YGXPAXIIP6EX0@Z1@Z 006bb520 f LIBCMTD:ehvecctr.obj + 0002:00177610 ??_M@YGXPAXIHP6EX0@Z@Z 006bb610 f LIBCMTD:ehvecdtr.obj + 0002:00177640 ??_M@YGXPAXIIP6EX0@Z@Z 006bb640 f LIBCMTD:ehvecdtr.obj + 0002:00177780 ?__ArrayUnwind@@YGXPAXIIP6EX0@Z@Z 006bb780 f LIBCMTD:ehvecdtr.obj + 0002:00177860 ??_U@YAPAXI@Z 006bb860 f LIBCMTD:new_array.obj + 0002:00177880 ??_V@YAXPAX@Z 006bb880 f LIBCMTD:delete_array.obj + 0002:001778a0 ??_V@YAXPAXI@Z 006bb8a0 f LIBCMTD:delete_array_size.obj + 0002:001778c0 ?configure_argv@__scrt_narrow_argv_policy@@SAHXZ 006bb8c0 f i LIBCMTD:utility.obj + 0002:00177990 ?initialize_environment@__scrt_narrow_environment_policy@@SAHXZ 006bb990 f i LIBCMTD:utility.obj + 0002:00177a30 _NtCurrentTeb 006bba30 f i LIBCMTD:utility.obj + 0002:00177a40 ___scrt_acquire_startup_lock 006bba40 f LIBCMTD:utility.obj + 0002:00177aa0 ___scrt_dllmain_after_initialize_c 006bbaa0 f LIBCMTD:utility.obj + 0002:00177ae0 ___scrt_dllmain_before_initialize_c 006bbae0 f LIBCMTD:utility.obj + 0002:00177b10 ___scrt_dllmain_crt_thread_attach 006bbb10 f LIBCMTD:utility.obj + 0002:00177b50 ___scrt_dllmain_crt_thread_detach 006bbb50 f LIBCMTD:utility.obj + 0002:00177b70 ___scrt_dllmain_exception_filter 006bbb70 f LIBCMTD:utility.obj + 0002:00177bd0 ___scrt_dllmain_uninitialize_c 006bbbd0 f LIBCMTD:utility.obj + 0002:00177c10 ___scrt_dllmain_uninitialize_critical 006bbc10 f LIBCMTD:utility.obj + 0002:00177c30 ___scrt_initialize_crt 006bbc30 f LIBCMTD:utility.obj + 0002:00177c90 ___scrt_initialize_onexit_tables 006bbc90 f LIBCMTD:utility.obj + 0002:00177da0 ___scrt_is_nonwritable_in_current_image 006bbda0 f LIBCMTD:utility.obj + 0002:00177f20 ___scrt_release_startup_lock 006bbf20 f LIBCMTD:utility.obj + 0002:00177f50 ___scrt_uninitialize_crt 006bbf50 f LIBCMTD:utility.obj + 0002:00177fa0 __onexit 006bbfa0 f LIBCMTD:utility.obj + 0002:00178020 _at_quick_exit 006bc020 f LIBCMTD:utility.obj + 0002:00178070 _atexit 006bc070 f LIBCMTD:utility.obj + 0002:001780b0 ___raise_securityfailure 006bc0b0 f LIBCMTD:gs_report.obj + 0002:001780f0 ___report_gsfailure 006bc0f0 f LIBCMTD:gs_report.obj + 0002:00178240 ___report_rangecheckfailure 006bc240 f LIBCMTD:gs_report.obj + 0002:00178250 ___report_securityfailure 006bc250 f LIBCMTD:gs_report.obj + 0002:00178360 ___report_securityfailureEx 006bc360 f LIBCMTD:gs_report.obj + 0002:001784d0 __chkstk 006bc4d0 f LIBCMTD:chkstk.obj + 0002:001784d0 __alloca_probe 006bc4d0 f LIBCMTD:chkstk.obj + 0002:00178660 __Init_thread_abort 006bc660 f LIBCMTD:thread_safe_statics.obj + 0002:00178690 __Init_thread_footer 006bc690 f LIBCMTD:thread_safe_statics.obj + 0002:001786f0 __Init_thread_header 006bc6f0 f LIBCMTD:thread_safe_statics.obj + 0002:00178780 __Init_thread_lock 006bc780 f LIBCMTD:thread_safe_statics.obj + 0002:001787a0 __Init_thread_notify 006bc7a0 f LIBCMTD:thread_safe_statics.obj + 0002:00178800 __Init_thread_unlock 006bc800 f LIBCMTD:thread_safe_statics.obj + 0002:00178820 __Init_thread_wait 006bc820 f LIBCMTD:thread_safe_statics.obj + 0002:001788d0 __ftol2_sse 006bc8d0 f LIBCMTD:ftol2.obj + 0002:001788d9 __ftol2_pentium4 006bc8d9 f LIBCMTD:ftol2.obj + 0002:001788ec __ftol2_sse_excpt 006bc8ec f LIBCMTD:ftol2.obj + 0002:00178910 __ftol2 006bc910 f LIBCMTD:ftol2.obj + 0002:00178de0 ?set_app_type@__scrt_main_policy@@SAXXZ 006bcde0 f i LIBCMTD:exe_main.obj + 0002:00178e00 ?set_commode@__scrt_file_policy@@SAXXZ 006bce00 f i LIBCMTD:exe_main.obj + 0002:00178e20 ?set_fmode@__scrt_file_policy@@SAXXZ 006bce20 f i LIBCMTD:exe_main.obj + 0002:00178e40 _mainCRTStartup 006bce40 f LIBCMTD:exe_main.obj + 0002:00178e50 @__CheckForDebuggerJustMyCode@4 006bce50 f LIBCMTD:debugger_jmc.obj + 0002:00178ea0 __allshl 006bcea0 f LIBCMTD:llshl.obj + 0002:00178ed0 __aulldiv 006bced0 f LIBCMTD:ulldiv.obj + 0002:00178f60 __aullrem 006bcf60 f LIBCMTD:ullrem.obj + 0002:00179000 __aullshr 006bd000 f LIBCMTD:ullshr.obj + 0002:00179030 __alldiv 006bd030 f LIBCMTD:lldiv.obj + 0002:00179110 __allmul 006bd110 f LIBCMTD:llmul.obj + 0002:00179160 __ftoui3 006bd160 f LIBCMTD:ftol3.obj + 0002:00179196 __ftoul3 006bd196 f LIBCMTD:ftol3.obj + 0002:001791e5 __ftol3 006bd1e5 f LIBCMTD:ftol3.obj + 0002:0017922f __dtoui3 006bd22f f LIBCMTD:ftol3.obj + 0002:00179293 __dtoul3 006bd293 f LIBCMTD:ftol3.obj + 0002:00179317 __dtol3 006bd317 f LIBCMTD:ftol3.obj + 0002:001793b0 __ultod3 006bd3b0 f LIBCMTD:ftol3.obj + 0002:001793f0 __ltod3 006bd3f0 f LIBCMTD:ftol3.obj + 0002:001794d0 @_guard_check_icall_nop@4 006bd4d0 f i LIBCMTD:guard_support.obj + 0002:001794e0 _ReadNoFence 006bd4e0 f i LIBCMTD:guard_support.obj + 0002:00179500 _ReadPointerNoFence 006bd500 f i LIBCMTD:guard_support.obj + 0002:00179520 __guard_icall_checks_enforced 006bd520 f i LIBCMTD:guard_support.obj + 0002:00179560 ??0bad_alloc@std@@AAE@QBD@Z 006bd560 f i LIBCMTD:throw_bad_alloc.obj + 0002:00179590 ??0bad_array_new_length@std@@QAE@ABV01@@Z 006bd590 f i LIBCMTD:throw_bad_alloc.obj + 0002:001795c0 ??0bad_array_new_length@std@@QAE@XZ 006bd5c0 f i LIBCMTD:throw_bad_alloc.obj + 0002:001795f0 ??1bad_array_new_length@std@@UAE@XZ 006bd5f0 f i LIBCMTD:throw_bad_alloc.obj + 0002:00179610 ??_Gbad_array_new_length@std@@UAEPAXI@Z 006bd610 f i LIBCMTD:throw_bad_alloc.obj + 0002:00179610 ??_Ebad_array_new_length@std@@UAEPAXI@Z 006bd610 f i LIBCMTD:throw_bad_alloc.obj + 0002:00179650 ?__scrt_throw_std_bad_alloc@@YAXXZ 006bd650 f LIBCMTD:throw_bad_alloc.obj + 0002:00179680 ?__scrt_throw_std_bad_array_new_length@@YAXXZ 006bd680 f LIBCMTD:throw_bad_alloc.obj + 0002:001796b0 ??3@YAXPAX@Z 006bd6b0 f LIBCMTD:delete_scalar.obj + 0002:001796d0 ?_RTC_GetErrorFunc@@YAP6AHHPBDH00ZZPBX@Z 006bd6d0 f LIBCMTD:userapi.obj + 0002:001796e0 ?_RTC_GetErrorFuncW@@YAP6AHHPB_WH00ZZPBX@Z 006bd6e0 f LIBCMTD:userapi.obj + 0002:001796f0 __RTC_GetErrDesc 006bd6f0 f LIBCMTD:userapi.obj + 0002:00179710 __RTC_NumErrors 006bd710 f LIBCMTD:userapi.obj + 0002:00179720 __RTC_SetErrorFunc 006bd720 f LIBCMTD:userapi.obj + 0002:00179750 __RTC_SetErrorFuncW 006bd750 f LIBCMTD:userapi.obj + 0002:00179780 __RTC_SetErrorType 006bd780 f LIBCMTD:userapi.obj + 0002:00179d40 ?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z 006bdd40 f LIBCMTD:pdblkup.obj + 0002:0017a1b0 __except_handler4_noexcept 006be1b0 f LIBCMTD:chandler4_noexcept.obj + 0002:0017a210 ___isa_available_init 006be210 f LIBCMTD:cpu_disp.obj + 0002:0017a5a0 __get_startup_argv_mode 006be5a0 f LIBCMTD:argv_mode.obj + 0002:0017a5b0 ___scrt_is_ucrt_dll_in_use 006be5b0 f LIBCMTD:ucrt_detection.obj + 0002:0017a5e0 ___scrt_fastfail 006be5e0 f LIBCMTD:utility_desktop.obj + 0002:0017a770 ___scrt_get_show_window_mode 006be770 f LIBCMTD:utility_desktop.obj + 0002:0017a7c0 ___scrt_initialize_mta 006be7c0 f LIBCMTD:utility_desktop.obj + 0002:0017a7d0 ___scrt_initialize_winrt 006be7d0 f LIBCMTD:utility_desktop.obj + 0002:0017a7e0 ___scrt_is_managed_app 006be7e0 f LIBCMTD:utility_desktop.obj + 0002:0017a890 ___scrt_set_unhandled_exception_filter 006be890 f LIBCMTD:utility_desktop.obj + 0002:0017a8b0 ___scrt_stub_for_initialize_mta 006be8b0 f LIBCMTD:utility_desktop.obj + 0002:0017a8b0 ___scrt_exe_initialize_mta 006be8b0 f LIBCMTD:utility_desktop.obj + 0002:0017a8c0 ___scrt_unhandled_exception_filter@4 006be8c0 f LIBCMTD:utility_desktop.obj + 0002:0017a940 __crt_debugger_hook 006be940 f LIBCMTD:utility_desktop.obj + 0002:0017a9f0 ___security_init_cookie 006be9f0 f LIBCMTD:gs_support.obj + 0002:0017aa90 __matherr 006bea90 f LIBCMTD:matherr.obj + 0002:0017aaa0 __get_startup_commit_mode 006beaa0 f LIBCMTD:commit_mode.obj + 0002:0017aab0 __get_startup_file_mode 006beab0 f LIBCMTD:file_mode.obj + 0002:0017aac0 __get_startup_new_mode 006beac0 f LIBCMTD:new_mode.obj + 0002:0017aad0 __get_startup_thread_locale_mode 006bead0 f LIBCMTD:thread_locale.obj + 0002:0017aae0 ?__scrt_initialize_type_info@@YAXXZ 006beae0 f LIBCMTD:tncleanup.obj + 0002:0017ab00 ?__scrt_uninitialize_type_info@@YAXXZ 006beb00 f LIBCMTD:tncleanup.obj + 0002:0017ab20 __should_initialize_environment 006beb20 f LIBCMTD:env_mode.obj + 0002:0017ab30 __initialize_default_precision 006beb30 f LIBCMTD:default_precision.obj + 0002:0017ab60 __initialize_invalid_parameter_handler 006beb60 f LIBCMTD:invalid_parameter_handler.obj + 0002:0017ab70 __initialize_denormal_control 006beb70 f LIBCMTD:denormal_control.obj + 0002:0017ab80 ___local_stdio_scanf_options 006beb80 f i LIBCMTD:default_local_stdio_options.obj + 0002:0017ab90 ___scrt_initialize_default_local_stdio_options 006beb90 f LIBCMTD:default_local_stdio_options.obj + 0002:0017abe0 ___scrt_is_user_matherr_present 006bebe0 f LIBCMTD:matherr_detection.obj + 0002:0017ac10 ___scrt_get_dyn_tls_init_callback 006bec10 f LIBCMTD:dyn_tls_init.obj + 0002:0017ac20 ___scrt_get_dyn_tls_dtor_callback 006bec20 f LIBCMTD:dyn_tls_dtor.obj + 0002:0017ac30 __RTC_Initialize 006bec30 f LIBCMTD:initsect.obj + 0002:0017ac70 __RTC_Terminate 006bec70 f LIBCMTD:initsect.obj + 0002:0017acb0 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z 006becb0 f i libconcrtd:rtlocks.obj + 0002:0017ace0 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z 006bece0 f i libconcrtd:rtlocks.obj + 0002:0017ad10 ??0LockQueueNode@details@Concurrency@@QAE@I@Z 006bed10 f i libconcrtd:rtlocks.obj + 0002:0017ae30 ??0LockQueueNode@details@Concurrency@@QAE@PAVContext@2@I@Z 006bee30 f i libconcrtd:rtlocks.obj + 0002:0017ae90 ??0_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 006bee90 f libconcrtd:rtlocks.obj + 0002:0017aee0 ??0_NonReentrantPPLLock@details@Concurrency@@QAE@XZ 006beee0 f libconcrtd:rtlocks.obj + 0002:0017af00 ??0_ReaderWriterLock@details@Concurrency@@QAE@XZ 006bef00 f libconcrtd:rtlocks.obj + 0002:0017af30 ??0_ReentrantBlockingLock@details@Concurrency@@QAE@XZ 006bef30 f libconcrtd:rtlocks.obj + 0002:0017af80 ??0_ReentrantLock@details@Concurrency@@QAE@XZ 006bef80 f libconcrtd:rtlocks.obj + 0002:0017afb0 ??0_ReentrantPPLLock@details@Concurrency@@QAE@XZ 006befb0 f libconcrtd:rtlocks.obj + 0002:0017aff0 ??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z 006beff0 f libconcrtd:rtlocks.obj + 0002:0017b060 ??0_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z 006bf060 f libconcrtd:rtlocks.obj + 0002:0017b0d0 ??0critical_section@Concurrency@@QAE@XZ 006bf0d0 f libconcrtd:rtlocks.obj + 0002:0017b130 ??0improper_lock@Concurrency@@QAE@ABV01@@Z 006bf130 f i libconcrtd:rtlocks.obj + 0002:0017b160 ??0reader_writer_lock@Concurrency@@QAE@XZ 006bf160 f libconcrtd:rtlocks.obj + 0002:0017b1d0 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z 006bf1d0 f libconcrtd:rtlocks.obj + 0002:0017b240 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z 006bf240 f libconcrtd:rtlocks.obj + 0002:0017b2b0 ??0scoped_lock_read@reader_writer_lock@Concurrency@@QAE@AAV12@@Z 006bf2b0 f libconcrtd:rtlocks.obj + 0002:0017b2e0 ??1_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 006bf2e0 f libconcrtd:rtlocks.obj + 0002:0017b310 ??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ 006bf310 f libconcrtd:rtlocks.obj + 0002:0017b340 ??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ 006bf340 f libconcrtd:rtlocks.obj + 0002:0017b390 ??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ 006bf390 f libconcrtd:rtlocks.obj + 0002:0017b3e0 ??1critical_section@Concurrency@@QAE@XZ 006bf3e0 f libconcrtd:rtlocks.obj + 0002:0017b430 ??1improper_lock@Concurrency@@UAE@XZ 006bf430 f i libconcrtd:rtlocks.obj + 0002:0017b450 ??1reader_writer_lock@Concurrency@@QAE@XZ 006bf450 f libconcrtd:rtlocks.obj + 0002:0017b4a0 ??1scoped_lock@critical_section@Concurrency@@QAE@XZ 006bf4a0 f libconcrtd:rtlocks.obj + 0002:0017b4f0 ??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ 006bf4f0 f libconcrtd:rtlocks.obj + 0002:0017b540 ??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ 006bf540 f libconcrtd:rtlocks.obj + 0002:0017b590 ??_Eimproper_lock@Concurrency@@UAEPAXI@Z 006bf590 f i libconcrtd:rtlocks.obj + 0002:0017b590 ??_Gimproper_lock@Concurrency@@UAEPAXI@Z 006bf590 f i libconcrtd:rtlocks.obj + 0002:0017b5d0 ?Block@LockQueueNode@details@Concurrency@@QAEXI@Z 006bf5d0 f i libconcrtd:rtlocks.obj + 0002:0017b750 ?Copy@LockQueueNode@details@Concurrency@@QAEXPAV123@@Z 006bf750 f i libconcrtd:rtlocks.obj + 0002:0017b820 ?CurrentContext@SchedulerBase@details@Concurrency@@SAPAVContextBase@23@XZ 006bf820 f i libconcrtd:rtlocks.obj + 0002:0017b870 ?DerefTimerNode@LockQueueNode@details@Concurrency@@QAEXXZ 006bf870 f i libconcrtd:rtlocks.obj + 0002:0017b8c0 ?DispatchNodeTimeoutTimer@LockQueueNode@details@Concurrency@@SGXPAU_TP_CALLBACK_INSTANCE@@PAXPAU_TP_TIMER@@@Z 006bf8c0 f i libconcrtd:rtlocks.obj + 0002:0017b940 ?DispatchNodeTimeoutTimerXP@LockQueueNode@details@Concurrency@@SGXPAXE@Z 006bf940 f i libconcrtd:rtlocks.obj + 0002:0017b9e0 ?GetCurrent@UMSThreadProxy@details@Concurrency@@SAPAV123@XZ 006bf9e0 f i libconcrtd:rtlocks.obj + 0002:0017ba00 ?GetDebugBits@details@Concurrency@@YAJXZ 006bfa00 f libconcrtd:rtlocks.obj + 0002:0017bb60 ?IsBlocked@LockQueueNode@details@Concurrency@@AAE_NXZ 006bfb60 f i libconcrtd:rtlocks.obj + 0002:0017bba0 ?IsOneShotInitialized@SchedulerBase@details@Concurrency@@SA_NXZ 006bfba0 f i libconcrtd:rtlocks.obj + 0002:0017bbd0 ?IsPreviousBlocked@LockQueueNode@details@Concurrency@@AAE_NXZ 006bfbd0 f i libconcrtd:rtlocks.obj + 0002:0017bc10 ?IsShutdownValidations@ContextBase@details@Concurrency@@QBE_NXZ 006bfc10 f i libconcrtd:rtlocks.obj + 0002:0017bc30 ?IsShutdownValidations@UMSThreadProxy@details@Concurrency@@QBE_NXZ 006bfc30 f i libconcrtd:rtlocks.obj + 0002:0017bc50 ?IsTicketValid@LockQueueNode@details@Concurrency@@AAE_NXZ 006bfc50 f i libconcrtd:rtlocks.obj + 0002:0017bc90 ?IsTransmogrified@UMSThreadProxy@details@Concurrency@@QBE_NXZ 006bfc90 f i libconcrtd:rtlocks.obj + 0002:0017bcd0 ?TryCompensateTimer@LockQueueNode@details@Concurrency@@QAEXXZ 006bfcd0 f i libconcrtd:rtlocks.obj + 0002:0017bd10 ?Unblock@LockQueueNode@details@Concurrency@@QAE_NXZ 006bfd10 f i libconcrtd:rtlocks.obj + 0002:0017bd80 ?UnblockWithoutContext@LockQueueNode@details@Concurrency@@QAEXXZ 006bfd80 f i libconcrtd:rtlocks.obj + 0002:0017bda0 ?UpdateBlockingState@LockQueueNode@details@Concurrency@@QAEXPAV123@@Z 006bfda0 f i libconcrtd:rtlocks.obj + 0002:0017be20 ?UpdateQueuePosition@LockQueueNode@details@Concurrency@@QAEXPAV123@@Z 006bfe20 f i libconcrtd:rtlocks.obj + 0002:0017bf40 ?ValidateDebugBits@details@Concurrency@@YAXJ@Z 006bff40 f libconcrtd:rtlocks.obj + 0002:0017bf80 ?WaitForNextNode@LockQueueNode@details@Concurrency@@QAEPAV123@XZ 006bff80 f i libconcrtd:rtlocks.obj + 0002:0017bfd0 ?_Acquire@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ 006bffd0 f libconcrtd:rtlocks.obj + 0002:0017c000 ?_Acquire@_NonReentrantPPLLock@details@Concurrency@@QAEXPAX@Z 006c0000 f libconcrtd:rtlocks.obj + 0002:0017c030 ?_Acquire@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ 006c0030 f libconcrtd:rtlocks.obj + 0002:0017c060 ?_Acquire@_ReentrantLock@details@Concurrency@@QAEXXZ 006c0060 f libconcrtd:rtlocks.obj + 0002:0017c170 ?_Acquire@_ReentrantPPLLock@details@Concurrency@@QAEXPAX@Z 006c0170 f libconcrtd:rtlocks.obj + 0002:0017c1f0 ?_AcquireRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ 006c01f0 f libconcrtd:rtlocks.obj + 0002:0017c2c0 ?_AcquireWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ 006c02c0 f libconcrtd:rtlocks.obj + 0002:0017c320 ?_Acquire_lock@critical_section@Concurrency@@QAE_NPAX_N@Z 006c0320 f libconcrtd:rtlocks.obj + 0002:0017c450 ?_Acquire_lock@reader_writer_lock@Concurrency@@QAEXPAX_N@Z 006c0450 f libconcrtd:rtlocks.obj + 0002:0017c570 ?_DebugAcquire@_NonReentrantLock@details@Concurrency@@AAEXXZ 006c0570 f libconcrtd:rtlocks.obj + 0002:0017c600 ?_DebugTryAcquire@_NonReentrantLock@details@Concurrency@@AAE_NXZ 006c0600 f libconcrtd:rtlocks.obj + 0002:0017c690 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ 006c0690 f i libconcrtd:rtlocks.obj + 0002:0017c700 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ 006c0700 f i libconcrtd:rtlocks.obj + 0002:0017c720 ?_FlushWriteOwners@_ReaderWriterLock@details@Concurrency@@QAEXXZ 006c0720 f libconcrtd:rtlocks.obj + 0002:0017c760 ?_Flush_current_owner@critical_section@Concurrency@@QAEXXZ 006c0760 f libconcrtd:rtlocks.obj + 0002:0017c790 ?_Get_reader_convoy@reader_writer_lock@Concurrency@@AAEPAXXZ 006c0790 f libconcrtd:rtlocks.obj + 0002:0017c7f0 ?_Initialize@_SpinCount@details@Concurrency@@SAXXZ 006c07f0 f libconcrtd:rtlocks.obj + 0002:0017c830 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ 006c0830 f i libconcrtd:rtlocks.obj + 0002:0017c850 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ 006c0850 f i libconcrtd:rtlocks.obj + 0002:0017c870 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ 006c0870 f libconcrtd:rtlocks.obj + 0002:0017c8a0 ?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ 006c08a0 f libconcrtd:rtlocks.obj + 0002:0017c8c0 ?_Release@_ReentrantBlockingLock@details@Concurrency@@QAEXXZ 006c08c0 f libconcrtd:rtlocks.obj + 0002:0017c8f0 ?_Release@_ReentrantLock@details@Concurrency@@QAEXXZ 006c08f0 f libconcrtd:rtlocks.obj + 0002:0017c970 ?_Release@_ReentrantPPLLock@details@Concurrency@@QAEXXZ 006c0970 f libconcrtd:rtlocks.obj + 0002:0017ca50 ?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QAEXXZ 006c0a50 f libconcrtd:rtlocks.obj + 0002:0017cab0 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ 006c0ab0 f libconcrtd:rtlocks.obj + 0002:0017cb70 ?_Remove_last_writer@reader_writer_lock@Concurrency@@AAEXPAX@Z 006c0b70 f libconcrtd:rtlocks.obj + 0002:0017cbe0 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ 006c0be0 f i libconcrtd:rtlocks.obj + 0002:0017cc50 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ 006c0c50 f i libconcrtd:rtlocks.obj + 0002:0017ccc0 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z 006c0cc0 f i libconcrtd:rtlocks.obj + 0002:0017cd50 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z 006c0d50 f i libconcrtd:rtlocks.obj + 0002:0017cde0 ?_Set_next_writer@reader_writer_lock@Concurrency@@AAE_NPAX@Z 006c0de0 f libconcrtd:rtlocks.obj + 0002:0017ce60 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ 006c0e60 f i libconcrtd:rtlocks.obj + 0002:0017ceb0 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ 006c0eb0 f i libconcrtd:rtlocks.obj + 0002:0017cf00 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ 006c0f00 f i libconcrtd:rtlocks.obj + 0002:0017d080 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ 006c1080 f i libconcrtd:rtlocks.obj + 0002:0017d200 ?_Switch_to_active@critical_section@Concurrency@@AAEXPAX@Z 006c1200 f libconcrtd:rtlocks.obj + 0002:0017d2c0 ?_Switch_to_active@reader_writer_lock@Concurrency@@AAEXPAX@Z 006c12c0 f libconcrtd:rtlocks.obj + 0002:0017d3d0 ?_TryAcquire@_NonReentrantBlockingLock@details@Concurrency@@QAE_NXZ 006c13d0 f libconcrtd:rtlocks.obj + 0002:0017d420 ?_TryAcquire@_ReentrantBlockingLock@details@Concurrency@@QAE_NXZ 006c1420 f libconcrtd:rtlocks.obj + 0002:0017d470 ?_TryAcquire@_ReentrantLock@details@Concurrency@@QAE_NXZ 006c1470 f libconcrtd:rtlocks.obj + 0002:0017d540 ?_TryAcquireWrite@_ReaderWriterLock@details@Concurrency@@QAE_NXZ 006c1540 f libconcrtd:rtlocks.obj + 0002:0017d590 ?_Unlock_reader@reader_writer_lock@Concurrency@@AAEXXZ 006c1590 f libconcrtd:rtlocks.obj + 0002:0017d620 ?_Unlock_writer@reader_writer_lock@Concurrency@@AAEXXZ 006c1620 f libconcrtd:rtlocks.obj + 0002:0017d790 ?_Value@_SpinCount@details@Concurrency@@SAIXZ 006c1790 f libconcrtd:rtlocks.obj + 0002:0017d7a0 ?_WaitEquals@_ReaderWriterLock@details@Concurrency@@CAXADJJJ@Z 006c17a0 f libconcrtd:rtlocks.obj + 0002:0017d830 ?lock@critical_section@Concurrency@@QAEXXZ 006c1830 f libconcrtd:rtlocks.obj + 0002:0017d880 ?lock@reader_writer_lock@Concurrency@@QAEXXZ 006c1880 f libconcrtd:rtlocks.obj + 0002:0017d8d0 ?lock_read@reader_writer_lock@Concurrency@@QAEXXZ 006c18d0 f libconcrtd:rtlocks.obj + 0002:0017da20 ?native_handle@critical_section@Concurrency@@QAEAAV12@XZ 006c1a20 f libconcrtd:rtlocks.obj + 0002:0017da40 ?try_lock@critical_section@Concurrency@@QAE_NXZ 006c1a40 f libconcrtd:rtlocks.obj + 0002:0017dac0 ?try_lock@reader_writer_lock@Concurrency@@QAE_NXZ 006c1ac0 f libconcrtd:rtlocks.obj + 0002:0017db70 ?try_lock_for@critical_section@Concurrency@@QAE_NI@Z 006c1b70 f libconcrtd:rtlocks.obj + 0002:0017dc60 ?try_lock_read@reader_writer_lock@Concurrency@@QAE_NXZ 006c1c60 f libconcrtd:rtlocks.obj + 0002:0017dcc0 ?unlock@critical_section@Concurrency@@QAEXXZ 006c1cc0 f libconcrtd:rtlocks.obj + 0002:0017de30 ?unlock@reader_writer_lock@Concurrency@@QAEXXZ 006c1e30 f libconcrtd:rtlocks.obj + 0002:0017deb0 ??0?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@QAE@XZ 006c1eb0 f i libconcrtd:event.obj + 0002:0017def0 ??0EventWaitNode@details@Concurrency@@QAE@PAVWaitBlock@12@@Z 006c1ef0 f i libconcrtd:event.obj + 0002:0017df10 ??0MultiWaitBlock@details@Concurrency@@QAE@I_N0@Z 006c1f10 f i libconcrtd:event.obj + 0002:0017dfa0 ??0MultiWaitBlockHolder@details@Concurrency@@QAE@_NI00@Z 006c1fa0 f libconcrtd:event.obj + 0002:0017e170 ??0SingleWaitBlock@details@Concurrency@@QAE@XZ 006c2170 f i libconcrtd:event.obj + 0002:0017e1a0 ??0TimedSingleWaitBlock@details@Concurrency@@QAE@_N@Z 006c21a0 f i libconcrtd:event.obj + 0002:0017e220 ??0WaitAllBlock@details@Concurrency@@QAE@I_N0@Z 006c2220 f i libconcrtd:event.obj + 0002:0017e270 ??0WaitAnyBlock@details@Concurrency@@QAE@I_N0@Z 006c2270 f i libconcrtd:event.obj + 0002:0017e2c0 ??0WaitBlock@details@Concurrency@@QAE@XZ 006c22c0 f i libconcrtd:event.obj + 0002:0017e310 ??0_Condition_variable@details@Concurrency@@QAE@XZ 006c2310 f libconcrtd:event.obj + 0002:0017e340 ??0event@Concurrency@@QAE@XZ 006c2340 f libconcrtd:event.obj + 0002:0017e380 ??1?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@UAE@XZ 006c2380 f i libconcrtd:event.obj + 0002:0017e3e0 ??1MultiWaitBlockHolder@details@Concurrency@@QAE@XZ 006c23e0 f libconcrtd:event.obj + 0002:0017e470 ??1_Condition_variable@details@Concurrency@@QAE@XZ 006c2470 f libconcrtd:event.obj + 0002:0017e4e0 ??1event@Concurrency@@QAE@XZ 006c24e0 f libconcrtd:event.obj + 0002:0017e5d0 ??2@YAPAXIV_ConcRTNewMoniker@@PBDH@Z 006c25d0 f i libconcrtd:event.obj + 0002:0017e600 ??3@YAXPAXV_ConcRTNewMoniker@@PBDH@Z 006c2600 f i libconcrtd:event.obj + 0002:0017e620 ??_E?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006c2620 f i libconcrtd:event.obj + 0002:0017e620 ??_G?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006c2620 f i libconcrtd:event.obj + 0002:0017e660 ??_U@YAPAXIV_ConcRTNewMoniker@@PBDH@Z 006c2660 f i libconcrtd:event.obj + 0002:0017e690 ?Destroy@EventWaitNode@details@Concurrency@@QAEXXZ 006c2690 f i libconcrtd:event.obj + 0002:0017e6d0 ?Destroy@SingleWaitBlock@details@Concurrency@@UAEXXZ 006c26d0 f libconcrtd:event.obj + 0002:0017e720 ?Destroy@TimedSingleWaitBlock@details@Concurrency@@UAEXXZ 006c2720 f libconcrtd:event.obj + 0002:0017e770 ?Destroy@WaitAllBlock@details@Concurrency@@UAEXXZ 006c2770 f libconcrtd:event.obj + 0002:0017e790 ?Destroy@WaitAnyBlock@details@Concurrency@@UAEXXZ 006c2790 f libconcrtd:event.obj + 0002:0017e7a0 ?DispatchEventTimer@MultiWaitBlock@details@Concurrency@@SGXPAU_TP_CALLBACK_INSTANCE@@PAXPAU_TP_TIMER@@@Z 006c27a0 f libconcrtd:event.obj + 0002:0017e860 ?DispatchEventTimer@TimedSingleWaitBlock@details@Concurrency@@SGXPAU_TP_CALLBACK_INSTANCE@@PAXPAU_TP_TIMER@@@Z 006c2860 f libconcrtd:event.obj + 0002:0017e8c0 ?DispatchEventTimerXP@MultiWaitBlock@details@Concurrency@@SGXPAXE@Z 006c28c0 f libconcrtd:event.obj + 0002:0017e980 ?DispatchEventTimerXP@TimedSingleWaitBlock@details@Concurrency@@SGXPAXE@Z 006c2980 f libconcrtd:event.obj + 0002:0017e9d0 ?GetIndexOfNode@MultiWaitBlockHolder@details@Concurrency@@QBEIPAVEventWaitNode@23@@Z 006c29d0 f i libconcrtd:event.obj + 0002:0017ea00 ?GetSharedTimerQueue@details@Concurrency@@YAPAXXZ 006c2a00 f libconcrtd:event.obj + 0002:0017ead0 ?GetWaitBlock@MultiWaitBlockHolder@details@Concurrency@@QBEPAVMultiWaitBlock@23@XZ 006c2ad0 f i libconcrtd:event.obj + 0002:0017eaf0 ?GetWaitNode@MultiWaitBlockHolder@details@Concurrency@@QBEPAVEventWaitNode@23@I@Z 006c2af0 f i libconcrtd:event.obj + 0002:0017eb20 ?NotifyCompletedNode@MultiWaitBlock@details@Concurrency@@QAEXXZ 006c2b20 f libconcrtd:event.obj + 0002:0017eb80 ?Release@MultiWaitBlockHolder@details@Concurrency@@QAEXXZ 006c2b80 f i libconcrtd:event.obj + 0002:0017eba0 ?Reset@EventWaitNode@details@Concurrency@@QAE_NXZ 006c2ba0 f i libconcrtd:event.obj + 0002:0017ebe0 ?Reset@SingleWaitBlock@details@Concurrency@@UAE_NXZ 006c2be0 f libconcrtd:event.obj + 0002:0017ec30 ?Reset@WaitAllBlock@details@Concurrency@@UAE_NXZ 006c2c30 f libconcrtd:event.obj + 0002:0017ecc0 ?Reset@WaitAnyBlock@details@Concurrency@@UAE_NXZ 006c2cc0 f libconcrtd:event.obj + 0002:0017ed10 ?Satisfy@EventWaitNode@details@Concurrency@@QAE_NPAPAVContext@3@@Z 006c2d10 f i libconcrtd:event.obj + 0002:0017ed70 ?Satisfy@SingleWaitBlock@details@Concurrency@@UAE_NPAPAVContext@3@PAVEventWaitNode@23@@Z 006c2d70 f libconcrtd:event.obj + 0002:0017ee40 ?Satisfy@TimedSingleWaitBlock@details@Concurrency@@UAE_NPAPAVContext@3@PAVEventWaitNode@23@@Z 006c2e40 f libconcrtd:event.obj + 0002:0017ef00 ?Satisfy@WaitAllBlock@details@Concurrency@@UAE_NPAPAVContext@3@PAVEventWaitNode@23@@Z 006c2f00 f libconcrtd:event.obj + 0002:0017efe0 ?Satisfy@WaitAnyBlock@details@Concurrency@@UAE_NPAPAVContext@3@PAVEventWaitNode@23@@Z 006c2fe0 f libconcrtd:event.obj + 0002:0017f0b0 ?Set@StructuredEvent@details@Concurrency@@QAEXXZ 006c30b0 f libconcrtd:event.obj + 0002:0017f160 ?SingleSatisfy@MultiWaitBlock@details@Concurrency@@MAEXPAPAVContext@3@PAVEventWaitNode@23@@Z 006c3160 f libconcrtd:event.obj + 0002:0017f320 ?Sweep@details@Concurrency@@YAPAVEventWaitNode@12@PAV312@_N@Z 006c3320 f libconcrtd:event.obj + 0002:0017f3b0 ?SweepResetNode@EventWaitNode@details@Concurrency@@QAE_NXZ 006c33b0 f i libconcrtd:event.obj + 0002:0017f3f0 ?SweepResetNode@SingleWaitBlock@details@Concurrency@@UAE_NXZ 006c33f0 f libconcrtd:event.obj + 0002:0017f440 ?SweepResetNode@WaitAllBlock@details@Concurrency@@UAE_NXZ 006c3440 f libconcrtd:event.obj + 0002:0017f510 ?SweepResetNode@WaitAnyBlock@details@Concurrency@@UAE_NXZ 006c3510 f libconcrtd:event.obj + 0002:0017f560 ?SweepWaitNode@EventWaitNode@details@Concurrency@@QAE_NXZ 006c3560 f i libconcrtd:event.obj + 0002:0017f5a0 ?SweepWaitNode@SingleWaitBlock@details@Concurrency@@UAE_NXZ 006c35a0 f libconcrtd:event.obj + 0002:0017f5b0 ?SweepWaitNode@TimedSingleWaitBlock@details@Concurrency@@UAE_NXZ 006c35b0 f libconcrtd:event.obj + 0002:0017f600 ?SweepWaitNode@WaitAllBlock@details@Concurrency@@UAE_NXZ 006c3600 f libconcrtd:event.obj + 0002:0017f710 ?SweepWaitNode@WaitAnyBlock@details@Concurrency@@UAE_NXZ 006c3710 f libconcrtd:event.obj + 0002:0017f7c0 ?Wait@StructuredEvent@details@Concurrency@@QAEXXZ 006c37c0 f libconcrtd:event.obj + 0002:0017f880 ?_InitOnRawMalloca@?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@QAEPAPAVContext@3@PAX@Z 006c3880 f i libconcrtd:event.obj + 0002:0017f8d0 ?_Initialize@?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@QAEXPAPAVContext@3@@Z 006c38d0 f i libconcrtd:event.obj + 0002:0017f950 ?createTimer@TimedSingleWaitBlock@details@Concurrency@@QAE_NI@Z 006c3950 f i libconcrtd:event.obj + 0002:0017fa30 ?destroyTimer@TimedSingleWaitBlock@details@Concurrency@@QAEX_N@Z 006c3a30 f i libconcrtd:event.obj + 0002:0017fae0 ?getEventNode@TimedSingleWaitBlock@details@Concurrency@@QAEPAVEventWaitNode@23@XZ 006c3ae0 f i libconcrtd:event.obj + 0002:0017fb00 ?notify_all@_Condition_variable@details@Concurrency@@QAEXXZ 006c3b00 f libconcrtd:event.obj + 0002:0017fbc0 ?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ 006c3bc0 f libconcrtd:event.obj + 0002:0017fce0 ?reset@event@Concurrency@@QAEXXZ 006c3ce0 f libconcrtd:event.obj + 0002:0017fde0 ?set@event@Concurrency@@QAEXXZ 006c3de0 f libconcrtd:event.obj + 0002:00180060 ?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z 006c4060 f libconcrtd:event.obj + 0002:00180130 ?wait@event@Concurrency@@QAEII@Z 006c4130 f libconcrtd:event.obj + 0002:001802e0 ?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z 006c42e0 f libconcrtd:event.obj + 0002:001804d0 ?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z 006c44d0 f libconcrtd:event.obj + 0002:00180aa0 __freea 006c4aa0 f i libconcrtd:event.obj + 0002:00180b30 ??0DefaultWaiterPool@platform@details@Concurrency@@QAE@XZ 006c4b30 f i libconcrtd:Platform.obj + 0002:00180b50 ??0scheduler_resource_allocation_error@Concurrency@@QAE@ABV01@@Z 006c4b50 f i libconcrtd:Platform.obj + 0002:00180b90 ??1DefaultWaiterPool@platform@details@Concurrency@@QAE@XZ 006c4b90 f i libconcrtd:Platform.obj + 0002:00180bf0 ??1WaiterThreadPool@platform@details@Concurrency@@QAE@XZ 006c4bf0 f i libconcrtd:Platform.obj + 0002:00180c60 ??1scheduler_resource_allocation_error@Concurrency@@UAE@XZ 006c4c60 f i libconcrtd:Platform.obj + 0002:00180c80 ??_GWaiterThreadPool@platform@details@Concurrency@@QAEPAXI@Z 006c4c80 f i libconcrtd:Platform.obj + 0002:00180cc0 ??_Gscheduler_resource_allocation_error@Concurrency@@UAEPAXI@Z 006c4cc0 f i libconcrtd:Platform.obj + 0002:00180cc0 ??_Escheduler_resource_allocation_error@Concurrency@@UAEPAXI@Z 006c4cc0 f i libconcrtd:Platform.obj + 0002:00180d00 ?InitializeSystemFunctionPointers@platform@details@Concurrency@@YAXXZ 006c4d00 f libconcrtd:Platform.obj + 0002:00180e20 ?__ChangeTimerQueueTimer@platform@details@Concurrency@@YAHPAX0KK@Z 006c4e20 f libconcrtd:Platform.obj + 0002:00180e50 ?__CloseThreadHandle@platform@details@Concurrency@@YAXPAX@Z 006c4e50 f libconcrtd:Platform.obj + 0002:00180e70 ?__CreateAutoResetEvent@platform@details@Concurrency@@YAPAX_N@Z 006c4e70 f libconcrtd:Platform.obj + 0002:00180f00 ?__CreateManualResetEvent@platform@details@Concurrency@@YAPAX_N@Z 006c4f00 f libconcrtd:Platform.obj + 0002:00180f90 ?__CreateThread@platform@details@Concurrency@@YAPAXPAU_SECURITY_ATTRIBUTES@@IP6GKPAX@Z1KPAK@Z 006c4f90 f libconcrtd:Platform.obj + 0002:00180fc0 ?__CreateTimerQueueTimer@platform@details@Concurrency@@YAHPAPAXPAXP6GX1E@Z1KKK@Z 006c4fc0 f libconcrtd:Platform.obj + 0002:00180ff0 ?__DeleteTimerQueueTimer@platform@details@Concurrency@@YAXPAX00@Z 006c4ff0 f libconcrtd:Platform.obj + 0002:00181050 ?__GetCurrentProcessorNumberEx@platform@details@Concurrency@@YAXPAU_PROCESSOR_NUMBER@@@Z 006c5050 f libconcrtd:Platform.obj + 0002:001810a0 ?__GetLogicalProcessorInformation@platform@details@Concurrency@@YAPAU_SYSTEM_LOGICAL_PROCESSOR_INFORMATION@@PAK@Z 006c50a0 f libconcrtd:Platform.obj + 0002:00181210 ?__GetLogicalProcessorInformationEx@platform@details@Concurrency@@YAPAU_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX@@W4_LOGICAL_PROCESSOR_RELATIONSHIP@@PAK@Z 006c5210 f libconcrtd:Platform.obj + 0002:00181410 ?__GetNumaHighestNodeNumber@platform@details@Concurrency@@YAKXZ 006c5410 f libconcrtd:Platform.obj + 0002:00181470 ?__GetThreadGroupAffinity@platform@details@Concurrency@@YAHPAXPAU_GROUP_AFFINITY@@@Z 006c5470 f libconcrtd:Platform.obj + 0002:00181540 ?__GetThreadPriority@platform@details@Concurrency@@YAHPAX@Z 006c5540 f libconcrtd:Platform.obj + 0002:00181560 ?__GetTickCount64@platform@details@Concurrency@@YA_KXZ 006c5560 f libconcrtd:Platform.obj + 0002:00181570 ?__InitializeCriticalSectionEx@platform@details@Concurrency@@YAHPAU_RTL_CRITICAL_SECTION@@K@Z 006c5570 f libconcrtd:Platform.obj + 0002:00181590 ?__RegisterWaitForSingleObject@platform@details@Concurrency@@YAPAXPAXP6GX0E@Z0@Z 006c5590 f libconcrtd:Platform.obj + 0002:00181600 ?__SetThreadGroupAffinity@platform@details@Concurrency@@YAHPAXPBU_GROUP_AFFINITY@@@Z 006c5600 f libconcrtd:Platform.obj + 0002:001816f0 ?__SetThreadPriority@platform@details@Concurrency@@YAXPAXH@Z 006c56f0 f libconcrtd:Platform.obj + 0002:00181750 ?__SignalObjectAndWait@platform@details@Concurrency@@YAKPAX0KH@Z 006c5750 f libconcrtd:Platform.obj + 0002:00181780 ?__Sleep@platform@details@Concurrency@@YAXK@Z 006c5780 f libconcrtd:Platform.obj + 0002:001817a0 ?__SwitchToThread@platform@details@Concurrency@@YAXXZ 006c57a0 f libconcrtd:Platform.obj + 0002:001817b0 ?__TlsAlloc@platform@details@Concurrency@@YAKXZ 006c57b0 f libconcrtd:Platform.obj + 0002:00181810 ?__TlsFree@platform@details@Concurrency@@YAXK@Z 006c5810 f libconcrtd:Platform.obj + 0002:00181830 ?__TlsGetValue@platform@details@Concurrency@@YAPAXK@Z 006c5830 f libconcrtd:Platform.obj + 0002:00181850 ?__TlsSetValue@platform@details@Concurrency@@YAXKPAX@Z 006c5850 f libconcrtd:Platform.obj + 0002:001818b0 ?__UnregisterWait@platform@details@Concurrency@@YAXPAX@Z 006c58b0 f libconcrtd:Platform.obj + 0002:001818d0 ?__WaitForThread@platform@details@Concurrency@@YAKPAXK@Z 006c58d0 f libconcrtd:Platform.obj + 0002:001818f0 ?notify@WaiterThread@platform@details@Concurrency@@AAEX_N@Z 006c58f0 f i libconcrtd:Platform.obj + 0002:00181980 ?stop@WaiterThread@platform@details@Concurrency@@QAEXXZ 006c5980 f i libconcrtd:Platform.obj + 0002:001819d0 _HRESULT_FROM_WIN32 006c59d0 f i libconcrtd:Platform.obj + 0002:00181a10 __concrt_static_cleanup 006c5a10 f libconcrtd:utils.obj + 0002:00181a30 ??$ConcRT_FillBuffer@$0EAB@@details@Concurrency@@YAXAAY0EAB@_WPB_WPAD@Z 006c5a30 f i libconcrtd:utils.obj + 0002:00181be0 ??0_SpinLock@details@Concurrency@@QAE@ACJ@Z 006c5be0 f libconcrtd:utils.obj + 0002:00181c50 ??1_SpinLock@details@Concurrency@@QAE@XZ 006c5c50 f libconcrtd:utils.obj + 0002:00181c70 ?DecodePointer@Security@details@Concurrency@@SAPAXPAX@Z 006c5c70 f libconcrtd:utils.obj + 0002:00181c90 ?DeleteAsyncTimerAndUnloadLibrary@details@Concurrency@@YAXPAU_TP_TIMER@@@Z 006c5c90 f libconcrtd:utils.obj + 0002:00181d20 ?EncodePointer@Security@details@Concurrency@@SAPAXPAX@Z 006c5d20 f libconcrtd:utils.obj + 0002:00181d60 ?FreeLibraryAndDestroyThread@details@Concurrency@@YAXK@Z 006c5d60 f libconcrtd:utils.obj + 0002:00181da0 ?InitializeCookie@Security@details@Concurrency@@SAKXZ 006c5da0 f libconcrtd:utils.obj + 0002:00181e50 ?InitializeUtilityRoutines@details@Concurrency@@YAXXZ 006c5e50 f libconcrtd:utils.obj + 0002:00181e60 ?LoadLibraryAndCreateThread@details@Concurrency@@YAPAXPAU_SECURITY_ATTRIBUTES@@KP6GKPAX@Z1KPAK@Z 006c5e60 f libconcrtd:utils.obj + 0002:00181ed0 ?Log2@details@Concurrency@@YAKI@Z 006c5ed0 f libconcrtd:utils.obj + 0002:00181ef0 ?ReferenceLoadLibrary@details@Concurrency@@YAXXZ 006c5ef0 f libconcrtd:utils.obj + 0002:00181fe0 ?ReferenceStaticOneShot@SchedulerBase@details@Concurrency@@SAJXZ 006c5fe0 f i libconcrtd:utils.obj + 0002:00182000 ?RegisterAsyncTimerAndLoadLibrary@details@Concurrency@@YAPAU_TP_TIMER@@KP6GXPAU_TP_CALLBACK_INSTANCE@@PAXPAU3@@Z1_N@Z 006c6000 f libconcrtd:utils.obj + 0002:001820b0 ?RegisterAsyncWaitAndLoadLibrary@details@Concurrency@@YAPAU_TP_WAIT@@PAXP6GXPAU_TP_CALLBACK_INSTANCE@@0PAU3@K@Z0@Z 006c60b0 f libconcrtd:utils.obj + 0002:00182110 ?UnRegisterAsyncTimerAndUnloadLibrary@details@Concurrency@@YAXPAU_TP_CALLBACK_INSTANCE@@PAU_TP_TIMER@@@Z 006c6110 f libconcrtd:utils.obj + 0002:001821a0 ?UnRegisterAsyncWaitAndUnloadLibrary@details@Concurrency@@YAXPAU_TP_CALLBACK_INSTANCE@@PAU_TP_WAIT@@@Z 006c61a0 f libconcrtd:utils.obj + 0002:00182220 ?_Acquire@_CriticalNonReentrantLock@details@Concurrency@@QAEXXZ 006c6220 f libconcrtd:utils.obj + 0002:00182240 ?_Acquire@_HyperNonReentrantLock@details@Concurrency@@QAEXXZ 006c6240 f libconcrtd:utils.obj + 0002:00182260 ?_Acquire@_NonReentrantLock@details@Concurrency@@QAEXXZ 006c6260 f i libconcrtd:utils.obj + 0002:00182280 ?_ConcRT_CoreAssert@details@Concurrency@@YAXPBD0H@Z 006c6280 f libconcrtd:utils.obj + 0002:00182290 ?_ConcRT_Trace@details@Concurrency@@YAXHPB_WZZ 006c6290 f libconcrtd:utils.obj + 0002:00182410 ?_GetConcurrency@details@Concurrency@@YAIXZ 006c6410 f libconcrtd:utils.obj + 0002:00182420 ?_Release@_CriticalNonReentrantLock@details@Concurrency@@QAEXXZ 006c6420 f libconcrtd:utils.obj + 0002:00182440 ?_Release@_HyperNonReentrantLock@details@Concurrency@@QAEXXZ 006c6440 f libconcrtd:utils.obj + 0002:00182460 ?_Release@_NonReentrantLock@details@Concurrency@@QAEXXZ 006c6460 f i libconcrtd:utils.obj + 0002:00182480 ?_Sleep0@details@Concurrency@@YAXXZ 006c6480 f libconcrtd:utils.obj + 0002:001824a0 ?_TryAcquire@_CriticalNonReentrantLock@details@Concurrency@@QAE_NXZ 006c64a0 f libconcrtd:utils.obj + 0002:001824e0 ?_TryAcquire@_HyperNonReentrantLock@details@Concurrency@@QAE_NXZ 006c64e0 f libconcrtd:utils.obj + 0002:00182520 ?_TryAcquire@_NonReentrantLock@details@Concurrency@@QAE_NXZ 006c6520 f i libconcrtd:utils.obj + 0002:00182540 ?_UnderlyingYield@details@Concurrency@@YAXXZ 006c6540 f libconcrtd:utils.obj + 0002:00182590 __vfwprintf_l 006c6590 f i libconcrtd:utils.obj + 0002:001825d0 __vswprintf_s_l 006c65d0 f i libconcrtd:utils.obj + 0002:00182630 _fwprintf 006c6630 f i libconcrtd:utils.obj + 0002:00182670 _swprintf_s 006c6670 f i libconcrtd:utils.obj + 0002:001826c0 _vswprintf_s 006c66c0 f i libconcrtd:utils.obj + 0002:001826f0 ??0bad_target@Concurrency@@QAE@PBD@Z 006c66f0 f libconcrtd:Exceptions.obj + 0002:00182720 ??0bad_target@Concurrency@@QAE@XZ 006c6720 f libconcrtd:Exceptions.obj + 0002:00182750 ??0context_self_unblock@Concurrency@@QAE@PBD@Z 006c6750 f libconcrtd:Exceptions.obj + 0002:00182780 ??0context_self_unblock@Concurrency@@QAE@XZ 006c6780 f libconcrtd:Exceptions.obj + 0002:001827b0 ??0context_unblock_unbalanced@Concurrency@@QAE@PBD@Z 006c67b0 f libconcrtd:Exceptions.obj + 0002:001827e0 ??0context_unblock_unbalanced@Concurrency@@QAE@XZ 006c67e0 f libconcrtd:Exceptions.obj + 0002:00182810 ??0default_scheduler_exists@Concurrency@@QAE@PBD@Z 006c6810 f libconcrtd:Exceptions.obj + 0002:00182840 ??0default_scheduler_exists@Concurrency@@QAE@XZ 006c6840 f libconcrtd:Exceptions.obj + 0002:00182870 ??0improper_lock@Concurrency@@QAE@PBD@Z 006c6870 f libconcrtd:Exceptions.obj + 0002:001828a0 ??0improper_lock@Concurrency@@QAE@XZ 006c68a0 f libconcrtd:Exceptions.obj + 0002:001828d0 ??0improper_scheduler_attach@Concurrency@@QAE@PBD@Z 006c68d0 f libconcrtd:Exceptions.obj + 0002:00182900 ??0improper_scheduler_attach@Concurrency@@QAE@XZ 006c6900 f libconcrtd:Exceptions.obj + 0002:00182930 ??0improper_scheduler_detach@Concurrency@@QAE@PBD@Z 006c6930 f libconcrtd:Exceptions.obj + 0002:00182960 ??0improper_scheduler_detach@Concurrency@@QAE@XZ 006c6960 f libconcrtd:Exceptions.obj + 0002:00182990 ??0improper_scheduler_reference@Concurrency@@QAE@PBD@Z 006c6990 f libconcrtd:Exceptions.obj + 0002:001829c0 ??0improper_scheduler_reference@Concurrency@@QAE@XZ 006c69c0 f libconcrtd:Exceptions.obj + 0002:001829f0 ??0invalid_link_target@Concurrency@@QAE@PBD@Z 006c69f0 f libconcrtd:Exceptions.obj + 0002:00182a20 ??0invalid_link_target@Concurrency@@QAE@XZ 006c6a20 f libconcrtd:Exceptions.obj + 0002:00182a50 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z 006c6a50 f libconcrtd:Exceptions.obj + 0002:00182a80 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ 006c6a80 f libconcrtd:Exceptions.obj + 0002:00182ab0 ??0invalid_oversubscribe_operation@Concurrency@@QAE@PBD@Z 006c6ab0 f libconcrtd:Exceptions.obj + 0002:00182ae0 ??0invalid_oversubscribe_operation@Concurrency@@QAE@XZ 006c6ae0 f libconcrtd:Exceptions.obj + 0002:00182b10 ??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z 006c6b10 f libconcrtd:Exceptions.obj + 0002:00182b40 ??0invalid_scheduler_policy_key@Concurrency@@QAE@XZ 006c6b40 f libconcrtd:Exceptions.obj + 0002:00182b70 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@PBD@Z 006c6b70 f libconcrtd:Exceptions.obj + 0002:00182ba0 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@XZ 006c6ba0 f libconcrtd:Exceptions.obj + 0002:00182bd0 ??0invalid_scheduler_policy_value@Concurrency@@QAE@PBD@Z 006c6bd0 f libconcrtd:Exceptions.obj + 0002:00182c00 ??0invalid_scheduler_policy_value@Concurrency@@QAE@XZ 006c6c00 f libconcrtd:Exceptions.obj + 0002:00182c30 ??0message_not_found@Concurrency@@QAE@PBD@Z 006c6c30 f libconcrtd:Exceptions.obj + 0002:00182c60 ??0message_not_found@Concurrency@@QAE@XZ 006c6c60 f libconcrtd:Exceptions.obj + 0002:00182c90 ??0missing_wait@Concurrency@@QAE@PBD@Z 006c6c90 f libconcrtd:Exceptions.obj + 0002:00182cc0 ??0missing_wait@Concurrency@@QAE@XZ 006c6cc0 f libconcrtd:Exceptions.obj + 0002:00182cf0 ??0nested_scheduler_missing_detach@Concurrency@@QAE@PBD@Z 006c6cf0 f libconcrtd:Exceptions.obj + 0002:00182d20 ??0nested_scheduler_missing_detach@Concurrency@@QAE@XZ 006c6d20 f libconcrtd:Exceptions.obj + 0002:00182d50 ??0operation_timed_out@Concurrency@@QAE@PBD@Z 006c6d50 f libconcrtd:Exceptions.obj + 0002:00182d80 ??0operation_timed_out@Concurrency@@QAE@XZ 006c6d80 f libconcrtd:Exceptions.obj + 0002:00182db0 ??0scheduler_not_attached@Concurrency@@QAE@PBD@Z 006c6db0 f libconcrtd:Exceptions.obj + 0002:00182de0 ??0scheduler_not_attached@Concurrency@@QAE@XZ 006c6de0 f libconcrtd:Exceptions.obj + 0002:00182e10 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z 006c6e10 f libconcrtd:Exceptions.obj + 0002:00182e50 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z 006c6e50 f libconcrtd:Exceptions.obj + 0002:00182e90 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z 006c6e90 f libconcrtd:Exceptions.obj + 0002:00182ec0 ??0scheduler_worker_creation_error@Concurrency@@QAE@PBDJ@Z 006c6ec0 f libconcrtd:Exceptions.obj + 0002:00182f00 ??0unsupported_os@Concurrency@@QAE@PBD@Z 006c6f00 f libconcrtd:Exceptions.obj + 0002:00182f30 ??0unsupported_os@Concurrency@@QAE@XZ 006c6f30 f libconcrtd:Exceptions.obj + 0002:00182f60 ??1bad_target@Concurrency@@UAE@XZ 006c6f60 f i libconcrtd:Exceptions.obj + 0002:00182f80 ??1context_self_unblock@Concurrency@@UAE@XZ 006c6f80 f i libconcrtd:Exceptions.obj + 0002:00182fa0 ??1context_unblock_unbalanced@Concurrency@@UAE@XZ 006c6fa0 f i libconcrtd:Exceptions.obj + 0002:00182fc0 ??1default_scheduler_exists@Concurrency@@UAE@XZ 006c6fc0 f i libconcrtd:Exceptions.obj + 0002:00182fe0 ??1improper_scheduler_attach@Concurrency@@UAE@XZ 006c6fe0 f i libconcrtd:Exceptions.obj + 0002:00183000 ??1improper_scheduler_detach@Concurrency@@UAE@XZ 006c7000 f i libconcrtd:Exceptions.obj + 0002:00183020 ??1improper_scheduler_reference@Concurrency@@UAE@XZ 006c7020 f i libconcrtd:Exceptions.obj + 0002:00183040 ??1invalid_link_target@Concurrency@@UAE@XZ 006c7040 f i libconcrtd:Exceptions.obj + 0002:00183060 ??1invalid_multiple_scheduling@Concurrency@@UAE@XZ 006c7060 f i libconcrtd:Exceptions.obj + 0002:00183080 ??1invalid_oversubscribe_operation@Concurrency@@UAE@XZ 006c7080 f i libconcrtd:Exceptions.obj + 0002:001830a0 ??1invalid_scheduler_policy_key@Concurrency@@UAE@XZ 006c70a0 f i libconcrtd:Exceptions.obj + 0002:001830c0 ??1invalid_scheduler_policy_thread_specification@Concurrency@@UAE@XZ 006c70c0 f i libconcrtd:Exceptions.obj + 0002:001830e0 ??1invalid_scheduler_policy_value@Concurrency@@UAE@XZ 006c70e0 f i libconcrtd:Exceptions.obj + 0002:00183100 ??1message_not_found@Concurrency@@UAE@XZ 006c7100 f i libconcrtd:Exceptions.obj + 0002:00183120 ??1missing_wait@Concurrency@@UAE@XZ 006c7120 f i libconcrtd:Exceptions.obj + 0002:00183140 ??1nested_scheduler_missing_detach@Concurrency@@UAE@XZ 006c7140 f i libconcrtd:Exceptions.obj + 0002:00183160 ??1operation_timed_out@Concurrency@@UAE@XZ 006c7160 f i libconcrtd:Exceptions.obj + 0002:00183180 ??1scheduler_not_attached@Concurrency@@UAE@XZ 006c7180 f i libconcrtd:Exceptions.obj + 0002:001831a0 ??1scheduler_worker_creation_error@Concurrency@@UAE@XZ 006c71a0 f i libconcrtd:Exceptions.obj + 0002:001831c0 ??1unsupported_os@Concurrency@@UAE@XZ 006c71c0 f i libconcrtd:Exceptions.obj + 0002:001831e0 ??_Gbad_target@Concurrency@@UAEPAXI@Z 006c71e0 f i libconcrtd:Exceptions.obj + 0002:001831e0 ??_Ebad_target@Concurrency@@UAEPAXI@Z 006c71e0 f i libconcrtd:Exceptions.obj + 0002:00183220 ??_Gcontext_self_unblock@Concurrency@@UAEPAXI@Z 006c7220 f i libconcrtd:Exceptions.obj + 0002:00183220 ??_Econtext_self_unblock@Concurrency@@UAEPAXI@Z 006c7220 f i libconcrtd:Exceptions.obj + 0002:00183260 ??_Econtext_unblock_unbalanced@Concurrency@@UAEPAXI@Z 006c7260 f i libconcrtd:Exceptions.obj + 0002:00183260 ??_Gcontext_unblock_unbalanced@Concurrency@@UAEPAXI@Z 006c7260 f i libconcrtd:Exceptions.obj + 0002:001832a0 ??_Edefault_scheduler_exists@Concurrency@@UAEPAXI@Z 006c72a0 f i libconcrtd:Exceptions.obj + 0002:001832a0 ??_Gdefault_scheduler_exists@Concurrency@@UAEPAXI@Z 006c72a0 f i libconcrtd:Exceptions.obj + 0002:001832e0 ??_Gimproper_scheduler_attach@Concurrency@@UAEPAXI@Z 006c72e0 f i libconcrtd:Exceptions.obj + 0002:001832e0 ??_Eimproper_scheduler_attach@Concurrency@@UAEPAXI@Z 006c72e0 f i libconcrtd:Exceptions.obj + 0002:00183320 ??_Gimproper_scheduler_detach@Concurrency@@UAEPAXI@Z 006c7320 f i libconcrtd:Exceptions.obj + 0002:00183320 ??_Eimproper_scheduler_detach@Concurrency@@UAEPAXI@Z 006c7320 f i libconcrtd:Exceptions.obj + 0002:00183360 ??_Eimproper_scheduler_reference@Concurrency@@UAEPAXI@Z 006c7360 f i libconcrtd:Exceptions.obj + 0002:00183360 ??_Gimproper_scheduler_reference@Concurrency@@UAEPAXI@Z 006c7360 f i libconcrtd:Exceptions.obj + 0002:001833a0 ??_Einvalid_link_target@Concurrency@@UAEPAXI@Z 006c73a0 f i libconcrtd:Exceptions.obj + 0002:001833a0 ??_Ginvalid_link_target@Concurrency@@UAEPAXI@Z 006c73a0 f i libconcrtd:Exceptions.obj + 0002:001833e0 ??_Einvalid_multiple_scheduling@Concurrency@@UAEPAXI@Z 006c73e0 f i libconcrtd:Exceptions.obj + 0002:001833e0 ??_Ginvalid_multiple_scheduling@Concurrency@@UAEPAXI@Z 006c73e0 f i libconcrtd:Exceptions.obj + 0002:00183420 ??_Ginvalid_oversubscribe_operation@Concurrency@@UAEPAXI@Z 006c7420 f i libconcrtd:Exceptions.obj + 0002:00183420 ??_Einvalid_oversubscribe_operation@Concurrency@@UAEPAXI@Z 006c7420 f i libconcrtd:Exceptions.obj + 0002:00183460 ??_Einvalid_scheduler_policy_key@Concurrency@@UAEPAXI@Z 006c7460 f i libconcrtd:Exceptions.obj + 0002:00183460 ??_Ginvalid_scheduler_policy_key@Concurrency@@UAEPAXI@Z 006c7460 f i libconcrtd:Exceptions.obj + 0002:001834a0 ??_Einvalid_scheduler_policy_thread_specification@Concurrency@@UAEPAXI@Z 006c74a0 f i libconcrtd:Exceptions.obj + 0002:001834a0 ??_Ginvalid_scheduler_policy_thread_specification@Concurrency@@UAEPAXI@Z 006c74a0 f i libconcrtd:Exceptions.obj + 0002:001834e0 ??_Einvalid_scheduler_policy_value@Concurrency@@UAEPAXI@Z 006c74e0 f i libconcrtd:Exceptions.obj + 0002:001834e0 ??_Ginvalid_scheduler_policy_value@Concurrency@@UAEPAXI@Z 006c74e0 f i libconcrtd:Exceptions.obj + 0002:00183520 ??_Emessage_not_found@Concurrency@@UAEPAXI@Z 006c7520 f i libconcrtd:Exceptions.obj + 0002:00183520 ??_Gmessage_not_found@Concurrency@@UAEPAXI@Z 006c7520 f i libconcrtd:Exceptions.obj + 0002:00183560 ??_Gmissing_wait@Concurrency@@UAEPAXI@Z 006c7560 f i libconcrtd:Exceptions.obj + 0002:00183560 ??_Emissing_wait@Concurrency@@UAEPAXI@Z 006c7560 f i libconcrtd:Exceptions.obj + 0002:001835a0 ??_Gnested_scheduler_missing_detach@Concurrency@@UAEPAXI@Z 006c75a0 f i libconcrtd:Exceptions.obj + 0002:001835a0 ??_Enested_scheduler_missing_detach@Concurrency@@UAEPAXI@Z 006c75a0 f i libconcrtd:Exceptions.obj + 0002:001835e0 ??_Eoperation_timed_out@Concurrency@@UAEPAXI@Z 006c75e0 f i libconcrtd:Exceptions.obj + 0002:001835e0 ??_Goperation_timed_out@Concurrency@@UAEPAXI@Z 006c75e0 f i libconcrtd:Exceptions.obj + 0002:00183620 ??_Gscheduler_not_attached@Concurrency@@UAEPAXI@Z 006c7620 f i libconcrtd:Exceptions.obj + 0002:00183620 ??_Escheduler_not_attached@Concurrency@@UAEPAXI@Z 006c7620 f i libconcrtd:Exceptions.obj + 0002:00183660 ??_Gscheduler_worker_creation_error@Concurrency@@UAEPAXI@Z 006c7660 f i libconcrtd:Exceptions.obj + 0002:00183660 ??_Escheduler_worker_creation_error@Concurrency@@UAEPAXI@Z 006c7660 f i libconcrtd:Exceptions.obj + 0002:001836a0 ??_Gunsupported_os@Concurrency@@UAEPAXI@Z 006c76a0 f i libconcrtd:Exceptions.obj + 0002:001836a0 ??_Eunsupported_os@Concurrency@@UAEPAXI@Z 006c76a0 f i libconcrtd:Exceptions.obj + 0002:001836e0 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ 006c76e0 f libconcrtd:Exceptions.obj + 0002:00183700 ??0_Context@details@Concurrency@@QAE@PAVContext@2@@Z 006c7700 f i libconcrtd:Context.obj + 0002:00183720 ?Block@Context@Concurrency@@SAXXZ 006c7720 f libconcrtd:Context.obj + 0002:00183760 ?CurrentContext@Context@Concurrency@@SAPAV12@XZ 006c7760 f libconcrtd:Context.obj + 0002:00183770 ?GetExecutingCollection@ContextBase@details@Concurrency@@QAEPAV_TaskCollectionBase@23@XZ 006c7770 f i libconcrtd:Context.obj + 0002:00183790 ?Id@Context@Concurrency@@SAIXZ 006c7790 f libconcrtd:Context.obj + 0002:001837e0 ?IsCurrentTaskCollectionCanceling@Context@Concurrency@@SA_NXZ 006c77e0 f libconcrtd:Context.obj + 0002:00183870 ?Oversubscribe@Context@Concurrency@@SAX_N@Z 006c7870 f libconcrtd:Context.obj + 0002:001838c0 ?ScheduleGroupId@Context@Concurrency@@SAIXZ 006c78c0 f libconcrtd:Context.obj + 0002:00183920 ?VirtualProcessorId@Context@Concurrency@@SAIXZ 006c7920 f libconcrtd:Context.obj + 0002:00183980 ?Yield@Context@Concurrency@@SAXXZ 006c7980 f libconcrtd:Context.obj + 0002:001839c0 ?_CurrentContext@_Context@details@Concurrency@@SA?AV123@XZ 006c79c0 f libconcrtd:Context.obj + 0002:001839e0 ?_IsStructured@_TaskCollectionBase@details@Concurrency@@QAE_NXZ 006c79e0 f i libconcrtd:Context.obj + 0002:00183a20 ?_IsSynchronouslyBlocked@_Context@details@Concurrency@@QBE_NXZ 006c7a20 f libconcrtd:Context.obj + 0002:00183a60 ?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z 006c7a60 f libconcrtd:Context.obj + 0002:00183ab0 ?_SpinYield@Context@Concurrency@@SAXXZ 006c7ab0 f libconcrtd:Context.obj + 0002:00183af0 ?_Yield@_Context@details@Concurrency@@SAXXZ 006c7af0 f libconcrtd:Context.obj + 0002:00183b30 ??0?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAE@XZ 006c7b30 f i libconcrtd:ResourceManager.obj + 0002:00183b60 ??0?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAE@XZ 006c7b60 f i libconcrtd:ResourceManager.obj + 0002:00183b90 ??0AffinityRestriction@ResourceManager@details@Concurrency@@QAE@GPAUHardwareAffinity@23@@Z 006c7b90 f i libconcrtd:ResourceManager.obj + 0002:00183bc0 ??0Count@CollectionTypes@details@Concurrency@@QAE@XZ 006c7bc0 f i libconcrtd:ResourceManager.obj + 0002:00183be0 ??0HardwareAffinity@details@Concurrency@@QAE@ABU012@@Z 006c7be0 f i libconcrtd:ResourceManager.obj + 0002:00183c10 ??0HardwareAffinity@details@Concurrency@@QAE@GK@Z 006c7c10 f i libconcrtd:ResourceManager.obj + 0002:00183c50 ??0HardwareAffinity@details@Concurrency@@QAE@K@Z 006c7c50 f i libconcrtd:ResourceManager.obj + 0002:00183c90 ??0HardwareAffinity@details@Concurrency@@QAE@PAX@Z 006c7c90 f libconcrtd:ResourceManager.obj + 0002:00183cd0 ??0HardwareAffinity@details@Concurrency@@QAE@XZ 006c7cd0 f i libconcrtd:ResourceManager.obj + 0002:00183d10 ??0IResourceManager@Concurrency@@QAE@XZ 006c7d10 f i libconcrtd:ResourceManager.obj + 0002:00183d30 ??0ITopologyExecutionResource@Concurrency@@QAE@XZ 006c7d30 f i libconcrtd:ResourceManager.obj + 0002:00183d50 ??0ITopologyNode@Concurrency@@QAE@XZ 006c7d50 f i libconcrtd:ResourceManager.obj + 0002:00183d70 ??0ResourceManager@details@Concurrency@@AAE@XZ 006c7d70 f libconcrtd:ResourceManager.obj + 0002:00184000 ??0SchedulerCore@details@Concurrency@@QAE@XZ 006c8000 f i libconcrtd:ResourceManager.obj + 0002:00184020 ??0TopologyObject@GlobalCore@details@Concurrency@@QAE@PAU123@@Z 006c8020 f i libconcrtd:ResourceManager.obj + 0002:00184060 ??0TopologyObject@GlobalNode@details@Concurrency@@QAE@PAU123@@Z 006c8060 f i libconcrtd:ResourceManager.obj + 0002:001840a0 ??0_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@AAV123@@Z 006c80a0 f i libconcrtd:ResourceManager.obj + 0002:001840d0 ??0_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@AAV123@@Z 006c80d0 f i libconcrtd:ResourceManager.obj + 0002:00184100 ??0invalid_operation@Concurrency@@QAE@ABV01@@Z 006c8100 f i libconcrtd:ResourceManager.obj + 0002:00184130 ??0invalid_operation@Concurrency@@QAE@XZ 006c8130 f i libconcrtd:ResourceManager.obj + 0002:00184160 ??0unsupported_os@Concurrency@@QAE@ABV01@@Z 006c8160 f i libconcrtd:ResourceManager.obj + 0002:00184190 ??1AffinityRestriction@ResourceManager@details@Concurrency@@QAE@XZ 006c8190 f i libconcrtd:ResourceManager.obj + 0002:001841c0 ??1GlobalNode@details@Concurrency@@QAE@XZ 006c81c0 f i libconcrtd:ResourceManager.obj + 0002:001841f0 ??1ResourceManager@details@Concurrency@@AAE@XZ 006c81f0 f libconcrtd:ResourceManager.obj + 0002:00184440 ??1_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 006c8440 f i libconcrtd:ResourceManager.obj + 0002:00184490 ??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 006c8490 f i libconcrtd:ResourceManager.obj + 0002:001844e0 ??1invalid_operation@Concurrency@@UAE@XZ 006c84e0 f i libconcrtd:ResourceManager.obj + 0002:00184500 ??4HardwareAffinity@details@Concurrency@@QAEAAU012@ABU012@@Z 006c8500 f i libconcrtd:ResourceManager.obj + 0002:00184540 ??_EGlobalNode@details@Concurrency@@QAEPAXI@Z 006c8540 f i libconcrtd:ResourceManager.obj + 0002:00184610 ??_GAffinityRestriction@ResourceManager@details@Concurrency@@QAEPAXI@Z 006c8610 f i libconcrtd:ResourceManager.obj + 0002:00184650 ??_GResourceManager@details@Concurrency@@AAEPAXI@Z 006c8650 f i libconcrtd:ResourceManager.obj + 0002:00184690 ??_Ginvalid_operation@Concurrency@@UAEPAXI@Z 006c8690 f i libconcrtd:ResourceManager.obj + 0002:00184690 ??_Einvalid_operation@Concurrency@@UAEPAXI@Z 006c8690 f i libconcrtd:ResourceManager.obj + 0002:001846d0 ??_V@YAXPAXV_ConcRTNewMoniker@@PBDH@Z 006c86d0 f i libconcrtd:ResourceManager.obj + 0002:001846f0 ?AddTail@?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 006c86f0 f i libconcrtd:ResourceManager.obj + 0002:001847c0 ?AdjustDynamicAllocation@ResourceManager@details@Concurrency@@AAEIIII@Z 006c87c0 f libconcrtd:ResourceManager.obj + 0002:00184980 ?ApplyAffinityLimits@AffinityRestriction@ResourceManager@details@Concurrency@@QAEXPAU_GROUP_AFFINITY@@@Z 006c8980 f i libconcrtd:ResourceManager.obj + 0002:001849f0 ?ApplyAffinityRestrictions@ResourceManager@details@Concurrency@@CAXPAK@Z 006c89f0 f libconcrtd:ResourceManager.obj + 0002:00184a50 ?ApplyAffinityRestrictions@ResourceManager@details@Concurrency@@CAXPAU_GROUP_AFFINITY@@@Z 006c8a50 f libconcrtd:ResourceManager.obj + 0002:00184af0 ?ApplyTo@HardwareAffinity@details@Concurrency@@QAEXPAX@Z 006c8af0 f libconcrtd:ResourceManager.obj + 0002:00184b20 ?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ 006c8b20 f libconcrtd:ResourceManager.obj + 0002:00184e80 ?CleanupTopologyInformation@ResourceManager@details@Concurrency@@CAXXZ 006c8e80 f libconcrtd:ResourceManager.obj + 0002:00184eb0 ?CommitStolenCores@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@@Z 006c8eb0 f libconcrtd:ResourceManager.obj + 0002:00185190 ?ComputeDesiredHWThreadsWithExternalThread@SchedulerProxy@details@Concurrency@@QBEIXZ 006c9190 f i libconcrtd:ResourceManager.obj + 0002:001851f0 ?ComputeMinHWThreadsWithExternalThread@SchedulerProxy@details@Concurrency@@QBEIXZ 006c91f0 f i libconcrtd:ResourceManager.obj + 0002:00185250 ?Count@?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBEHXZ 006c9250 f i libconcrtd:ResourceManager.obj + 0002:00185270 ?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ 006c9270 f libconcrtd:ResourceManager.obj + 0002:00185510 ?CreateDynamicRMWorker@ResourceManager@details@Concurrency@@AAEXXZ 006c9510 f libconcrtd:ResourceManager.obj + 0002:001855a0 ?CreateNodeTopology@ResourceManager@details@Concurrency@@UAEXIPAIPAPAI0@Z 006c95a0 f libconcrtd:ResourceManager.obj + 0002:00185980 ?CreateResourceManager@Concurrency@@YAPAUIResourceManager@1@XZ 006c9980 f libconcrtd:ResourceManager.obj + 0002:00185990 ?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z 006c9990 f libconcrtd:ResourceManager.obj + 0002:00185aa0 ?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ 006c9aa0 f libconcrtd:ResourceManager.obj + 0002:00185c70 ?CurrentSubscriptionLevel@ResourceManager@details@Concurrency@@QAEIII@Z 006c9c70 f libconcrtd:ResourceManager.obj + 0002:00185d70 ?Decrement@Count@CollectionTypes@details@Concurrency@@QAEXXZ 006c9d70 f i libconcrtd:ResourceManager.obj + 0002:00185d90 ?DesiredHWThreads@SchedulerProxy@details@Concurrency@@QBEIXZ 006c9d90 f i libconcrtd:ResourceManager.obj + 0002:00185e60 ?DestroyAllocatedNodeData@ResourceManager@details@Concurrency@@QAEXPAUSchedulerNode@23@@Z 006c9e60 f libconcrtd:ResourceManager.obj + 0002:00185ed0 ?DetermineTopology@ResourceManager@details@Concurrency@@AAEXXZ 006c9ed0 f libconcrtd:ResourceManager.obj + 0002:001868d0 ?DiscardExistingSchedulerStatistics@ResourceManager@details@Concurrency@@AAEXXZ 006ca8d0 f libconcrtd:ResourceManager.obj + 0002:00186a30 ?DistributeCoresToSurvivingScheduler@ResourceManager@details@Concurrency@@AAE_NXZ 006caa30 f libconcrtd:ResourceManager.obj + 0002:00186f70 ?DistributeExclusiveCores@ResourceManager@details@Concurrency@@AAEXIIIII@Z 006caf70 f libconcrtd:ResourceManager.obj + 0002:00187270 ?DistributeIdleCores@ResourceManager@details@Concurrency@@AAEXII@Z 006cb270 f libconcrtd:ResourceManager.obj + 0002:00187660 ?DoCoreMigration@ResourceManager@details@Concurrency@@AAEXXZ 006cb660 f libconcrtd:ResourceManager.obj + 0002:00188080 ?DoHillClimbing@SchedulerProxy@details@Concurrency@@QAEIIIII@Z 006cc080 f i libconcrtd:ResourceManager.obj + 0002:001880c0 ?DynamicAssignCores@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@II_N@Z 006cc0c0 f libconcrtd:ResourceManager.obj + 0002:00188350 ?DynamicMigrateCores@ResourceManager@details@Concurrency@@AAEXPAUDynamicAllocationData@23@PAVSchedulerProxy@23@II@Z 006cc350 f libconcrtd:ResourceManager.obj + 0002:001889c0 ?DynamicRMThreadProc@ResourceManager@details@Concurrency@@CGKPAX@Z 006cc9c0 f libconcrtd:ResourceManager.obj + 0002:001889f0 ?DynamicResourceManager@ResourceManager@details@Concurrency@@AAEXXZ 006cc9f0 f libconcrtd:ResourceManager.obj + 0002:00188ce0 ?Empty@?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBE_NXZ 006ccce0 f i libconcrtd:ResourceManager.obj + 0002:00188d20 ?FindBestFitExclusiveAllocation@ResourceManager@details@Concurrency@@AAEIAAI0PAUDynamicAllocationData@23@II@Z 006ccd20 f libconcrtd:ResourceManager.obj + 0002:00189c70 ?FindBestFitIdleAllocation@ResourceManager@details@Concurrency@@AAEIIPAUDynamicAllocationData@23@I@Z 006cdc70 f libconcrtd:ResourceManager.obj + 0002:0018a1a0 ?FindCoreForPartiallyFilledNode@ResourceManager@details@Concurrency@@AAE_NAAI0PAUDynamicAllocationData@23@I@Z 006ce1a0 f libconcrtd:ResourceManager.obj + 0002:0018a530 ?FindGroupAffinity@AffinityRestriction@ResourceManager@details@Concurrency@@QAEPAUHardwareAffinity@34@G@Z 006ce530 f i libconcrtd:ResourceManager.obj + 0002:0018a5b0 ?First@?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBEPAVSchedulerProxy@23@XZ 006ce5b0 f i libconcrtd:ResourceManager.obj + 0002:0018a5f0 ?FlushStoreBuffers@ResourceManager@details@Concurrency@@QAEXXZ 006ce5f0 f libconcrtd:ResourceManager.obj + 0002:0018a730 ?GetAllocatedNodes@SchedulerProxy@details@Concurrency@@QBEPAUSchedulerNode@23@XZ 006ce730 f i libconcrtd:ResourceManager.obj + 0002:0018a750 ?GetAvailableNodeCount@ResourceManager@details@Concurrency@@UBEIXZ 006ce750 f i libconcrtd:ResourceManager.obj + 0002:0018a770 ?GetCoreCount@ResourceManager@details@Concurrency@@SAIXZ 006ce770 f libconcrtd:ResourceManager.obj + 0002:0018a810 ?GetCurrentNodeAndCore@ResourceManager@details@Concurrency@@QAEIPAI@Z 006ce810 f libconcrtd:ResourceManager.obj + 0002:0018aab0 ?GetDynamicAllocationData@SchedulerProxy@details@Concurrency@@QAEPAUDynamicAllocationData@23@XZ 006ceab0 f i libconcrtd:ResourceManager.obj + 0002:0018aad0 ?GetExecutionContextId@Concurrency@@YAIXZ 006cead0 f libconcrtd:ResourceManager.obj + 0002:0018aae0 ?GetExecutionContextId@ResourceManager@details@Concurrency@@SAIXZ 006ceae0 f i libconcrtd:ResourceManager.obj + 0002:0018ab00 ?GetExecutionResourceCount@TopologyObject@GlobalNode@details@Concurrency@@UBEIXZ 006ceb00 f i libconcrtd:ResourceManager.obj + 0002:0018ab20 ?GetFirstExecutionResource@TopologyObject@GlobalNode@details@Concurrency@@UBEPAUITopologyExecutionResource@4@XZ 006ceb20 f i libconcrtd:ResourceManager.obj + 0002:0018ab40 ?GetFirstNode@ResourceManager@details@Concurrency@@UBEPAUITopologyNode@3@XZ 006ceb40 f i libconcrtd:ResourceManager.obj + 0002:0018ab60 ?GetGroup@HardwareAffinity@details@Concurrency@@QAEGXZ 006ceb60 f i libconcrtd:ResourceManager.obj + 0002:0018ab80 ?GetId@TopologyObject@GlobalCore@details@Concurrency@@UBEIXZ 006ceb80 f i libconcrtd:ResourceManager.obj + 0002:0018aba0 ?GetId@TopologyObject@GlobalNode@details@Concurrency@@UBEIXZ 006ceba0 f i libconcrtd:ResourceManager.obj + 0002:0018abc0 ?GetMask@HardwareAffinity@details@Concurrency@@QAEKXZ 006cebc0 f i libconcrtd:ResourceManager.obj + 0002:0018abe0 ?GetNext@TopologyObject@GlobalCore@details@Concurrency@@UBEPAUITopologyExecutionResource@4@XZ 006cebe0 f libconcrtd:ResourceManager.obj + 0002:0018ac40 ?GetNext@TopologyObject@GlobalNode@details@Concurrency@@UBEPAUITopologyNode@4@XZ 006cec40 f libconcrtd:ResourceManager.obj + 0002:0018aca0 ?GetNextGlobalCore@GlobalNode@details@Concurrency@@QAEPAUGlobalCore@23@PBU423@@Z 006ceca0 f i libconcrtd:ResourceManager.obj + 0002:0018ad00 ?GetNextGlobalNode@ResourceManager@details@Concurrency@@QAEPAUGlobalNode@23@PBU423@@Z 006ced00 f i libconcrtd:ResourceManager.obj + 0002:0018ad60 ?GetNodeCount@ResourceManager@details@Concurrency@@SAIXZ 006ced60 f libconcrtd:ResourceManager.obj + 0002:0018ae00 ?GetNumAllocatedCores@SchedulerProxy@details@Concurrency@@QBEIXZ 006cee00 f i libconcrtd:ResourceManager.obj + 0002:0018ae20 ?GetNumBorrowedCores@SchedulerNode@details@Concurrency@@QAEIXZ 006cee20 f i libconcrtd:ResourceManager.obj + 0002:0018ae40 ?GetNumBorrowedCores@SchedulerProxy@details@Concurrency@@QBEIXZ 006cee40 f i libconcrtd:ResourceManager.obj + 0002:0018ae60 ?GetNumBorrowedIdleCores@SchedulerNode@details@Concurrency@@QAEIXZ 006cee60 f i libconcrtd:ResourceManager.obj + 0002:0018ae80 ?GetNumBorrowedInUseCores@SchedulerNode@details@Concurrency@@QAEIXZ 006cee80 f i libconcrtd:ResourceManager.obj + 0002:0018aef0 ?GetNumExternalThreads@SchedulerProxy@details@Concurrency@@QAEIXZ 006ceef0 f i libconcrtd:ResourceManager.obj + 0002:0018af10 ?GetNumMigratableCores@SchedulerNode@details@Concurrency@@QAEIXZ 006cef10 f i libconcrtd:ResourceManager.obj + 0002:0018af30 ?GetNumNestedThreadSubscriptions@SchedulerProxy@details@Concurrency@@QAEIXZ 006cef30 f i libconcrtd:ResourceManager.obj + 0002:0018af50 ?GetNumOwnedCores@SchedulerProxy@details@Concurrency@@QBEIXZ 006cef50 f i libconcrtd:ResourceManager.obj + 0002:0018af80 ?GetNumOwnedMigratableCores@SchedulerNode@details@Concurrency@@QAEIXZ 006cef80 f i libconcrtd:ResourceManager.obj + 0002:0018afb0 ?GetNumaNode@TopologyObject@GlobalNode@details@Concurrency@@UBEKXZ 006cefb0 f i libconcrtd:ResourceManager.obj + 0002:0018afd0 ?GetOSVersion@Concurrency@@YA?AW4OSVersion@IResourceManager@1@XZ 006cefd0 f libconcrtd:ResourceManager.obj + 0002:0018afe0 ?GetProcessorCount@Concurrency@@YAIXZ 006cefe0 f libconcrtd:ResourceManager.obj + 0002:0018aff0 ?GetProcessorNodeCount@Concurrency@@YAIXZ 006ceff0 f libconcrtd:ResourceManager.obj + 0002:0018b000 ?GetQueueLength@SchedulerProxy@details@Concurrency@@QAEIXZ 006cf000 f i libconcrtd:ResourceManager.obj + 0002:0018b020 ?GetSchedulerId@Concurrency@@YAIXZ 006cf020 f libconcrtd:ResourceManager.obj + 0002:0018b030 ?GetSchedulerId@ResourceManager@details@Concurrency@@SAIXZ 006cf030 f i libconcrtd:ResourceManager.obj + 0002:0018b050 ?GetSchedulerProxy@ExecutionResource@details@Concurrency@@QAEPAVSchedulerProxy@23@XZ 006cf050 f i libconcrtd:ResourceManager.obj + 0002:0018b070 ?GetSortedNodeOrder@SchedulerProxy@details@Concurrency@@QBEPAIXZ 006cf070 f i libconcrtd:ResourceManager.obj + 0002:0018b090 ?GetStaticAllocationData@SchedulerProxy@details@Concurrency@@QAEPAUStaticAllocationData@23@XZ 006cf090 f i libconcrtd:ResourceManager.obj + 0002:0018b0b0 ?GetTopologyInformation@ResourceManager@details@Concurrency@@CAXW4_LOGICAL_PROCESSOR_RELATIONSHIP@@@Z 006cf0b0 f libconcrtd:ResourceManager.obj + 0002:0018b190 ?HandleBorrowedCores@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@PAUAllocationData@23@@Z 006cf190 f libconcrtd:ResourceManager.obj + 0002:0018b510 ?HandleSharedCores@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@PAUDynamicAllocationData@23@@Z 006cf510 f libconcrtd:ResourceManager.obj + 0002:0018b910 ?IncreaseFullyLoadedSchedulerAllocations@ResourceManager@details@Concurrency@@AAEXXZ 006cf910 f libconcrtd:ResourceManager.obj + 0002:0018ba30 ?Increment@Count@CollectionTypes@details@Concurrency@@QAEXXZ 006cfa30 f i libconcrtd:ResourceManager.obj + 0002:0018ba50 ?Initialize@GlobalCore@details@Concurrency@@QAEXPAUGlobalNode@23@IE@Z 006cfa50 f i libconcrtd:ResourceManager.obj + 0002:0018bb30 ?Initialize@GlobalNode@details@Concurrency@@QAEXPAVResourceManager@23@GGKII@Z 006cfb30 f i libconcrtd:ResourceManager.obj + 0002:0018be40 ?Initialize@GlobalNumaNode@details@Concurrency@@QAEXKGK@Z 006cfe40 f i libconcrtd:ResourceManager.obj + 0002:0018be80 ?InitializeRMBuffers@ResourceManager@details@Concurrency@@AAEXXZ 006cfe80 f libconcrtd:ResourceManager.obj + 0002:0018c100 ?InitializeSystemInformation@ResourceManager@details@Concurrency@@CAX_N@Z 006d0100 f libconcrtd:ResourceManager.obj + 0002:0018c820 ?IntersectWith@HardwareAffinity@details@Concurrency@@QAEXK@Z 006d0820 f i libconcrtd:ResourceManager.obj + 0002:0018c840 ?IsBorrowed@SchedulerCore@details@Concurrency@@QAE_NXZ 006d0840 f i libconcrtd:ResourceManager.obj + 0002:0018c860 ?IsFixed@SchedulerCore@details@Concurrency@@QAE_NXZ 006d0860 f i libconcrtd:ResourceManager.obj + 0002:0018c8a0 ?IsHillClimbingEnabled@SchedulerProxy@details@Concurrency@@QAE_NXZ 006d08a0 f i libconcrtd:ResourceManager.obj + 0002:0018c8c0 ?IsIdle@SchedulerCore@details@Concurrency@@QAE_NXZ 006d08c0 f i libconcrtd:ResourceManager.obj + 0002:0018c8e0 ?MinHWThreads@SchedulerProxy@details@Concurrency@@QBEIXZ 006d08e0 f i libconcrtd:ResourceManager.obj + 0002:0018c960 ?MinVprocHWThreads@SchedulerProxy@details@Concurrency@@QBEIXZ 006d0960 f i libconcrtd:ResourceManager.obj + 0002:0018ca10 ?Next@?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBEPAVSchedulerProxy@23@PAV423@@Z 006d0a10 f i libconcrtd:ResourceManager.obj + 0002:0018ca50 ?NumberOfBitsSet@details@Concurrency@@YAGK@Z 006d0a50 f i libconcrtd:ResourceManager.obj + 0002:0018ca90 ?PerformAllocation@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@_N1@Z 006d0a90 f libconcrtd:ResourceManager.obj + 0002:0018d110 ?PopulateCommonAllocationData@ResourceManager@details@Concurrency@@AAEXIPAVSchedulerProxy@23@PAUAllocationData@23@@Z 006d1110 f libconcrtd:ResourceManager.obj + 0002:0018d260 ?PopulateDynamicAllocationData@ResourceManager@details@Concurrency@@AAEXXZ 006d1260 f libconcrtd:ResourceManager.obj + 0002:0018d630 ?PreProcessDynamicAllocationData@ResourceManager@details@Concurrency@@AAEXXZ 006d1630 f libconcrtd:ResourceManager.obj + 0002:0018d950 ?PreProcessStaticAllocationData@ResourceManager@details@Concurrency@@AAEXXZ 006d1950 f libconcrtd:ResourceManager.obj + 0002:0018da30 ?PrepareReceiversForCoreTransfer@ResourceManager@details@Concurrency@@AAEII@Z 006d1a30 f libconcrtd:ResourceManager.obj + 0002:0018df20 ?RedistributeCoresAmongAll@ResourceManager@details@Concurrency@@AAEIPAVSchedulerProxy@23@III@Z 006d1f20 f libconcrtd:ResourceManager.obj + 0002:0018ec10 ?Reference@ResourceManager@details@Concurrency@@UAEIXZ 006d2c10 f libconcrtd:ResourceManager.obj + 0002:0018ec40 ?RegisterScheduler@ResourceManager@details@Concurrency@@UAEPAUISchedulerProxy@3@PAUIScheduler@3@I@Z 006d2c40 f libconcrtd:ResourceManager.obj + 0002:0018ecc0 ?Release@ResourceManager@details@Concurrency@@UAEIXZ 006d2cc0 f libconcrtd:ResourceManager.obj + 0002:0018ee90 ?ReleaseCoresOnExistingSchedulers@ResourceManager@details@Concurrency@@AAEIPAVSchedulerProxy@23@II@Z 006d2e90 f libconcrtd:ResourceManager.obj + 0002:0018f040 ?ReleaseSchedulerResources@ResourceManager@details@Concurrency@@AAE_NPAVSchedulerProxy@23@0I@Z 006d3040 f libconcrtd:ResourceManager.obj + 0002:0018f750 ?Remove@?$List@VSchedulerProxy@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 006d3750 f i libconcrtd:ResourceManager.obj + 0002:0018f830 ?RemoveExecutionResource@ResourceManager@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006d3830 f libconcrtd:ResourceManager.obj + 0002:0018f960 ?RequestInitialVirtualProcessors@ResourceManager@details@Concurrency@@QAEPAUIExecutionResource@3@PAVSchedulerProxy@23@_N@Z 006d3960 f libconcrtd:ResourceManager.obj + 0002:0018fce0 ?ReserveAtHigherUseCounts@ResourceManager@details@Concurrency@@AAEIPAVSchedulerProxy@23@I@Z 006d3ce0 f libconcrtd:ResourceManager.obj + 0002:0018fd50 ?ReserveCores@ResourceManager@details@Concurrency@@AAEIPAVSchedulerProxy@23@II@Z 006d3d50 f libconcrtd:ResourceManager.obj + 0002:00190220 ?ResetGlobalAllocationData@ResourceManager@details@Concurrency@@AAEXXZ 006d4220 f libconcrtd:ResourceManager.obj + 0002:001902d0 ?RetrieveSystemVersionInformation@ResourceManager@details@Concurrency@@CAXXZ 006d42d0 f libconcrtd:ResourceManager.obj + 0002:00190480 ?RoundUpScaledAllocations@ResourceManager@details@Concurrency@@CAXPAPAUAllocationData@23@II@Z 006d4480 f libconcrtd:ResourceManager.obj + 0002:00190b40 ?SafeInterlockedIncrement@details@Concurrency@@YA_NPCJ@Z 006d4b40 f i libconcrtd:ResourceManager.obj + 0002:00190b80 ?SafeReference@ResourceManager@details@Concurrency@@AAE_NXZ 006d4b80 f libconcrtd:ResourceManager.obj + 0002:00190ba0 ?Scheduler@SchedulerProxy@details@Concurrency@@QBEPAUIScheduler@3@XZ 006d4ba0 f i libconcrtd:ResourceManager.obj + 0002:00190bc0 ?SchedulersNeedNotifications@ResourceManager@details@Concurrency@@QAE_NXZ 006d4bc0 f i libconcrtd:ResourceManager.obj + 0002:00190c00 ?SendResourceNotifications@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 006d4c00 f libconcrtd:ResourceManager.obj + 0002:00190fa0 ?SetAllocatedNodes@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@@Z 006d4fa0 f i libconcrtd:ResourceManager.obj + 0002:00191010 ?SetQueueLength@SchedulerProxy@details@Concurrency@@QAEXI@Z 006d5010 f i libconcrtd:ResourceManager.obj + 0002:00191030 ?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z 006d5030 f libconcrtd:ResourceManager.obj + 0002:001916b0 ?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z 006d56b0 f libconcrtd:ResourceManager.obj + 0002:00191970 ?SetupStaticAllocationData@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@_N@Z 006d5970 f libconcrtd:ResourceManager.obj + 0002:00191b30 ?ShouldReceiveNotifications@SchedulerProxy@details@Concurrency@@QAE_NXZ 006d5b30 f i libconcrtd:ResourceManager.obj + 0002:00191b80 ?Shutdown@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 006d5b80 f libconcrtd:ResourceManager.obj + 0002:00191df0 ?SubscribeCurrentThread@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@@Z 006d5df0 f libconcrtd:ResourceManager.obj + 0002:00191ea0 ?ToggleRMIdleState@ResourceManager@details@Concurrency@@AAEXPAUSchedulerNode@23@PAUSchedulerCore@23@PAUGlobalNode@23@PAUGlobalCore@23@PAUAllocationData@23@@Z 006d5ea0 f libconcrtd:ResourceManager.obj + 0002:00192090 ?ValidateBorrowedCores@ResourceManager@details@Concurrency@@AAEXXZ 006d6090 f libconcrtd:ResourceManager.obj + 0002:001921e0 ?ValidateDRMSchedulerState@ResourceManager@details@Concurrency@@AAEXXZ 006d61e0 f libconcrtd:ResourceManager.obj + 0002:00192280 ?ValidateStaticSchedulerState@ResourceManager@details@Concurrency@@AAEXPAVSchedulerProxy@23@@Z 006d6280 f libconcrtd:ResourceManager.obj + 0002:00192380 ?Value@Count@CollectionTypes@details@Concurrency@@QBEHXZ 006d6380 f i libconcrtd:ResourceManager.obj + 0002:001923a0 ?Version@ResourceManager@details@Concurrency@@SA?AW4OSVersion@IResourceManager@3@XZ 006d63a0 f libconcrtd:ResourceManager.obj + 0002:00192430 ?WakeupDynamicRMWorker@ResourceManager@details@Concurrency@@QAEXXZ 006d6430 f i libconcrtd:ResourceManager.obj + 0002:00192450 ?set_task_execution_resources@Concurrency@@YAXGPAU_GROUP_AFFINITY@@@Z 006d6450 f libconcrtd:ResourceManager.obj + 0002:00192470 ?set_task_execution_resources@Concurrency@@YAXK@Z 006d6470 f libconcrtd:ResourceManager.obj + 0002:00192490 ??$_InternalDeleteHelper@VExternalContextBase@details@Concurrency@@@details@Concurrency@@YAXPAVExternalContextBase@01@@Z 006d6490 f i libconcrtd:SchedulerBase.obj + 0002:001924f0 ??$_InternalDeleteHelper@VExternalStatistics@details@Concurrency@@@details@Concurrency@@YAXPAVExternalStatistics@01@@Z 006d64f0 f i libconcrtd:SchedulerBase.obj + 0002:00192520 ??$_InternalDeleteHelper@VInternalContextBase@details@Concurrency@@@details@Concurrency@@YAXPAVInternalContextBase@01@@Z 006d6520 f i libconcrtd:SchedulerBase.obj + 0002:00192590 ??$_InternalDeleteHelper@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@YAXPAVScheduleGroupBase@01@@Z 006d6590 f i libconcrtd:SchedulerBase.obj + 0002:001925f0 ??0?$Hash@II@details@Concurrency@@QAE@H@Z 006d65f0 f i libconcrtd:SchedulerBase.obj + 0002:00192690 ??0?$List@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAE@XZ 006d6690 f i libconcrtd:SchedulerBase.obj + 0002:001926b0 ??0?$List@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@@details@Concurrency@@QAE@XZ 006d66b0 f i libconcrtd:SchedulerBase.obj + 0002:001926d0 ??0?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 006d66d0 f i libconcrtd:SchedulerBase.obj + 0002:00192980 ??0?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 006d6980 f i libconcrtd:SchedulerBase.obj + 0002:00192c30 ??0?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6c30 f i libconcrtd:SchedulerBase.obj + 0002:00192c50 ??0?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6c50 f i libconcrtd:SchedulerBase.obj + 0002:00192c70 ??0?$LockFreeStack@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6c70 f i libconcrtd:SchedulerBase.obj + 0002:00192c90 ??0?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6c90 f i libconcrtd:SchedulerBase.obj + 0002:00192cb0 ??0?$SQueue@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6cb0 f i libconcrtd:SchedulerBase.obj + 0002:00192ce0 ??0?$SQueue@VSafePointInvocation@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d6ce0 f i libconcrtd:SchedulerBase.obj + 0002:00192d10 ??0?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 006d6d10 f i libconcrtd:SchedulerBase.obj + 0002:00192d40 ??0?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAE@XZ 006d6d40 f i libconcrtd:SchedulerBase.obj + 0002:00192d70 ??0?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@XZ 006d6d70 f i libconcrtd:SchedulerBase.obj + 0002:00192da0 ??0?$SafeSQueue@VSafePointInvocation@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@XZ 006d6da0 f i libconcrtd:SchedulerBase.obj + 0002:00192dd0 ??0ArrayNode@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAPAVExternalStatistics@23@@Z 006d6dd0 f i libconcrtd:SchedulerBase.obj + 0002:00192e10 ??0ArrayNode@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAPAVScheduleGroupBase@23@@Z 006d6e10 f i libconcrtd:SchedulerBase.obj + 0002:00192e50 ??0CacheLocalScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 006d6e50 f i libconcrtd:SchedulerBase.obj + 0002:00192e90 ??0CacheLocalScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 006d6e90 f i libconcrtd:SchedulerBase.obj + 0002:00192f20 ??0ClaimTicket@VirtualProcessor@details@Concurrency@@QAE@XZ 006d6f20 f i libconcrtd:SchedulerBase.obj + 0002:00192f40 ??0ContextNode@SchedulerBase@details@Concurrency@@QAE@PAVInternalContextBase@23@@Z 006d6f40 f i libconcrtd:SchedulerBase.obj + 0002:00192f60 ??0FairScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 006d6f60 f i libconcrtd:SchedulerBase.obj + 0002:00193040 ??0FairScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 006d7040 f i libconcrtd:SchedulerBase.obj + 0002:001930d0 ??0ListNode@?$Hash@II@details@Concurrency@@QAE@ABI0@Z 006d70d0 f i libconcrtd:SchedulerBase.obj + 0002:00193110 ??0NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ 006d7110 f i libconcrtd:SchedulerBase.obj + 0002:00193180 ??0QuickBitSet@details@Concurrency@@QAE@$$QAV012@@Z 006d7180 f i libconcrtd:SchedulerBase.obj + 0002:001931d0 ??0QuickBitSet@details@Concurrency@@QAE@I@Z 006d71d0 f i libconcrtd:SchedulerBase.obj + 0002:00193280 ??0QuickBitSet@details@Concurrency@@QAE@XZ 006d7280 f i libconcrtd:SchedulerBase.obj + 0002:001932b0 ??0RealizedChore@details@Concurrency@@QAE@P6AXPAX@Z0@Z 006d72b0 f i libconcrtd:SchedulerBase.obj + 0002:00193340 ??0ReferenceCountedQuickBitSet@details@Concurrency@@QAE@XZ 006d7340 f i libconcrtd:SchedulerBase.obj + 0002:00193370 ??0Scheduler@Concurrency@@IAE@XZ 006d7370 f i libconcrtd:SchedulerBase.obj + 0002:00193390 ??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 006d7390 f libconcrtd:SchedulerBase.obj + 0002:00193960 ??0Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d7960 f i libconcrtd:SchedulerBase.obj + 0002:00193990 ??0SubAllocator@details@Concurrency@@QAE@XZ 006d7990 f i libconcrtd:SchedulerBase.obj + 0002:001939d0 ??0_Chore@details@Concurrency@@IAE@XZ 006d79d0 f i libconcrtd:SchedulerBase.obj + 0002:001939f0 ??0_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 006d79f0 f i libconcrtd:SchedulerBase.obj + 0002:00193a10 ??0_NonReentrantLock@details@Concurrency@@QAE@XZ 006d7a10 f i libconcrtd:SchedulerBase.obj + 0002:00193a30 ??0_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@AAV123@@Z 006d7a30 f i libconcrtd:SchedulerBase.obj + 0002:00193a60 ??0_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@AAV123@@Z 006d7a60 f i libconcrtd:SchedulerBase.obj + 0002:00193a90 ??0default_scheduler_exists@Concurrency@@QAE@ABV01@@Z 006d7a90 f i libconcrtd:SchedulerBase.obj + 0002:00193ac0 ??0improper_scheduler_attach@Concurrency@@QAE@ABV01@@Z 006d7ac0 f i libconcrtd:SchedulerBase.obj + 0002:00193af0 ??0improper_scheduler_detach@Concurrency@@QAE@ABV01@@Z 006d7af0 f i libconcrtd:SchedulerBase.obj + 0002:00193b20 ??0improper_scheduler_reference@Concurrency@@QAE@ABV01@@Z 006d7b20 f i libconcrtd:SchedulerBase.obj + 0002:00193b50 ??0location@Concurrency@@QAE@ABV01@@Z 006d7b50 f i libconcrtd:SchedulerBase.obj + 0002:00193b80 ??0location@Concurrency@@QAE@XZ 006d7b80 f i libconcrtd:SchedulerBase.obj + 0002:00193be0 ??1?$Hash@II@details@Concurrency@@QAE@XZ 006d7be0 f i libconcrtd:SchedulerBase.obj + 0002:00193c50 ??1?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d7c50 f i libconcrtd:SchedulerBase.obj + 0002:00193da0 ??1?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d7da0 f i libconcrtd:SchedulerBase.obj + 0002:00193ef0 ??1?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006d7ef0 f i libconcrtd:SchedulerBase.obj + 0002:00193f50 ??1CacheLocalScheduleGroup@details@Concurrency@@UAE@XZ 006d7f50 f i libconcrtd:SchedulerBase.obj + 0002:00193f70 ??1CacheLocalScheduleGroupSegment@details@Concurrency@@UAE@XZ 006d7f70 f i libconcrtd:SchedulerBase.obj + 0002:00193f90 ??1FairScheduleGroup@details@Concurrency@@UAE@XZ 006d7f90 f i libconcrtd:SchedulerBase.obj + 0002:00193fb0 ??1FairScheduleGroupSegment@details@Concurrency@@UAE@XZ 006d7fb0 f i libconcrtd:SchedulerBase.obj + 0002:00193fd0 ??1NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ 006d7fd0 f i libconcrtd:SchedulerBase.obj + 0002:00194000 ??1QuickBitSet@details@Concurrency@@QAE@XZ 006d8000 f i libconcrtd:SchedulerBase.obj + 0002:00194030 ??1RealizedChore@details@Concurrency@@UAE@XZ 006d8030 f i libconcrtd:SchedulerBase.obj + 0002:00194050 ??1ReferenceCountedQuickBitSet@details@Concurrency@@QAE@XZ 006d8050 f i libconcrtd:SchedulerBase.obj + 0002:00194090 ??1ScheduleGroup@Concurrency@@MAE@XZ 006d8090 f i libconcrtd:SchedulerBase.obj + 0002:001940b0 ??1ScheduleGroupBase@details@Concurrency@@UAE@XZ 006d80b0 f i libconcrtd:SchedulerBase.obj + 0002:001940e0 ??1Scheduler@Concurrency@@MAE@XZ 006d80e0 f i libconcrtd:SchedulerBase.obj + 0002:00194100 ??1SchedulerBase@details@Concurrency@@UAE@XZ 006d8100 f libconcrtd:SchedulerBase.obj + 0002:00194210 ??1SubAllocator@details@Concurrency@@QAE@XZ 006d8210 f i libconcrtd:SchedulerBase.obj + 0002:00194270 ??1_Chore@details@Concurrency@@MAE@XZ 006d8270 f i libconcrtd:SchedulerBase.obj + 0002:00194290 ??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 006d8290 f i libconcrtd:SchedulerBase.obj + 0002:001942e0 ??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 006d82e0 f i libconcrtd:SchedulerBase.obj + 0002:00194330 ??1location@Concurrency@@QAE@XZ 006d8330 f i libconcrtd:SchedulerBase.obj + 0002:00194340 ??4QuickBitSet@details@Concurrency@@QAEAAV012@ABV012@@Z 006d8340 f i libconcrtd:SchedulerBase.obj + 0002:00194370 ??A?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QBEPAVExternalStatistics@12@H@Z 006d8370 f i libconcrtd:SchedulerBase.obj + 0002:00194440 ??A?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QBEPAVScheduleGroupSegmentBase@12@H@Z 006d8440 f i libconcrtd:SchedulerBase.obj + 0002:00194510 ??A?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QBEPAVVirtualProcessor@12@H@Z 006d8510 f i libconcrtd:SchedulerBase.obj + 0002:001945e0 ??_ENumaInformation@SchedulerBase@details@Concurrency@@QAEPAXI@Z 006d85e0 f i libconcrtd:SchedulerBase.obj + 0002:001946b0 ??_GCacheLocalScheduleGroup@details@Concurrency@@UAEPAXI@Z 006d86b0 f i libconcrtd:SchedulerBase.obj + 0002:001946b0 ??_ECacheLocalScheduleGroup@details@Concurrency@@UAEPAXI@Z 006d86b0 f i libconcrtd:SchedulerBase.obj + 0002:001946f0 ??_ECacheLocalScheduleGroupSegment@details@Concurrency@@UAEPAXI@Z 006d86f0 f i libconcrtd:SchedulerBase.obj + 0002:001946f0 ??_GCacheLocalScheduleGroupSegment@details@Concurrency@@UAEPAXI@Z 006d86f0 f i libconcrtd:SchedulerBase.obj + 0002:00194730 ??_GFairScheduleGroup@details@Concurrency@@UAEPAXI@Z 006d8730 f i libconcrtd:SchedulerBase.obj + 0002:00194730 ??_EFairScheduleGroup@details@Concurrency@@UAEPAXI@Z 006d8730 f i libconcrtd:SchedulerBase.obj + 0002:00194770 ??_GFairScheduleGroupSegment@details@Concurrency@@UAEPAXI@Z 006d8770 f i libconcrtd:SchedulerBase.obj + 0002:00194770 ??_EFairScheduleGroupSegment@details@Concurrency@@UAEPAXI@Z 006d8770 f i libconcrtd:SchedulerBase.obj + 0002:001947b0 ??_GRealizedChore@details@Concurrency@@UAEPAXI@Z 006d87b0 f i libconcrtd:SchedulerBase.obj + 0002:001947b0 ??_ERealizedChore@details@Concurrency@@UAEPAXI@Z 006d87b0 f i libconcrtd:SchedulerBase.obj + 0002:001947f0 ??_EScheduleGroup@Concurrency@@MAEPAXI@Z 006d87f0 f i libconcrtd:SchedulerBase.obj + 0002:001947f0 ??_GScheduleGroup@Concurrency@@MAEPAXI@Z 006d87f0 f i libconcrtd:SchedulerBase.obj + 0002:00194830 ??_GScheduleGroupBase@details@Concurrency@@UAEPAXI@Z 006d8830 f i libconcrtd:SchedulerBase.obj + 0002:00194830 ??_EScheduleGroupBase@details@Concurrency@@UAEPAXI@Z 006d8830 f i libconcrtd:SchedulerBase.obj + 0002:00194870 ??_GScheduler@Concurrency@@MAEPAXI@Z 006d8870 f i libconcrtd:SchedulerBase.obj + 0002:00194870 ??_EScheduler@Concurrency@@MAEPAXI@Z 006d8870 f i libconcrtd:SchedulerBase.obj + 0002:001948b0 ??_ESchedulerBase@details@Concurrency@@UAEPAXI@Z 006d88b0 f i libconcrtd:SchedulerBase.obj + 0002:001948b0 ??_GSchedulerBase@details@Concurrency@@UAEPAXI@Z 006d88b0 f i libconcrtd:SchedulerBase.obj + 0002:001948f0 ??_GSchedulerPolicy@Concurrency@@QAEPAXI@Z 006d88f0 f i libconcrtd:SchedulerBase.obj + 0002:00194930 ??_GSchedulingNode@details@Concurrency@@QAEPAXI@Z 006d8930 f i libconcrtd:SchedulerBase.obj + 0002:00194970 ??_GSchedulingRing@details@Concurrency@@QAEPAXI@Z 006d8970 f i libconcrtd:SchedulerBase.obj + 0002:001949b0 ??_GSubAllocator@details@Concurrency@@QAEPAXI@Z 006d89b0 f i libconcrtd:SchedulerBase.obj + 0002:001949f0 ??_E_Chore@details@Concurrency@@MAEPAXI@Z 006d89f0 f i libconcrtd:SchedulerBase.obj + 0002:001949f0 ??_G_Chore@details@Concurrency@@MAEPAXI@Z 006d89f0 f i libconcrtd:SchedulerBase.obj + 0002:00194a30 ?ASIZE@QuickBitSet@details@Concurrency@@IBEIXZ 006d8a30 f i libconcrtd:SchedulerBase.obj + 0002:00194a50 ?Acquire@?$SafeSQueue@VSafePointInvocation@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QBEXXZ 006d8a50 f i libconcrtd:SchedulerBase.obj + 0002:00194a70 ?AcquireWrite@?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006d8a70 f i libconcrtd:SchedulerBase.obj + 0002:00194a90 ?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z 006d8a90 f i libconcrtd:SchedulerBase.obj + 0002:00194e80 ?AddContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 006d8e80 f libconcrtd:SchedulerBase.obj + 0002:00194f60 ?AddHead@?$List@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEXPAUBoostedObject@23@@Z 006d8f60 f i libconcrtd:SchedulerBase.obj + 0002:00195030 ?AddTail@?$List@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z 006d9030 f i libconcrtd:SchedulerBase.obj + 0002:001950f0 ?AddTail@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z 006d90f0 f i libconcrtd:SchedulerBase.obj + 0002:00195180 ?AddVirtualProcessors@SchedulerBase@details@Concurrency@@IAEXPAPAUIVirtualProcessorRoot@3@I@Z 006d9180 f libconcrtd:SchedulerBase.obj + 0002:00195320 ?AllocateSegment@CacheLocalScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 006d9320 f i libconcrtd:SchedulerBase.obj + 0002:001953f0 ?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 006d93f0 f i libconcrtd:SchedulerBase.obj + 0002:001954e0 ?AllowGeneralFetchOfReservedContexts@SchedulerBase@details@Concurrency@@MAE_NXZ 006d94e0 f i libconcrtd:SchedulerBase.obj + 0002:001954f0 ?Attach@SchedulerBase@details@Concurrency@@UAEXXZ 006d94f0 f libconcrtd:SchedulerBase.obj + 0002:001955a0 ?AttachExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z 006d95a0 f libconcrtd:SchedulerBase.obj + 0002:001956b0 ?AttemptSchedulerSweep@SchedulerBase@details@Concurrency@@IAEXXZ 006d96b0 f libconcrtd:SchedulerBase.obj + 0002:00195780 ?CancelAllContexts@SchedulerBase@details@Concurrency@@MAEXXZ 006d9780 f libconcrtd:SchedulerBase.obj + 0002:00195810 ?ChangeThrottlingTimer@SchedulerBase@details@Concurrency@@AAEXK@Z 006d9810 f libconcrtd:SchedulerBase.obj + 0002:001958b0 ?CheckForDeletion@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@AAEXXZ 006d98b0 f i libconcrtd:SchedulerBase.obj + 0002:00195910 ?CheckForDeletion@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@AAEXXZ 006d9910 f i libconcrtd:SchedulerBase.obj + 0002:00195970 ?CheckForDeletionBridge@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 006d9970 f i libconcrtd:SchedulerBase.obj + 0002:00195980 ?CheckForDeletionBridge@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 006d9980 f i libconcrtd:SchedulerBase.obj + 0002:00195990 ?CheckOneShotStaticDestruction@SchedulerBase@details@Concurrency@@SAXXZ 006d9990 f libconcrtd:SchedulerBase.obj + 0002:00195a20 ?CheckStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 006d9a20 f libconcrtd:SchedulerBase.obj + 0002:00195ae0 ?Cleanup@SchedulerBase@details@Concurrency@@AAEXXZ 006d9ae0 f libconcrtd:SchedulerBase.obj + 0002:00195c80 ?ClearCriticalRegion@ContextBase@details@Concurrency@@QAEXXZ 006d9c80 f i libconcrtd:SchedulerBase.obj + 0002:00195cb0 ?CommitSafePoints@SchedulerBase@details@Concurrency@@QAEXXZ 006d9cb0 f libconcrtd:SchedulerBase.obj + 0002:00195d50 ?CommitToVersion@SchedulerBase@details@Concurrency@@AAEXK@Z 006d9d50 f libconcrtd:SchedulerBase.obj + 0002:00195e40 ?ComputeSafePointCommitVersion@SchedulerBase@details@Concurrency@@AAEKXZ 006d9e40 f libconcrtd:SchedulerBase.obj + 0002:00195f50 ?CopyFrom@QuickBitSet@details@Concurrency@@IAEXABV123@@Z 006d9f50 f i libconcrtd:SchedulerBase.obj + 0002:00195fe0 ?Count@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@QBEHXZ 006d9fe0 f i libconcrtd:SchedulerBase.obj + 0002:00196000 ?Count@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@QBEHXZ 006da000 f i libconcrtd:SchedulerBase.obj + 0002:00196020 ?Count@?$LockFreeStack@VSubAllocator@details@Concurrency@@@details@Concurrency@@QBEHXZ 006da020 f i libconcrtd:SchedulerBase.obj + 0002:00196040 ?Create@Scheduler@Concurrency@@SAPAV12@ABVSchedulerPolicy@2@@Z 006da040 f libconcrtd:SchedulerBase.obj + 0002:00196090 ?Create@SchedulerBase@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 006da090 f libconcrtd:SchedulerBase.obj + 0002:001960c0 ?CreateContextFromDefaultScheduler@SchedulerBase@details@Concurrency@@SAPAVContextBase@23@XZ 006da0c0 f libconcrtd:SchedulerBase.obj + 0002:00196160 ?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@AAVlocation@3@@Z 006da160 f i libconcrtd:SchedulerBase.obj + 0002:00196180 ?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 006da180 f i libconcrtd:SchedulerBase.obj + 0002:00196200 ?CreateWithoutInitializing@SchedulerBase@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 006da200 f libconcrtd:SchedulerBase.obj + 0002:00196260 ?Current@?$SQueue@VSafePointInvocation@details@Concurrency@@@details@Concurrency@@QBEPAVSafePointInvocation@23@XZ 006da260 f i libconcrtd:SchedulerBase.obj + 0002:00196280 ?CurrentScheduler@SchedulerBase@details@Concurrency@@SAPAV123@XZ 006da280 f libconcrtd:SchedulerBase.obj + 0002:001962a0 ?Decrement@NoCount@CollectionTypes@details@Concurrency@@SAXXZ 006da2a0 f i libconcrtd:SchedulerBase.obj + 0002:001962b0 ?DecrementInternalContextCount@SchedulerBase@details@Concurrency@@QAEXXZ 006da2b0 f libconcrtd:SchedulerBase.obj + 0002:00196330 ?DeferredGetInternalContext@SchedulerBase@details@Concurrency@@QAEXXZ 006da330 f libconcrtd:SchedulerBase.obj + 0002:00196370 ?DeleteElements@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 006da370 f i libconcrtd:SchedulerBase.obj + 0002:001963c0 ?DeleteElements@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 006da3c0 f i libconcrtd:SchedulerBase.obj + 0002:00196410 ?DeleteKey@?$Hash@II@details@Concurrency@@CAXAAI@Z 006da410 f i libconcrtd:SchedulerBase.obj + 0002:00196420 ?DeleteValue@?$Hash@II@details@Concurrency@@CAXAAI@Z 006da420 f i libconcrtd:SchedulerBase.obj + 0002:00196430 ?Delta@?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@CAPAVContextNode@SchedulerBase@23@PAX@Z 006da430 f i libconcrtd:SchedulerBase.obj + 0002:00196460 ?Delta@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@CAPAVExternalContextBase@23@PAX@Z 006da460 f i libconcrtd:SchedulerBase.obj + 0002:00196490 ?Delta@?$LockFreeStack@VInternalContextBase@details@Concurrency@@@details@Concurrency@@CAPAVInternalContextBase@23@PAX@Z 006da490 f i libconcrtd:SchedulerBase.obj + 0002:001964c0 ?Delta@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@CAPAVRealizedChore@23@PAX@Z 006da4c0 f i libconcrtd:SchedulerBase.obj + 0002:001964f0 ?Delta@?$LockFreeStack@VSubAllocator@details@Concurrency@@@details@Concurrency@@CAPAVSubAllocator@23@PAX@Z 006da4f0 f i libconcrtd:SchedulerBase.obj + 0002:00196520 ?Dequeue@?$SQueue@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 006da520 f i libconcrtd:SchedulerBase.obj + 0002:00196580 ?Dequeue@?$SQueue@VSafePointInvocation@details@Concurrency@@@details@Concurrency@@QAEPAVSafePointInvocation@23@XZ 006da580 f i libconcrtd:SchedulerBase.obj + 0002:001965e0 ?Dequeue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 006da5e0 f i libconcrtd:SchedulerBase.obj + 0002:00196670 ?DereferenceStaticOneShot@SchedulerBase@details@Concurrency@@SAJXZ 006da670 f i libconcrtd:SchedulerBase.obj + 0002:00196690 ?DestroySchedulerEventHandlers@SchedulerBase@details@Concurrency@@MAEXXZ 006da690 f libconcrtd:SchedulerBase.obj + 0002:00196720 ?Detach@SchedulerBase@details@Concurrency@@QAEXXZ 006da720 f libconcrtd:SchedulerBase.obj + 0002:00196820 ?DetachExternalContext@SchedulerBase@details@Concurrency@@AAEXPAVExternalContextBase@23@_N@Z 006da820 f libconcrtd:SchedulerBase.obj + 0002:00196900 ?Empty@?$List@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@@details@Concurrency@@QBE_NXZ 006da900 f i libconcrtd:SchedulerBase.obj + 0002:00196940 ?Empty@?$SQueue@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QBE_NXZ 006da940 f i libconcrtd:SchedulerBase.obj + 0002:00196980 ?Empty@?$SQueue@VSafePointInvocation@details@Concurrency@@@details@Concurrency@@QBE_NXZ 006da980 f i libconcrtd:SchedulerBase.obj + 0002:001969c0 ?Enqueue@?$SQueue@VSafePointInvocation@details@Concurrency@@@details@Concurrency@@QAEXPAVSafePointInvocation@23@@Z 006da9c0 f i libconcrtd:SchedulerBase.obj + 0002:00196a40 ?Exercise@ClaimTicket@VirtualProcessor@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@34@@Z 006daa40 f i libconcrtd:SchedulerBase.obj + 0002:00196ad0 ?ExerciseWakesExisting@ClaimTicket@VirtualProcessor@details@Concurrency@@QBE_NXZ 006daad0 f i libconcrtd:SchedulerBase.obj + 0002:00196b10 ?FastCurrentContext@SchedulerBase@details@Concurrency@@SAPAVContextBase@23@XZ 006dab10 f libconcrtd:SchedulerBase.obj + 0002:00196b60 ?FastCurrentScheduler@SchedulerBase@details@Concurrency@@SAPAV123@XZ 006dab60 f libconcrtd:SchedulerBase.obj + 0002:00196ba0 ?Fill@QuickBitSet@details@Concurrency@@QAEXXZ 006daba0 f i libconcrtd:SchedulerBase.obj + 0002:00196c00 ?Finalize@SchedulerBase@details@Concurrency@@AAEXXZ 006dac00 f libconcrtd:SchedulerBase.obj + 0002:00196e60 ?Find@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABIPAI@Z 006dae60 f i libconcrtd:SchedulerBase.obj + 0002:00196ed0 ?FindCurrentNode@SchedulerBase@details@Concurrency@@QAEPAVSchedulingNode@23@XZ 006daed0 f libconcrtd:SchedulerBase.obj + 0002:00196f80 ?FindNodeByLocation@SchedulerBase@details@Concurrency@@QAEPAVSchedulingNode@23@PAVlocation@3@@Z 006daf80 f libconcrtd:SchedulerBase.obj + 0002:00197080 ?FindScheduleGroupSegment@SchedulingRing@details@Concurrency@@AAEPAVScheduleGroupSegmentBase@23@HHPAHPAV?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@23@@Z 006db080 f i libconcrtd:SchedulerBase.obj + 0002:001970f0 ?FindVirtualProcessor@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@HHPAH@Z 006db0f0 f i libconcrtd:SchedulerBase.obj + 0002:00197170 ?Flush@?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@QAEPAVContextNode@SchedulerBase@23@XZ 006db170 f i libconcrtd:SchedulerBase.obj + 0002:001971a0 ?Flush@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@QAEPAVExternalContextBase@23@XZ 006db1a0 f i libconcrtd:SchedulerBase.obj + 0002:001971d0 ?Flush@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 006db1d0 f i libconcrtd:SchedulerBase.obj + 0002:00197200 ?FoundAvailableVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 006db200 f libconcrtd:SchedulerBase.obj + 0002:00197490 ?FoundBlockedContexts@SchedulerBase@details@Concurrency@@AAE_NXZ 006db490 f libconcrtd:SchedulerBase.obj + 0002:00197610 ?FoundUnstartedChores@SchedulerBase@details@Concurrency@@AAE_NXZ 006db610 f libconcrtd:SchedulerBase.obj + 0002:00197820 ?FreeNode@?$Hash@II@details@Concurrency@@CAXPAUListNode@123@@Z 006db820 f i libconcrtd:SchedulerBase.obj + 0002:00197870 ?GetAnonymousScheduleGroup@SchedulerBase@details@Concurrency@@QAEPAVScheduleGroupBase@23@XZ 006db870 f i libconcrtd:SchedulerBase.obj + 0002:00197890 ?GetAnonymousScheduleGroupSegment@SchedulerBase@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@XZ 006db890 f libconcrtd:SchedulerBase.obj + 0002:001978b0 ?GetAnonymousScheduleGroupSegment@SchedulingRing@details@Concurrency@@QBEPAVScheduleGroupSegmentBase@23@XZ 006db8b0 f i libconcrtd:SchedulerBase.obj + 0002:001978d0 ?GetBitSet@SchedulerBase@details@Concurrency@@QAE?AVQuickBitSet@23@PBVlocation@3@@Z 006db8d0 f libconcrtd:SchedulerBase.obj + 0002:00197ac0 ?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ 006dbac0 f libconcrtd:SchedulerBase.obj + 0002:00197c40 ?GetDequeuedTaskCount@ExternalStatistics@details@Concurrency@@QAEIXZ 006dbc40 f i libconcrtd:SchedulerBase.obj + 0002:00197cc0 ?GetDequeuedTaskCount@SchedulerBase@details@Concurrency@@QAEIXZ 006dbcc0 f i libconcrtd:SchedulerBase.obj + 0002:00197d50 ?GetDequeuedTaskCount@VirtualProcessor@details@Concurrency@@AAEIXZ 006dbd50 f i libconcrtd:SchedulerBase.obj + 0002:00197dd0 ?GetEnqueuedTaskCount@ExternalStatistics@details@Concurrency@@QAEIXZ 006dbdd0 f i libconcrtd:SchedulerBase.obj + 0002:00197e50 ?GetEnqueuedTaskCount@SchedulerBase@details@Concurrency@@QAEIXZ 006dbe50 f i libconcrtd:SchedulerBase.obj + 0002:00197ee0 ?GetEnqueuedTaskCount@VirtualProcessor@details@Concurrency@@AAEIXZ 006dbee0 f i libconcrtd:SchedulerBase.obj + 0002:00197f60 ?GetExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z 006dbf60 f libconcrtd:SchedulerBase.obj + 0002:00198060 ?GetFirstAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAH@Z 006dc060 f i libconcrtd:SchedulerBase.obj + 0002:00198090 ?GetFirstNonAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAH@Z 006dc090 f i libconcrtd:SchedulerBase.obj + 0002:001980c0 ?GetFirstScheduleGroupSegment@SchedulingRing@details@Concurrency@@AAEPAVScheduleGroupSegmentBase@23@PAHPAV?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@23@@Z 006dc0c0 f i libconcrtd:SchedulerBase.obj + 0002:00198100 ?GetFirstVirtualProcessor@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@PAH@Z 006dc100 f i libconcrtd:SchedulerBase.obj + 0002:00198130 ?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 006dc130 f libconcrtd:SchedulerBase.obj + 0002:001983c0 ?GetMaskIdCount@SchedulerBase@details@Concurrency@@QBEIXZ 006dc3c0 f i libconcrtd:SchedulerBase.obj + 0002:001983e0 ?GetNewContextId@SchedulerBase@details@Concurrency@@QAEIXZ 006dc3e0 f libconcrtd:SchedulerBase.obj + 0002:00198410 ?GetNewScheduleGroupId@SchedulerBase@details@Concurrency@@QAEIXZ 006dc410 f libconcrtd:SchedulerBase.obj + 0002:00198440 ?GetNewWorkQueueId@SchedulerBase@details@Concurrency@@SAIXZ 006dc440 f libconcrtd:SchedulerBase.obj + 0002:00198460 ?GetNextAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAHH@Z 006dc460 f i libconcrtd:SchedulerBase.obj + 0002:00198490 ?GetNextNonAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAHH@Z 006dc490 f i libconcrtd:SchedulerBase.obj + 0002:001984c0 ?GetNextPriorityObject@SchedulerBase@details@Concurrency@@QAEPAUBoostedObject@23@XZ 006dc4c0 f libconcrtd:SchedulerBase.obj + 0002:00198570 ?GetNextScheduleGroupSegment@SchedulingRing@details@Concurrency@@AAEPAVScheduleGroupSegmentBase@23@PAHHPAV?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@23@@Z 006dc570 f i libconcrtd:SchedulerBase.obj + 0002:00198610 ?GetNextSchedulingRing@SchedulerBase@details@Concurrency@@QAEPAVSchedulingRing@23@PBV423@PAV423@@Z 006dc610 f libconcrtd:SchedulerBase.obj + 0002:00198700 ?GetNextSchedulingRing@SchedulerBase@details@Concurrency@@QAEPAVSchedulingRing@23@XZ 006dc700 f libconcrtd:SchedulerBase.obj + 0002:001987a0 ?GetNextValidSchedulingRingIndex@SchedulerBase@details@Concurrency@@AAEHH@Z 006dc7a0 f libconcrtd:SchedulerBase.obj + 0002:00198890 ?GetNextVirtualProcessor@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@PAHH@Z 006dc890 f i libconcrtd:SchedulerBase.obj + 0002:00198920 ?GetNumberOfBoundContexts@SchedulerBase@details@Concurrency@@IBEKXZ 006dc920 f i libconcrtd:SchedulerBase.obj + 0002:00198940 ?GetNumberOfVirtualProcessors@SchedulerBase@details@Concurrency@@UBEIXZ 006dc940 f i libconcrtd:SchedulerBase.obj + 0002:00198960 ?GetOwningNode@VirtualProcessor@details@Concurrency@@QAEPAVSchedulingNode@23@XZ 006dc960 f i libconcrtd:SchedulerBase.obj + 0002:00198980 ?GetOwningRoot@VirtualProcessor@details@Concurrency@@QAEPAUIVirtualProcessorRoot@3@XZ 006dc980 f i libconcrtd:SchedulerBase.obj + 0002:001989a0 ?GetPolicy@SchedulerBase@details@Concurrency@@UBE?AVSchedulerPolicy@3@XZ 006dc9a0 f libconcrtd:SchedulerBase.obj + 0002:001989e0 ?GetRealizedChore@SchedulerBase@details@Concurrency@@QAEPAVRealizedChore@23@P6AXPAX@Z0@Z 006dc9e0 f libconcrtd:SchedulerBase.obj + 0002:00198ae0 ?GetReservedContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 006dcae0 f i libconcrtd:SchedulerBase.obj + 0002:00198b00 ?GetResourceSet@SchedulingNode@details@Concurrency@@QAEABVQuickBitSet@23@XZ 006dcb00 f i libconcrtd:SchedulerBase.obj + 0002:00198b20 ?GetRunnableContext@CacheLocalScheduleGroupSegment@details@Concurrency@@EAEPAVInternalContextBase@23@XZ 006dcb20 f i libconcrtd:SchedulerBase.obj + 0002:00198b80 ?GetRunnableContext@FairScheduleGroupSegment@details@Concurrency@@EAEPAVInternalContextBase@23@XZ 006dcb80 f i libconcrtd:SchedulerBase.obj + 0002:00198be0 ?GetSchedulerProxy@SchedulerBase@details@Concurrency@@QBEPAUISchedulerProxy@3@XZ 006dcbe0 f i libconcrtd:SchedulerBase.obj + 0002:00198c00 ?GetSubAllocator@SchedulerBase@details@Concurrency@@SAPAVSubAllocator@23@_N@Z 006dcc00 f libconcrtd:SchedulerBase.obj + 0002:00198d50 ?GetValidSchedulingRingIndex@SchedulerBase@details@Concurrency@@AAEHH@Z 006dcd50 f libconcrtd:SchedulerBase.obj + 0002:00198e30 ?Grow@QuickBitSet@details@Concurrency@@QAEXI@Z 006dce30 f i libconcrtd:SchedulerBase.obj + 0002:00198f50 ?Grow@ReferenceCountedQuickBitSet@details@Concurrency@@QAEXI@Z 006dcf50 f i libconcrtd:SchedulerBase.obj + 0002:00199060 ?HasCompletedShutdown@SchedulerBase@details@Concurrency@@QAE_NXZ 006dd060 f libconcrtd:SchedulerBase.obj + 0002:001990b0 ?HasVirtualProcessorAvailable@SchedulingNode@details@Concurrency@@QBE_NXZ 006dd0b0 f i libconcrtd:SchedulerBase.obj + 0002:001990f0 ?HasVirtualProcessorPendingThreadCreate@SchedulerBase@details@Concurrency@@QBE_NXZ 006dd0f0 f i libconcrtd:SchedulerBase.obj + 0002:00199130 ?HashValue@?$Hash@II@details@Concurrency@@CAIABIH@Z 006dd130 f i libconcrtd:SchedulerBase.obj + 0002:001991f0 ?Id@ScheduleGroupBase@details@Concurrency@@UBEIXZ 006dd1f0 f i libconcrtd:SchedulerBase.obj + 0002:00199210 ?Id@SchedulerBase@details@Concurrency@@UBEIXZ 006dd210 f i libconcrtd:SchedulerBase.obj + 0002:00199230 ?Id@SchedulingRing@details@Concurrency@@QBEHXZ 006dd230 f i libconcrtd:SchedulerBase.obj + 0002:00199250 ?InFinalizationSweep@SchedulerBase@details@Concurrency@@QAE_NXZ 006dd250 f libconcrtd:SchedulerBase.obj + 0002:001992a0 ?Increment@NoCount@CollectionTypes@details@Concurrency@@SAXXZ 006dd2a0 f i libconcrtd:SchedulerBase.obj + 0002:001992b0 ?IncrementInternalContextCount@SchedulerBase@details@Concurrency@@QAEXXZ 006dd2b0 f libconcrtd:SchedulerBase.obj + 0002:001992d0 ?Initialize@RealizedChore@details@Concurrency@@QAEXP6AXPAX@Z0@Z 006dd2d0 f i libconcrtd:SchedulerBase.obj + 0002:00199310 ?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ 006dd310 f libconcrtd:SchedulerBase.obj + 0002:00199e00 ?InitializeSchedulerEventHandlers@SchedulerBase@details@Concurrency@@MAEXXZ 006dde00 f libconcrtd:SchedulerBase.obj + 0002:00199e20 ?Insert@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABI0@Z 006dde20 f i libconcrtd:SchedulerBase.obj + 0002:00199f70 ?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z 006ddf70 f libconcrtd:SchedulerBase.obj + 0002:0019a180 ?InternalReference@ScheduleGroupBase@details@Concurrency@@IAEJXZ 006de180 f i libconcrtd:SchedulerBase.obj + 0002:0019a210 ?InternalRelease@ScheduleGroupBase@details@Concurrency@@IAEJXZ 006de210 f i libconcrtd:SchedulerBase.obj + 0002:0019a2d0 ?Intersects@QuickBitSet@details@Concurrency@@QBE_NABV123@@Z 006de2d0 f i libconcrtd:SchedulerBase.obj + 0002:0019a3c0 ?Invoke@SafePointInvocation@details@Concurrency@@AAEXXZ 006de3c0 f i libconcrtd:SchedulerBase.obj + 0002:0019a400 ?InvokeAtNextSafePoint@SafePointInvocation@details@Concurrency@@QAEXP6AXPAX@Z0PAVSchedulerBase@23@@Z 006de400 f libconcrtd:SchedulerBase.obj + 0002:0019a480 ?InvokeOnSafePoint@SchedulerBase@details@Concurrency@@AAEXPAVSafePointInvocation@23@@Z 006de480 f libconcrtd:SchedulerBase.obj + 0002:0019a4f0 ?IsActive@ExternalStatistics@details@Concurrency@@QAE_NXZ 006de4f0 f i libconcrtd:SchedulerBase.obj + 0002:0019a550 ?IsActive@SchedulingRing@details@Concurrency@@QBE_NXZ 006de550 f i libconcrtd:SchedulerBase.obj + 0002:0019a590 ?IsAvailableLocation@SchedulerBase@details@Concurrency@@UBE_NABVlocation@3@@Z 006de590 f libconcrtd:SchedulerBase.obj + 0002:0019a630 ?IsBlocked@ContextBase@details@Concurrency@@QBE_NXZ 006de630 f i libconcrtd:SchedulerBase.obj + 0002:0019a670 ?IsExternal@ContextBase@details@Concurrency@@QBE_NXZ 006de670 f i libconcrtd:SchedulerBase.obj + 0002:0019a690 ?IsExternalAllocator@SubAllocator@details@Concurrency@@QAE_NXZ 006de690 f i libconcrtd:SchedulerBase.obj + 0002:0019a6b0 ?IsIdle@InternalContextBase@details@Concurrency@@QBE_NXZ 006de6b0 f i libconcrtd:SchedulerBase.obj + 0002:0019a6d0 ?IsSet@QuickBitSet@details@Concurrency@@QBE_NI@Z 006de6d0 f i libconcrtd:SchedulerBase.obj + 0002:0019a730 ?IsVisibleVersion@SchedulerBase@details@Concurrency@@AAE_NK@Z 006de730 f i libconcrtd:SchedulerBase.obj + 0002:0019a770 ?Lookup@?$Hash@II@details@Concurrency@@AAEPAUListNode@123@ABIH@Z 006de770 f i libconcrtd:SchedulerBase.obj + 0002:0019a810 ?MailChore@FairScheduleGroup@details@Concurrency@@UAE?AVSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@PAV_UnrealizedChore@23@PAVlocation@3@PAPAVScheduleGroupSegmentBase@23@@Z 006de810 f i libconcrtd:SchedulerBase.obj + 0002:0019a830 ?MarkSafePoint@SchedulerBase@details@Concurrency@@QAE_NPAVSafePointMarker@23@@Z 006de830 f libconcrtd:SchedulerBase.obj + 0002:0019a870 ?MaxIndex@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHXZ 006de870 f i libconcrtd:SchedulerBase.obj + 0002:0019a890 ?MaxIndex@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHXZ 006de890 f i libconcrtd:SchedulerBase.obj + 0002:0019a8b0 ?MaxIndex@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHXZ 006de8b0 f i libconcrtd:SchedulerBase.obj + 0002:0019a8d0 ?Next@?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@SAPAVContextNode@SchedulerBase@23@PAV4523@@Z 006de8d0 f i libconcrtd:SchedulerBase.obj + 0002:0019a8f0 ?Next@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@SAPAVExternalContextBase@23@PAV423@@Z 006de8f0 f i libconcrtd:SchedulerBase.obj + 0002:0019a910 ?Next@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@SAPAVRealizedChore@23@PAV423@@Z 006de910 f i libconcrtd:SchedulerBase.obj + 0002:0019a930 ?NotifyAcquired@InternalContextBase@details@Concurrency@@QAEXXZ 006de930 f i libconcrtd:SchedulerBase.obj + 0002:0019a950 ?NotifyAffinitizedWork@FairScheduleGroupSegment@details@Concurrency@@UAEXXZ 006de950 f i libconcrtd:SchedulerBase.obj + 0002:0019a960 ?NotifyResource@SchedulingNode@details@Concurrency@@QAEXII@Z 006de960 f i libconcrtd:SchedulerBase.obj + 0002:0019a9a0 ?NotifyThrottledContext@SchedulerBase@details@Concurrency@@AAE_NPAVInternalContextBase@23@@Z 006de9a0 f libconcrtd:SchedulerBase.obj + 0002:0019aa70 ?ObservedVersion@SchedulerBase@details@Concurrency@@AAEKK@Z 006dea70 f i libconcrtd:SchedulerBase.obj + 0002:0019aac0 ?OneShotStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 006deac0 f libconcrtd:SchedulerBase.obj + 0002:0019aae0 ?OneShotStaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ 006deae0 f libconcrtd:SchedulerBase.obj + 0002:0019ab10 ?PerformServiceScan@SchedulerBase@details@Concurrency@@AAEX_K@Z 006deb10 f libconcrtd:SchedulerBase.obj + 0002:0019adc0 ?PhaseOneShutdown@SchedulerBase@details@Concurrency@@AAEXXZ 006dedc0 f libconcrtd:SchedulerBase.obj + 0002:0019af30 ?PhaseTwoShutdown@SchedulerBase@details@Concurrency@@AAEXXZ 006def30 f libconcrtd:SchedulerBase.obj + 0002:0019b110 ?Pop@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@QAEPAVExternalContextBase@23@XZ 006df110 f i libconcrtd:SchedulerBase.obj + 0002:0019b140 ?Pop@?$LockFreeStack@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 006df140 f i libconcrtd:SchedulerBase.obj + 0002:0019b170 ?Pop@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 006df170 f i libconcrtd:SchedulerBase.obj + 0002:0019b1a0 ?Pop@?$LockFreeStack@VSubAllocator@details@Concurrency@@@details@Concurrency@@QAEPAVSubAllocator@23@XZ 006df1a0 f i libconcrtd:SchedulerBase.obj + 0002:0019b1d0 ?PublishNewDataVersion@SchedulerBase@details@Concurrency@@AAEKXZ 006df1d0 f i libconcrtd:SchedulerBase.obj + 0002:0019b230 ?PullFromFreePool@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEPAVScheduleGroupBase@23@XZ 006df230 f i libconcrtd:SchedulerBase.obj + 0002:0019b270 ?Push@?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@QAEXPAVContextNode@SchedulerBase@23@@Z 006df270 f i libconcrtd:SchedulerBase.obj + 0002:0019b2b0 ?Push@?$LockFreeStack@VExternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXPAVExternalContextBase@23@@Z 006df2b0 f i libconcrtd:SchedulerBase.obj + 0002:0019b2e0 ?Push@?$LockFreeStack@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 006df2e0 f i libconcrtd:SchedulerBase.obj + 0002:0019b310 ?Push@?$LockFreeStack@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 006df310 f i libconcrtd:SchedulerBase.obj + 0002:0019b340 ?Push@?$LockFreeStack@VSubAllocator@details@Concurrency@@@details@Concurrency@@QAEXPAVSubAllocator@23@@Z 006df340 f i libconcrtd:SchedulerBase.obj + 0002:0019b370 ?PushRunnableToInactive@SchedulerBase@details@Concurrency@@UAE_NPAVInternalContextBase@23@Vlocation@3@@Z 006df370 f libconcrtd:SchedulerBase.obj + 0002:0019b470 ?Reallocate@QuickBitSet@details@Concurrency@@IAEXI@Z 006df470 f i libconcrtd:SchedulerBase.obj + 0002:0019b510 ?Reference@ScheduleGroupBase@details@Concurrency@@UAEIXZ 006df510 f i libconcrtd:SchedulerBase.obj + 0002:0019b530 ?Reference@SchedulerBase@details@Concurrency@@UAEIXZ 006df530 f libconcrtd:SchedulerBase.obj + 0002:0019b630 ?ReferenceForAttach@SchedulerBase@details@Concurrency@@IAEXXZ 006df630 f libconcrtd:SchedulerBase.obj + 0002:0019b670 ?RegisterShutdownEvent@SchedulerBase@details@Concurrency@@UAEXPAX@Z 006df670 f libconcrtd:SchedulerBase.obj + 0002:0019b780 ?Release@?$SafeSQueue@VSafePointInvocation@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QBEXXZ 006df780 f i libconcrtd:SchedulerBase.obj + 0002:0019b7a0 ?Release@ScheduleGroupBase@details@Concurrency@@UAEIXZ 006df7a0 f i libconcrtd:SchedulerBase.obj + 0002:0019b7c0 ?Release@SchedulerBase@details@Concurrency@@UAEIXZ 006df7c0 f libconcrtd:SchedulerBase.obj + 0002:0019b800 ?ReleaseExternalContext@SchedulerBase@details@Concurrency@@AAEXPAVExternalContextBase@23@@Z 006df800 f libconcrtd:SchedulerBase.obj + 0002:0019b870 ?ReleaseForDetach@SchedulerBase@details@Concurrency@@IAEXXZ 006df870 f libconcrtd:SchedulerBase.obj + 0002:0019b8b0 ?ReleaseInternalContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@_N@Z 006df8b0 f libconcrtd:SchedulerBase.obj + 0002:0019b9a0 ?ReleaseRealizedChore@SchedulerBase@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 006df9a0 f libconcrtd:SchedulerBase.obj + 0002:0019ba40 ?ReleaseReservedContexts@SchedulerBase@details@Concurrency@@QAEXXZ 006dfa40 f libconcrtd:SchedulerBase.obj + 0002:0019bae0 ?ReleaseSuspendedVirtualProcessors@SchedulerBase@details@Concurrency@@AAEXJ@Z 006dfae0 f libconcrtd:SchedulerBase.obj + 0002:0019bb20 ?ReleaseWrite@?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006dfb20 f i libconcrtd:SchedulerBase.obj + 0002:0019bb40 ?Remove@?$List@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEXPAUBoostedObject@23@@Z 006dfb40 f i libconcrtd:SchedulerBase.obj + 0002:0019bc10 ?Remove@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE_NPAVExternalStatistics@23@H_N@Z 006dfc10 f i libconcrtd:SchedulerBase.obj + 0002:0019bec0 ?Remove@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE_NPAVExternalStatistics@23@_N@Z 006dfec0 f i libconcrtd:SchedulerBase.obj + 0002:0019bef0 ?Remove@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupBase@23@H_N@Z 006dfef0 f i libconcrtd:SchedulerBase.obj + 0002:0019c1a0 ?Remove@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupBase@23@_N@Z 006e01a0 f i libconcrtd:SchedulerBase.obj + 0002:0019c1d0 ?RemoveHead@?$List@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEPAUBoostedObject@23@XZ 006e01d0 f i libconcrtd:SchedulerBase.obj + 0002:0019c250 ?RemoveHead@?$List@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ 006e0250 f i libconcrtd:SchedulerBase.obj + 0002:0019c2c0 ?RemoveHead@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ 006e02c0 f i libconcrtd:SchedulerBase.obj + 0002:0019c350 ?RemovePrioritizedObject@SchedulerBase@details@Concurrency@@QAEXPAUBoostedObject@23@@Z 006e0350 f libconcrtd:SchedulerBase.obj + 0002:0019c3c0 ?RemoveScheduleGroup@SchedulerBase@details@Concurrency@@QAEXPAVScheduleGroupBase@23@@Z 006e03c0 f libconcrtd:SchedulerBase.obj + 0002:0019c440 ?RemoveSegments@FairScheduleGroup@details@Concurrency@@MAEXXZ 006e0440 f i libconcrtd:SchedulerBase.obj + 0002:0019c470 ?RemoveVirtualProcessors@SchedulerBase@details@Concurrency@@IAEXPAPAUIVirtualProcessorRoot@3@I@Z 006e0470 f libconcrtd:SchedulerBase.obj + 0002:0019c780 ?ResetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXXZ 006e0780 f libconcrtd:SchedulerBase.obj + 0002:0019c790 ?ResetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXXZ 006e0790 f libconcrtd:SchedulerBase.obj + 0002:0019c800 ?Resurrect@SchedulerBase@details@Concurrency@@AAEXXZ 006e0800 f libconcrtd:SchedulerBase.obj + 0002:0019c8d0 ?ReturnSubAllocator@SchedulerBase@details@Concurrency@@SAXPAVSubAllocator@23@@Z 006e08d0 f libconcrtd:SchedulerBase.obj + 0002:0019c9a0 ?SafeFastCurrentContext@SchedulerBase@details@Concurrency@@SAPAVContextBase@23@XZ 006e09a0 f libconcrtd:SchedulerBase.obj + 0002:0019c9e0 ?SafeFastCurrentScheduler@SchedulerBase@details@Concurrency@@SAPAV123@XZ 006e09e0 f libconcrtd:SchedulerBase.obj + 0002:0019ca20 ?SafeReference@SchedulerBase@details@Concurrency@@AAE_NXZ 006e0a20 f libconcrtd:SchedulerBase.obj + 0002:0019ca50 ?ScheduleTask@SchedulerBase@details@Concurrency@@UAEXP6AXPAX@Z0@Z 006e0a50 f libconcrtd:SchedulerBase.obj + 0002:0019cb20 ?ScheduleTask@SchedulerBase@details@Concurrency@@UAEXP6AXPAX@Z0AAVlocation@3@@Z 006e0b20 f libconcrtd:SchedulerBase.obj + 0002:0019cbe0 ?Set@QuickBitSet@details@Concurrency@@QAEXI@Z 006e0be0 f i libconcrtd:SchedulerBase.obj + 0002:0019cc70 ?SetDebugBits@InternalContextBase@details@Concurrency@@QAEXK@Z 006e0c70 f i libconcrtd:SchedulerBase.obj + 0002:0019cca0 ?SetDefaultSchedulerPolicy@Scheduler@Concurrency@@SAXABVSchedulerPolicy@2@@Z 006e0ca0 f libconcrtd:SchedulerBase.obj + 0002:0019ccc0 ?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z 006e0cc0 f libconcrtd:SchedulerBase.obj + 0002:0019ce30 ?SetExternalAllocatorFlag@SubAllocator@details@Concurrency@@QAEX_N@Z 006e0e30 f i libconcrtd:SchedulerBase.obj + 0002:0019ce50 ?SetNextSchedulingRing@SchedulerBase@details@Concurrency@@QAEXPAVSchedulingRing@23@@Z 006e0e50 f libconcrtd:SchedulerBase.obj + 0002:0019ced0 ?SetOwningNode@SchedulingRing@details@Concurrency@@AAEXPAVSchedulingNode@23@@Z 006e0ed0 f i libconcrtd:SchedulerBase.obj + 0002:0019cef0 ?SetScheduler@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEXPAVSchedulerBase@23@@Z 006e0ef0 f i libconcrtd:SchedulerBase.obj + 0002:0019cf10 ?SpinUntilBitsReset@details@Concurrency@@YAJPCJJ@Z 006e0f10 f i libconcrtd:SchedulerBase.obj + 0002:0019cf70 ?SpinUntilBitsSet@details@Concurrency@@YAJPCJJ@Z 006e0f70 f i libconcrtd:SchedulerBase.obj + 0002:0019cfd0 ?StampThrottledCreate@SchedulerBase@details@Concurrency@@QAEXXZ 006e0fd0 f i libconcrtd:SchedulerBase.obj + 0002:0019d000 ?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 006e1000 f i libconcrtd:SchedulerBase.obj + 0002:0019d0a0 ?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 006e10a0 f i libconcrtd:SchedulerBase.obj + 0002:0019d130 ?StartupVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@K@Z 006e1130 f libconcrtd:SchedulerBase.obj + 0002:0019d210 ?StaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 006e1210 f libconcrtd:SchedulerBase.obj + 0002:0019d230 ?StaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ 006e1230 f libconcrtd:SchedulerBase.obj + 0002:0019d310 ?Statistics@SchedulerBase@details@Concurrency@@IAEXPAI00@Z 006e1310 f libconcrtd:SchedulerBase.obj + 0002:0019d570 ?StealForeignLocalRunnableContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@PAVSchedulingNode@23@@Z 006e1570 f libconcrtd:SchedulerBase.obj + 0002:0019d6b0 ?SweepSchedulerForFinalize@SchedulerBase@details@Concurrency@@AAEXXZ 006e16b0 f libconcrtd:SchedulerBase.obj + 0002:0019d870 ?ThrottlerDispatch@SchedulerBase@details@Concurrency@@AAEXXZ 006e1870 f libconcrtd:SchedulerBase.obj + 0002:0019db40 ?ThrottlerDispatchBridge@SchedulerBase@details@Concurrency@@CGXPAU_TP_CALLBACK_INSTANCE@@PAXPAU_TP_TIMER@@@Z 006e1b40 f i libconcrtd:SchedulerBase.obj + 0002:0019db60 ?ThrottlerDispatchBridgeXP@SchedulerBase@details@Concurrency@@CGXPAXE@Z 006e1b60 f i libconcrtd:SchedulerBase.obj + 0002:0019db80 ?ThrottlerTrampoline@SchedulerBase@details@Concurrency@@CGXPAXE@Z 006e1b80 f libconcrtd:SchedulerBase.obj + 0002:0019dbe0 ?ThrottlingDelta@SchedulerBase@details@Concurrency@@QAEKXZ 006e1be0 f i libconcrtd:SchedulerBase.obj + 0002:0019dc20 ?ThrottlingTime@SchedulerBase@details@Concurrency@@QAEKK@Z 006e1c20 f libconcrtd:SchedulerBase.obj + 0002:0019dd70 ?ThrowSchedulerEvent@SchedulerBase@details@Concurrency@@CAXW4ConcRT_EventType@3@EI@Z 006e1d70 f libconcrtd:SchedulerBase.obj + 0002:0019de20 ?TimeSinceServicing@ScheduleGroupSegmentBase@details@Concurrency@@QAEK_K@Z 006e1e20 f i libconcrtd:SchedulerBase.obj + 0002:0019de50 ?TimeSinceServicing@VirtualProcessor@details@Concurrency@@QAEK_K@Z 006e1e50 f i libconcrtd:SchedulerBase.obj + 0002:0019de80 ?TraceSchedulerEvent@SchedulerBase@details@Concurrency@@AAEXW4ConcRT_EventType@3@EI@Z 006e1e80 f i libconcrtd:SchedulerBase.obj + 0002:0019ded0 ?TriggerCommitSafePoints@SchedulerBase@details@Concurrency@@QAEXPAVSafePointMarker@23@@Z 006e1ed0 f libconcrtd:SchedulerBase.obj + 0002:0019df30 ?TypeOfWorkPending@SchedulerBase@details@Concurrency@@MAE?AW4PendingWorkType@123@XZ 006e1f30 f libconcrtd:SchedulerBase.obj + 0002:0019df90 ?UnlockedAddHead@?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUBoostedObject@23@@Z 006e1f90 f i libconcrtd:SchedulerBase.obj + 0002:0019e000 ?UnlockedRemove@?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUBoostedObject@23@@Z 006e2000 f i libconcrtd:SchedulerBase.obj + 0002:0019e070 ?UnlockedRemoveHead@?$SafeRWList@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUBoostedObject@23@XZ 006e2070 f i libconcrtd:SchedulerBase.obj + 0002:0019e0e0 ?Unsafe_Top@?$LockFreePushStack@VContextNode@SchedulerBase@details@Concurrency@@@details@Concurrency@@QAEPAVContextNode@SchedulerBase@23@XZ 006e20e0 f i libconcrtd:SchedulerBase.obj + 0002:0019e100 ?UpdateCommitVersion@SchedulerBase@details@Concurrency@@AAEKK@Z 006e2100 f libconcrtd:SchedulerBase.obj + 0002:0019e260 ?UpdatePendingVersion@SchedulerBase@details@Concurrency@@AAEKXZ 006e2260 f libconcrtd:SchedulerBase.obj + 0002:0019e2e0 ?VirtualProcessorActive@SchedulerBase@details@Concurrency@@QAE_N_N@Z 006e22e0 f libconcrtd:SchedulerBase.obj + 0002:0019e5f0 ?VirtualProcessorActiveNotification@SchedulerBase@details@Concurrency@@MAEX_NJ@Z 006e25f0 f i libconcrtd:SchedulerBase.obj + 0002:0019e600 ?VirtualProcessorIdle@SchedulerBase@details@Concurrency@@QAEX_N@Z 006e2600 f libconcrtd:SchedulerBase.obj + 0002:0019e7a0 ?WasExplicitlyAttached@ExternalContextBase@details@Concurrency@@QBE_NXZ 006e27a0 f i libconcrtd:SchedulerBase.obj + 0002:0019e7c0 ?Wipe@?$Hash@II@details@Concurrency@@QAEXXZ 006e27c0 f i libconcrtd:SchedulerBase.obj + 0002:0019e870 ?_Assign@location@Concurrency@@QAEXABV12@@Z 006e2870 f i libconcrtd:SchedulerBase.obj + 0002:0019e910 ?_GetId@location@Concurrency@@QBEIXZ 006e2910 f i libconcrtd:SchedulerBase.obj + 0002:0019e930 ?_GetType@location@Concurrency@@QBE?AW4_Type@12@XZ 006e2930 f i libconcrtd:SchedulerBase.obj + 0002:0019e950 ?_GetVirtualProcessor@InternalContextBase@details@Concurrency@@IBEPAVVirtualProcessor@23@XZ 006e2950 f i libconcrtd:SchedulerBase.obj + 0002:0019e9b0 ?_HasWriteLock@_ReaderWriterLock@details@Concurrency@@QBE_NXZ 006e29b0 f i libconcrtd:SchedulerBase.obj + 0002:0019e9f0 ?_IsEnabled@_CONCRT_TRACE_INFO@details@Concurrency@@QBE_NEK@Z 006e29f0 f i libconcrtd:SchedulerBase.obj + 0002:0019ea40 ?_Is_system@location@Concurrency@@QBE_NXZ 006e2a40 f i libconcrtd:SchedulerBase.obj + 0002:0019ea80 ?_Reference@_Scheduler@details@Concurrency@@QAEIXZ 006e2a80 f libconcrtd:SchedulerBase.obj + 0002:0019eac0 ?_Release@_Scheduler@details@Concurrency@@QAEIXZ 006e2ac0 f libconcrtd:SchedulerBase.obj + 0002:0019eb00 ?CreateRemoteThreadEx@UMS@details@Concurrency@@SAPAXPAXPAU_SECURITY_ATTRIBUTES@@KP6GK0@Z0KPAU_PROC_THREAD_ATTRIBUTE_LIST@@PAK@Z 006e2b00 f libconcrtd:UMSWrapper.obj + 0002:0019ebb0 ?CreateUmsCompletionList@UMS@details@Concurrency@@SAHPAPAX@Z 006e2bb0 f libconcrtd:UMSWrapper.obj + 0002:0019ec40 ?CreateUmsThreadContext@UMS@details@Concurrency@@SAHPAPAX@Z 006e2c40 f libconcrtd:UMSWrapper.obj + 0002:0019ecd0 ?DeleteProcThreadAttributeList@UMS@details@Concurrency@@SAXPAU_PROC_THREAD_ATTRIBUTE_LIST@@@Z 006e2cd0 f libconcrtd:UMSWrapper.obj + 0002:0019ed60 ?DeleteUmsCompletionList@UMS@details@Concurrency@@SAHPAX@Z 006e2d60 f libconcrtd:UMSWrapper.obj + 0002:0019edf0 ?DeleteUmsThreadContext@UMS@details@Concurrency@@SAHPAX@Z 006e2df0 f libconcrtd:UMSWrapper.obj + 0002:0019ee80 ?DequeueUmsCompletionListItems@UMS@details@Concurrency@@SAHPAXKPAPAX@Z 006e2e80 f libconcrtd:UMSWrapper.obj + 0002:0019ef10 ?EnterUmsSchedulingMode@UMS@details@Concurrency@@SAHPAU_UMS_SCHEDULER_STARTUP_INFO@@@Z 006e2f10 f libconcrtd:UMSWrapper.obj + 0002:0019efa0 ?ExecuteUmsThread@UMS@details@Concurrency@@SAHPAX@Z 006e2fa0 f libconcrtd:UMSWrapper.obj + 0002:0019f030 ?GetCurrentUmsThread@UMS@details@Concurrency@@SAPAXXZ 006e3030 f libconcrtd:UMSWrapper.obj + 0002:0019f0b0 ?GetNextUmsListItem@UMS@details@Concurrency@@SAPAXPAX@Z 006e30b0 f libconcrtd:UMSWrapper.obj + 0002:0019f140 ?GetUmsCompletionListEvent@UMS@details@Concurrency@@SAHPAXPAPAX@Z 006e3140 f libconcrtd:UMSWrapper.obj + 0002:0019f1d0 ?Initialize@UMS@details@Concurrency@@SAXXZ 006e31d0 f libconcrtd:UMSWrapper.obj + 0002:0019f9a0 ?InitializeProcThreadAttributeList@UMS@details@Concurrency@@SAHPAU_PROC_THREAD_ATTRIBUTE_LIST@@KKPAK@Z 006e39a0 f libconcrtd:UMSWrapper.obj + 0002:0019fa40 ?Initialized@UMS@details@Concurrency@@SA_NXZ 006e3a40 f libconcrtd:UMSWrapper.obj + 0002:0019fa70 ?QueryUmsThreadInformation@UMS@details@Concurrency@@SAHPAXW4_RTL_UMS_THREAD_INFO_CLASS@@0KPAK@Z 006e3a70 f libconcrtd:UMSWrapper.obj + 0002:0019fb10 ?SetUmsThreadInformation@UMS@details@Concurrency@@SAHPAXW4_RTL_UMS_THREAD_INFO_CLASS@@0K@Z 006e3b10 f libconcrtd:UMSWrapper.obj + 0002:0019fbb0 ?UmsThreadYield@UMS@details@Concurrency@@SAHPAX@Z 006e3bb0 f libconcrtd:UMSWrapper.obj + 0002:0019fc40 ?UpdateProcThreadAttribute@UMS@details@Concurrency@@SAHPAU_PROC_THREAD_ATTRIBUTE_LIST@@KKPAXK1PAK@Z 006e3c40 f libconcrtd:UMSWrapper.obj + 0002:0019fce0 ??0IExecutionContext@Concurrency@@QAE@XZ 006e3ce0 f i libconcrtd:UMSSchedulingContext.obj + 0002:0019fd00 ??0UMSSchedulingContext@details@Concurrency@@QAE@PAVUMSThreadScheduler@12@PAVUMSThreadVirtualProcessor@12@@Z 006e3d00 f libconcrtd:UMSSchedulingContext.obj + 0002:0019fd70 ??0WorkItem@details@Concurrency@@QAE@XZ 006e3d70 f i libconcrtd:UMSSchedulingContext.obj + 0002:0019fda0 ?ClaimBoundProcessorAndSwallowActivation@UMSSchedulingContext@details@Concurrency@@AAEXXZ 006e3da0 f libconcrtd:UMSSchedulingContext.obj + 0002:0019fe10 ?ClearDebugBits@InternalContextBase@details@Concurrency@@QAEXK@Z 006e3e10 f i libconcrtd:UMSSchedulingContext.obj + 0002:0019fe40 ?Dispatch@UMSSchedulingContext@details@Concurrency@@UAEXPAUDispatchState@3@@Z 006e3e40 f libconcrtd:UMSSchedulingContext.obj + 0002:001a05f0 ?FastCurrentSchedulingContext@UMSThreadScheduler@details@Concurrency@@SAPAVUMSSchedulingContext@23@XZ 006e45f0 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0610 ?GetContext@WorkItem@details@Concurrency@@QBEPAVInternalContextBase@23@XZ 006e4610 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0650 ?GetDebugBits@InternalContextBase@details@Concurrency@@QBEKXZ 006e4650 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0670 ?GetExecutingContext@VirtualProcessor@details@Concurrency@@QAEPAUIExecutionContext@3@XZ 006e4670 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0690 ?GetId@UMSSchedulingContext@details@Concurrency@@UBEIXZ 006e4690 f libconcrtd:UMSSchedulingContext.obj + 0002:001a06b0 ?GetOwningRing@VirtualProcessor@details@Concurrency@@QAEPAVSchedulingRing@23@XZ 006e46b0 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a06d0 ?GetProxy@UMSSchedulingContext@details@Concurrency@@UAEPAUIThreadProxy@3@XZ 006e46d0 f libconcrtd:UMSSchedulingContext.obj + 0002:001a06f0 ?GetScheduler@UMSSchedulingContext@details@Concurrency@@UAEPAUIScheduler@3@XZ 006e46f0 f libconcrtd:UMSSchedulingContext.obj + 0002:001a0740 ?IsAvailable@VirtualProcessor@details@Concurrency@@QAE_NXZ 006e4740 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0780 ?OnPrimary@UMSSchedulingContext@details@Concurrency@@SA_NXZ 006e4780 f libconcrtd:UMSSchedulingContext.obj + 0002:001a07b0 ?Search@WorkSearchContext@details@Concurrency@@QAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 006e47b0 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0800 ?SearchForWork@VirtualProcessor@details@Concurrency@@QAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 006e4800 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0840 ?SetAsCurrentTls@UMSSchedulingContext@details@Concurrency@@AAEXXZ 006e4840 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0870 ?SetBlockingType@UMSThreadInternalContext@details@Concurrency@@AAEXW4BlockingType@123@@Z 006e4870 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a0890 ?SetProxy@UMSSchedulingContext@details@Concurrency@@UAEXPAUIThreadProxy@3@@Z 006e4890 f libconcrtd:UMSSchedulingContext.obj + 0002:001a08e0 ?SetUMSBlocked@UMSSchedulingContext@details@Concurrency@@AAEXPAVUMSThreadInternalContext@23@_N@Z 006e48e0 f libconcrtd:UMSSchedulingContext.obj + 0002:001a0980 ?UNSAFE_CurrentVirtualProcessor@InternalContextBase@details@Concurrency@@IBEPAVVirtualProcessor@23@XZ 006e4980 f i libconcrtd:UMSSchedulingContext.obj + 0002:001a09a0 ??0IThreadProxy@Concurrency@@QAE@XZ 006e49a0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a09c0 ??0IUMSThreadProxy@Concurrency@@QAE@XZ 006e49c0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a09f0 ??0IUMSUnblockNotification@Concurrency@@QAE@XZ 006e49f0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a0a10 ??0UMSBaseObject@details@Concurrency@@QAE@XZ 006e4a10 f i libconcrtd:UMSThreadProxy.obj + 0002:001a0a30 ??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 006e4a30 f libconcrtd:UMSThreadProxy.obj + 0002:001a0f00 ??0scheduler_worker_creation_error@Concurrency@@QAE@ABV01@@Z 006e4f00 f i libconcrtd:UMSThreadProxy.obj + 0002:001a0f30 ??1UMSThreadProxy@details@Concurrency@@UAE@XZ 006e4f30 f libconcrtd:UMSThreadProxy.obj + 0002:001a10a0 ??_GUMSBaseObject@details@Concurrency@@UAEPAXI@Z 006e50a0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a10a0 ??_EUMSBaseObject@details@Concurrency@@UAEPAXI@Z 006e50a0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a10e0 ??_GUMSThreadProxy@details@Concurrency@@UAEPAXI@Z 006e50e0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a10e0 ??_EUMSThreadProxy@details@Concurrency@@UAEPAXI@Z 006e50e0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1120 ?Cancel@UMSThreadProxy@details@Concurrency@@QAEXXZ 006e5120 f libconcrtd:UMSThreadProxy.obj + 0002:001a1140 ?Deactivate@UMSThreadProxy@details@Concurrency@@IAE_NXZ 006e5140 f libconcrtd:UMSThreadProxy.obj + 0002:001a12b0 ?EnterCriticalRegion@UMSThreadProxy@details@Concurrency@@UAEHXZ 006e52b0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1310 ?EnterHyperCriticalRegion@UMSThreadProxy@details@Concurrency@@UAEHXZ 006e5310 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1360 ?ExitCriticalRegion@UMSThreadProxy@details@Concurrency@@UAEHXZ 006e5360 f i libconcrtd:UMSThreadProxy.obj + 0002:001a13c0 ?ExitHyperCriticalRegion@UMSThreadProxy@details@Concurrency@@UAEHXZ 006e53c0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1460 ?ForceEnterHyperCriticalRegion@UMSThreadProxy@details@Concurrency@@QAEHXZ 006e5460 f i libconcrtd:UMSThreadProxy.obj + 0002:001a14b0 ?FreeViaExit@UMSThreadProxy@details@Concurrency@@IAEXXZ 006e54b0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1540 ?FromListEntry@UMSThreadProxy@details@Concurrency@@SAPAV123@PAU_SINGLE_LIST_ENTRY@@@Z 006e5540 f libconcrtd:UMSThreadProxy.obj + 0002:001a1560 ?FromUMSContext@UMSThreadProxy@details@Concurrency@@SAPAV123@PAX@Z 006e5560 f libconcrtd:UMSThreadProxy.obj + 0002:001a1660 ?GetCriticalRegionType@UMSThreadProxy@details@Concurrency@@UBE?AW4CriticalRegionType@3@XZ 006e5660 f i libconcrtd:UMSThreadProxy.obj + 0002:001a16a0 ?GetExecutingProxy@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 006e56a0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a16c0 ?GetId@UMSThreadProxy@details@Concurrency@@UBEIXZ 006e56c0 f libconcrtd:UMSThreadProxy.obj + 0002:001a16e0 ?GetNextUnblockNotification@UMSThreadProxy@details@Concurrency@@UAEPAUIUMSUnblockNotification@3@XZ 006e56e0 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1750 ?GetThreadProxyId@ResourceManager@details@Concurrency@@SAIXZ 006e5750 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1770 ?GetTransmogrificator@UMSFreeThreadProxyFactory@details@Concurrency@@QAEPAVTransmogrificator@23@XZ 006e5770 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1790 ?InternalSwitchOut@UMSThreadProxy@details@Concurrency@@IAEXW4SwitchingProxyState@3@@Z 006e5790 f libconcrtd:UMSThreadProxy.obj + 0002:001a18d0 ?InternalSwitchTo@UMSThreadProxy@details@Concurrency@@IAEXPAV123@W4SwitchingProxyState@3@@Z 006e58d0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1ac0 ?InternalYieldToSystem@UMSThreadProxy@details@Concurrency@@IAEXXZ 006e5ac0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1c00 ?IsDeleting@UMSFreeVirtualProcessorRoot@details@Concurrency@@QBE_NXZ 006e5c00 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1c20 ?IsPrimary@UMSThreadProxy@details@Concurrency@@UAE_NXZ 006e5c20 f i libconcrtd:UMSThreadProxy.obj + 0002:001a1c30 ?IsSuspended@UMSThreadProxy@details@Concurrency@@QAE_NXZ 006e5c30 f libconcrtd:UMSThreadProxy.obj + 0002:001a1c90 ?IsTerminated@UMSThreadProxy@details@Concurrency@@QAE_NXZ 006e5c90 f libconcrtd:UMSThreadProxy.obj + 0002:001a1cf0 ?NotifyTransmogrification@UMSThreadProxy@details@Concurrency@@QAEXXZ 006e5cf0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1d80 ?PrepareToRun@UMSThreadProxy@details@Concurrency@@IAEXPAVUMSFreeVirtualProcessorRoot@23@@Z 006e5d80 f libconcrtd:UMSThreadProxy.obj + 0002:001a1dd0 ?ReadyForDispatch@UMSThreadProxy@details@Concurrency@@AAEXXZ 006e5dd0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1e30 ?RequestTransmogrification@UMSThreadProxy@details@Concurrency@@IAEXXZ 006e5e30 f libconcrtd:UMSThreadProxy.obj + 0002:001a1ec0 ?SetPriority@UMSThreadProxy@details@Concurrency@@QAEXH@Z 006e5ec0 f libconcrtd:UMSThreadProxy.obj + 0002:001a1f30 ?SpinOnAndReturnBlockingType@UMSThreadProxy@details@Concurrency@@IAE?AW4BlockingType@123@XZ 006e5f30 f libconcrtd:UMSThreadProxy.obj + 0002:001a1f80 ?SpinUntilBlocked@UMSThreadProxy@details@Concurrency@@IAEXXZ 006e5f80 f libconcrtd:UMSThreadProxy.obj + 0002:001a1fd0 ?UMSThreadProxyMain@UMSThreadProxy@details@Concurrency@@CGKPAX@Z 006e5fd0 f libconcrtd:UMSThreadProxy.obj + 0002:001a20c0 ??$_Atomic_address_as@$$CBJ$$CBU?$_Atomic_padded@J@std@@@std@@YAPDJABU?$_Atomic_padded@J@0@@Z 006e60c0 f i libconcrtd:ContextBase.obj + 0002:001a20d0 ??$_InternalDeleteHelper@VWorkQueue@details@Concurrency@@@details@Concurrency@@YAXPAVWorkQueue@01@@Z 006e60d0 f i libconcrtd:ContextBase.obj + 0002:001a2110 ??0?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@H@Z 006e6110 f i libconcrtd:ContextBase.obj + 0002:001a21b0 ??0?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAE@XZ 006e61b0 f i libconcrtd:ContextBase.obj + 0002:001a21d0 ??0?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 006e61d0 f i libconcrtd:ContextBase.obj + 0002:001a2200 ??0ArrayNode@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAPAVWorkQueue@23@@Z 006e6200 f i libconcrtd:ContextBase.obj + 0002:001a2240 ??0CancellationBeaconNode@CancellationBeaconStack@ContextBase@details@Concurrency@@QAE@XZ 006e6240 f i libconcrtd:ContextBase.obj + 0002:001a22a0 ??0CancellationBeaconStack@ContextBase@details@Concurrency@@QAE@XZ 006e62a0 f i libconcrtd:ContextBase.obj + 0002:001a2300 ??0Context@Concurrency@@QAE@XZ 006e6300 f i libconcrtd:ContextBase.obj + 0002:001a2320 ??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 006e6320 f libconcrtd:ContextBase.obj + 0002:001a2560 ??0Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@ABV0123@@Z 006e6560 f i libconcrtd:ContextBase.obj + 0002:001a2590 ??0_Cancellation_beacon@details@Concurrency@@QAE@XZ 006e6590 f libconcrtd:ContextBase.obj + 0002:001a25c0 ??0_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@AAV123@@Z 006e65c0 f i libconcrtd:ContextBase.obj + 0002:001a25f0 ??0_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@AAV123@@Z 006e65f0 f i libconcrtd:ContextBase.obj + 0002:001a2620 ??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 006e6620 f i libconcrtd:ContextBase.obj + 0002:001a2690 ??1?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@XZ 006e6690 f i libconcrtd:ContextBase.obj + 0002:001a26e0 ??1?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@XZ 006e66e0 f i libconcrtd:ContextBase.obj + 0002:001a2730 ??1CancellationBeaconNode@CancellationBeaconStack@ContextBase@details@Concurrency@@QAE@XZ 006e6730 f i libconcrtd:ContextBase.obj + 0002:001a2760 ??1CancellationBeaconStack@ContextBase@details@Concurrency@@QAE@XZ 006e6760 f i libconcrtd:ContextBase.obj + 0002:001a2800 ??1Context@Concurrency@@MAE@XZ 006e6800 f i libconcrtd:ContextBase.obj + 0002:001a2820 ??1ContextBase@details@Concurrency@@UAE@XZ 006e6820 f i libconcrtd:ContextBase.obj + 0002:001a2860 ??1Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 006e6860 f i libconcrtd:ContextBase.obj + 0002:001a28a0 ??1WorkQueue@details@Concurrency@@QAE@XZ 006e68a0 f i libconcrtd:ContextBase.obj + 0002:001a28d0 ??1_Cancellation_beacon@details@Concurrency@@QAE@XZ 006e68d0 f libconcrtd:ContextBase.obj + 0002:001a2930 ??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 006e6930 f i libconcrtd:ContextBase.obj + 0002:001a2980 ??1_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 006e6980 f i libconcrtd:ContextBase.obj + 0002:001a29d0 ??4Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEAAV0123@ABV0123@@Z 006e69d0 f i libconcrtd:ContextBase.obj + 0002:001a2a00 ??8location@Concurrency@@QBE_NABV01@@Z 006e6a00 f i libconcrtd:ContextBase.obj + 0002:001a2a60 ??9location@Concurrency@@QBE_NABV01@@Z 006e6a60 f i libconcrtd:ContextBase.obj + 0002:001a2ab0 ??ACancellationBeaconStack@ContextBase@details@Concurrency@@QAEPAUCancellationBeacon@123@J@Z 006e6ab0 f i libconcrtd:ContextBase.obj + 0002:001a2b60 ??B?$atomic@J@std@@QBEJXZ 006e6b60 f i libconcrtd:ContextBase.obj + 0002:001a2b80 ??_GCancellationBeaconNode@CancellationBeaconStack@ContextBase@details@Concurrency@@QAEPAXI@Z 006e6b80 f i libconcrtd:ContextBase.obj + 0002:001a2bc0 ??_GContext@Concurrency@@MAEPAXI@Z 006e6bc0 f i libconcrtd:ContextBase.obj + 0002:001a2bc0 ??_EContext@Concurrency@@MAEPAXI@Z 006e6bc0 f i libconcrtd:ContextBase.obj + 0002:001a2c00 ??_GContextBase@details@Concurrency@@UAEPAXI@Z 006e6c00 f i libconcrtd:ContextBase.obj + 0002:001a2c00 ??_EContextBase@details@Concurrency@@UAEPAXI@Z 006e6c00 f i libconcrtd:ContextBase.obj + 0002:001a2c40 ??_GSegment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEPAXI@Z 006e6c40 f i libconcrtd:ContextBase.obj + 0002:001a2c80 ??_GWorkQueue@details@Concurrency@@QAEPAXI@Z 006e6c80 f i libconcrtd:ContextBase.obj + 0002:001a2cc0 ??_G_TaskCollection@details@Concurrency@@QAEPAXI@Z 006e6cc0 f i libconcrtd:ContextBase.obj + 0002:001a2d00 ?AcquirePushBeacon@CancellationBeaconStack@ContextBase@details@Concurrency@@QAEPAUCancellationBeacon@234@H@Z 006e6d00 f i libconcrtd:ContextBase.obj + 0002:001a2d80 ?AcquireRead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006e6d80 f i libconcrtd:ContextBase.obj + 0002:001a2da0 ?AcquireWrite@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006e6da0 f i libconcrtd:ContextBase.obj + 0002:001a2dc0 ?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z 006e6dc0 f i libconcrtd:ContextBase.obj + 0002:001a31b0 ?AddStealer@ContextBase@details@Concurrency@@QAEXPAV123@_N@Z 006e71b0 f libconcrtd:ContextBase.obj + 0002:001a3200 ?AddTail@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006e7200 f i libconcrtd:ContextBase.obj + 0002:001a32c0 ?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006e72c0 f i libconcrtd:ContextBase.obj + 0002:001a3350 ?BeaconCount@CancellationBeaconStack@ContextBase@details@Concurrency@@QBEJXZ 006e7350 f i libconcrtd:ContextBase.obj + 0002:001a3370 ?CancelCollection@ContextBase@details@Concurrency@@QAEXH@Z 006e7370 f libconcrtd:ContextBase.obj + 0002:001a3460 ?CancelCollectionComplete@ContextBase@details@Concurrency@@QAE_NH@Z 006e7460 f libconcrtd:ContextBase.obj + 0002:001a3510 ?CancelEntireContext@ContextBase@details@Concurrency@@QAEXXZ 006e7510 f i libconcrtd:ContextBase.obj + 0002:001a3540 ?CancelStealers@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 006e7540 f libconcrtd:ContextBase.obj + 0002:001a3830 ?CheckForDeletion@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@AAEXXZ 006e7830 f i libconcrtd:ContextBase.obj + 0002:001a3890 ?CheckForDeletionBridge@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 006e7890 f i libconcrtd:ContextBase.obj + 0002:001a38a0 ?Claim@Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE_NPAPAV_UnrealizedChore@34@@Z 006e78a0 f i libconcrtd:ContextBase.obj + 0002:001a3970 ?Cleanup@ContextBase@details@Concurrency@@QAEXXZ 006e7970 f libconcrtd:ContextBase.obj + 0002:001a39e0 ?ClearAliasTable@ContextBase@details@Concurrency@@QAEXXZ 006e79e0 f libconcrtd:ContextBase.obj + 0002:001a3a60 ?ClearContextTls@ContextBase@details@Concurrency@@AAEXXZ 006e7a60 f libconcrtd:ContextBase.obj + 0002:001a3ae0 ?ConfirmCancel@ContextBase@details@Concurrency@@QAE_NPAU_Beacon_reference@23@@Z 006e7ae0 f i libconcrtd:ContextBase.obj + 0002:001a3b10 ?Count@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QBEHXZ 006e7b10 f i libconcrtd:ContextBase.obj + 0002:001a3b30 ?Count@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QBEHXZ 006e7b30 f i libconcrtd:ContextBase.obj + 0002:001a3b50 ?CreateStructuredWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 006e7b50 f libconcrtd:ContextBase.obj + 0002:001a3d10 ?CreateWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 006e7d10 f libconcrtd:ContextBase.obj + 0002:001a3eb0 ?Delete@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE_NABQAV_TaskCollection@23@@Z 006e7eb0 f i libconcrtd:ContextBase.obj + 0002:001a3ee0 ?DeleteElements@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 006e7ee0 f i libconcrtd:ContextBase.obj + 0002:001a3f30 ?DeleteKey@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@CAXAAPAV_TaskCollection@23@@Z 006e7f30 f i libconcrtd:ContextBase.obj + 0002:001a3f40 ?DeleteValue@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@CAXAAPAV_TaskCollection@23@@Z 006e7f40 f i libconcrtd:ContextBase.obj + 0002:001a3f50 ?Dereference@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 006e7f50 f i libconcrtd:ContextBase.obj + 0002:001a3f80 ?DereferenceForCancellation@ContextBase@details@Concurrency@@QAEXXZ 006e7f80 f libconcrtd:ContextBase.obj + 0002:001a3fa0 ?DetachStealers@ContextBase@details@Concurrency@@QAEXXZ 006e7fa0 f libconcrtd:ContextBase.obj + 0002:001a4270 ?Empty@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QBE_NXZ 006e8270 f i libconcrtd:ContextBase.obj + 0002:001a42b0 ?Empty@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QBE_NXZ 006e82b0 f i libconcrtd:ContextBase.obj + 0002:001a42f0 ?EnterCriticalRegion@ContextBase@details@Concurrency@@QAEHXZ 006e82f0 f libconcrtd:ContextBase.obj + 0002:001a4340 ?EnterCriticalRegionHelper@ContextBase@details@Concurrency@@UAEHXZ 006e8340 f i libconcrtd:ContextBase.obj + 0002:001a43a0 ?EnterHyperCriticalRegion@ContextBase@details@Concurrency@@QAEHXZ 006e83a0 f libconcrtd:ContextBase.obj + 0002:001a43f0 ?EnterHyperCriticalRegionHelper@ContextBase@details@Concurrency@@UAEHXZ 006e83f0 f i libconcrtd:ContextBase.obj + 0002:001a4440 ?ExitCriticalRegion@ContextBase@details@Concurrency@@QAEHXZ 006e8440 f libconcrtd:ContextBase.obj + 0002:001a4490 ?ExitCriticalRegionHelper@ContextBase@details@Concurrency@@UAEHXZ 006e8490 f i libconcrtd:ContextBase.obj + 0002:001a4520 ?ExitHyperCriticalRegion@ContextBase@details@Concurrency@@QAEHXZ 006e8520 f libconcrtd:ContextBase.obj + 0002:001a4570 ?ExitHyperCriticalRegionHelper@ContextBase@details@Concurrency@@UAEHXZ 006e8570 f i libconcrtd:ContextBase.obj + 0002:001a4610 ?Expire@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 006e8610 f i libconcrtd:ContextBase.obj + 0002:001a4650 ?FindAndDelete@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE_NABQAV_TaskCollection@23@PAPAV423@@Z 006e8650 f i libconcrtd:ContextBase.obj + 0002:001a46c0 ?First@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@PAH@Z 006e86c0 f i libconcrtd:ContextBase.obj + 0002:001a4730 ?First@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QBEPAUListEntry@23@XZ 006e8730 f i libconcrtd:ContextBase.obj + 0002:001a4770 ?FlagCancellationBeacons@ContextBase@details@Concurrency@@QAEXH@Z 006e8770 f libconcrtd:ContextBase.obj + 0002:001a4820 ?FlushWriteOwners@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006e8820 f i libconcrtd:ContextBase.obj + 0002:001a4840 ?FreeNode@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@CAXPAUListNode@123@@Z 006e8840 f i libconcrtd:ContextBase.obj + 0002:001a4890 ?GetAffinity@ScheduleGroupSegmentBase@details@Concurrency@@IBEABVlocation@3@XZ 006e8890 f i libconcrtd:ContextBase.obj + 0002:001a48b0 ?GetCriticalRegionType@ContextBase@details@Concurrency@@UBE?AW4CriticalRegionType@3@XZ 006e88b0 f i libconcrtd:ContextBase.obj + 0002:001a48f0 ?GetGroup@ScheduleGroupSegmentBase@details@Concurrency@@QBEPAVScheduleGroupBase@23@XZ 006e88f0 f i libconcrtd:ContextBase.obj + 0002:001a4910 ?GetId@ContextBase@details@Concurrency@@UBEIXZ 006e8910 f libconcrtd:ContextBase.obj + 0002:001a4930 ?GetIndirectAlias@ContextBase@details@Concurrency@@QBEPAV_TaskCollection@23@XZ 006e8930 f libconcrtd:ContextBase.obj + 0002:001a4950 ?GetRootCollection@ContextBase@details@Concurrency@@QAEPAV_TaskCollectionBase@23@XZ 006e8950 f i libconcrtd:ContextBase.obj + 0002:001a4970 ?GetScheduleGroup@ContextBase@details@Concurrency@@QBEPAVScheduleGroupBase@23@XZ 006e8970 f libconcrtd:ContextBase.obj + 0002:001a49b0 ?GetScheduleGroupId@ContextBase@details@Concurrency@@UBEIXZ 006e89b0 f libconcrtd:ContextBase.obj + 0002:001a4a10 ?GetScheduleGroupSegment@ContextBase@details@Concurrency@@QBEPAVScheduleGroupSegmentBase@23@XZ 006e8a10 f libconcrtd:ContextBase.obj + 0002:001a4a30 ?GetScheduler@ContextBase@details@Concurrency@@QBEPAVSchedulerBase@23@XZ 006e8a30 f libconcrtd:ContextBase.obj + 0002:001a4a50 ?GetStructuredWorkQueue@ContextBase@details@Concurrency@@QAEPAVWorkQueue@23@XZ 006e8a50 f i libconcrtd:ContextBase.obj + 0002:001a4a80 ?GetWorkQueue@ContextBase@details@Concurrency@@QAEPAVWorkQueue@23@XZ 006e8a80 f i libconcrtd:ContextBase.obj + 0002:001a4ab0 ?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ 006e8ab0 f i libconcrtd:ContextBase.obj + 0002:001a4cf0 ?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006e8cf0 f i libconcrtd:ContextBase.obj + 0002:001a5000 ?HasAnyCancellation@ContextBase@details@Concurrency@@QBE_NXZ 006e9000 f i libconcrtd:ContextBase.obj + 0002:001a5040 ?HasInlineCancellation@ContextBase@details@Concurrency@@QBE_NXZ 006e9040 f i libconcrtd:ContextBase.obj + 0002:001a5080 ?HasPendingCancellation@ContextBase@details@Concurrency@@QBE_NXZ 006e9080 f i libconcrtd:ContextBase.obj + 0002:001a50c0 ?HasVirtualProcessorAvailableForNewWork@SchedulerBase@details@Concurrency@@QBE_NXZ 006e90c0 f i libconcrtd:ContextBase.obj + 0002:001a5110 ?HashValue@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@CAIABQAV_TaskCollection@23@H@Z 006e9110 f i libconcrtd:ContextBase.obj + 0002:001a51d0 ?IncrementEnqueuedTaskCounter@ExternalContextBase@details@Concurrency@@QAEXXZ 006e91d0 f i libconcrtd:ContextBase.obj + 0002:001a51f0 ?IncrementEnqueuedTaskCounter@ExternalStatistics@details@Concurrency@@QAEXXZ 006e91f0 f i libconcrtd:ContextBase.obj + 0002:001a5210 ?IncrementEnqueuedTaskCounter@InternalContextBase@details@Concurrency@@QAEXXZ 006e9210 f i libconcrtd:ContextBase.obj + 0002:001a5270 ?InternalSignal@CancellationBeacon@ContextBase@details@Concurrency@@QAEXXZ 006e9270 f i libconcrtd:ContextBase.obj + 0002:001a5290 ?IsCanceledAtDepth@ContextBase@details@Concurrency@@AAE_NPAV_TaskCollectionBase@23@H@Z 006e9290 f libconcrtd:ContextBase.obj + 0002:001a54e0 ?IsCanceledAtDepth@ContextBase@details@Concurrency@@QAE_NH@Z 006e94e0 f i libconcrtd:ContextBase.obj + 0002:001a5510 ?IsCanceledAtDepth@ContextBase@details@Concurrency@@QAE_NPAV_TaskCollectionBase@23@@Z 006e9510 f i libconcrtd:ContextBase.obj + 0002:001a5540 ?IsCancellationVisible@ContextBase@details@Concurrency@@QBE_NPAV_TaskCollectionBase@23@_N@Z 006e9540 f libconcrtd:ContextBase.obj + 0002:001a56c0 ?IsEmpty@Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QBE_NXZ 006e96c0 f i libconcrtd:ContextBase.obj + 0002:001a5700 ?IsEntireContextCanceled@ContextBase@details@Concurrency@@QBE_NXZ 006e9700 f i libconcrtd:ContextBase.obj + 0002:001a5740 ?IsInsideCriticalRegion@ContextBase@details@Concurrency@@QBE_NXZ 006e9740 f libconcrtd:ContextBase.obj + 0002:001a57b0 ?IsLockHeld@WorkQueue@details@Concurrency@@QBE_NXZ 006e97b0 f i libconcrtd:ContextBase.obj + 0002:001a57d0 ?IsUMSScheduler@SchedulerBase@details@Concurrency@@QBE_NXZ 006e97d0 f i libconcrtd:ContextBase.obj + 0002:001a57e0 ?IsUnstructuredEmpty@WorkQueue@details@Concurrency@@QBE_NXZ 006e97e0 f i libconcrtd:ContextBase.obj + 0002:001a5800 ?LockedSetOwningContext@WorkQueue@details@Concurrency@@QAEXPAVContextBase@23@@Z 006e9800 f i libconcrtd:ContextBase.obj + 0002:001a5840 ?Next@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@PAHPAU4123@@Z 006e9840 f i libconcrtd:ContextBase.obj + 0002:001a58e0 ?Next@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QBEPAUListEntry@23@PAU423@@Z 006e98e0 f i libconcrtd:ContextBase.obj + 0002:001a5920 ?NextList@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@AAEPAUListNode@123@PAH@Z 006e9920 f i libconcrtd:ContextBase.obj + 0002:001a59f0 ?Pop@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEPAV_UnrealizedChore@23@XZ 006e99f0 f i libconcrtd:ContextBase.obj + 0002:001a5ab0 ?Pop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEPAV_UnrealizedChore@23@XZ 006e9ab0 f i libconcrtd:ContextBase.obj + 0002:001a5b90 ?PopCancellationBeacon@ContextBase@details@Concurrency@@QAEXXZ 006e9b90 f libconcrtd:ContextBase.obj + 0002:001a5bb0 ?PopContextFromTls@ContextBase@details@Concurrency@@AAEPAV123@XZ 006e9bb0 f libconcrtd:ContextBase.obj + 0002:001a5c00 ?PopGoverningTokenState@ContextBase@details@Concurrency@@QAEXPAV_CancellationTokenState@23@@Z 006e9c00 f libconcrtd:ContextBase.obj + 0002:001a5df0 ?PopStructured@ContextBase@details@Concurrency@@QAEPAV_UnrealizedChore@23@XZ 006e9df0 f libconcrtd:ContextBase.obj + 0002:001a5e60 ?PopStructured@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@XZ 006e9e60 f i libconcrtd:ContextBase.obj + 0002:001a5e80 ?PullFromFreePool@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEPAVWorkQueue@23@XZ 006e9e80 f i libconcrtd:ContextBase.obj + 0002:001a5ec0 ?Push@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 006e9ec0 f i libconcrtd:ContextBase.obj + 0002:001a5f40 ?Push@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006e9f40 f i libconcrtd:ContextBase.obj + 0002:001a6000 ?Push@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEHPAV_UnrealizedChore@23@@Z 006ea000 f i libconcrtd:ContextBase.obj + 0002:001a6090 ?Push@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006ea090 f i libconcrtd:ContextBase.obj + 0002:001a6160 ?PushCancellationBeacon@ContextBase@details@Concurrency@@QAEPAU_Beacon_reference@23@XZ 006ea160 f libconcrtd:ContextBase.obj + 0002:001a6200 ?PushContextToTls@ContextBase@details@Concurrency@@AAEXPAV123@@Z 006ea200 f libconcrtd:ContextBase.obj + 0002:001a6290 ?PushGoverningTokenState@ContextBase@details@Concurrency@@QAEXPAV_CancellationTokenState@23@H@Z 006ea290 f libconcrtd:ContextBase.obj + 0002:001a6300 ?PushStructured@ContextBase@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 006ea300 f libconcrtd:ContextBase.obj + 0002:001a63f0 ?PushStructured@ContextBase@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 006ea3f0 f libconcrtd:ContextBase.obj + 0002:001a65d0 ?PushStructured@WorkQueue@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 006ea5d0 f i libconcrtd:ContextBase.obj + 0002:001a6600 ?PushStructured@WorkQueue@details@Concurrency@@QAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006ea600 f i libconcrtd:ContextBase.obj + 0002:001a6640 ?PushUnstructured@ContextBase@details@Concurrency@@QAEHPAV_UnrealizedChore@23@@Z 006ea640 f libconcrtd:ContextBase.obj + 0002:001a6730 ?PushUnstructured@ContextBase@details@Concurrency@@QAEHPAV_UnrealizedChore@23@PAVlocation@3@@Z 006ea730 f libconcrtd:ContextBase.obj + 0002:001a6910 ?PushUnstructured@WorkQueue@details@Concurrency@@QAEHPAV_UnrealizedChore@23@@Z 006ea910 f i libconcrtd:ContextBase.obj + 0002:001a6940 ?PushUnstructured@WorkQueue@details@Concurrency@@QAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006ea940 f i libconcrtd:ContextBase.obj + 0002:001a6980 ?Raise@CancellationBeacon@ContextBase@details@Concurrency@@QAEXXZ 006ea980 f i libconcrtd:ContextBase.obj + 0002:001a69a0 ?RecomputeMaximumCancellationDepth@ContextBase@details@Concurrency@@AAEXXZ 006ea9a0 f libconcrtd:ContextBase.obj + 0002:001a6ad0 ?ReferenceForCancellation@ContextBase@details@Concurrency@@QAEXXZ 006eaad0 f libconcrtd:ContextBase.obj + 0002:001a6af0 ?ReleaseBeacon@CancellationBeaconStack@ContextBase@details@Concurrency@@QAEXXZ 006eaaf0 f i libconcrtd:ContextBase.obj + 0002:001a6b60 ?ReleaseRead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006eab60 f i libconcrtd:ContextBase.obj + 0002:001a6b80 ?ReleaseWorkQueue@ContextBase@details@Concurrency@@IAEXXZ 006eab80 f libconcrtd:ContextBase.obj + 0002:001a6c50 ?ReleaseWrite@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBEXXZ 006eac50 f i libconcrtd:ContextBase.obj + 0002:001a6c70 ?Remove@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@AAEPAUListNode@123@ABQAV_TaskCollection@23@H@Z 006eac70 f i libconcrtd:ContextBase.obj + 0002:001a6d20 ?Remove@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006ead20 f i libconcrtd:ContextBase.obj + 0002:001a6df0 ?Remove@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE_NPAVWorkQueue@23@H_N@Z 006eadf0 f i libconcrtd:ContextBase.obj + 0002:001a70a0 ?Remove@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE_NPAVWorkQueue@23@_N@Z 006eb0a0 f i libconcrtd:ContextBase.obj + 0002:001a70d0 ?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006eb0d0 f i libconcrtd:ContextBase.obj + 0002:001a7160 ?RemoveStealer@ContextBase@details@Concurrency@@QAEXPAV123@@Z 006eb160 f libconcrtd:ContextBase.obj + 0002:001a7190 ?ScheduleGroupRefCount@ContextBase@details@Concurrency@@QBEIXZ 006eb190 f libconcrtd:ContextBase.obj + 0002:001a71d0 ?SetAsCurrentTls@ContextBase@details@Concurrency@@IAEXXZ 006eb1d0 f libconcrtd:ContextBase.obj + 0002:001a7200 ?SetIndirectAlias@ContextBase@details@Concurrency@@QAEXPAV_TaskCollection@23@@Z 006eb200 f libconcrtd:ContextBase.obj + 0002:001a7220 ?SetOwningContext@WorkQueue@details@Concurrency@@QAEXPAVContextBase@23@@Z 006eb220 f i libconcrtd:ContextBase.obj + 0002:001a7240 ?StaticDelete@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@SAXPAU1234@@Z 006eb240 f i libconcrtd:ContextBase.obj + 0002:001a7280 ?StaticEnterCriticalRegion@ContextBase@details@Concurrency@@SAXXZ 006eb280 f libconcrtd:ContextBase.obj + 0002:001a72b0 ?StaticEnterHyperCriticalRegion@ContextBase@details@Concurrency@@SAXXZ 006eb2b0 f libconcrtd:ContextBase.obj + 0002:001a72e0 ?StaticExitCriticalRegion@ContextBase@details@Concurrency@@SAXXZ 006eb2e0 f libconcrtd:ContextBase.obj + 0002:001a7310 ?StaticExitHyperCriticalRegion@ContextBase@details@Concurrency@@SAXXZ 006eb310 f libconcrtd:ContextBase.obj + 0002:001a7340 ?StaticGetCriticalRegionType@ContextBase@details@Concurrency@@SA?AW4CriticalRegionType@3@XZ 006eb340 f libconcrtd:ContextBase.obj + 0002:001a7390 ?SweepAliasTable@ContextBase@details@Concurrency@@QAEXXZ 006eb390 f libconcrtd:ContextBase.obj + 0002:001a7480 ?SweepUnstructured@ContextBase@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 006eb480 f libconcrtd:ContextBase.obj + 0002:001a7500 ?SyncPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEPAV_UnrealizedChore@23@XZ 006eb500 f i libconcrtd:ContextBase.obj + 0002:001a76a0 ?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 006eb6a0 f i libconcrtd:ContextBase.obj + 0002:001a7af0 ?ThrowContextEvent@ContextBase@details@Concurrency@@KAXW4ConcRT_EventType@3@EKK@Z 006ebaf0 f libconcrtd:ContextBase.obj + 0002:001a7bb0 ?TokenHidesCancellation@ContextBase@details@Concurrency@@QBE_NPAV_TaskCollectionBase@23@_N@Z 006ebbb0 f libconcrtd:ContextBase.obj + 0002:001a7cb0 ?TraceContextEvent@ContextBase@details@Concurrency@@IAEXW4ConcRT_EventType@3@EKK@Z 006ebcb0 f i libconcrtd:ContextBase.obj + 0002:001a7d00 ?TryAcquireWrite@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QBE_NXZ 006ebd00 f i libconcrtd:ContextBase.obj + 0002:001a7d20 ?TryPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEPAV_UnrealizedChore@23@H@Z 006ebd20 f i libconcrtd:ContextBase.obj + 0002:001a7df0 ?TryPopUnstructured@ContextBase@details@Concurrency@@QAEPAV_UnrealizedChore@23@H@Z 006ebdf0 f libconcrtd:ContextBase.obj + 0002:001a7e70 ?TryPopUnstructured@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@H@Z 006ebe70 f i libconcrtd:ContextBase.obj + 0002:001a7ea0 ?UnlockedAddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006ebea0 f i libconcrtd:ContextBase.obj + 0002:001a7f10 ?UnlockedRemove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 006ebf10 f i libconcrtd:ContextBase.obj + 0002:001a7f80 ?Wipe@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEXXZ 006ebf80 f i libconcrtd:ContextBase.obj + 0002:001a8030 ?_CancelState@_TaskCollectionBase@details@Concurrency@@IBEIXZ 006ec030 f i libconcrtd:ContextBase.obj + 0002:001a8050 ?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QAE_NXZ 006ec050 f libconcrtd:ContextBase.obj + 0002:001a80a0 ?_GetCurrentInlineDepth@_StackGuard@details@Concurrency@@CAAAIXZ 006ec0a0 f libconcrtd:ContextBase.obj + 0002:001a80b0 ?_InliningDepth@_TaskCollectionBase@details@Concurrency@@QBEHXZ 006ec0b0 f i libconcrtd:ContextBase.obj + 0002:001a80d0 ?_IsCanceled@_CancellationTokenState@details@Concurrency@@QBE_NXZ 006ec0d0 f i libconcrtd:ContextBase.obj + 0002:001a8110 ?_IsCurrentlyInlined@_TaskCollectionBase@details@Concurrency@@QBE_NXZ 006ec110 f i libconcrtd:ContextBase.obj + 0002:001a8150 ?_IsLockHeld@_CriticalNonReentrantLock@details@Concurrency@@QBE_NXZ 006ec150 f i libconcrtd:ContextBase.obj + 0002:001a8170 ?_IsLockHeld@_NonReentrantLock@details@Concurrency@@QBE_NXZ 006ec170 f i libconcrtd:ContextBase.obj + 0002:001a81b0 ?_IsMarkedForCancellation@_TaskCollectionBase@details@Concurrency@@IBE_NXZ 006ec1b0 f i libconcrtd:ContextBase.obj + 0002:001a81f0 ?_Lower@_Cancellation_beacon@details@Concurrency@@QAEXXZ 006ec1f0 f i libconcrtd:ContextBase.obj + 0002:001a8210 ?_None@_CancellationTokenState@details@Concurrency@@SAPAV123@XZ 006ec210 f i libconcrtd:ContextBase.obj + 0002:001a8220 ?_SafeGetParent@_TaskCollectionBase@details@Concurrency@@IAEPAV123@XZ 006ec220 f i libconcrtd:ContextBase.obj + 0002:001a8260 ?load@?$_Atomic_storage@J$03@std@@QBEJXZ 006ec260 f i libconcrtd:ContextBase.obj + 0002:001a8290 _MemoryBarrier 006ec290 f i libconcrtd:ContextBase.obj + 0002:001a82b0 ??0?$LockFreeStack@VSubAllocator@details@Concurrency@@@details@Concurrency@@QAE@XZ 006ec2b0 f i libconcrtd:staticinits.obj + 0002:001a82d0 ??$_Atomic_address_as@JU?$_Atomic_padded@J@std@@@std@@YAPCJAAU?$_Atomic_padded@J@0@@Z 006ec2d0 f i libconcrtd:TaskCollection.obj + 0002:001a82e0 ??$_Atomic_reinterpret_as@JJ@std@@YAJABJ@Z 006ec2e0 f i libconcrtd:TaskCollection.obj + 0002:001a8320 ??$addressof@$$CBJ@std@@YAPBJABJ@Z 006ec320 f i libconcrtd:TaskCollection.obj + 0002:001a8330 ??$addressof@J@std@@YAPAJAAJ@Z 006ec330 f i libconcrtd:TaskCollection.obj + 0002:001a8340 ??$atomic_compare_exchange@J@details@Concurrency@@YAJAAU?$atomic@J@std@@JJ@Z 006ec340 f i libconcrtd:TaskCollection.obj + 0002:001a8370 ??$atomic_exchange@J@details@Concurrency@@YAJAAU?$atomic@J@std@@J@Z 006ec370 f i libconcrtd:TaskCollection.obj + 0002:001a8390 ??$wait@V@?BE@??_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@45@@Z@@condition_variable@std@@QAEXAAV?$unique_lock@Vmutex@std@@@1@V@?BE@??_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@67@@Z@@Z 006ec390 f i libconcrtd:TaskCollection.obj + 0002:001a83d0 ??0@?BE@??_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z@QAE@ABQAV534@@Z 006ec3d0 f i libconcrtd:TaskCollection.obj + 0002:001a83f0 ??0?$_Atomic_integral@J$03@std@@QAE@J@Z 006ec3f0 f i libconcrtd:TaskCollection.obj + 0002:001a8420 ??0?$_Atomic_integral_facade@J@std@@QAE@J@Z 006ec420 f i libconcrtd:TaskCollection.obj + 0002:001a8450 ??0?$_Atomic_storage@J$03@std@@QAE@J@Z 006ec450 f i libconcrtd:TaskCollection.obj + 0002:001a8470 ??0?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@QAE@XZ 006ec470 f i libconcrtd:TaskCollection.obj + 0002:001a84b0 ??0?$atomic@J@std@@QAE@J@Z 006ec4b0 f i libconcrtd:TaskCollection.obj + 0002:001a84e0 ??0?$lock_guard@Vmutex@std@@@std@@QAE@AAVmutex@1@@Z 006ec4e0 f i libconcrtd:TaskCollection.obj + 0002:001a8510 ??0CancellationTokenRegistration_TaskProc@details@Concurrency@@QAE@P6AXPAX@Z0H@Z 006ec510 f i libconcrtd:TaskCollection.obj + 0002:001a8560 ??0ListNode@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@ABQAV_TaskCollection@23@0@Z 006ec560 f i libconcrtd:TaskCollection.obj + 0002:001a85a0 ??0StructuredEvent@details@Concurrency@@QAE@XZ 006ec5a0 f i libconcrtd:TaskCollection.obj + 0002:001a85c0 ??0SweeperContext@details@Concurrency@@QAE@PAV_TaskCollection@12@@Z 006ec5c0 f i libconcrtd:TaskCollection.obj + 0002:001a85f0 ??0TaskStack@details@Concurrency@@QAE@XZ 006ec5f0 f i libconcrtd:TaskCollection.obj + 0002:001a8630 ??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z 006ec630 f libconcrtd:TaskCollection.obj + 0002:001a86f0 ??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 006ec6f0 f i libconcrtd:TaskCollection.obj + 0002:001a87b0 ??0_Interruption_exception@details@Concurrency@@QAE@ABV012@@Z 006ec7b0 f i libconcrtd:TaskCollection.obj + 0002:001a87e0 ??0_Interruption_exception@details@Concurrency@@QAE@XZ 006ec7e0 f i libconcrtd:TaskCollection.obj + 0002:001a8810 ??0_Node@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAE@PAV_CancellationTokenRegistration@34@@Z 006ec810 f i libconcrtd:TaskCollection.obj + 0002:001a8840 ??0_RefCounter@details@Concurrency@@IAE@J@Z 006ec840 f i libconcrtd:TaskCollection.obj + 0002:001a88b0 ??0_RefCounterBase@details@Concurrency@@IAE@J@Z 006ec8b0 f i libconcrtd:TaskCollection.obj + 0002:001a8920 ??0_StructuredTaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 006ec920 f libconcrtd:TaskCollection.obj + 0002:001a8a20 ??0_TaskCollection@details@Concurrency@@AAE@PAV012@_N@Z 006eca20 f libconcrtd:TaskCollection.obj + 0002:001a8c10 ??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 006ecc10 f libconcrtd:TaskCollection.obj + 0002:001a8d80 ??0_TaskCollection@details@Concurrency@@QAE@XZ 006ecd80 f libconcrtd:TaskCollection.obj + 0002:001a8ec0 ??0_TaskCollectionBase@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 006ecec0 f i libconcrtd:TaskCollection.obj + 0002:001a8f20 ??0_TaskCollectionBase@details@Concurrency@@QAE@XZ 006ecf20 f i libconcrtd:TaskCollection.obj + 0002:001a8f80 ??0invalid_multiple_scheduling@Concurrency@@QAE@ABV01@@Z 006ecf80 f i libconcrtd:TaskCollection.obj + 0002:001a8fb0 ??0missing_wait@Concurrency@@QAE@ABV01@@Z 006ecfb0 f i libconcrtd:TaskCollection.obj + 0002:001a8fe0 ??1?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@UAE@XZ 006ecfe0 f i libconcrtd:TaskCollection.obj + 0002:001a9040 ??1?$lock_guard@Vmutex@std@@@std@@QAE@XZ 006ed040 f i libconcrtd:TaskCollection.obj + 0002:001a9090 ??1CancellationTokenRegistration_TaskProc@details@Concurrency@@UAE@XZ 006ed090 f i libconcrtd:TaskCollection.obj + 0002:001a90b0 ??1TaskStack@details@Concurrency@@QAE@XZ 006ed0b0 f libconcrtd:TaskCollection.obj + 0002:001a90f0 ??1_AsyncTaskCollection@details@Concurrency@@UAE@XZ 006ed0f0 f i libconcrtd:TaskCollection.obj + 0002:001a9120 ??1_CancellationTokenRegistration@details@Concurrency@@MAE@XZ 006ed120 f i libconcrtd:TaskCollection.obj + 0002:001a91a0 ??1_Interruption_exception@details@Concurrency@@UAE@XZ 006ed1a0 f i libconcrtd:TaskCollection.obj + 0002:001a91c0 ??1_RefCounter@details@Concurrency@@UAE@XZ 006ed1c0 f i libconcrtd:TaskCollection.obj + 0002:001a9210 ??1_RefCounterBase@details@Concurrency@@UAE@XZ 006ed210 f i libconcrtd:TaskCollection.obj + 0002:001a9270 ??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ 006ed270 f libconcrtd:TaskCollection.obj + 0002:001a9330 ??1_TaskCollection@details@Concurrency@@QAE@XZ 006ed330 f libconcrtd:TaskCollection.obj + 0002:001a94f0 ??1exception_ptr@std@@QAE@XZ 006ed4f0 f i libconcrtd:TaskCollection.obj + 0002:001a9550 ??4?$atomic@J@std@@QAEJJ@Z 006ed550 f i libconcrtd:TaskCollection.obj + 0002:001a9580 ??R@?BE@??_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z@QBE_NXZ 006ed580 f i libconcrtd:TaskCollection.obj + 0002:001a95a0 ??_G?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006ed5a0 f i libconcrtd:TaskCollection.obj + 0002:001a95a0 ??_E?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006ed5a0 f i libconcrtd:TaskCollection.obj + 0002:001a95e0 ??_ECancellationTokenRegistration_TaskProc@details@Concurrency@@UAEPAXI@Z 006ed5e0 f i libconcrtd:TaskCollection.obj + 0002:001a95e0 ??_GCancellationTokenRegistration_TaskProc@details@Concurrency@@UAEPAXI@Z 006ed5e0 f i libconcrtd:TaskCollection.obj + 0002:001a9620 ??_GTaskStack@details@Concurrency@@QAEPAXI@Z 006ed620 f i libconcrtd:TaskCollection.obj + 0002:001a9660 ??_G_AsyncTaskCollection@details@Concurrency@@UAEPAXI@Z 006ed660 f i libconcrtd:TaskCollection.obj + 0002:001a9660 ??_E_AsyncTaskCollection@details@Concurrency@@UAEPAXI@Z 006ed660 f i libconcrtd:TaskCollection.obj + 0002:001a96a0 ??_E_CancellationTokenRegistration@details@Concurrency@@MAEPAXI@Z 006ed6a0 f i libconcrtd:TaskCollection.obj + 0002:001a96a0 ??_G_CancellationTokenRegistration@details@Concurrency@@MAEPAXI@Z 006ed6a0 f i libconcrtd:TaskCollection.obj + 0002:001a96e0 ??_E_Interruption_exception@details@Concurrency@@UAEPAXI@Z 006ed6e0 f i libconcrtd:TaskCollection.obj + 0002:001a96e0 ??_G_Interruption_exception@details@Concurrency@@UAEPAXI@Z 006ed6e0 f i libconcrtd:TaskCollection.obj + 0002:001a9720 ??_E_RefCounter@details@Concurrency@@UAEPAXI@Z 006ed720 f i libconcrtd:TaskCollection.obj + 0002:001a9720 ??_G_RefCounter@details@Concurrency@@UAEPAXI@Z 006ed720 f i libconcrtd:TaskCollection.obj + 0002:001a9760 ??_E_RefCounterBase@details@Concurrency@@UAEPAXI@Z 006ed760 f i libconcrtd:TaskCollection.obj + 0002:001a9760 ??_G_RefCounterBase@details@Concurrency@@UAEPAXI@Z 006ed760 f i libconcrtd:TaskCollection.obj + 0002:001a97a0 ??_Gexception_ptr@std@@QAEPAXI@Z 006ed7a0 f i libconcrtd:TaskCollection.obj + 0002:001a97e0 ?AddArbitraryAlias@ContextBase@details@Concurrency@@QAEXPAV_TaskCollection@23@0@Z 006ed7e0 f i libconcrtd:TaskCollection.obj + 0002:001a9820 ?Clear@TaskStack@details@Concurrency@@QAEXXZ 006ed820 f libconcrtd:TaskCollection.obj + 0002:001a9840 ?Find@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@PAPAV523@@Z 006ed840 f i libconcrtd:TaskCollection.obj + 0002:001a98b0 ?GetArbitraryAlias@ContextBase@details@Concurrency@@QAEPAV_TaskCollection@23@PAV423@@Z 006ed8b0 f i libconcrtd:TaskCollection.obj + 0002:001a9990 ?GetGoverningTokenState@ContextBase@details@Concurrency@@QAEPAV_CancellationTokenState@23@XZ 006ed990 f i libconcrtd:TaskCollection.obj + 0002:001a99b0 ?GetWorkQueueIdentity@ContextBase@details@Concurrency@@QAEIXZ 006ed9b0 f i libconcrtd:TaskCollection.obj + 0002:001a99d0 ?Id@WorkQueue@details@Concurrency@@QBEIXZ 006ed9d0 f i libconcrtd:TaskCollection.obj + 0002:001a99f0 ?IncrementDequeuedTaskCounter@ExternalContextBase@details@Concurrency@@QAEXI@Z 006ed9f0 f i libconcrtd:TaskCollection.obj + 0002:001a9a20 ?IncrementDequeuedTaskCounter@ExternalContextBase@details@Concurrency@@QAEXXZ 006eda20 f i libconcrtd:TaskCollection.obj + 0002:001a9a40 ?IncrementDequeuedTaskCounter@ExternalStatistics@details@Concurrency@@QAEXI@Z 006eda40 f i libconcrtd:TaskCollection.obj + 0002:001a9a70 ?IncrementDequeuedTaskCounter@ExternalStatistics@details@Concurrency@@QAEXXZ 006eda70 f i libconcrtd:TaskCollection.obj + 0002:001a9a90 ?IncrementDequeuedTaskCounter@InternalContextBase@details@Concurrency@@QAEXI@Z 006eda90 f i libconcrtd:TaskCollection.obj + 0002:001a9af0 ?IncrementDequeuedTaskCounter@InternalContextBase@details@Concurrency@@QAEXXZ 006edaf0 f i libconcrtd:TaskCollection.obj + 0002:001a9b50 ?Insert@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@0@Z 006edb50 f i libconcrtd:TaskCollection.obj + 0002:001a9ca0 ?IsEmpty@TaskStack@details@Concurrency@@QBE_NXZ 006edca0 f libconcrtd:TaskCollection.obj + 0002:001a9ce0 ?Lookup@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@AAEPAUListNode@123@ABQAV_TaskCollection@23@H@Z 006edce0 f i libconcrtd:TaskCollection.obj + 0002:001a9d80 ?Overflow@TaskStack@details@Concurrency@@QBE_NXZ 006edd80 f i libconcrtd:TaskCollection.obj + 0002:001a9da0 ?PendingCancel@ContextBase@details@Concurrency@@QAEXXZ 006edda0 f i libconcrtd:TaskCollection.obj + 0002:001a9dc0 ?PendingCancelComplete@ContextBase@details@Concurrency@@QAEXXZ 006eddc0 f i libconcrtd:TaskCollection.obj + 0002:001a9e20 ?Pop@TaskStack@details@Concurrency@@QAEHXZ 006ede20 f libconcrtd:TaskCollection.obj + 0002:001a9eb0 ?Push@TaskStack@details@Concurrency@@QAE_NH@Z 006edeb0 f libconcrtd:TaskCollection.obj + 0002:001aa010 ?ResetOverflow@TaskStack@details@Concurrency@@QAEXXZ 006ee010 f i libconcrtd:TaskCollection.obj + 0002:001aa030 ?SetExecutingCollection@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 006ee030 f i libconcrtd:TaskCollection.obj + 0002:001aa050 ?_Abort@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 006ee050 f libconcrtd:TaskCollection.obj + 0002:001aa230 ?_Abort@_TaskCollection@details@Concurrency@@AAEX_N@Z 006ee230 f libconcrtd:TaskCollection.obj + 0002:001aa500 ?_AbortiveSweep@_TaskCollection@details@Concurrency@@AAEXPAX@Z 006ee500 f libconcrtd:TaskCollection.obj + 0002:001aa5b0 ?_Alias@_TaskCollection@details@Concurrency@@AAEPAV123@XZ 006ee5b0 f libconcrtd:TaskCollection.obj + 0002:001aa820 ?_Cancel@_StructuredTaskCollection@details@Concurrency@@QAEXXZ 006ee820 f libconcrtd:TaskCollection.obj + 0002:001aa8d0 ?_Cancel@_TaskCollection@details@Concurrency@@AAEX_NPAV123@@Z 006ee8d0 f libconcrtd:TaskCollection.obj + 0002:001aaa50 ?_Cancel@_TaskCollection@details@Concurrency@@QAEXXZ 006eea50 f libconcrtd:TaskCollection.obj + 0002:001aaa80 ?_CancelDirectAliases@_TaskCollection@details@Concurrency@@AAEX_NPAV123@@Z 006eea80 f libconcrtd:TaskCollection.obj + 0002:001aab10 ?_CancelFromArbitraryThread@_TaskCollection@details@Concurrency@@AAEX_N@Z 006eeb10 f libconcrtd:TaskCollection.obj + 0002:001aac30 ?_CancelStolenContexts@_StructuredTaskCollection@details@Concurrency@@QAEXXZ 006eec30 f libconcrtd:TaskCollection.obj + 0002:001aac60 ?_CancelStolenContexts@_TaskCollection@details@Concurrency@@AAEX_N0@Z 006eec60 f libconcrtd:TaskCollection.obj + 0002:001aad80 ?_CancelViaToken@_StructuredTaskCollection@details@Concurrency@@CAXPAV123@@Z 006eed80 f libconcrtd:TaskCollection.obj + 0002:001aad90 ?_CancelViaToken@_TaskCollection@details@Concurrency@@CAXPAV123@@Z 006eed90 f libconcrtd:TaskCollection.obj + 0002:001aada0 ?_CleanupToken@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 006eeda0 f libconcrtd:TaskCollection.obj + 0002:001aae60 ?_CollectionMatchPredicate@_TaskCollection@details@Concurrency@@CA_NPAV_UnrealizedChore@23@PAX@Z 006eee60 f libconcrtd:TaskCollection.obj + 0002:001aaea0 ?_CompletionHandler@_AsyncTaskCollection@details@Concurrency@@CAXPAX@Z 006eeea0 f libconcrtd:TaskCollection.obj + 0002:001aaec0 ?_Construct@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 006eeec0 f i libconcrtd:TaskCollection.obj + 0002:001aaf00 ?_CountUp@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 006eef00 f libconcrtd:TaskCollection.obj + 0002:001aaf60 ?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 006eef60 f i libconcrtd:TaskCollection.obj + 0002:001ab1b0 ?_Destroy@_AsyncTaskCollection@details@Concurrency@@EAEXXZ 006ef1b0 f libconcrtd:TaskCollection.obj + 0002:001ab210 ?_Destroy@_RefCounter@details@Concurrency@@MAEXXZ 006ef210 f i libconcrtd:TaskCollection.obj + 0002:001ab270 ?_Destroy@_RefCounterBase@details@Concurrency@@MAEXXZ 006ef270 f i libconcrtd:TaskCollection.obj + 0002:001ab2d0 ?_Exception@_TaskCollectionBase@details@Concurrency@@IBEPAVexception_ptr@std@@XZ 006ef2d0 f i libconcrtd:TaskCollection.obj + 0002:001ab2f0 ?_Exec@CancellationTokenRegistration_TaskProc@details@Concurrency@@MAEXXZ 006ef2f0 f i libconcrtd:TaskCollection.obj + 0002:001ab330 ?_FullAliasWait@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 006ef330 f libconcrtd:TaskCollection.obj + 0002:001ab4f0 ?_GetRuntimeOwnsLifetime@_UnrealizedChore@details@Concurrency@@QBE_NXZ 006ef4f0 f i libconcrtd:TaskCollection.obj + 0002:001ab510 ?_GetStealTrackingList@_TaskCollection@details@Concurrency@@ABEPAXXZ 006ef510 f libconcrtd:TaskCollection.obj + 0002:001ab530 ?_HasDirectAlias@_TaskCollection@details@Concurrency@@ABE_NXZ 006ef530 f libconcrtd:TaskCollection.obj + 0002:001ab570 ?_InitOnRawMalloca@?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@QAEPAPAVevent@3@PAX@Z 006ef570 f i libconcrtd:TaskCollection.obj + 0002:001ab5c0 ?_Initialize@?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@QAEXPAPAVevent@3@@Z 006ef5c0 f i libconcrtd:TaskCollection.obj + 0002:001ab640 ?_Initialize@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 006ef640 f libconcrtd:TaskCollection.obj + 0002:001ab720 ?_Initialize@_TaskCollection@details@Concurrency@@AAEXXZ 006ef720 f libconcrtd:TaskCollection.obj + 0002:001ab780 ?_Invoke@_CancellationTokenRegistration@details@Concurrency@@AAEXXZ 006ef780 f i libconcrtd:TaskCollection.obj + 0002:001ab880 ?_IsAlias@_TaskCollection@details@Concurrency@@QBE_NXZ 006ef880 f libconcrtd:TaskCollection.obj + 0002:001ab8c0 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ 006ef8c0 f libconcrtd:TaskCollection.obj + 0002:001ab9c0 ?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ 006ef9c0 f libconcrtd:TaskCollection.obj + 0002:001abb60 ?_IsDirectAlias@_TaskCollection@details@Concurrency@@ABE_NXZ 006efb60 f libconcrtd:TaskCollection.obj + 0002:001abbb0 ?_IsIndirectAlias@_TaskCollection@details@Concurrency@@ABE_NXZ 006efbb0 f libconcrtd:TaskCollection.obj + 0002:001abc00 ?_IsMarkedForAbnormalExit@_TaskCollection@details@Concurrency@@QBE_NXZ 006efc00 f libconcrtd:TaskCollection.obj + 0002:001abc40 ?_IsStaleAlias@_TaskCollection@details@Concurrency@@ABE_NXZ 006efc40 f libconcrtd:TaskCollection.obj + 0002:001abcd0 ?_IsValid@_CancellationTokenState@details@Concurrency@@SA_NPAV123@@Z 006efcd0 f i libconcrtd:TaskCollection.obj + 0002:001abd10 ?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z 006efd10 f libconcrtd:TaskCollection.obj + 0002:001abdb0 ?_NotificationHandler@_AsyncTaskCollection@details@Concurrency@@AAEXXZ 006efdb0 f libconcrtd:TaskCollection.obj + 0002:001abdd0 ?_NotifyCompletedChoreAndFree@_TaskCollection@details@Concurrency@@AAEXPAV_UnrealizedChore@23@@Z 006efdd0 f libconcrtd:TaskCollection.obj + 0002:001abec0 ?_NotifyNewChore@_TaskCollection@details@Concurrency@@AAEXXZ 006efec0 f libconcrtd:TaskCollection.obj + 0002:001abf60 ?_OriginalCollection@_TaskCollection@details@Concurrency@@QBEPAV123@XZ 006eff60 f libconcrtd:TaskCollection.obj + 0002:001abfd0 ?_PerformedInlineCancel@_TaskCollectionBase@details@Concurrency@@IBE_NXZ 006effd0 f i libconcrtd:TaskCollection.obj + 0002:001ac050 ?_PerformedPendingCancel@_TaskCollectionBase@details@Concurrency@@IBE_NXZ 006f0050 f i libconcrtd:TaskCollection.obj + 0002:001ac0d0 ?_RaisedCancel@_TaskCollection@details@Concurrency@@AAEXXZ 006f00d0 f libconcrtd:TaskCollection.obj + 0002:001ac110 ?_RaisedException@_TaskCollection@details@Concurrency@@AAEXXZ 006f0110 f libconcrtd:TaskCollection.obj + 0002:001ac150 ?_Reference@_RefCounter@details@Concurrency@@QAEJXZ 006f0150 f i libconcrtd:TaskCollection.obj + 0002:001ac1b0 ?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 006f01b0 f i libconcrtd:TaskCollection.obj + 0002:001ac270 ?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 006f0270 f i libconcrtd:TaskCollection.obj + 0002:001ac370 ?_RegisterCompletionHandler@_TaskCollection@details@Concurrency@@QAEXP6AXPAX@Z0@Z 006f0370 f libconcrtd:TaskCollection.obj + 0002:001ac3a0 ?_Release@_RefCounter@details@Concurrency@@QAEJXZ 006f03a0 f i libconcrtd:TaskCollection.obj + 0002:001ac420 ?_Release@_RefCounterBase@details@Concurrency@@QAEJXZ 006f0420 f i libconcrtd:TaskCollection.obj + 0002:001ac4b0 ?_ReleaseAlias@_TaskCollection@details@Concurrency@@AAEXXZ 006f04b0 f libconcrtd:TaskCollection.obj + 0002:001ac580 ?_Reset@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 006f0580 f libconcrtd:TaskCollection.obj + 0002:001ac770 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 006f0770 f libconcrtd:TaskCollection.obj + 0002:001acdc0 ?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 006f0dc0 f libconcrtd:TaskCollection.obj + 0002:001ad650 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 006f1650 f libconcrtd:TaskCollection.obj + 0002:001ad6f0 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 006f16f0 f libconcrtd:TaskCollection.obj + 0002:001ad790 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 006f1790 f libconcrtd:TaskCollection.obj + 0002:001ada90 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 006f1a90 f libconcrtd:TaskCollection.obj + 0002:001adda0 ?_SetCancelState@_TaskCollection@details@Concurrency@@AAE_NJ@Z 006f1da0 f libconcrtd:TaskCollection.obj + 0002:001ade10 ?_SweepAbortedChore@_TaskCollection@details@Concurrency@@CA_NPAV_UnrealizedChore@23@PAX@Z 006f1e10 f libconcrtd:TaskCollection.obj + 0002:001ade60 ?_TaskCleanup@_StructuredTaskCollection@details@Concurrency@@AAE_NXZ 006f1e60 f i libconcrtd:TaskCollection.obj + 0002:001adea0 ?_TaskCleanup@_TaskCollection@details@Concurrency@@AAE_N_N@Z 006f1ea0 f libconcrtd:TaskCollection.obj + 0002:001adfa0 ?_WaitOnStolenChores@_StructuredTaskCollection@details@Concurrency@@AAEXJ@Z 006f1fa0 f libconcrtd:TaskCollection.obj + 0002:001ae000 ?compare_exchange_strong@?$_Atomic_storage@J$03@std@@QAE_NAAJJW4memory_order@2@@Z 006f2000 f i libconcrtd:TaskCollection.obj + 0002:001ae0a0 ?empty@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAE_NXZ 006f20a0 f i libconcrtd:TaskCollection.obj + 0002:001ae0e0 ?exchange@?$_Atomic_storage@J$03@std@@QAEJJW4memory_order@2@@Z 006f20e0 f i libconcrtd:TaskCollection.obj + 0002:001ae130 ?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 006f2130 f i libconcrtd:TaskCollection.obj + 0002:001ae200 ?remove@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 006f2200 f i libconcrtd:TaskCollection.obj + 0002:001ae2b0 ?store@?$_Atomic_storage@J$03@std@@QAEXJ@Z 006f22b0 f i libconcrtd:TaskCollection.obj + 0002:001ae2f0 ??0SchedulerPolicy@Concurrency@@QAA@IZZ 006f22f0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae320 ??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z 006f2320 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae380 ??0SchedulerPolicy@Concurrency@@QAE@XZ 006f2380 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae3a0 ??0invalid_scheduler_policy_key@Concurrency@@QAE@ABV01@@Z 006f23a0 f i libconcrtd:SchedulerPolicyBase.obj + 0002:001ae3d0 ??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@ABV01@@Z 006f23d0 f i libconcrtd:SchedulerPolicyBase.obj + 0002:001ae400 ??0invalid_scheduler_policy_value@Concurrency@@QAE@ABV01@@Z 006f2400 f i libconcrtd:SchedulerPolicyBase.obj + 0002:001ae430 ??1SchedulerPolicy@Concurrency@@QAE@XZ 006f2430 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae460 ??4SchedulerPolicy@Concurrency@@QAEAAV01@ABV01@@Z 006f2460 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae490 ?GetPolicyValue@SchedulerPolicy@Concurrency@@QBEIW4PolicyElementKey@2@@Z 006f2490 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae500 ?SetConcurrencyLimits@SchedulerPolicy@Concurrency@@QAEXII@Z 006f2500 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae640 ?SetPolicyValue@SchedulerPolicy@Concurrency@@QAEIW4PolicyElementKey@2@I@Z 006f2640 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae720 ?_AreConcurrencyLimitsValid@SchedulerPolicy@Concurrency@@ABE_NXZ 006f2720 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae770 ?_AreConcurrencyLimitsValid@SchedulerPolicy@Concurrency@@CA_NII@Z 006f2770 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae7a0 ?_ArePolicyCombinationsValid@SchedulerPolicy@Concurrency@@ABE_NXZ 006f27a0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae7b0 ?_Assign@SchedulerPolicy@Concurrency@@AAEXABV12@@Z 006f27b0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001ae7f0 ?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z 006f27f0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aea70 ?_ResolvePolicyValues@SchedulerPolicy@Concurrency@@AAEXXZ 006f2a70 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aec80 ?_StringFromPolicyKey@SchedulerPolicy@Concurrency@@CAPADI@Z 006f2c80 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aecb0 ?_ValidPolicyKey@SchedulerPolicy@Concurrency@@CA_NW4PolicyElementKey@2@@Z 006f2cb0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aece0 ?_ValidPolicyValue@SchedulerPolicy@Concurrency@@CA_NW4PolicyElementKey@2@I@Z 006f2ce0 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aee50 ?_ValidateConcRTPolicy@SchedulerPolicy@Concurrency@@QBEXXZ 006f2e50 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aeef0 ??0ExecutionResource@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 006f2ef0 f libconcrtd:ExecutionResource.obj + 0002:001aefc0 ??0ExecutionResource@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAV012@@Z 006f2fc0 f libconcrtd:ExecutionResource.obj + 0002:001af080 ??0IExecutionResource@Concurrency@@QAE@XZ 006f3080 f i libconcrtd:ExecutionResource.obj + 0002:001af0a0 ?CurrentSubscriptionLevel@ExecutionResource@details@Concurrency@@UBEIXZ 006f30a0 f libconcrtd:ExecutionResource.obj + 0002:001af0f0 ?DecrementUseCounts@ExecutionResource@details@Concurrency@@QAEXXZ 006f30f0 f libconcrtd:ExecutionResource.obj + 0002:001af2c0 ?GetCoreIndex@ExecutionResource@details@Concurrency@@QAEIXZ 006f32c0 f i libconcrtd:ExecutionResource.obj + 0002:001af2e0 ?GetExecutionResourceId@ExecutionResource@details@Concurrency@@UBEIXZ 006f32e0 f i libconcrtd:ExecutionResource.obj + 0002:001af300 ?GetExecutionResourceTls@ResourceManager@details@Concurrency@@QBEKXZ 006f3300 f i libconcrtd:ExecutionResource.obj + 0002:001af320 ?GetExecutionResourceTls@ThreadProxyFactoryManager@details@Concurrency@@QBEKXZ 006f3320 f i libconcrtd:ExecutionResource.obj + 0002:001af340 ?GetNodeAffinity@SchedulerProxy@details@Concurrency@@QAE?AUHardwareAffinity@23@I@Z 006f3340 f i libconcrtd:ExecutionResource.obj + 0002:001af420 ?GetNodeId@ExecutionResource@details@Concurrency@@UBEIXZ 006f3420 f i libconcrtd:ExecutionResource.obj + 0002:001af440 ?GetResourceManager@SchedulerProxy@details@Concurrency@@QBEPAVResourceManager@23@XZ 006f3440 f i libconcrtd:ExecutionResource.obj + 0002:001af460 ?IncrementUseCounts@ExecutionResource@details@Concurrency@@QAEXXZ 006f3460 f libconcrtd:ExecutionResource.obj + 0002:001af640 ?Remove@ExecutionResource@details@Concurrency@@UAEXPAUIScheduler@3@@Z 006f3640 f libconcrtd:ExecutionResource.obj + 0002:001af710 ?ResetCurrent@ExecutionResource@details@Concurrency@@QAEXXZ 006f3710 f libconcrtd:ExecutionResource.obj + 0002:001af760 ?SetAsCurrent@ExecutionResource@details@Concurrency@@QAEXXZ 006f3760 f libconcrtd:ExecutionResource.obj + 0002:001af800 ??$sign@I@details@Concurrency@@YAII@Z 006f3800 f i libconcrtd:HillClimbing.obj + 0002:001af840 ??$sign@N@details@Concurrency@@YANN@Z 006f3840 f i libconcrtd:HillClimbing.obj + 0002:001af8a0 ??0HillClimbing@details@Concurrency@@QAE@IIPAVSchedulerProxy@12@@Z 006f38a0 f libconcrtd:HillClimbing.obj + 0002:001af9b0 ??0MeasuredHistory@HillClimbing@details@Concurrency@@QAE@XZ 006f39b0 f libconcrtd:HillClimbing.obj + 0002:001af9d0 ?Add@MeasuredHistory@HillClimbing@details@Concurrency@@QAEXNI@Z 006f39d0 f libconcrtd:HillClimbing.obj + 0002:001afa30 ?CalculateThroughput@HillClimbing@details@Concurrency@@AAENIIII@Z 006f3a30 f libconcrtd:HillClimbing.obj + 0002:001afa90 ?CalculateThroughputSlope@HillClimbing@details@Concurrency@@AAENHH@Z 006f3a90 f libconcrtd:HillClimbing.obj + 0002:001afc10 ?Clear@MeasuredHistory@HillClimbing@details@Concurrency@@QAEXI@Z 006f3c10 f libconcrtd:HillClimbing.obj + 0002:001afc60 ?ClearHistories@HillClimbing@details@Concurrency@@AAEXXZ 006f3c60 f libconcrtd:HillClimbing.obj + 0002:001afcb0 ?CoefficientOfVariation@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f3cb0 f libconcrtd:HillClimbing.obj + 0002:001afd00 ?CoefficientOfVariationMean@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f3d00 f libconcrtd:HillClimbing.obj + 0002:001afd60 ?ControlSetting@MeasuredHistory@HillClimbing@details@Concurrency@@QAEHXZ 006f3d60 f libconcrtd:HillClimbing.obj + 0002:001afd80 ?Count@MeasuredHistory@HillClimbing@details@Concurrency@@QAEHXZ 006f3d80 f libconcrtd:HillClimbing.obj + 0002:001afda0 ?EstablishControlSetting@HillClimbing@details@Concurrency@@AAEXI@Z 006f3da0 f libconcrtd:HillClimbing.obj + 0002:001afe20 ?FlushHistories@HillClimbing@details@Concurrency@@AAEXXZ 006f3e20 f libconcrtd:HillClimbing.obj + 0002:001afed0 ?GetHistory@HillClimbing@details@Concurrency@@AAEPAVMeasuredHistory@123@I@Z 006f3ed0 f libconcrtd:HillClimbing.obj + 0002:001aff40 ?GetRandomMove@HillClimbing@details@Concurrency@@AAEHXZ 006f3f40 f libconcrtd:HillClimbing.obj + 0002:001affc0 ?IsStableHistory@HillClimbing@details@Concurrency@@AAE_NPAVMeasuredHistory@123@@Z 006f3fc0 f libconcrtd:HillClimbing.obj + 0002:001b0040 ?LastDataPointCount@MeasuredHistory@HillClimbing@details@Concurrency@@QAEIXZ 006f4040 f libconcrtd:HillClimbing.obj + 0002:001b0060 ?Mean@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f4060 f libconcrtd:HillClimbing.obj + 0002:001b00b0 ?RecommendControlSetting@HillClimbing@details@Concurrency@@AAEII@Z 006f40b0 f libconcrtd:HillClimbing.obj + 0002:001b0310 ?SignificanceTest@MeasuredHistory@HillClimbing@details@Concurrency@@QAEHNHI@Z 006f4310 f libconcrtd:HillClimbing.obj + 0002:001b0360 ?SignificanceTest@MeasuredHistory@HillClimbing@details@Concurrency@@QAEHPAV1234@H@Z 006f4360 f libconcrtd:HillClimbing.obj + 0002:001b05d0 ?StandardDeviation@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f45d0 f libconcrtd:HillClimbing.obj + 0002:001b0600 ?StandardDeviationMean@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f4600 f libconcrtd:HillClimbing.obj + 0002:001b0670 ?Update@HillClimbing@details@Concurrency@@QAEIIIII@Z 006f4670 f libconcrtd:HillClimbing.obj + 0002:001b0c10 ?Variance@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f4c10 f libconcrtd:HillClimbing.obj + 0002:001b0cc0 ?VarianceMean@MeasuredHistory@HillClimbing@details@Concurrency@@QAENXZ 006f4cc0 f libconcrtd:HillClimbing.obj + 0002:001b0d00 ?abs@@YANN@Z 006f4d00 f i libconcrtd:HillClimbing.obj + 0002:001b0d20 ??0ISchedulerProxy@Concurrency@@QAE@XZ 006f4d20 f i libconcrtd:SchedulerProxy.obj + 0002:001b0d40 ??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 006f4d40 f libconcrtd:SchedulerProxy.obj + 0002:001b1770 ??0_Scoped_lock@_ReentrantBlockingLock@details@Concurrency@@QAE@AAV123@@Z 006f5770 f i libconcrtd:SchedulerProxy.obj + 0002:001b17a0 ??1ExecutionResource@details@Concurrency@@QAE@XZ 006f57a0 f i libconcrtd:SchedulerProxy.obj + 0002:001b1800 ??1SchedulerProxy@details@Concurrency@@IAE@XZ 006f5800 f libconcrtd:SchedulerProxy.obj + 0002:001b18b0 ??1_Scoped_lock@_ReentrantBlockingLock@details@Concurrency@@QAE@XZ 006f58b0 f i libconcrtd:SchedulerProxy.obj + 0002:001b1900 ??_GExecutionResource@details@Concurrency@@QAEPAXI@Z 006f5900 f i libconcrtd:SchedulerProxy.obj + 0002:001b1940 ??_GSchedulerProxy@details@Concurrency@@IAEPAXI@Z 006f5940 f i libconcrtd:SchedulerProxy.obj + 0002:001b1980 ?AddCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I_N@Z 006f5980 f libconcrtd:SchedulerProxy.obj + 0002:001b1d80 ?AddExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f5d80 f libconcrtd:SchedulerProxy.obj + 0002:001b1e40 ?AddTail@?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f5e40 f i libconcrtd:SchedulerProxy.obj + 0002:001b1f10 ?AddThreadSubscription@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f5f10 f libconcrtd:SchedulerProxy.obj + 0002:001b1f40 ?AddVirtualProcessorRoots@SchedulerProxy@details@Concurrency@@QAEXPAPAUIVirtualProcessorRoot@3@I@Z 006f5f40 f libconcrtd:SchedulerProxy.obj + 0002:001b20b0 ?AdjustAllocationIncrease@SchedulerProxy@details@Concurrency@@QBEII@Z 006f60b0 f libconcrtd:SchedulerProxy.obj + 0002:001b22b0 ?BindContext@SchedulerProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 006f62b0 f libconcrtd:SchedulerProxy.obj + 0002:001b2340 ?Cleanup@SchedulerProxy@details@Concurrency@@IAEXXZ 006f6340 f libconcrtd:SchedulerProxy.obj + 0002:001b24c0 ?ContextPriority@SchedulerProxy@details@Concurrency@@QBEHXZ 006f64c0 f i libconcrtd:SchedulerProxy.obj + 0002:001b24e0 ?ContextStackSize@SchedulerProxy@details@Concurrency@@QBEHXZ 006f64e0 f i libconcrtd:SchedulerProxy.obj + 0002:001b2500 ?CreateExternalThreadResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAUSchedulerNode@23@I@Z 006f6500 f libconcrtd:SchedulerProxy.obj + 0002:001b25e0 ?CreateOversubscriber@SchedulerProxy@details@Concurrency@@UAEPAUIVirtualProcessorRoot@3@PAUIExecutionResource@3@@Z 006f65e0 f libconcrtd:SchedulerProxy.obj + 0002:001b2790 ?CreateVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 006f6790 f libconcrtd:SchedulerProxy.obj + 0002:001b2850 ?DecrementCoreSubscription@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f6850 f libconcrtd:SchedulerProxy.obj + 0002:001b28f0 ?DecrementCoreUseCount@ResourceManager@details@Concurrency@@QAEXII@Z 006f68f0 f i libconcrtd:SchedulerProxy.obj + 0002:001b2930 ?DecrementFixedCoreCount@SchedulerProxy@details@Concurrency@@QAEXII_N@Z 006f6930 f libconcrtd:SchedulerProxy.obj + 0002:001b2b80 ?DeleteThis@SchedulerProxy@details@Concurrency@@MAEXXZ 006f6b80 f i libconcrtd:SchedulerProxy.obj + 0002:001b2bc0 ?DestroyExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f6bc0 f libconcrtd:SchedulerProxy.obj + 0002:001b2ef0 ?DestroyVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 006f6ef0 f libconcrtd:SchedulerProxy.obj + 0002:001b30f0 ?FinalShutdown@SchedulerProxy@details@Concurrency@@UAEXXZ 006f70f0 f libconcrtd:SchedulerProxy.obj + 0002:001b3130 ?First@?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBEPAVExecutionResource@23@XZ 006f7130 f i libconcrtd:SchedulerProxy.obj + 0002:001b3170 ?GetCoreIndex@VirtualProcessorRoot@details@Concurrency@@QAEHXZ 006f7170 f i libconcrtd:SchedulerProxy.obj + 0002:001b3190 ?GetCurrentThreadExecutionResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@XZ 006f7190 f libconcrtd:SchedulerProxy.obj + 0002:001b3200 ?GetExecutionResource@VirtualProcessorRoot@details@Concurrency@@QAEPAVExecutionResource@23@XZ 006f7200 f i libconcrtd:SchedulerProxy.obj + 0002:001b3220 ?GetNewThreadProxy@SchedulerProxy@details@Concurrency@@UAEPAUIThreadProxy@3@PAUIExecutionContext@3@@Z 006f7220 f libconcrtd:SchedulerProxy.obj + 0002:001b32e0 ?GetNumSchedulersForNotifications@ResourceManager@details@Concurrency@@QAEIXZ 006f72e0 f i libconcrtd:SchedulerProxy.obj + 0002:001b3300 ?GetResourceForNewSubscription@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAV423@@Z 006f7300 f libconcrtd:SchedulerProxy.obj + 0002:001b33f0 ?GetThreadProxyFactoryManager@ResourceManager@details@Concurrency@@QAEPAVThreadProxyFactoryManager@23@XZ 006f73f0 f i libconcrtd:SchedulerProxy.obj + 0002:001b3410 ?GetVirtualProcessorRoot@ExecutionResource@details@Concurrency@@QAEPAVVirtualProcessorRoot@23@XZ 006f7410 f i libconcrtd:SchedulerProxy.obj + 0002:001b3430 ?GetVirtualProcessorRoot@ThreadProxy@details@Concurrency@@QAEPAVVirtualProcessorRoot@23@XZ 006f7430 f i libconcrtd:SchedulerProxy.obj + 0002:001b3450 ?GetVirtualProcessorRoot@UMSThreadProxy@details@Concurrency@@QAEPAVUMSFreeVirtualProcessorRoot@23@XZ 006f7450 f i libconcrtd:SchedulerProxy.obj + 0002:001b3470 ?GrantAllocation@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@I_N0@Z 006f7470 f libconcrtd:SchedulerProxy.obj + 0002:001b41a0 ?IncrementCoreSubscription@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f81a0 f libconcrtd:SchedulerProxy.obj + 0002:001b4250 ?IncrementFixedCoreCount@SchedulerProxy@details@Concurrency@@QAEXII_N@Z 006f8250 f libconcrtd:SchedulerProxy.obj + 0002:001b4390 ?IsOversubscribed@VirtualProcessorRoot@details@Concurrency@@QAE_NXZ 006f8390 f i libconcrtd:SchedulerProxy.obj + 0002:001b43b0 ?IsRootRemoved@VirtualProcessorRoot@details@Concurrency@@QAE_NXZ 006f83b0 f i libconcrtd:SchedulerProxy.obj + 0002:001b43d0 ?MarkAsOversubscribed@VirtualProcessorRoot@details@Concurrency@@QAEXXZ 006f83d0 f i libconcrtd:SchedulerProxy.obj + 0002:001b43f0 ?MarkRootRemoved@VirtualProcessorRoot@details@Concurrency@@QAEXXZ 006f83f0 f i libconcrtd:SchedulerProxy.obj + 0002:001b4410 ?Next@?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QBEPAVExecutionResource@23@PAV423@@Z 006f8410 f i libconcrtd:SchedulerProxy.obj + 0002:001b4450 ?ReferenceCurrentThreadExecutionResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@XZ 006f8450 f libconcrtd:SchedulerProxy.obj + 0002:001b46c0 ?Remove@?$List@VExecutionResource@details@Concurrency@@VCount@CollectionTypes@23@@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f86c0 f i libconcrtd:SchedulerProxy.obj + 0002:001b47a0 ?RemoveCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z 006f87a0 f libconcrtd:SchedulerProxy.obj + 0002:001b4bd0 ?RemoveThreadSubscription@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 006f8bd0 f libconcrtd:SchedulerProxy.obj + 0002:001b4c30 ?RequestInitialVirtualProcessors@SchedulerProxy@details@Concurrency@@UAEPAUIExecutionResource@3@_N@Z 006f8c30 f libconcrtd:SchedulerProxy.obj + 0002:001b4c70 ?SendCoreNotification@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerCore@23@_N@Z 006f8c70 f libconcrtd:SchedulerProxy.obj + 0002:001b4f00 ?Shutdown@SchedulerProxy@details@Concurrency@@UAEXXZ 006f8f00 f libconcrtd:SchedulerProxy.obj + 0002:001b4f30 ?SubscribeCurrentThread@SchedulerProxy@details@Concurrency@@UAEPAUIExecutionResource@3@XZ 006f8f30 f libconcrtd:SchedulerProxy.obj + 0002:001b4f60 ?ToggleBorrowedState@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z 006f8f60 f libconcrtd:SchedulerProxy.obj + 0002:001b5000 ?UnbindContext@SchedulerProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 006f9000 f libconcrtd:SchedulerProxy.obj + 0002:001b50b0 ?Initialize@WinRT@details@Concurrency@@SAXXZ 006f90b0 f libconcrtd:WinRTWrapper.obj + 0002:001b5240 ?Initialized@WinRT@details@Concurrency@@SA_NXZ 006f9240 f libconcrtd:WinRTWrapper.obj + 0002:001b5270 ?RoInitialize@WinRT@details@Concurrency@@SAJW4RO_INIT_TYPE@@@Z 006f9270 f libconcrtd:WinRTWrapper.obj + 0002:001b5300 ?RoUninitialize@WinRT@details@Concurrency@@SAXXZ 006f9300 f libconcrtd:WinRTWrapper.obj + 0002:001b5380 ??0?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAE@XZ 006f9380 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b53a0 ??0?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAE@XZ 006f93a0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b53c0 ??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 006f93c0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5460 ??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 006f9460 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5500 ??0FreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 006f9500 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5590 ??0FreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 006f9590 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b55e0 ??0IThreadProxyFactory@details@Concurrency@@QAE@XZ 006f95e0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5600 ??0ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 006f9600 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5690 ??0UMSFreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 006f9690 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5740 ??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 006f9740 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b58f0 ??1?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAE@XZ 006f98f0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5920 ??1?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAE@XZ 006f9920 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5950 ??1FreeThreadProxy@details@Concurrency@@UAE@XZ 006f9950 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5980 ??1FreeThreadProxyFactory@details@Concurrency@@UAE@XZ 006f9980 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b59b0 ??1IThreadProxyFactory@details@Concurrency@@UAE@XZ 006f99b0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b59d0 ??1ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 006f99d0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5aa0 ??1UMSFreeThreadProxy@details@Concurrency@@UAE@XZ 006f9aa0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5ae0 ??1UMSFreeThreadProxyFactory@details@Concurrency@@UAE@XZ 006f9ae0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b10 ??_E?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006f9b10 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b10 ??_G?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006f9b10 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b50 ??_E?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006f9b50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b50 ??_G?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAXI@Z 006f9b50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b90 ??_EFreeThreadProxy@details@Concurrency@@UAEPAXI@Z 006f9b90 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5b90 ??_GFreeThreadProxy@details@Concurrency@@UAEPAXI@Z 006f9b90 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5bd0 ??_GFreeThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9bd0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5bd0 ??_EFreeThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9bd0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c10 ??_EIThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9c10 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c10 ??_GIThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9c10 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c50 ??_EUMSFreeThreadProxy@details@Concurrency@@UAEPAXI@Z 006f9c50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c50 ??_GUMSFreeThreadProxy@details@Concurrency@@UAEPAXI@Z 006f9c50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c90 ??_EUMSFreeThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9c90 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5c90 ??_GUMSFreeThreadProxyFactory@details@Concurrency@@UAEPAXI@Z 006f9c90 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5cd0 ?ClearCriticalRegion@UMSThreadProxy@details@Concurrency@@QAEXXZ 006f9cd0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5d00 ?Count@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QBEHXZ 006f9d00 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5d20 ?Count@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QBEHXZ 006f9d20 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5d40 ?Create@FreeThreadProxyFactory@details@Concurrency@@EAEPAVFreeThreadProxy@23@I@Z 006f9d40 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b5e00 ?Create@UMSFreeThreadProxyFactory@details@Concurrency@@EAEPAVUMSFreeThreadProxy@23@I@Z 006f9e00 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6010 ?CreateFactory@FreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 006fa010 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b60d0 ?CreateFactory@UMSFreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 006fa0d0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6190 ?Delta@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@CAPAVFreeThreadProxy@23@PAX@Z 006fa190 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b61c0 ?Delta@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@CAPAVUMSFreeThreadProxy@23@PAX@Z 006fa1c0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b61f0 ?Flush@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEPAVFreeThreadProxy@23@XZ 006fa1f0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6220 ?Flush@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEPAVUMSFreeThreadProxy@23@XZ 006fa220 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6250 ?FromUMSContext@UMSFreeThreadProxy@details@Concurrency@@SAPAV123@PAX@Z 006fa250 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6270 ?GetContext@UMSFreeThreadProxy@details@Concurrency@@UAEPAUIExecutionContext@3@XZ 006fa270 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6290 ?GetExecutionResourceTls@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEKXZ 006fa290 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b62b0 ?GetExecutionResourceTls@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEKXZ 006fa2b0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b62d0 ?GetFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVFreeThreadProxyFactory@23@XZ 006fa2d0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6380 ?GetPriority@ThreadProxy@details@Concurrency@@QAEHXZ 006fa380 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b63a0 ?GetPriority@UMSThreadProxy@details@Concurrency@@QAEHXZ 006fa3a0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b63c0 ?GetStackSize@ThreadProxy@details@Concurrency@@QAEIXZ 006fa3c0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b63e0 ?GetStackSize@UMSThreadProxy@details@Concurrency@@QAEIXZ 006fa3e0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6400 ?GetUMSFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVUMSFreeThreadProxyFactory@23@XZ 006fa400 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b64b0 ?Next@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@SAPAVFreeThreadProxy@23@PAV423@@Z 006fa4b0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b64d0 ?Next@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@SAPAVUMSFreeThreadProxy@23@PAV423@@Z 006fa4d0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b64f0 ?Pop@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEPAVFreeThreadProxy@23@XZ 006fa4f0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6520 ?Pop@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEPAVUMSFreeThreadProxy@23@XZ 006fa520 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6550 ?Prepare@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@MAEXPAVFreeThreadProxy@23@H@Z 006fa550 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6580 ?Prepare@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@MAEXPAVUMSFreeThreadProxy@23@H@Z 006fa580 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b65b0 ?Prepare@UMSFreeThreadProxyFactory@details@Concurrency@@EAEXPAVUMSFreeThreadProxy@23@H@Z 006fa5b0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b65e0 ?Push@?$LockFreeStack@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEXPAVFreeThreadProxy@23@@Z 006fa5e0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6610 ?Push@?$LockFreeStack@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEXPAVUMSFreeThreadProxy@23@@Z 006fa610 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6640 ?ReclaimProxy@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEXPAUIThreadProxy@3@@Z 006fa640 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6710 ?ReclaimProxy@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEXPAUIThreadProxy@3@@Z 006fa710 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6800 ?ReclaimProxy@FreeThreadProxyFactory@details@Concurrency@@UAEXPAUIThreadProxy@3@@Z 006fa800 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6970 ?Reference@FreeThreadProxyFactory@details@Concurrency@@UAEJXZ 006fa970 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b69a0 ?Reference@UMSFreeThreadProxyFactory@details@Concurrency@@UAEJXZ 006fa9a0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b69b0 ?Release@FreeThreadProxyFactory@details@Concurrency@@UAEJXZ 006fa9b0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6a30 ?Release@UMSFreeThreadProxyFactory@details@Concurrency@@UAEJXZ 006faa30 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6a40 ?RequestProxy@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAUIThreadProxy@3@IH@Z 006faa40 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6b30 ?RequestProxy@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@UAEPAUIThreadProxy@3@IH@Z 006fab30 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6c40 ?Retire@FreeThreadProxyFactory@details@Concurrency@@EAEXPAVFreeThreadProxy@23@@Z 006fac40 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6c60 ?Retire@UMSFreeThreadProxyFactory@details@Concurrency@@EAEXPAVUMSFreeThreadProxy@23@@Z 006fac60 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6ca0 ?RetireThreadProxies@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEXXZ 006faca0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6d40 ?RetireThreadProxies@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@QAEXXZ 006fad40 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6de0 ?Shutdown@TransmogrifiedPrimary@details@Concurrency@@QAEXXZ 006fade0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6e00 ?ShutdownFactory@FreeThreadProxyFactory@details@Concurrency@@UAEXXZ 006fae00 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6e50 ?ShutdownFactory@UMSFreeThreadProxyFactory@details@Concurrency@@UAEXXZ 006fae50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6ee0 ?StaticInitialize@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@KAXXZ 006faee0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6f50 ?StaticInitialize@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@KAXXZ 006faf50 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6fc0 ?YieldToSystem@FreeThreadProxy@details@Concurrency@@UAEXXZ 006fafc0 f i libconcrtd:ThreadProxyFactoryManager.obj + 0002:001b6fe0 ??0Etw@details@Concurrency@@AAE@XZ 006fafe0 f libconcrtd:Trace.obj + 0002:001b7160 ?ControlCallback@details@Concurrency@@YGKW4WMIDPREQUESTCODE@@PAXPAK1@Z 006fb160 f libconcrtd:Trace.obj + 0002:001b72c0 ?DisableTracing@Concurrency@@YAJXZ 006fb2c0 f libconcrtd:Trace.obj + 0002:001b72d0 ?EnableTracing@Concurrency@@YAJXZ 006fb2d0 f libconcrtd:Trace.obj + 0002:001b72e0 ?GetEnableFlags@Etw@details@Concurrency@@QAEK_K@Z 006fb2e0 f libconcrtd:Trace.obj + 0002:001b7360 ?GetEnableLevel@Etw@details@Concurrency@@QAEE_K@Z 006fb360 f libconcrtd:Trace.obj + 0002:001b73e0 ?GetLoggerHandle@Etw@details@Concurrency@@QAE_KPAX@Z 006fb3e0 f libconcrtd:Trace.obj + 0002:001b7460 ?PPL_Trace_Event@details@Concurrency@@YAXABU_GUID@@W4ConcRT_EventType@2@E@Z 006fb460 f libconcrtd:Trace.obj + 0002:001b7500 ?RegisterGuids@Etw@details@Concurrency@@QAEKP6GKW4WMIDPREQUESTCODE@@PAXPAK1@ZPBU_GUID@@KPAU_TRACE_GUID_REGISTRATION@@PA_K@Z 006fb500 f libconcrtd:Trace.obj + 0002:001b7590 ?Trace@Etw@details@Concurrency@@QAEK_KPAU_EVENT_TRACE_HEADER@@@Z 006fb590 f libconcrtd:Trace.obj + 0002:001b7610 ?UnregisterGuids@Etw@details@Concurrency@@QAEK_K@Z 006fb610 f libconcrtd:Trace.obj + 0002:001b7680 ?_DisableTrace@_CONCRT_TRACE_INFO@details@Concurrency@@QAEXXZ 006fb680 f i libconcrtd:Trace.obj + 0002:001b76b0 ?_EnableTrace@_CONCRT_TRACE_INFO@details@Concurrency@@QAEXEK@Z 006fb6b0 f i libconcrtd:Trace.obj + 0002:001b76e0 ?_GetConcRTTraceInfo@Concurrency@@YAPBU_CONCRT_TRACE_INFO@details@1@XZ 006fb6e0 f libconcrtd:Trace.obj + 0002:001b7700 ?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ 006fb700 f libconcrtd:Trace.obj + 0002:001b7800 ?_Trace_agents@Concurrency@@YAXW4Agents_EventType@1@_JZZ 006fb800 f libconcrtd:Trace.obj + 0002:001b7a20 ?_Trace_ppl_function@Concurrency@@YAXABU_GUID@@EW4ConcRT_EventType@1@@Z 006fba20 f libconcrtd:Trace.obj + 0002:001b7a70 ?_UnregisterConcRTEventTracing@details@Concurrency@@YAXXZ 006fba70 f libconcrtd:Trace.obj + 0002:001b7ae0 ??0InternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@@Z 006fbae0 f libconcrtd:InternalContextBase.obj + 0002:001b7cc0 ??0ScopedCriticalRegion@ContextBase@details@Concurrency@@QAE@PAV123@@Z 006fbcc0 f i libconcrtd:InternalContextBase.obj + 0002:001b7cf0 ??0Slot@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 006fbcf0 f i libconcrtd:InternalContextBase.obj + 0002:001b7d20 ??0context_self_unblock@Concurrency@@QAE@ABV01@@Z 006fbd20 f i libconcrtd:InternalContextBase.obj + 0002:001b7d50 ??0context_unblock_unbalanced@Concurrency@@QAE@ABV01@@Z 006fbd50 f i libconcrtd:InternalContextBase.obj + 0002:001b7d80 ??0invalid_oversubscribe_operation@Concurrency@@QAE@ABV01@@Z 006fbd80 f i libconcrtd:InternalContextBase.obj + 0002:001b7db0 ??0nested_scheduler_missing_detach@Concurrency@@QAE@ABV01@@Z 006fbdb0 f i libconcrtd:InternalContextBase.obj + 0002:001b7de0 ??1InternalContextBase@details@Concurrency@@UAE@XZ 006fbde0 f libconcrtd:InternalContextBase.obj + 0002:001b7e60 ??1ScopedCriticalRegion@ContextBase@details@Concurrency@@QAE@XZ 006fbe60 f i libconcrtd:InternalContextBase.obj + 0002:001b7eb0 ??4Slot@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEAAV0123@ABV0123@@Z 006fbeb0 f i libconcrtd:InternalContextBase.obj + 0002:001b7edf ??_EInternalContextBase@details@Concurrency@@W3AEPAXI@Z 006fbedf f i libconcrtd:InternalContextBase.obj + 0002:001b7ef0 ??_GInternalContextBase@details@Concurrency@@UAEPAXI@Z 006fbef0 f i libconcrtd:InternalContextBase.obj + 0002:001b7ef0 ??_EInternalContextBase@details@Concurrency@@UAEPAXI@Z 006fbef0 f i libconcrtd:InternalContextBase.obj + 0002:001b7f30 ?AddToRunnables@InternalContextBase@details@Concurrency@@MAEXVlocation@3@@Z 006fbf30 f libconcrtd:InternalContextBase.obj + 0002:001b8340 ?Alloc@InternalContextBase@details@Concurrency@@UAEPAXI@Z 006fc340 f libconcrtd:InternalContextBase.obj + 0002:001b84b0 ?Block@InternalContextBase@details@Concurrency@@UAEXXZ 006fc4b0 f libconcrtd:InternalContextBase.obj + 0002:001b88c0 ?Cancel@InternalContextBase@details@Concurrency@@MAEXXZ 006fc8c0 f libconcrtd:InternalContextBase.obj + 0002:001b8b20 ?Cleanup@InternalContextBase@details@Concurrency@@IAEXXZ 006fcb20 f libconcrtd:InternalContextBase.obj + 0002:001b8b50 ?CleanupDispatchedContextOnCancel@InternalContextBase@details@Concurrency@@IAEXXZ 006fcb50 f libconcrtd:InternalContextBase.obj + 0002:001b8c50 ?ClearQuickCacheSlot@SchedulerBase@details@Concurrency@@QAEXI@Z 006fcc50 f i libconcrtd:InternalContextBase.obj + 0002:001b8ca0 ?ClearShutdownValidations@ContextBase@details@Concurrency@@QAEXXZ 006fcca0 f i libconcrtd:InternalContextBase.obj + 0002:001b8cc0 ?Count@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QBEHXZ 006fccc0 f i libconcrtd:InternalContextBase.obj + 0002:001b8ce0 ?CrossGroupRunnable@InternalContextBase@details@Concurrency@@QAEXJ@Z 006fcce0 f i libconcrtd:InternalContextBase.obj + 0002:001b8d00 ?Dispatch@InternalContextBase@details@Concurrency@@UAEXPAUDispatchState@3@@Z 006fcd00 f libconcrtd:InternalContextBase.obj + 0002:001b9190 ?ExecuteChoreInline@InternalContextBase@details@Concurrency@@IAEXPAVWorkItem@23@@Z 006fd190 f libconcrtd:InternalContextBase.obj + 0002:001b92b0 ?ExecutedAssociatedChore@InternalContextBase@details@Concurrency@@IAE_NXZ 006fd2b0 f libconcrtd:InternalContextBase.obj + 0002:001b93b0 ?FindWorkForBlockingOrNesting@InternalContextBase@details@Concurrency@@AAEPAV123@AA_N0@Z 006fd3b0 f libconcrtd:InternalContextBase.obj + 0002:001b9680 ?Free@InternalContextBase@details@Concurrency@@UAEXPAX@Z 006fd680 f libconcrtd:InternalContextBase.obj + 0002:001b97c0 ?GetAffinitySet@ScheduleGroupSegmentBase@details@Concurrency@@IBEABVQuickBitSet@23@XZ 006fd7c0 f i libconcrtd:InternalContextBase.obj + 0002:001b97e0 ?GetAndResetOversubscribedVProc@InternalContextBase@details@Concurrency@@QAEPAVVirtualProcessor@23@PAV423@@Z 006fd7e0 f libconcrtd:InternalContextBase.obj + 0002:001b9840 ?GetId@InternalContextBase@details@Concurrency@@UBEIXZ 006fd840 f libconcrtd:InternalContextBase.obj + 0002:001b9855 ?GetId@InternalContextBase@details@Concurrency@@W3BEIXZ 006fd855 f i libconcrtd:InternalContextBase.obj + 0002:001b9860 ?GetId@VirtualProcessor@details@Concurrency@@QBEIXZ 006fd860 f i libconcrtd:InternalContextBase.obj + 0002:001b9880 ?GetMaskId@VirtualProcessor@details@Concurrency@@QBEIXZ 006fd880 f i libconcrtd:InternalContextBase.obj + 0002:001b98a0 ?GetProxy@InternalContextBase@details@Concurrency@@UAEPAUIThreadProxy@3@XZ 006fd8a0 f libconcrtd:InternalContextBase.obj + 0002:001b98c0 ?GetScheduler@InternalContextBase@details@Concurrency@@UAEPAUIScheduler@3@XZ 006fd8c0 f libconcrtd:InternalContextBase.obj + 0002:001b9900 ?GetThreadId@InternalContextBase@details@Concurrency@@UBEKXZ 006fd900 f libconcrtd:InternalContextBase.obj + 0002:001b9940 ?GetThreadId@ThreadProxy@details@Concurrency@@QBEKXZ 006fd940 f i libconcrtd:InternalContextBase.obj + 0002:001b9960 ?GetType@WorkItem@details@Concurrency@@QBE?AW4WorkItemType@123@XZ 006fd960 f i libconcrtd:InternalContextBase.obj + 0002:001b9980 ?GetVirtualProcessorId@InternalContextBase@details@Concurrency@@UBEIXZ 006fd980 f libconcrtd:InternalContextBase.obj + 0002:001b99f0 ?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z 006fd9f0 f i libconcrtd:InternalContextBase.obj + 0002:001b9d00 ?HasVirtualProcessorAvailable@SchedulerBase@details@Concurrency@@QBE_NXZ 006fdd00 f i libconcrtd:InternalContextBase.obj + 0002:001b9d40 ?IncrementDequeuedTaskCounterHelper@InternalContextBase@details@Concurrency@@QAEXI@Z 006fdd40 f libconcrtd:InternalContextBase.obj + 0002:001b9e40 ?IncrementEnqueuedTaskCounterHelper@InternalContextBase@details@Concurrency@@QAEXXZ 006fde40 f libconcrtd:InternalContextBase.obj + 0002:001b9f40 ?InterlockedClear@QuickBitSet@details@Concurrency@@QAEXI@Z 006fdf40 f i libconcrtd:InternalContextBase.obj + 0002:001b9fd0 ?InterlockedClear@ReferenceCountedQuickBitSet@details@Concurrency@@QAEII@Z 006fdfd0 f i libconcrtd:InternalContextBase.obj + 0002:001ba0b0 ?InterlockedSet@QuickBitSet@details@Concurrency@@QAEXI@Z 006fe0b0 f i libconcrtd:InternalContextBase.obj + 0002:001ba140 ?InterlockedSet@ReferenceCountedQuickBitSet@details@Concurrency@@QAEII@Z 006fe140 f i libconcrtd:InternalContextBase.obj + 0002:001ba220 ?IsContext@WorkItem@details@Concurrency@@QBE_NXZ 006fe220 f i libconcrtd:InternalContextBase.obj + 0002:001ba260 ?IsEmpty@Slot@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QBE_NXZ 006fe260 f i libconcrtd:InternalContextBase.obj + 0002:001ba2a0 ?IsFairScheduleGroup@ScheduleGroupBase@details@Concurrency@@IBE_NXZ 006fe2a0 f i libconcrtd:InternalContextBase.obj + 0002:001ba2e0 ?IsMarkedForRetirement@VirtualProcessor@details@Concurrency@@QAE_NXZ 006fe2e0 f i libconcrtd:InternalContextBase.obj + 0002:001ba300 ?IsSynchronouslyBlocked@InternalContextBase@details@Concurrency@@UBE_NXZ 006fe300 f i libconcrtd:InternalContextBase.obj + 0002:001ba340 ?IsVirtualProcessorRetired@InternalContextBase@details@Concurrency@@IAE_NXZ 006fe340 f libconcrtd:InternalContextBase.obj + 0002:001ba460 ?LeaveScheduler@InternalContextBase@details@Concurrency@@AAEXXZ 006fe460 f libconcrtd:InternalContextBase.obj + 0002:001ba6b0 ?MakeAvailableForIdle@VirtualProcessor@details@Concurrency@@QAEXXZ 006fe6b0 f i libconcrtd:InternalContextBase.obj + 0002:001ba6d0 ?MakeAvailablePendingThread@VirtualProcessor@details@Concurrency@@QAEXXZ 006fe6d0 f i libconcrtd:InternalContextBase.obj + 0002:001ba6f0 ?NotifySearching@SchedulerBase@details@Concurrency@@QAEXI_N@Z 006fe6f0 f i libconcrtd:InternalContextBase.obj + 0002:001ba760 ?Oversubscribe@InternalContextBase@details@Concurrency@@UAEX_N@Z 006fe760 f libconcrtd:InternalContextBase.obj + 0002:001ba970 ?PrepareForUse@InternalContextBase@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@PAU_Chore@23@_N@Z 006fe970 f libconcrtd:InternalContextBase.obj + 0002:001bab60 ?PrepareToRun@InternalContextBase@details@Concurrency@@MAEXPAVVirtualProcessor@23@@Z 006feb60 f i libconcrtd:InternalContextBase.obj + 0002:001bac00 ?Push@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 006fec00 f i libconcrtd:InternalContextBase.obj + 0002:001bac80 ?RMAwaken@InternalContextBase@details@Concurrency@@EAEXXZ 006fec80 f i libconcrtd:InternalContextBase.obj + 0002:001bac90 ?ReclaimVirtualProcessor@InternalContextBase@details@Concurrency@@IAEXXZ 006fec90 f libconcrtd:InternalContextBase.obj + 0002:001bae30 ?RejoinScheduler@InternalContextBase@details@Concurrency@@AAEXXZ 006fee30 f libconcrtd:InternalContextBase.obj + 0002:001bafb0 ?RemoveFromUse@InternalContextBase@details@Concurrency@@QAEXXZ 006fefb0 f libconcrtd:InternalContextBase.obj + 0002:001bb160 ?SearchForWork@VirtualProcessor@details@Concurrency@@QAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_N@Z 006ff160 f i libconcrtd:InternalContextBase.obj + 0002:001bb1a0 ?SearchForWorkInYield@VirtualProcessor@details@Concurrency@@QAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 006ff1a0 f i libconcrtd:InternalContextBase.obj + 0002:001bb1e0 ?SetContextDebugBits@details@Concurrency@@YAXPAVInternalContextBase@12@K@Z 006ff1e0 f libconcrtd:InternalContextBase.obj + 0002:001bb200 ?SetProxy@InternalContextBase@details@Concurrency@@UAEXPAUIThreadProxy@3@@Z 006ff200 f libconcrtd:InternalContextBase.obj + 0002:001bb280 ?SetShutdownValidations@ContextBase@details@Concurrency@@QAEXXZ 006ff280 f i libconcrtd:InternalContextBase.obj + 0002:001bb2a0 ?SpinUntilBlocked@InternalContextBase@details@Concurrency@@IAEXXZ 006ff2a0 f libconcrtd:InternalContextBase.obj + 0002:001bb3b0 ?SpinUntilClear@QuickBitSet@details@Concurrency@@QBEXI@Z 006ff3b0 f i libconcrtd:InternalContextBase.obj + 0002:001bb430 ?SpinUntilSet@QuickBitSet@details@Concurrency@@QBEXI@Z 006ff430 f i libconcrtd:InternalContextBase.obj + 0002:001bb4b0 ?SpinUntilValueEquals@details@Concurrency@@YAXPCJJ@Z 006ff4b0 f i libconcrtd:InternalContextBase.obj + 0002:001bb4f0 ?SpinYield@InternalContextBase@details@Concurrency@@UAEXXZ 006ff4f0 f libconcrtd:InternalContextBase.obj + 0002:001bb770 ?SwapScheduleGroupSegment@InternalContextBase@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@_N@Z 006ff770 f libconcrtd:InternalContextBase.obj + 0002:001bb8e0 ?SwitchOut@InternalContextBase@details@Concurrency@@IAE_NW4ReasonForSwitch@123@@Z 006ff8e0 f libconcrtd:InternalContextBase.obj + 0002:001bbd40 ?SwitchTo@InternalContextBase@details@Concurrency@@IAEXPAV123@W4ReasonForSwitch@123@@Z 006ffd40 f libconcrtd:InternalContextBase.obj + 0002:001bc2f0 ?SwitchToRunnableContext@InternalContextBase@details@Concurrency@@IAEXPAVWorkItem@23@@Z 007002f0 f libconcrtd:InternalContextBase.obj + 0002:001bc3a0 ?Unblock@InternalContextBase@details@Concurrency@@UAEXXZ 007003a0 f libconcrtd:InternalContextBase.obj + 0002:001bc560 ?WaitForWork@InternalContextBase@details@Concurrency@@IAEXXZ 00700560 f libconcrtd:InternalContextBase.obj + 0002:001bcaa0 ?WorkWasFound@InternalContextBase@details@Concurrency@@IAE_NPAVWorkItem@23@@Z 00700aa0 f libconcrtd:InternalContextBase.obj + 0002:001bcb70 ?Yield@InternalContextBase@details@Concurrency@@UAEXXZ 00700b70 f libconcrtd:InternalContextBase.obj + 0002:001bcfc0 ?YieldingSearch@WorkSearchContext@details@Concurrency@@QAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 00700fc0 f i libconcrtd:InternalContextBase.obj + 0002:001bd010 ?_Invoke@_UnrealizedChore@details@Concurrency@@QAEXXZ 00701010 f i libconcrtd:InternalContextBase.obj + 0002:001bd050 ?_PutVirtualProcessor@InternalContextBase@details@Concurrency@@IAEXPAVVirtualProcessor@23@@Z 00701050 f i libconcrtd:InternalContextBase.obj + 0002:001bd0c0 ??$_InternalDeleteHelper@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@YAXPAVVirtualProcessor@01@@Z 007010c0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd120 ??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z 00701120 f i libconcrtd:VirtualProcessor.obj + 0002:001bd2c0 ??0SafePointMarker@details@Concurrency@@QAE@XZ 007012c0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd2e0 ??0VirtualProcessor@details@Concurrency@@QAE@XZ 007012e0 f libconcrtd:VirtualProcessor.obj + 0002:001bd3d0 ??0WorkSearchContext@details@Concurrency@@QAE@XZ 007013d0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd420 ??1?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@XZ 00701420 f i libconcrtd:VirtualProcessor.obj + 0002:001bd470 ??1Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 00701470 f i libconcrtd:VirtualProcessor.obj + 0002:001bd4b0 ??1VirtualProcessor@details@Concurrency@@UAE@XZ 007014b0 f libconcrtd:VirtualProcessor.obj + 0002:001bd5b0 ??4location@Concurrency@@QAEAAV01@ABV01@@Z 007015b0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd5e0 ??_GSegment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEPAXI@Z 007015e0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd620 ??_EVirtualProcessor@details@Concurrency@@UAEPAXI@Z 00701620 f i libconcrtd:VirtualProcessor.obj + 0002:001bd620 ??_GVirtualProcessor@details@Concurrency@@UAEPAXI@Z 00701620 f i libconcrtd:VirtualProcessor.obj + 0002:001bd660 ?AcknowledgedAffinityMessage@SchedulerBase@details@Concurrency@@QAE_NI@Z 00701660 f i libconcrtd:VirtualProcessor.obj + 0002:001bd6c0 ?Activate@VirtualProcessor@details@Concurrency@@QAEXPAUIExecutionContext@3@@Z 007016c0 f libconcrtd:VirtualProcessor.obj + 0002:001bd710 ?Affinitize@VirtualProcessor@details@Concurrency@@MAEXPAVInternalContextBase@23@@Z 00701710 f libconcrtd:VirtualProcessor.obj + 0002:001bd7d0 ?CheckAffinityNotification@VirtualProcessor@details@Concurrency@@QAE_NXZ 007017d0 f libconcrtd:VirtualProcessor.obj + 0002:001bd840 ?CheckForDeletion@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@AAEXXZ 00701840 f i libconcrtd:VirtualProcessor.obj + 0002:001bd8a0 ?CheckForDeletionBridge@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 007018a0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd8b0 ?Claim@Slot@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAE_NPAPAVInternalContextBase@34@@Z 007018b0 f i libconcrtd:VirtualProcessor.obj + 0002:001bd980 ?ClaimExclusiveOwnership@VirtualProcessor@details@Concurrency@@QAE_NAAVClaimTicket@123@K_N@Z 00701980 f libconcrtd:VirtualProcessor.obj + 0002:001bdb20 ?ClaimantType@VirtualProcessor@details@Concurrency@@QBE?AW4AvailabilityType@123@XZ 00701b20 f i libconcrtd:VirtualProcessor.obj + 0002:001bdb80 ?ClaimantWasInactive@VirtualProcessor@details@Concurrency@@QBE_NXZ 00701b80 f i libconcrtd:VirtualProcessor.obj + 0002:001bdbc0 ?ClearDebugBits@InternalContextBase@details@Concurrency@@QAEXXZ 00701bc0 f i libconcrtd:VirtualProcessor.obj + 0002:001bdbe0 ?Deactivate@VirtualProcessor@details@Concurrency@@QAE_NPAUIExecutionContext@3@@Z 00701be0 f libconcrtd:VirtualProcessor.obj + 0002:001bdc30 ?DecrementActiveResourcesByMask@SchedulerBase@details@Concurrency@@QAEXI@Z 00701c30 f i libconcrtd:VirtualProcessor.obj + 0002:001bdc60 ?DeleteElements@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 00701c60 f i libconcrtd:VirtualProcessor.obj + 0002:001bdcb0 ?Dereference@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXXZ 00701cb0 f i libconcrtd:VirtualProcessor.obj + 0002:001bdce0 ?EnsureAllTasksVisible@VirtualProcessor@details@Concurrency@@QAEXPAUIExecutionContext@3@@Z 00701ce0 f libconcrtd:VirtualProcessor.obj + 0002:001bdd30 ?ExerciseClaim@VirtualProcessor@details@Concurrency@@AAE_NW4AvailabilityType@123@PAVScheduleGroupSegmentBase@23@PAVInternalContextBase@23@@Z 00701d30 f libconcrtd:VirtualProcessor.obj + 0002:001be000 ?ExerciseWith@ClaimTicket@VirtualProcessor@details@Concurrency@@QAE_NPAVInternalContextBase@34@@Z 00702000 f libconcrtd:VirtualProcessor.obj + 0002:001be090 ?Expire@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXXZ 00702090 f i libconcrtd:VirtualProcessor.obj + 0002:001be0d0 ?GetCurrentSubAllocator@VirtualProcessor@details@Concurrency@@QAEPAVSubAllocator@23@XZ 007020d0 f libconcrtd:VirtualProcessor.obj + 0002:001be110 ?GetDefaultDestination@VirtualProcessor@details@Concurrency@@UAEPAUIExecutionContext@3@XZ 00702110 f i libconcrtd:VirtualProcessor.obj + 0002:001be120 ?GetLocalRunnableContext@VirtualProcessor@details@Concurrency@@AAEPAVInternalContextBase@23@XZ 00702120 f i libconcrtd:VirtualProcessor.obj + 0002:001be170 ?GetResourceMaskId@SchedulerBase@details@Concurrency@@QAEII@Z 00702170 f i libconcrtd:VirtualProcessor.obj + 0002:001be1f0 ?GetScheduler@SchedulingNode@details@Concurrency@@QAEPAVSchedulerBase@23@XZ 007021f0 f i libconcrtd:VirtualProcessor.obj + 0002:001be210 ?GetSchedulingProtocol@SchedulerBase@details@Concurrency@@QAE?AW4SchedulingProtocolType@3@XZ 00702210 f i libconcrtd:VirtualProcessor.obj + 0002:001be230 ?GetSchedulingRing@SchedulingNode@details@Concurrency@@QAEPAVSchedulingRing@23@XZ 00702230 f i libconcrtd:VirtualProcessor.obj + 0002:001be250 ?IgnoreAffinity@SchedulerBase@details@Concurrency@@QAEXI@Z 00702250 f i libconcrtd:VirtualProcessor.obj + 0002:001be280 ?Initialize@VirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00702280 f libconcrtd:VirtualProcessor.obj + 0002:001be630 ?InitializeTicket@ClaimTicket@VirtualProcessor@details@Concurrency@@AAEXW4AvailabilityType@234@PAV234@@Z 00702630 f i libconcrtd:VirtualProcessor.obj + 0002:001be660 ?IsPrepared@InternalContextBase@details@Concurrency@@QBE_NXZ 00702660 f i libconcrtd:VirtualProcessor.obj + 0002:001be6a0 ?ListenAffinity@SchedulerBase@details@Concurrency@@QAEXI@Z 007026a0 f i libconcrtd:VirtualProcessor.obj + 0002:001be6e0 ?MakeAvailable@VirtualProcessor@details@Concurrency@@IAEXW4AvailabilityType@123@_N@Z 007026e0 f libconcrtd:VirtualProcessor.obj + 0002:001be7f0 ?MarkForRetirement@VirtualProcessor@details@Concurrency@@AAEXXZ 007027f0 f libconcrtd:VirtualProcessor.obj + 0002:001be890 ?Oversubscribe@VirtualProcessor@details@Concurrency@@EAEPAV123@XZ 00702890 f libconcrtd:VirtualProcessor.obj + 0002:001be960 ?Pop@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 00702960 f i libconcrtd:VirtualProcessor.obj + 0002:001bea20 ?PreRunnableSearch@VirtualProcessor@details@Concurrency@@UAEPAVInternalContextBase@23@XZ 00702a20 f i libconcrtd:VirtualProcessor.obj + 0002:001bea30 ?Remove@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE_NPAVVirtualProcessor@23@H_N@Z 00702a30 f i libconcrtd:VirtualProcessor.obj + 0002:001becf0 ?Remove@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE_NPAVVirtualProcessor@23@_N@Z 00702cf0 f i libconcrtd:VirtualProcessor.obj + 0002:001bed20 ?Reset@SafePointMarker@details@Concurrency@@QAEXXZ 00702d20 f i libconcrtd:VirtualProcessor.obj + 0002:001bed40 ?Retire@VirtualProcessor@details@Concurrency@@MAEXXZ 00702d40 f libconcrtd:VirtualProcessor.obj + 0002:001bf100 ?SafePoint@VirtualProcessor@details@Concurrency@@QAE_NXZ 00703100 f libconcrtd:VirtualProcessor.obj + 0002:001bf140 ?SaveRetiredVirtualProcessorStatistics@SchedulerBase@details@Concurrency@@QAEXPAVVirtualProcessor@23@@Z 00703140 f i libconcrtd:VirtualProcessor.obj + 0002:001bf190 ?StartupWorkerContext@VirtualProcessor@details@Concurrency@@EAE_NPAVScheduleGroupSegmentBase@23@PAVInternalContextBase@23@@Z 00703190 f libconcrtd:VirtualProcessor.obj + 0002:001bf2c0 ?StaticDelete@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@SAXPAU1234@@Z 007032c0 f i libconcrtd:VirtualProcessor.obj + 0002:001bf300 ?ThrowVirtualProcessorEvent@VirtualProcessor@details@Concurrency@@CAXW4ConcRT_EventType@3@EKK@Z 00703300 f libconcrtd:VirtualProcessor.obj + 0002:001bf3c0 ?ToInternalContext@VirtualProcessor@details@Concurrency@@MAEPAVInternalContextBase@23@PAUIExecutionContext@3@@Z 007033c0 f libconcrtd:VirtualProcessor.obj + 0002:001bf3e0 ?TraceVirtualProcessorEvent@VirtualProcessor@details@Concurrency@@AAEXW4ConcRT_EventType@3@EKK@Z 007033e0 f i libconcrtd:VirtualProcessor.obj + 0002:001bf430 ?UpdateWorkState@VirtualProcessor@details@Concurrency@@QAEX_N0@Z 00703430 f libconcrtd:VirtualProcessor.obj + 0002:001bf4d0 ?Wipe@QuickBitSet@details@Concurrency@@QAEXXZ 007034d0 f i libconcrtd:VirtualProcessor.obj + 0002:001bf530 ??$_As@VVirtualProcessor@details@Concurrency@@@location@Concurrency@@QBEPAVVirtualProcessor@details@1@XZ 00703530 f i libconcrtd:SchedulingNode.obj + 0002:001bf550 ??0?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00703550 f i libconcrtd:SchedulingNode.obj + 0002:001bf800 ??0ArrayNode@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAPAVVirtualProcessor@23@@Z 00703800 f i libconcrtd:SchedulingNode.obj + 0002:001bf840 ??0QuickBitSet@details@Concurrency@@QAE@ABV012@@Z 00703840 f i libconcrtd:SchedulingNode.obj + 0002:001bf880 ??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z 00703880 f libconcrtd:SchedulingNode.obj + 0002:001bf9c0 ??1?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@XZ 007039c0 f i libconcrtd:SchedulingNode.obj + 0002:001bfb10 ??1SchedulingNode@details@Concurrency@@QAE@XZ 00703b10 f libconcrtd:SchedulingNode.obj + 0002:001bfb90 ?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z 00703b90 f i libconcrtd:SchedulingNode.obj + 0002:001bff80 ?AddVirtualProcessor@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@PAUIVirtualProcessorRoot@3@_N@Z 00703f80 f libconcrtd:SchedulingNode.obj + 0002:001c0260 ?Cleanup@SchedulingNode@details@Concurrency@@AAEXXZ 00704260 f libconcrtd:SchedulingNode.obj + 0002:001c0270 ?DeferToAffineSearchers@Slot@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QBE_NXZ 00704270 f i libconcrtd:SchedulingNode.obj + 0002:001c0330 ?FindMatchingVirtualProcessor@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@PAUIVirtualProcessorRoot@3@@Z 00704330 f libconcrtd:SchedulingNode.obj + 0002:001c03c0 ?FindVirtualProcessorByLocation@SchedulingNode@details@Concurrency@@QAEPAVVirtualProcessor@23@PBVlocation@3@@Z 007043c0 f libconcrtd:SchedulingNode.obj + 0002:001c04a0 ?FoundAvailableVirtualProcessor@SchedulingNode@details@Concurrency@@AAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 007044a0 f libconcrtd:SchedulingNode.obj + 0002:001c0660 ?GetExecutionResourceId@VirtualProcessor@details@Concurrency@@QBEIXZ 00704660 f i libconcrtd:SchedulingNode.obj + 0002:001c0680 ?GetLocation@SchedulingNode@details@Concurrency@@QAE?AVlocation@3@XZ 00704680 f libconcrtd:SchedulingNode.obj + 0002:001c0700 ?HasSearchers@SchedulerBase@details@Concurrency@@QBE_NABVQuickBitSet@23@@Z 00704700 f i libconcrtd:SchedulingNode.obj + 0002:001c0730 ?IncrementActiveResourcesByMask@SchedulerBase@details@Concurrency@@QAEXI@Z 00704730 f i libconcrtd:SchedulingNode.obj + 0002:001c0760 ?IsLocationBound@SchedulerBase@details@Concurrency@@QBE_NPBVlocation@3@@Z 00704760 f i libconcrtd:SchedulingNode.obj + 0002:001c07b0 ?PullFromFreePool@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEPAVVirtualProcessor@23@XZ 007047b0 f i libconcrtd:SchedulingNode.obj + 0002:001c07f0 ?SetOversubscribedVProc@InternalContextBase@details@Concurrency@@QAEXPAVVirtualProcessor@23@@Z 007047f0 f i libconcrtd:SchedulingNode.obj + 0002:001c0810 ?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00704810 f i libconcrtd:SchedulingNode.obj + 0002:001c08a0 ?StealLocalRunnableContext@SchedulingNode@details@Concurrency@@AAEPAVInternalContextBase@23@PAVVirtualProcessor@23@@Z 007048a0 f libconcrtd:SchedulingNode.obj + 0002:001c0990 ?UnlockedSteal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00704990 f i libconcrtd:SchedulingNode.obj + 0002:001c0ab0 ?_GetBindingId@location@Concurrency@@QBEIXZ 00704ab0 f i libconcrtd:SchedulingNode.obj + 0002:001c0ad0 ??0AllocatorBucket@details@Concurrency@@QAE@XZ 00704ad0 f libconcrtd:SubAllocator.obj + 0002:001c0b00 ??1AllocatorBucket@details@Concurrency@@QAE@XZ 00704b00 f libconcrtd:SubAllocator.obj + 0002:001c0be0 ?Alloc@AllocatorBucket@details@Concurrency@@QAEPATAllocationEntry@23@XZ 00704be0 f libconcrtd:SubAllocator.obj + 0002:001c0c80 ?Alloc@Concurrency@@YAPAXI@Z 00704c80 f libconcrtd:SubAllocator.obj + 0002:001c0cf0 ?Alloc@SubAllocator@details@Concurrency@@QAEPAXI@Z 00704cf0 f libconcrtd:SubAllocator.obj + 0002:001c0e80 ?CheckBytes@SubAllocator@details@Concurrency@@AAE_NPAEEI@Z 00704e80 f libconcrtd:SubAllocator.obj + 0002:001c0ee0 ?Free@AllocatorBucket@details@Concurrency@@QAE_NPATAllocationEntry@23@@Z 00704ee0 f libconcrtd:SubAllocator.obj + 0002:001c0f80 ?Free@Concurrency@@YAXPAX@Z 00704f80 f libconcrtd:SubAllocator.obj + 0002:001c0fd0 ?Free@SubAllocator@details@Concurrency@@QAEXPAX@Z 00704fd0 f libconcrtd:SubAllocator.obj + 0002:001c10c0 ?GetBucketIndex@SubAllocator@details@Concurrency@@SAHI@Z 007050c0 f libconcrtd:SubAllocator.obj + 0002:001c12c0 ?InitAndCheckBlockOnAlloc@SubAllocator@details@Concurrency@@AAE_NPATAllocationEntry@23@I@Z 007052c0 f libconcrtd:SubAllocator.obj + 0002:001c1400 ?InitAndCheckBlockOnFree@SubAllocator@details@Concurrency@@AAE_NPATAllocationEntry@23@I@Z 00705400 f libconcrtd:SubAllocator.obj + 0002:001c14d0 ?StaticAlloc@SubAllocator@details@Concurrency@@SAPAXI@Z 007054d0 f libconcrtd:SubAllocator.obj + 0002:001c15c0 ??$_InternalDeleteHelper@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@YAXPAVScheduleGroupSegmentBase@01@@Z 007055c0 f i libconcrtd:SchedulingRing.obj + 0002:001c1620 ??0?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00705620 f i libconcrtd:SchedulingRing.obj + 0002:001c18d0 ??0ArrayNode@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAPAVScheduleGroupSegmentBase@23@@Z 007058d0 f i libconcrtd:SchedulingRing.obj + 0002:001c1910 ??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z 00705910 f libconcrtd:SchedulingRing.obj + 0002:001c1a70 ??1?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 00705a70 f i libconcrtd:SchedulingRing.obj + 0002:001c1bc0 ??1SchedulingRing@details@Concurrency@@QAE@XZ 00705bc0 f libconcrtd:SchedulingRing.obj + 0002:001c1c40 ?Activate@SchedulingRing@details@Concurrency@@QAEXXZ 00705c40 f libconcrtd:SchedulingRing.obj + 0002:001c1c70 ?CheckForDeletion@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@AAEXXZ 00705c70 f i libconcrtd:SchedulingRing.obj + 0002:001c1cd0 ?CheckForDeletionBridge@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 00705cd0 f i libconcrtd:SchedulingRing.obj + 0002:001c1ce0 ?DeleteElements@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 00705ce0 f i libconcrtd:SchedulingRing.obj + 0002:001c1d30 ?Remove@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@H_N@Z 00705d30 f i libconcrtd:SchedulingRing.obj + 0002:001c1ff0 ?Remove@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@_N@Z 00705ff0 f i libconcrtd:SchedulingRing.obj + 0002:001c2030 ?RemoveScheduleGroupSegment@SchedulingRing@details@Concurrency@@AAEXPAVScheduleGroupSegmentBase@23@@Z 00706030 f libconcrtd:SchedulingRing.obj + 0002:001c20a0 ??$_InternalDeleteHelper@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@YAXPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@01@@Z 007060a0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c20d0 ??0?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007060d0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2380 ??0?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00706380 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2630 ??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z 00706630 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c27e0 ??0?$SQueue@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 007067e0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2810 ??0?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@XZ 00706810 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2840 ??0ArrayNode@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 00706840 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2880 ??0ExternalStatistics@details@Concurrency@@QAE@XZ 00706880 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c28d0 ??0ScheduleGroup@Concurrency@@QAE@XZ 007068d0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c28f0 ??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 007068f0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c29e0 ??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 007069e0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c2b90 ??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00706b90 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2ca0 ??0Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAE@PAUSegment@123@I@Z 00706ca0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2cd0 ??1?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@XZ 00706cd0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2e20 ??1?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@XZ 00706e20 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c2f70 ??1?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 00706f70 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3080 ??1ScheduleGroupSegmentBase@details@Concurrency@@UAE@XZ 00707080 f libconcrtd:ScheduleGroupBase.obj + 0002:001c3210 ??4QuickBitSet@details@Concurrency@@QAEAAV012@$$QAV012@@Z 00707210 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3280 ??A?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QBEPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@12@H@Z 00707280 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3350 ??A?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QBEPAVWorkQueue@12@H@Z 00707350 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3420 ??_EScheduleGroupSegmentBase@details@Concurrency@@UAEPAXI@Z 00707420 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3420 ??_GScheduleGroupSegmentBase@details@Concurrency@@UAEPAXI@Z 00707420 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3460 ?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 00707460 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3850 ?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00707850 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c3c40 ?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z 00707c40 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4030 ?AddExternalStatistics@SchedulerBase@details@Concurrency@@QAEXPAVExternalStatistics@23@@Z 00708030 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4060 ?AddRunnableContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@Vlocation@3@@Z 00708060 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4280 ?AllSlotsClaimed@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE_NI@Z 00708280 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c42c0 ?CheckForDeletion@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@AAEXXZ 007082c0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4320 ?CheckForDeletionBridge@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@CAXPAV123@@Z 00708320 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4330 ?ClearQuickCacheSlotIf@SchedulerBase@details@Concurrency@@QAEXIPAVScheduleGroupSegmentBase@23@@Z 00708330 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4380 ?CreateSegment@ScheduleGroupBase@details@Concurrency@@IAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 00708380 f libconcrtd:ScheduleGroupBase.obj + 0002:001c44f0 ?DeleteElements@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@AAEXPAU_SINGLE_LIST_ENTRY@@@Z 007084f0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4540 ?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00708540 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4690 ?Dequeue@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE_NPAPAV_UnrealizedChore@23@@Z 00708690 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c48c0 ?Dequeue@?$SQueue@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 007088c0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4920 ?Dequeue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 00708920 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c49b0 ?DetachActiveWorkQueue@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVWorkQueue@23@@Z 007089b0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4a10 ?Empty@?$SQueue@VRealizedChore@details@Concurrency@@@details@Concurrency@@QBE_NXZ 00708a10 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4a50 ?Empty@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QBE_NXZ 00708a50 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4a90 ?Enqueue@?$SQueue@VRealizedChore@details@Concurrency@@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 00708a90 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4b10 ?Enqueue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 00708b10 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4ba0 ?FindSegment@ScheduleGroupBase@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 00708ba0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4cc0 ?GetDetachedWorkQueue@ScheduleGroupSegmentBase@details@Concurrency@@IAEPAVWorkQueue@23@XZ 00708cc0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4da0 ?GetInternalContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEPAVInternalContextBase@23@PAU_Chore@23@_N@Z 00708da0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4e00 ?GetOwningNode@SchedulingRing@details@Concurrency@@QBEPAVSchedulingNode@23@XZ 00708e00 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4e20 ?GetRealizedChore@ScheduleGroupSegmentBase@details@Concurrency@@IAEPAVRealizedChore@23@XZ 00708e20 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4e70 ?GetScheduler@ScheduleGroupBase@details@Concurrency@@QAEPAVSchedulerBase@23@XZ 00708e70 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4e90 ?GetSchedulingRing@ScheduleGroupSegmentBase@details@Concurrency@@QBEPAVSchedulingRing@23@XZ 00708e90 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4eb0 ?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00708eb0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c4fb0 ?HasRealizedChores@ScheduleGroupSegmentBase@details@Concurrency@@IBE_NXZ 00708fb0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c4ff0 ?HasUnrealizedChores@ScheduleGroupSegmentBase@details@Concurrency@@IAE_NXZ 00708ff0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5030 ?Initialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXABVQuickBitSet@23@@Z 00709030 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5080 ?Initialize@ScheduleGroupBase@details@Concurrency@@QAEXPAVlocation@3@@Z 00709080 f libconcrtd:ScheduleGroupBase.obj + 0002:001c50f0 ?Initialize@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVScheduleGroupBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 007090f0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5240 ?IsDetached@WorkQueue@details@Concurrency@@QBE_NXZ 00709240 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5280 ?IsEmpty@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QBE_NXZ 00709280 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c52c0 ?IsEmpty@WorkQueue@details@Concurrency@@QBE_NXZ 007092c0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5320 ?IsEmptyAtSafePoint@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE_NXZ 00709320 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5390 ?IsEmptyAtSafePoint@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE_NXZ 00709390 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5400 ?IsStructuredEmpty@WorkQueue@details@Concurrency@@QBE_NXZ 00709400 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5420 ?LocateMailboxSegment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@I_N@Z 00709420 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5560 ?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 00709560 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5850 ?LocateUnrealizedChores@ScheduleGroupSegmentBase@details@Concurrency@@IAEPAVWorkQueue@23@XZ 00709850 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5930 ?MarkDetachment@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXXZ 00709930 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5980 ?MarkDetachment@WorkQueue@details@Concurrency@@QAEXXZ 00709980 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c59a0 ?MaxIndex@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHXZ 007099a0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c59c0 ?MaxIndex@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHXZ 007099c0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c59e0 ?PullFromFreePool@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@XZ 007099e0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5a20 ?RedetachQueue@ScheduleGroupSegmentBase@details@Concurrency@@QAEXPAVWorkQueue@23@@Z 00709a20 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5a60 ?ReleaseInternalContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@@Z 00709a60 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5ab0 ?Remove@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE_NPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@H_N@Z 00709ab0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5d60 ?Remove@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE_NPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@_N@Z 00709d60 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c5d90 ?Remove@ScheduleGroupSegmentBase@details@Concurrency@@IAEXXZ 00709d90 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5df0 ?RemoveSegments@ScheduleGroupBase@details@Concurrency@@MAEXXZ 00709df0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5e90 ?RetireDetachedQueue@ScheduleGroupSegmentBase@details@Concurrency@@QAEXPAVWorkQueue@23@@Z 00709e90 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5f10 ?SafelyDeleteDetachedWorkQueue@ScheduleGroupSegmentBase@details@Concurrency@@IAE_NPAVWorkQueue@23@@Z 00709f10 f libconcrtd:ScheduleGroupBase.obj + 0002:001c5fd0 ?ScheduleTask@ScheduleGroupBase@details@Concurrency@@QAEXP6AXPAX@Z0AAVlocation@3@@Z 00709fd0 f libconcrtd:ScheduleGroupBase.obj + 0002:001c6030 ?ScheduleTask@ScheduleGroupBase@details@Concurrency@@UAEXP6AXPAX@Z0@Z 0070a030 f libconcrtd:ScheduleGroupBase.obj + 0002:001c6090 ?ScheduleTask@ScheduleGroupSegmentBase@details@Concurrency@@QAEXP6AXPAX@Z0@Z 0070a090 f libconcrtd:ScheduleGroupBase.obj + 0002:001c63b0 ?SetDeletionReferences@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXI@Z 0070a3b0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c63e0 ?SetDetached@WorkQueue@details@Concurrency@@QAEX_N@Z 0070a3e0 f i libconcrtd:ScheduleGroupBase.obj + 0002:001c6440 ?StealUnrealizedChore@ScheduleGroupSegmentBase@details@Concurrency@@IAEPAV_UnrealizedChore@23@_N@Z 0070a440 f libconcrtd:ScheduleGroupBase.obj + 0002:001c67f0 ??IQuickBitSet@details@Concurrency@@QBE?AV012@ABV012@@Z 0070a7f0 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6930 ?AddToRunnablesCollection@CacheLocalScheduleGroupSegment@details@Concurrency@@EAEXPAVInternalContextBase@23@@Z 0070a930 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6960 ?Enqueue@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE?AVSlot@123@PAV_UnrealizedChore@23@@Z 0070a960 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c69f0 ?Enqueue@?$SQueue@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 0070a9f0 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6a80 ?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 0070aa80 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6b10 ?InterlockedSet@QuickBitSet@details@Concurrency@@QAEXABV123@@Z 0070ab10 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6bd0 ?MailChore@CacheLocalScheduleGroup@details@Concurrency@@UAE?AVSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@PAV_UnrealizedChore@23@PAVlocation@3@PAPAVScheduleGroupSegmentBase@23@@Z 0070abd0 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6c40 ?MailChore@CacheLocalScheduleGroupSegment@details@Concurrency@@QAE?AVSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@PAV_UnrealizedChore@23@@Z 0070ac40 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6d20 ?NotifyAffinitizedWork@CacheLocalScheduleGroupSegment@details@Concurrency@@UAEXXZ 0070ad20 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6d90 ?PostAffinityMessage@SchedulerBase@details@Concurrency@@QAEXABVQuickBitSet@23@@Z 0070ad90 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6e50 ?SetQuickCacheSlot@SchedulerBase@details@Concurrency@@QAEXIPAVScheduleGroupSegmentBase@23@@Z 0070ae50 f i libconcrtd:CacheLocalScheduleGroup.obj + 0002:001c6ea0 ?AddToRunnablesCollection@FairScheduleGroupSegment@details@Concurrency@@EAEXPAVInternalContextBase@23@@Z 0070aea0 f libconcrtd:FairScheduleGroup.obj + 0002:001c6ed0 ?FindSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 0070aed0 f libconcrtd:FairScheduleGroup.obj + 0002:001c6fb0 ?LocateSegment@FairScheduleGroup@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 0070afb0 f libconcrtd:FairScheduleGroup.obj + 0002:001c7110 ??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 0070b110 f libconcrtd:ExternalContextBase.obj + 0002:001c7280 ??1ExternalContextBase@details@Concurrency@@UAE@XZ 0070b280 f libconcrtd:ExternalContextBase.obj + 0002:001c72f0 ??_EExternalContextBase@details@Concurrency@@UAEPAXI@Z 0070b2f0 f i libconcrtd:ExternalContextBase.obj + 0002:001c72f0 ??_GExternalContextBase@details@Concurrency@@UAEPAXI@Z 0070b2f0 f i libconcrtd:ExternalContextBase.obj + 0002:001c7330 ?Alloc@ExternalContextBase@details@Concurrency@@UAEPAXI@Z 0070b330 f libconcrtd:ExternalContextBase.obj + 0002:001c73e0 ?Block@ExternalContextBase@details@Concurrency@@UAEXXZ 0070b3e0 f libconcrtd:ExternalContextBase.obj + 0002:001c74c0 ?Cleanup@ExternalContextBase@details@Concurrency@@AAEXXZ 0070b4c0 f libconcrtd:ExternalContextBase.obj + 0002:001c7560 ?DetachStatistics@ExternalContextBase@details@Concurrency@@QAEPAVExternalStatistics@23@XZ 0070b560 f i libconcrtd:ExternalContextBase.obj + 0002:001c75a0 ?Free@ExternalContextBase@details@Concurrency@@UAEXPAX@Z 0070b5a0 f libconcrtd:ExternalContextBase.obj + 0002:001c7670 ?GetContextKind@ExternalContextBase@details@Concurrency@@EBE?AW4ContextKind@ContextBase@23@XZ 0070b670 f i libconcrtd:ExternalContextBase.obj + 0002:001c7680 ?GetCurrentSubAllocator@ExternalContextBase@details@Concurrency@@QAEPAVSubAllocator@23@XZ 0070b680 f i libconcrtd:ExternalContextBase.obj + 0002:001c76c0 ?GetThreadId@ExternalContextBase@details@Concurrency@@UBEKXZ 0070b6c0 f i libconcrtd:ExternalContextBase.obj + 0002:001c76e0 ?GetVirtualProcessorId@ExternalContextBase@details@Concurrency@@UBEIXZ 0070b6e0 f i libconcrtd:ExternalContextBase.obj + 0002:001c7700 ?ImplicitDetachHandler@ExternalContextBase@details@Concurrency@@CGXPAU_TP_CALLBACK_INSTANCE@@PAXPAU_TP_WAIT@@K@Z 0070b700 f libconcrtd:ExternalContextBase.obj + 0002:001c7790 ?ImplicitDetachHandlerXP@ExternalContextBase@details@Concurrency@@CGXPAXE@Z 0070b790 f libconcrtd:ExternalContextBase.obj + 0002:001c7820 ?IsSynchronouslyBlocked@ExternalContextBase@details@Concurrency@@UBE_NXZ 0070b820 f i libconcrtd:ExternalContextBase.obj + 0002:001c7860 ?MarkInactive@ExternalStatistics@details@Concurrency@@QAEXXZ 0070b860 f i libconcrtd:ExternalContextBase.obj + 0002:001c7880 ?Oversubscribe@ExternalContextBase@details@Concurrency@@UAEX_N@Z 0070b880 f libconcrtd:ExternalContextBase.obj + 0002:001c78f0 ?PrepareForUse@ExternalContextBase@details@Concurrency@@QAEX_N@Z 0070b8f0 f libconcrtd:ExternalContextBase.obj + 0002:001c7aa0 ?RemoveFromUse@ExternalContextBase@details@Concurrency@@QAEXXZ 0070baa0 f libconcrtd:ExternalContextBase.obj + 0002:001c7b40 ?SpinYield@ExternalContextBase@details@Concurrency@@UAEXXZ 0070bb40 f i libconcrtd:ExternalContextBase.obj + 0002:001c7b70 ?StaticFree@SubAllocator@details@Concurrency@@SAXPAX@Z 0070bb70 f i libconcrtd:ExternalContextBase.obj + 0002:001c7ba0 ?Unblock@ExternalContextBase@details@Concurrency@@UAEXXZ 0070bba0 f libconcrtd:ExternalContextBase.obj + 0002:001c7cd0 ?Yield@ExternalContextBase@details@Concurrency@@UAEXXZ 0070bcd0 f libconcrtd:ExternalContextBase.obj + 0002:001c7d40 ??0IScheduler@Concurrency@@QAE@XZ 0070bd40 f i libconcrtd:ThreadScheduler.obj + 0002:001c7d60 ??0ThreadInternalContext@details@Concurrency@@QAE@PAVSchedulerBase@12@@Z 0070bd60 f i libconcrtd:ThreadScheduler.obj + 0002:001c7da0 ??0ThreadScheduler@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 0070bda0 f libconcrtd:ThreadScheduler.obj + 0002:001c7e00 ??1ThreadInternalContext@details@Concurrency@@UAE@XZ 0070be00 f i libconcrtd:ThreadScheduler.obj + 0002:001c7e30 ??1ThreadScheduler@details@Concurrency@@UAE@XZ 0070be30 f libconcrtd:ThreadScheduler.obj + 0002:001c7e63 ??_EThreadInternalContext@details@Concurrency@@W3AEPAXI@Z 0070be63 f i libconcrtd:ThreadScheduler.obj + 0002:001c7e6d ??_EThreadScheduler@details@Concurrency@@W7AEPAXI@Z 0070be6d f i libconcrtd:ThreadScheduler.obj + 0002:001c7e80 ??_GThreadInternalContext@details@Concurrency@@UAEPAXI@Z 0070be80 f i libconcrtd:ThreadScheduler.obj + 0002:001c7e80 ??_EThreadInternalContext@details@Concurrency@@UAEPAXI@Z 0070be80 f i libconcrtd:ThreadScheduler.obj + 0002:001c7ec0 ??_EThreadScheduler@details@Concurrency@@UAEPAXI@Z 0070bec0 f i libconcrtd:ThreadScheduler.obj + 0002:001c7ec0 ??_GThreadScheduler@details@Concurrency@@UAEPAXI@Z 0070bec0 f i libconcrtd:ThreadScheduler.obj + 0002:001c7f00 ?AddVirtualProcessors@ThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070bf00 f i libconcrtd:ThreadScheduler.obj + 0002:001c7f40 ?Create@ThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 0070bf40 f libconcrtd:ThreadScheduler.obj + 0002:001c7ff0 ?CreateInternalContext@ThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 0070bff0 f libconcrtd:ThreadScheduler.obj + 0002:001c80c0 ?CreateVirtualProcessor@ThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 0070c0c0 f libconcrtd:ThreadScheduler.obj + 0002:001c8180 ?GetContextKind@ThreadInternalContext@details@Concurrency@@UBE?AW4ContextKind@ContextBase@23@XZ 0070c180 f i libconcrtd:ThreadScheduler.obj + 0002:001c81a0 ?GetIScheduler@ThreadScheduler@details@Concurrency@@UAEPAUIScheduler@3@XZ 0070c1a0 f i libconcrtd:ThreadScheduler.obj + 0002:001c81c0 ?GetId@ThreadScheduler@details@Concurrency@@UBEIXZ 0070c1c0 f i libconcrtd:ThreadScheduler.obj + 0002:001c8200 ?GetPolicy@ThreadScheduler@details@Concurrency@@UBE?AVSchedulerPolicy@3@XZ 0070c200 f i libconcrtd:ThreadScheduler.obj + 0002:001c8244 ?GetPolicy@ThreadScheduler@details@Concurrency@@W7BE?AVSchedulerPolicy@3@XZ 0070c244 f i libconcrtd:ThreadScheduler.obj + 0002:001c8250 ?NotifyResourcesExternallyBusy@ThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c250 f i libconcrtd:ThreadScheduler.obj + 0002:001c8260 ?NotifyResourcesExternallyIdle@ThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c260 f i libconcrtd:ThreadScheduler.obj + 0002:001c8270 ?RemoveVirtualProcessors@ThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c270 f i libconcrtd:ThreadScheduler.obj + 0002:001c82b0 ?Statistics@ThreadScheduler@details@Concurrency@@UAEXPAI00@Z 0070c2b0 f i libconcrtd:ThreadScheduler.obj + 0002:001c82f0 ??0IUMSScheduler@Concurrency@@QAE@XZ 0070c2f0 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8320 ??0UMSThreadScheduler@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 0070c320 f libconcrtd:UMSThreadScheduler.obj + 0002:001c8390 ??1UMSThreadScheduler@details@Concurrency@@UAE@XZ 0070c390 f libconcrtd:UMSThreadScheduler.obj + 0002:001c83c3 ??_EUMSThreadScheduler@details@Concurrency@@W7AEPAXI@Z 0070c3c3 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c83d0 ??_EUMSThreadScheduler@details@Concurrency@@UAEPAXI@Z 0070c3d0 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c83d0 ??_GUMSThreadScheduler@details@Concurrency@@UAEPAXI@Z 0070c3d0 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8410 ?AddVirtualProcessors@UMSThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c410 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8450 ?AllowGeneralFetchOfReservedContexts@UMSThreadScheduler@details@Concurrency@@MAE_NXZ 0070c450 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8460 ?Create@UMSThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 0070c460 f libconcrtd:UMSThreadScheduler.obj + 0002:001c8510 ?CreateInternalContext@UMSThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 0070c510 f libconcrtd:UMSThreadScheduler.obj + 0002:001c85e0 ?CreateVirtualProcessor@UMSThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 0070c5e0 f libconcrtd:UMSThreadScheduler.obj + 0002:001c86a0 ?GetIScheduler@UMSThreadScheduler@details@Concurrency@@UAEPAUIScheduler@3@XZ 0070c6a0 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c86c0 ?GetId@UMSThreadScheduler@details@Concurrency@@UBEIXZ 0070c6c0 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8700 ?GetPolicy@UMSThreadScheduler@details@Concurrency@@UBE?AVSchedulerPolicy@3@XZ 0070c700 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8744 ?GetPolicy@UMSThreadScheduler@details@Concurrency@@W7BE?AVSchedulerPolicy@3@XZ 0070c744 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8750 ?MoveCompletionListToRunnables@UMSThreadScheduler@details@Concurrency@@QAE_NVlocation@3@@Z 0070c750 f libconcrtd:UMSThreadScheduler.obj + 0002:001c8950 ?NotifyResourcesExternallyBusy@UMSThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c950 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8960 ?NotifyResourcesExternallyIdle@UMSThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070c960 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8970 ?OneShotStaticConstruction@UMSThreadScheduler@details@Concurrency@@SAXXZ 0070c970 f libconcrtd:UMSThreadScheduler.obj + 0002:001c89d0 ?OneShotStaticDestruction@UMSThreadScheduler@details@Concurrency@@SAXXZ 0070c9d0 f libconcrtd:UMSThreadScheduler.obj + 0002:001c8a00 ?RemoveVirtualProcessors@UMSThreadScheduler@details@Concurrency@@UAEXPAPAUIVirtualProcessorRoot@3@I@Z 0070ca00 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8a40 ?SetCompletionList@UMSThreadScheduler@details@Concurrency@@UAEXPAUIUMSCompletionList@3@@Z 0070ca40 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8a60 ?Statistics@UMSThreadScheduler@details@Concurrency@@UAEXPAI00@Z 0070ca60 f i libconcrtd:UMSThreadScheduler.obj + 0002:001c8aa0 ?VirtualProcessorActiveNotification@UMSThreadScheduler@details@Concurrency@@MAEX_NJ@Z 0070caa0 f libconcrtd:UMSThreadScheduler.obj + 0002:001c8b20 ??0UMSThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 0070cb20 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8bc0 ??1UMSSchedulingContext@details@Concurrency@@QAE@XZ 0070cbc0 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8be0 ??1UMSThreadVirtualProcessor@details@Concurrency@@UAE@XZ 0070cbe0 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8c40 ??_GUMSSchedulingContext@details@Concurrency@@QAEPAXI@Z 0070cc40 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8c80 ??_EUMSThreadVirtualProcessor@details@Concurrency@@UAEPAXI@Z 0070cc80 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8c80 ??_GUMSThreadVirtualProcessor@details@Concurrency@@UAEPAXI@Z 0070cc80 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8cc0 ?Affinitize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVInternalContextBase@23@@Z 0070ccc0 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8d00 ?AttemptWake@UMSThreadVirtualProcessor@details@Concurrency@@QAEXXZ 0070cd00 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8d80 ?CriticalNotify@UMSThreadVirtualProcessor@details@Concurrency@@QAEXXZ 0070cd80 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8db0 ?GetDefaultDestination@UMSThreadVirtualProcessor@details@Concurrency@@UAEPAUIExecutionContext@3@XZ 0070cdb0 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8dd0 ?GetLocation@VirtualProcessor@details@Concurrency@@QBEABVlocation@3@XZ 0070cdd0 f i libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8df0 ?Initialize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 0070cdf0 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8f60 ?MakeAvailableFromSchedulingContext@UMSThreadVirtualProcessor@details@Concurrency@@QAEXXZ 0070cf60 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c8f90 ?PreRunnableSearch@UMSThreadVirtualProcessor@details@Concurrency@@UAEPAVInternalContextBase@23@XZ 0070cf90 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c9010 ?StartupWorkerContext@UMSThreadVirtualProcessor@details@Concurrency@@UAE_NPAVScheduleGroupSegmentBase@23@PAVInternalContextBase@23@@Z 0070d010 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c90d0 ?ToInternalContext@UMSThreadVirtualProcessor@details@Concurrency@@MAEPAVInternalContextBase@23@PAUIExecutionContext@3@@Z 0070d0d0 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:001c9100 ??0UMSThreadInternalContext@details@Concurrency@@QAE@PAVSchedulerBase@12@@Z 0070d100 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c9150 ??1UMSThreadInternalContext@details@Concurrency@@UAE@XZ 0070d150 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c917f ??_EUMSThreadInternalContext@details@Concurrency@@W3AEPAXI@Z 0070d17f f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9190 ??_GUMSThreadInternalContext@details@Concurrency@@UAEPAXI@Z 0070d190 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9190 ??_EUMSThreadInternalContext@details@Concurrency@@UAEPAXI@Z 0070d190 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c91d0 ?Block@UMSThreadInternalContext@details@Concurrency@@UAEXXZ 0070d1d0 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c93e0 ?CanCriticalEnter@UMSThreadVirtualProcessor@details@Concurrency@@QAE_NXZ 0070d3e0 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9420 ?Dispatch@UMSThreadInternalContext@details@Concurrency@@UAEXPAUDispatchState@3@@Z 0070d420 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c9490 ?EnterCriticalRegionHelper@UMSThreadInternalContext@details@Concurrency@@UAEHXZ 0070d490 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c95a0 ?EnterHyperCriticalRegionHelper@UMSThreadInternalContext@details@Concurrency@@UAEHXZ 0070d5a0 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c96b0 ?ExitCriticalRegionHelper@UMSThreadInternalContext@details@Concurrency@@UAEHXZ 0070d6b0 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c9730 ?ExitHyperCriticalRegionHelper@UMSThreadInternalContext@details@Concurrency@@UAEHXZ 0070d730 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c97b0 ?GetContextKind@UMSThreadInternalContext@details@Concurrency@@UBE?AW4ContextKind@ContextBase@23@XZ 0070d7b0 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c97d0 ?GetCriticalRegionType@UMSThreadInternalContext@details@Concurrency@@UBE?AW4CriticalRegionType@3@XZ 0070d7d0 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9840 ?IsSynchronouslyBlocked@UMSThreadInternalContext@details@Concurrency@@UBE_NXZ 0070d840 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9890 ?NotifyBlocked@UMSThreadInternalContext@details@Concurrency@@AAEX_N@Z 0070d890 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c98e0 ?Oversubscribe@UMSThreadInternalContext@details@Concurrency@@UAEX_N@Z 0070d8e0 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c99b0 ?PrepareToRun@UMSThreadInternalContext@details@Concurrency@@EAEXPAVVirtualProcessor@23@@Z 0070d9b0 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c99f0 ?RMAwaken@UMSThreadInternalContext@details@Concurrency@@EAEXXZ 0070d9f0 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9a60 ?SpinOnAndReturnBlockingType@UMSThreadInternalContext@details@Concurrency@@AAE?AW4BlockingType@123@XZ 0070da60 f libconcrtd:UMSThreadInternalContext.obj + 0002:001c9ac0 ?UNSAFE_SetVirtualProcessor@InternalContextBase@details@Concurrency@@IAEXPAVVirtualProcessor@23@@Z 0070dac0 f i libconcrtd:UMSThreadInternalContext.obj + 0002:001c9ae0 ??0?$SQueue@VUMSThreadProxy@details@Concurrency@@@details@Concurrency@@QAE@XZ 0070dae0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9b10 ??0?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAE@XZ 0070db10 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9b40 ??0CachedTransmogrifiedPrimary@details@Concurrency@@QAE@PAVTransmogrificator@12@@Z 0070db40 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9b80 ??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ 0070db80 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9c60 ??1CachedTransmogrifiedPrimary@details@Concurrency@@UAE@XZ 0070dc60 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9c80 ??1TransmogrifiedPrimary@details@Concurrency@@UAE@XZ 0070dc80 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9d60 ??1UMSBaseObject@details@Concurrency@@UAE@XZ 0070dd60 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9d80 ??_GCachedTransmogrifiedPrimary@details@Concurrency@@UAEPAXI@Z 0070dd80 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9d80 ??_ECachedTransmogrifiedPrimary@details@Concurrency@@UAEPAXI@Z 0070dd80 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9dc0 ??_ETransmogrifiedPrimary@details@Concurrency@@UAEPAXI@Z 0070ddc0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9dc0 ??_GTransmogrifiedPrimary@details@Concurrency@@UAEPAXI@Z 0070ddc0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9e00 ?CompletedTransmogrification@CachedTransmogrifiedPrimary@details@Concurrency@@MAEXXZ 0070de00 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9e30 ?CompletedTransmogrification@TransmogrifiedPrimary@details@Concurrency@@MAEXXZ 0070de30 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9e40 ?Dequeue@?$SQueue@VUMSThreadProxy@details@Concurrency@@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 0070de40 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9ea0 ?Dequeue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 0070dea0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9f30 ?Enqueue@?$SQueue@VUMSThreadProxy@details@Concurrency@@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0070df30 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001c9fb0 ?Enqueue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0070dfb0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca040 ?Execute@TransmogrifiedPrimary@details@Concurrency@@AAEXPAVUMSThreadProxy@23@@Z 0070e040 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca110 ?GetEvent@UMSBackgroundPoller@details@Concurrency@@QAEPAXXZ 0070e110 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca130 ?GetUMSContext@UMSThreadProxy@details@Concurrency@@QBEPAXXZ 0070e130 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca150 ?HandleBlocking@TransmogrifiedPrimary@details@Concurrency@@AAEPAVUMSThreadProxy@23@XZ 0070e150 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca220 ?HandleYielding@TransmogrifiedPrimary@details@Concurrency@@AAEPAVUMSThreadProxy@23@XZ 0070e220 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca2d0 ?Initialize@TransmogrifiedPrimary@details@Concurrency@@AAEXXZ 0070e2d0 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca490 ?IsPrimary@TransmogrifiedPrimary@details@Concurrency@@UAE_NXZ 0070e490 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca4a0 ?NotifyBlocked@UMSThreadProxy@details@Concurrency@@QAEX_N@Z 0070e4a0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca560 ?PollInterval@UMSBackgroundPoller@details@Concurrency@@SAHXZ 0070e560 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca570 ?PrimaryInvocation@TransmogrifiedPrimary@details@Concurrency@@CGXW4_RTL_UMS_SCHEDULER_REASON@@KPAX@Z 0070e570 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca770 ?PrimaryMain@TransmogrifiedPrimary@details@Concurrency@@CGKPAX@Z 0070e770 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca850 ?QueueToCompletion@TransmogrifiedPrimary@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0070e850 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca910 ?SearchForWork@TransmogrifiedPrimary@details@Concurrency@@AAEPAVUMSThreadProxy@23@XZ 0070e910 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca9b0 ?Unblock@TransmogrifiedPrimary@details@Concurrency@@AAEXXZ 0070e9b0 f i libconcrtd:TransmogrifiedPrimary.obj + 0002:001ca9d0 ?WaitForBlockedThread@TransmogrifiedPrimary@details@Concurrency@@AAEPAVUMSThreadProxy@23@PAV423@@Z 0070e9d0 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001cabd0 ?WaitForWork@TransmogrifiedPrimary@details@Concurrency@@AAEPAVUMSThreadProxy@23@XZ 0070ebd0 f libconcrtd:TransmogrifiedPrimary.obj + 0002:001cade0 ??0Transmogrificator@details@Concurrency@@QAE@XZ 0070ede0 f libconcrtd:Transmogrificator.obj + 0002:001caf00 ??1Transmogrificator@details@Concurrency@@QAE@XZ 0070ef00 f libconcrtd:Transmogrificator.obj + 0002:001cb000 ?BeginTransmogrifying@Transmogrificator@details@Concurrency@@AAEXXZ 0070f000 f libconcrtd:Transmogrificator.obj + 0002:001cb120 ?PerformTransmogrification@Transmogrificator@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0070f120 f libconcrtd:Transmogrificator.obj + 0002:001cb1c0 ?RemoveHead@?$List@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QAEPAUListEntry@23@XZ 0070f1c0 f i libconcrtd:Transmogrificator.obj + 0002:001cb240 ?RemoveHead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUListEntry@23@XZ 0070f240 f i libconcrtd:Transmogrificator.obj + 0002:001cb2d0 ?ReturnToCache@Transmogrificator@details@Concurrency@@QAEXPAVCachedTransmogrifiedPrimary@23@@Z 0070f2d0 f libconcrtd:Transmogrificator.obj + 0002:001cb320 ?TransmogrificationHandler@Transmogrificator@details@Concurrency@@CGXPAXE@Z 0070f320 f libconcrtd:Transmogrificator.obj + 0002:001cb340 ?UnblockTransmogrification@Transmogrificator@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0070f340 f libconcrtd:Transmogrificator.obj + 0002:001cb390 ??0exception_ptr@std@@QAE@ABV01@@Z 0070f390 f i libconcrtd:TaskCollectionBase.obj + 0002:001cb3f0 ??0exception_ptr@std@@QAE@XZ 0070f3f0 f i libconcrtd:TaskCollectionBase.obj + 0002:001cb450 ?_Current_exception@exception_ptr@std@@SA?AV12@XZ 0070f450 f i libconcrtd:TaskCollectionBase.obj + 0002:001cb4d0 ?_FinishCancelState@_TaskCollectionBase@details@Concurrency@@IAEXI@Z 0070f4d0 f libconcrtd:TaskCollectionBase.obj + 0002:001cb5c0 ?_GetToken@_CancellationTokenRegistration@details@Concurrency@@QBEPAV_CancellationTokenState@23@XZ 0070f5c0 f i libconcrtd:TaskCollectionBase.obj + 0002:001cb5e0 ?_GetTokenState@_TaskCollectionBase@details@Concurrency@@QAEPAV_CancellationTokenState@23@PAPAV_CancellationTokenRegistration@23@@Z 0070f5e0 f libconcrtd:TaskCollectionBase.obj + 0002:001cb650 ?_MarkCancellation@_TaskCollectionBase@details@Concurrency@@IAE_NXZ 0070f650 f libconcrtd:TaskCollectionBase.obj + 0002:001cb6c0 ?_RaisedCancel@_TaskCollectionBase@details@Concurrency@@IAEXXZ 0070f6c0 f libconcrtd:TaskCollectionBase.obj + 0002:001cb740 ?_RaisedException@_TaskCollectionBase@details@Concurrency@@IAEXXZ 0070f740 f libconcrtd:TaskCollectionBase.obj + 0002:001cb850 ?_RethrowException@_TaskCollectionBase@details@Concurrency@@IAEXXZ 0070f850 f libconcrtd:TaskCollectionBase.obj + 0002:001cb950 ?_RethrowException@exception_ptr@std@@QBEXXZ 0070f950 f i libconcrtd:TaskCollectionBase.obj + 0002:001cb970 ?_WillInterruptForPendingCancel@_TaskCollectionBase@details@Concurrency@@IAE_NXZ 0070f970 f libconcrtd:TaskCollectionBase.obj + 0002:001cba50 ?current_exception@std@@YA?AVexception_ptr@1@XZ 0070fa50 f i libconcrtd:TaskCollectionBase.obj + 0002:001cba70 ?rethrow_exception@std@@YAXVexception_ptr@1@@Z 0070fa70 f i libconcrtd:TaskCollectionBase.obj + 0002:001cbae0 ??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 0070fae0 f i libconcrtd:WorkQueue.obj + 0002:001cbc80 ??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 0070fc80 f i libconcrtd:WorkQueue.obj + 0002:001cbdf0 ??0WorkQueue@details@Concurrency@@QAE@XZ 0070fdf0 f libconcrtd:WorkQueue.obj + 0002:001cbee0 ??0_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 0070fee0 f i libconcrtd:WorkQueue.obj + 0002:001cbf00 ?DeferToAffineSearchers@Slot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QBE_NXZ 0070ff00 f i libconcrtd:WorkQueue.obj + 0002:001cbfc0 ?MarkedForDetachment@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QBE_NXZ 0070ffc0 f i libconcrtd:WorkQueue.obj + 0002:001cbfe0 ?NotifyWorkSkipped@InternalContextBase@details@Concurrency@@QAEXXZ 0070ffe0 f i libconcrtd:WorkQueue.obj + 0002:001cc010 ?RedetachFromScheduleGroupAtSafePoint@WorkQueue@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@@Z 00710010 f libconcrtd:WorkQueue.obj + 0002:001cc070 ?Reinitialize@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXXZ 00710070 f i libconcrtd:WorkQueue.obj + 0002:001cc0a0 ?Reinitialize@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXXZ 007100a0 f i libconcrtd:WorkQueue.obj + 0002:001cc0f0 ?Reinitialize@WorkQueue@details@Concurrency@@AAEXXZ 007100f0 f libconcrtd:WorkQueue.obj + 0002:001cc160 ?RetireAtSafePoint@WorkQueue@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@@Z 00710160 f libconcrtd:WorkQueue.obj + 0002:001cc1c0 ?StaticRedetachFromScheduleGroup@WorkQueue@details@Concurrency@@CAXPAV123@@Z 007101c0 f libconcrtd:WorkQueue.obj + 0002:001cc1f0 ?StaticRetire@WorkQueue@details@Concurrency@@CAXPAV123@@Z 007101f0 f libconcrtd:WorkQueue.obj + 0002:001cc220 ?Steal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z 00710220 f libconcrtd:WorkQueue.obj + 0002:001cc2b0 ?Sweep@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 007102b0 f i libconcrtd:WorkQueue.obj + 0002:001cc440 ?SweepUnstructured@WorkQueue@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 00710440 f libconcrtd:WorkQueue.obj + 0002:001cc480 ?TryToSteal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_NAA_N@Z 00710480 f libconcrtd:WorkQueue.obj + 0002:001cc550 ?UnlockedSteal@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z 00710550 f i libconcrtd:WorkQueue.obj + 0002:001cc670 ?UnlockedSteal@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N0@Z 00710670 f i libconcrtd:WorkQueue.obj + 0002:001cc7e0 ?UnlockedSteal@WorkQueue@details@Concurrency@@AAEPAV_UnrealizedChore@23@_N@Z 007107e0 f libconcrtd:WorkQueue.obj + 0002:001cc9a0 ?_OwningCollection@_UnrealizedChore@details@Concurrency@@QBEPAV_TaskCollectionBase@23@XZ 007109a0 f i libconcrtd:WorkQueue.obj + 0002:001cc9c0 ?_OwningContext@_TaskCollectionBase@details@Concurrency@@QBEPAXXZ 007109c0 f i libconcrtd:WorkQueue.obj + 0002:001cc9e0 ?ClearCancel@ContextBase@details@Concurrency@@QAEXXZ 007109e0 f i libconcrtd:Chores.obj + 0002:001cca20 ?IsContextChainedStealer@ContextBase@details@Concurrency@@QBE_NXZ 00710a20 f i libconcrtd:Chores.obj + 0002:001cca40 ?NotifyTaskCollectionChainedStealer@ContextBase@details@Concurrency@@QAEXXZ 00710a40 f i libconcrtd:Chores.obj + 0002:001cca60 ?SetRootCollection@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 00710a60 f i libconcrtd:Chores.obj + 0002:001cca90 ?_CancelViaToken@_UnrealizedChore@details@Concurrency@@CAXPAVContextBase@23@@Z 00710a90 f libconcrtd:Chores.obj + 0002:001ccab0 ?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ 00710ab0 f libconcrtd:Chores.obj + 0002:001ccb90 ?_InternalFree@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00710b90 f libconcrtd:Chores.obj + 0002:001ccc30 ?_IsAbnormalExit@_TaskCollectionBase@details@Concurrency@@IBE_NXZ 00710c30 f i libconcrtd:Chores.obj + 0002:001ccc70 ?_PrepareSteal@_UnrealizedChore@details@Concurrency@@QAEXPAVContextBase@23@@Z 00710c70 f libconcrtd:Chores.obj + 0002:001cccb0 ?_PrepareStealStructured@_UnrealizedChore@details@Concurrency@@AAEXPAVContextBase@23@@Z 00710cb0 f libconcrtd:Chores.obj + 0002:001ccd60 ?_PrepareStealUnstructured@_UnrealizedChore@details@Concurrency@@AAEXPAVContextBase@23@@Z 00710d60 f libconcrtd:Chores.obj + 0002:001cce80 ?_SetDetached@_UnrealizedChore@details@Concurrency@@QAEX_N@Z 00710e80 f libconcrtd:Chores.obj + 0002:001ccea0 ?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00710ea0 f libconcrtd:Chores.obj + 0002:001cd230 ?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00711230 f libconcrtd:Chores.obj + 0002:001cd8f0 ?_Wait@_TaskCollection@details@Concurrency@@QAE?AW4_TaskCollectionStatus@23@XZ 007118f0 f i libconcrtd:Chores.obj + 0002:001cd910 ??0IVirtualProcessorRoot@Concurrency@@QAE@XZ 00711910 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cd940 ??0VirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 00711940 f libconcrtd:VirtualProcessorRoot.obj + 0002:001cda40 ??1VirtualProcessorRoot@details@Concurrency@@UAE@XZ 00711a40 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cda70 ??_GVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00711a70 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cda70 ??_EVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00711a70 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdab0 ?CurrentSubscriptionLevel@VirtualProcessorRoot@details@Concurrency@@UBEIXZ 00711ab0 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdad0 ?GetExecutionResourceId@VirtualProcessorRoot@details@Concurrency@@UBEIXZ 00711ad0 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdaf0 ?GetId@VirtualProcessorRoot@details@Concurrency@@UBEIXZ 00711af0 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdb10 ?GetNodeId@VirtualProcessorRoot@details@Concurrency@@UBEIXZ 00711b10 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdb30 ?GetSchedulerProxy@VirtualProcessorRoot@details@Concurrency@@QAEPAVSchedulerProxy@23@XZ 00711b30 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdb50 ?MarkAsVirtualProcessorRoot@ExecutionResource@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 00711b50 f i libconcrtd:VirtualProcessorRoot.obj + 0002:001cdbb0 ?Remove@VirtualProcessorRoot@details@Concurrency@@UAEXPAUIScheduler@3@@Z 00711bb0 f libconcrtd:VirtualProcessorRoot.obj + 0002:001cdc50 ?ResetSubscriptionLevel@VirtualProcessorRoot@details@Concurrency@@QAEXXZ 00711c50 f libconcrtd:VirtualProcessorRoot.obj + 0002:001cdd20 ?Subscribe@VirtualProcessorRoot@details@Concurrency@@QAEXXZ 00711d20 f libconcrtd:VirtualProcessorRoot.obj + 0002:001cdd60 ?Unsubscribe@VirtualProcessorRoot@details@Concurrency@@QAEXXZ 00711d60 f libconcrtd:VirtualProcessorRoot.obj + 0002:001cdda0 ??0FreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 00711da0 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cde00 ??1FreeVirtualProcessorRoot@details@Concurrency@@UAE@XZ 00711e00 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cde20 ??8HardwareAffinity@details@Concurrency@@QAE_NABU012@@Z 00711e20 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cde70 ??9HardwareAffinity@details@Concurrency@@QAE_NABU012@@Z 00711e70 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cdec0 ??_GFreeVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00711ec0 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cdec0 ??_EFreeVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00711ec0 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cdf00 ?AcquireActivatedContext@VirtualProcessorRoot@details@Concurrency@@QAEPAUIExecutionContext@3@XZ 00711f00 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001cdf60 ?Activate@FreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00711f60 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce260 ?Affinitize@FreeVirtualProcessorRoot@details@Concurrency@@QAEXPAVFreeThreadProxy@23@@Z 00712260 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce310 ?Deactivate@FreeVirtualProcessorRoot@details@Concurrency@@UAE_NPAUIExecutionContext@3@@Z 00712310 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce4a0 ?DeleteThis@FreeVirtualProcessorRoot@details@Concurrency@@UAEXXZ 007124a0 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce590 ?EnsureAllTasksVisible@FreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00712590 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce660 ?GetExecutionContext@FreeThreadProxy@details@Concurrency@@QAEPAUIExecutionContext@3@XZ 00712660 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce680 ?GetThreadHandle@ThreadProxy@details@Concurrency@@QAEPAXXZ 00712680 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce6a0 ?ResetOnIdle@FreeVirtualProcessorRoot@details@Concurrency@@QAEXW4SwitchingProxyState@3@@Z 007126a0 f libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce850 ?SetActivatedContext@VirtualProcessorRoot@details@Concurrency@@QAEXPAUIExecutionContext@3@@Z 00712850 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce870 ?SetAffinity@FreeThreadProxy@details@Concurrency@@QAEXUHardwareAffinity@23@@Z 00712870 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce8d0 ?SetVirtualProcessorRoot@ThreadProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 007128d0 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce8f0 ?SpinUntilIdle@FreeVirtualProcessorRoot@details@Concurrency@@IAEXXZ 007128f0 f i libconcrtd:FreeVirtualProcessorRoot.obj + 0002:001ce940 ??0DispatchState@Concurrency@@QAE@XZ 00712940 f i libconcrtd:FreeThreadProxy.obj + 0002:001ce990 ?AssociateExecutionContext@FreeThreadProxy@details@Concurrency@@QAEXPAUIExecutionContext@3@@Z 00712990 f libconcrtd:FreeThreadProxy.obj + 0002:001ce9e0 ?Dispatch@FreeThreadProxy@details@Concurrency@@EAEXXZ 007129e0 f libconcrtd:FreeThreadProxy.obj + 0002:001cebb0 ?ReturnIdleProxy@FreeThreadProxy@details@Concurrency@@QAEXXZ 00712bb0 f libconcrtd:FreeThreadProxy.obj + 0002:001cec50 ?SwitchOut@FreeThreadProxy@details@Concurrency@@UAEXW4SwitchingProxyState@3@@Z 00712c50 f libconcrtd:FreeThreadProxy.obj + 0002:001ced80 ?SwitchTo@FreeThreadProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@W4SwitchingProxyState@3@@Z 00712d80 f libconcrtd:FreeThreadProxy.obj + 0002:001cf0a0 ??0ThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 007130a0 f libconcrtd:ThreadProxy.obj + 0002:001cf210 ??1ThreadProxy@details@Concurrency@@UAE@XZ 00713210 f libconcrtd:ThreadProxy.obj + 0002:001cf2b0 ??_EThreadProxy@details@Concurrency@@UAEPAXI@Z 007132b0 f i libconcrtd:ThreadProxy.obj + 0002:001cf2b0 ??_GThreadProxy@details@Concurrency@@UAEPAXI@Z 007132b0 f i libconcrtd:ThreadProxy.obj + 0002:001cf2f0 ?Cancel@ThreadProxy@details@Concurrency@@QAEXXZ 007132f0 f libconcrtd:ThreadProxy.obj + 0002:001cf360 ?GetId@ThreadProxy@details@Concurrency@@UBEIXZ 00713360 f libconcrtd:ThreadProxy.obj + 0002:001cf380 ?ResumeExecution@ThreadProxy@details@Concurrency@@QAEXXZ 00713380 f libconcrtd:ThreadProxy.obj + 0002:001cf3a0 ?SetPriority@ThreadProxy@details@Concurrency@@QAEXH@Z 007133a0 f libconcrtd:ThreadProxy.obj + 0002:001cf3e0 ?SpinUntilBlocked@ThreadProxy@details@Concurrency@@QAEXXZ 007133e0 f libconcrtd:ThreadProxy.obj + 0002:001cf470 ?SuspendExecution@ThreadProxy@details@Concurrency@@QAEXXZ 00713470 f libconcrtd:ThreadProxy.obj + 0002:001cf540 ?ThreadProxyMain@ThreadProxy@details@Concurrency@@CGKPAX@Z 00713540 f libconcrtd:ThreadProxy.obj + 0002:001cf640 ?AssociateExecutionContext@UMSFreeThreadProxy@details@Concurrency@@AAEXPAUIExecutionContext@3@@Z 00713640 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf6c0 ?ClearShutdownValidations@UMSThreadProxy@details@Concurrency@@QAEXXZ 007136c0 f i libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf6e0 ?Dispatch@UMSFreeThreadProxy@details@Concurrency@@EAEXXZ 007136e0 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf7d0 ?IsSchedulingContext@UMSFreeVirtualProcessorRoot@details@Concurrency@@QBE_NPAUIExecutionContext@3@@Z 007137d0 f i libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf810 ?ReturnIdleProxy@UMSFreeThreadProxy@details@Concurrency@@AAEXXZ 00713810 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf8e0 ?SwitchOut@UMSFreeThreadProxy@details@Concurrency@@UAEXW4SwitchingProxyState@3@@Z 007138e0 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cf940 ?SwitchTo@UMSFreeThreadProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@W4SwitchingProxyState@3@@Z 00713940 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cfb80 ?YieldToSystem@UMSFreeThreadProxy@details@Concurrency@@UAEXXZ 00713b80 f libconcrtd:UMSFreeThreadProxy.obj + 0002:001cfba0 ?Invoke@RealizedChore@details@Concurrency@@QAEXXZ 00713ba0 f libconcrtd:RealizedChore.obj + 0002:001cfbe0 ??0WorkItem@details@Concurrency@@QAE@PAVInternalContextBase@12@@Z 00713be0 f libconcrtd:SearchAlgorithms.obj + 0002:001cfc20 ??0WorkItem@details@Concurrency@@QAE@PAVRealizedChore@12@PAVScheduleGroupSegmentBase@12@@Z 00713c20 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfc60 ??0WorkItem@details@Concurrency@@QAE@PAVScheduleGroupSegmentBase@12@@Z 00713c60 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfc90 ??0WorkItem@details@Concurrency@@QAE@PAVWorkQueue@12@PAVScheduleGroupSegmentBase@12@@Z 00713c90 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfcd0 ??0WorkItem@details@Concurrency@@QAE@PAV_UnrealizedChore@12@PAVScheduleGroupSegmentBase@12@@Z 00713cd0 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfd10 ?AcquireQuickCacheSlot@SchedulerBase@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@I@Z 00713d10 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfd50 ?ActualGetQuickCacheSlot@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroupSegmentBase@23@I@Z 00713d50 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfdc0 ?BiasStage@WorkSearchContext@details@Concurrency@@AAE?AW4BiasStageType@123@XZ 00713dc0 f i libconcrtd:SearchAlgorithms.obj + 0002:001cfe00 ?Bind@WorkItem@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 00713e00 f libconcrtd:SearchAlgorithms.obj + 0002:001cff00 ?BindTo@WorkItem@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00713f00 f libconcrtd:SearchAlgorithms.obj + 0002:001cff90 ?CheckPriorityList@WorkSearchContext@details@Concurrency@@AAE_N_K@Z 00713f90 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0010 ?Empty@?$List@UBoostedObject@details@Concurrency@@VNoCount@CollectionTypes@23@@details@Concurrency@@QBE_NXZ 00714010 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0050 ?Empty@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QBE_NXZ 00714050 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0090 ?ExecutingAffine@VirtualProcessor@details@Concurrency@@QAE_NXZ 00714090 f i libconcrtd:SearchAlgorithms.obj + 0002:001d00b0 ?FromBoostEntry@ScheduleGroupSegmentBase@details@Concurrency@@SAPAV123@PAUBoostedObject@23@@Z 007140b0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d00c0 ?FromBoostEntry@VirtualProcessor@details@Concurrency@@SAPAV123@PAUBoostedObject@23@@Z 007140c0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d00d0 ?GetFirstScheduleGroupSegment@ScheduleGroupBase@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@_N@Z 007140d0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0110 ?GetFirstSchedulingNode@SchedulerBase@details@Concurrency@@QAEPAVSchedulingNode@23@PAH@Z 00714110 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0140 ?GetLocalRunnable@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVVirtualProcessor@23@_N@Z 00714140 f libconcrtd:SearchAlgorithms.obj + 0002:001d0230 ?GetNextScheduleGroupSegment@ScheduleGroupBase@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAV423@@Z 00714230 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0250 ?GetNextSchedulingNode@SchedulerBase@details@Concurrency@@QAEPAVSchedulingNode@23@PAHH@Z 00714250 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0310 ?GetPseudoRRAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAH@Z 00714310 f i libconcrtd:SearchAlgorithms.obj + 0002:001d03a0 ?GetPseudoRRNonAffineScheduleGroupSegment@SchedulingRing@details@Concurrency@@QAEPAVScheduleGroupSegmentBase@23@PAH@Z 007143a0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0430 ?GetRealizedChore@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_N@Z 00714430 f libconcrtd:SearchAlgorithms.obj + 0002:001d04e0 ?GetRealizedChoreWithinGroup@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NW4SearchAffinity@123@2@Z 007144e0 f libconcrtd:SearchAlgorithms.obj + 0002:001d05f0 ?GetRunnableContext@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@@Z 007145f0 f libconcrtd:SearchAlgorithms.obj + 0002:001d0660 ?GetRunnableContextWithinGroup@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@W4SearchAffinity@123@_N@Z 00714660 f libconcrtd:SearchAlgorithms.obj + 0002:001d0760 ?GetScheduleGroupSegment@WorkItem@details@Concurrency@@QBEPAVScheduleGroupSegmentBase@23@XZ 00714760 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0780 ?GetUnrealizedChore@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_N2@Z 00714780 f libconcrtd:SearchAlgorithms.obj + 0002:001d0880 ?GetUnrealizedChoreWithinGroup@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NW4SearchAffinity@123@2@Z 00714880 f libconcrtd:SearchAlgorithms.obj + 0002:001d09a0 ?HasPriorityObjects@SchedulerBase@details@Concurrency@@QBE_NXZ 007149a0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d09f0 ?Invoke@WorkItem@details@Concurrency@@QAEXXZ 007149f0 f libconcrtd:SearchAlgorithms.obj + 0002:001d0aa0 ?IsScheduleGroupSegment@BoostedObject@details@Concurrency@@QBE_NXZ 00714aa0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0ae0 ?IsToken@WorkItem@details@Concurrency@@QBE_NXZ 00714ae0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0b20 ?LRCBias@WorkSearchContext@details@Concurrency@@AAEXXZ 00714b20 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0b40 ?MarkGrabbedPriority@VirtualProcessor@details@Concurrency@@QAEXXZ 00714b40 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0b60 ?PeriodicScan@SchedulerBase@details@Concurrency@@QAEX_K@Z 00714b60 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0bc0 ?PreSearch@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@@Z 00714bc0 f libconcrtd:SearchAlgorithms.obj + 0002:001d0c40 ?QuickSearch@WorkSearchContext@details@Concurrency@@AAE_NPAVScheduleGroupSegmentBase@23@PAVWorkItem@23@_NK@Z 00714c40 f libconcrtd:SearchAlgorithms.obj + 0002:001d0d10 ?QuickSearchYield@WorkSearchContext@details@Concurrency@@AAE_NPAVScheduleGroupSegmentBase@23@PAVWorkItem@23@_NK@Z 00714d10 f libconcrtd:SearchAlgorithms.obj + 0002:001d0de0 ?Reset@WorkSearchContext@details@Concurrency@@QAEXPAVVirtualProcessor@23@W4Algorithm@123@@Z 00714de0 f libconcrtd:SearchAlgorithms.obj + 0002:001d0ef0 ?ResetLRCBias@WorkSearchContext@details@Concurrency@@AAEXXZ 00714ef0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d0f10 ?ResolveToken@WorkItem@details@Concurrency@@QAE_NXZ 00714f10 f libconcrtd:SearchAlgorithms.obj + 0002:001d1070 ?SaveDequeuedTask@InternalContextBase@details@Concurrency@@QAEXXZ 00715070 f i libconcrtd:SearchAlgorithms.obj + 0002:001d10f0 ?SearchCacheLocal@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 007150f0 f libconcrtd:SearchAlgorithms.obj + 0002:001d1780 ?SearchCacheLocalYield@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 00715780 f libconcrtd:SearchAlgorithms.obj + 0002:001d1d00 ?SearchCacheLocal_Realized@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@PAVScheduleGroupSegmentBase@23@_NW4SearchAffinity@123@K3@Z 00715d00 f libconcrtd:SearchAlgorithms.obj + 0002:001d1ed0 ?SearchCacheLocal_Runnables@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@PAVScheduleGroupSegmentBase@23@_NW4SearchAffinity@123@K3@Z 00715ed0 f libconcrtd:SearchAlgorithms.obj + 0002:001d20d0 ?SearchCacheLocal_Unrealized@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@PAVScheduleGroupSegmentBase@23@_NW4SearchAffinity@123@K3@Z 007160d0 f libconcrtd:SearchAlgorithms.obj + 0002:001d22b0 ?SearchFair@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 007162b0 f libconcrtd:SearchAlgorithms.obj + 0002:001d2520 ?SearchFairYield@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 00716520 f libconcrtd:SearchAlgorithms.obj + 0002:001d2770 ?SearchFair_Realized@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@_N@Z 00716770 f libconcrtd:SearchAlgorithms.obj + 0002:001d2880 ?SearchFair_Runnables@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@@Z 00716880 f libconcrtd:SearchAlgorithms.obj + 0002:001d2940 ?SearchFair_Unrealized@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingRing@23@_N@Z 00716940 f libconcrtd:SearchAlgorithms.obj + 0002:001d2a60 ?ServiceMark@ScheduleGroupSegmentBase@details@Concurrency@@QAEX_K@Z 00716a60 f i libconcrtd:SearchAlgorithms.obj + 0002:001d2ab0 ?ServiceMark@VirtualProcessor@details@Concurrency@@QAEX_K@Z 00716ab0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d2b00 ?SetPseudoRRAffineScheduleGroupSegmentNext@SchedulingRing@details@Concurrency@@QAEXH@Z 00716b00 f i libconcrtd:SearchAlgorithms.obj + 0002:001d2b80 ?SetPseudoRRNonAffineScheduleGroupSegmentNext@SchedulingRing@details@Concurrency@@QAEXH@Z 00716b80 f i libconcrtd:SearchAlgorithms.obj + 0002:001d2c00 ?SkipSegmentSearch@WorkSearchContext@details@Concurrency@@AAE_NPAVScheduleGroupSegmentBase@23@0W4SearchAffinity@123@_N@Z 00716c00 f libconcrtd:SearchAlgorithms.obj + 0002:001d2d80 ?StealForeignLocalRunnable@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingNode@23@@Z 00716d80 f libconcrtd:SearchAlgorithms.obj + 0002:001d2e10 ?StealLocalRunnable@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVSchedulingNode@23@PAVVirtualProcessor@23@@Z 00716e10 f libconcrtd:SearchAlgorithms.obj + 0002:001d2ec0 ?StealLocalRunnableContext@VirtualProcessor@details@Concurrency@@AAEPAVInternalContextBase@23@XZ 00716ec0 f i libconcrtd:SearchAlgorithms.obj + 0002:001d2f30 ?TransferReferences@WorkItem@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00716f30 f libconcrtd:SearchAlgorithms.obj + 0002:001d3030 ??$_As@VSchedulingNode@details@Concurrency@@@location@Concurrency@@QBEPAVSchedulingNode@details@1@XZ 00717030 f i libconcrtd:location.obj + 0002:001d3050 ??0location@Concurrency@@QAE@W4_Type@01@IIPAX@Z 00717050 f libconcrtd:location.obj + 0002:001d30d0 ?ContainsResourceId@SchedulingNode@details@Concurrency@@QAE_NI@Z 007170d0 f i libconcrtd:location.obj + 0002:001d3100 ?Exists@?$Hash@II@details@Concurrency@@QAE_NABI@Z 00717100 f i libconcrtd:location.obj + 0002:001d3160 ?GetNumaNodeNumber@SchedulingNode@details@Concurrency@@QBEKXZ 00717160 f i libconcrtd:location.obj + 0002:001d3180 ?Id@SchedulingNode@details@Concurrency@@QBEHXZ 00717180 f i libconcrtd:location.obj + 0002:001d31a0 ?_Current_node@location@Concurrency@@SA?AV12@XZ 007171a0 f libconcrtd:location.obj + 0002:001d3350 ?_FastNodeIntersects@location@Concurrency@@QBE_NABV12@@Z 00717350 f libconcrtd:location.obj + 0002:001d3440 ?_FastVPIntersects@location@Concurrency@@QBE_NABV12@@Z 00717440 f libconcrtd:location.obj + 0002:001d3550 ?current@location@Concurrency@@SA?AV12@XZ 00717550 f libconcrtd:location.obj + 0002:001d36f0 ?from_numa_node@location@Concurrency@@SA?AV12@G@Z 007176f0 f libconcrtd:location.obj + 0002:001d3760 ??0ThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 00717760 f libconcrtd:ThreadVirtualProcessor.obj + 0002:001d37f0 ??1ThreadVirtualProcessor@details@Concurrency@@UAE@XZ 007177f0 f libconcrtd:ThreadVirtualProcessor.obj + 0002:001d3820 ??_EThreadVirtualProcessor@details@Concurrency@@UAEPAXI@Z 00717820 f i libconcrtd:ThreadVirtualProcessor.obj + 0002:001d3820 ??_GThreadVirtualProcessor@details@Concurrency@@UAEPAXI@Z 00717820 f i libconcrtd:ThreadVirtualProcessor.obj + 0002:001d3860 ??0UMSBackgroundPoller@details@Concurrency@@QAE@XZ 00717860 f libconcrtd:UMSBackgroundPoller.obj + 0002:001d38f0 ??0_Scoped_lock@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@AAV123@@Z 007178f0 f i libconcrtd:UMSBackgroundPoller.obj + 0002:001d3920 ??1UMSBackgroundPoller@details@Concurrency@@QAE@XZ 00717920 f libconcrtd:UMSBackgroundPoller.obj + 0002:001d3940 ??1_Scoped_lock@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 00717940 f i libconcrtd:UMSBackgroundPoller.obj + 0002:001d3990 ?DoPolling@UMSBackgroundPoller@details@Concurrency@@QAE_NXZ 00717990 f libconcrtd:UMSBackgroundPoller.obj + 0002:001d3b00 ?InsertProxyInCompletionWhenAwake@UMSBackgroundPoller@details@Concurrency@@QAEXPAVUMSThreadProxy@23@PAVUMSSchedulerProxy@23@@Z 00717b00 f libconcrtd:UMSBackgroundPoller.obj + 0002:001d3b90 ??0IUMSCompletionList@Concurrency@@QAE@XZ 00717b90 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d3bb0 ??0UMSSchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 00717bb0 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d3df0 ??1UMSSchedulerProxy@details@Concurrency@@QAE@XZ 00717df0 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d3f00 ??_GUMSSchedulerProxy@details@Concurrency@@QAEPAXI@Z 00717f00 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d3f40 ?BindContext@UMSSchedulerProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00717f40 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d3fe0 ?CreateVirtualProcessorRoot@UMSSchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 00717fe0 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d40d0 ?CriticalNotify@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAEXXZ 007180d0 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d40f0 ?DeleteThis@UMSSchedulerProxy@details@Concurrency@@MAEXXZ 007180f0 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d4110 ?GetCompletionListItems@UMSSchedulerProxy@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 00718110 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d4210 ?GetNewThreadProxy@UMSSchedulerProxy@details@Concurrency@@UAEPAUIThreadProxy@3@PAUIExecutionContext@3@@Z 00718210 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d4310 ?GetUnblockNotifications@UMSSchedulerProxy@details@Concurrency@@UAEPAUIUMSUnblockNotification@3@XZ 00718310 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d4350 ?HandleCompletion@UMSSchedulerProxy@details@Concurrency@@AAE_NPAVUMSThreadProxy@23@@Z 00718350 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d44e0 ?MessagedYield@UMSThreadProxy@details@Concurrency@@QAE_NXZ 007184e0 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d4520 ?PushPolledCompletion@UMSSchedulerProxy@details@Concurrency@@AAEXPAVUMSThreadProxy@23@@Z 00718520 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d4560 ?Release@UMSSchedulerProxy@details@Concurrency@@QAEJXZ 00718560 f i libconcrtd:UMSSchedulerProxy.obj + 0002:001d45c0 ?SweepCompletionList@UMSSchedulerProxy@details@Concurrency@@QAE_NPAVUMSThreadProxy@23@_N@Z 007185c0 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d4710 ?UnbindContext@UMSSchedulerProxy@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00718710 f libconcrtd:UMSSchedulerProxy.obj + 0002:001d47d0 ??0InitialThreadParam@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAV123@@Z 007187d0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4850 ??0ScopedCriticalRegion@UMSThreadProxy@details@Concurrency@@QAE@XZ 00718850 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d48b0 ??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z 007188b0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4ab0 ??1InitialThreadParam@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@XZ 00718ab0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4ae0 ??1ScopedCriticalRegion@UMSThreadProxy@details@Concurrency@@QAE@XZ 00718ae0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4b60 ??1UMSFreeVirtualProcessorRoot@details@Concurrency@@UAE@XZ 00718b60 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4bde ??_EUMSFreeVirtualProcessorRoot@details@Concurrency@@W3AEPAXI@Z 00718bde f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4be8 ??_EUMSFreeVirtualProcessorRoot@details@Concurrency@@W7AEPAXI@Z 00718be8 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4c00 ??_GUMSFreeVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00718c00 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4c00 ??_EUMSFreeVirtualProcessorRoot@details@Concurrency@@UAEPAXI@Z 00718c00 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4c40 ?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00718c40 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d4f40 ?Affinitize@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXPAVUMSFreeThreadProxy@23@_N@Z 00718f40 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5170 ?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 00719170 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5310 ?CriticalBlockAndExecute@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXPAVUMSFreeThreadProxy@23@@Z 00719310 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5470 ?Deactivate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAE_NPAUIExecutionContext@3@@Z 00719470 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d57b0 ?DeleteThis@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXXZ 007197b0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d58d0 ?EnsureAllTasksVisible@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 007198d0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5a90 ?Execute@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXPAVUMSFreeThreadProxy@23@_N1@Z 00719a90 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5cc0 ?GetCompletionList@UMSSchedulerProxy@details@Concurrency@@QBEPAXXZ 00719cc0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5ce0 ?GetCompletionListEvent@UMSSchedulerProxy@details@Concurrency@@QBEPAXXZ 00719ce0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d00 ?GetId@UMSFreeVirtualProcessorRoot@details@Concurrency@@UBEIXZ 00719d00 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d15 ?GetId@UMSFreeVirtualProcessorRoot@details@Concurrency@@W7BEIXZ 00719d15 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d20 ?GetResourceManager@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAEPAVResourceManager@23@XZ 00719d20 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d50 ?GetThreadHandle@UMSThreadProxy@details@Concurrency@@QAEPAXXZ 00719d50 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d70 ?GetTransferListEvent@UMSSchedulerProxy@details@Concurrency@@QBEPAXXZ 00719d70 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5d90 ?GetUMSBackgroundPoller@TransmogrifiedPrimary@details@Concurrency@@QAEPAVUMSBackgroundPoller@23@XZ 00719d90 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5db0 ?GetUMSBackgroundPoller@UMSFreeThreadProxyFactory@details@Concurrency@@QAEPAVUMSBackgroundPoller@23@XZ 00719db0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5dd0 ?HandleBlocking@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXPAVUMSFreeThreadProxy@23@_N@Z 00719dd0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d5f60 ?HandleYielding@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXPAVUMSFreeThreadProxy@23@@Z 00719f60 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6420 ?InternalDeactivate@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAE_NXZ 0071a420 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6600 ?InvokeSchedulingContext@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEX_N@Z 0071a600 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6670 ?IsPrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAE_NXZ 0071a670 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6680 ?OnPrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAE_NXZ 0071a680 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d66c0 ?PollForCompletion@UMSSchedulerProxy@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0071a6c0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6730 ?PrimaryInvocation@UMSFreeVirtualProcessorRoot@details@Concurrency@@CGXW4_RTL_UMS_SCHEDULER_REASON@@KPAX@Z 0071a730 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6ac0 ?PrimaryMain@UMSFreeVirtualProcessorRoot@details@Concurrency@@CGKPAX@Z 0071aac0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6bd0 ?Reference@UMSSchedulerProxy@details@Concurrency@@QAEJXZ 0071abd0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6c00 ?ResetOnIdle@UMSFreeVirtualProcessorRoot@details@Concurrency@@QAEXXZ 0071ac00 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6db0 ?SchedulerProxy@UMSFreeVirtualProcessorRoot@details@Concurrency@@IAEPAVUMSSchedulerProxy@23@XZ 0071adb0 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6e00 ?SetAffinity@UMSFreeThreadProxy@details@Concurrency@@QAEXUHardwareAffinity@23@@Z 0071ae00 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6e70 ?SetShutdownValidations@UMSThreadProxy@details@Concurrency@@QAEXXZ 0071ae70 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6e90 ?StartupPrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 0071ae90 f i libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6ef0 ?SwitchOut@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXW4SwitchingProxyState@3@@Z 0071aef0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6f40 ?SwitchTo@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@W4SwitchingProxyState@3@@Z 0071af40 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d7030 ?YieldToSystem@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXXZ 0071b030 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d7050 _memcpy 0071b050 f libvcruntimed:memcpy.obj + 0002:001d7730 _memmove 0071b730 f libvcruntimed:memmove.obj + 0002:001d7e10 _memset 0071be10 f libvcruntimed:memset.obj + 0002:001d7fc0 __CxxThrowException@8 0071bfc0 f libvcruntimed:throw.obj + 0002:001d80a0 ??$?0AAViterator@TryBlockMap@__FrameHandler3@@AAV012@$0A@@?$pair@Viterator@TryBlockMap@__FrameHandler3@@V123@@std@@QAE@AAViterator@TryBlockMap@__FrameHandler3@@0@Z 0071c0a0 f i libvcruntimed:trnsctrl.obj + 0002:001d8100 ??$forward@AAViterator@TryBlockMap@__FrameHandler3@@@std@@YAAAViterator@TryBlockMap@__FrameHandler3@@AAV123@@Z 0071c100 f i libvcruntimed:trnsctrl.obj + 0002:001d8110 ??0iterator@TryBlockMap@__FrameHandler3@@QAE@AAV12@I@Z 0071c110 f i libvcruntimed:trnsctrl.obj + 0002:001d8140 ?GetRangeOfTrysToCheck@__FrameHandler3@@SA?AU?$pair@Viterator@TryBlockMap@__FrameHandler3@@V123@@std@@AAVTryBlockMap@1@HPAXPBU_s_FuncInfo@@H@Z 0071c140 f libvcruntimed:trnsctrl.obj + 0002:001d8260 ?_CallCatchBlock2@@YAPAXPAUEHRegistrationNode@@PBU_s_FuncInfo@@PAXHK@Z 0071c260 f libvcruntimed:trnsctrl.obj + 0002:001d82f0 ?_CallSETranslator@@YAHPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAX2PBU_s_FuncInfo@@H1@Z 0071c2f0 f libvcruntimed:trnsctrl.obj + 0002:001d8430 ?_JumpToContinuation@@YGXPAXPAUEHRegistrationNode@@@Z 0071c430 f libvcruntimed:trnsctrl.obj + 0002:001d8470 ?_UnwindNestedFrames@@YGXPAUEHRegistrationNode@@PAUEHExceptionRecord@@@Z 0071c470 f libvcruntimed:trnsctrl.obj + 0002:001d84e0 __CatchGuardHandler 0071c4e0 f libvcruntimed:trnsctrl.obj + 0002:001d8540 __CreateFrameInfo 0071c540 f libvcruntimed:trnsctrl.obj + 0002:001d8580 __FindAndUnlinkFrame 0071c580 f libvcruntimed:trnsctrl.obj + 0002:001d8620 __TranslatorGuardHandler 0071c620 f libvcruntimed:trnsctrl.obj + 0002:001d8700 ___CxxFrameHandler 0071c700 f libvcruntimed:trnsctrl.obj + 0002:001d8750 ___CxxFrameHandler2 0071c750 f libvcruntimed:trnsctrl.obj + 0002:001d87a0 ___CxxFrameHandler3 0071c7a0 f libvcruntimed:trnsctrl.obj + 0002:001d87f0 ___CxxLongjmpUnwind@4 0071c7f0 f libvcruntimed:trnsctrl.obj + 0002:001d8840 ??$__crt_interlocked_exchange_pointer@$$A6AXXZP6AXXZ@@YAP6AXXZPDS6AXXZQ6AXXZ@Z 0071c840 f i libvcruntimed:purevirt.obj + 0002:001d8850 ??$__crt_interlocked_read_pointer@$$A6AXXZ@@YAP6AXXZPDS6AXXZ@Z 0071c850 f i libvcruntimed:purevirt.obj + 0002:001d8870 ?__crt_interlocked_read_32@@YAHPDH@Z 0071c870 f i libvcruntimed:purevirt.obj + 0002:001d8890 __get_purecall_handler 0071c890 f libvcruntimed:purevirt.obj + 0002:001d88b0 __purecall 0071c8b0 f libvcruntimed:purevirt.obj + 0002:001d88f0 __set_purecall_handler 0071c8f0 f libvcruntimed:purevirt.obj + 0002:001d8910 ??$?RD@__crt_public_free_policy@@QBEXQBD@Z 0071c910 f i libvcruntimed:std_exception.obj + 0002:001d8930 ??0?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QAE@QAD@Z 0071c930 f i libvcruntimed:std_exception.obj + 0002:001d8950 ??1?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QAE@XZ 0071c950 f i libvcruntimed:std_exception.obj + 0002:001d8970 ??B?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QBE_NXZ 0071c970 f i libvcruntimed:std_exception.obj + 0002:001d8990 ?detach@?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QAEPADXZ 0071c990 f i libvcruntimed:std_exception.obj + 0002:001d89c0 ?get@?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QBEPADXZ 0071c9c0 f i libvcruntimed:std_exception.obj + 0002:001d89e0 ?is_valid@?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QBE_NXZ 0071c9e0 f i libvcruntimed:std_exception.obj + 0002:001d8a20 ?release@?$__crt_unique_heap_ptr@DU__crt_public_free_policy@@@@QAEXXZ 0071ca20 f i libvcruntimed:std_exception.obj + 0002:001d8a50 ___std_exception_copy 0071ca50 f libvcruntimed:std_exception.obj + 0002:001d8b80 ___std_exception_destroy 0071cb80 f libvcruntimed:std_exception.obj + 0002:001d8dd0 _memcmp 0071cdd0 f libvcruntimed:memcmp.obj + 0002:001d98d0 _memchr 0071d8d0 f libvcruntimed:memchr.obj + 0002:001d99b0 ___uncaught_exception 0071d9b0 f libvcruntimed:uncaught_exception.obj + 0002:001d9a90 __except_handler4 0071da90 f libvcruntimed:chandler4.obj + 0002:001d9cf0 ___vcrt_initialize 0071dcf0 f libvcruntimed:initialization.obj + 0002:001d9d30 ___vcrt_thread_attach 0071dd30 f libvcruntimed:initialization.obj + 0002:001d9d50 ___vcrt_thread_detach 0071dd50 f libvcruntimed:initialization.obj + 0002:001d9d70 ___vcrt_uninitialize 0071dd70 f libvcruntimed:initialization.obj + 0002:001d9d90 ___vcrt_uninitialize_critical 0071dd90 f libvcruntimed:initialization.obj + 0002:001d9db0 ___vcrt_GetModuleFileNameW 0071ddb0 f libvcruntimed:winapi_thunks.obj + 0002:001d9dd0 ___vcrt_GetModuleHandleW 0071ddd0 f libvcruntimed:winapi_thunks.obj + 0002:001d9df0 ___vcrt_LoadLibraryExW 0071ddf0 f libvcruntimed:winapi_thunks.obj + 0002:001d9e10 ?@_Closure_wrapper_b3626920_1@@CAPAXI@Z 0071de10 f i libvcruntimed:std_type_info.obj + 0002:001d9e30 ?@_Closure_wrapper_b3626920_2@@CAXQAX@Z 0071de30 f i libvcruntimed:std_type_info.obj + 0002:001d9e50 ??$?RD@__crt_internal_free_policy@@QBEXQBD@Z 0071de50 f i libvcruntimed:std_type_info.obj + 0002:001d9e80 ??$?RX@__crt_internal_free_policy@@QBEXQBX@Z 0071de80 f i libvcruntimed:std_type_info.obj + 0002:001d9eb0 ??$__crt_interlocked_compare_exchange_pointer@$$CBDPAD$$T@@YAPBDPDSBDQAD$$T@Z 0071deb0 f i libvcruntimed:std_type_info.obj + 0002:001d9ed0 ??$__crt_interlocked_read_pointer@$$CBD@@YAPBDPDSBD@Z 0071ded0 f i libvcruntimed:std_type_info.obj + 0002:001d9ef0 ??0?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAE@QAD@Z 0071def0 f i libvcruntimed:std_type_info.obj + 0002:001d9f10 ??0?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QAE@QAX@Z 0071df10 f i libvcruntimed:std_type_info.obj + 0002:001d9f30 ??1?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAE@XZ 0071df30 f i libvcruntimed:std_type_info.obj + 0002:001d9f50 ??1?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QAE@XZ 0071df50 f i libvcruntimed:std_type_info.obj + 0002:001d9f70 ??B?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QBE_NXZ 0071df70 f i libvcruntimed:std_type_info.obj + 0002:001d9f90 ??B?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QBE_NXZ 0071df90 f i libvcruntimed:std_type_info.obj + 0002:001d9fb0 ??B_Closure_wrapper_b3626920_1@@QBEP6APAXI@ZXZ 0071dfb0 f i libvcruntimed:std_type_info.obj + 0002:001d9fd0 ??B_Closure_wrapper_b3626920_2@@QBEP6AXQAX@ZXZ 0071dfd0 f i libvcruntimed:std_type_info.obj + 0002:001da050 ?detach@?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QAEPAXXZ 0071e050 f i libvcruntimed:std_type_info.obj + 0002:001da080 ?get@?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QBEPADXZ 0071e080 f i libvcruntimed:std_type_info.obj + 0002:001da0a0 ?get@?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QBEPAXXZ 0071e0a0 f i libvcruntimed:std_type_info.obj + 0002:001da0c0 ?is_valid@?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QBE_NXZ 0071e0c0 f i libvcruntimed:std_type_info.obj + 0002:001da100 ?is_valid@?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QBE_NXZ 0071e100 f i libvcruntimed:std_type_info.obj + 0002:001da140 ?release@?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAEXXZ 0071e140 f i libvcruntimed:std_type_info.obj + 0002:001da170 ?release@?$__crt_unique_heap_ptr@XU__crt_internal_free_policy@@@@QAEXXZ 0071e170 f i libvcruntimed:std_type_info.obj + 0002:001da1a0 ___std_type_info_compare 0071e1a0 f libvcruntimed:std_type_info.obj + 0002:001da1d0 ___std_type_info_destroy_list 0071e1d0 f libvcruntimed:std_type_info.obj + 0002:001da220 ___std_type_info_hash 0071e220 f libvcruntimed:std_type_info.obj + 0002:001da290 ___std_type_info_name 0071e290 f libvcruntimed:std_type_info.obj + 0002:001da4e0 ??0__non_rtti_object@std@@AAE@QBDH@Z 0071e4e0 f i libvcruntimed:rtti.obj + 0002:001da510 ??0__non_rtti_object@std@@QAE@ABV01@@Z 0071e510 f i libvcruntimed:rtti.obj + 0002:001da540 ??0bad_cast@std@@AAE@QBDH@Z 0071e540 f i libvcruntimed:rtti.obj + 0002:001da570 ??0bad_typeid@std@@AAE@QBDH@Z 0071e570 f i libvcruntimed:rtti.obj + 0002:001da5a0 ??0bad_typeid@std@@QAE@ABV01@@Z 0071e5a0 f i libvcruntimed:rtti.obj + 0002:001da5d0 ??1__non_rtti_object@std@@UAE@XZ 0071e5d0 f i libvcruntimed:rtti.obj + 0002:001da5f0 ??1bad_typeid@std@@UAE@XZ 0071e5f0 f i libvcruntimed:rtti.obj + 0002:001da610 ??_G__non_rtti_object@std@@UAEPAXI@Z 0071e610 f i libvcruntimed:rtti.obj + 0002:001da610 ??_E__non_rtti_object@std@@UAEPAXI@Z 0071e610 f i libvcruntimed:rtti.obj + 0002:001da650 ??_Ebad_typeid@std@@UAEPAXI@Z 0071e650 f i libvcruntimed:rtti.obj + 0002:001da650 ??_Gbad_typeid@std@@UAEPAXI@Z 0071e650 f i libvcruntimed:rtti.obj + 0002:001dae40 ?__construct_from_string_literal@__non_rtti_object@std@@SA?AV12@QBD@Z 0071ee40 f i libvcruntimed:rtti.obj + 0002:001dae60 ?__construct_from_string_literal@bad_cast@std@@SA?AV12@QBD@Z 0071ee60 f i libvcruntimed:rtti.obj + 0002:001dae80 ?__construct_from_string_literal@bad_typeid@std@@SA?AV12@QBD@Z 0071ee80 f i libvcruntimed:rtti.obj + 0002:001daea0 ___RTCastToVoid 0071eea0 f libvcruntimed:rtti.obj + 0002:001dafa0 ___RTDynamicCast 0071efa0 f libvcruntimed:rtti.obj + 0002:001db1e0 ___RTtypeid 0071f1e0 f libvcruntimed:rtti.obj + 0002:001db340 ??$?RU__vcrt_ptd@@@__crt_internal_free_policy@@QBEXQBU__vcrt_ptd@@@Z 0071f340 f i libvcruntimed:per_thread_data.obj + 0002:001db370 ??0?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QAE@QAU__vcrt_ptd@@@Z 0071f370 f i libvcruntimed:per_thread_data.obj + 0002:001db3b0 ??1?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QAE@XZ 0071f3b0 f i libvcruntimed:per_thread_data.obj + 0002:001db3f0 ??B?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QBE_NXZ 0071f3f0 f i libvcruntimed:per_thread_data.obj + 0002:001db410 ?detach@?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QAEPAU__vcrt_ptd@@XZ 0071f410 f i libvcruntimed:per_thread_data.obj + 0002:001db440 ?get@?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QBEPAU__vcrt_ptd@@XZ 0071f440 f i libvcruntimed:per_thread_data.obj + 0002:001db460 ?is_valid@?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QBE_NXZ 0071f460 f i libvcruntimed:per_thread_data.obj + 0002:001db4a0 ?release@?$__crt_unique_heap_ptr@U__vcrt_ptd@@U__crt_internal_free_policy@@@@QAEXXZ 0071f4a0 f i libvcruntimed:per_thread_data.obj + 0002:001db500 ___vcrt_freefls@4 0071f500 f libvcruntimed:per_thread_data.obj + 0002:001db530 ___vcrt_freeptd 0071f530 f libvcruntimed:per_thread_data.obj + 0002:001db5a0 ___vcrt_getptd 0071f5a0 f libvcruntimed:per_thread_data.obj + 0002:001db5d0 ___vcrt_getptd_noexit 0071f5d0 f libvcruntimed:per_thread_data.obj + 0002:001db780 ___vcrt_getptd_noinit 0071f780 f libvcruntimed:per_thread_data.obj + 0002:001db7f0 ___vcrt_initialize_ptd 0071f7f0 f libvcruntimed:per_thread_data.obj + 0002:001db850 ___vcrt_uninitialize_ptd 0071f850 f libvcruntimed:per_thread_data.obj + 0002:001dc790 ??$TypeMatchHelper@V__FrameHandler3@@@@YAHPBU_s_HandlerType@@PBU_s_CatchableType@@PBU_s_ThrowInfo@@@Z 00720790 f i libvcruntimed:frame.obj + 0002:001dc8a0 ??$__InternalCxxFrameHandler@V__FrameHandler3@@@@YA?AW4_EXCEPTION_DISPOSITION@@PAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PAXPBU_s_FuncInfo@@H1E@Z 007208a0 f i libvcruntimed:frame.obj + 0002:001dcb00 ??0HandlerMap@__FrameHandler3@@QAE@PBU_s_TryBlockMapEntry@@II@Z 00720b00 f i libvcruntimed:frame.obj + 0002:001dcb30 ??0TryBlockMap@__FrameHandler3@@QAE@PBU_s_FuncInfo@@I@Z 00720b30 f i libvcruntimed:frame.obj + 0002:001dcb60 ??0bad_exception@std@@QAE@ABV01@@Z 00720b60 f i libvcruntimed:frame.obj + 0002:001dcb90 ??0bad_exception@std@@QAE@XZ 00720b90 f i libvcruntimed:frame.obj + 0002:001dcbc0 ??0iterator@HandlerMap@__FrameHandler3@@QAE@AAV12@I@Z 00720bc0 f i libvcruntimed:frame.obj + 0002:001dcbf0 ??1bad_exception@std@@UAE@XZ 00720bf0 f i libvcruntimed:frame.obj + 0002:001dcc10 ??8iterator@HandlerMap@__FrameHandler3@@QBE_NABV012@@Z 00720c10 f i libvcruntimed:frame.obj + 0002:001dcc50 ??8type_info@@QBE_NABV0@@Z 00720c50 f i libvcruntimed:frame.obj + 0002:001dcca0 ??9iterator@HandlerMap@__FrameHandler3@@QBE_NABV012@@Z 00720ca0 f i libvcruntimed:frame.obj + 0002:001dccf0 ??Diterator@HandlerMap@__FrameHandler3@@QAE?BU_s_HandlerType@@XZ 00720cf0 f i libvcruntimed:frame.obj + 0002:001dcd40 ??Diterator@TryBlockMap@__FrameHandler3@@QAE?BU_s_TryBlockMapEntry@@XZ 00720d40 f i libvcruntimed:frame.obj + 0002:001dcda0 ??Eiterator@HandlerMap@__FrameHandler3@@QAEAAV012@XZ 00720da0 f i libvcruntimed:frame.obj + 0002:001dcdd0 ??Eiterator@TryBlockMap@__FrameHandler3@@QAEAAV012@XZ 00720dd0 f i libvcruntimed:frame.obj + 0002:001dce00 ??Miterator@TryBlockMap@__FrameHandler3@@QBE_NABV012@@Z 00720e00 f i libvcruntimed:frame.obj + 0002:001dce40 ??_Gbad_exception@std@@UAEPAXI@Z 00720e40 f i libvcruntimed:frame.obj + 0002:001dce40 ??_Ebad_exception@std@@UAEPAXI@Z 00720e40 f i libvcruntimed:frame.obj + 0002:001dce80 ?BuildCatchObject@__FrameHandler3@@SAXPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 00720e80 f libvcruntimed:frame.obj + 0002:001dceb0 ?BuildCatchObjectHelper@__FrameHandler3@@SAHPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 00720eb0 f libvcruntimed:frame.obj + 0002:001dd330 ?FrameUnwindToEmptyState@__FrameHandler3@@SAXPAUEHRegistrationNode@@PAXPBU_s_FuncInfo@@@Z 00721330 f libvcruntimed:frame.obj + 0002:001dd360 ?FrameUnwindToState@__FrameHandler3@@SAXPAUEHRegistrationNode@@PAXPBU_s_FuncInfo@@H@Z 00721360 f libvcruntimed:frame.obj + 0002:001dd540 ?GetMaxState@__FrameHandler3@@SAHPAXPBU_s_FuncInfo@@@Z 00721540 f i libvcruntimed:frame.obj + 0002:001dd6a0 ?TypeMatch@__FrameHandler3@@SAHPBU_s_HandlerType@@PBU_s_CatchableType@@PBU_s_ThrowInfo@@@Z 007216a0 f libvcruntimed:frame.obj + 0002:001dd6c0 ?_CallMemberFunction1@@YGXQAX00@Z 007216c0 f i libvcruntimed:frame.obj + 0002:001dd6f0 ?_CallMemberFunction2@@YGXQAX00H@Z 007216f0 f i libvcruntimed:frame.obj + 0002:001dd720 ?_ValidateExecute@@YA_NP6GHXZ@Z 00721720 f i libvcruntimed:frame.obj + 0002:001dd740 ?_ValidateRead@@YA_NPBXI@Z 00721740 f i libvcruntimed:frame.obj + 0002:001dd760 ?_ValidateWrite@@YA_NPAXI@Z 00721760 f i libvcruntimed:frame.obj + 0002:001dd780 ?begin@HandlerMap@__FrameHandler3@@QAE?AViterator@12@XZ 00721780 f i libvcruntimed:frame.obj + 0002:001dd7b0 ?end@HandlerMap@__FrameHandler3@@QAE?AViterator@12@XZ 007217b0 f i libvcruntimed:frame.obj + 0002:001dd7e0 ?getESTypes@__FrameHandler3@@SAPBU_s_ESTypeList@@PBU_s_FuncInfo@@@Z 007217e0 f i libvcruntimed:frame.obj + 0002:001dd7f0 ?getLastEntry@HandlerMap@__FrameHandler3@@QAEPBU_s_HandlerType@@XZ 007217f0 f i libvcruntimed:frame.obj + 0002:001dd820 ?getMagicNum@__FrameHandler3@@SAIPBU_s_FuncInfo@@@Z 00721820 f i libvcruntimed:frame.obj + 0002:001dd840 ?getNumTryBlocks@TryBlockMap@__FrameHandler3@@QAEIXZ 00721840 f i libvcruntimed:frame.obj + 0002:001dd860 ?isEHs@__FrameHandler3@@SA_NPBU_s_FuncInfo@@@Z 00721860 f i libvcruntimed:frame.obj + 0002:001dd890 ?isNoExcept@__FrameHandler3@@SA_NPBU_s_FuncInfo@@@Z 00721890 f i libvcruntimed:frame.obj + 0002:001dd8c0 ___BuildCatchObject 007218c0 f libvcruntimed:frame.obj + 0002:001dd8f0 ___BuildCatchObjectHelper 007218f0 f libvcruntimed:frame.obj + 0002:001dd920 ___TypeMatch 00721920 f libvcruntimed:frame.obj + 0002:001dd940 ___vcrt_EncodePointer 00721940 f i libvcruntimed:frame.obj + 0002:001dd960 __CallSettingFrame@12 00721960 f libvcruntimed:lowhelpr.obj + 0002:001dd987 __NLG_Return 00721987 libvcruntimed:lowhelpr.obj + 0002:001dd9d0 ___except_validate_context_record 007219d0 f libvcruntimed:jbcxrval.obj + 0002:001dda30 ___except_validate_jump_buffer 00721a30 f libvcruntimed:jbcxrval.obj + 0002:001dda50 ___except_validate_jump_buffer_common 00721a50 f i libvcruntimed:jbcxrval.obj + 0002:001ddac0 __local_unwind4 00721ac0 f libvcruntimed:exsup4.obj + 0002:001ddb98 __seh_longjmp_unwind4@4 00721b98 f libvcruntimed:exsup4.obj + 0002:001ddbc0 @_EH4_CallFilterFunc@8 00721bc0 f libvcruntimed:exsup4.obj + 0002:001ddbd8 @_EH4_TransferToHandler@8 00721bd8 f libvcruntimed:exsup4.obj + 0002:001ddbf4 @_EH4_GlobalUnwind2@8 00721bf4 f libvcruntimed:exsup4.obj + 0002:001ddc10 @_EH4_LocalUnwind@16 00721c10 f libvcruntimed:exsup4.obj + 0002:001ddc80 ___vcrt_initialize_locks 00721c80 f libvcruntimed:locks.obj + 0002:001ddcf0 ___vcrt_lock 00721cf0 f libvcruntimed:locks.obj + 0002:001ddd10 ___vcrt_uninitialize_locks 00721d10 f libvcruntimed:locks.obj + 0002:001ddd70 ___vcrt_unlock 00721d70 f libvcruntimed:locks.obj + 0002:001ddd90 ??0Block@_HeapManager@@QAE@XZ 00721d90 f i libvcruntimed:undname.obj + 0002:001dddb0 ??0DName@@QAE@AAPBDD@Z 00721db0 f libvcruntimed:undname.obj + 0002:001de060 ??0DName@@QAE@ABV0@@Z 00722060 f i libvcruntimed:undname.obj + 0002:001de090 ??0DName@@QAE@D@Z 00722090 f libvcruntimed:undname.obj + 0002:001de0e0 ??0DName@@QAE@PAV0@@Z 007220e0 f libvcruntimed:undname.obj + 0002:001de1c0 ??0DName@@QAE@PBD@Z 007221c0 f libvcruntimed:undname.obj + 0002:001de230 ??0DName@@QAE@W4DNameStatus@@@Z 00722230 f libvcruntimed:undname.obj + 0002:001de2f0 ??0DName@@QAE@XZ 007222f0 f i libvcruntimed:undname.obj + 0002:001de320 ??0DName@@QAE@_J@Z 00722320 f libvcruntimed:undname.obj + 0002:001de440 ??0DName@@QAE@_K@Z 00722440 f libvcruntimed:undname.obj + 0002:001de510 ??0DNameNode@@IAE@XZ 00722510 f i libvcruntimed:undname.obj + 0002:001de530 ??0Replicator@@QAE@XZ 00722530 f i libvcruntimed:undname.obj + 0002:001de580 ??0UnDecorator@@QAE@PBDP6APADJ@ZK@Z 00722580 f i libvcruntimed:undname.obj + 0002:001de620 ??0charNode@@QAE@D@Z 00722620 f i libvcruntimed:undname.obj + 0002:001de660 ??0pDNameNode@@QAE@PAVDName@@@Z 00722660 f libvcruntimed:undname.obj + 0002:001de6e0 ??0pairNode@@QAE@PBVDNameNode@@0@Z 007226e0 f i libvcruntimed:undname.obj + 0002:001de730 ??0pcharNode@@QAE@PBDH@Z 00722730 f libvcruntimed:undname.obj + 0002:001de810 ??2@YAPAXIAAV_HeapManager@@H@Z 00722810 f i libvcruntimed:undname.obj + 0002:001de830 ??4DName@@QAEAAV0@ABV0@@Z 00722830 f libvcruntimed:undname.obj + 0002:001de860 ??4DName@@QAEAAV0@D@Z 00722860 f i libvcruntimed:undname.obj + 0002:001de8b0 ??4DName@@QAEAAV0@PAV0@@Z 007228b0 f libvcruntimed:undname.obj + 0002:001de970 ??4DName@@QAEAAV0@PBD@Z 00722970 f libvcruntimed:undname.obj + 0002:001de9c0 ??4DName@@QAEAAV0@W4DNameStatus@@@Z 007229c0 f libvcruntimed:undname.obj + 0002:001dea60 ??AReplicator@@QBE?AVDName@@H@Z 00722a60 f libvcruntimed:undname.obj + 0002:001deae0 ??H@YA?AVDName@@DABV0@@Z 00722ae0 f i libvcruntimed:undname.obj + 0002:001deb20 ??H@YA?AVDName@@PBDABV0@@Z 00722b20 f i libvcruntimed:undname.obj + 0002:001deb60 ??H@YA?AVDName@@W4DNameStatus@@ABV0@@Z 00722b60 f i libvcruntimed:undname.obj + 0002:001deba0 ??HDName@@QBE?AV0@ABV0@@Z 00722ba0 f libvcruntimed:undname.obj + 0002:001debf0 ??HDName@@QBE?AV0@D@Z 00722bf0 f libvcruntimed:undname.obj + 0002:001dec40 ??HDName@@QBE?AV0@PAV0@@Z 00722c40 f libvcruntimed:undname.obj + 0002:001dec90 ??HDName@@QBE?AV0@PBD@Z 00722c90 f libvcruntimed:undname.obj + 0002:001dece0 ??HDName@@QBE?AV0@W4DNameStatus@@@Z 00722ce0 f libvcruntimed:undname.obj + 0002:001ded30 ??YDName@@QAEAAV0@ABV0@@Z 00722d30 f libvcruntimed:undname.obj + 0002:001dedb0 ??YDName@@QAEAAV0@D@Z 00722db0 f libvcruntimed:undname.obj + 0002:001dee50 ??YDName@@QAEAAV0@PAV0@@Z 00722e50 f libvcruntimed:undname.obj + 0002:001def30 ??YDName@@QAEAAV0@PBD@Z 00722f30 f libvcruntimed:undname.obj + 0002:001deff0 ??YDName@@QAEAAV0@W4DNameStatus@@@Z 00722ff0 f libvcruntimed:undname.obj + 0002:001df070 ??YReplicator@@QAEAAV0@ABVDName@@@Z 00723070 f libvcruntimed:undname.obj + 0002:001df120 ??_5DName@@QAEAAV0@ABV0@@Z 00723120 f libvcruntimed:undname.obj + 0002:001df190 ?Constructor@_HeapManager@@QAEXP6APAXI@ZP6AXPAX@Z@Z 00723190 f i libvcruntimed:undname.obj + 0002:001df1e0 ?Destructor@_HeapManager@@QAEXXZ 007231e0 f i libvcruntimed:undname.obj + 0002:001df260 ?UScore@UnDecorator@@SAPBDW4Tokens@@@Z 00723260 f libvcruntimed:undname.obj + 0002:001df2a0 ?append@DName@@AAEXPBVDNameNode@@@Z 007232a0 f libvcruntimed:undname.obj + 0002:001df350 ?composeDeclaration@UnDecorator@@CA?AVDName@@ABV2@@Z 00723350 f i libvcruntimed:undname.obj + 0002:001e1830 ?dbGetString@DName@@QBEPADXZ 00725830 f libvcruntimed:undname.obj + 0002:001e1860 ?doAccessSpecifiers@UnDecorator@@SAHXZ 00725860 f i libvcruntimed:undname.obj + 0002:001e1890 ?doAllocationLanguage@UnDecorator@@SAHXZ 00725890 f i libvcruntimed:undname.obj + 0002:001e18c0 ?doAllocationModel@UnDecorator@@SAHXZ 007258c0 f i libvcruntimed:undname.obj + 0002:001e18f0 ?doEcsu@UnDecorator@@SAHXZ 007258f0 f i libvcruntimed:undname.obj + 0002:001e1920 ?doEllipsis@UnDecorator@@SAHXZ 00725920 f i libvcruntimed:undname.obj + 0002:001e1950 ?doFunctionReturns@UnDecorator@@SAHXZ 00725950 f i libvcruntimed:undname.obj + 0002:001e1980 ?doMSKeywords@UnDecorator@@SAHXZ 00725980 f i libvcruntimed:undname.obj + 0002:001e19b0 ?doMemberTypes@UnDecorator@@SAHXZ 007259b0 f i libvcruntimed:undname.obj + 0002:001e19e0 ?doNameOnly@UnDecorator@@SAHXZ 007259e0 f i libvcruntimed:undname.obj + 0002:001e1a00 ?doNoIdentCharCheck@UnDecorator@@SAHXZ 00725a00 f i libvcruntimed:undname.obj + 0002:001e1a20 ?doPchar@DName@@AAEXPBDH@Z 00725a20 f libvcruntimed:undname.obj + 0002:001e1bb0 ?doPtr64@UnDecorator@@SAHXZ 00725bb0 f i libvcruntimed:undname.obj + 0002:001e1be0 ?doRestrictionSpec@UnDecorator@@SAHXZ 00725be0 f i libvcruntimed:undname.obj + 0002:001e1c10 ?doThisTypes@UnDecorator@@SAHXZ 00725c10 f i libvcruntimed:undname.obj + 0002:001e1c50 ?doThrowTypes@UnDecorator@@SAHXZ 00725c50 f i libvcruntimed:undname.obj + 0002:001e1c80 ?doTypeOnly@UnDecorator@@SAHXZ 00725c80 f i libvcruntimed:undname.obj + 0002:001e1ca0 ?doUnderScore@UnDecorator@@SAHXZ 00725ca0 f i libvcruntimed:undname.obj + 0002:001e1cd0 ?getArgumentList@UnDecorator@@CA?AVDName@@XZ 00725cd0 f libvcruntimed:undname.obj + 0002:001e1e70 ?getArgumentTypes@UnDecorator@@CA?AVDName@@XZ 00725e70 f libvcruntimed:undname.obj + 0002:001e2010 ?getArrayType@UnDecorator@@CA?AVDName@@ABV2@@Z 00726010 f i libvcruntimed:undname.obj + 0002:001e2320 ?getBasedType@UnDecorator@@CA?AVDName@@XZ 00726320 f libvcruntimed:undname.obj + 0002:001e2410 ?getBasicDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 00726410 f libvcruntimed:undname.obj + 0002:001e2b90 ?getCHPEName@UnDecorator@@QAEPADPADH@Z 00726b90 f i libvcruntimed:undname.obj + 0002:001e2d50 ?getCallIndex@UnDecorator@@CA?AVDName@@XZ 00726d50 f i libvcruntimed:undname.obj + 0002:001e2d70 ?getCallingConvention@UnDecorator@@CA?AVDName@@XZ 00726d70 f libvcruntimed:undname.obj + 0002:001e2fc0 ?getDataIndirectType@UnDecorator@@CA?AVDName@@ABV2@PBD0H@Z 00726fc0 f libvcruntimed:undname.obj + 0002:001e39e0 ?getDataIndirectType@UnDecorator@@CA?AVDName@@XZ 007279e0 f i libvcruntimed:undname.obj + 0002:001e3a40 ?getDataType@UnDecorator@@CA?AVDName@@PAV2@@Z 00727a40 f libvcruntimed:undname.obj + 0002:001e3ba0 ?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 00727ba0 f libvcruntimed:undname.obj + 0002:001e40a0 ?getDimension@UnDecorator@@CA?AVDName@@_N@Z 007280a0 f libvcruntimed:undname.obj + 0002:001e4400 ?getDispatchTarget@UnDecorator@@CA?AVDName@@XZ 00728400 f libvcruntimed:undname.obj + 0002:001e44d0 ?getDisplacement@UnDecorator@@CA?AVDName@@XZ 007284d0 f i libvcruntimed:undname.obj + 0002:001e44f0 ?getECSUDataType@UnDecorator@@CA?AVDName@@XZ 007284f0 f libvcruntimed:undname.obj + 0002:001e4730 ?getECSUName@UnDecorator@@CA?AVDName@@XZ 00728730 f i libvcruntimed:undname.obj + 0002:001e4750 ?getEnumType@UnDecorator@@CA?AVDName@@XZ 00728750 f i libvcruntimed:undname.obj + 0002:001e48f0 ?getExtendedDataIndirectType@UnDecorator@@CA?AVDName@@AAPBDAA_NH@Z 007288f0 f libvcruntimed:undname.obj + 0002:001e4bd0 ?getExternalDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 00728bd0 f i libvcruntimed:undname.obj + 0002:001e4c90 ?getFunctionIndirectType@UnDecorator@@CA?AVDName@@ABV2@@Z 00728c90 f libvcruntimed:undname.obj + 0002:001e5290 ?getGuardNumber@UnDecorator@@CA?AVDName@@XZ 00729290 f i libvcruntimed:undname.obj + 0002:001e52b0 ?getLastChar@DName@@QBEDXZ 007292b0 f i libvcruntimed:undname.obj + 0002:001e5300 ?getLastChar@DNameStatusNode@@UBEDXZ 00729300 f i libvcruntimed:undname.obj + 0002:001e5340 ?getLastChar@charNode@@UBEDXZ 00729340 f i libvcruntimed:undname.obj + 0002:001e5360 ?getLastChar@pDNameNode@@UBEDXZ 00729360 f i libvcruntimed:undname.obj + 0002:001e53a0 ?getLastChar@pairNode@@UBEDXZ 007293a0 f i libvcruntimed:undname.obj + 0002:001e5420 ?getLastChar@pcharNode@@UBEDXZ 00729420 f i libvcruntimed:undname.obj + 0002:001e5460 ?getLexicalFrame@UnDecorator@@CA?AVDName@@XZ 00729460 f i libvcruntimed:undname.obj + 0002:001e54b0 ?getMemory@_HeapManager@@QAEPAXIH@Z 007294b0 f libvcruntimed:undname.obj + 0002:001e5620 ?getNoexcept@UnDecorator@@CA?AVDName@@XZ 00729620 f libvcruntimed:undname.obj + 0002:001e56a0 ?getNumberOfDimensions@UnDecorator@@CAHXZ 007296a0 f libvcruntimed:undname.obj + 0002:001e57e0 ?getOperatorName@UnDecorator@@CA?AVDName@@_NPA_N@Z 007297e0 f i libvcruntimed:undname.obj + 0002:001e64e0 ?getPointerType@UnDecorator@@CA?AVDName@@ABV2@0@Z 0072a4e0 f i libvcruntimed:undname.obj + 0002:001e6520 ?getPointerTypeArray@UnDecorator@@CA?AVDName@@ABV2@0@Z 0072a520 f i libvcruntimed:undname.obj + 0002:001e6560 ?getPrimaryDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 0072a560 f libvcruntimed:undname.obj + 0002:001e6a50 ?getPtrRefDataType@UnDecorator@@CA?AVDName@@ABV2@H@Z 0072aa50 f libvcruntimed:undname.obj + 0002:001e6d00 ?getPtrRefType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 0072ad00 f libvcruntimed:undname.obj + 0002:001e6ed0 ?getReferenceType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 0072aed0 f i libvcruntimed:undname.obj + 0002:001e6f00 ?getRestrictionSpec@UnDecorator@@CA?AVDName@@XZ 0072af00 f libvcruntimed:undname.obj + 0002:001e70d0 ?getReturnType@UnDecorator@@CA?AVDName@@PAV2@@Z 0072b0d0 f libvcruntimed:undname.obj + 0002:001e7130 ?getScope@UnDecorator@@CA?AVDName@@XZ 0072b130 f libvcruntimed:undname.obj + 0002:001e77b0 ?getScopedName@UnDecorator@@CA?AVDName@@XZ 0072b7b0 f libvcruntimed:undname.obj + 0002:001e7920 ?getSignedDimension@UnDecorator@@CA?AVDName@@XZ 0072b920 f libvcruntimed:undname.obj + 0002:001e79c0 ?getStorageConvention@UnDecorator@@CA?AVDName@@XZ 0072b9c0 f i libvcruntimed:undname.obj + 0002:001e79e0 ?getString@DName@@QBEPADPAD0@Z 0072b9e0 f i libvcruntimed:undname.obj + 0002:001e7a50 ?getString@DName@@QBEPADPADH@Z 0072ba50 f i libvcruntimed:undname.obj + 0002:001e7b00 ?getString@DNameStatusNode@@UBEPADPAD0@Z 0072bb00 f i libvcruntimed:undname.obj + 0002:001e7b40 ?getString@charNode@@UBEPADPAD0@Z 0072bb40 f i libvcruntimed:undname.obj + 0002:001e7b80 ?getString@pDNameNode@@UBEPADPAD0@Z 0072bb80 f i libvcruntimed:undname.obj + 0002:001e7bd0 ?getString@pairNode@@UBEPADPAD0@Z 0072bbd0 f i libvcruntimed:undname.obj + 0002:001e7c80 ?getString@pcharNode@@UBEPADPAD0@Z 0072bc80 f i libvcruntimed:undname.obj + 0002:001e7cc0 ?getStringEncoding@UnDecorator@@CA?AVDName@@PBDH@Z 0072bcc0 f libvcruntimed:undname.obj + 0002:001e7e10 ?getStringHelper@@YAPADPADPBD1H@Z 0072be10 f i libvcruntimed:undname.obj + 0002:001e7e60 ?getSymbolName@UnDecorator@@CA?AVDName@@XZ 0072be60 f i libvcruntimed:undname.obj + 0002:001e7f10 ?getTemplateArgumentList@UnDecorator@@CA?AVDName@@XZ 0072bf10 f libvcruntimed:undname.obj + 0002:001e8270 ?getTemplateName@UnDecorator@@CA?AVDName@@_N@Z 0072c270 f libvcruntimed:undname.obj + 0002:001e84b0 ?getTemplateNonTypeArgument@UnDecorator@@CA?AVDName@@XZ 0072c4b0 f libvcruntimed:undname.obj + 0002:001e8c70 ?getTemplateTypeArgument@UnDecorator@@CA?AVDName@@XZ 0072cc70 f libvcruntimed:undname.obj + 0002:001e8e20 ?getThisType@UnDecorator@@CA?AVDName@@XZ 0072ce20 f i libvcruntimed:undname.obj + 0002:001e8e80 ?getThrowTypes@UnDecorator@@CA?AVDName@@XZ 0072ce80 f libvcruntimed:undname.obj + 0002:001e8ed0 ?getTypeEncoding@UnDecorator@@CAHXZ 0072ced0 f i libvcruntimed:undname.obj + 0002:001e9c00 ?getUndecoratedName@UnDecorator@@QAEPADPADH@Z 0072dc00 f i libvcruntimed:undname.obj + 0002:001e9da0 ?getVCallThunkType@UnDecorator@@CA?AVDName@@XZ 0072dda0 f i libvcruntimed:undname.obj + 0002:001e9e20 ?getVbTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 0072de20 f i libvcruntimed:undname.obj + 0002:001e9e40 ?getVdispMapType@UnDecorator@@CA?AVDName@@ABV2@@Z 0072de40 f i libvcruntimed:undname.obj + 0002:001e9ed0 ?getVfTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 0072ded0 f i libvcruntimed:undname.obj + 0002:001ea110 ?getZName@UnDecorator@@CA?AVDName@@_N0@Z 0072e110 f libvcruntimed:undname.obj + 0002:001ea4a0 ?haveTemplateParameters@UnDecorator@@SAHXZ 0072e4a0 f i libvcruntimed:undname.obj + 0002:001ea4c0 ?isArray@DName@@QBEHXZ 0072e4c0 f i libvcruntimed:undname.obj + 0002:001ea4e0 ?isComArray@DName@@QBEHXZ 0072e4e0 f i libvcruntimed:undname.obj + 0002:001ea500 ?isEmpty@DName@@QBEHXZ 0072e500 f i libvcruntimed:undname.obj + 0002:001ea540 ?isFull@Replicator@@QBEHXZ 0072e540 f i libvcruntimed:undname.obj + 0002:001ea580 ?isNoTE@DName@@QBEHXZ 0072e580 f i libvcruntimed:undname.obj + 0002:001ea5a0 ?isPinPtr@DName@@QBEHXZ 0072e5a0 f i libvcruntimed:undname.obj + 0002:001ea5c0 ?isPtrRef@DName@@QBEHXZ 0072e5c0 f i libvcruntimed:undname.obj + 0002:001ea5e0 ?isUDC@DName@@QBEHXZ 0072e5e0 f i libvcruntimed:undname.obj + 0002:001ea630 ?isUDTThunk@DName@@QBEHXZ 0072e630 f i libvcruntimed:undname.obj + 0002:001ea680 ?isVCallThunk@DName@@QBEHXZ 0072e680 f i libvcruntimed:undname.obj + 0002:001ea6a0 ?isValid@DName@@QBEHXZ 0072e6a0 f i libvcruntimed:undname.obj + 0002:001ea6e0 ?length@DName@@QBEHXZ 0072e6e0 f i libvcruntimed:undname.obj + 0002:001ea730 ?length@DNameStatusNode@@UBEHXZ 0072e730 f i libvcruntimed:undname.obj + 0002:001ea750 ?length@charNode@@UBEHXZ 0072e750 f i libvcruntimed:undname.obj + 0002:001ea770 ?length@pDNameNode@@UBEHXZ 0072e770 f i libvcruntimed:undname.obj + 0002:001ea7b0 ?length@pairNode@@UBEHXZ 0072e7b0 f i libvcruntimed:undname.obj + 0002:001ea840 ?length@pcharNode@@UBEHXZ 0072e840 f i libvcruntimed:undname.obj + 0002:001ea860 ?make@DNameStatusNode@@SAPBV1@W4DNameStatus@@@Z 0072e860 f i libvcruntimed:undname.obj + 0002:001ea8a0 ?parseDecoratedName@UnDecorator@@CA?AVDName@@XZ 0072e8a0 f libvcruntimed:undname.obj + 0002:001eaa70 ?setIsArray@DName@@QAEXXZ 0072ea70 f i libvcruntimed:undname.obj + 0002:001eaaa0 ?setIsComArray@DName@@QAEXXZ 0072eaa0 f i libvcruntimed:undname.obj + 0002:001eaad0 ?setIsNoTE@DName@@QAEXXZ 0072ead0 f i libvcruntimed:undname.obj + 0002:001eab00 ?setIsPinPtr@DName@@QAEXXZ 0072eb00 f i libvcruntimed:undname.obj + 0002:001eab30 ?setIsUDC@DName@@QAEXXZ 0072eb30 f i libvcruntimed:undname.obj + 0002:001eab70 ?setIsVCallThunk@DName@@QAEXXZ 0072eb70 f i libvcruntimed:undname.obj + 0002:001eaba0 ?setPtrRef@DName@@QAEAAV1@XZ 0072eba0 f i libvcruntimed:undname.obj + 0002:001eabd0 ?status@DName@@QBE?AW4DNameStatus@@XZ 0072ebd0 f i libvcruntimed:undname.obj + 0002:001eacf0 ___unDName 0072ecf0 f libvcruntimed:undname.obj + 0002:001ead30 ___unDNameEx 0072ed30 f libvcruntimed:undname.obj + 0002:001eae30 _unDNameGenerateCHPE 0072ee30 f libvcruntimed:undname.obj + 0002:001eaeb0 ??$__crt_interlocked_exchange_pointer@UHINSTANCE__@@PAU1@@@YAPAUHINSTANCE__@@PDSAU0@QAU0@@Z 0072eeb0 f i libvcruntimed:winapi_downlevel.obj + 0002:001eaec0 ??$__crt_interlocked_exchange_pointer@UHINSTANCE__@@PAX@@YAPAUHINSTANCE__@@PDSAU0@QAX@Z 0072eec0 f i libvcruntimed:winapi_downlevel.obj + 0002:001eaed0 ??$__crt_interlocked_exchange_pointer@XPAX@@YAPAXPDSAXQAX@Z 0072eed0 f i libvcruntimed:winapi_downlevel.obj + 0002:001eaee0 ??$__crt_interlocked_read_pointer@UHINSTANCE__@@@@YAPAUHINSTANCE__@@PDSAU0@@Z 0072eee0 f i libvcruntimed:winapi_downlevel.obj + 0002:001eaf00 ??$__crt_interlocked_read_pointer@X@@YAPAXPDSAX@Z 0072ef00 f i libvcruntimed:winapi_downlevel.obj + 0002:001eb3d0 ___vcrt_FlsAlloc 0072f3d0 f libvcruntimed:winapi_downlevel.obj + 0002:001eb420 ___vcrt_FlsFree 0072f420 f libvcruntimed:winapi_downlevel.obj + 0002:001eb470 ___vcrt_FlsGetValue 0072f470 f libvcruntimed:winapi_downlevel.obj + 0002:001eb4c0 ___vcrt_FlsSetValue 0072f4c0 f libvcruntimed:winapi_downlevel.obj + 0002:001eb520 ___vcrt_InitializeCriticalSectionEx 0072f520 f libvcruntimed:winapi_downlevel.obj + 0002:001eb5b0 __get_unexpected 0072f5b0 f libvcruntimed:unexpected.obj + 0002:001eb5d0 _set_unexpected 0072f5d0 f libvcruntimed:unexpected.obj + 0002:001eb610 _unexpected 0072f610 f libvcruntimed:unexpected.obj + 0002:001eb650 ?GetCurrentState@__FrameHandler3@@SAHPAUEHRegistrationNode@@PAXPBU_s_FuncInfo@@@Z 0072f650 f libvcruntimed:ehstate.obj + 0002:001eb690 ?SetState@__FrameHandler3@@SAXPAUEHRegistrationNode@@PBU_s_FuncInfo@@H@Z 0072f690 f libvcruntimed:ehstate.obj + 0002:001eb6b0 ___DestructExceptionObject 0072f6b0 f libvcruntimed:ehhelpers.obj + 0002:001eb830 ?_CallMemberFunction0@@YGXQAX0@Z 0072f830 f i libvcruntimed:ehhelpers.obj + 0002:001eb860 ?raw_name@type_info@@QBEPBDXZ 0072f860 f i libvcruntimed:ehhelpers.obj + 0002:001eb880 __IsExceptionObjectToBeDestroyed 0072f880 f libvcruntimed:ehhelpers.obj + 0002:001eb8d0 __SetWinRTOutOfMemoryExceptionCallback 0072f8d0 f libvcruntimed:ehhelpers.obj + 0002:001eb8e0 ___AdjustPointer 0072f8e0 f libvcruntimed:ehhelpers.obj + 0002:001eb940 ___FrameUnwindFilter 0072f940 f libvcruntimed:ehhelpers.obj + 0002:001eb9d0 ___GetPlatformExceptionInfo 0072f9d0 f libvcruntimed:ehhelpers.obj + 0002:001eba70 ___current_exception 0072fa70 f libvcruntimed:ehhelpers.obj + 0002:001eba80 ___current_exception_context 0072fa80 f libvcruntimed:ehhelpers.obj + 0002:001eba90 ___processing_throw 0072fa90 f libvcruntimed:ehhelpers.obj + 0002:001ebaa0 ___std_terminate 0072faa0 f libvcruntimed:ehhelpers.obj + 0002:001ebab0 __is_exception_typeof 0072fab0 f libvcruntimed:ehhelpers.obj + 0002:001ebbd0 __global_unwind2 0072fbd0 f libvcruntimed:exsup.obj + 0002:001ebc36 __local_unwind2 0072fc36 f libvcruntimed:exsup.obj + 0002:001ebcba __abnormal_termination 0072fcba f libvcruntimed:exsup.obj + 0002:001ebce0 __NLG_Notify1 0072fce0 f libvcruntimed:exsup.obj + 0002:001ebcec __NLG_Notify 0072fcec f libvcruntimed:exsup.obj + 0002:001ebd03 __NLG_Dispatch2 0072fd03 libvcruntimed:exsup.obj + 0002:001ebd03 __NLG_Dispatch 0072fd03 libvcruntimed:exsup.obj + 0002:001ebd0b __NLG_Call 0072fd0b f libvcruntimed:exsup.obj + 0002:001ebd0d __NLG_Return2 0072fd0d libvcruntimed:exsup.obj + 0002:001ebd60 ??$__crt_fast_decode_pointer@P6AXPB_W00II@Z@@YAP6AXPB_W00II@ZQ6AX000II@Z@Z 0072fd60 f i libucrtd:invalid_parameter.obj + 0002:001ebda0 ??$__crt_fast_encode_pointer@P6AXPB_W00II@Z@@YAP6AXPB_W00II@ZQ6AX000II@Z@Z 0072fda0 f i libucrtd:invalid_parameter.obj + 0002:001ebde0 ??$initialize_from_array@$$BY00Q6AXPB_W00II@Z@?$dual_state_global@P6AXPB_W00II@Z@__crt_state_management@@QAAXAAY00Q6AXPB_W00II@Z@Z 0072fde0 f i libucrtd:invalid_parameter.obj + 0002:001ebe40 ?__crt_rotate_pointer_value@@YAIIH@Z 0072fe40 f i libucrtd:invalid_parameter.obj + 0002:001ebe60 ?dangerous_get_state_array@?$dual_state_global@P6AXPB_W00II@Z@__crt_state_management@@QAEPAP6AXPB_W00II@ZXZ 0072fe60 f i libucrtd:invalid_parameter.obj + 0002:001ebe80 ?get_current_state_index@__crt_state_management@@YAIXZ 0072fe80 f i libucrtd:invalid_parameter.obj + 0002:001ebe90 ?value@?$dual_state_global@P6AXPB_W00II@Z@__crt_state_management@@QAEAAP6AXPB_W00II@ZXZ 0072fe90 f i libucrtd:invalid_parameter.obj + 0002:001ebeb0 ___acrt_call_reportfault 0072feb0 f libucrtd:invalid_parameter.obj + 0002:001ec060 ___acrt_initialize_invalid_parameter_handler 00730060 f libucrtd:invalid_parameter.obj + 0002:001ec090 __get_invalid_parameter_handler 00730090 f libucrtd:invalid_parameter.obj + 0002:001ec0c0 __get_thread_local_invalid_parameter_handler 007300c0 f libucrtd:invalid_parameter.obj + 0002:001ec0f0 __invalid_parameter 007300f0 f libucrtd:invalid_parameter.obj + 0002:001ec1e0 __invalid_parameter_noinfo 007301e0 f libucrtd:invalid_parameter.obj + 0002:001ec200 __invalid_parameter_noinfo_noreturn 00730200 f libucrtd:invalid_parameter.obj + 0002:001ec240 __invoke_watson 00730240 f libucrtd:invalid_parameter.obj + 0002:001ec290 __set_invalid_parameter_handler 00730290 f libucrtd:invalid_parameter.obj + 0002:001ec2f0 __set_thread_local_invalid_parameter_handler 007302f0 f libucrtd:invalid_parameter.obj + 0002:001ec330 ??$?RU?$__crt_report_hook_node@D@@@__crt_internal_free_policy@@QBEXQBU?$__crt_report_hook_node@D@@@Z 00730330 f i libucrtd:dbgrpt.obj + 0002:001ec360 ??$?RU?$__crt_report_hook_node@_W@@@__crt_internal_free_policy@@QBEXQBU?$__crt_report_hook_node@_W@@@Z 00730360 f i libucrtd:dbgrpt.obj + 0002:001ec570 ??$__vcrt_va_start_verify_argument_type@QBD@@YAXXZ 00730570 f i libucrtd:dbgrpt.obj + 0002:001ec580 ??$__vcrt_va_start_verify_argument_type@QB_W@@YAXXZ 00730580 f i libucrtd:dbgrpt.obj + 0002:001ed4d0 ??$get_module_file_name@AAPAUHINSTANCE__@@AAY0BAF@DK@?$__crt_char_traits@D@@SAKAAPAUHINSTANCE__@@AAY0BAF@D$$QAK@Z 007314d0 f i libucrtd:dbgrpt.obj + 0002:001ed500 ??$get_module_file_name@AAPAUHINSTANCE__@@AAY0BAF@_WK@?$__crt_char_traits@_W@@SAKAAPAUHINSTANCE__@@AAY0BAF@_W$$QAK@Z 00731500 f i libucrtd:dbgrpt.obj + 0002:001ed530 ??$tcscpy_s@AAY0BAF@DIPBD@?$__crt_char_traits@D@@SAHAAY0BAF@D$$QAI$$QAPBD@Z 00731530 f i libucrtd:dbgrpt.obj + 0002:001ed560 ??$tcscpy_s@AAY0BAF@_WIPB_W@?$__crt_char_traits@_W@@SAHAAY0BAF@_W$$QAI$$QAPB_W@Z 00731560 f i libucrtd:dbgrpt.obj + 0002:001ed590 ??$tcslen@AAY0BAF@D@?$__crt_char_traits@D@@SAIAAY0BAF@D@Z 00731590 f i libucrtd:dbgrpt.obj + 0002:001ed5b0 ??$tcslen@AAY0BAF@_W@?$__crt_char_traits@_W@@SAIAAY0BAF@_W@Z 007315b0 f i libucrtd:dbgrpt.obj + 0002:001ed5d0 ??$tcslen@ABQBD@?$__crt_char_traits@D@@SAIABQBD@Z 007315d0 f i libucrtd:dbgrpt.obj + 0002:001ed5f0 ??$tcslen@ABQB_W@?$__crt_char_traits@_W@@SAIABQB_W@Z 007315f0 f i libucrtd:dbgrpt.obj + 0002:001ed730 ??0?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QAE@QAU?$__crt_report_hook_node@D@@@Z 00731730 f i libucrtd:dbgrpt.obj + 0002:001ed750 ??0?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QAE@QAU?$__crt_report_hook_node@_W@@@Z 00731750 f i libucrtd:dbgrpt.obj + 0002:001ed770 ??1?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QAE@XZ 00731770 f i libucrtd:dbgrpt.obj + 0002:001ed790 ??1?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QAE@XZ 00731790 f i libucrtd:dbgrpt.obj + 0002:001ed7b0 ??B?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QBE_NXZ 007317b0 f i libucrtd:dbgrpt.obj + 0002:001ed7d0 ??B?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QBE_NXZ 007317d0 f i libucrtd:dbgrpt.obj + 0002:001ede70 ?detach@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QAEPAU?$__crt_report_hook_node@D@@XZ 00731e70 f i libucrtd:dbgrpt.obj + 0002:001edea0 ?detach@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QAEPAU?$__crt_report_hook_node@_W@@XZ 00731ea0 f i libucrtd:dbgrpt.obj + 0002:001eded0 ?get@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QBEPAU?$__crt_report_hook_node@D@@XZ 00731ed0 f i libucrtd:dbgrpt.obj + 0002:001edef0 ?get@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QBEPAU?$__crt_report_hook_node@_W@@XZ 00731ef0 f i libucrtd:dbgrpt.obj + 0002:001edf70 ?is_valid@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QBE_NXZ 00731f70 f i libucrtd:dbgrpt.obj + 0002:001edfb0 ?is_valid@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QBE_NXZ 00731fb0 f i libucrtd:dbgrpt.obj + 0002:001edff0 ?release@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@D@@U__crt_internal_free_policy@@@@QAEXXZ 00731ff0 f i libucrtd:dbgrpt.obj + 0002:001ee020 ?release@?$__crt_unique_heap_ptr@U?$__crt_report_hook_node@_W@@U__crt_internal_free_policy@@@@QAEXXZ 00732020 f i libucrtd:dbgrpt.obj + 0002:001ee050 __CrtDbgReport 00732050 f libucrtd:dbgrpt.obj + 0002:001ee0b0 __CrtDbgReportW 007320b0 f libucrtd:dbgrpt.obj + 0002:001ee110 __CrtSetReportHook2 00732110 f libucrtd:dbgrpt.obj + 0002:001ee130 __CrtSetReportHookW2 00732130 f libucrtd:dbgrpt.obj + 0002:001ee150 ___acrt_MessageWindowA 00732150 f libucrtd:dbgrpt.obj + 0002:001ee180 ___acrt_MessageWindowW 00732180 f libucrtd:dbgrpt.obj + 0002:001ee1b0 __invoke_watson_if_error 007321b0 f i libucrtd:dbgrpt.obj + 0002:001ee1f0 __invoke_watson_if_oneof 007321f0 f i libucrtd:dbgrpt.obj + 0002:001ee240 __snwprintf_s 00732240 f i libucrtd:dbgrpt.obj + 0002:001ee2a0 __vsnwprintf_s_l 007322a0 f i libucrtd:dbgrpt.obj + 0002:001ee310 ??$?RPAU__crt_stdio_stream_data@@@__crt_internal_free_policy@@QBEXQBQAU__crt_stdio_stream_data@@@Z 00732310 f i libucrtd:_file.obj + 0002:001ee340 ??0?$__crt_unique_heap_ptr@PAU__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAE@QAPAU__crt_stdio_stream_data@@@Z 00732340 f i libucrtd:_file.obj + 0002:001ee360 ??0__crt_stdio_stream@@QAE@QAU_iobuf@@@Z 00732360 f i libucrtd:_file.obj + 0002:001ee380 ??1?$__crt_unique_heap_ptr@PAU__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAE@XZ 00732380 f i libucrtd:_file.obj + 0002:001ee3a0 ??C__crt_stdio_stream@@QBEPAU__crt_stdio_stream_data@@XZ 007323a0 f i libucrtd:_file.obj + 0002:001ee3c0 ?detach@?$__crt_unique_heap_ptr@PAU__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAEPAPAU__crt_stdio_stream_data@@XZ 007323c0 f i libucrtd:_file.obj + 0002:001ee3f0 ?release@?$__crt_unique_heap_ptr@PAU__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAEXXZ 007323f0 f i libucrtd:_file.obj + 0002:001ee420 ___acrt_initialize_stdio 00732420 f libucrtd:_file.obj + 0002:001ee5f0 ___acrt_iob_func 007325f0 f libucrtd:_file.obj + 0002:001ee610 ___acrt_uninitialize_stdio 00732610 f libucrtd:_file.obj + 0002:001ee6b0 __get_stream_buffer_pointers 007326b0 f libucrtd:_file.obj + 0002:001ee7c0 __lock_file 007327c0 f libucrtd:_file.obj + 0002:001ee7f0 __unlock_file 007327f0 f libucrtd:_file.obj + 0002:001ee820 ??$?0ABV?$stream_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 00732820 f i libucrtd:output.obj + 0002:001ee860 ??$?0ABV?$stream_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 00732860 f i libucrtd:output.obj + 0002:001ee8f0 ??$?0ABV?$stream_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 007328f0 f i libucrtd:output.obj + 0002:001ee950 ??$?0ABV?$stream_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732950 f i libucrtd:output.obj + 0002:001ee990 ??$?0ABV?$stream_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732990 f i libucrtd:output.obj + 0002:001eea20 ??$?0ABV?$stream_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732a20 f i libucrtd:output.obj + 0002:001eea80 ??$?0ABV?$string_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 00732a80 f i libucrtd:output.obj + 0002:001eeac0 ??$?0ABV?$string_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 00732ac0 f i libucrtd:output.obj + 0002:001eeb50 ??$?0ABV?$string_output_adapter@D@__crt_stdio_output@@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@D@1@AB_KABQBDABQAU__crt_locale_pointers@@ABQAD@Z 00732b50 f i libucrtd:output.obj + 0002:001eebb0 ??$?0ABV?$string_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732bb0 f i libucrtd:output.obj + 0002:001eebf0 ??$?0ABV?$string_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732bf0 f i libucrtd:output.obj + 0002:001eec80 ??$?0ABV?$string_output_adapter@_W@__crt_stdio_output@@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@_W@1@AB_KABQB_WABQAU__crt_locale_pointers@@ABQAD@Z 00732c80 f i libucrtd:output.obj + 0002:001ef280 ??$__crt_interlocked_read@J@@YAJPDJ@Z 00733280 f i libucrtd:output.obj + 0002:001f2b20 ??$count@D@formatting_buffer@__crt_stdio_output@@QBEIXZ 00736b20 f i libucrtd:output.obj + 0002:001f2b70 ??$count@_W@formatting_buffer@__crt_stdio_output@@QBEIXZ 00736b70 f i libucrtd:output.obj + 0002:001f2bc0 ??$data@D@formatting_buffer@__crt_stdio_output@@QAEPADXZ 00736bc0 f i libucrtd:output.obj + 0002:001f2c10 ??$data@_W@formatting_buffer@__crt_stdio_output@@QAEPA_WXZ 00736c10 f i libucrtd:output.obj + 0002:001f2c60 ??$ensure_buffer_is_big_enough@D@formatting_buffer@__crt_stdio_output@@QAE_NI@Z 00736c60 f i libucrtd:output.obj + 0002:001f2d80 ??$ensure_buffer_is_big_enough@_W@formatting_buffer@__crt_stdio_output@@QAE_NI@Z 00736d80 f i libucrtd:output.obj + 0002:001f2ea0 ??$extract_argument_from_va_list@C_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00736ea0 f i libucrtd:output.obj + 0002:001f3020 ??$extract_argument_from_va_list@C_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737020 f i libucrtd:output.obj + 0002:001f31a0 ??$extract_argument_from_va_list@C_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007371a0 f i libucrtd:output.obj + 0002:001f3320 ??$extract_argument_from_va_list@C_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737320 f i libucrtd:output.obj + 0002:001f34a0 ??$extract_argument_from_va_list@C_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007374a0 f i libucrtd:output.obj + 0002:001f34e0 ??$extract_argument_from_va_list@C_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007374e0 f i libucrtd:output.obj + 0002:001f3520 ??$extract_argument_from_va_list@C_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737520 f i libucrtd:output.obj + 0002:001f3560 ??$extract_argument_from_va_list@C_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737560 f i libucrtd:output.obj + 0002:001f35a0 ??$extract_argument_from_va_list@E_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007375a0 f i libucrtd:output.obj + 0002:001f3720 ??$extract_argument_from_va_list@E_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737720 f i libucrtd:output.obj + 0002:001f38a0 ??$extract_argument_from_va_list@E_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007378a0 f i libucrtd:output.obj + 0002:001f3a20 ??$extract_argument_from_va_list@E_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737a20 f i libucrtd:output.obj + 0002:001f3ba0 ??$extract_argument_from_va_list@E_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737ba0 f i libucrtd:output.obj + 0002:001f3be0 ??$extract_argument_from_va_list@E_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737be0 f i libucrtd:output.obj + 0002:001f3c20 ??$extract_argument_from_va_list@E_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737c20 f i libucrtd:output.obj + 0002:001f3c60 ??$extract_argument_from_va_list@E_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737c60 f i libucrtd:output.obj + 0002:001f3ca0 ??$extract_argument_from_va_list@F_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737ca0 f i libucrtd:output.obj + 0002:001f3e20 ??$extract_argument_from_va_list@F_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737e20 f i libucrtd:output.obj + 0002:001f3fa0 ??$extract_argument_from_va_list@F_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00737fa0 f i libucrtd:output.obj + 0002:001f4120 ??$extract_argument_from_va_list@F_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738120 f i libucrtd:output.obj + 0002:001f42a0 ??$extract_argument_from_va_list@F_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007382a0 f i libucrtd:output.obj + 0002:001f42e0 ??$extract_argument_from_va_list@F_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007382e0 f i libucrtd:output.obj + 0002:001f4320 ??$extract_argument_from_va_list@F_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738320 f i libucrtd:output.obj + 0002:001f4360 ??$extract_argument_from_va_list@F_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738360 f i libucrtd:output.obj + 0002:001f43a0 ??$extract_argument_from_va_list@GD@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAD@Z 007383a0 f i libucrtd:output.obj + 0002:001f4520 ??$extract_argument_from_va_list@GD@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAD@Z 00738520 f i libucrtd:output.obj + 0002:001f46a0 ??$extract_argument_from_va_list@GD@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAD@Z 007386a0 f i libucrtd:output.obj + 0002:001f46d0 ??$extract_argument_from_va_list@GD@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAD@Z 007386d0 f i libucrtd:output.obj + 0002:001f4700 ??$extract_argument_from_va_list@G_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738700 f i libucrtd:output.obj + 0002:001f4880 ??$extract_argument_from_va_list@G_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738880 f i libucrtd:output.obj + 0002:001f4a00 ??$extract_argument_from_va_list@G_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738a00 f i libucrtd:output.obj + 0002:001f4b80 ??$extract_argument_from_va_list@G_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738b80 f i libucrtd:output.obj + 0002:001f4d00 ??$extract_argument_from_va_list@G_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738d00 f i libucrtd:output.obj + 0002:001f4d40 ??$extract_argument_from_va_list@G_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738d40 f i libucrtd:output.obj + 0002:001f4d80 ??$extract_argument_from_va_list@G_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738d80 f i libucrtd:output.obj + 0002:001f4dc0 ??$extract_argument_from_va_list@G_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738dc0 f i libucrtd:output.obj + 0002:001f4e00 ??$extract_argument_from_va_list@H_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738e00 f i libucrtd:output.obj + 0002:001f4f80 ??$extract_argument_from_va_list@H_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00738f80 f i libucrtd:output.obj + 0002:001f5100 ??$extract_argument_from_va_list@H_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739100 f i libucrtd:output.obj + 0002:001f5280 ??$extract_argument_from_va_list@H_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739280 f i libucrtd:output.obj + 0002:001f5400 ??$extract_argument_from_va_list@H_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739400 f i libucrtd:output.obj + 0002:001f5440 ??$extract_argument_from_va_list@H_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739440 f i libucrtd:output.obj + 0002:001f5480 ??$extract_argument_from_va_list@H_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739480 f i libucrtd:output.obj + 0002:001f54c0 ??$extract_argument_from_va_list@H_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 007394c0 f i libucrtd:output.obj + 0002:001f5500 ??$extract_argument_from_va_list@I_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739500 f i libucrtd:output.obj + 0002:001f5680 ??$extract_argument_from_va_list@I_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739680 f i libucrtd:output.obj + 0002:001f5800 ??$extract_argument_from_va_list@I_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739800 f i libucrtd:output.obj + 0002:001f5980 ??$extract_argument_from_va_list@I_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739980 f i libucrtd:output.obj + 0002:001f5b00 ??$extract_argument_from_va_list@I_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739b00 f i libucrtd:output.obj + 0002:001f5b40 ??$extract_argument_from_va_list@I_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739b40 f i libucrtd:output.obj + 0002:001f5b80 ??$extract_argument_from_va_list@I_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739b80 f i libucrtd:output.obj + 0002:001f5bc0 ??$extract_argument_from_va_list@I_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 00739bc0 f i libucrtd:output.obj + 0002:001f5c00 ??$extract_argument_from_va_list@PADPAD@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 00739c00 f i libucrtd:output.obj + 0002:001f5d80 ??$extract_argument_from_va_list@PADPAD@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 00739d80 f i libucrtd:output.obj + 0002:001f5f00 ??$extract_argument_from_va_list@PADPAD@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 00739f00 f i libucrtd:output.obj + 0002:001f6080 ??$extract_argument_from_va_list@PADPAD@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 0073a080 f i libucrtd:output.obj + 0002:001f6200 ??$extract_argument_from_va_list@PADPAD@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 0073a200 f i libucrtd:output.obj + 0002:001f6230 ??$extract_argument_from_va_list@PADPAD@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 0073a230 f i libucrtd:output.obj + 0002:001f6260 ??$extract_argument_from_va_list@PADPAD@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 0073a260 f i libucrtd:output.obj + 0002:001f6290 ??$extract_argument_from_va_list@PADPAD@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAD@Z 0073a290 f i libucrtd:output.obj + 0002:001f6b00 ??$extract_argument_from_va_list@PAXPAX@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073ab00 f i libucrtd:output.obj + 0002:001f6c80 ??$extract_argument_from_va_list@PAXPAX@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073ac80 f i libucrtd:output.obj + 0002:001f6e00 ??$extract_argument_from_va_list@PAXPAX@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073ae00 f i libucrtd:output.obj + 0002:001f6f80 ??$extract_argument_from_va_list@PAXPAX@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073af80 f i libucrtd:output.obj + 0002:001f7100 ??$extract_argument_from_va_list@PAXPAX@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073b100 f i libucrtd:output.obj + 0002:001f7130 ??$extract_argument_from_va_list@PAXPAX@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073b130 f i libucrtd:output.obj + 0002:001f7160 ??$extract_argument_from_va_list@PAXPAX@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073b160 f i libucrtd:output.obj + 0002:001f7190 ??$extract_argument_from_va_list@PAXPAX@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAX@Z 0073b190 f i libucrtd:output.obj + 0002:001f71c0 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b1c0 f i libucrtd:output.obj + 0002:001f7370 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b370 f i libucrtd:output.obj + 0002:001f7520 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b520 f i libucrtd:output.obj + 0002:001f76d0 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b6d0 f i libucrtd:output.obj + 0002:001f7880 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b880 f i libucrtd:output.obj + 0002:001f78e0 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b8e0 f i libucrtd:output.obj + 0002:001f7940 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b940 f i libucrtd:output.obj + 0002:001f79a0 ??$extract_argument_from_va_list@U_CRT_DOUBLE@@U1@@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAU_CRT_DOUBLE@@@Z 0073b9a0 f i libucrtd:output.obj + 0002:001f7a00 ??$extract_argument_from_va_list@_J_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073ba00 f i libucrtd:output.obj + 0002:001f7b80 ??$extract_argument_from_va_list@_J_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073bb80 f i libucrtd:output.obj + 0002:001f7d00 ??$extract_argument_from_va_list@_J_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073bd00 f i libucrtd:output.obj + 0002:001f7e80 ??$extract_argument_from_va_list@_J_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073be80 f i libucrtd:output.obj + 0002:001f8000 ??$extract_argument_from_va_list@_J_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c000 f i libucrtd:output.obj + 0002:001f8040 ??$extract_argument_from_va_list@_J_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c040 f i libucrtd:output.obj + 0002:001f8080 ??$extract_argument_from_va_list@_J_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c080 f i libucrtd:output.obj + 0002:001f80c0 ??$extract_argument_from_va_list@_J_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c0c0 f i libucrtd:output.obj + 0002:001f8100 ??$extract_argument_from_va_list@_K_J@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c100 f i libucrtd:output.obj + 0002:001f8280 ??$extract_argument_from_va_list@_K_J@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c280 f i libucrtd:output.obj + 0002:001f8400 ??$extract_argument_from_va_list@_K_J@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c400 f i libucrtd:output.obj + 0002:001f8580 ??$extract_argument_from_va_list@_K_J@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c580 f i libucrtd:output.obj + 0002:001f8700 ??$extract_argument_from_va_list@_K_J@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c700 f i libucrtd:output.obj + 0002:001f8740 ??$extract_argument_from_va_list@_K_J@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c740 f i libucrtd:output.obj + 0002:001f8780 ??$extract_argument_from_va_list@_K_J@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c780 f i libucrtd:output.obj + 0002:001f87c0 ??$extract_argument_from_va_list@_K_J@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_J@Z 0073c7c0 f i libucrtd:output.obj + 0002:001f8800 ??$extract_argument_from_va_list@_W_W@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073c800 f i libucrtd:output.obj + 0002:001f8980 ??$extract_argument_from_va_list@_W_W@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073c980 f i libucrtd:output.obj + 0002:001f8b00 ??$extract_argument_from_va_list@_W_W@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073cb00 f i libucrtd:output.obj + 0002:001f8c80 ??$extract_argument_from_va_list@_W_W@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073cc80 f i libucrtd:output.obj + 0002:001f8e00 ??$extract_argument_from_va_list@_W_W@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073ce00 f i libucrtd:output.obj + 0002:001f8e30 ??$extract_argument_from_va_list@_W_W@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073ce30 f i libucrtd:output.obj + 0002:001f8e60 ??$extract_argument_from_va_list@_W_W@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073ce60 f i libucrtd:output.obj + 0002:001f8e90 ??$extract_argument_from_va_list@_W_W@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAA_W@Z 0073ce90 f i libucrtd:output.obj + 0002:001f8ec0 ??$get_parameter_type@D@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAD@Z 0073cec0 f i libucrtd:output.obj + 0002:001f8ed0 ??$get_parameter_type@D@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAD@Z 0073ced0 f i libucrtd:output.obj + 0002:001f8ee0 ??$get_parameter_type@D@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAD@Z 0073cee0 f i libucrtd:output.obj + 0002:001f8ef0 ??$get_parameter_type@D@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAD@Z 0073cef0 f i libucrtd:output.obj + 0002:001f8f40 ??$get_parameter_type@X@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAX@Z 0073cf40 f i libucrtd:output.obj + 0002:001f8f50 ??$get_parameter_type@X@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAX@Z 0073cf50 f i libucrtd:output.obj + 0002:001f8f60 ??$get_parameter_type@X@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAX@Z 0073cf60 f i libucrtd:output.obj + 0002:001f8f70 ??$get_parameter_type@X@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAX@Z 0073cf70 f i libucrtd:output.obj + 0002:001f8f80 ??$is_character_specifier@D@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073cf80 f i libucrtd:output.obj + 0002:001f8fc0 ??$is_character_specifier@D@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073cfc0 f i libucrtd:output.obj + 0002:001f9000 ??$is_character_specifier@_W@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d000 f i libucrtd:output.obj + 0002:001f9040 ??$is_character_specifier@_W@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d040 f i libucrtd:output.obj + 0002:001f9080 ??$is_integral_specifier@D@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d080 f i libucrtd:output.obj + 0002:001f9100 ??$is_integral_specifier@D@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d100 f i libucrtd:output.obj + 0002:001f9180 ??$is_integral_specifier@_W@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d180 f i libucrtd:output.obj + 0002:001f9200 ??$is_integral_specifier@_W@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d200 f i libucrtd:output.obj + 0002:001f9280 ??$is_pointer_specifier@D@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d280 f i libucrtd:output.obj + 0002:001f92b0 ??$is_pointer_specifier@D@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d2b0 f i libucrtd:output.obj + 0002:001f92e0 ??$is_pointer_specifier@_W@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d2e0 f i libucrtd:output.obj + 0002:001f9310 ??$is_pointer_specifier@_W@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d310 f i libucrtd:output.obj + 0002:001f9340 ??$is_string_specifier@D@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d340 f i libucrtd:output.obj + 0002:001f9380 ??$is_string_specifier@D@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA_ND@Z 0073d380 f i libucrtd:output.obj + 0002:001f93c0 ??$is_string_specifier@_W@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d3c0 f i libucrtd:output.obj + 0002:001f9400 ??$is_string_specifier@_W@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA_N_W@Z 0073d400 f i libucrtd:output.obj + 0002:001f9440 ??$is_wide_character_specifier@D@__crt_stdio_output@@YA_N_KDW4length_modifier@0@@Z 0073d440 f i libucrtd:output.obj + 0002:001f94e0 ??$is_wide_character_specifier@_W@__crt_stdio_output@@YA_N_K_WW4length_modifier@0@@Z 0073d4e0 f i libucrtd:output.obj + 0002:001f95d0 ??$peek_va_arg@C@__crt_stdio_output@@YACPAD@Z 0073d5d0 f i libucrtd:output.obj + 0002:001f95f0 ??$peek_va_arg@E@__crt_stdio_output@@YAEPAD@Z 0073d5f0 f i libucrtd:output.obj + 0002:001f9610 ??$peek_va_arg@F@__crt_stdio_output@@YAFPAD@Z 0073d610 f i libucrtd:output.obj + 0002:001f9630 ??$peek_va_arg@G@__crt_stdio_output@@YAGPAD@Z 0073d630 f i libucrtd:output.obj + 0002:001f9650 ??$peek_va_arg@H@__crt_stdio_output@@YAHPAD@Z 0073d650 f i libucrtd:output.obj + 0002:001f9670 ??$peek_va_arg@I@__crt_stdio_output@@YAIPAD@Z 0073d670 f i libucrtd:output.obj + 0002:001f9690 ??$peek_va_arg@PAD@__crt_stdio_output@@YAPADPAD@Z 0073d690 f i libucrtd:output.obj + 0002:001f9730 ??$peek_va_arg@PAX@__crt_stdio_output@@YAPAXPAD@Z 0073d730 f i libucrtd:output.obj + 0002:001f9750 ??$peek_va_arg@U_CRT_DOUBLE@@@__crt_stdio_output@@YA?AU_CRT_DOUBLE@@PAD@Z 0073d750 f i libucrtd:output.obj + 0002:001f9770 ??$peek_va_arg@_J@__crt_stdio_output@@YA_JPAD@Z 0073d770 f i libucrtd:output.obj + 0002:001f9790 ??$peek_va_arg@_K@__crt_stdio_output@@YA_KPAD@Z 0073d790 f i libucrtd:output.obj + 0002:001f97b0 ??$peek_va_arg@_W@__crt_stdio_output@@YA_WPAD@Z 0073d7b0 f i libucrtd:output.obj + 0002:001f97d0 ??$puttc_nolock@ABDPAU_iobuf@@@?$__crt_char_traits@D@@SAHABD$$QAPAU_iobuf@@@Z 0073d7d0 f i libucrtd:output.obj + 0002:001f9800 ??$puttc_nolock@AB_WPAU_iobuf@@@?$__crt_char_traits@_W@@SAGAB_W$$QAPAU_iobuf@@@Z 0073d800 f i libucrtd:output.obj + 0002:001f9830 ??$read_va_arg@C@__crt_stdio_output@@YACAAPAD@Z 0073d830 f i libucrtd:output.obj + 0002:001f9860 ??$read_va_arg@E@__crt_stdio_output@@YAEAAPAD@Z 0073d860 f i libucrtd:output.obj + 0002:001f9890 ??$read_va_arg@F@__crt_stdio_output@@YAFAAPAD@Z 0073d890 f i libucrtd:output.obj + 0002:001f98c0 ??$read_va_arg@G@__crt_stdio_output@@YAGAAPAD@Z 0073d8c0 f i libucrtd:output.obj + 0002:001f98f0 ??$read_va_arg@H@__crt_stdio_output@@YAHAAPAD@Z 0073d8f0 f i libucrtd:output.obj + 0002:001f9920 ??$read_va_arg@I@__crt_stdio_output@@YAIAAPAD@Z 0073d920 f i libucrtd:output.obj + 0002:001f9950 ??$read_va_arg@PAD@__crt_stdio_output@@YAPADAAPAD@Z 0073d950 f i libucrtd:output.obj + 0002:001f9bc0 ??$read_va_arg@PAX@__crt_stdio_output@@YAPAXAAPAD@Z 0073dbc0 f i libucrtd:output.obj + 0002:001f9bf0 ??$read_va_arg@U_CRT_DOUBLE@@@__crt_stdio_output@@YA?AU_CRT_DOUBLE@@AAPAD@Z 0073dbf0 f i libucrtd:output.obj + 0002:001f9c20 ??$read_va_arg@_J@__crt_stdio_output@@YA_JAAPAD@Z 0073dc20 f i libucrtd:output.obj + 0002:001f9c50 ??$read_va_arg@_K@__crt_stdio_output@@YA_KAAPAD@Z 0073dc50 f i libucrtd:output.obj + 0002:001f9c80 ??$read_va_arg@_W@__crt_stdio_output@@YA_WAAPAD@Z 0073dc80 f i libucrtd:output.obj + 0002:001f9cb0 ??$scratch_count@D@formatting_buffer@__crt_stdio_output@@QBEIXZ 0073dcb0 f i libucrtd:output.obj + 0002:001f9cd0 ??$scratch_data@D@formatting_buffer@__crt_stdio_output@@QAEPADXZ 0073dcd0 f i libucrtd:output.obj + 0002:001f9d30 ??$tcstol@AAPBDPAPADH@?$__crt_char_traits@D@@SAJAAPBD$$QAPAPAD$$QAH@Z 0073dd30 f i libucrtd:output.obj + 0002:001f9d60 ??$tcstol@AAPB_WPAPA_WH@?$__crt_char_traits@_W@@SAJAAPB_W$$QAPAPA_W$$QAH@Z 0073dd60 f i libucrtd:output.obj + 0002:001f9d90 ??$tcstol@PBDPAPADH@?$__crt_char_traits@D@@SAJ$$QAPBD$$QAPAPAD$$QAH@Z 0073dd90 f i libucrtd:output.obj + 0002:001f9dc0 ??$tcstol@PB_WPAPA_WH@?$__crt_char_traits@_W@@SAJ$$QAPB_W$$QAPAPA_W$$QAH@Z 0073ddc0 f i libucrtd:output.obj + 0002:001f9df0 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073ddf0 f i libucrtd:output.obj + 0002:001f9f00 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073df00 f i libucrtd:output.obj + 0002:001fa010 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e010 f i libucrtd:output.obj + 0002:001fa120 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e120 f i libucrtd:output.obj + 0002:001fa230 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e230 f i libucrtd:output.obj + 0002:001fa340 ??$type_case_integer_parse_into_buffer@I@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e340 f i libucrtd:output.obj + 0002:001fa450 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e450 f i libucrtd:output.obj + 0002:001fa560 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e560 f i libucrtd:output.obj + 0002:001fa670 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e670 f i libucrtd:output.obj + 0002:001fa780 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e780 f i libucrtd:output.obj + 0002:001fa890 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e890 f i libucrtd:output.obj + 0002:001fa9a0 ??$type_case_integer_parse_into_buffer@I@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXII_N@Z 0073e9a0 f i libucrtd:output.obj + 0002:001faab0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073eab0 f i libucrtd:output.obj + 0002:001fabf0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073ebf0 f i libucrtd:output.obj + 0002:001fad30 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073ed30 f i libucrtd:output.obj + 0002:001fae70 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073ee70 f i libucrtd:output.obj + 0002:001fafb0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073efb0 f i libucrtd:output.obj + 0002:001fb0f0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f0f0 f i libucrtd:output.obj + 0002:001fb230 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f230 f i libucrtd:output.obj + 0002:001fb370 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f370 f i libucrtd:output.obj + 0002:001fb4b0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f4b0 f i libucrtd:output.obj + 0002:001fb5f0 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f5f0 f i libucrtd:output.obj + 0002:001fb730 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f730 f i libucrtd:output.obj + 0002:001fb870 ??$type_case_integer_parse_into_buffer@_K@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEX_KI_N@Z 0073f870 f i libucrtd:output.obj + 0002:001fb9b0 ??$write_multiple_characters@V?$stream_output_adapter@D@__crt_stdio_output@@D@__crt_stdio_output@@YAXABV?$stream_output_adapter@D@0@DHQAH@Z 0073f9b0 f i libucrtd:output.obj + 0002:001fba10 ??$write_multiple_characters@V?$stream_output_adapter@_W@__crt_stdio_output@@D@__crt_stdio_output@@YAXABV?$stream_output_adapter@_W@0@DHQAH@Z 0073fa10 f i libucrtd:output.obj + 0002:001fba70 ??$write_multiple_characters@V?$string_output_adapter@D@__crt_stdio_output@@D@__crt_stdio_output@@YAXABV?$string_output_adapter@D@0@DHQAH@Z 0073fa70 f i libucrtd:output.obj + 0002:001fbad0 ??$write_multiple_characters@V?$string_output_adapter@_W@__crt_stdio_output@@D@__crt_stdio_output@@YAXABV?$string_output_adapter@_W@0@DHQAH@Z 0073fad0 f i libucrtd:output.obj + 0002:001fbf50 ??0?$common_data@D@__crt_stdio_output@@IAE@XZ 0073ff50 f i libucrtd:output.obj + 0002:001fc020 ??0?$common_data@_W@__crt_stdio_output@@IAE@XZ 00740020 f i libucrtd:output.obj + 0002:001fc0f0 ??0?$output_adapter_data@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 007400f0 f i libucrtd:output.obj + 0002:001fc160 ??0?$output_adapter_data@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 00740160 f i libucrtd:output.obj + 0002:001fc1d0 ??0?$output_adapter_data@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$stream_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 007401d0 f i libucrtd:output.obj + 0002:001fc240 ??0?$output_adapter_data@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE@ABV?$string_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 00740240 f i libucrtd:output.obj + 0002:001fc2b0 ??0?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 007402b0 f i libucrtd:output.obj + 0002:001fc2f0 ??0?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 007402f0 f i libucrtd:output.obj + 0002:001fc330 ??0?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 00740330 f i libucrtd:output.obj + 0002:001fc370 ??0?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 00740370 f i libucrtd:output.obj + 0002:001fc3b0 ??0?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 007403b0 f i libucrtd:output.obj + 0002:001fc3f0 ??0?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@D@1@_KQBDQAU__crt_locale_pointers@@QAD@Z 007403f0 f i libucrtd:output.obj + 0002:001fc430 ??0?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 00740430 f i libucrtd:output.obj + 0002:001fc470 ??0?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 00740470 f i libucrtd:output.obj + 0002:001fc4b0 ??0?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$stream_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 007404b0 f i libucrtd:output.obj + 0002:001fc4f0 ??0?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 007404f0 f i libucrtd:output.obj + 0002:001fc530 ??0?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 00740530 f i libucrtd:output.obj + 0002:001fc570 ??0?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@ABV?$string_output_adapter@_W@1@_KQB_WQAU__crt_locale_pointers@@QAD@Z 00740570 f i libucrtd:output.obj + 0002:001fc5b0 ??0?$stream_output_adapter@D@__crt_stdio_output@@QAE@QAU_iobuf@@@Z 007405b0 f i libucrtd:output.obj + 0002:001fc5e0 ??0?$stream_output_adapter@_W@__crt_stdio_output@@QAE@QAU_iobuf@@@Z 007405e0 f i libucrtd:output.obj + 0002:001fc610 ??0?$string_output_adapter@D@__crt_stdio_output@@QAE@QAU?$string_output_adapter_context@D@1@@Z 00740610 f i libucrtd:output.obj + 0002:001fc630 ??0?$string_output_adapter@_W@__crt_stdio_output@@QAE@QAU?$string_output_adapter_context@_W@1@@Z 00740630 f i libucrtd:output.obj + 0002:001fc650 ??0_LocaleUpdate@@QAE@QAU__crt_locale_pointers@@@Z 00740650 f i libucrtd:output.obj + 0002:001fc770 ??0__acrt_stdio_temporary_buffering_guard@@QAE@QAU_iobuf@@@Z 00740770 f i libucrtd:output.obj + 0002:001fc7b0 ??0__crt_deferred_errno_cache@@QAE@XZ 007407b0 f i libucrtd:output.obj + 0002:001fc7d0 ??0__crt_errno_guard@@QAE@QAH@Z 007407d0 f i libucrtd:output.obj + 0002:001fc810 ??0formatting_buffer@__crt_stdio_output@@QAE@XZ 00740810 f i libucrtd:output.obj + 0002:001fc850 ??1?$common_data@D@__crt_stdio_output@@QAE@XZ 00740850 f i libucrtd:output.obj + 0002:001fc870 ??1?$common_data@_W@__crt_stdio_output@@QAE@XZ 00740870 f i libucrtd:output.obj + 0002:001fc890 ??1?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740890 f i libucrtd:output.obj + 0002:001fc8b0 ??1?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 007408b0 f i libucrtd:output.obj + 0002:001fc8d0 ??1?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 007408d0 f i libucrtd:output.obj + 0002:001fc8f0 ??1?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 007408f0 f i libucrtd:output.obj + 0002:001fc910 ??1?$output_adapter_data@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740910 f i libucrtd:output.obj + 0002:001fc930 ??1?$output_adapter_data@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740930 f i libucrtd:output.obj + 0002:001fc950 ??1?$output_adapter_data@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740950 f i libucrtd:output.obj + 0002:001fc970 ??1?$output_adapter_data@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740970 f i libucrtd:output.obj + 0002:001fc990 ??1?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740990 f i libucrtd:output.obj + 0002:001fc9b0 ??1?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 007409b0 f i libucrtd:output.obj + 0002:001fc9d0 ??1?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 007409d0 f i libucrtd:output.obj + 0002:001fc9f0 ??1?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 007409f0 f i libucrtd:output.obj + 0002:001fca10 ??1?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740a10 f i libucrtd:output.obj + 0002:001fca30 ??1?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740a30 f i libucrtd:output.obj + 0002:001fca50 ??1?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740a50 f i libucrtd:output.obj + 0002:001fca70 ??1?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740a70 f i libucrtd:output.obj + 0002:001fca90 ??1?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740a90 f i libucrtd:output.obj + 0002:001fcab0 ??1?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740ab0 f i libucrtd:output.obj + 0002:001fcad0 ??1?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740ad0 f i libucrtd:output.obj + 0002:001fcaf0 ??1?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAE@XZ 00740af0 f i libucrtd:output.obj + 0002:001fcb10 ??1?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740b10 f i libucrtd:output.obj + 0002:001fcb30 ??1?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740b30 f i libucrtd:output.obj + 0002:001fcb50 ??1?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740b50 f i libucrtd:output.obj + 0002:001fcb70 ??1?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740b70 f i libucrtd:output.obj + 0002:001fcb90 ??1?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740b90 f i libucrtd:output.obj + 0002:001fcbb0 ??1?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740bb0 f i libucrtd:output.obj + 0002:001fcbd0 ??1?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740bd0 f i libucrtd:output.obj + 0002:001fcbf0 ??1?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QAE@XZ 00740bf0 f i libucrtd:output.obj + 0002:001fcc10 ??1_LocaleUpdate@@QAE@XZ 00740c10 f i libucrtd:output.obj + 0002:001fcc50 ??1__acrt_stdio_temporary_buffering_guard@@QAE@XZ 00740c50 f i libucrtd:output.obj + 0002:001fcc80 ??1__crt_errno_guard@@QAE@XZ 00740c80 f i libucrtd:output.obj + 0002:001fccc0 ??1formatting_buffer@__crt_stdio_output@@QAE@XZ 00740cc0 f i libucrtd:output.obj + 0002:001fccf0 ??4?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAEAAV0@$$QAV0@@Z 00740cf0 f i libucrtd:output.obj + 0002:001fd630 ?GetLocaleT@_LocaleUpdate@@QAEPAU__crt_locale_pointers@@XZ 00741630 f i libucrtd:output.obj + 0002:001fd650 ?adjust_hexit@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741650 f i libucrtd:output.obj + 0002:001fd6a0 ?adjust_hexit@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 007416a0 f i libucrtd:output.obj + 0002:001fd6f0 ?adjust_hexit@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 007416f0 f i libucrtd:output.obj + 0002:001fd740 ?adjust_hexit@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741740 f i libucrtd:output.obj + 0002:001fd790 ?adjust_hexit@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741790 f i libucrtd:output.obj + 0002:001fd7e0 ?adjust_hexit@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 007417e0 f i libucrtd:output.obj + 0002:001fd830 ?adjust_hexit@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741830 f i libucrtd:output.obj + 0002:001fd880 ?adjust_hexit@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741880 f i libucrtd:output.obj + 0002:001fd8d0 ?adjust_hexit@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 007418d0 f i libucrtd:output.obj + 0002:001fd920 ?adjust_hexit@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741920 f i libucrtd:output.obj + 0002:001fd970 ?adjust_hexit@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 00741970 f i libucrtd:output.obj + 0002:001fd9c0 ?adjust_hexit@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CADH_N@Z 007419c0 f i libucrtd:output.obj + 0002:001fda10 ?advance_to_next_pass@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741a10 f i libucrtd:output.obj + 0002:001fdad0 ?advance_to_next_pass@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741ad0 f i libucrtd:output.obj + 0002:001fdb90 ?advance_to_next_pass@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741b90 f i libucrtd:output.obj + 0002:001fdc50 ?advance_to_next_pass@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741c50 f i libucrtd:output.obj + 0002:001fdd10 ?advance_to_next_pass@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741d10 f i libucrtd:output.obj + 0002:001fdd70 ?advance_to_next_pass@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741d70 f i libucrtd:output.obj + 0002:001fddd0 ?advance_to_next_pass@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741dd0 f i libucrtd:output.obj + 0002:001fde30 ?advance_to_next_pass@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00741e30 f i libucrtd:output.obj + 0002:001fde90 ?crop_zeroes@__crt_stdio_output@@YAXPADQAU__crt_locale_pointers@@@Z 00741e90 f i libucrtd:output.obj + 0002:001fdfc0 ?find_next_state@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 00741fc0 f i libucrtd:output.obj + 0002:001fe050 ?find_next_state@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 00742050 f i libucrtd:output.obj + 0002:001fe0e0 ?find_next_state@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 007420e0 f i libucrtd:output.obj + 0002:001fe170 ?find_next_state@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 00742170 f i libucrtd:output.obj + 0002:001fe200 ?find_next_state@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 00742200 f i libucrtd:output.obj + 0002:001fe290 ?find_next_state@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@DW432@@Z 00742290 f i libucrtd:output.obj + 0002:001fe320 ?find_next_state@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 00742320 f i libucrtd:output.obj + 0002:001fe3b0 ?find_next_state@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 007423b0 f i libucrtd:output.obj + 0002:001fe440 ?find_next_state@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 00742440 f i libucrtd:output.obj + 0002:001fe4d0 ?find_next_state@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 007424d0 f i libucrtd:output.obj + 0002:001fe560 ?find_next_state@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 00742560 f i libucrtd:output.obj + 0002:001fe5f0 ?find_next_state@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE?AW4state@2@_WW432@@Z 007425f0 f i libucrtd:output.obj + 0002:001fe680 ?force_decimal_point@__crt_stdio_output@@YAXPADQAU__crt_locale_pointers@@@Z 00742680 f i libucrtd:output.obj + 0002:001fe760 ?get@__crt_deferred_errno_cache@@QAEAAHXZ 00742760 f i libucrtd:output.obj + 0002:001fe790 ?get_flags@__crt_stdio_stream@@QBEJXZ 00742790 f i libucrtd:output.obj + 0002:001fe7c0 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@F@Z 007427c0 f i libucrtd:output.obj + 0002:001fe7d0 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@G@Z 007427d0 f i libucrtd:output.obj + 0002:001fe7e0 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@H@Z 007427e0 f i libucrtd:output.obj + 0002:001fe7f0 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@I@Z 007427f0 f i libucrtd:output.obj + 0002:001fe800 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@U_CRT_DOUBLE@@@Z 00742800 f i libucrtd:output.obj + 0002:001fe810 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_J@Z 00742810 f i libucrtd:output.obj + 0002:001fe820 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_K@Z 00742820 f i libucrtd:output.obj + 0002:001fe830 ?get_parameter_type@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_W@Z 00742830 f i libucrtd:output.obj + 0002:001fe840 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@F@Z 00742840 f i libucrtd:output.obj + 0002:001fe850 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@G@Z 00742850 f i libucrtd:output.obj + 0002:001fe860 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@H@Z 00742860 f i libucrtd:output.obj + 0002:001fe870 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@I@Z 00742870 f i libucrtd:output.obj + 0002:001fe880 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@U_CRT_DOUBLE@@@Z 00742880 f i libucrtd:output.obj + 0002:001fe890 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_J@Z 00742890 f i libucrtd:output.obj + 0002:001fe8a0 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_K@Z 007428a0 f i libucrtd:output.obj + 0002:001fe8b0 ?get_parameter_type@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_W@Z 007428b0 f i libucrtd:output.obj + 0002:001fe8c0 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@F@Z 007428c0 f i libucrtd:output.obj + 0002:001fe8d0 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@G@Z 007428d0 f i libucrtd:output.obj + 0002:001fe8e0 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@H@Z 007428e0 f i libucrtd:output.obj + 0002:001fe8f0 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@I@Z 007428f0 f i libucrtd:output.obj + 0002:001fe900 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@U_CRT_DOUBLE@@@Z 00742900 f i libucrtd:output.obj + 0002:001fe910 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_J@Z 00742910 f i libucrtd:output.obj + 0002:001fe920 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_K@Z 00742920 f i libucrtd:output.obj + 0002:001fe930 ?get_parameter_type@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_W@Z 00742930 f i libucrtd:output.obj + 0002:001fe940 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@F@Z 00742940 f i libucrtd:output.obj + 0002:001fe950 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@G@Z 00742950 f i libucrtd:output.obj + 0002:001fe960 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@H@Z 00742960 f i libucrtd:output.obj + 0002:001fe970 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@I@Z 00742970 f i libucrtd:output.obj + 0002:001fe980 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@U_CRT_DOUBLE@@@Z 00742980 f i libucrtd:output.obj + 0002:001fe990 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_J@Z 00742990 f i libucrtd:output.obj + 0002:001fe9a0 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_K@Z 007429a0 f i libucrtd:output.obj + 0002:001fe9b0 ?get_parameter_type@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@12@_W@Z 007429b0 f i libucrtd:output.obj + 0002:001fe9c0 ?has_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 007429c0 f i libucrtd:output.obj + 0002:001fea00 ?has_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742a00 f i libucrtd:output.obj + 0002:001fea40 ?has_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742a40 f i libucrtd:output.obj + 0002:001fea80 ?has_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742a80 f i libucrtd:output.obj + 0002:001feac0 ?has_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742ac0 f i libucrtd:output.obj + 0002:001feb00 ?has_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742b00 f i libucrtd:output.obj + 0002:001feb40 ?has_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742b40 f i libucrtd:output.obj + 0002:001feb80 ?has_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742b80 f i libucrtd:output.obj + 0002:001febc0 ?has_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742bc0 f i libucrtd:output.obj + 0002:001fec00 ?has_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742c00 f i libucrtd:output.obj + 0002:001fec40 ?has_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742c40 f i libucrtd:output.obj + 0002:001fec80 ?has_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABE_NI@Z 00742c80 f i libucrtd:output.obj + 0002:001fecc0 ?is_positional_parameter_reappearance_consistent@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@AAE_NABUparameter_data@12@W4parameter_type@12@DW4length_modifier@2@@Z 00742cc0 f i libucrtd:output.obj + 0002:001fef70 ?is_positional_parameter_reappearance_consistent@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@AAE_NABUparameter_data@12@W4parameter_type@12@DW4length_modifier@2@@Z 00742f70 f i libucrtd:output.obj + 0002:001ff220 ?is_positional_parameter_reappearance_consistent@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@AAE_NABUparameter_data@12@W4parameter_type@12@_WW4length_modifier@2@@Z 00743220 f i libucrtd:output.obj + 0002:001ff4d0 ?is_positional_parameter_reappearance_consistent@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@AAE_NABUparameter_data@12@W4parameter_type@12@_WW4length_modifier@2@@Z 007434d0 f i libucrtd:output.obj + 0002:001ff780 ?is_string_backed@__crt_stdio_stream@@QBE_NXZ 00743780 f i libucrtd:output.obj + 0002:001ff7c0 ?narrow_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 007437c0 f i libucrtd:output.obj + 0002:001ff7d0 ?narrow_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 007437d0 f i libucrtd:output.obj + 0002:001ff7e0 ?narrow_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 007437e0 f i libucrtd:output.obj + 0002:001ff7f0 ?narrow_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 007437f0 f i libucrtd:output.obj + 0002:001ff800 ?narrow_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743800 f i libucrtd:output.obj + 0002:001ff810 ?narrow_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743810 f i libucrtd:output.obj + 0002:001ff820 ?narrow_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743820 f i libucrtd:output.obj + 0002:001ff830 ?narrow_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743830 f i libucrtd:output.obj + 0002:001ff840 ?narrow_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743840 f i libucrtd:output.obj + 0002:001ff850 ?narrow_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743850 f i libucrtd:output.obj + 0002:001ff860 ?narrow_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743860 f i libucrtd:output.obj + 0002:001ff870 ?narrow_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPADXZ 00743870 f i libucrtd:output.obj + 0002:001ff880 ?parse_int_from_format_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743880 f i libucrtd:output.obj + 0002:001ff960 ?parse_int_from_format_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743960 f i libucrtd:output.obj + 0002:001ffa40 ?parse_int_from_format_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743a40 f i libucrtd:output.obj + 0002:001ffb20 ?parse_int_from_format_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743b20 f i libucrtd:output.obj + 0002:001ffc00 ?parse_int_from_format_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743c00 f i libucrtd:output.obj + 0002:001ffce0 ?parse_int_from_format_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743ce0 f i libucrtd:output.obj + 0002:001ffdc0 ?parse_int_from_format_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743dc0 f i libucrtd:output.obj + 0002:001ffea0 ?parse_int_from_format_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743ea0 f i libucrtd:output.obj + 0002:001fff80 ?parse_int_from_format_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00743f80 f i libucrtd:output.obj + 0002:00200060 ?parse_int_from_format_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00744060 f i libucrtd:output.obj + 0002:00200140 ?parse_int_from_format_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00744140 f i libucrtd:output.obj + 0002:00200220 ?parse_int_from_format_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NQAH@Z 00744220 f i libucrtd:output.obj + 0002:00200300 ?process@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00744300 f i libucrtd:output.obj + 0002:00200650 ?process@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00744650 f i libucrtd:output.obj + 0002:002009a0 ?process@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 007449a0 f i libucrtd:output.obj + 0002:00200cf0 ?process@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00744cf0 f i libucrtd:output.obj + 0002:00201040 ?process@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00745040 f i libucrtd:output.obj + 0002:00201390 ?process@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00745390 f i libucrtd:output.obj + 0002:002016e0 ?process@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 007456e0 f i libucrtd:output.obj + 0002:00201a30 ?process@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00745a30 f i libucrtd:output.obj + 0002:00201d80 ?process@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00745d80 f i libucrtd:output.obj + 0002:002020d0 ?process@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 007460d0 f i libucrtd:output.obj + 0002:00202420 ?process@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00746420 f i libucrtd:output.obj + 0002:00202770 ?process@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@QAEHXZ 00746770 f i libucrtd:output.obj + 0002:00202ac0 ?public_stream@__crt_stdio_stream@@QBEPAU_iobuf@@XZ 00746ac0 f i libucrtd:output.obj + 0002:00202ae0 ?set_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746ae0 f i libucrtd:output.obj + 0002:00202b10 ?set_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746b10 f i libucrtd:output.obj + 0002:00202b40 ?set_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746b40 f i libucrtd:output.obj + 0002:00202b70 ?set_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746b70 f i libucrtd:output.obj + 0002:00202ba0 ?set_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746ba0 f i libucrtd:output.obj + 0002:00202bd0 ?set_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746bd0 f i libucrtd:output.obj + 0002:00202c00 ?set_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746c00 f i libucrtd:output.obj + 0002:00202c30 ?set_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746c30 f i libucrtd:output.obj + 0002:00202c60 ?set_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746c60 f i libucrtd:output.obj + 0002:00202c90 ?set_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746c90 f i libucrtd:output.obj + 0002:00202cc0 ?set_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746cc0 f i libucrtd:output.obj + 0002:00202cf0 ?set_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 00746cf0 f i libucrtd:output.obj + 0002:00202d20 ?should_format@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746d20 f i libucrtd:output.obj + 0002:00202d70 ?should_format@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746d70 f i libucrtd:output.obj + 0002:00202dc0 ?should_format@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746dc0 f i libucrtd:output.obj + 0002:00202e10 ?should_format@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746e10 f i libucrtd:output.obj + 0002:00202e60 ?should_format@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746e60 f i libucrtd:output.obj + 0002:00202e80 ?should_format@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746e80 f i libucrtd:output.obj + 0002:00202ea0 ?should_format@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746ea0 f i libucrtd:output.obj + 0002:00202ec0 ?should_format@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746ec0 f i libucrtd:output.obj + 0002:00202ee0 ?should_skip_normal_state_processing@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746ee0 f i libucrtd:output.obj + 0002:00202f40 ?should_skip_normal_state_processing@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746f40 f i libucrtd:output.obj + 0002:00202fa0 ?should_skip_normal_state_processing@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00746fa0 f i libucrtd:output.obj + 0002:00203000 ?should_skip_normal_state_processing@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00747000 f i libucrtd:output.obj + 0002:00203060 ?should_skip_normal_state_processing@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00747060 f i libucrtd:output.obj + 0002:00203080 ?should_skip_normal_state_processing@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00747080 f i libucrtd:output.obj + 0002:002030a0 ?should_skip_normal_state_processing@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 007470a0 f i libucrtd:output.obj + 0002:002030c0 ?should_skip_normal_state_processing@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 007470c0 f i libucrtd:output.obj + 0002:002030e0 ?should_skip_type_state_output@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 007470e0 f i libucrtd:output.obj + 0002:00203130 ?should_skip_type_state_output@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747130 f i libucrtd:output.obj + 0002:00203180 ?should_skip_type_state_output@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747180 f i libucrtd:output.obj + 0002:002031d0 ?should_skip_type_state_output@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 007471d0 f i libucrtd:output.obj + 0002:00203220 ?should_skip_type_state_output@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747220 f i libucrtd:output.obj + 0002:00203240 ?should_skip_type_state_output@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747240 f i libucrtd:output.obj + 0002:00203260 ?should_skip_type_state_output@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747260 f i libucrtd:output.obj + 0002:00203280 ?should_skip_type_state_output@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00747280 f i libucrtd:output.obj + 0002:002032a0 ?state_case_dot@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007472a0 f i libucrtd:output.obj + 0002:002032c0 ?state_case_dot@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007472c0 f i libucrtd:output.obj + 0002:002032e0 ?state_case_dot@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007472e0 f i libucrtd:output.obj + 0002:00203300 ?state_case_dot@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747300 f i libucrtd:output.obj + 0002:00203320 ?state_case_dot@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747320 f i libucrtd:output.obj + 0002:00203340 ?state_case_dot@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747340 f i libucrtd:output.obj + 0002:00203360 ?state_case_dot@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747360 f i libucrtd:output.obj + 0002:00203380 ?state_case_dot@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747380 f i libucrtd:output.obj + 0002:002033a0 ?state_case_dot@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007473a0 f i libucrtd:output.obj + 0002:002033c0 ?state_case_dot@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007473c0 f i libucrtd:output.obj + 0002:002033e0 ?state_case_dot@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007473e0 f i libucrtd:output.obj + 0002:00203400 ?state_case_dot@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747400 f i libucrtd:output.obj + 0002:00203420 ?state_case_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747420 f i libucrtd:output.obj + 0002:002034f0 ?state_case_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007474f0 f i libucrtd:output.obj + 0002:002035c0 ?state_case_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007475c0 f i libucrtd:output.obj + 0002:00203690 ?state_case_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747690 f i libucrtd:output.obj + 0002:00203760 ?state_case_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747760 f i libucrtd:output.obj + 0002:00203830 ?state_case_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747830 f i libucrtd:output.obj + 0002:00203900 ?state_case_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747900 f i libucrtd:output.obj + 0002:002039d0 ?state_case_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007479d0 f i libucrtd:output.obj + 0002:00203aa0 ?state_case_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747aa0 f i libucrtd:output.obj + 0002:00203b70 ?state_case_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747b70 f i libucrtd:output.obj + 0002:00203c40 ?state_case_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747c40 f i libucrtd:output.obj + 0002:00203d10 ?state_case_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747d10 f i libucrtd:output.obj + 0002:00203de0 ?state_case_normal@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747de0 f i libucrtd:output.obj + 0002:00203ec0 ?state_case_normal@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747ec0 f i libucrtd:output.obj + 0002:00203fa0 ?state_case_normal@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00747fa0 f i libucrtd:output.obj + 0002:00204080 ?state_case_normal@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748080 f i libucrtd:output.obj + 0002:00204160 ?state_case_normal@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748160 f i libucrtd:output.obj + 0002:00204240 ?state_case_normal@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748240 f i libucrtd:output.obj + 0002:00204320 ?state_case_normal@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748320 f i libucrtd:output.obj + 0002:00204400 ?state_case_normal@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748400 f i libucrtd:output.obj + 0002:002044e0 ?state_case_normal@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007484e0 f i libucrtd:output.obj + 0002:002045c0 ?state_case_normal@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007485c0 f i libucrtd:output.obj + 0002:002046a0 ?state_case_normal@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007486a0 f i libucrtd:output.obj + 0002:00204780 ?state_case_normal@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748780 f i libucrtd:output.obj + 0002:00204860 ?state_case_normal_common@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748860 f i libucrtd:output.obj + 0002:002048c0 ?state_case_normal_common@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007488c0 f i libucrtd:output.obj + 0002:00204920 ?state_case_normal_common@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748920 f i libucrtd:output.obj + 0002:00204980 ?state_case_normal_common@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748980 f i libucrtd:output.obj + 0002:002049e0 ?state_case_normal_common@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007489e0 f i libucrtd:output.obj + 0002:00204a40 ?state_case_normal_common@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748a40 f i libucrtd:output.obj + 0002:00204aa0 ?state_case_normal_common@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748aa0 f i libucrtd:output.obj + 0002:00204b00 ?state_case_normal_common@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748b00 f i libucrtd:output.obj + 0002:00204b60 ?state_case_normal_common@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748b60 f i libucrtd:output.obj + 0002:00204bc0 ?state_case_normal_common@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748bc0 f i libucrtd:output.obj + 0002:00204c20 ?state_case_normal_common@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748c20 f i libucrtd:output.obj + 0002:00204c80 ?state_case_normal_common@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00748c80 f i libucrtd:output.obj + 0002:00204ce0 ?state_case_normal_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00748ce0 f i libucrtd:output.obj + 0002:00204e10 ?state_case_normal_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00748e10 f i libucrtd:output.obj + 0002:00204f40 ?state_case_normal_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00748f40 f i libucrtd:output.obj + 0002:00205070 ?state_case_normal_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00749070 f i libucrtd:output.obj + 0002:002051a0 ?state_case_normal_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 007491a0 f i libucrtd:output.obj + 0002:002052d0 ?state_case_normal_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 007492d0 f i libucrtd:output.obj + 0002:00205400 ?state_case_normal_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00749400 f i libucrtd:output.obj + 0002:00205420 ?state_case_normal_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00749420 f i libucrtd:output.obj + 0002:00205440 ?state_case_normal_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00749440 f i libucrtd:output.obj + 0002:00205460 ?state_case_normal_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00749460 f i libucrtd:output.obj + 0002:00205480 ?state_case_normal_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00749480 f i libucrtd:output.obj + 0002:002054a0 ?state_case_normal_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 007494a0 f i libucrtd:output.obj + 0002:002054c0 ?state_case_percent@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007494c0 f i libucrtd:output.obj + 0002:00205520 ?state_case_percent@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749520 f i libucrtd:output.obj + 0002:00205580 ?state_case_percent@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749580 f i libucrtd:output.obj + 0002:002055e0 ?state_case_percent@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007495e0 f i libucrtd:output.obj + 0002:00205640 ?state_case_percent@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749640 f i libucrtd:output.obj + 0002:002056a0 ?state_case_percent@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007496a0 f i libucrtd:output.obj + 0002:00205700 ?state_case_percent@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749700 f i libucrtd:output.obj + 0002:00205760 ?state_case_percent@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749760 f i libucrtd:output.obj + 0002:002057c0 ?state_case_percent@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007497c0 f i libucrtd:output.obj + 0002:00205820 ?state_case_percent@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749820 f i libucrtd:output.obj + 0002:00205880 ?state_case_percent@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749880 f i libucrtd:output.obj + 0002:002058e0 ?state_case_percent@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007498e0 f i libucrtd:output.obj + 0002:00205940 ?state_case_precision@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749940 f i libucrtd:output.obj + 0002:002059c0 ?state_case_precision@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007499c0 f i libucrtd:output.obj + 0002:00205a40 ?state_case_precision@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749a40 f i libucrtd:output.obj + 0002:00205ac0 ?state_case_precision@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749ac0 f i libucrtd:output.obj + 0002:00205b40 ?state_case_precision@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749b40 f i libucrtd:output.obj + 0002:00205bc0 ?state_case_precision@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749bc0 f i libucrtd:output.obj + 0002:00205c40 ?state_case_precision@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749c40 f i libucrtd:output.obj + 0002:00205cc0 ?state_case_precision@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749cc0 f i libucrtd:output.obj + 0002:00205d40 ?state_case_precision@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749d40 f i libucrtd:output.obj + 0002:00205dc0 ?state_case_precision@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749dc0 f i libucrtd:output.obj + 0002:00205e40 ?state_case_precision@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749e40 f i libucrtd:output.obj + 0002:00205ec0 ?state_case_precision@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749ec0 f i libucrtd:output.obj + 0002:00205f40 ?state_case_size@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00749f40 f i libucrtd:output.obj + 0002:00206400 ?state_case_size@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074a400 f i libucrtd:output.obj + 0002:002068c0 ?state_case_size@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074a8c0 f i libucrtd:output.obj + 0002:00206d80 ?state_case_size@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074ad80 f i libucrtd:output.obj + 0002:00207240 ?state_case_size@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074b240 f i libucrtd:output.obj + 0002:00207700 ?state_case_size@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074b700 f i libucrtd:output.obj + 0002:00207bc0 ?state_case_size@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074bbc0 f i libucrtd:output.obj + 0002:00208080 ?state_case_size@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074c080 f i libucrtd:output.obj + 0002:00208540 ?state_case_size@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074c540 f i libucrtd:output.obj + 0002:00208a00 ?state_case_size@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074ca00 f i libucrtd:output.obj + 0002:00208ec0 ?state_case_size@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074cec0 f i libucrtd:output.obj + 0002:00209380 ?state_case_size@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074d380 f i libucrtd:output.obj + 0002:00209840 ?state_case_type@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074d840 f i libucrtd:output.obj + 0002:00209ce0 ?state_case_type@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074dce0 f i libucrtd:output.obj + 0002:0020a180 ?state_case_type@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074e180 f i libucrtd:output.obj + 0002:0020a620 ?state_case_type@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074e620 f i libucrtd:output.obj + 0002:0020aac0 ?state_case_type@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074eac0 f i libucrtd:output.obj + 0002:0020af60 ?state_case_type@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074ef60 f i libucrtd:output.obj + 0002:0020b400 ?state_case_type@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074f400 f i libucrtd:output.obj + 0002:0020b8d0 ?state_case_type@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074f8d0 f i libucrtd:output.obj + 0002:0020bda0 ?state_case_type@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0074fda0 f i libucrtd:output.obj + 0002:0020c270 ?state_case_type@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00750270 f i libucrtd:output.obj + 0002:0020c740 ?state_case_type@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00750740 f i libucrtd:output.obj + 0002:0020cc10 ?state_case_type@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00750c10 f i libucrtd:output.obj + 0002:0020d0e0 ?state_case_width@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007510e0 f i libucrtd:output.obj + 0002:0020d170 ?state_case_width@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751170 f i libucrtd:output.obj + 0002:0020d200 ?state_case_width@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751200 f i libucrtd:output.obj + 0002:0020d290 ?state_case_width@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751290 f i libucrtd:output.obj + 0002:0020d320 ?state_case_width@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751320 f i libucrtd:output.obj + 0002:0020d3b0 ?state_case_width@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007513b0 f i libucrtd:output.obj + 0002:0020d440 ?state_case_width@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751440 f i libucrtd:output.obj + 0002:0020d4d0 ?state_case_width@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007514d0 f i libucrtd:output.obj + 0002:0020d560 ?state_case_width@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751560 f i libucrtd:output.obj + 0002:0020d5f0 ?state_case_width@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007515f0 f i libucrtd:output.obj + 0002:0020d680 ?state_case_width@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751680 f i libucrtd:output.obj + 0002:0020d710 ?state_case_width@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751710 f i libucrtd:output.obj + 0002:0020d7a0 ?state_count@?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517a0 f i libucrtd:output.obj + 0002:0020d7b0 ?state_count@?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517b0 f i libucrtd:output.obj + 0002:0020d7c0 ?state_count@?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517c0 f i libucrtd:output.obj + 0002:0020d7d0 ?state_count@?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517d0 f i libucrtd:output.obj + 0002:0020d7e0 ?state_count@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517e0 f i libucrtd:output.obj + 0002:0020d7f0 ?state_count@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 007517f0 f i libucrtd:output.obj + 0002:0020d800 ?state_count@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 00751800 f i libucrtd:output.obj + 0002:0020d810 ?state_count@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAIXZ 00751810 f i libucrtd:output.obj + 0002:0020d820 ?state_transition_table@?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751820 f i libucrtd:output.obj + 0002:0020d830 ?state_transition_table@?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751830 f i libucrtd:output.obj + 0002:0020d840 ?state_transition_table@?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751840 f i libucrtd:output.obj + 0002:0020d850 ?state_transition_table@?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751850 f i libucrtd:output.obj + 0002:0020d860 ?state_transition_table@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751860 f i libucrtd:output.obj + 0002:0020d870 ?state_transition_table@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751870 f i libucrtd:output.obj + 0002:0020d880 ?state_transition_table@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751880 f i libucrtd:output.obj + 0002:0020d890 ?state_transition_table@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@KAPBEXZ 00751890 f i libucrtd:output.obj + 0002:0020d8a0 ?tchar_string@?$common_data@D@__crt_stdio_output@@IAEAAPADD@Z 007518a0 f i libucrtd:output.obj + 0002:0020d8c0 ?tchar_string@?$common_data@D@__crt_stdio_output@@IAEAAPADXZ 007518c0 f i libucrtd:output.obj + 0002:0020d8e0 ?tchar_string@?$common_data@_W@__crt_stdio_output@@IAEAAPA_WXZ 007518e0 f i libucrtd:output.obj + 0002:0020d900 ?tchar_string@?$common_data@_W@__crt_stdio_output@@IAEAAPA_W_W@Z 00751900 f i libucrtd:output.obj + 0002:0020d920 ?to_integer_size@__crt_stdio_output@@YAIW4length_modifier@1@@Z 00751920 f i libucrtd:output.obj + 0002:0020d9f0 ?type_case_X@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007519f0 f i libucrtd:output.obj + 0002:0020da10 ?type_case_X@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751a10 f i libucrtd:output.obj + 0002:0020da30 ?type_case_X@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751a30 f i libucrtd:output.obj + 0002:0020da50 ?type_case_X@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751a50 f i libucrtd:output.obj + 0002:0020da70 ?type_case_X@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751a70 f i libucrtd:output.obj + 0002:0020da90 ?type_case_X@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751a90 f i libucrtd:output.obj + 0002:0020dab0 ?type_case_X@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751ab0 f i libucrtd:output.obj + 0002:0020dad0 ?type_case_X@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751ad0 f i libucrtd:output.obj + 0002:0020daf0 ?type_case_X@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751af0 f i libucrtd:output.obj + 0002:0020db10 ?type_case_X@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751b10 f i libucrtd:output.obj + 0002:0020db30 ?type_case_X@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751b30 f i libucrtd:output.obj + 0002:0020db50 ?type_case_X@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751b50 f i libucrtd:output.obj + 0002:0020db70 ?type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751b70 f i libucrtd:output.obj + 0002:0020dca0 ?type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751ca0 f i libucrtd:output.obj + 0002:0020ddd0 ?type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751dd0 f i libucrtd:output.obj + 0002:0020df00 ?type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00751f00 f i libucrtd:output.obj + 0002:0020e030 ?type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752030 f i libucrtd:output.obj + 0002:0020e160 ?type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752160 f i libucrtd:output.obj + 0002:0020e290 ?type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752290 f i libucrtd:output.obj + 0002:0020e3c0 ?type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007523c0 f i libucrtd:output.obj + 0002:0020e4f0 ?type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007524f0 f i libucrtd:output.obj + 0002:0020e620 ?type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752620 f i libucrtd:output.obj + 0002:0020e750 ?type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752750 f i libucrtd:output.obj + 0002:0020e880 ?type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752880 f i libucrtd:output.obj + 0002:0020e9b0 ?type_case_a@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007529b0 f i libucrtd:output.obj + 0002:0020ecb0 ?type_case_a@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752cb0 f i libucrtd:output.obj + 0002:0020efb0 ?type_case_a@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00752fb0 f i libucrtd:output.obj + 0002:0020f2b0 ?type_case_a@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007532b0 f i libucrtd:output.obj + 0002:0020f5b0 ?type_case_a@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007535b0 f i libucrtd:output.obj + 0002:0020f8b0 ?type_case_a@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007538b0 f i libucrtd:output.obj + 0002:0020fbb0 ?type_case_a@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00753bb0 f i libucrtd:output.obj + 0002:0020fec0 ?type_case_a@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00753ec0 f i libucrtd:output.obj + 0002:002101d0 ?type_case_a@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007541d0 f i libucrtd:output.obj + 0002:002104e0 ?type_case_a@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007544e0 f i libucrtd:output.obj + 0002:002107f0 ?type_case_a@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007547f0 f i libucrtd:output.obj + 0002:00210b00 ?type_case_a@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754b00 f i libucrtd:output.obj + 0002:00210e10 ?type_case_c@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754e10 f i libucrtd:output.obj + 0002:00210e30 ?type_case_c@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754e30 f i libucrtd:output.obj + 0002:00210e50 ?type_case_c@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754e50 f i libucrtd:output.obj + 0002:00210e70 ?type_case_c@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754e70 f i libucrtd:output.obj + 0002:00210e90 ?type_case_c@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754e90 f i libucrtd:output.obj + 0002:00210eb0 ?type_case_c@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754eb0 f i libucrtd:output.obj + 0002:00210ed0 ?type_case_c@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754ed0 f i libucrtd:output.obj + 0002:00210ef0 ?type_case_c@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754ef0 f i libucrtd:output.obj + 0002:00210f10 ?type_case_c@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754f10 f i libucrtd:output.obj + 0002:00210f30 ?type_case_c@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754f30 f i libucrtd:output.obj + 0002:00210f50 ?type_case_c@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754f50 f i libucrtd:output.obj + 0002:00210f70 ?type_case_c@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00754f70 f i libucrtd:output.obj + 0002:00210f90 ?type_case_c_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00754f90 f i libucrtd:output.obj + 0002:002110e0 ?type_case_c_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 007550e0 f i libucrtd:output.obj + 0002:00211230 ?type_case_c_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00755230 f i libucrtd:output.obj + 0002:00211380 ?type_case_c_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00755380 f i libucrtd:output.obj + 0002:002114d0 ?type_case_c_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 007554d0 f i libucrtd:output.obj + 0002:00211620 ?type_case_c_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00755620 f i libucrtd:output.obj + 0002:00211770 ?type_case_c_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00755770 f i libucrtd:output.obj + 0002:002118b0 ?type_case_c_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 007558b0 f i libucrtd:output.obj + 0002:002119f0 ?type_case_c_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 007559f0 f i libucrtd:output.obj + 0002:00211b30 ?type_case_c_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00755b30 f i libucrtd:output.obj + 0002:00211c70 ?type_case_c_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00755c70 f i libucrtd:output.obj + 0002:00211db0 ?type_case_c_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00755db0 f i libucrtd:output.obj + 0002:00211ef0 ?type_case_d@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755ef0 f i libucrtd:output.obj + 0002:00211f20 ?type_case_d@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755f20 f i libucrtd:output.obj + 0002:00211f50 ?type_case_d@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755f50 f i libucrtd:output.obj + 0002:00211f80 ?type_case_d@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755f80 f i libucrtd:output.obj + 0002:00211fb0 ?type_case_d@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755fb0 f i libucrtd:output.obj + 0002:00211fe0 ?type_case_d@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00755fe0 f i libucrtd:output.obj + 0002:00212010 ?type_case_d@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00756010 f i libucrtd:output.obj + 0002:00212040 ?type_case_d@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00756040 f i libucrtd:output.obj + 0002:00212070 ?type_case_d@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00756070 f i libucrtd:output.obj + 0002:002120a0 ?type_case_d@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007560a0 f i libucrtd:output.obj + 0002:002120d0 ?type_case_d@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007560d0 f i libucrtd:output.obj + 0002:00212100 ?type_case_d@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00756100 f i libucrtd:output.obj + 0002:00212130 ?type_case_integer@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00756130 f i libucrtd:output.obj + 0002:00212550 ?type_case_integer@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00756550 f i libucrtd:output.obj + 0002:00212970 ?type_case_integer@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00756970 f i libucrtd:output.obj + 0002:00212d90 ?type_case_integer@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00756d90 f i libucrtd:output.obj + 0002:002131b0 ?type_case_integer@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 007571b0 f i libucrtd:output.obj + 0002:002135d0 ?type_case_integer@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 007575d0 f i libucrtd:output.obj + 0002:002139f0 ?type_case_integer@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 007579f0 f i libucrtd:output.obj + 0002:00213e10 ?type_case_integer@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00757e10 f i libucrtd:output.obj + 0002:00214230 ?type_case_integer@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00758230 f i libucrtd:output.obj + 0002:00214650 ?type_case_integer@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00758650 f i libucrtd:output.obj + 0002:00214a70 ?type_case_integer@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00758a70 f i libucrtd:output.obj + 0002:00214e90 ?type_case_integer@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NI_N@Z 00758e90 f i libucrtd:output.obj + 0002:002152b0 ?type_case_n@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 007592b0 f i libucrtd:output.obj + 0002:00215520 ?type_case_n@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00759520 f i libucrtd:output.obj + 0002:00215790 ?type_case_n@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00759790 f i libucrtd:output.obj + 0002:00215a00 ?type_case_n@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00759a00 f i libucrtd:output.obj + 0002:00215c70 ?type_case_n@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00759c70 f i libucrtd:output.obj + 0002:00215ee0 ?type_case_n@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 00759ee0 f i libucrtd:output.obj + 0002:00216150 ?type_case_n@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075a150 f i libucrtd:output.obj + 0002:002163c0 ?type_case_n@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075a3c0 f i libucrtd:output.obj + 0002:00216630 ?type_case_n@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075a630 f i libucrtd:output.obj + 0002:002168a0 ?type_case_n@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075a8a0 f i libucrtd:output.obj + 0002:00216b10 ?type_case_n@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ab10 f i libucrtd:output.obj + 0002:00216d80 ?type_case_n@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ad80 f i libucrtd:output.obj + 0002:00216ff0 ?type_case_o@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075aff0 f i libucrtd:output.obj + 0002:00217040 ?type_case_o@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b040 f i libucrtd:output.obj + 0002:00217090 ?type_case_o@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b090 f i libucrtd:output.obj + 0002:002170e0 ?type_case_o@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b0e0 f i libucrtd:output.obj + 0002:00217130 ?type_case_o@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b130 f i libucrtd:output.obj + 0002:00217180 ?type_case_o@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b180 f i libucrtd:output.obj + 0002:002171d0 ?type_case_o@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b1d0 f i libucrtd:output.obj + 0002:00217220 ?type_case_o@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b220 f i libucrtd:output.obj + 0002:00217270 ?type_case_o@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b270 f i libucrtd:output.obj + 0002:002172c0 ?type_case_o@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b2c0 f i libucrtd:output.obj + 0002:00217310 ?type_case_o@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b310 f i libucrtd:output.obj + 0002:00217360 ?type_case_o@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b360 f i libucrtd:output.obj + 0002:002173b0 ?type_case_p@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b3b0 f i libucrtd:output.obj + 0002:002173f0 ?type_case_p@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b3f0 f i libucrtd:output.obj + 0002:00217430 ?type_case_p@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b430 f i libucrtd:output.obj + 0002:00217470 ?type_case_p@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b470 f i libucrtd:output.obj + 0002:002174b0 ?type_case_p@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b4b0 f i libucrtd:output.obj + 0002:002174f0 ?type_case_p@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b4f0 f i libucrtd:output.obj + 0002:00217530 ?type_case_p@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b530 f i libucrtd:output.obj + 0002:00217570 ?type_case_p@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b570 f i libucrtd:output.obj + 0002:002175b0 ?type_case_p@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b5b0 f i libucrtd:output.obj + 0002:002175f0 ?type_case_p@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b5f0 f i libucrtd:output.obj + 0002:00217630 ?type_case_p@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b630 f i libucrtd:output.obj + 0002:00217670 ?type_case_p@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b670 f i libucrtd:output.obj + 0002:002176b0 ?type_case_s@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b6b0 f i libucrtd:output.obj + 0002:002177e0 ?type_case_s@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b7e0 f i libucrtd:output.obj + 0002:00217910 ?type_case_s@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075b910 f i libucrtd:output.obj + 0002:00217a40 ?type_case_s@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ba40 f i libucrtd:output.obj + 0002:00217b70 ?type_case_s@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075bb70 f i libucrtd:output.obj + 0002:00217ca0 ?type_case_s@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075bca0 f i libucrtd:output.obj + 0002:00217dd0 ?type_case_s@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075bdd0 f i libucrtd:output.obj + 0002:00217f00 ?type_case_s@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075bf00 f i libucrtd:output.obj + 0002:00218030 ?type_case_s@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c030 f i libucrtd:output.obj + 0002:00218160 ?type_case_s@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c160 f i libucrtd:output.obj + 0002:00218290 ?type_case_s@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c290 f i libucrtd:output.obj + 0002:002183c0 ?type_case_s@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c3c0 f i libucrtd:output.obj + 0002:002184f0 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c4f0 f i libucrtd:output.obj + 0002:00218520 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c520 f i libucrtd:output.obj + 0002:00218550 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c550 f i libucrtd:output.obj + 0002:00218580 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c580 f i libucrtd:output.obj + 0002:002185b0 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c5b0 f i libucrtd:output.obj + 0002:002185e0 ?type_case_s_compute_narrow_string_length@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHHD@Z 0075c5e0 f i libucrtd:output.obj + 0002:00218610 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c610 f i libucrtd:output.obj + 0002:002186a0 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c6a0 f i libucrtd:output.obj + 0002:00218730 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c730 f i libucrtd:output.obj + 0002:002187c0 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c7c0 f i libucrtd:output.obj + 0002:00218850 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c850 f i libucrtd:output.obj + 0002:002188e0 ?type_case_s_compute_narrow_string_length@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@ABEHH_W@Z 0075c8e0 f i libucrtd:output.obj + 0002:00218970 ?type_case_u@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c970 f i libucrtd:output.obj + 0002:00218990 ?type_case_u@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c990 f i libucrtd:output.obj + 0002:002189b0 ?type_case_u@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c9b0 f i libucrtd:output.obj + 0002:002189d0 ?type_case_u@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c9d0 f i libucrtd:output.obj + 0002:002189f0 ?type_case_u@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075c9f0 f i libucrtd:output.obj + 0002:00218a10 ?type_case_u@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ca10 f i libucrtd:output.obj + 0002:00218a30 ?type_case_u@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ca30 f i libucrtd:output.obj + 0002:00218a50 ?type_case_u@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ca50 f i libucrtd:output.obj + 0002:00218a70 ?type_case_u@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ca70 f i libucrtd:output.obj + 0002:00218a90 ?type_case_u@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075ca90 f i libucrtd:output.obj + 0002:00218ab0 ?type_case_u@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cab0 f i libucrtd:output.obj + 0002:00218ad0 ?type_case_u@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cad0 f i libucrtd:output.obj + 0002:00218af0 ?type_case_x@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075caf0 f i libucrtd:output.obj + 0002:00218b10 ?type_case_x@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cb10 f i libucrtd:output.obj + 0002:00218b30 ?type_case_x@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cb30 f i libucrtd:output.obj + 0002:00218b50 ?type_case_x@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cb50 f i libucrtd:output.obj + 0002:00218b70 ?type_case_x@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cb70 f i libucrtd:output.obj + 0002:00218b90 ?type_case_x@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cb90 f i libucrtd:output.obj + 0002:00218bb0 ?type_case_x@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cbb0 f i libucrtd:output.obj + 0002:00218bd0 ?type_case_x@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cbd0 f i libucrtd:output.obj + 0002:00218bf0 ?type_case_x@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cbf0 f i libucrtd:output.obj + 0002:00218c10 ?type_case_x@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cc10 f i libucrtd:output.obj + 0002:00218c30 ?type_case_x@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cc30 f i libucrtd:output.obj + 0002:00218c50 ?type_case_x@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ 0075cc50 f i libucrtd:output.obj + 0002:00218c70 ?unset_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cc70 f i libucrtd:output.obj + 0002:00218ca0 ?unset_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cca0 f i libucrtd:output.obj + 0002:00218cd0 ?unset_flag@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075ccd0 f i libucrtd:output.obj + 0002:00218d00 ?unset_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cd00 f i libucrtd:output.obj + 0002:00218d30 ?unset_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cd30 f i libucrtd:output.obj + 0002:00218d60 ?unset_flag@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cd60 f i libucrtd:output.obj + 0002:00218d90 ?unset_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cd90 f i libucrtd:output.obj + 0002:00218dc0 ?unset_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cdc0 f i libucrtd:output.obj + 0002:00218df0 ?unset_flag@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075cdf0 f i libucrtd:output.obj + 0002:00218e20 ?unset_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075ce20 f i libucrtd:output.obj + 0002:00218e50 ?unset_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075ce50 f i libucrtd:output.obj + 0002:00218e80 ?unset_flag@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAEXI@Z 0075ce80 f i libucrtd:output.obj + 0002:00218eb0 ?update_field_width@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075ceb0 f i libucrtd:output.obj + 0002:00219090 ?update_field_width@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d090 f i libucrtd:output.obj + 0002:00219270 ?update_field_width@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d270 f i libucrtd:output.obj + 0002:00219450 ?update_field_width@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d450 f i libucrtd:output.obj + 0002:00219630 ?update_field_width@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d630 f i libucrtd:output.obj + 0002:00219660 ?update_field_width@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d660 f i libucrtd:output.obj + 0002:00219690 ?update_field_width@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d690 f i libucrtd:output.obj + 0002:002196c0 ?update_field_width@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d6c0 f i libucrtd:output.obj + 0002:002196f0 ?update_precision@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d6f0 f i libucrtd:output.obj + 0002:002198d0 ?update_precision@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075d8d0 f i libucrtd:output.obj + 0002:00219ab0 ?update_precision@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075dab0 f i libucrtd:output.obj + 0002:00219c90 ?update_precision@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075dc90 f i libucrtd:output.obj + 0002:00219e70 ?update_precision@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075de70 f i libucrtd:output.obj + 0002:00219ea0 ?update_precision@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075dea0 f i libucrtd:output.obj + 0002:00219ed0 ?update_precision@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075ded0 f i libucrtd:output.obj + 0002:00219f00 ?update_precision@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075df00 f i libucrtd:output.obj + 0002:00219f30 ?valid@__crt_stdio_stream@@QBE_NXZ 0075df30 f i libucrtd:output.obj + 0002:00219f70 ?validate@?$stream_output_adapter@D@__crt_stdio_output@@QBE_NXZ 0075df70 f i libucrtd:output.obj + 0002:0021a040 ?validate@?$stream_output_adapter@_W@__crt_stdio_output@@QBE_NXZ 0075e040 f i libucrtd:output.obj + 0002:0021a110 ?validate@?$string_output_adapter@D@__crt_stdio_output@@QBE_NXZ 0075e110 f i libucrtd:output.obj + 0002:0021a1d0 ?validate@?$string_output_adapter@_W@__crt_stdio_output@@QBE_NXZ 0075e1d0 f i libucrtd:output.obj + 0002:0021a290 ?validate_and_store_parameter_data@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@AAE_NAAUparameter_data@12@W4parameter_type@12@DW4length_modifier@2@@Z 0075e290 f i libucrtd:output.obj + 0002:0021a3a0 ?validate_and_store_parameter_data@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@AAE_NAAUparameter_data@12@W4parameter_type@12@DW4length_modifier@2@@Z 0075e3a0 f i libucrtd:output.obj + 0002:0021a4b0 ?validate_and_store_parameter_data@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@AAE_NAAUparameter_data@12@W4parameter_type@12@_WW4length_modifier@2@@Z 0075e4b0 f i libucrtd:output.obj + 0002:0021a5c0 ?validate_and_store_parameter_data@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@AAE_NAAUparameter_data@12@W4parameter_type@12@_WW4length_modifier@2@@Z 0075e5c0 f i libucrtd:output.obj + 0002:0021a6d0 ?validate_and_update_state_at_beginning_of_format_character@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075e6d0 f i libucrtd:output.obj + 0002:0021a980 ?validate_and_update_state_at_beginning_of_format_character@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075e980 f i libucrtd:output.obj + 0002:0021ac30 ?validate_and_update_state_at_beginning_of_format_character@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075ec30 f i libucrtd:output.obj + 0002:0021aee0 ?validate_and_update_state_at_beginning_of_format_character@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075eee0 f i libucrtd:output.obj + 0002:0021b190 ?validate_and_update_state_at_beginning_of_format_character@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f190 f i libucrtd:output.obj + 0002:0021b1b0 ?validate_and_update_state_at_beginning_of_format_character@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f1b0 f i libucrtd:output.obj + 0002:0021b1d0 ?validate_and_update_state_at_beginning_of_format_character@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f1d0 f i libucrtd:output.obj + 0002:0021b1f0 ?validate_and_update_state_at_beginning_of_format_character@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f1f0 f i libucrtd:output.obj + 0002:0021b210 ?validate_and_update_state_at_end_of_format_string@?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075f210 f i libucrtd:output.obj + 0002:0021b2d0 ?validate_and_update_state_at_end_of_format_string@?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075f2d0 f i libucrtd:output.obj + 0002:0021b390 ?validate_and_update_state_at_end_of_format_string@?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075f390 f i libucrtd:output.obj + 0002:0021b450 ?validate_and_update_state_at_end_of_format_string@?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075f450 f i libucrtd:output.obj + 0002:0021b510 ?validate_and_update_state_at_end_of_format_string@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f510 f i libucrtd:output.obj + 0002:0021b710 ?validate_and_update_state_at_end_of_format_string@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f710 f i libucrtd:output.obj + 0002:0021b910 ?validate_and_update_state_at_end_of_format_string@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075f910 f i libucrtd:output.obj + 0002:0021bb10 ?validate_and_update_state_at_end_of_format_string@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075fb10 f i libucrtd:output.obj + 0002:0021bd10 ?validate_and_update_state_at_end_of_format_string@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075fd10 f i libucrtd:output.obj + 0002:0021bd30 ?validate_and_update_state_at_end_of_format_string@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075fd30 f i libucrtd:output.obj + 0002:0021bd50 ?validate_and_update_state_at_end_of_format_string@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075fd50 f i libucrtd:output.obj + 0002:0021bd70 ?validate_and_update_state_at_end_of_format_string@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 0075fd70 f i libucrtd:output.obj + 0002:0021bd90 ?validate_state_for_type_case_a@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075fd90 f i libucrtd:output.obj + 0002:0021bec0 ?validate_state_for_type_case_a@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075fec0 f i libucrtd:output.obj + 0002:0021bff0 ?validate_state_for_type_case_a@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 0075fff0 f i libucrtd:output.obj + 0002:0021c120 ?validate_state_for_type_case_a@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NXZ 00760120 f i libucrtd:output.obj + 0002:0021c250 ?validate_state_for_type_case_a@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00760250 f i libucrtd:output.obj + 0002:0021c270 ?validate_state_for_type_case_a@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00760270 f i libucrtd:output.obj + 0002:0021c290 ?validate_state_for_type_case_a@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 00760290 f i libucrtd:output.obj + 0002:0021c2b0 ?validate_state_for_type_case_a@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBE_NXZ 007602b0 f i libucrtd:output.obj + 0002:0021c2d0 ?validate_stream_is_ansi_if_required@?$__acrt_stdio_char_traits@D@@SA_NQAU_iobuf@@@Z 007602d0 f i libucrtd:output.obj + 0002:0021c450 ?validate_stream_is_ansi_if_required@?$__acrt_stdio_char_traits@_W@@SA_NQAU_iobuf@@@Z 00760450 f i libucrtd:output.obj + 0002:0021c460 ?wide_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760460 f i libucrtd:output.obj + 0002:0021c470 ?wide_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760470 f i libucrtd:output.obj + 0002:0021c480 ?wide_null_string@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760480 f i libucrtd:output.obj + 0002:0021c490 ?wide_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760490 f i libucrtd:output.obj + 0002:0021c4a0 ?wide_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604a0 f i libucrtd:output.obj + 0002:0021c4b0 ?wide_null_string@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604b0 f i libucrtd:output.obj + 0002:0021c4c0 ?wide_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604c0 f i libucrtd:output.obj + 0002:0021c4d0 ?wide_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604d0 f i libucrtd:output.obj + 0002:0021c4e0 ?wide_null_string@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604e0 f i libucrtd:output.obj + 0002:0021c4f0 ?wide_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 007604f0 f i libucrtd:output.obj + 0002:0021c500 ?wide_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760500 f i libucrtd:output.obj + 0002:0021c510 ?wide_null_string@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@CAPA_WXZ 00760510 f i libucrtd:output.obj + 0002:0021c520 ?write_character@?$output_adapter_common@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@QBEXDQAH@Z 00760520 f i libucrtd:output.obj + 0002:0021c570 ?write_character@?$output_adapter_common@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@QBEX_WQAH@Z 00760570 f i libucrtd:output.obj + 0002:0021c5c0 ?write_character@?$string_output_adapter@D@__crt_stdio_output@@QBE_NDQAH@Z 007605c0 f i libucrtd:output.obj + 0002:0021c680 ?write_character@?$string_output_adapter@_W@__crt_stdio_output@@QBE_N_WQAH@Z 00760680 f i libucrtd:output.obj + 0002:0021c740 ?write_character_without_count_update@?$stream_output_adapter@D@__crt_stdio_output@@QBE_ND@Z 00760740 f i libucrtd:output.obj + 0002:0021c7c0 ?write_character_without_count_update@?$stream_output_adapter@_W@__crt_stdio_output@@QBE_N_W@Z 007607c0 f i libucrtd:output.obj + 0002:0021c850 ?write_stored_string_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00760850 f i libucrtd:output.obj + 0002:0021c9a0 ?write_stored_string_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 007609a0 f i libucrtd:output.obj + 0002:0021caf0 ?write_stored_string_tchar@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00760af0 f i libucrtd:output.obj + 0002:0021cc40 ?write_stored_string_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00760c40 f i libucrtd:output.obj + 0002:0021cd90 ?write_stored_string_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00760d90 f i libucrtd:output.obj + 0002:0021cee0 ?write_stored_string_tchar@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_ND@Z 00760ee0 f i libucrtd:output.obj + 0002:0021d030 ?write_stored_string_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00761030 f i libucrtd:output.obj + 0002:0021d150 ?write_stored_string_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00761150 f i libucrtd:output.obj + 0002:0021d270 ?write_stored_string_tchar@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00761270 f i libucrtd:output.obj + 0002:0021d390 ?write_stored_string_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 00761390 f i libucrtd:output.obj + 0002:0021d4b0 ?write_stored_string_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 007614b0 f i libucrtd:output.obj + 0002:0021d5d0 ?write_stored_string_tchar@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_N_W@Z 007615d0 f i libucrtd:output.obj + 0002:0021d6f0 ?write_string@?$stream_output_adapter@D@__crt_stdio_output@@QBEXQBDHQAHAAV__crt_deferred_errno_cache@@@Z 007616f0 f i libucrtd:output.obj + 0002:0021d760 ?write_string@?$stream_output_adapter@_W@__crt_stdio_output@@QBEXQB_WHQAHAAV__crt_deferred_errno_cache@@@Z 00761760 f i libucrtd:output.obj + 0002:0021d7d0 ?write_string@?$string_output_adapter@D@__crt_stdio_output@@QBEXQBDHQAHAAV__crt_deferred_errno_cache@@@Z 007617d0 f i libucrtd:output.obj + 0002:0021d910 ?write_string@?$string_output_adapter@_W@__crt_stdio_output@@QBEXQB_WHQAHAAV__crt_deferred_errno_cache@@@Z 00761910 f i libucrtd:output.obj + 0002:0021da60 ?write_string_impl@?$output_adapter_common@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IBEXQBDHQAHAAV__crt_deferred_errno_cache@@@Z 00761a60 f i libucrtd:output.obj + 0002:0021db20 ?write_string_impl@?$output_adapter_common@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IBEXQB_WHQAHAAV__crt_deferred_errno_cache@@@Z 00761b20 f i libucrtd:output.obj + 0002:0021dbf0 ___acrt_isleadbyte_l_noupdate 00761bf0 f i libucrtd:output.obj + 0002:0021dc20 ___acrt_locale_changed 00761c20 f i libucrtd:output.obj + 0002:0021dc50 ___acrt_locale_get_ctype_array_value 00761c50 f i libucrtd:output.obj + 0002:0021dc80 ___stdio_common_vfprintf 00761c80 f libucrtd:output.obj + 0002:0021dcb0 ___stdio_common_vfprintf_p 00761cb0 f libucrtd:output.obj + 0002:0021dce0 ___stdio_common_vfprintf_s 00761ce0 f libucrtd:output.obj + 0002:0021dd10 ___stdio_common_vfwprintf 00761d10 f libucrtd:output.obj + 0002:0021dd40 ___stdio_common_vfwprintf_p 00761d40 f libucrtd:output.obj + 0002:0021dd70 ___stdio_common_vfwprintf_s 00761d70 f libucrtd:output.obj + 0002:0021dda0 ___stdio_common_vsnprintf_s 00761da0 f libucrtd:output.obj + 0002:0021dde0 ___stdio_common_vsnwprintf_s 00761de0 f libucrtd:output.obj + 0002:0021de20 ___stdio_common_vsprintf 00761e20 f libucrtd:output.obj + 0002:0021de60 ___stdio_common_vsprintf_p 00761e60 f libucrtd:output.obj + 0002:0021dea0 ___stdio_common_vsprintf_s 00761ea0 f libucrtd:output.obj + 0002:0021dee0 ___stdio_common_vswprintf 00761ee0 f libucrtd:output.obj + 0002:0021df20 ___stdio_common_vswprintf_p 00761f20 f libucrtd:output.obj + 0002:0021df60 ___stdio_common_vswprintf_s 00761f60 f libucrtd:output.obj + 0002:002200d0 ??$ftprintf@PAU_iobuf@@PBDABQBDABQBDABI@?$__crt_char_traits@D@@SAH$$QAPAU_iobuf@@$$QAPBDABQBD2ABI@Z 007640d0 f i libucrtd:assert.obj + 0002:00220110 ??$ftprintf@PAU_iobuf@@PB_WABQB_WABQB_WABI@?$__crt_char_traits@_W@@SAH$$QAPAU_iobuf@@$$QAPB_WABQB_W2ABI@Z 00764110 f i libucrtd:assert.obj + 0002:00220150 ??$itot_s@ABIPADIH@?$__crt_char_traits@D@@SAHABI$$QAPAD$$QAI$$QAH@Z 00764150 f i libucrtd:assert.obj + 0002:00220180 ??$itot_s@ABIPA_WIH@?$__crt_char_traits@_W@@SAHABI$$QAPA_W$$QAI$$QAH@Z 00764180 f i libucrtd:assert.obj + 0002:002201b0 ??$show_message_box@AAY0CEA@DPBDJ@?$__crt_char_traits@D@@SAHAAY0CEA@D$$QAPBD$$QAJ@Z 007641b0 f i libucrtd:assert.obj + 0002:002201e0 ??$show_message_box@AAY0CEA@_WPB_WJ@?$__crt_char_traits@_W@@SAHAAY0CEA@_W$$QAPB_W$$QAJ@Z 007641e0 f i libucrtd:assert.obj + 0002:00220210 ??$tcscat_s@ABQADABIAAPAD@?$__crt_char_traits@D@@SAHABQADABIAAPAD@Z 00764210 f i libucrtd:assert.obj + 0002:00220240 ??$tcscat_s@ABQADABIABQBD@?$__crt_char_traits@D@@SAHABQADABIABQBD@Z 00764240 f i libucrtd:assert.obj + 0002:00220270 ??$tcscat_s@ABQADABIPBD@?$__crt_char_traits@D@@SAHABQADABI$$QAPBD@Z 00764270 f i libucrtd:assert.obj + 0002:002202a0 ??$tcscat_s@ABQA_WABIAAPA_W@?$__crt_char_traits@_W@@SAHABQA_WABIAAPA_W@Z 007642a0 f i libucrtd:assert.obj + 0002:002202d0 ??$tcscat_s@ABQA_WABIABQB_W@?$__crt_char_traits@_W@@SAHABQA_WABIABQB_W@Z 007642d0 f i libucrtd:assert.obj + 0002:00220300 ??$tcscat_s@ABQA_WABIPB_W@?$__crt_char_traits@_W@@SAHABQA_WABI$$QAPB_W@Z 00764300 f i libucrtd:assert.obj + 0002:00220330 ??$tcscpy_s@ABQADABIPBD@?$__crt_char_traits@D@@SAHABQADABI$$QAPBD@Z 00764330 f i libucrtd:assert.obj + 0002:00220360 ??$tcscpy_s@ABQA_WABIPB_W@?$__crt_char_traits@_W@@SAHABQA_WABI$$QAPB_W@Z 00764360 f i libucrtd:assert.obj + 0002:00220390 ??$tcslen@ABQAD@?$__crt_char_traits@D@@SAIABQAD@Z 00764390 f i libucrtd:assert.obj + 0002:002203b0 ??$tcslen@ABQA_W@?$__crt_char_traits@_W@@SAIABQA_W@Z 007643b0 f i libucrtd:assert.obj + 0002:002203d0 ??$tcsncat_s@ABQADABIAAPBDI@?$__crt_char_traits@D@@SAHABQADABIAAPBD$$QAI@Z 007643d0 f i libucrtd:assert.obj + 0002:00220400 ??$tcsncat_s@ABQADABIABQBDABI@?$__crt_char_traits@D@@SAHABQADABIABQBD1@Z 00764400 f i libucrtd:assert.obj + 0002:00220430 ??$tcsncat_s@ABQADABIPBDI@?$__crt_char_traits@D@@SAHABQADABI$$QAPBD$$QAI@Z 00764430 f i libucrtd:assert.obj + 0002:00220460 ??$tcsncat_s@ABQA_WABIAAPB_WI@?$__crt_char_traits@_W@@SAHABQA_WABIAAPB_W$$QAI@Z 00764460 f i libucrtd:assert.obj + 0002:00220490 ??$tcsncat_s@ABQA_WABIABQB_WABI@?$__crt_char_traits@_W@@SAHABQA_WABIABQB_W1@Z 00764490 f i libucrtd:assert.obj + 0002:002204c0 ??$tcsncat_s@ABQA_WABIPB_WI@?$__crt_char_traits@_W@@SAHABQA_WABI$$QAPB_W$$QAI@Z 007644c0 f i libucrtd:assert.obj + 0002:002207c0 ?has_any_buffer@__crt_stdio_stream@@QBE_NXZ 007647c0 f i libucrtd:assert.obj + 0002:002207e0 ?has_any_of@__crt_stdio_stream@@QBE_NJ@Z 007647e0 f i libucrtd:assert.obj + 0002:00220820 __assert 00764820 f libucrtd:assert.obj + 0002:00220850 __vswprintf_c_l 00764850 f i libucrtd:assert.obj + 0002:002208c0 __wassert 007648c0 f libucrtd:assert.obj + 0002:00220a40 _swprintf 00764a40 f i libucrtd:assert.obj + 0002:00220a90 _pow 00764a90 f libucrtd:pow.obj + 0002:00220af0 _sqrt 00764af0 f libucrtd:sqrt.obj + 0002:00220b10 ?__acrt_stdio_reset_buffer@@YAXV__crt_stdio_stream@@@Z 00764b10 f i libucrtd:fread.obj + 0002:00220b50 ?set_flags@__crt_stdio_stream@@QBE_NJ@Z 00764b50 f i libucrtd:fread.obj + 0002:00220bb0 __fread_nolock 00764bb0 f libucrtd:fread.obj + 0002:00220be0 __fread_nolock_s 00764be0 f libucrtd:fread.obj + 0002:00221400 _fread 00765400 f libucrtd:fread.obj + 0002:00221430 _fread_s 00765430 f libucrtd:fread.obj + 0002:0022171c ??$?R_W@__crt_internal_free_policy@@QBEXQB_W@Z 0076571c f i libucrtd:system.obj + 0002:00221a5c ??$taccess_s@PADH@?$__crt_char_traits@D@@SAH$$QAPAD$$QAH@Z 00765a5c f i libucrtd:system.obj + 0002:00221a7a ??$taccess_s@PA_WH@?$__crt_char_traits@_W@@SAH$$QAPA_W$$QAH@Z 00765a7a f i libucrtd:system.obj + 0002:00221a98 ??$tdupenv_s_crt@PAPAD$$TAAY07$$CBD@?$__crt_char_traits@D@@SAH$$QAPAPAD$$QA$$TAAY07$$CBD@Z 00765a98 f i libucrtd:system.obj + 0002:00221ac6 ??$tdupenv_s_crt@PAPA_W$$TAAY07$$CB_W@?$__crt_char_traits@_W@@SAH$$QAPAPA_W$$QA$$TAAY07$$CB_W@Z 00765ac6 f i libucrtd:system.obj + 0002:00221af4 ??$tspawnve@HAAPBDAAY03PBD$$T@?$__crt_char_traits@D@@SAH$$QAHAAPBDAAY03PBD$$QA$$T@Z 00765af4 f i libucrtd:system.obj + 0002:00221b1d ??$tspawnve@HAAPB_WAAY03PB_W$$T@?$__crt_char_traits@_W@@SAH$$QAHAAPB_WAAY03PB_W$$QA$$T@Z 00765b1d f i libucrtd:system.obj + 0002:00221b46 ??$tspawnvpe@HAAPBDAAY03PBD$$T@?$__crt_char_traits@D@@SAH$$QAHAAPBDAAY03PBD$$QA$$T@Z 00765b46 f i libucrtd:system.obj + 0002:00221b6f ??$tspawnvpe@HAAPB_WAAY03PB_W$$T@?$__crt_char_traits@_W@@SAH$$QAHAAPB_WAAY03PB_W$$QA$$T@Z 00765b6f f i libucrtd:system.obj + 0002:00221b98 ??0?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QAE@QA_W@Z 00765b98 f i libucrtd:system.obj + 0002:00221bac ??1?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QAE@XZ 00765bac f i libucrtd:system.obj + 0002:00221bc6 ??B?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QBE_NXZ 00765bc6 f i libucrtd:system.obj + 0002:00221bcd ?get@?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QBEPA_WXZ 00765bcd f i libucrtd:system.obj + 0002:00221bd0 ?get_address_of@?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAEPAPADXZ 00765bd0 f i libucrtd:system.obj + 0002:00221bd3 ?get_address_of@?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QAEPAPA_WXZ 00765bd3 f i libucrtd:system.obj + 0002:00221bd6 ?is_valid@?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QBE_NXZ 00765bd6 f i libucrtd:system.obj + 0002:00221bdd ?release@?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QAEXXZ 00765bdd f i libucrtd:system.obj + 0002:00221bf7 __wsystem 00765bf7 f libucrtd:system.obj + 0002:00221c04 _system 00765c04 f libucrtd:system.obj + 0002:00223a50 __CrtCheckMemory 00767a50 f libucrtd:debug_heap.obj + 0002:00223c40 __CrtDoForAllClientObjects 00767c40 f libucrtd:debug_heap.obj + 0002:00223de0 __CrtDumpMemoryLeaks 00767de0 f libucrtd:debug_heap.obj + 0002:00223ea0 __CrtGetAllocHook 00767ea0 f libucrtd:debug_heap.obj + 0002:00223eb0 __CrtGetDumpClient 00767eb0 f libucrtd:debug_heap.obj + 0002:00223ec0 __CrtIsMemoryBlock 00767ec0 f libucrtd:debug_heap.obj + 0002:00224060 __CrtIsValidHeapPointer 00768060 f libucrtd:debug_heap.obj + 0002:002240a0 __CrtIsValidPointer 007680a0 f libucrtd:debug_heap.obj + 0002:002240d0 __CrtMemCheckpoint 007680d0 f libucrtd:debug_heap.obj + 0002:00224390 __CrtMemDifference 00768390 f libucrtd:debug_heap.obj + 0002:002246a0 __CrtMemDumpAllObjectsSince 007686a0 f libucrtd:debug_heap.obj + 0002:00224760 __CrtMemDumpStatistics 00768760 f libucrtd:debug_heap.obj + 0002:002248d0 __CrtReportBlockType 007688d0 f libucrtd:debug_heap.obj + 0002:00224910 __CrtSetAllocHook 00768910 f libucrtd:debug_heap.obj + 0002:00224940 __CrtSetBreakAlloc 00768940 f libucrtd:debug_heap.obj + 0002:00224970 __CrtSetDbgBlockType 00768970 f libucrtd:debug_heap.obj + 0002:00224a80 __CrtSetDbgFlag 00768a80 f libucrtd:debug_heap.obj + 0002:00224c50 __CrtSetDumpClient 00768c50 f libucrtd:debug_heap.obj + 0002:00224c80 ___acrt_get_locale_data_prefix 00768c80 f i libucrtd:debug_heap.obj + 0002:00224ca0 ___p__crtBreakAlloc 00768ca0 f libucrtd:debug_heap.obj + 0002:00224cb0 ___p__crtDbgFlag 00768cb0 f libucrtd:debug_heap.obj + 0002:00224cc0 __aligned_free_dbg 00768cc0 f libucrtd:debug_heap.obj + 0002:00224da0 __aligned_malloc_dbg 00768da0 f libucrtd:debug_heap.obj + 0002:00224dd0 __aligned_msize_dbg 00768dd0 f libucrtd:debug_heap.obj + 0002:00224f40 __aligned_offset_malloc_dbg 00768f40 f libucrtd:debug_heap.obj + 0002:00225190 __aligned_offset_realloc_dbg 00769190 f libucrtd:debug_heap.obj + 0002:00225560 __aligned_offset_recalloc_dbg 00769560 f libucrtd:debug_heap.obj + 0002:00225650 __aligned_realloc_dbg 00769650 f libucrtd:debug_heap.obj + 0002:00225680 __aligned_recalloc_dbg 00769680 f libucrtd:debug_heap.obj + 0002:002256c0 __calloc_dbg 007696c0 f libucrtd:debug_heap.obj + 0002:00225750 __chvalidchk_l 00769750 f i libucrtd:debug_heap.obj + 0002:00225780 __expand_dbg 00769780 f libucrtd:debug_heap.obj + 0002:00225900 __free_dbg 00769900 f libucrtd:debug_heap.obj + 0002:002259e0 __ischartype_l 007699e0 f i libucrtd:debug_heap.obj + 0002:00225a40 __malloc_dbg 00769a40 f libucrtd:debug_heap.obj + 0002:00225a70 __msize_dbg 00769a70 f libucrtd:debug_heap.obj + 0002:00225c60 __realloc_dbg 00769c60 f libucrtd:debug_heap.obj + 0002:00225d30 __recalloc_dbg 00769d30 f libucrtd:debug_heap.obj + 0002:00225e10 _free 00769e10 f libucrtd:free.obj + 0002:00225e40 ??$is_overflow_condition@K@__crt_strtox@@YA_NIK@Z 00769e40 f i libucrtd:atox.obj + 0002:00225eb0 ??$is_overflow_condition@_K@__crt_strtox@@YA_NI_K@Z 00769eb0 f i libucrtd:atox.obj + 0002:00225f60 ??$make_c_string_character_source@D$$T@__crt_strtox@@YA?AV?$c_string_character_source@D@0@QBD$$T@Z 00769f60 f i libucrtd:atox.obj + 0002:00225f80 ??$make_c_string_character_source@_W$$T@__crt_strtox@@YA?AV?$c_string_character_source@_W@0@QB_W$$T@Z 00769f80 f i libucrtd:atox.obj + 0002:00225fa0 ??$parse_integer@KV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YAKQAU__crt_locale_pointers@@V?$c_string_character_source@D@0@H_N@Z 00769fa0 f i libucrtd:atox.obj + 0002:002263f0 ??$parse_integer@KV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YAKQAU__crt_locale_pointers@@V?$c_string_character_source@_W@0@H_N@Z 0076a3f0 f i libucrtd:atox.obj + 0002:00226840 ??$parse_integer@_KV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_KQAU__crt_locale_pointers@@V?$c_string_character_source@D@0@H_N@Z 0076a840 f i libucrtd:atox.obj + 0002:00226d60 ??$parse_integer@_KV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_KQAU__crt_locale_pointers@@V?$c_string_character_source@_W@0@H_N@Z 0076ad60 f i libucrtd:atox.obj + 0002:002272a0 ??$parse_integer_from_string@JD$$T@__crt_strtox@@YAJQBD$$THQAU__crt_locale_pointers@@@Z 0076b2a0 f i libucrtd:atox.obj + 0002:002272f0 ??$parse_integer_from_string@J_W$$T@__crt_strtox@@YAJQB_W$$THQAU__crt_locale_pointers@@@Z 0076b2f0 f i libucrtd:atox.obj + 0002:00227340 ??$parse_integer_from_string@_JD$$T@__crt_strtox@@YA_JQBD$$THQAU__crt_locale_pointers@@@Z 0076b340 f i libucrtd:atox.obj + 0002:00227390 ??$parse_integer_from_string@_J_W$$T@__crt_strtox@@YA_JQB_W$$THQAU__crt_locale_pointers@@@Z 0076b390 f i libucrtd:atox.obj + 0002:002273e0 ??0?$c_string_character_source@D@__crt_strtox@@QAE@QBDQAPBD@Z 0076b3e0 f i libucrtd:atox.obj + 0002:00227420 ??0?$c_string_character_source@_W@__crt_strtox@@QAE@QB_WQAPB_W@Z 0076b420 f i libucrtd:atox.obj + 0002:00227460 ??1?$c_string_character_source@D@__crt_strtox@@QAE@XZ 0076b460 f i libucrtd:atox.obj + 0002:00227490 ??1?$c_string_character_source@_W@__crt_strtox@@QAE@XZ 0076b490 f i libucrtd:atox.obj + 0002:002274c0 ?get@?$c_string_character_source@D@__crt_strtox@@QAEDXZ 0076b4c0 f i libucrtd:atox.obj + 0002:00227500 ?get@?$c_string_character_source@_W@__crt_strtox@@QAE_WXZ 0076b500 f i libucrtd:atox.obj + 0002:00227540 ?is_space@__crt_strtox@@YA_NDQAU__crt_locale_pointers@@@Z 0076b540 f i libucrtd:atox.obj + 0002:00227590 ?is_space@__crt_strtox@@YA_N_WPAU__crt_locale_pointers@@@Z 0076b590 f i libucrtd:atox.obj + 0002:002275d0 ?maximum_signed_value@__crt_strtox@@YAJK@Z 0076b5d0 f i libucrtd:atox.obj + 0002:002275e0 ?maximum_signed_value@__crt_strtox@@YA_J_K@Z 0076b5e0 f i libucrtd:atox.obj + 0002:00227600 ?minimum_signed_value@__crt_strtox@@YAJK@Z 0076b600 f i libucrtd:atox.obj + 0002:00227610 ?minimum_signed_value@__crt_strtox@@YA_J_K@Z 0076b610 f i libucrtd:atox.obj + 0002:00227630 ?parse_digit@__crt_strtox@@YAID@Z 0076b630 f i libucrtd:atox.obj + 0002:002276b0 ?parse_digit@__crt_strtox@@YAI_W@Z 0076b6b0 f i libucrtd:atox.obj + 0002:00227750 ?restore_state@?$c_string_character_source@D@__crt_strtox@@QAE_NQBD@Z 0076b750 f i libucrtd:atox.obj + 0002:00227770 ?restore_state@?$c_string_character_source@_W@__crt_strtox@@QAE_NQB_W@Z 0076b770 f i libucrtd:atox.obj + 0002:00227790 ?save_state@?$c_string_character_source@D@__crt_strtox@@QBEPBDXZ 0076b790 f i libucrtd:atox.obj + 0002:002277b0 ?save_state@?$c_string_character_source@_W@__crt_strtox@@QBEPB_WXZ 0076b7b0 f i libucrtd:atox.obj + 0002:002277d0 ?unget@?$c_string_character_source@D@__crt_strtox@@QAEXD@Z 0076b7d0 f i libucrtd:atox.obj + 0002:002278a0 ?unget@?$c_string_character_source@_W@__crt_strtox@@QAEX_W@Z 0076b8a0 f i libucrtd:atox.obj + 0002:00227970 ?validate@?$c_string_character_source@D@__crt_strtox@@QBE_NXZ 0076b970 f i libucrtd:atox.obj + 0002:00227a30 ?validate@?$c_string_character_source@_W@__crt_strtox@@QBE_NXZ 0076ba30 f i libucrtd:atox.obj + 0002:00227af0 ?wide_character_to_digit@__crt_strtox@@YAH_W@Z 0076baf0 f i libucrtd:atox.obj + 0002:00227ee0 __atoi64 0076bee0 f libucrtd:atox.obj + 0002:00227f00 __atoi64_l 0076bf00 f libucrtd:atox.obj + 0002:00227f30 __atoi_l 0076bf30 f libucrtd:atox.obj + 0002:00227f60 __atol_l 0076bf60 f libucrtd:atox.obj + 0002:00227f90 __atoll_l 0076bf90 f libucrtd:atox.obj + 0002:00227fc0 __wtoi 0076bfc0 f libucrtd:atox.obj + 0002:00227fe0 __wtoi64 0076bfe0 f libucrtd:atox.obj + 0002:00228000 __wtoi64_l 0076c000 f libucrtd:atox.obj + 0002:00228030 __wtoi_l 0076c030 f libucrtd:atox.obj + 0002:00228060 __wtol 0076c060 f libucrtd:atox.obj + 0002:00228080 __wtol_l 0076c080 f libucrtd:atox.obj + 0002:002280b0 __wtoll 0076c0b0 f libucrtd:atox.obj + 0002:002280d0 __wtoll_l 0076c0d0 f libucrtd:atox.obj + 0002:00228100 _atoi 0076c100 f libucrtd:atox.obj + 0002:00228120 _atol 0076c120 f libucrtd:atox.obj + 0002:00228140 _atoll 0076c140 f libucrtd:atox.obj + 0002:00228160 ?is_in_use@__crt_stdio_stream@@QBE_NXZ 0076c160 f i libucrtd:fclose.obj + 0002:002281a0 __fclose_nolock 0076c1a0 f libucrtd:fclose.obj + 0002:00228330 _fclose 0076c330 f libucrtd:fclose.obj + 0002:00228950 ??0__crt_stdio_stream@@QAE@QAU__crt_stdio_stream_data@@@Z 0076c950 f i libucrtd:fflush.obj + 0002:00228d30 ?has_all_of@__crt_stdio_stream@@QBE_NJ@Z 0076cd30 f i libucrtd:fflush.obj + 0002:00228e20 ?unset_flags@__crt_stdio_stream@@QBE_NJ@Z 0076ce20 f i libucrtd:fflush.obj + 0002:00228e80 ___acrt_stdio_flush_nolock 0076ce80 f libucrtd:fflush.obj + 0002:00228f80 __fflush_nolock 0076cf80 f libucrtd:fflush.obj + 0002:00229020 __flushall 0076d020 f libucrtd:fflush.obj + 0002:00229040 _fflush 0076d040 f libucrtd:fflush.obj + 0002:002290d0 __fgetc_nolock 0076d0d0 f libucrtd:fgetc.obj + 0002:00229220 __fgetchar 0076d220 f libucrtd:fgetc.obj + 0002:00229240 __getc_nolock 0076d240 f libucrtd:fgetc.obj + 0002:00229260 _fgetc 0076d260 f libucrtd:fgetc.obj + 0002:00229550 _getc 0076d550 f libucrtd:fgetc.obj + 0002:00229570 _getchar 0076d570 f libucrtd:fgetc.obj + 0002:00229580 _fgetpos 0076d580 f libucrtd:fgetpos.obj + 0002:00229700 __fputc_nolock 0076d700 f libucrtd:fputc.obj + 0002:002297b0 __fputchar 0076d7b0 f libucrtd:fputc.obj + 0002:002297e0 __putc_nolock 0076d7e0 f libucrtd:fputc.obj + 0002:00229800 _fputc 0076d800 f libucrtd:fputc.obj + 0002:00229ad0 _putc 0076dad0 f libucrtd:fputc.obj + 0002:00229af0 _putchar 0076daf0 f libucrtd:fputc.obj + 0002:00229b10 _fsetpos 0076db10 f libucrtd:fsetpos.obj + 0002:00229c70 ?LongLongSub@@YAJ_J0PA_J@Z 0076dc70 f i libucrtd:fseek.obj + 0002:0022a370 ?lowio_handle@__crt_stdio_stream@@QBEHXZ 0076e370 f i libucrtd:fseek.obj + 0002:0022a3a0 __fseek_nolock 0076e3a0 f libucrtd:fseek.obj + 0002:0022a3e0 __fseeki64 0076e3e0 f libucrtd:fseek.obj + 0002:0022a420 __fseeki64_nolock 0076e420 f libucrtd:fseek.obj + 0002:0022a460 _fseek 0076e460 f libucrtd:fseek.obj + 0002:0022a710 ?has_big_buffer@__crt_stdio_stream@@QBE_NXZ 0076e710 f i libucrtd:fwrite.obj + 0002:0022a730 __fwrite_nolock 0076e730 f libucrtd:fwrite.obj + 0002:0022ad40 _fwrite 0076ed40 f libucrtd:fwrite.obj + 0002:0022b1b0 ?detach@?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@QAEPADXZ 0076f1b0 f i libucrtd:setvbuf.obj + 0002:0022b240 _setvbuf 0076f240 f libucrtd:setvbuf.obj + 0002:0022b490 __ungetc_nolock 0076f490 f libucrtd:ungetc.obj + 0002:0022b7d0 _ungetc 0076f7d0 f libucrtd:ungetc.obj + 0002:0022b960 __get_terminate 0076f960 f libucrtd:terminate.obj + 0002:0022b980 _set_terminate 0076f980 f libucrtd:terminate.obj + 0002:0022b9c0 _terminate 0076f9c0 f libucrtd:terminate.obj + 0002:0022ba80 _strcmp 0076fa80 f libucrtd:strcmp.obj + 0002:0022bb30 _strlen 0076fb30 f libucrtd:strlen.obj + 0002:0022bbe0 __abs64 0076fbe0 f libucrtd:abs.obj + 0002:0022bc40 _abs 0076fc40 f libucrtd:abs.obj + 0002:0022bc70 _acos 0076fc70 f libucrtd:acos.obj + 0002:0022bcd0 _asin 0076fcd0 f libucrtd:asin.obj + 0002:0022bd30 _cos 0076fd30 f libucrtd:cos.obj + 0002:0022bd90 _sin 0076fd90 f libucrtd:sin.obj + 0002:0022bdf0 _rand 0076fdf0 f libucrtd:rand.obj + 0002:0022be40 _srand 0076fe40 f libucrtd:rand.obj + 0002:0022be60 _calloc 0076fe60 f libucrtd:calloc.obj + 0002:0022cbb0 ??$gmtime_s@ABQAUtm@@ABQBJ@?$__crt_integer_traits@J@@SAHABQAUtm@@ABQBJ@Z 00770bb0 f i libucrtd:localtime.obj + 0002:0022cbe0 ??$gmtime_s@ABQAUtm@@ABQB_J@?$__crt_integer_traits@_J@@SAHABQAUtm@@ABQB_J@Z 00770be0 f i libucrtd:localtime.obj + 0002:0022cc10 ??$gmtime_s@ABQAUtm@@PAJ@?$__crt_integer_traits@J@@SAHABQAUtm@@$$QAPAJ@Z 00770c10 f i libucrtd:localtime.obj + 0002:0022cc40 ??$gmtime_s@ABQAUtm@@PA_J@?$__crt_integer_traits@_J@@SAHABQAUtm@@$$QAPA_J@Z 00770c40 f i libucrtd:localtime.obj + 0002:0022cc70 ??$localtime_s@ABQAUtm@@ABQBJ@?$__crt_integer_traits@J@@SAHABQAUtm@@ABQBJ@Z 00770c70 f i libucrtd:localtime.obj + 0002:0022cca0 ??$localtime_s@ABQAUtm@@ABQB_J@?$__crt_integer_traits@_J@@SAHABQAUtm@@ABQB_J@Z 00770ca0 f i libucrtd:localtime.obj + 0002:0022ccd0 __localtime32 00770cd0 f libucrtd:localtime.obj + 0002:0022ccf0 __localtime32_s 00770cf0 f libucrtd:localtime.obj + 0002:0022cd10 __localtime64 00770d10 f libucrtd:localtime.obj + 0002:0022cd30 __localtime64_s 00770d30 f libucrtd:localtime.obj + 0002:0022d140 __time32 00771140 f libucrtd:time.obj + 0002:0022d160 __time64 00771160 f libucrtd:time.obj + 0002:0022d180 __timespec32_get 00771180 f libucrtd:time.obj + 0002:0022d1a0 __timespec64_get 007711a0 f libucrtd:time.obj + 0002:0022d1e0 ___isascii 007711e0 f i libucrtd:_ctype.obj + 0002:0022d210 ___iscsym 00771210 f i libucrtd:_ctype.obj + 0002:0022d260 ___iscsymf 00771260 f i libucrtd:_ctype.obj + 0002:0022d2a0 ___toascii 007712a0 f i libucrtd:_ctype.obj + 0002:0022d2b0 __isalnum_l 007712b0 f i libucrtd:_ctype.obj + 0002:0022d300 __isalpha_l 00771300 f i libucrtd:_ctype.obj + 0002:0022d350 __isblank_l 00771350 f i libucrtd:_ctype.obj + 0002:0022d3c0 __iscntrl_l 007713c0 f i libucrtd:_ctype.obj + 0002:0022d410 __iscsym_l 00771410 f i libucrtd:_ctype.obj + 0002:0022d460 __iscsymf_l 00771460 f i libucrtd:_ctype.obj + 0002:0022d4b0 __isdigit_l 007714b0 f i libucrtd:_ctype.obj + 0002:0022d500 __isgraph_l 00771500 f i libucrtd:_ctype.obj + 0002:0022d550 __islower_l 00771550 f i libucrtd:_ctype.obj + 0002:0022d5a0 __isprint_l 007715a0 f i libucrtd:_ctype.obj + 0002:0022d5f0 __ispunct_l 007715f0 f i libucrtd:_ctype.obj + 0002:0022d640 __isspace_l 00771640 f i libucrtd:_ctype.obj + 0002:0022d690 __isupper_l 00771690 f i libucrtd:_ctype.obj + 0002:0022d6e0 __isxdigit_l 007716e0 f i libucrtd:_ctype.obj + 0002:0022d730 _isalnum 00771730 f i libucrtd:_ctype.obj + 0002:0022d780 _isalpha 00771780 f i libucrtd:_ctype.obj + 0002:0022d7d0 _isblank 007717d0 f i libucrtd:_ctype.obj + 0002:0022d840 _iscntrl 00771840 f i libucrtd:_ctype.obj + 0002:0022d890 _isdigit 00771890 f i libucrtd:_ctype.obj + 0002:0022d8e0 _isgraph 007718e0 f i libucrtd:_ctype.obj + 0002:0022d930 _islower 00771930 f i libucrtd:_ctype.obj + 0002:0022d980 _isprint 00771980 f i libucrtd:_ctype.obj + 0002:0022d9d0 _ispunct 007719d0 f i libucrtd:_ctype.obj + 0002:0022da20 _isspace 00771a20 f i libucrtd:_ctype.obj + 0002:0022da70 _isupper 00771a70 f i libucrtd:_ctype.obj + 0002:0022dac0 _isxdigit 00771ac0 f i libucrtd:_ctype.obj + 0002:0022db10 ??$?B$$A6AXH@Z@__crt_fast_encoded_nullptr_t@@QBEP6AXH@ZXZ 00771b10 f i libucrtd:signal.obj + 0002:0022dc20 ??$__crt_fast_decode_pointer@P6AXH@Z@@YAP6AXH@ZQ6AXH@Z@Z 00771c20 f i libucrtd:signal.obj + 0002:0022dc60 ??$__crt_fast_encode_pointer@P6AXH@Z@@YAP6AXH@ZQ6AXH@Z@Z 00771c60 f i libucrtd:signal.obj + 0002:0022dd90 ?__crt_fast_encode_pointer@@YA?AU__crt_fast_encoded_nullptr_t@@$$T@Z 00771d90 f i libucrtd:signal.obj + 0002:0022dfe0 ?initialize@?$dual_state_global@P6AXH@Z@__crt_state_management@@QAEXQ6AXH@Z@Z 00771fe0 f i libucrtd:signal.obj + 0002:0022e180 ?value@?$dual_state_global@P6AXH@Z@__crt_state_management@@QAEAAP6AXH@ZXZ 00772180 f i libucrtd:signal.obj + 0002:0022e1a0 ___acrt_get_sigabrt_handler 007721a0 f libucrtd:signal.obj + 0002:0022e1d0 ___acrt_initialize_signal_handlers 007721d0 f libucrtd:signal.obj + 0002:0022e220 ___fpecode 00772220 f libucrtd:signal.obj + 0002:0022e240 ___pxcptinfoptrs 00772240 f libucrtd:signal.obj + 0002:0022e260 _raise 00772260 f libucrtd:signal.obj + 0002:0022e720 _signal 00772720 f libucrtd:signal.obj + 0002:0022ea40 ?eof@__crt_stdio_stream@@QBE_NXZ 00772a40 f i libucrtd:feoferr.obj + 0002:0022ea60 ?error@__crt_stdio_stream@@QBE_NXZ 00772a60 f i libucrtd:feoferr.obj + 0002:0022ea80 _feof 00772a80 f libucrtd:feoferr.obj + 0002:0022eb40 _ferror 00772b40 f libucrtd:feoferr.obj + 0002:0022f3a0 ??$open_file@ABQBDABQBDABHPAU_iobuf@@@?$__crt_char_traits@D@@SAPAU_iobuf@@ABQBD0ABH$$QAPAU1@@Z 007733a0 f i libucrtd:fopen.obj + 0002:0022f3d0 ??$open_file@ABQB_WABQB_WABHPAU_iobuf@@@?$__crt_char_traits@_W@@SAPAU_iobuf@@ABQB_W0ABH$$QAPAU1@@Z 007733d0 f i libucrtd:fopen.obj + 0002:0022f400 ?unlock@__crt_stdio_stream@@QBEXXZ 00773400 f i libucrtd:fopen.obj + 0002:0022f430 __fsopen 00773430 f libucrtd:fopen.obj + 0002:0022f460 __wfopen 00773460 f libucrtd:fopen.obj + 0002:0022f480 __wfopen_s 00773480 f libucrtd:fopen.obj + 0002:0022f4b0 __wfsopen 007734b0 f libucrtd:fopen.obj + 0002:0022f4e0 _fopen 007734e0 f libucrtd:fopen.obj + 0002:0022f500 _fopen_s 00773500 f libucrtd:fopen.obj + 0002:0022fb10 __tolower 00773b10 f libucrtd:tolower_toupper.obj + 0002:0022fb20 __tolower_l 00773b20 f libucrtd:tolower_toupper.obj + 0002:0022fb50 __toupper 00773b50 f libucrtd:tolower_toupper.obj + 0002:0022fb60 __toupper_l 00773b60 f libucrtd:tolower_toupper.obj + 0002:0022fb90 _tolower 00773b90 f libucrtd:tolower_toupper.obj + 0002:0022fc00 _toupper 00773c00 f libucrtd:tolower_toupper.obj + 0002:0022fc70 ??$?RU__acrt_thread_parameter@@@__crt_internal_free_policy@@QBEXQBU__acrt_thread_parameter@@@Z 00773c70 f i libucrtd:thread.obj + 0002:0022ff40 ??0?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@U__crt_internal_free_policy@@@@QAE@QAU__acrt_thread_parameter@@@Z 00773f40 f i libucrtd:thread.obj + 0002:0022ff80 ??1?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@U__crt_internal_free_policy@@@@QAE@XZ 00773f80 f i libucrtd:thread.obj + 0002:00230200 ?detach@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@U__crt_internal_free_policy@@@@QAEPAU__acrt_thread_parameter@@XZ 00774200 f i libucrtd:thread.obj + 0002:00230320 ?release@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@U__crt_internal_free_policy@@@@QAEXXZ 00774320 f i libucrtd:thread.obj + 0002:00230380 __beginthread 00774380 f libucrtd:thread.obj + 0002:00230560 __beginthreadex 00774560 f libucrtd:thread.obj + 0002:002306f0 __endthread 007746f0 f libucrtd:thread.obj + 0002:00230710 __endthreadex 00774710 f libucrtd:thread.obj + 0002:00230730 _malloc 00774730 f libucrtd:malloc.obj + 0002:00230750 ___acrt_initialize_locks 00774750 f libucrtd:locks.obj + 0002:002307d0 ___acrt_lock 007747d0 f libucrtd:locks.obj + 0002:002307f0 ___acrt_uninitialize_locks 007747f0 f libucrtd:locks.obj + 0002:00230850 ___acrt_unlock 00774850 f libucrtd:locks.obj + 0002:00230870 __lock_locales 00774870 f libucrtd:locks.obj + 0002:00230890 __unlock_locales 00774890 f libucrtd:locks.obj + 0002:002308b0 __set_abort_behavior 007748b0 f libucrtd:abort.obj + 0002:002308f0 _abort 007748f0 f libucrtd:abort.obj + 0002:00230c10 _fputs 00774c10 f libucrtd:fputs.obj + 0002:00231590 _setlocale 00775590 f libucrtd:setlocale.obj + 0002:002315d0 __wcsdup 007755d0 f libucrtd:wcsdup.obj + 0002:002315f0 __wcsdup_dbg 007755f0 f libucrtd:wcsdup.obj + 0002:002316a0 ___pctype_func 007756a0 f libucrtd:ctype.obj + 0002:002316e0 ___pwctype_func 007756e0 f libucrtd:ctype.obj + 0002:002316f0 ??$?RE@__crt_internal_free_policy@@QBEXQBE@Z 007756f0 f i libucrtd:initctype.obj + 0002:00231720 ??$?RG@__crt_internal_free_policy@@QBEXQBG@Z 00775720 f i libucrtd:initctype.obj + 0002:00231750 ??$?RJ@__crt_internal_free_policy@@QBEXQBJ@Z 00775750 f i libucrtd:initctype.obj + 0002:00231780 ??0?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QAE@QAE@Z 00775780 f i libucrtd:initctype.obj + 0002:002317a0 ??0?$__crt_unique_heap_ptr@GU__crt_internal_free_policy@@@@QAE@QAG@Z 007757a0 f i libucrtd:initctype.obj + 0002:002317c0 ??0?$__crt_unique_heap_ptr@JU__crt_internal_free_policy@@@@QAE@QAJ@Z 007757c0 f i libucrtd:initctype.obj + 0002:002317e0 ??1?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QAE@XZ 007757e0 f i libucrtd:initctype.obj + 0002:00231800 ??1?$__crt_unique_heap_ptr@GU__crt_internal_free_policy@@@@QAE@XZ 00775800 f i libucrtd:initctype.obj + 0002:00231820 ??1?$__crt_unique_heap_ptr@JU__crt_internal_free_policy@@@@QAE@XZ 00775820 f i libucrtd:initctype.obj + 0002:00231840 ?detach@?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QAEPAEXZ 00775840 f i libucrtd:initctype.obj + 0002:00231870 ?detach@?$__crt_unique_heap_ptr@GU__crt_internal_free_policy@@@@QAEPAGXZ 00775870 f i libucrtd:initctype.obj + 0002:002318a0 ?detach@?$__crt_unique_heap_ptr@JU__crt_internal_free_policy@@@@QAEPAJXZ 007758a0 f i libucrtd:initctype.obj + 0002:002318d0 ?release@?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QAEXXZ 007758d0 f i libucrtd:initctype.obj + 0002:00231900 ?release@?$__crt_unique_heap_ptr@GU__crt_internal_free_policy@@@@QAEXXZ 00775900 f i libucrtd:initctype.obj + 0002:00231930 ?release@?$__crt_unique_heap_ptr@JU__crt_internal_free_policy@@@@QAEXXZ 00775930 f i libucrtd:initctype.obj + 0002:00231960 ____lc_codepage_func 00775960 f libucrtd:initctype.obj + 0002:002319a0 ____lc_collate_cp_func 007759a0 f libucrtd:initctype.obj + 0002:002319e0 ____lc_locale_name_func 007759e0 f libucrtd:initctype.obj + 0002:00231a30 ____mb_cur_max_func 00775a30 f libucrtd:initctype.obj + 0002:00231a70 ____mb_cur_max_l_func 00775a70 f libucrtd:initctype.obj + 0002:00231ab0 ___acrt_locale_initialize_ctype 00775ab0 f libucrtd:initctype.obj + 0002:002323f0 _fabs 007763f0 f libucrtd:fabs.obj + 0002:002324b0 _frexp 007764b0 f libucrtd:frexp.obj + 0002:00232700 _ldexp 00776700 f libucrtd:ldexp.obj + 0002:00232ab0 ___acrt_errno_from_os_error 00776ab0 f libucrtd:errno.obj + 0002:00232b50 ___acrt_errno_map_os_error 00776b50 f libucrtd:errno.obj + 0002:00232b90 ___doserrno 00776b90 f libucrtd:errno.obj + 0002:00232bc0 __errno 00776bc0 f libucrtd:errno.obj + 0002:00232bf0 __get_doserrno 00776bf0 f libucrtd:errno.obj + 0002:00232ca0 __get_errno 00776ca0 f libucrtd:errno.obj + 0002:00232d50 __set_doserrno 00776d50 f libucrtd:errno.obj + 0002:00232d90 __set_errno 00776d90 f libucrtd:errno.obj + 0002:00232dd0 ??$assemble_floating_point_ind@M@__crt_strtox@@YAXAAM@Z 00776dd0 f i libucrtd:strtod.obj + 0002:00232e30 ??$assemble_floating_point_ind@N@__crt_strtox@@YAXAAN@Z 00776e30 f i libucrtd:strtod.obj + 0002:00232ea0 ??$assemble_floating_point_infinity@M@__crt_strtox@@YAX_NAAM@Z 00776ea0 f i libucrtd:strtod.obj + 0002:00232f20 ??$assemble_floating_point_infinity@N@__crt_strtox@@YAX_NAAN@Z 00776f20 f i libucrtd:strtod.obj + 0002:00232fd0 ??$assemble_floating_point_qnan@M@__crt_strtox@@YAX_NAAM@Z 00776fd0 f i libucrtd:strtod.obj + 0002:00233050 ??$assemble_floating_point_qnan@N@__crt_strtox@@YAX_NAAN@Z 00777050 f i libucrtd:strtod.obj + 0002:00233100 ??$assemble_floating_point_snan@M@__crt_strtox@@YAX_NAAM@Z 00777100 f i libucrtd:strtod.obj + 0002:00233190 ??$assemble_floating_point_snan@N@__crt_strtox@@YAX_NAAN@Z 00777190 f i libucrtd:strtod.obj + 0002:00233240 ??$assemble_floating_point_value_t@M@__crt_strtox@@YA?AW4SLD_STATUS@@_NH_KAAM@Z 00777240 f i libucrtd:strtod.obj + 0002:002332d0 ??$assemble_floating_point_value_t@N@__crt_strtox@@YA?AW4SLD_STATUS@@_NH_KAAN@Z 007772d0 f i libucrtd:strtod.obj + 0002:002333a0 ??$assemble_floating_point_zero@M@__crt_strtox@@YAX_NAAM@Z 007773a0 f i libucrtd:strtod.obj + 0002:00233420 ??$assemble_floating_point_zero@N@__crt_strtox@@YAX_NAAN@Z 00777420 f i libucrtd:strtod.obj + 0002:002339d0 ??$convert_decimal_string_to_floating_type@M@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@0@AAM@Z 007779d0 f i libucrtd:strtod.obj + 0002:00233a00 ??$convert_decimal_string_to_floating_type@N@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@0@AAN@Z 00777a00 f i libucrtd:strtod.obj + 0002:00233a30 ??$convert_hexadecimal_string_to_floating_type@M@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@0@AAM@Z 00777a30 f i libucrtd:strtod.obj + 0002:00233a60 ??$convert_hexadecimal_string_to_floating_type@N@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@0@AAN@Z 00777a60 f i libucrtd:strtod.obj + 0002:00233a90 ??$make_c_string_character_source@DPAPAD@__crt_strtox@@YA?AV?$c_string_character_source@D@0@QBDQAPAD@Z 00777a90 f i libucrtd:strtod.obj + 0002:00233ab0 ??$make_c_string_character_source@_WPAPA_W@__crt_strtox@@YA?AV?$c_string_character_source@_W@0@QB_WQAPA_W@Z 00777ab0 f i libucrtd:strtod.obj + 0002:00233ad0 ??$parse_floating_point@V?$c_string_character_source@D@__crt_strtox@@M@__crt_strtox@@YA?AW4SLD_STATUS@@QAU__crt_locale_pointers@@V?$c_string_character_source@D@0@QAM@Z 00777ad0 f i libucrtd:strtod.obj + 0002:00233d00 ??$parse_floating_point@V?$c_string_character_source@D@__crt_strtox@@N@__crt_strtox@@YA?AW4SLD_STATUS@@QAU__crt_locale_pointers@@V?$c_string_character_source@D@0@QAN@Z 00777d00 f i libucrtd:strtod.obj + 0002:00233f30 ??$parse_floating_point@V?$c_string_character_source@_W@__crt_strtox@@M@__crt_strtox@@YA?AW4SLD_STATUS@@QAU__crt_locale_pointers@@V?$c_string_character_source@_W@0@QAM@Z 00777f30 f i libucrtd:strtod.obj + 0002:00234160 ??$parse_floating_point@V?$c_string_character_source@_W@__crt_strtox@@N@__crt_strtox@@YA?AW4SLD_STATUS@@QAU__crt_locale_pointers@@V?$c_string_character_source@_W@0@QAN@Z 00778160 f i libucrtd:strtod.obj + 0002:00234390 ??$parse_floating_point_from_source@V?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA?AW4floating_point_parse_result@0@QAU__crt_locale_pointers@@AAV?$c_string_character_source@D@0@AAUfloating_point_string@0@@Z 00778390 f i libucrtd:strtod.obj + 0002:00234ab0 ??$parse_floating_point_from_source@V?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA?AW4floating_point_parse_result@0@QAU__crt_locale_pointers@@AAV?$c_string_character_source@_W@0@AAUfloating_point_string@0@@Z 00778ab0 f i libucrtd:strtod.obj + 0002:002351e0 ??$parse_floating_point_possible_infinity@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@0@AADAAV?$c_string_character_source@D@0@PBD@Z 007791e0 f i libucrtd:strtod.obj + 0002:002352f0 ??$parse_floating_point_possible_infinity@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@0@AA_WAAV?$c_string_character_source@_W@0@PB_W@Z 007792f0 f i libucrtd:strtod.obj + 0002:00235400 ??$parse_floating_point_possible_nan@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@0@AADAAV?$c_string_character_source@D@0@PBD@Z 00779400 f i libucrtd:strtod.obj + 0002:00235620 ??$parse_floating_point_possible_nan@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@0@AA_WAAV?$c_string_character_source@_W@0@PB_W@Z 00779620 f i libucrtd:strtod.obj + 0002:00235840 ??$parse_floating_point_possible_nan_is_ind@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@0@@Z 00779840 f i libucrtd:strtod.obj + 0002:00235870 ??$parse_floating_point_possible_nan_is_ind@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@0@@Z 00779870 f i libucrtd:strtod.obj + 0002:002358a0 ??$parse_floating_point_possible_nan_is_snan@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@0@@Z 007798a0 f i libucrtd:strtod.obj + 0002:002358d0 ??$parse_floating_point_possible_nan_is_snan@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@0@@Z 007798d0 f i libucrtd:strtod.obj + 0002:00235900 ??$parse_floating_point_write_result@M@__crt_strtox@@YA?AW4SLD_STATUS@@W4floating_point_parse_result@0@ABUfloating_point_string@0@QAM@Z 00779900 f i libucrtd:strtod.obj + 0002:00235af0 ??$parse_floating_point_write_result@N@__crt_strtox@@YA?AW4SLD_STATUS@@W4floating_point_parse_result@0@ABUfloating_point_string@0@QAN@Z 00779af0 f i libucrtd:strtod.obj + 0002:00235ce0 ??$parse_next_characters_from_source@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NQBD0IAADAAV?$c_string_character_source@D@0@@Z 00779ce0 f i libucrtd:strtod.obj + 0002:00235d60 ??$parse_next_characters_from_source@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NQB_W0IAA_WAAV?$c_string_character_source@_W@0@@Z 00779d60 f i libucrtd:strtod.obj + 0002:00235f60 ??0big_integer@__crt_strtox@@QAE@ABU01@@Z 00779f60 f i libucrtd:strtod.obj + 0002:00235fb0 ??0big_integer@__crt_strtox@@QAE@XZ 00779fb0 f i libucrtd:strtod.obj + 0002:00235ff0 ??0floating_point_value@__crt_strtox@@QAE@QAM@Z 00779ff0 f i libucrtd:strtod.obj + 0002:00236050 ??0floating_point_value@__crt_strtox@@QAE@QAN@Z 0077a050 f i libucrtd:strtod.obj + 0002:002360b0 ??4big_integer@__crt_strtox@@QAEAAU01@ABU01@@Z 0077a0b0 f i libucrtd:strtod.obj + 0002:00236100 ??M__crt_strtox@@YA_NABUbig_integer@0@0@Z 0077a100 f i libucrtd:strtod.obj + 0002:00236390 ?accumulate_decimal_digits_into_big_integer@__crt_strtox@@YAXQBE0AAUbig_integer@1@@Z 0077a390 f i libucrtd:strtod.obj + 0002:00236470 ?add@__crt_strtox@@YA_NAAUbig_integer@1@I@Z 0077a470 f i libucrtd:strtod.obj + 0002:002365b0 ?add_carry@__crt_strtox@@YAIAAIII@Z 0077a5b0 f i libucrtd:strtod.obj + 0002:00236600 ?add_multiply_carry@__crt_strtox@@YAIAAIIII@Z 0077a600 f i libucrtd:strtod.obj + 0002:00236650 ?as_double@floating_point_value@__crt_strtox@@QBEAANXZ 0077a650 f i libucrtd:strtod.obj + 0002:002366e0 ?as_float@floating_point_value@__crt_strtox@@QBEAAMXZ 0077a6e0 f i libucrtd:strtod.obj + 0002:00236770 ?assemble_floating_point_infinity@__crt_strtox@@YAX_NABVfloating_point_value@1@@Z 0077a770 f i libucrtd:strtod.obj + 0002:002367d0 ?assemble_floating_point_value@__crt_strtox@@YA?AW4SLD_STATUS@@_KH_N1ABVfloating_point_value@1@@Z 0077a7d0 f i libucrtd:strtod.obj + 0002:00236ad0 ?assemble_floating_point_value_from_big_integer@__crt_strtox@@YA?AW4SLD_STATUS@@ABUbig_integer@1@I_N1ABVfloating_point_value@1@@Z 0077aad0 f i libucrtd:strtod.obj + 0002:00236e90 ?assemble_floating_point_zero@__crt_strtox@@YAX_NABVfloating_point_value@1@@Z 0077ae90 f i libucrtd:strtod.obj + 0002:00236ef0 ?bit_scan_reverse@__crt_strtox@@YAIABUbig_integer@1@@Z 0077aef0 f i libucrtd:strtod.obj + 0002:00236f40 ?bit_scan_reverse@__crt_strtox@@YAII@Z 0077af40 f i libucrtd:strtod.obj + 0002:00236f80 ?bit_scan_reverse@__crt_strtox@@YAI_K@Z 0077af80 f i libucrtd:strtod.obj + 0002:00236fe0 ?convert_decimal_string_to_floating_type_common@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@1@ABVfloating_point_value@1@@Z 0077afe0 f i libucrtd:strtod.obj + 0002:002377c0 ?convert_hexadecimal_string_to_floating_type_common@__crt_strtox@@YA?AW4SLD_STATUS@@ABUfloating_point_string@1@ABVfloating_point_value@1@@Z 0077b7c0 f i libucrtd:strtod.obj + 0002:00237930 ?count_sequential_high_zeroes@__crt_strtox@@YAII@Z 0077b930 f i libucrtd:strtod.obj + 0002:00237980 ?denormal_mantissa_mask@floating_point_value@__crt_strtox@@QBE_KXZ 0077b980 f i libucrtd:strtod.obj + 0002:002379d0 ?divide@__crt_strtox@@YA_KAAUbig_integer@1@ABU21@@Z 0077b9d0 f i libucrtd:strtod.obj + 0002:002386f0 ?exponent_bias@floating_point_value@__crt_strtox@@QBEHXZ 0077c6f0 f i libucrtd:strtod.obj + 0002:00238730 ?is_digit_or_nondigit@__crt_strtox@@YA_NH@Z 0077c730 f i libucrtd:strtod.obj + 0002:00238790 ?is_double@floating_point_value@__crt_strtox@@QBE_NXZ 0077c790 f i libucrtd:strtod.obj + 0002:002387b0 ?make_big_integer@__crt_strtox@@YA?AUbig_integer@1@_K@Z 0077c7b0 f i libucrtd:strtod.obj + 0002:00238890 ?mantissa_bits@floating_point_value@__crt_strtox@@QBEHXZ 0077c890 f i libucrtd:strtod.obj + 0002:002388d0 ?maximum_binary_exponent@floating_point_value@__crt_strtox@@QBEHXZ 0077c8d0 f i libucrtd:strtod.obj + 0002:00238910 ?minimum_binary_exponent@floating_point_value@__crt_strtox@@QBEHXZ 0077c910 f i libucrtd:strtod.obj + 0002:00238950 ?multiply@__crt_strtox@@YA_NAAUbig_integer@1@ABU21@@Z 0077c950 f i libucrtd:strtod.obj + 0002:00238db0 ?multiply@__crt_strtox@@YA_NAAUbig_integer@1@I@Z 0077cdb0 f i libucrtd:strtod.obj + 0002:00238eb0 ?multiply_64_32@__crt_strtox@@YA_K_KI@Z 0077ceb0 f i libucrtd:strtod.obj + 0002:00238ed0 ?multiply_by_power_of_ten@__crt_strtox@@YA_NAAUbig_integer@1@I@Z 0077ced0 f i libucrtd:strtod.obj + 0002:002390d0 ?multiply_core@__crt_strtox@@YAIQAIII@Z 0077d0d0 f i libucrtd:strtod.obj + 0002:00239150 ?normal_mantissa_mask@floating_point_value@__crt_strtox@@QBE_KXZ 0077d150 f i libucrtd:strtod.obj + 0002:002391a0 ?right_shift_with_rounding@__crt_strtox@@YA_K_N_KI0@Z 0077d1a0 f i libucrtd:strtod.obj + 0002:00239320 ?shift_left@__crt_strtox@@YA_NAAUbig_integer@1@I@Z 0077d320 f i libucrtd:strtod.obj + 0002:00239740 ?should_round_up@__crt_strtox@@YA_N_N000@Z 0077d740 f i libucrtd:strtod.obj + 0002:00239870 __strtod_l 0077d870 f libucrtd:strtod.obj + 0002:002398a0 __strtof_l 0077d8a0 f libucrtd:strtod.obj + 0002:002398d0 __strtold_l 0077d8d0 f libucrtd:strtod.obj + 0002:00239900 __wcstod_l 0077d900 f libucrtd:strtod.obj + 0002:00239930 __wcstof_l 0077d930 f libucrtd:strtod.obj + 0002:00239960 __wcstold_l 0077d960 f libucrtd:strtod.obj + 0002:00239ae0 _strtod 0077dae0 f libucrtd:strtod.obj + 0002:00239b00 _strtof 0077db00 f libucrtd:strtod.obj + 0002:00239b20 _strtold 0077db20 f libucrtd:strtod.obj + 0002:00239b40 _wcstod 0077db40 f libucrtd:strtod.obj + 0002:00239b60 _wcstof 0077db60 f libucrtd:strtod.obj + 0002:00239b80 _wcstold 0077db80 f libucrtd:strtod.obj + 0002:00239ba0 _strcspn 0077dba0 f libucrtd:strcspn.obj + 0002:00239c00 _localeconv 0077dc00 f libucrtd:localeconv.obj + 0002:00239c50 ___strncnt 0077dc50 f libucrtd:strncnt.obj + 0002:0023acf0 ??1?$__crt_simd_cleanup_guard@$00@@QAE@XZ 0077ecf0 f i libucrtd:strnlen.obj + 0002:0023ad10 ??1?$__crt_simd_cleanup_guard@$0A@@@QAE@XZ 0077ed10 f i libucrtd:strnlen.obj + 0002:0023ad20 ?compare_equals@?$__crt_simd_traits@$00E@@SA?AT__m256i@@T2@0@Z 0077ed20 f i libucrtd:strnlen.obj + 0002:0023ad70 ?compare_equals@?$__crt_simd_traits@$00G@@SA?AT__m256i@@T2@0@Z 0077ed70 f i libucrtd:strnlen.obj + 0002:0023adc0 ?compare_equals@?$__crt_simd_traits@$0A@E@@SA?AT__m128i@@T2@0@Z 0077edc0 f i libucrtd:strnlen.obj + 0002:0023ae10 ?compare_equals@?$__crt_simd_traits@$0A@G@@SA?AT__m128i@@T2@0@Z 0077ee10 f i libucrtd:strnlen.obj + 0002:0023ae60 ?compute_byte_mask@?$__crt_simd_pack_traits@$00@@SAHT__m256i@@@Z 0077ee60 f i libucrtd:strnlen.obj + 0002:0023aea0 ?compute_byte_mask@?$__crt_simd_pack_traits@$0A@@@SAHT__m128i@@@Z 0077eea0 f i libucrtd:strnlen.obj + 0002:0023aee0 ?get_zero_pack@?$__crt_simd_pack_traits@$00@@SA?AT__m256i@@XZ 0077eee0 f i libucrtd:strnlen.obj + 0002:0023af20 ?get_zero_pack@?$__crt_simd_pack_traits@$0A@@@SA?AT__m128i@@XZ 0077ef20 f i libucrtd:strnlen.obj + 0002:0023af60 _strnlen 0077ef60 f libucrtd:strnlen.obj + 0002:0023af80 _wcslen 0077ef80 f libucrtd:strnlen.obj + 0002:0023afa0 _wcsnlen 0077efa0 f libucrtd:strnlen.obj + 0002:0023b2c0 ??$__acrt_mbs_to_wcs_cp@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@I@Z 0077f2c0 f i libucrtd:strftime.obj + 0002:0023b2f0 ??$__acrt_wcs_to_mbs_cp@U__crt_win32_buffer_no_resizing@@@@YAHQB_WAAV?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@I@Z 0077f2f0 f i libucrtd:strftime.obj + 0002:0023b320 ??0?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@QADI@Z 0077f320 f i libucrtd:strftime.obj + 0002:0023b380 ??0?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 0077f380 f i libucrtd:strftime.obj + 0002:0023b3e0 ??1?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@XZ 0077f3e0 f i libucrtd:strftime.obj + 0002:0023b430 ??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 0077f430 f i libucrtd:strftime.obj + 0002:0023b500 ?_deallocate@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@AAEXXZ 0077f500 f i libucrtd:strftime.obj + 0002:0023b550 ?_deallocate@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@AAEXXZ 0077f550 f i libucrtd:strftime.obj + 0002:0023b5a0 ?allocate@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAEHI@Z 0077f5a0 f i libucrtd:strftime.obj + 0002:0023b620 ?allocate@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEHI@Z 0077f620 f i libucrtd:strftime.obj + 0002:0023b6b0 ?allocate@__crt_win32_buffer_internal_dynamic_resizing@@SAHQAPAXIABV__crt_win32_buffer_empty_debug_info@@@Z 0077f6b0 f i libucrtd:strftime.obj + 0002:0023b700 ?allocate@__crt_win32_buffer_no_resizing@@SAHQAPAXIABV__crt_win32_buffer_empty_debug_info@@@Z 0077f700 f i libucrtd:strftime.obj + 0002:0023b720 ?capacity@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QBEIXZ 0077f720 f i libucrtd:strftime.obj + 0002:0023b740 ?capacity@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QBEIXZ 0077f740 f i libucrtd:strftime.obj + 0002:0023b760 ?data@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAEPADXZ 0077f760 f i libucrtd:strftime.obj + 0002:0023b780 ?data@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEPA_WXZ 0077f780 f i libucrtd:strftime.obj + 0002:0023b7a0 ?deallocate@__crt_win32_buffer_internal_dynamic_resizing@@SAXQAXABV__crt_win32_buffer_empty_debug_info@@@Z 0077f7a0 f i libucrtd:strftime.obj + 0002:0023b7c0 ?deallocate@__crt_win32_buffer_no_resizing@@SAXQAXABV__crt_win32_buffer_empty_debug_info@@@Z 0077f7c0 f i libucrtd:strftime.obj + 0002:0023b7d0 ?debug_info@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QBEABV__crt_win32_buffer_empty_debug_info@@XZ 0077f7d0 f i libucrtd:strftime.obj + 0002:0023b7f0 ?debug_info@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QBEABV__crt_win32_buffer_empty_debug_info@@XZ 0077f7f0 f i libucrtd:strftime.obj + 0002:0023b810 ?set_to_nullptr@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAEXXZ 0077f810 f i libucrtd:strftime.obj + 0002:0023b850 ?set_to_nullptr@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEXXZ 0077f850 f i libucrtd:strftime.obj + 0002:0023b890 ?size@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAEXI@Z 0077f890 f i libucrtd:strftime.obj + 0002:0023b8b0 ?size@?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QBEIXZ 0077f8b0 f i libucrtd:strftime.obj + 0002:0023b8d0 ?size@?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEXI@Z 0077f8d0 f i libucrtd:strftime.obj + 0002:0023b8f0 __Getdays 0077f8f0 f libucrtd:strftime.obj + 0002:0023b910 __Getdays_l 0077f910 f libucrtd:strftime.obj + 0002:0023bb90 __Getmonths 0077fb90 f libucrtd:strftime.obj + 0002:0023bbb0 __Getmonths_l 0077fbb0 f libucrtd:strftime.obj + 0002:0023be30 __Gettnames 0077fe30 f libucrtd:strftime.obj + 0002:0023be40 __Strftime 0077fe40 f libucrtd:strftime.obj + 0002:0023be70 __Strftime_l 0077fe70 f libucrtd:strftime.obj + 0002:0023c370 __strftime_l 00780370 f libucrtd:strftime.obj + 0002:0023c3a0 _strftime 007803a0 f libucrtd:strftime.obj + 0002:0023c3d0 ??$__crt_time_is_leap_year@H@@YA_NH@Z 007803d0 f i libucrtd:wcsftime.obj + 0002:0023c430 ?__crt_get_2digit_year@@YAHH@Z 00780430 f i libucrtd:wcsftime.obj + 0002:0023c450 ?__crt_get_century@@YAHH@Z 00780450 f i libucrtd:wcsftime.obj + 0002:0023c690 ?detach@?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@QAEPA_WXZ 00780690 f i libucrtd:wcsftime.obj + 0002:0023f860 __W_Getdays 00783860 f libucrtd:wcsftime.obj + 0002:0023fb00 __W_Getmonths 00783b00 f libucrtd:wcsftime.obj + 0002:0023fda0 __W_Gettnames 00783da0 f libucrtd:wcsftime.obj + 0002:00240d10 __Wcsftime 00784d10 f libucrtd:wcsftime.obj + 0002:00240d40 __Wcsftime_l 00784d40 f libucrtd:wcsftime.obj + 0002:00241280 __wcsftime_l 00785280 f libucrtd:wcsftime.obj + 0002:002412b0 _wcsftime 007852b0 f libucrtd:wcsftime.obj + 0002:002416c0 _wcscpy_s 007856c0 f libucrtd:wcscpy_s.obj + 0002:002416f0 ??$?B$$A6AHI@Z@__crt_fast_encoded_nullptr_t@@QBEP6AHI@ZXZ 007856f0 f i libucrtd:new_handler.obj + 0002:00241710 ??$__crt_fast_decode_pointer@P6AHI@Z@@YAP6AHI@ZQ6AHI@Z@Z 00785710 f i libucrtd:new_handler.obj + 0002:00241750 ??$__crt_fast_encode_pointer@P6AHI@Z@@YAP6AHI@ZQ6AHI@Z@Z 00785750 f i libucrtd:new_handler.obj + 0002:00241790 ?_set_new_handler@@YAP6AHI@ZH@Z 00785790 f libucrtd:new_handler.obj + 0002:00241800 ?initialize@?$dual_state_global@P6AHI@Z@__crt_state_management@@QAEXQ6AHI@Z@Z 00785800 f i libucrtd:new_handler.obj + 0002:00241850 ?value@?$dual_state_global@P6AHI@Z@__crt_state_management@@QAEAAP6AHI@ZXZ 00785850 f i libucrtd:new_handler.obj + 0002:00241870 ___acrt_initialize_new_handler 00785870 f libucrtd:new_handler.obj + 0002:00241890 __callnewh 00785890 f libucrtd:new_handler.obj + 0002:002418e0 __query_new_handler 007858e0 f libucrtd:new_handler.obj + 0002:002419a0 __set_new_handler 007859a0 f libucrtd:new_handler.obj + 0002:00241e50 _strcpy_s 00785e50 f libucrtd:strcpy_s.obj + 0002:00242390 _strcat_s 00786390 f libucrtd:strcat_s.obj + 0002:00242420 __seh_filter_dll 00786420 f libucrtd:exception_filter.obj + 0002:00242450 __seh_filter_exe 00786450 f libucrtd:exception_filter.obj + 0002:002426e0 ??$?B$$A6GXPAXK0@Z@__crt_fast_encoded_nullptr_t@@QBEP6GXPAXK0@ZXZ 007866e0 f i libucrtd:exit.obj + 0002:002427e0 ??$__crt_fast_decode_pointer@P6GXPAXK0@Z@@YAP6GXPAXK0@ZQ6GX0K0@Z@Z 007867e0 f i libucrtd:exit.obj + 0002:00242820 ??$__crt_fast_encode_pointer@P6GXPAXK0@Z@@YAP6GXPAXK0@ZQ6GX0K0@Z@Z 00786820 f i libucrtd:exit.obj + 0002:00242860 ??$__crt_get_proc_address@P6GXI@Z@@YAP6GXI@ZQAUHINSTANCE__@@QBD@Z 00786860 f i libucrtd:exit.obj + 0002:00242920 ??0?$__crt_unique_handle_t@U__crt_hmodule_traits@@@@QAE@QAUHINSTANCE__@@@Z 00786920 f i libucrtd:exit.obj + 0002:00242940 ??1?$__crt_unique_handle_t@U__crt_hmodule_traits@@@@QAE@XZ 00786940 f i libucrtd:exit.obj + 0002:00242b70 ?__acrt_select_exit_lock@@YA?AW4__acrt_lock_id@@XZ 00786b70 f i libucrtd:exit.obj + 0002:00242ba0 ?close@?$__crt_unique_handle_t@U__crt_hmodule_traits@@@@QAEXXZ 00786ba0 f i libucrtd:exit.obj + 0002:00242be0 ?close@__crt_hmodule_traits@@SA_NPAUHINSTANCE__@@@Z 00786be0 f i libucrtd:exit.obj + 0002:00242d10 ?get@?$__crt_unique_handle_t@U__crt_hmodule_traits@@@@QBEPAUHINSTANCE__@@XZ 00786d10 f i libucrtd:exit.obj + 0002:00242d30 ?get_address_of@?$__crt_unique_handle_t@U__crt_hmodule_traits@@@@QAEPAPAUHINSTANCE__@@XZ 00786d30 f i libucrtd:exit.obj + 0002:00242d50 ?get_invalid_value@__crt_hmodule_traits@@SAPAUHINSTANCE__@@XZ 00786d50 f i libucrtd:exit.obj + 0002:00242f20 __Exit 00786f20 f libucrtd:exit.obj + 0002:00242f40 ___acrt_initialize_thread_local_exit_callback 00786f40 f libucrtd:exit.obj + 0002:00242f60 __c_exit 00786f60 f libucrtd:exit.obj + 0002:00242f80 __cexit 00786f80 f libucrtd:exit.obj + 0002:00242fa0 __exit 00786fa0 f libucrtd:exit.obj + 0002:00242fc0 __is_c_termination_complete 00786fc0 f libucrtd:exit.obj + 0002:00242fe0 __register_thread_local_exe_atexit_callback 00786fe0 f libucrtd:exit.obj + 0002:00243030 _exit 00787030 f libucrtd:exit.obj + 0002:00243050 _quick_exit 00787050 f libucrtd:exit.obj + 0002:00243070 ??$?RPAD@__crt_internal_free_policy@@QBEXQBQAD@Z 00787070 f i libucrtd:argv_parsing.obj + 0002:002430a0 ??$?RPA_W@__crt_internal_free_policy@@QBEXQBQA_W@Z 007870a0 f i libucrtd:argv_parsing.obj + 0002:00243770 ??$get_module_file_name@$$TAAY0BAF@DH@?$__crt_char_traits@D@@SAK$$QA$$TAAY0BAF@D$$QAH@Z 00787770 f i libucrtd:argv_parsing.obj + 0002:002437a0 ??$get_module_file_name@$$TAAY0BAF@_WH@?$__crt_char_traits@_W@@SAK$$QA$$TAAY0BAF@_W$$QAH@Z 007877a0 f i libucrtd:argv_parsing.obj + 0002:00244090 ??$set_program_name@PAD@?$__crt_char_traits@D@@SAX$$QAPAD@Z 00788090 f i libucrtd:argv_parsing.obj + 0002:002440b0 ??$set_program_name@PA_W@?$__crt_char_traits@_W@@SAX$$QAPA_W@Z 007880b0 f i libucrtd:argv_parsing.obj + 0002:00244110 ??0?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAE@QAPAD@Z 00788110 f i libucrtd:argv_parsing.obj + 0002:00244130 ??0?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAE@QAPA_W@Z 00788130 f i libucrtd:argv_parsing.obj + 0002:00244150 ??1?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAE@XZ 00788150 f i libucrtd:argv_parsing.obj + 0002:00244170 ??1?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAE@XZ 00788170 f i libucrtd:argv_parsing.obj + 0002:00244190 ??B?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QBE_NXZ 00788190 f i libucrtd:argv_parsing.obj + 0002:00244270 ?detach@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAEPAPADXZ 00788270 f i libucrtd:argv_parsing.obj + 0002:002442a0 ?detach@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAEPAPA_WXZ 007882a0 f i libucrtd:argv_parsing.obj + 0002:00244330 ?get@?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QBEPAEXZ 00788330 f i libucrtd:argv_parsing.obj + 0002:00244350 ?get@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QBEPAPADXZ 00788350 f i libucrtd:argv_parsing.obj + 0002:00244370 ?get@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QBEPAPA_WXZ 00788370 f i libucrtd:argv_parsing.obj + 0002:00244390 ?get_address_of@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAEPAPAPADXZ 00788390 f i libucrtd:argv_parsing.obj + 0002:002443b0 ?get_address_of@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAEPAPAPA_WXZ 007883b0 f i libucrtd:argv_parsing.obj + 0002:00244410 ?is_valid@?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QBE_NXZ 00788410 f i libucrtd:argv_parsing.obj + 0002:00244450 ?release@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAEXXZ 00788450 f i libucrtd:argv_parsing.obj + 0002:00244480 ?release@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAEXXZ 00788480 f i libucrtd:argv_parsing.obj + 0002:00244500 ___acrt_allocate_buffer_for_argv 00788500 f libucrtd:argv_parsing.obj + 0002:002445f0 __configure_narrow_argv 007885f0 f libucrtd:argv_parsing.obj + 0002:00244610 __configure_wide_argv 00788610 f libucrtd:argv_parsing.obj + 0002:00244630 __set_pgmptr 00788630 f i libucrtd:argv_parsing.obj + 0002:00244650 __set_wpgmptr 00788650 f i libucrtd:argv_parsing.obj + 0002:00244bcd ??$get_environment_from_os@$$V@?$__crt_char_traits@D@@SAPADXZ 00788bcd f i libucrtd:environment_initialization.obj + 0002:00244bd2 ??$get_environment_from_os@$$V@?$__crt_char_traits@_W@@SAPA_WXZ 00788bd2 f i libucrtd:environment_initialization.obj + 0002:00244d43 ??$set_variable_in_environment_nolock@PADH@?$__crt_char_traits@D@@SAH$$QAPAD$$QAH@Z 00788d43 f i libucrtd:environment_initialization.obj + 0002:00244d61 ??$set_variable_in_environment_nolock@PA_WH@?$__crt_char_traits@_W@@SAH$$QAPA_W$$QAH@Z 00788d61 f i libucrtd:environment_initialization.obj + 0002:00244d7f ??$tcscpy_s@PADABIAAPAD@?$__crt_char_traits@D@@SAH$$QAPADABIAAPAD@Z 00788d7f f i libucrtd:environment_initialization.obj + 0002:00244da4 ??$tcscpy_s@PA_WABIAAPA_W@?$__crt_char_traits@_W@@SAH$$QAPA_WABIAAPA_W@Z 00788da4 f i libucrtd:environment_initialization.obj + 0002:00244dc9 ??$tcslen@AAPAD@?$__crt_char_traits@D@@SAIAAPAD@Z 00788dc9 f i libucrtd:environment_initialization.obj + 0002:00244de7 ??$tcslen@AAPA_W@?$__crt_char_traits@_W@@SAIAAPA_W@Z 00788de7 f i libucrtd:environment_initialization.obj + 0002:00244e0c ??$uninitialize@A6AXAAPAPAD@Z@?$dual_state_global@PAPAD@__crt_state_management@@QAEXA6AXAAPAPAD@Z@Z 00788e0c f i libucrtd:environment_initialization.obj + 0002:00244e3f ??$uninitialize@A6AXAAPAPA_W@Z@?$dual_state_global@PAPA_W@__crt_state_management@@QAEXA6AXAAPAPA_W@Z@Z 00788e3f f i libucrtd:environment_initialization.obj + 0002:00244eb4 ??B?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QBE_NXZ 00788eb4 f i libucrtd:environment_initialization.obj + 0002:00244ebb ??B?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QBE_NXZ 00788ebb f i libucrtd:environment_initialization.obj + 0002:00244ec2 ?__crt_compute_required_transform_buffer_count@@YAIIQBD@Z 00788ec2 f i libucrtd:environment_initialization.obj + 0002:00244ee5 ?__crt_compute_required_transform_buffer_count@@YAIIQB_W@Z 00788ee5 f i libucrtd:environment_initialization.obj + 0002:00244f0a ?__crt_transform_string@@YAIIQBDQA_WI@Z 00788f0a f i libucrtd:environment_initialization.obj + 0002:00244f30 ?__crt_transform_string@@YAIIQB_WQADI@Z 00788f30 f i libucrtd:environment_initialization.obj + 0002:00244f7e ?initialize@?$dual_state_global@PAPAD@__crt_state_management@@QAEXQAPAD@Z 00788f7e f i libucrtd:environment_initialization.obj + 0002:00244fad ?initialize@?$dual_state_global@PAPA_W@__crt_state_management@@QAEXQAPA_W@Z 00788fad f i libucrtd:environment_initialization.obj + 0002:00244fdc ?is_valid@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QBE_NXZ 00788fdc f i libucrtd:environment_initialization.obj + 0002:00244fe3 ?is_valid@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QBE_NXZ 00788fe3 f i libucrtd:environment_initialization.obj + 0002:00244ff2 ?value@?$dual_state_global@PAPAD@__crt_state_management@@QAEAAPAPADXZ 00788ff2 f i libucrtd:environment_initialization.obj + 0002:00244ff5 ?value@?$dual_state_global@PAPA_W@__crt_state_management@@QAEAAPAPA_WXZ 00788ff5 f i libucrtd:environment_initialization.obj + 0002:00244ff8 ___dcrt_get_or_create_narrow_environment_nolock 00788ff8 f libucrtd:environment_initialization.obj + 0002:00244ffd ___dcrt_get_or_create_wide_environment_nolock 00788ffd f libucrtd:environment_initialization.obj + 0002:00245002 ___dcrt_uninitialize_environments_nolock 00789002 f libucrtd:environment_initialization.obj + 0002:00245046 ___p__environ 00789046 f libucrtd:environment_initialization.obj + 0002:0024504c ___p__wenviron 0078904c f libucrtd:environment_initialization.obj + 0002:00245052 __get_initial_narrow_environment 00789052 f libucrtd:environment_initialization.obj + 0002:0024506b __get_initial_wide_environment 0078906b f libucrtd:environment_initialization.obj + 0002:00245084 __initialize_narrow_environment 00789084 f libucrtd:environment_initialization.obj + 0002:00245089 __initialize_wide_environment 00789089 f libucrtd:environment_initialization.obj + 0002:00245090 ??$?B$$A6AXXZ@__crt_fast_encoded_nullptr_t@@QBEP6AXXZXZ 00789090 f i libucrtd:onexit.obj + 0002:002450b0 ??$?BP6AXXZ@__crt_fast_encoded_nullptr_t@@QBEPAP6AXXZXZ 007890b0 f i libucrtd:onexit.obj + 0002:002450d0 ??$?RP6AXXZ@__crt_internal_free_policy@@QBEXQBQ6AXXZ@Z 007890d0 f i libucrtd:onexit.obj + 0002:002452e0 ??$__crt_fast_decode_pointer@P6AXXZ@@YAP6AXXZQ6AXXZ@Z 007892e0 f i libucrtd:onexit.obj + 0002:00245320 ??$__crt_fast_decode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 00789320 f i libucrtd:onexit.obj + 0002:00245360 ??$__crt_fast_encode_pointer@P6AHXZ@@YAP6AHXZQ6AHXZ@Z 00789360 f i libucrtd:onexit.obj + 0002:002453a0 ??$__crt_fast_encode_pointer@P6AXXZ@@YAP6AXXZQ6AXXZ@Z 007893a0 f i libucrtd:onexit.obj + 0002:002453e0 ??$__crt_fast_encode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 007893e0 f i libucrtd:onexit.obj + 0002:00245530 ??0?$__crt_unique_heap_ptr@P6AXXZU__crt_internal_free_policy@@@@QAE@QAP6AXXZ@Z 00789530 f i libucrtd:onexit.obj + 0002:00245550 ??1?$__crt_unique_heap_ptr@P6AXXZU__crt_internal_free_policy@@@@QAE@XZ 00789550 f i libucrtd:onexit.obj + 0002:00245570 ??1scoped_global_state_reset@__crt_state_management@@QAE@XZ 00789570 f i libucrtd:onexit.obj + 0002:00245b10 ?detach@?$__crt_unique_heap_ptr@P6AXXZU__crt_internal_free_policy@@@@QAEPAP6AXXZXZ 00789b10 f i libucrtd:onexit.obj + 0002:00245b40 ?release@?$__crt_unique_heap_ptr@P6AXXZU__crt_internal_free_policy@@@@QAEXXZ 00789b40 f i libucrtd:onexit.obj + 0002:00245b70 __crt_at_quick_exit 00789b70 f libucrtd:onexit.obj + 0002:00245b90 __crt_atexit 00789b90 f libucrtd:onexit.obj + 0002:00245bb0 __execute_onexit_table 00789bb0 f libucrtd:onexit.obj + 0002:00245be0 __initialize_onexit_table 00789be0 f libucrtd:onexit.obj + 0002:00245c60 __register_onexit_function 00789c60 f libucrtd:onexit.obj + 0002:00245ee0 ??$?BX@__crt_fast_encoded_nullptr_t@@QBEPAXXZ 00789ee0 f i libucrtd:initialization.obj + 0002:00245f00 ??$__crt_fast_encode_pointer@PAX@@YAPAXQAX@Z 00789f00 f i libucrtd:initialization.obj + 0002:00245ff0 ?initialize@?$dual_state_global@PAU__crt_locale_data@@@__crt_state_management@@QAEXQAU__crt_locale_data@@@Z 00789ff0 f i libucrtd:initialization.obj + 0002:00246040 ___acrt_initialize 0078a040 f libucrtd:initialization.obj + 0002:00246060 ___acrt_thread_attach 0078a060 f libucrtd:initialization.obj + 0002:00246080 ___acrt_thread_detach 0078a080 f libucrtd:initialization.obj + 0002:002460a0 ___acrt_uninitialize 0078a0a0 f libucrtd:initialization.obj + 0002:002460c0 ___acrt_uninitialize_critical 0078a0c0 f libucrtd:initialization.obj + 0002:002462f0 ___acrt_report_runtime_error 0078a2f0 f libucrtd:report_runtime_error.obj + 0002:00246560 __query_app_type 0078a560 f libucrtd:report_runtime_error.obj + 0002:00246570 __set_app_type 0078a570 f libucrtd:report_runtime_error.obj + 0002:00246590 ??$__crt_fast_decode_pointer@P6AHPAU_exception@@@Z@@YAP6AHPAU_exception@@@ZQ6AH0@Z@Z 0078a590 f i libucrtd:matherr.obj + 0002:002465d0 ??$__crt_fast_encode_pointer@P6AHPAU_exception@@@Z@@YAP6AHPAU_exception@@@ZQ6AH0@Z@Z 0078a5d0 f i libucrtd:matherr.obj + 0002:00246610 ?initialize@?$dual_state_global@P6AHPAU_exception@@@Z@__crt_state_management@@QAEXQ6AHPAU_exception@@@Z@Z 0078a610 f i libucrtd:matherr.obj + 0002:00246660 ?value@?$dual_state_global@P6AHPAU_exception@@@Z@__crt_state_management@@QAEAAP6AHPAU_exception@@@ZXZ 0078a660 f i libucrtd:matherr.obj + 0002:00246680 ___acrt_has_user_matherr 0078a680 f libucrtd:matherr.obj + 0002:002466d0 ___acrt_initialize_user_matherr 0078a6d0 f libucrtd:matherr.obj + 0002:002466f0 ___acrt_invoke_user_matherr 0078a6f0 f libucrtd:matherr.obj + 0002:00246750 ___setusermatherr 0078a750 f libucrtd:matherr.obj + 0002:00246780 __initterm 0078a780 f libucrtd:initterm.obj + 0002:002467e0 __initterm_e 0078a7e0 f libucrtd:initterm.obj + 0002:00246850 ??$__crt_interlocked_read@H@@YAHPDH@Z 0078a850 f i libucrtd:setmode.obj + 0002:00246870 ?value@?$dual_state_global@H@__crt_state_management@@QAEAAHXZ 0078a870 f i libucrtd:setmode.obj + 0002:00246890 __get_fmode 0078a890 f libucrtd:setmode.obj + 0002:00246960 __set_fmode 0078a960 f libucrtd:setmode.obj + 0002:00246a40 __setmode 0078aa40 f libucrtd:setmode.obj + 0002:00246da0 __setmode_nolock 0078ada0 f libucrtd:setmode.obj + 0002:00247040 ___acrt_initialize_command_line 0078b040 f libucrtd:argv_data.obj + 0002:00247070 ___acrt_uninitialize_command_line 0078b070 f libucrtd:argv_data.obj + 0002:00247080 ___p___argc 0078b080 f libucrtd:argv_data.obj + 0002:00247090 ___p___argv 0078b090 f libucrtd:argv_data.obj + 0002:002470a0 ___p___wargv 0078b0a0 f libucrtd:argv_data.obj + 0002:002470b0 ___p__acmdln 0078b0b0 f libucrtd:argv_data.obj + 0002:002470c0 ___p__pgmptr 0078b0c0 f libucrtd:argv_data.obj + 0002:002470d0 ___p__wcmdln 0078b0d0 f libucrtd:argv_data.obj + 0002:002470e0 ___p__wpgmptr 0078b0e0 f libucrtd:argv_data.obj + 0002:002470f0 __get_pgmptr 0078b0f0 f libucrtd:argv_data.obj + 0002:00247250 __get_wpgmptr 0078b250 f libucrtd:argv_data.obj + 0002:002473c0 ??$?RU__crt_locale_data@@@__crt_internal_free_policy@@QBEXQBU__crt_locale_data@@@Z 0078b3c0 f i libucrtd:wsetlocale.obj + 0002:002473f0 ??$?RU__crt_locale_pointers@@@__crt_internal_free_policy@@QBEXQBU__crt_locale_pointers@@@Z 0078b3f0 f i libucrtd:wsetlocale.obj + 0002:00247420 ??$?RU__crt_multibyte_data@@@__crt_internal_free_policy@@QBEXQBU__crt_multibyte_data@@@Z 0078b420 f i libucrtd:wsetlocale.obj + 0002:002478a0 ??$__vcrt_va_start_verify_argument_type@H@@YAXXZ 0078b8a0 f i libucrtd:wsetlocale.obj + 0002:00247b80 ??0?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QAE@QAU__crt_locale_data@@@Z 0078bb80 f i libucrtd:wsetlocale.obj + 0002:00247ba0 ??0?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QAE@QAU__crt_locale_pointers@@@Z 0078bba0 f i libucrtd:wsetlocale.obj + 0002:00247bc0 ??0?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QAE@QAU__crt_multibyte_data@@@Z 0078bbc0 f i libucrtd:wsetlocale.obj + 0002:00247be0 ??1?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QAE@XZ 0078bbe0 f i libucrtd:wsetlocale.obj + 0002:00247c00 ??1?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QAE@XZ 0078bc00 f i libucrtd:wsetlocale.obj + 0002:00247c20 ??1?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QAE@XZ 0078bc20 f i libucrtd:wsetlocale.obj + 0002:00247c40 ??B?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QBE_NXZ 0078bc40 f i libucrtd:wsetlocale.obj + 0002:00247c60 ??B?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QBE_NXZ 0078bc60 f i libucrtd:wsetlocale.obj + 0002:00247c80 ??B?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QBE_NXZ 0078bc80 f i libucrtd:wsetlocale.obj + 0002:00248190 ?detach@?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QAEPAU__crt_locale_data@@XZ 0078c190 f i libucrtd:wsetlocale.obj + 0002:002481c0 ?detach@?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QAEPAU__crt_locale_pointers@@XZ 0078c1c0 f i libucrtd:wsetlocale.obj + 0002:002481f0 ?detach@?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QAEPAU__crt_multibyte_data@@XZ 0078c1f0 f i libucrtd:wsetlocale.obj + 0002:00248220 ?get@?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QBEPAU__crt_locale_data@@XZ 0078c220 f i libucrtd:wsetlocale.obj + 0002:00248240 ?get@?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QBEPAU__crt_locale_pointers@@XZ 0078c240 f i libucrtd:wsetlocale.obj + 0002:00248260 ?get@?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QBEPAU__crt_multibyte_data@@XZ 0078c260 f i libucrtd:wsetlocale.obj + 0002:00248280 ?is_valid@?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QBE_NXZ 0078c280 f i libucrtd:wsetlocale.obj + 0002:002482c0 ?is_valid@?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QBE_NXZ 0078c2c0 f i libucrtd:wsetlocale.obj + 0002:00248300 ?is_valid@?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QBE_NXZ 0078c300 f i libucrtd:wsetlocale.obj + 0002:00248340 ?release@?$__crt_unique_heap_ptr@U__crt_locale_data@@U__crt_internal_free_policy@@@@QAEXXZ 0078c340 f i libucrtd:wsetlocale.obj + 0002:00248370 ?release@?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@QAEXXZ 0078c370 f i libucrtd:wsetlocale.obj + 0002:002483a0 ?release@?$__crt_unique_heap_ptr@U__crt_multibyte_data@@U__crt_internal_free_policy@@@@QAEXXZ 0078c3a0 f i libucrtd:wsetlocale.obj + 0002:002483d0 ?value@?$dual_state_global@PAU__crt_locale_data@@@__crt_state_management@@QAEAAPAU__crt_locale_data@@XZ 0078c3d0 f i libucrtd:wsetlocale.obj + 0002:002483f0 ___acrt_copy_locale_name 0078c3f0 f libucrtd:wsetlocale.obj + 0002:002484c0 ___acrt_set_locale_changed 0078c4c0 f libucrtd:wsetlocale.obj + 0002:002484e0 ___acrt_uninitialize_locale 0078c4e0 f libucrtd:wsetlocale.obj + 0002:00248510 ___lc_lctowcs 0078c510 f libucrtd:wsetlocale.obj + 0002:002485f0 ___lc_wcstolc 0078c5f0 f libucrtd:wsetlocale.obj + 0002:002488e0 __configthreadlocale 0078c8e0 f libucrtd:wsetlocale.obj + 0002:00248ab0 __create_locale 0078cab0 f libucrtd:wsetlocale.obj + 0002:00248b40 __expandlocale 0078cb40 f libucrtd:wsetlocale.obj + 0002:00249240 __free_locale 0078d240 f libucrtd:wsetlocale.obj + 0002:002493c0 __get_current_locale 0078d3c0 f libucrtd:wsetlocale.obj + 0002:002494c0 __wcreate_locale 0078d4c0 f libucrtd:wsetlocale.obj + 0002:00249780 __wcscats 0078d780 f libucrtd:wsetlocale.obj + 0002:00249820 __wsetlocale 0078d820 f libucrtd:wsetlocale.obj + 0002:0024ab40 ?value@?$dual_state_global@J@__crt_state_management@@QAEAAJXZ 0078eb40 f i libucrtd:new_mode.obj + 0002:0024ab60 __query_new_mode 0078eb60 f libucrtd:new_mode.obj + 0002:0024ab80 __set_new_mode 0078eb80 f libucrtd:new_mode.obj + 0002:0024ac50 ___p__commode 0078ec50 f libucrtd:ncommode.obj + 0002:0024ac60 __errcode 0078ec60 f libucrtd:fpexcept.obj + 0002:0024acf0 __except1 0078ecf0 f libucrtd:fpexcept.obj + 0002:0024ae30 __except2 0078ee30 f libucrtd:fpexcept.obj + 0002:0024afe0 __handle_exc 0078efe0 f libucrtd:fpexcept.obj + 0002:0024b3c0 __handle_qnan2 0078f3c0 f libucrtd:fpexcept.obj + 0002:0024b3e0 __raise_exc 0078f3e0 f libucrtd:fpexcept.obj + 0002:0024b420 __raise_exc_ex 0078f420 f libucrtd:fpexcept.obj + 0002:0024bb00 __raise_excf 0078fb00 f libucrtd:fpexcept.obj + 0002:0024bb40 __set_errno_from_matherr 0078fb40 f libucrtd:fpexcept.obj + 0002:0024bb90 __umatherr 0078fb90 f libucrtd:fpexcept.obj + 0002:0024c7e0 __makepath 007907e0 f libucrtd:makepath.obj + 0002:0024c810 __makepath_s 00790810 f libucrtd:makepath.obj + 0002:0024c840 __wmakepath 00790840 f libucrtd:makepath.obj + 0002:0024c870 __wmakepath_s 00790870 f libucrtd:makepath.obj + 0002:0024e820 ??$tcsncpy_s@AAPADIAAPBDABI@?$__crt_char_traits@D@@SAHAAPAD$$QAIAAPBDABI@Z 00792820 f i libucrtd:splitpath.obj + 0002:0024e850 ??$tcsncpy_s@AAPADIAAPBDH@?$__crt_char_traits@D@@SAHAAPAD$$QAIAAPBD$$QAH@Z 00792850 f i libucrtd:splitpath.obj + 0002:0024e880 ??$tcsncpy_s@AAPA_WIAAPB_WABI@?$__crt_char_traits@_W@@SAHAAPA_W$$QAIAAPB_WABI@Z 00792880 f i libucrtd:splitpath.obj + 0002:0024e8b0 ??$tcsncpy_s@AAPA_WIAAPB_WH@?$__crt_char_traits@_W@@SAHAAPA_W$$QAIAAPB_W$$QAH@Z 007928b0 f i libucrtd:splitpath.obj + 0002:0024eb50 __splitpath 00792b50 f libucrtd:splitpath.obj + 0002:0024eb80 __splitpath_s 00792b80 f libucrtd:splitpath.obj + 0002:0024ebe0 __wsplitpath 00792be0 f libucrtd:splitpath.obj + 0002:0024ec10 __wsplitpath_s 00792c10 f libucrtd:splitpath.obj + 0002:0024ec70 __controlfp_s 00792c70 f libucrtd:contrlfp.obj + 0002:0024ed90 _exp 00792d90 f libucrtd:exp.obj + 0002:0024f320 _wcsncpy_s 00793320 f libucrtd:wcsncpy_s.obj + 0002:0024f350 _strncmp 00793350 f libucrtd:strncmp.obj + 0002:0024f3f0 _wcsncmp 007933f0 f libucrtd:wcsncmp.obj + 0002:0024f460 ??$?RU__acrt_ptd@@@__crt_internal_free_policy@@QBEXQBU__acrt_ptd@@@Z 00793460 f i libucrtd:per_thread_data.obj + 0002:0024fa20 ??0?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QAE@QAU__acrt_ptd@@@Z 00793a20 f i libucrtd:per_thread_data.obj + 0002:0024fa40 ??0__crt_scoped_get_last_error_reset@@QAE@XZ 00793a40 f i libucrtd:per_thread_data.obj + 0002:0024fa70 ??1?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QAE@XZ 00793a70 f i libucrtd:per_thread_data.obj + 0002:0024fa90 ??1__crt_scoped_get_last_error_reset@@QAE@XZ 00793a90 f i libucrtd:per_thread_data.obj + 0002:0024fab0 ??B?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QBE_NXZ 00793ab0 f i libucrtd:per_thread_data.obj + 0002:0024fe70 ?dangerous_get_state_array@?$dual_state_global@PAU__crt_locale_data@@@__crt_state_management@@QAEPAPAU__crt_locale_data@@XZ 00793e70 f i libucrtd:per_thread_data.obj + 0002:00250050 ?detach@?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QAEPAU__acrt_ptd@@XZ 00794050 f i libucrtd:per_thread_data.obj + 0002:00250080 ?get@?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QBEPAU__acrt_ptd@@XZ 00794080 f i libucrtd:per_thread_data.obj + 0002:002500a0 ?get_current_state_index@__crt_state_management@@YAIABV__crt_scoped_get_last_error_reset@@@Z 007940a0 f i libucrtd:per_thread_data.obj + 0002:00250260 ?is_valid@?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QBE_NXZ 00794260 f i libucrtd:per_thread_data.obj + 0002:002502a0 ?release@?$__crt_unique_heap_ptr@U__acrt_ptd@@U__crt_internal_free_policy@@@@QAEXXZ 007942a0 f i libucrtd:per_thread_data.obj + 0002:002503b0 ___acrt_freeptd 007943b0 f libucrtd:per_thread_data.obj + 0002:002503f0 ___acrt_getptd 007943f0 f libucrtd:per_thread_data.obj + 0002:00250420 ___acrt_getptd_head 00794420 f libucrtd:per_thread_data.obj + 0002:00250450 ___acrt_getptd_noexit 00794450 f libucrtd:per_thread_data.obj + 0002:00250460 ___acrt_initialize_ptd 00794460 f libucrtd:per_thread_data.obj + 0002:002504b0 ___acrt_uninitialize_ptd 007944b0 f libucrtd:per_thread_data.obj + 0002:002504e0 ___threadhandle 007944e0 f libucrtd:per_thread_data.obj + 0002:002504f0 ___threadid 007944f0 f libucrtd:per_thread_data.obj + 0002:00250500 __CrtGetReportHook 00794500 f libucrtd:dbgrptt.obj + 0002:00250510 __CrtSetReportFile 00794510 f libucrtd:dbgrptt.obj + 0002:00250640 __CrtSetReportHook 00794640 f libucrtd:dbgrptt.obj + 0002:00250670 __CrtSetReportMode 00794670 f libucrtd:dbgrptt.obj + 0002:00250800 __VCrtDbgReportA 00794800 f libucrtd:dbgrptt.obj + 0002:002512a0 __VCrtDbgReportW 007952a0 f libucrtd:dbgrptt.obj + 0002:00251ec0 __snprintf_s 00795ec0 f i libucrtd:dbgrptt.obj + 0002:00251f20 __vsnprintf_s 00795f20 f i libucrtd:dbgrptt.obj + 0002:00251f50 __vsnprintf_s_l 00795f50 f i libucrtd:dbgrptt.obj + 0002:00252180 ?__acrt_get_utf8_acp_compatibility_codepage@@YAIXZ 00796180 f i libucrtd:getmodulefilenamea.obj + 0002:00252230 ___acrt_GetModuleFileNameA 00796230 f libucrtd:getmodulefilenamea.obj + 0002:002525e0 ??$message_box@$$TABQBDABQBDK@?$__crt_char_traits@D@@SAH$$QA$$TABQBD1$$QAK@Z 007965e0 f i libucrtd:crtmbox.obj + 0002:00252610 ??$message_box@$$TABQB_WABQB_WK@?$__crt_char_traits@_W@@SAH$$QA$$TABQB_W1$$QAK@Z 00796610 f i libucrtd:crtmbox.obj + 0002:00252640 ??$message_box@PAUHWND__@@ABQBDABQBDABI@?$__crt_char_traits@D@@SAH$$QAPAUHWND__@@ABQBD1ABI@Z 00796640 f i libucrtd:crtmbox.obj + 0002:00252670 ??$message_box@PAUHWND__@@ABQB_WABQB_WABI@?$__crt_char_traits@_W@@SAH$$QAPAUHWND__@@ABQB_W1ABI@Z 00796670 f i libucrtd:crtmbox.obj + 0002:002526a0 ??$output_debug_string@ABQBD@?$__crt_char_traits@D@@SAXABQBD@Z 007966a0 f i libucrtd:crtmbox.obj + 0002:002526c0 ??$output_debug_string@ABQB_W@?$__crt_char_traits@_W@@SAXABQB_W@Z 007966c0 f i libucrtd:crtmbox.obj + 0002:002526e0 ___acrt_show_narrow_message_box 007966e0 f libucrtd:crtmbox.obj + 0002:00252710 ___acrt_show_wide_message_box 00796710 f libucrtd:crtmbox.obj + 0002:00252760 ??$?B$$A6GHPA_WKJ@Z@__crt_fast_encoded_nullptr_t@@QBEP6GHPA_WKJ@ZXZ 00796760 f i libucrtd:winapi_thunks.obj + 0002:00252870 ??$__crt_fast_decode_pointer@P6GHPA_WKJ@Z@@YAP6GHPA_WKJ@ZQ6GH0KJ@Z@Z 00796870 f i libucrtd:winapi_thunks.obj + 0002:002528b0 ??$__crt_fast_decode_pointer@PAX@@YAPAXQAX@Z 007968b0 f i libucrtd:winapi_thunks.obj + 0002:002528f0 ??$__crt_fast_encode_pointer@P6GHPA_WKJ@Z@@YAP6GHPA_WKJ@ZQ6GH0KJ@Z@Z 007968f0 f i libucrtd:winapi_thunks.obj + 0002:002535b0 _GetCurrentThreadEffectiveToken 007975b0 f i libucrtd:winapi_thunks.obj + 0002:002535c0 ___acrt_AppPolicyGetProcessTerminationMethodInternal@4 007975c0 f libucrtd:winapi_thunks.obj + 0002:00253610 ___acrt_AppPolicyGetShowDeveloperDiagnosticInternal@4 00797610 f libucrtd:winapi_thunks.obj + 0002:00253660 ___acrt_AppPolicyGetThreadInitializationTypeInternal@4 00797660 f libucrtd:winapi_thunks.obj + 0002:002536b0 ___acrt_AppPolicyGetWindowingModelInternal@4 007976b0 f libucrtd:winapi_thunks.obj + 0002:00253700 ___acrt_AreFileApisANSI@0 00797700 f libucrtd:winapi_thunks.obj + 0002:00253740 ___acrt_CompareStringEx@36 00797740 f libucrtd:winapi_thunks.obj + 0002:002537e0 ___acrt_EnumSystemLocalesEx@16 007977e0 f libucrtd:winapi_thunks.obj + 0002:00253850 ___acrt_FlsAlloc@4 00797850 f libucrtd:winapi_thunks.obj + 0002:002538a0 ___acrt_FlsFree@4 007978a0 f libucrtd:winapi_thunks.obj + 0002:002538f0 ___acrt_FlsGetValue@4 007978f0 f libucrtd:winapi_thunks.obj + 0002:00253940 ___acrt_FlsSetValue@8 00797940 f libucrtd:winapi_thunks.obj + 0002:002539a0 ___acrt_GetDateFormatEx@28 007979a0 f libucrtd:winapi_thunks.obj + 0002:00253a30 ___acrt_GetEnabledXStateFeatures@0 00797a30 f libucrtd:winapi_thunks.obj + 0002:00253a70 ___acrt_GetLocaleInfoEx@16 00797a70 f libucrtd:winapi_thunks.obj + 0002:00253af0 ___acrt_GetSystemTimePreciseAsFileTime@4 00797af0 f libucrtd:winapi_thunks.obj + 0002:00253b40 ___acrt_GetTimeFormatEx@24 00797b40 f libucrtd:winapi_thunks.obj + 0002:00253bd0 ___acrt_GetUserDefaultLocaleName@8 00797bd0 f libucrtd:winapi_thunks.obj + 0002:00253c40 ___acrt_GetXStateFeaturesMask@8 00797c40 f libucrtd:winapi_thunks.obj + 0002:00253c90 ___acrt_InitializeCriticalSectionEx@12 00797c90 f libucrtd:winapi_thunks.obj + 0002:00253cf0 ___acrt_IsValidLocaleName@4 00797cf0 f libucrtd:winapi_thunks.obj + 0002:00253d50 ___acrt_LCIDToLocaleName@16 00797d50 f libucrtd:winapi_thunks.obj + 0002:00253dc0 ___acrt_LCMapStringEx@36 00797dc0 f libucrtd:winapi_thunks.obj + 0002:00253e60 ___acrt_LocaleNameToLCID@8 00797e60 f libucrtd:winapi_thunks.obj + 0002:00253ec0 ___acrt_LocateXStateFeature@12 00797ec0 f libucrtd:winapi_thunks.obj + 0002:00253f20 ___acrt_MessageBoxA@16 00797f20 f libucrtd:winapi_thunks.obj + 0002:00253f80 ___acrt_MessageBoxW@16 00797f80 f libucrtd:winapi_thunks.obj + 0002:00253fe0 ___acrt_RoInitialize@4 00797fe0 f libucrtd:winapi_thunks.obj + 0002:00254030 ___acrt_RoUninitialize@0 00798030 f libucrtd:winapi_thunks.obj + 0002:00254070 ___acrt_RtlGenRandom@8 00798070 f libucrtd:winapi_thunks.obj + 0002:002540c0 ___acrt_SetThreadStackGuarantee@4 007980c0 f libucrtd:winapi_thunks.obj + 0002:00254110 ___acrt_can_show_message_box 00798110 f libucrtd:winapi_thunks.obj + 0002:00254150 ___acrt_can_use_vista_locale_apis 00798150 f libucrtd:winapi_thunks.obj + 0002:00254180 ___acrt_can_use_xstate_apis 00798180 f libucrtd:winapi_thunks.obj + 0002:002541b0 ___acrt_eagerly_load_locale_apis 007981b0 f libucrtd:winapi_thunks.obj + 0002:00254200 ___acrt_get_parent_window 00798200 f libucrtd:winapi_thunks.obj + 0002:00254280 ___acrt_initialize_winapi_thunks 00798280 f libucrtd:winapi_thunks.obj + 0002:00254300 ___acrt_is_interactive 00798300 f libucrtd:winapi_thunks.obj + 0002:002543d0 ___acrt_uninitialize_winapi_thunks 007983d0 f libucrtd:winapi_thunks.obj + 0002:00254460 __fcloseall 00798460 f libucrtd:closeall.obj + 0002:002545e0 ?has_crt_buffer@__crt_stdio_stream@@QBE_NXZ 007985e0 f i libucrtd:_freebuf.obj + 0002:00254600 ___acrt_stdio_free_buffer_nolock 00798600 f libucrtd:_freebuf.obj + 0002:00254a50 ___acrt_initialize_lowio 00798a50 f libucrtd:ioinit.obj + 0002:00254b10 ___acrt_uninitialize_lowio 00798b10 f libucrtd:ioinit.obj + 0002:00254b80 __CrtGetDebugFillThreshold 00798b80 f libucrtd:debug_fill_threshold.obj + 0002:00254b90 __CrtSetDebugFillThreshold 00798b90 f libucrtd:debug_fill_threshold.obj + 0002:00254bc0 ??$parse_integer_from_string@JDPAPAD@__crt_strtox@@YAJQBDQAPADHQAU__crt_locale_pointers@@@Z 00798bc0 f i libucrtd:strtox.obj + 0002:00254c10 ??$parse_integer_from_string@J_WPAPA_W@__crt_strtox@@YAJQB_WQAPA_WHQAU__crt_locale_pointers@@@Z 00798c10 f i libucrtd:strtox.obj + 0002:00254c60 ??$parse_integer_from_string@KDPAPAD@__crt_strtox@@YAKQBDQAPADHQAU__crt_locale_pointers@@@Z 00798c60 f i libucrtd:strtox.obj + 0002:00254cb0 ??$parse_integer_from_string@K_WPAPA_W@__crt_strtox@@YAKQB_WQAPA_WHQAU__crt_locale_pointers@@@Z 00798cb0 f i libucrtd:strtox.obj + 0002:00254d00 ??$parse_integer_from_string@_JDPAPAD@__crt_strtox@@YA_JQBDQAPADHQAU__crt_locale_pointers@@@Z 00798d00 f i libucrtd:strtox.obj + 0002:00254d50 ??$parse_integer_from_string@_J_WPAPA_W@__crt_strtox@@YA_JQB_WQAPA_WHQAU__crt_locale_pointers@@@Z 00798d50 f i libucrtd:strtox.obj + 0002:00254da0 ??$parse_integer_from_string@_KDPAPAD@__crt_strtox@@YA_KQBDQAPADHQAU__crt_locale_pointers@@@Z 00798da0 f i libucrtd:strtox.obj + 0002:00254df0 ??$parse_integer_from_string@_K_WPAPA_W@__crt_strtox@@YA_KQB_WQAPA_WHQAU__crt_locale_pointers@@@Z 00798df0 f i libucrtd:strtox.obj + 0002:00254e40 __strtoi64 00798e40 f libucrtd:strtox.obj + 0002:00254e70 __strtoi64_l 00798e70 f libucrtd:strtox.obj + 0002:00254ea0 __strtoimax_l 00798ea0 f libucrtd:strtox.obj + 0002:00254ed0 __strtol_l 00798ed0 f libucrtd:strtox.obj + 0002:00254f00 __strtoll_l 00798f00 f libucrtd:strtox.obj + 0002:00254f30 __strtoui64 00798f30 f libucrtd:strtox.obj + 0002:00254f60 __strtoui64_l 00798f60 f libucrtd:strtox.obj + 0002:00254f90 __strtoul_l 00798f90 f libucrtd:strtox.obj + 0002:00254fc0 __strtoull_l 00798fc0 f libucrtd:strtox.obj + 0002:00254ff0 __strtoumax_l 00798ff0 f libucrtd:strtox.obj + 0002:00255020 __wcstoi64 00799020 f libucrtd:strtox.obj + 0002:00255050 __wcstoi64_l 00799050 f libucrtd:strtox.obj + 0002:00255080 __wcstoimax_l 00799080 f libucrtd:strtox.obj + 0002:002550b0 __wcstol_l 007990b0 f libucrtd:strtox.obj + 0002:002550e0 __wcstoll_l 007990e0 f libucrtd:strtox.obj + 0002:00255110 __wcstoui64 00799110 f libucrtd:strtox.obj + 0002:00255140 __wcstoui64_l 00799140 f libucrtd:strtox.obj + 0002:00255170 __wcstoul_l 00799170 f libucrtd:strtox.obj + 0002:002551a0 __wcstoull_l 007991a0 f libucrtd:strtox.obj + 0002:002551d0 __wcstoumax_l 007991d0 f libucrtd:strtox.obj + 0002:00255200 _strtoimax 00799200 f libucrtd:strtox.obj + 0002:00255230 _strtol 00799230 f libucrtd:strtox.obj + 0002:00255260 _strtoll 00799260 f libucrtd:strtox.obj + 0002:00255290 _strtoul 00799290 f libucrtd:strtox.obj + 0002:002552c0 _strtoull 007992c0 f libucrtd:strtox.obj + 0002:002552f0 _strtoumax 007992f0 f libucrtd:strtox.obj + 0002:00255320 _wcstoimax 00799320 f libucrtd:strtox.obj + 0002:00255350 _wcstol 00799350 f libucrtd:strtox.obj + 0002:00255380 _wcstoll 00799380 f libucrtd:strtox.obj + 0002:002553b0 _wcstoul 007993b0 f libucrtd:strtox.obj + 0002:002553e0 _wcstoull 007993e0 f libucrtd:strtox.obj + 0002:00255410 _wcstoumax 00799410 f libucrtd:strtox.obj + 0002:00255440 __mbtowc_l 00799440 f libucrtd:mbtowc.obj + 0002:00255820 _mbtowc 00799820 f libucrtd:mbtowc.obj + 0002:00255850 __wctomb_l 00799850 f libucrtd:wctomb.obj + 0002:002558f0 __wctomb_s_l 007998f0 f libucrtd:wctomb.obj + 0002:00255da0 _wctomb 00799da0 f libucrtd:wctomb.obj + 0002:00255e00 _wctomb_s 00799e00 f libucrtd:wctomb.obj + 0002:00255e30 ?value@?$dual_state_global@PAU__crt_multibyte_data@@@__crt_state_management@@QAEAAPAU__crt_multibyte_data@@XZ 00799e30 f i libucrtd:locale_update.obj + 0002:00255e50 ___acrt_update_locale_info 00799e50 f libucrtd:locale_update.obj + 0002:00255ea0 ___acrt_update_multibyte_info 00799ea0 f libucrtd:locale_update.obj + 0002:00255ef0 ?__acrt_fp_classify@@YA?AW4__acrt_fp_class@@ABN@Z 00799ef0 f i libucrtd:cvt.obj + 0002:00256050 ?__acrt_fp_is_negative@@YA_NABN@Z 0079a050 f i libucrtd:cvt.obj + 0002:00257540 ?strrchr@@YAPADQADH@Z 0079b540 f i libucrtd:cvt.obj + 0002:00257560 ___acrt_fp_format 0079b560 f libucrtd:cvt.obj + 0002:00257b10 __fputwc_nolock 0079bb10 f libucrtd:fputwc.obj + 0002:00257d70 __fputwchar 0079bd70 f libucrtd:fputwc.obj + 0002:00257da0 __putwc_nolock 0079bda0 f libucrtd:fputwc.obj + 0002:00257dc0 _fputwc 0079bdc0 f libucrtd:fputwc.obj + 0002:00257f10 _putwc 0079bf10 f libucrtd:fputwc.obj + 0002:00257f30 _putwchar 0079bf30 f libucrtd:fputwc.obj + 0002:00257f50 __fileno 0079bf50 f libucrtd:fileno.obj + 0002:00258020 __get_printf_count_output 0079c020 f libucrtd:printf_count_output.obj + 0002:00258060 __set_printf_count_output 0079c060 f libucrtd:printf_count_output.obj + 0002:002580d0 ?has_temporary_buffer@__crt_stdio_stream@@QBE_NXZ 0079c0d0 f i libucrtd:_sftbuf.obj + 0002:002580f0 ___acrt_stdio_begin_temporary_buffering_nolock 0079c0f0 f libucrtd:_sftbuf.obj + 0002:00258320 ___acrt_stdio_end_temporary_buffering_nolock 0079c320 f libucrtd:_sftbuf.obj + 0002:002583c0 ___p___mb_cur_max 0079c3c0 f libucrtd:nlsdata.obj + 0002:00259930 __i64toa 0079d930 f libucrtd:xtoa.obj + 0002:002599a0 __i64toa_s 0079d9a0 f libucrtd:xtoa.obj + 0002:00259a10 __i64tow 0079da10 f libucrtd:xtoa.obj + 0002:00259a80 __i64tow_s 0079da80 f libucrtd:xtoa.obj + 0002:00259af0 __itoa 0079daf0 f libucrtd:xtoa.obj + 0002:00259b50 __itoa_s 0079db50 f libucrtd:xtoa.obj + 0002:00259bb0 __itow 0079dbb0 f libucrtd:xtoa.obj + 0002:00259c10 __itow_s 0079dc10 f libucrtd:xtoa.obj + 0002:00259c70 __ltoa 0079dc70 f libucrtd:xtoa.obj + 0002:00259cd0 __ltoa_s 0079dcd0 f libucrtd:xtoa.obj + 0002:00259d30 __ltow 0079dd30 f libucrtd:xtoa.obj + 0002:00259d90 __ltow_s 0079dd90 f libucrtd:xtoa.obj + 0002:00259df0 __ui64toa 0079ddf0 f libucrtd:xtoa.obj + 0002:00259e20 __ui64toa_s 0079de20 f libucrtd:xtoa.obj + 0002:00259e50 __ui64tow 0079de50 f libucrtd:xtoa.obj + 0002:00259e80 __ui64tow_s 0079de80 f libucrtd:xtoa.obj + 0002:00259eb0 __ultoa 0079deb0 f libucrtd:xtoa.obj + 0002:00259ee0 __ultoa_s 0079dee0 f libucrtd:xtoa.obj + 0002:00259f10 __ultow 0079df10 f libucrtd:xtoa.obj + 0002:00259f40 __ultow_s 0079df40 f libucrtd:xtoa.obj + 0002:00259f70 __set_error_mode 0079df70 f libucrtd:set_error_mode.obj + 0002:0025a590 _wcscat_s 0079e590 f libucrtd:wcscat_s.obj + 0002:0025abc0 _wcsncat_s 0079ebc0 f libucrtd:wcsncat_s.obj + 0002:0025b1d0 _strncat_s 0079f1d0 f libucrtd:strncat_s.obj + 0002:0025b200 ___acrt_initialize_sse2 0079f200 f libucrtd:mathfcns.obj + 0002:0025b220 __set_SSE2_enable 0079f220 f libucrtd:mathfcns.obj + 0002:0025b280 __CIpow 0079f280 f libucrtd:pow_impl.obj + 0002:0025b2bb __CIpow_default 0079f2bb f libucrtd:pow_impl.obj + 0002:0025b2d4 __pow_default 0079f2d4 libucrtd:pow_impl.obj + 0002:0025b560 __CIpow_pentium4 0079f560 f libucrtd:pow_pentium4.obj + 0002:0025b579 __pow_pentium4 0079f579 libucrtd:pow_pentium4.obj + 0002:0025c350 __twoToTOS 007a0350 f libucrtd:common.obj + 0002:0025c365 __load_CW 007a0365 f libucrtd:common.obj + 0002:0025c37c __convertTOStoQNaN 007a037c f libucrtd:common.obj + 0002:0025c395 __fload_withFB 007a0395 f libucrtd:common.obj + 0002:0025c3d8 __checkTOS_withFB 007a03d8 f libucrtd:common.obj + 0002:0025c3ee __fast_exit 007a03ee f libucrtd:common.obj + 0002:0025c3fb __math_exit 007a03fb f libucrtd:common.obj + 0002:0025c425 __check_overflow_exit 007a0425 f libucrtd:common.obj + 0002:0025c439 __check_range_exit 007a0439 f libucrtd:common.obj + 0002:0025c540 __CIsqrt 007a0540 f libucrtd:sqrt_impl.obj + 0002:0025c554 __sqrt_common 007a0554 libucrtd:sqrt_impl.obj + 0002:0025d290 __read 007a1290 f libucrtd:read.obj + 0002:0025d630 __read_nolock 007a1630 f libucrtd:read.obj + 0002:0025e240 __utf8_no_of_trailbytes 007a2240 f i libucrtd:read.obj + 0002:0025ebb0 ___acrt_stdio_refill_and_read_narrow_nolock 007a2bb0 f libucrtd:_filbuf.obj + 0002:0025ebe0 ___acrt_stdio_refill_and_read_wide_nolock 007a2be0 f libucrtd:_filbuf.obj + 0002:0025f7e4 ??$get_or_create_environment_nolock@$$V@?$__crt_char_traits@D@@SAPAPADXZ 007a37e4 f i libucrtd:getenv.obj + 0002:0025f7e9 ??$get_or_create_environment_nolock@$$V@?$__crt_char_traits@_W@@SAPAPA_WXZ 007a37e9 f i libucrtd:getenv.obj + 0002:0025f7ee ??$tcscpy_s@AAPADABIABQBD@?$__crt_char_traits@D@@SAHAAPADABIABQBD@Z 007a37ee f i libucrtd:getenv.obj + 0002:0025f813 ??$tcscpy_s@AAPA_WABIABQB_W@?$__crt_char_traits@_W@@SAHAAPA_WABIABQB_W@Z 007a3813 f i libucrtd:getenv.obj + 0002:0025f838 ??$tcscpy_s@ABQADABIABQBD@?$__crt_char_traits@D@@SAHABQADABIABQBD@Z 007a3838 f i libucrtd:getenv.obj + 0002:0025f85d ??$tcscpy_s@ABQA_WABIABQB_W@?$__crt_char_traits@_W@@SAHABQA_WABIABQB_W@Z 007a385d f i libucrtd:getenv.obj + 0002:0025f882 ??$tcsnicoll@AAPADABQBDABI@?$__crt_char_traits@D@@SAHAAPADABQBDABI@Z 007a3882 f i libucrtd:getenv.obj + 0002:0025f8a7 ??$tcsnicoll@AAPA_WABQB_WABI@?$__crt_char_traits@_W@@SAHAAPA_WABQB_WABI@Z 007a38a7 f i libucrtd:getenv.obj + 0002:0025f8cc ??$tcsnlen@ABQBDH@?$__crt_char_traits@D@@SAIABQBD$$QAH@Z 007a38cc f i libucrtd:getenv.obj + 0002:0025f8ea ??$tcsnlen@ABQB_WH@?$__crt_char_traits@_W@@SAIABQB_W$$QAH@Z 007a38ea f i libucrtd:getenv.obj + 0002:0025f908 ??$tcsnlen@PADH@?$__crt_char_traits@D@@SAI$$QAPAD$$QAH@Z 007a3908 f i libucrtd:getenv.obj + 0002:0025f926 ??$tcsnlen@PA_WH@?$__crt_char_traits@_W@@SAI$$QAPA_W$$QAH@Z 007a3926 f i libucrtd:getenv.obj + 0002:0025f944 __dupenv_s 007a3944 f libucrtd:getenv.obj + 0002:0025f969 __dupenv_s_dbg 007a3969 f libucrtd:getenv.obj + 0002:0025f976 __wdupenv_s 007a3976 f libucrtd:getenv.obj + 0002:0025f99b __wdupenv_s_dbg 007a399b f libucrtd:getenv.obj + 0002:0025f9a8 __wgetenv 007a39a8 f libucrtd:getenv.obj + 0002:0025f9b5 __wgetenv_s 007a39b5 f libucrtd:getenv.obj + 0002:0025f9c2 _getenv 007a39c2 f libucrtd:getenv.obj + 0002:0025f9cf _getenv_s 007a39cf f libucrtd:getenv.obj + 0002:002603b3 ??$create_process@PADPAD$$T$$THAAKPAD$$TPAU_STARTUPINFOW@@PAU_PROCESS_INFORMATION@@@?$__crt_char_traits@D@@SAH$$QAPAD0$$QA$$T1$$QAHAAK01$$QAPAU_STARTUPINFOW@@$$QAPAU_PROCESS_INFORMATION@@@Z 007a43b3 f i libucrtd:spawnv.obj + 0002:00260404 ??$create_process@PA_WPA_W$$T$$THAAKPA_W$$TPAU_STARTUPINFOW@@PAU_PROCESS_INFORMATION@@@?$__crt_char_traits@_W@@SAH$$QAPA_W0$$QA$$T1$$QAHAAK01$$QAPAU_STARTUPINFOW@@$$QAPAU_PROCESS_INFORMATION@@@Z 007a4404 f i libucrtd:spawnv.obj + 0002:00260af4 ??$pack_command_line_and_environment@ABQBQBDABQBQBDPAPADPAPAD@?$__crt_char_traits@D@@SAHABQBQBD0$$QAPAPAD1@Z 007a4af4 f i libucrtd:spawnv.obj + 0002:00260b1f ??$pack_command_line_and_environment@ABQBQB_WABQBQB_WPAPA_WPAPA_W@?$__crt_char_traits@_W@@SAHABQBQB_W0$$QAPAPA_W1@Z 007a4b1f f i libucrtd:spawnv.obj + 0002:00260b4a ??$taccess_s@AAPBDH@?$__crt_char_traits@D@@SAHAAPBD$$QAH@Z 007a4b4a f i libucrtd:spawnv.obj + 0002:00260b68 ??$taccess_s@AAPB_WH@?$__crt_char_traits@_W@@SAHAAPB_W$$QAH@Z 007a4b68 f i libucrtd:spawnv.obj + 0002:00260b86 ??$tcscat_s@PADABIABQBD@?$__crt_char_traits@D@@SAH$$QAPADABIABQBD@Z 007a4b86 f i libucrtd:spawnv.obj + 0002:00260bab ??$tcscat_s@PA_WABIABQB_W@?$__crt_char_traits@_W@@SAH$$QAPA_WABIABQB_W@Z 007a4bab f i libucrtd:spawnv.obj + 0002:00260bd0 ??$tcscpy_s@AAPADHAAY04$$CBD@?$__crt_char_traits@D@@SAHAAPAD$$QAHAAY04$$CBD@Z 007a4bd0 f i libucrtd:spawnv.obj + 0002:00260bf3 ??$tcscpy_s@AAPA_WHAAY04$$CB_W@?$__crt_char_traits@_W@@SAHAAPA_W$$QAHAAY04$$CB_W@Z 007a4bf3 f i libucrtd:spawnv.obj + 0002:00260c16 ??$tcscpy_s@PADABIAAPBD@?$__crt_char_traits@D@@SAH$$QAPADABIAAPBD@Z 007a4c16 f i libucrtd:spawnv.obj + 0002:00260c3b ??$tcscpy_s@PADABIAAY02$$CBD@?$__crt_char_traits@D@@SAH$$QAPADABIAAY02$$CBD@Z 007a4c3b f i libucrtd:spawnv.obj + 0002:00260c5e ??$tcscpy_s@PA_WABIAAPB_W@?$__crt_char_traits@_W@@SAH$$QAPA_WABIAAPB_W@Z 007a4c5e f i libucrtd:spawnv.obj + 0002:00260c83 ??$tcscpy_s@PA_WABIAAY02$$CB_W@?$__crt_char_traits@_W@@SAH$$QAPA_WABIAAY02$$CB_W@Z 007a4c83 f i libucrtd:spawnv.obj + 0002:00260ca6 ??$tcslen@AAPBD@?$__crt_char_traits@D@@SAIAAPBD@Z 007a4ca6 f i libucrtd:spawnv.obj + 0002:00260cc4 ??$tcslen@AAPB_W@?$__crt_char_traits@_W@@SAIAAPB_W@Z 007a4cc4 f i libucrtd:spawnv.obj + 0002:00260ce9 ??$tcsrchr@AAPBDD@?$__crt_char_traits@D@@SAPBDAAPBD$$QAD@Z 007a4ce9 f i libucrtd:spawnv.obj + 0002:00260d09 ??$tcsrchr@AAPB_WD@?$__crt_char_traits@_W@@SAPB_WAAPB_W$$QAD@Z 007a4d09 f i libucrtd:spawnv.obj + 0002:00260d2e ??$tcsrchr@ABQBDD@?$__crt_char_traits@D@@SAPBDABQBD$$QAD@Z 007a4d2e f i libucrtd:spawnv.obj + 0002:00260d4e ??$tcsrchr@ABQB_WD@?$__crt_char_traits@_W@@SAPB_WABQB_W$$QAD@Z 007a4d4e f i libucrtd:spawnv.obj + 0002:00260dc2 ??0?$__crt_unique_handle_t@U__crt_handle_traits@@@@QAE@QAX@Z 007a4dc2 f i libucrtd:spawnv.obj + 0002:00260dd6 ??0?$__crt_unique_heap_ptr@$$CBDU__crt_internal_free_policy@@@@QAE@QBD@Z 007a4dd6 f i libucrtd:spawnv.obj + 0002:00260dea ??0?$__crt_unique_heap_ptr@$$CB_WU__crt_internal_free_policy@@@@QAE@QB_W@Z 007a4dea f i libucrtd:spawnv.obj + 0002:00260dfe ??1?$__crt_unique_handle_t@U__crt_handle_traits@@@@QAE@XZ 007a4dfe f i libucrtd:spawnv.obj + 0002:00260e1a ??1?$__crt_unique_heap_ptr@$$CBDU__crt_internal_free_policy@@@@QAE@XZ 007a4e1a f i libucrtd:spawnv.obj + 0002:00260e34 ??1?$__crt_unique_heap_ptr@$$CB_WU__crt_internal_free_policy@@@@QAE@XZ 007a4e34 f i libucrtd:spawnv.obj + 0002:0026104d ?close@?$__crt_unique_handle_t@U__crt_handle_traits@@@@QAEXXZ 007a504d f i libucrtd:spawnv.obj + 0002:00261069 ?close@__crt_handle_traits@@SA_NPAX@Z 007a5069 f i libucrtd:spawnv.obj + 0002:00261083 ?detach@?$__crt_unique_handle_t@U__crt_handle_traits@@@@QAEPAXXZ 007a5083 f i libucrtd:spawnv.obj + 0002:00261089 ?get_address_of@?$__crt_unique_heap_ptr@EU__crt_internal_free_policy@@@@QAEPAPAEXZ 007a5089 f i libucrtd:spawnv.obj + 0002:0026108c ?get_invalid_value@__crt_handle_traits@@SAPAXXZ 007a508c f i libucrtd:spawnv.obj + 0002:00261090 ?release@?$__crt_unique_heap_ptr@$$CBDU__crt_internal_free_policy@@@@QAEXXZ 007a5090 f i libucrtd:spawnv.obj + 0002:002610aa ?release@?$__crt_unique_heap_ptr@$$CB_WU__crt_internal_free_policy@@@@QAEXXZ 007a50aa f i libucrtd:spawnv.obj + 0002:002610ca __execv 007a50ca f libucrtd:spawnv.obj + 0002:002610e9 __execve 007a50e9 f libucrtd:spawnv.obj + 0002:00261109 __spawnv 007a5109 f libucrtd:spawnv.obj + 0002:00261129 __spawnve 007a5129 f libucrtd:spawnv.obj + 0002:00261136 __wexecv 007a5136 f libucrtd:spawnv.obj + 0002:00261155 __wexecve 007a5155 f libucrtd:spawnv.obj + 0002:00261175 __wspawnv 007a5175 f libucrtd:spawnv.obj + 0002:00261195 __wspawnve 007a5195 f libucrtd:spawnv.obj + 0002:00261bb7 ??$tcscat_s@AAPADHAAY01$$CBD@?$__crt_char_traits@D@@SAHAAPAD$$QAHAAY01$$CBD@Z 007a5bb7 f i libucrtd:spawnvp.obj + 0002:00261bda ??$tcscat_s@AAPADHABQBD@?$__crt_char_traits@D@@SAHAAPAD$$QAHABQBD@Z 007a5bda f i libucrtd:spawnvp.obj + 0002:00261bff ??$tcscat_s@AAPA_WHAAY01$$CB_W@?$__crt_char_traits@_W@@SAHAAPA_W$$QAHAAY01$$CB_W@Z 007a5bff f i libucrtd:spawnvp.obj + 0002:00261c22 ??$tcscat_s@AAPA_WHABQB_W@?$__crt_char_traits@_W@@SAHAAPA_W$$QAHABQB_W@Z 007a5c22 f i libucrtd:spawnvp.obj + 0002:00261c47 ??$tcschr@AAPADD@?$__crt_char_traits@D@@SAPADAAPAD$$QAD@Z 007a5c47 f i libucrtd:spawnvp.obj + 0002:00261c67 ??$tcschr@AAPA_WD@?$__crt_char_traits@_W@@SAPA_WAAPA_W$$QAD@Z 007a5c67 f i libucrtd:spawnvp.obj + 0002:00261c8c ??$tcschr@ABQBDD@?$__crt_char_traits@D@@SAPBDABQBD$$QAD@Z 007a5c8c f i libucrtd:spawnvp.obj + 0002:00261cac ??$tcschr@ABQB_WD@?$__crt_char_traits@_W@@SAPB_WABQB_W$$QAD@Z 007a5cac f i libucrtd:spawnvp.obj + 0002:00261cd1 ??$tcschr@PADD@?$__crt_char_traits@D@@SAPAD$$QAPAD$$QAD@Z 007a5cd1 f i libucrtd:spawnvp.obj + 0002:00261cf1 ??$tcschr@PA_WD@?$__crt_char_traits@_W@@SAPA_W$$QAPA_W$$QAD@Z 007a5cf1 f i libucrtd:spawnvp.obj + 0002:00261d16 ??$tcsrchr@AAPADD@?$__crt_char_traits@D@@SAPADAAPAD$$QAD@Z 007a5d16 f i libucrtd:spawnvp.obj + 0002:00261d36 ??$tcsrchr@AAPA_WD@?$__crt_char_traits@_W@@SAPA_WAAPA_W$$QAD@Z 007a5d36 f i libucrtd:spawnvp.obj + 0002:00261d5b ??$tdupenv_s_crt@PAPAD$$TAAY04$$CBD@?$__crt_char_traits@D@@SAH$$QAPAPAD$$QA$$TAAY04$$CBD@Z 007a5d5b f i libucrtd:spawnvp.obj + 0002:00261d89 ??$tdupenv_s_crt@PAPA_W$$TAAY04$$CB_W@?$__crt_char_traits@_W@@SAH$$QAPAPA_W$$QA$$TAAY04$$CB_W@Z 007a5d89 f i libucrtd:spawnvp.obj + 0002:00261db7 ??$tgetpath@AAPADAAPADH@?$__crt_char_traits@D@@SAPADAAPAD0$$QAH@Z 007a5db7 f i libucrtd:spawnvp.obj + 0002:00261ddc ??$tgetpath@AAPA_WAAPA_WH@?$__crt_char_traits@_W@@SAPA_WAAPA_W0$$QAH@Z 007a5ddc f i libucrtd:spawnvp.obj + 0002:00261e01 ??$tspawnve@ABHAAPADABQBQBDABQBQBD@?$__crt_char_traits@D@@SAHABHAAPADABQBQBD2@Z 007a5e01 f i libucrtd:spawnvp.obj + 0002:00261e2c ??$tspawnve@ABHAAPA_WABQBQB_WABQBQB_W@?$__crt_char_traits@_W@@SAHABHAAPA_WABQBQB_W2@Z 007a5e2c f i libucrtd:spawnvp.obj + 0002:00261e57 ??$tspawnve@ABHABQBDABQBQBDABQBQBD@?$__crt_char_traits@D@@SAHABHABQBDABQBQBD2@Z 007a5e57 f i libucrtd:spawnvp.obj + 0002:00261e82 ??$tspawnve@ABHABQB_WABQBQB_WABQBQB_W@?$__crt_char_traits@_W@@SAHABHABQB_WABQBQB_W2@Z 007a5e82 f i libucrtd:spawnvp.obj + 0002:00261ead ?strchr@@YAPADQADH@Z 007a5ead f i libucrtd:spawnvp.obj + 0002:00261eba ?wcschr@@YAPA_WPA_W_W@Z 007a5eba f i libucrtd:spawnvp.obj + 0002:00261ec7 ?wcsrchr@@YAPA_WPA_W_W@Z 007a5ec7 f i libucrtd:spawnvp.obj + 0002:00261ed4 __execvp 007a5ed4 f libucrtd:spawnvp.obj + 0002:00261ef3 __execvpe 007a5ef3 f libucrtd:spawnvp.obj + 0002:00261f13 __spawnvp 007a5f13 f libucrtd:spawnvp.obj + 0002:00261f33 __spawnvpe 007a5f33 f libucrtd:spawnvp.obj + 0002:00261f40 __wexecvp 007a5f40 f libucrtd:spawnvp.obj + 0002:00261f5f __wexecvpe 007a5f5f f libucrtd:spawnvp.obj + 0002:00261f7f __wspawnvp 007a5f7f f libucrtd:spawnvp.obj + 0002:00261f9f __wspawnvpe 007a5f9f f libucrtd:spawnvp.obj + 0002:00261fb0 __waccess 007a5fb0 f libucrtd:waccess.obj + 0002:00261ff0 __waccess_s 007a5ff0 f libucrtd:waccess.obj + 0002:002623f0 __access 007a63f0 f libucrtd:access.obj + 0002:00262430 __access_s 007a6430 f libucrtd:access.obj + 0002:002624d0 __chvalidator 007a64d0 f libucrtd:isctype.obj + 0002:00262530 __chvalidator_l 007a6530 f libucrtd:isctype.obj + 0002:002625d0 __isctype 007a65d0 f libucrtd:isctype.obj + 0002:00262620 __isctype_l 007a6620 f libucrtd:isctype.obj + 0002:00262810 __free_base 007a6810 f libucrtd:free_base.obj + 0002:00262870 __realloc_base 007a6870 f libucrtd:realloc_base.obj + 0002:002629a0 __expand 007a69a0 f libucrtd:expand.obj + 0002:002629d0 __expand_base 007a69d0 f libucrtd:expand.obj + 0002:00262b50 __CrtDefaultAllocHook 007a6b50 f libucrtd:debug_heap_hook.obj + 0002:00262b60 ___acrt_getheap 007a6b60 f libucrtd:heap_handle.obj + 0002:00262bb0 ___acrt_initialize_heap 007a6bb0 f libucrtd:heap_handle.obj + 0002:00262be0 ___acrt_uninitialize_heap 007a6be0 f libucrtd:heap_handle.obj + 0002:00262c00 __get_heap_handle 007a6c00 f libucrtd:heap_handle.obj + 0002:00262c50 __iswctype_l 007a6c50 f libucrtd:iswctype.obj + 0002:00262c70 _iswctype 007a6c70 f libucrtd:iswctype.obj + 0002:00263060 __close 007a7060 f libucrtd:close.obj + 0002:00263230 __close_nolock 007a7230 f libucrtd:close.obj + 0002:002632a0 ??$?RU__crt_stdio_stream_data@@@__crt_internal_free_policy@@QBEXQBU__crt_stdio_stream_data@@@Z 007a72a0 f i libucrtd:stream.obj + 0002:002632d0 ??0?$__crt_unique_heap_ptr@U__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAE@QAU__crt_stdio_stream_data@@@Z 007a72d0 f i libucrtd:stream.obj + 0002:002632f0 ??0__crt_stdio_stream@@QAE@XZ 007a72f0 f i libucrtd:stream.obj + 0002:00263310 ??1?$__crt_unique_heap_ptr@U__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAE@XZ 007a7310 f i libucrtd:stream.obj + 0002:00263330 ?__acrt_stdio_allocate_stream@@YA?AV__crt_stdio_stream@@XZ 007a7330 f libucrtd:stream.obj + 0002:00263460 ?__acrt_stdio_free_stream@@YAXV__crt_stdio_stream@@@Z 007a7460 f libucrtd:stream.obj + 0002:00263500 ?deallocate@__crt_stdio_stream@@QAEXXZ 007a7500 f i libucrtd:stream.obj + 0002:00263520 ?detach@?$__crt_unique_heap_ptr@U__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAEPAU__crt_stdio_stream_data@@XZ 007a7520 f i libucrtd:stream.obj + 0002:002636e0 ?lock@__crt_stdio_stream@@QBEXXZ 007a76e0 f i libucrtd:stream.obj + 0002:00263710 ?release@?$__crt_unique_heap_ptr@U__crt_stdio_stream_data@@U__crt_internal_free_policy@@@@QAEXXZ 007a7710 f i libucrtd:stream.obj + 0002:00263740 ?try_allocate@__crt_stdio_stream@@QAE_NXZ 007a7740 f i libucrtd:stream.obj + 0002:00263a30 __commit 007a7a30 f libucrtd:commit.obj + 0002:00265670 __write 007a9670 f libucrtd:write.obj + 0002:00265950 __write_nolock 007a9950 f libucrtd:write.obj + 0002:00266ee0 ?ctrl_z@__crt_stdio_stream@@QBE_NXZ 007aaee0 f i libucrtd:ftell.obj + 0002:00266f00 ?has_setvbuf_buffer@__crt_stdio_stream@@QBE_NXZ 007aaf00 f i libucrtd:ftell.obj + 0002:00266f20 __ftell_nolock 007aaf20 f libucrtd:ftell.obj + 0002:00266f50 __ftelli64 007aaf50 f libucrtd:ftell.obj + 0002:00266f80 __ftelli64_nolock 007aaf80 f libucrtd:ftell.obj + 0002:00266fb0 _ftell 007aafb0 f libucrtd:ftell.obj + 0002:00267a00 ___acrt_stdio_flush_and_write_narrow_nolock 007aba00 f libucrtd:_flsbuf.obj + 0002:00267a30 ___acrt_stdio_flush_and_write_wide_nolock 007aba30 f libucrtd:_flsbuf.obj + 0002:002683a0 __lseek 007ac3a0 f libucrtd:lseek.obj + 0002:002683d0 __lseek_nolock 007ac3d0 f libucrtd:lseek.obj + 0002:00268400 __lseeki64 007ac400 f libucrtd:lseek.obj + 0002:00268430 __lseeki64_nolock 007ac430 f libucrtd:lseek.obj + 0002:00268460 ___acrt_stdio_allocate_buffer_nolock 007ac460 f libucrtd:_getbuf.obj + 0002:002685c0 __CIacos 007ac5c0 f libucrtd:acos_impl.obj + 0002:002685fb __CIacos_default 007ac5fb f libucrtd:acos_impl.obj + 0002:0026860f __acos_default 007ac60f libucrtd:acos_impl.obj + 0002:00268710 __CIacos_pentium4 007ac710 f libucrtd:acos_pentium4.obj + 0002:00268728 __acos_pentium4 007ac728 libucrtd:acos_pentium4.obj + 0002:00268dc0 __CIasin 007acdc0 f libucrtd:asin_impl.obj + 0002:00268dfb __CIasin_default 007acdfb f libucrtd:asin_impl.obj + 0002:00268e0f __asin_default 007ace0f libucrtd:asin_impl.obj + 0002:00268f10 __CIasin_pentium4 007acf10 f libucrtd:asin_pentium4.obj + 0002:00268f28 __asin_pentium4 007acf28 libucrtd:asin_pentium4.obj + 0002:002695f0 __CIcos 007ad5f0 f libucrtd:cos_impl.obj + 0002:0026962b __CIcos_default 007ad62b f libucrtd:cos_impl.obj + 0002:0026963f __cos_default 007ad63f libucrtd:cos_impl.obj + 0002:00269710 __CIcos_pentium4 007ad710 f libucrtd:cos_pentium4.obj + 0002:00269728 __cos_pentium4 007ad728 libucrtd:cos_pentium4.obj + 0002:00269930 __CIsin 007ad930 f libucrtd:sin_impl.obj + 0002:0026996b __CIsin_default 007ad96b f libucrtd:sin_impl.obj + 0002:0026997f __sin_default 007ad97f libucrtd:sin_impl.obj + 0002:00269a50 __CIsin_pentium4 007ada50 f libucrtd:sin_pentium4.obj + 0002:00269a68 __sin_pentium4 007ada68 libucrtd:sin_pentium4.obj + 0002:00269c90 ?dangerous_get_state_array@?$dual_state_global@PAPAD@__crt_state_management@@QAEPAPAPADXZ 007adc90 f i libucrtd:timeset.obj + 0002:00269cb0 ?initialize@?$dual_state_global@H@__crt_state_management@@QAEXH@Z 007adcb0 f i libucrtd:timeset.obj + 0002:00269d00 ?initialize@?$dual_state_global@J@__crt_state_management@@QAEXJ@Z 007add00 f i libucrtd:timeset.obj + 0002:00269d50 ___acrt_initialize_timeset 007add50 f libucrtd:timeset.obj + 0002:00269de0 ___daylight 007adde0 f libucrtd:timeset.obj + 0002:00269e00 ___dstbias 007ade00 f libucrtd:timeset.obj + 0002:00269e20 ___timezone 007ade20 f libucrtd:timeset.obj + 0002:00269e40 ___tzname 007ade40 f libucrtd:timeset.obj + 0002:00269e60 __get_daylight 007ade60 f libucrtd:timeset.obj + 0002:00269f20 __get_dstbias 007adf20 f libucrtd:timeset.obj + 0002:00269fe0 __get_timezone 007adfe0 f libucrtd:timeset.obj + 0002:0026a0a0 __get_tzname 007ae0a0 f libucrtd:timeset.obj + 0002:0026a330 ??$?RUtm@@@__crt_internal_free_policy@@QBEXQBUtm@@@Z 007ae330 f i libucrtd:gmtime.obj + 0002:0026a360 ??$__crt_time_elapsed_leap_years@H@@YAHH@Z 007ae360 f i libucrtd:gmtime.obj + 0002:0026ab20 ??0?$__crt_unique_heap_ptr@Utm@@U__crt_internal_free_policy@@@@QAE@QAUtm@@@Z 007aeb20 f i libucrtd:gmtime.obj + 0002:0026ab40 ??1?$__crt_unique_heap_ptr@Utm@@U__crt_internal_free_policy@@@@QAE@XZ 007aeb40 f i libucrtd:gmtime.obj + 0002:0026ad90 ?detach@?$__crt_unique_heap_ptr@Utm@@U__crt_internal_free_policy@@@@QAEPAUtm@@XZ 007aed90 f i libucrtd:gmtime.obj + 0002:0026adc0 ?release@?$__crt_unique_heap_ptr@Utm@@U__crt_internal_free_policy@@@@QAEXXZ 007aedc0 f i libucrtd:gmtime.obj + 0002:0026adf0 ___getgmtimebuf 007aedf0 f libucrtd:gmtime.obj + 0002:0026aea0 __gmtime32 007aeea0 f libucrtd:gmtime.obj + 0002:0026aec0 __gmtime32_s 007aeec0 f libucrtd:gmtime.obj + 0002:0026aee0 __gmtime64 007aeee0 f libucrtd:gmtime.obj + 0002:0026af00 __gmtime64_s 007aef00 f libucrtd:gmtime.obj + 0002:0026b360 ?_set_daylight@@YAXH@Z 007af360 f i libucrtd:tzset.obj + 0002:0026b380 ?_set_dstbias@@YAXJ@Z 007af380 f i libucrtd:tzset.obj + 0002:0026b3a0 ?_set_timezone@@YAXJ@Z 007af3a0 f i libucrtd:tzset.obj + 0002:0026bfa0 ___tzset 007affa0 f libucrtd:tzset.obj + 0002:0026c070 __isindst 007b0070 f libucrtd:tzset.obj + 0002:0026c120 __tzset 007b0120 f libucrtd:tzset.obj + 0002:0026c1b0 ??$__acrt_stdio_parse_mode@D@@YA?AU__acrt_stdio_stream_mode@@QBD@Z 007b01b0 f i libucrtd:openfile.obj + 0002:0026cc40 ??$__acrt_stdio_parse_mode@_W@@YA?AU__acrt_stdio_stream_mode@@QB_W@Z 007b0c40 f i libucrtd:openfile.obj + 0002:0026dab0 ??$tcsncmp@AAPBDAAY02$$CBDI@?$__crt_char_traits@D@@SAHAAPBDAAY02$$CBD$$QAI@Z 007b1ab0 f i libucrtd:openfile.obj + 0002:0026dae0 ??$tcsncmp@AAPB_WAAY02$$CB_WI@?$__crt_char_traits@_W@@SAHAAPB_WAAY02$$CB_W$$QAI@Z 007b1ae0 f i libucrtd:openfile.obj + 0002:0026db10 ??$tcsnicmp@AAPBDAAY04$$CBDI@?$__crt_char_traits@D@@SAHAAPBDAAY04$$CBD$$QAI@Z 007b1b10 f i libucrtd:openfile.obj + 0002:0026db40 ??$tcsnicmp@AAPBDAAY06$$CBDI@?$__crt_char_traits@D@@SAHAAPBDAAY06$$CBD$$QAI@Z 007b1b40 f i libucrtd:openfile.obj + 0002:0026db70 ??$tcsnicmp@AAPBDAAY07$$CBDI@?$__crt_char_traits@D@@SAHAAPBDAAY07$$CBD$$QAI@Z 007b1b70 f i libucrtd:openfile.obj + 0002:0026dba0 ??$tcsnicmp@AAPB_WAAY04$$CB_WI@?$__crt_char_traits@_W@@SAHAAPB_WAAY04$$CB_W$$QAI@Z 007b1ba0 f i libucrtd:openfile.obj + 0002:0026dbd0 ??$tcsnicmp@AAPB_WAAY06$$CB_WI@?$__crt_char_traits@_W@@SAHAAPB_WAAY06$$CB_W$$QAI@Z 007b1bd0 f i libucrtd:openfile.obj + 0002:0026dc00 ??$tcsnicmp@AAPB_WAAY07$$CB_WI@?$__crt_char_traits@_W@@SAHAAPB_WAAY07$$CB_W$$QAI@Z 007b1c00 f i libucrtd:openfile.obj + 0002:0026dc30 ??$tsopen_s@PAHABQBDABHABHH@?$__crt_char_traits@D@@SAH$$QAPAHABQBDABH2$$QAH@Z 007b1c30 f i libucrtd:openfile.obj + 0002:0026dc70 ??$tsopen_s@PAHABQB_WABHABHH@?$__crt_char_traits@_W@@SAH$$QAPAHABQB_WABH2$$QAH@Z 007b1c70 f i libucrtd:openfile.obj + 0002:0026dcb0 ?__acrt_stdio_parse_mode_D@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1cb0 f i libucrtd:openfile.obj + 0002:0026dce0 ?__acrt_stdio_parse_mode_N@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1ce0 f i libucrtd:openfile.obj + 0002:0026dd00 ?__acrt_stdio_parse_mode_R@@YA_NAAU__acrt_stdio_stream_mode@@AA_N@Z 007b1d00 f i libucrtd:openfile.obj + 0002:0026dd40 ?__acrt_stdio_parse_mode_S@@YA_NAAU__acrt_stdio_stream_mode@@AA_N@Z 007b1d40 f i libucrtd:openfile.obj + 0002:0026dd80 ?__acrt_stdio_parse_mode_T@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1d80 f i libucrtd:openfile.obj + 0002:0026ddc0 ?__acrt_stdio_parse_mode_b@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1dc0 f i libucrtd:openfile.obj + 0002:0026de00 ?__acrt_stdio_parse_mode_c@@YA_NAAU__acrt_stdio_stream_mode@@AA_N@Z 007b1e00 f i libucrtd:openfile.obj + 0002:0026de40 ?__acrt_stdio_parse_mode_n@@YA_NAAU__acrt_stdio_stream_mode@@AA_N@Z 007b1e40 f i libucrtd:openfile.obj + 0002:0026de80 ?__acrt_stdio_parse_mode_plus@@YA_NAAU__acrt_stdio_stream_mode@@AA_N@Z 007b1e80 f i libucrtd:openfile.obj + 0002:0026df00 ?__acrt_stdio_parse_mode_t@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1f00 f i libucrtd:openfile.obj + 0002:0026df40 ?__acrt_stdio_parse_mode_x@@YA_NAAU__acrt_stdio_stream_mode@@@Z 007b1f40 f i libucrtd:openfile.obj + 0002:0026df80 __openfile 007b1f80 f libucrtd:openfile.obj + 0002:0026dfc0 __wopenfile 007b1fc0 f libucrtd:openfile.obj + 0002:0026e000 ___iswcsym 007b2000 f i libucrtd:_wctype.obj + 0002:0026e050 ___iswcsymf 007b2050 f i libucrtd:_wctype.obj + 0002:0026e0a0 __isleadbyte_l 007b20a0 f i libucrtd:_wctype.obj + 0002:0026e100 __iswalnum_l 007b2100 f i libucrtd:_wctype.obj + 0002:0026e120 __iswalpha_l 007b2120 f i libucrtd:_wctype.obj + 0002:0026e140 __iswblank_l 007b2140 f i libucrtd:_wctype.obj + 0002:0026e180 __iswcntrl_l 007b2180 f i libucrtd:_wctype.obj + 0002:0026e1a0 __iswcsym_l 007b21a0 f i libucrtd:_wctype.obj + 0002:0026e1f0 __iswcsymf_l 007b21f0 f i libucrtd:_wctype.obj + 0002:0026e240 __iswdigit_l 007b2240 f i libucrtd:_wctype.obj + 0002:0026e260 __iswgraph_l 007b2260 f i libucrtd:_wctype.obj + 0002:0026e280 __iswlower_l 007b2280 f i libucrtd:_wctype.obj + 0002:0026e2a0 __iswprint_l 007b22a0 f i libucrtd:_wctype.obj + 0002:0026e2c0 __iswpunct_l 007b22c0 f i libucrtd:_wctype.obj + 0002:0026e2e0 __iswspace_l 007b22e0 f i libucrtd:_wctype.obj + 0002:0026e300 __iswupper_l 007b2300 f i libucrtd:_wctype.obj + 0002:0026e320 __iswxdigit_l 007b2320 f i libucrtd:_wctype.obj + 0002:0026e340 _isleadbyte 007b2340 f i libucrtd:_wctype.obj + 0002:0026e360 _iswalnum 007b2360 f i libucrtd:_wctype.obj + 0002:0026e380 _iswalpha 007b2380 f i libucrtd:_wctype.obj + 0002:0026e3a0 _iswascii 007b23a0 f i libucrtd:_wctype.obj + 0002:0026e3e0 _iswblank 007b23e0 f i libucrtd:_wctype.obj + 0002:0026e420 _iswcntrl 007b2420 f i libucrtd:_wctype.obj + 0002:0026e440 _iswdigit 007b2440 f i libucrtd:_wctype.obj + 0002:0026e460 _iswgraph 007b2460 f i libucrtd:_wctype.obj + 0002:0026e480 _iswlower 007b2480 f i libucrtd:_wctype.obj + 0002:0026e4a0 _iswprint 007b24a0 f i libucrtd:_wctype.obj + 0002:0026e4c0 _iswpunct 007b24c0 f i libucrtd:_wctype.obj + 0002:0026e4e0 _iswspace 007b24e0 f i libucrtd:_wctype.obj + 0002:0026e500 _iswupper 007b2500 f i libucrtd:_wctype.obj + 0002:0026e520 _iswxdigit 007b2520 f i libucrtd:_wctype.obj + 0002:0026e9f0 ___acrt_LCMapStringA 007b29f0 f libucrtd:lcmapstringa.obj + 0002:0026ee70 ___acrt_get_begin_thread_init_policy 007b2e70 f libucrtd:win_policies.obj + 0002:0026ee90 ___acrt_get_developer_information_policy 007b2e90 f libucrtd:win_policies.obj + 0002:0026eeb0 ___acrt_get_process_end_policy 007b2eb0 f libucrtd:win_policies.obj + 0002:0026eed0 ___acrt_get_windowing_model_policy 007b2ed0 f libucrtd:win_policies.obj + 0002:0026f3c0 __mbstowcs_l 007b33c0 f libucrtd:mbstowcs.obj + 0002:0026f3f0 __mbstowcs_s_l 007b33f0 f libucrtd:mbstowcs.obj + 0002:0026f8a0 _mbstowcs 007b38a0 f libucrtd:mbstowcs.obj + 0002:0026f900 _mbstowcs_s 007b3900 f libucrtd:mbstowcs.obj + 0002:002701a0 __wcstombs_l 007b41a0 f libucrtd:wcstombs.obj + 0002:002701d0 __wcstombs_s_l 007b41d0 f libucrtd:wcstombs.obj + 0002:00270610 _wcstombs 007b4610 f libucrtd:wcstombs.obj + 0002:00270640 _wcstombs_s 007b4640 f libucrtd:wcstombs.obj + 0002:00270840 ___acrt_GetLocaleInfoA 007b4840 f libucrtd:getlocaleinfoa.obj + 0002:00270ce0 ___acrt_GetStringTypeA 007b4ce0 f libucrtd:getstringtypea.obj + 0002:00270f00 __dclass 007b4f00 f libucrtd:nan.obj + 0002:00270f20 __dpcomp 007b4f20 f libucrtd:nan.obj + 0002:00270fa0 __dsign 007b4fa0 f libucrtd:nan.obj + 0002:00270fc0 _nan 007b4fc0 f libucrtd:nan.obj + 0002:00270fd0 __add_exp 007b4fd0 f libucrtd:util.obj + 0002:00271010 __decomp 007b5010 f libucrtd:util.obj + 0002:00271180 __get_exp 007b5180 f libucrtd:util.obj + 0002:002711c0 __set_bexp 007b51c0 f libucrtd:util.obj + 0002:00271200 __set_exp 007b5200 f libucrtd:util.obj + 0002:00271250 __sptype 007b5250 f libucrtd:util.obj + 0002:002712f0 ___clrfp_sse2 007b52f0 f libucrtd:fpctrl.obj + 0002:00271340 ___ctrlfp_sse2 007b5340 f libucrtd:fpctrl.obj + 0002:002713b0 ___fclrf_sse2 007b53b0 f libucrtd:fpctrl.obj + 0002:002713e0 ___get_fpsr_sse2 007b53e0 f libucrtd:fpctrl.obj + 0002:00271410 ___set_fpsr_sse2 007b5410 f libucrtd:fpctrl.obj + 0002:00271520 ___set_statfp_sse2 007b5520 f libucrtd:fpctrl.obj + 0002:00271560 ___statfp_sse2 007b5560 f libucrtd:fpctrl.obj + 0002:002715a0 __clrfp 007b55a0 f libucrtd:fpctrl.obj + 0002:002715c0 __ctrlfp 007b55c0 f libucrtd:fpctrl.obj + 0002:00271600 __set_statfp 007b5600 f libucrtd:fpctrl.obj + 0002:00271680 __statfp 007b5680 f libucrtd:fpctrl.obj + 0002:002716a0 __chgsign 007b56a0 f libucrtd:ieeemisc.obj + 0002:002716e0 __chgsignf 007b56e0 f libucrtd:ieeemisc.obj + 0002:00271730 __copysign 007b5730 f libucrtd:ieeemisc.obj + 0002:00271770 __copysignf 007b5770 f libucrtd:ieeemisc.obj + 0002:002717d0 __finite 007b57d0 f libucrtd:ieeemisc.obj + 0002:00271800 __fpclass 007b5800 f libucrtd:ieeemisc.obj + 0002:00271930 __isnan 007b5930 f libucrtd:ieeemisc.obj + 0002:00271990 __logb 007b5990 f libucrtd:ieeemisc.obj + 0002:00271af0 __nextafter 007b5af0 f libucrtd:ieeemisc.obj + 0002:00271b20 __scalb 007b5b20 f libucrtd:ieeemisc.obj + 0002:00271b50 ___fpe_flt_rounds 007b5b50 f libucrtd:fegetround.obj + 0002:00271bd0 _fegetround 007b5bd0 f libucrtd:fegetround.obj + 0002:00271cc0 ___acrt_MultiByteToWideChar 007b5cc0 f libucrtd:multibytetowidechar.obj + 0002:00271df0 ___acrt_WideCharToMultiByte 007b5df0 f libucrtd:widechartomultibyte.obj + 0002:00271ec0 __wcsicmp 007b5ec0 f libucrtd:wcsicmp.obj + 0002:00272100 __wcsicmp_l 007b6100 f libucrtd:wcsicmp.obj + 0002:00272740 ??$__acrt_wcs_to_mbs_cp@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQB_WAAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@I@Z 007b6740 f i libucrtd:argv_wildcards.obj + 0002:00273a50 ??$tcsncpy_s@AAPADIAAPADABI@?$__crt_char_traits@D@@SAHAAPAD$$QAI0ABI@Z 007b7a50 f i libucrtd:argv_wildcards.obj + 0002:00273a80 ??$tcsncpy_s@AAPA_WIAAPA_WABI@?$__crt_char_traits@_W@@SAHAAPA_W$$QAI0ABI@Z 007b7a80 f i libucrtd:argv_wildcards.obj + 0002:00273ab0 ??$tcsncpy_s@PADABIABQBDABI@?$__crt_char_traits@D@@SAH$$QAPADABIABQBD1@Z 007b7ab0 f i libucrtd:argv_wildcards.obj + 0002:00273ae0 ??$tcsncpy_s@PADIABQBDABI@?$__crt_char_traits@D@@SAH$$QAPAD$$QAIABQBDABI@Z 007b7ae0 f i libucrtd:argv_wildcards.obj + 0002:00273b10 ??$tcsncpy_s@PA_WABIABQB_WABI@?$__crt_char_traits@_W@@SAH$$QAPA_WABIABQB_W1@Z 007b7b10 f i libucrtd:argv_wildcards.obj + 0002:00273b40 ??$tcsncpy_s@PA_WIABQB_WABI@?$__crt_char_traits@_W@@SAH$$QAPA_W$$QAIABQB_WABI@Z 007b7b40 f i libucrtd:argv_wildcards.obj + 0002:00273b70 ??$tcspbrk@AAPADAAY02$$CBD@?$__crt_char_traits@D@@SAPADAAPADAAY02$$CBD@Z 007b7b70 f i libucrtd:argv_wildcards.obj + 0002:00273b90 ??$tcspbrk@AAPA_WAAY02$$CB_W@?$__crt_char_traits@_W@@SAPA_WAAPA_WAAY02$$CB_W@Z 007b7b90 f i libucrtd:argv_wildcards.obj + 0002:00273bb0 ??0?$__crt_unique_handle_t@U__crt_findfile_traits@@@@QAE@QAX@Z 007b7bb0 f i libucrtd:argv_wildcards.obj + 0002:00273bd0 ??0?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 007b7bd0 f i libucrtd:argv_wildcards.obj + 0002:00273cb0 ??1?$__crt_unique_handle_t@U__crt_findfile_traits@@@@QAE@XZ 007b7cb0 f i libucrtd:argv_wildcards.obj + 0002:00273cd0 ??1?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 007b7cd0 f i libucrtd:argv_wildcards.obj + 0002:00273fe0 ?_deallocate@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@AAEXXZ 007b7fe0 f i libucrtd:argv_wildcards.obj + 0002:00274030 ?allocate@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEHI@Z 007b8030 f i libucrtd:argv_wildcards.obj + 0002:002741d0 ?capacity@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QBEIXZ 007b81d0 f i libucrtd:argv_wildcards.obj + 0002:002741f0 ?close@?$__crt_unique_handle_t@U__crt_findfile_traits@@@@QAEXXZ 007b81f0 f i libucrtd:argv_wildcards.obj + 0002:00274230 ?close@__crt_findfile_traits@@SA_NPAX@Z 007b8230 f i libucrtd:argv_wildcards.obj + 0002:00274270 ?data@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEPADXZ 007b8270 f i libucrtd:argv_wildcards.obj + 0002:00274290 ?debug_info@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QBEABV__crt_win32_buffer_empty_debug_info@@XZ 007b8290 f i libucrtd:argv_wildcards.obj + 0002:00274650 ?get@?$__crt_unique_handle_t@U__crt_findfile_traits@@@@QBEPAXXZ 007b8650 f i libucrtd:argv_wildcards.obj + 0002:002746d0 ?get_invalid_value@__crt_findfile_traits@@SAPAXXZ 007b86d0 f i libucrtd:argv_wildcards.obj + 0002:00274770 ?set_to_nullptr@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEXXZ 007b8770 f i libucrtd:argv_wildcards.obj + 0002:002747b0 ?size@?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAEXI@Z 007b87b0 f i libucrtd:argv_wildcards.obj + 0002:00274830 ?strpbrk@@YAPADQADQBD@Z 007b8830 f i libucrtd:argv_wildcards.obj + 0002:00274850 ?wcspbrk@@YAPA_WPA_WPB_W@Z 007b8850 f i libucrtd:argv_wildcards.obj + 0002:00274870 ___acrt_expand_narrow_argv_wildcards 007b8870 f libucrtd:argv_wildcards.obj + 0002:00274890 ___acrt_expand_wide_argv_wildcards 007b8890 f libucrtd:argv_wildcards.obj + 0002:00274990 ??$initialize_from_array@$$BY10BAA@E@?$dual_state_global@PAE@__crt_state_management@@QAAXAAY10BAA@E@Z 007b8990 f i libucrtd:mbctype.obj + 0002:002749f0 ??$initialize_from_array@$$BY10BAB@E@?$dual_state_global@PAE@__crt_state_management@@QAAXAAY10BAB@E@Z 007b89f0 f i libucrtd:mbctype.obj + 0002:00274d10 ?dangerous_get_state_array@?$dual_state_global@PAE@__crt_state_management@@QAEPAPAEXZ 007b8d10 f i libucrtd:mbctype.obj + 0002:00274d30 ?dangerous_get_state_array@?$dual_state_global@PAU__crt_multibyte_data@@@__crt_state_management@@QAEPAPAU__crt_multibyte_data@@XZ 007b8d30 f i libucrtd:mbctype.obj + 0002:00274e40 ?initialize@?$dual_state_global@PAU__crt_multibyte_data@@@__crt_state_management@@QAEXQAU__crt_multibyte_data@@@Z 007b8e40 f i libucrtd:mbctype.obj + 0002:00275760 ?value@?$dual_state_global@PAE@__crt_state_management@@QAEAAPAEXZ 007b9760 f i libucrtd:mbctype.obj + 0002:00275780 ___acrt_initialize_multibyte 007b9780 f libucrtd:mbctype.obj + 0002:00275850 ___acrt_update_thread_multibyte_data 007b9850 f libucrtd:mbctype.obj + 0002:00275880 ___p__mbcasemap 007b9880 f libucrtd:mbctype.obj + 0002:002758a0 ___p__mbctype 007b98a0 f libucrtd:mbctype.obj + 0002:002758c0 __getmbcp 007b98c0 f libucrtd:mbctype.obj + 0002:00275950 __setmbcp 007b9950 f libucrtd:mbctype.obj + 0002:00275980 __setmbcp_nolock 007b9980 f libucrtd:mbctype.obj + 0002:0027604b __ismbbalnum 007ba04b f libucrtd:ismbbyte.obj + 0002:0027606c __ismbbalnum_l 007ba06c f libucrtd:ismbbyte.obj + 0002:0027608f __ismbbalpha 007ba08f f libucrtd:ismbbyte.obj + 0002:002760b0 __ismbbalpha_l 007ba0b0 f libucrtd:ismbbyte.obj + 0002:002760d3 __ismbbblank 007ba0d3 f libucrtd:ismbbyte.obj + 0002:002760fe __ismbbblank_l 007ba0fe f libucrtd:ismbbyte.obj + 0002:0027612b __ismbbgraph 007ba12b f libucrtd:ismbbyte.obj + 0002:0027614c __ismbbgraph_l 007ba14c f libucrtd:ismbbyte.obj + 0002:0027616f __ismbbkalnum 007ba16f f libucrtd:ismbbyte.obj + 0002:0027618d __ismbbkalnum_l 007ba18d f libucrtd:ismbbyte.obj + 0002:002761ac __ismbbkana 007ba1ac f libucrtd:ismbbyte.obj + 0002:002761c3 __ismbbkana_l 007ba1c3 f libucrtd:ismbbyte.obj + 0002:00276228 __ismbbkprint 007ba228 f libucrtd:ismbbyte.obj + 0002:00276246 __ismbbkprint_l 007ba246 f libucrtd:ismbbyte.obj + 0002:00276265 __ismbbkpunct 007ba265 f libucrtd:ismbbyte.obj + 0002:00276283 __ismbbkpunct_l 007ba283 f libucrtd:ismbbyte.obj + 0002:002762a2 __ismbblead 007ba2a2 f libucrtd:ismbbyte.obj + 0002:002762c0 __ismbblead_l 007ba2c0 f libucrtd:ismbbyte.obj + 0002:002762df __ismbbprint 007ba2df f libucrtd:ismbbyte.obj + 0002:00276300 __ismbbprint_l 007ba300 f libucrtd:ismbbyte.obj + 0002:00276323 __ismbbpunct 007ba323 f libucrtd:ismbbyte.obj + 0002:00276341 __ismbbpunct_l 007ba341 f libucrtd:ismbbyte.obj + 0002:00276360 __ismbbtrail 007ba360 f libucrtd:ismbbyte.obj + 0002:0027637e __ismbbtrail_l 007ba37e f libucrtd:ismbbyte.obj + 0002:00276457 ___dcrt_get_narrow_environment_from_os 007ba457 f libucrtd:get_environment_from_os.obj + 0002:00276510 ___dcrt_get_wide_environment_from_os 007ba510 f libucrtd:get_environment_from_os.obj + 0002:00277111 ??$set_environment_variable@ABQADQAD@?$__crt_char_traits@D@@SAHABQAD$$QBQAD@Z 007bb111 f i libucrtd:setenv.obj + 0002:0027712f ??$set_environment_variable@ABQA_WQA_W@?$__crt_char_traits@_W@@SAHABQA_W$$QBQA_W@Z 007bb12f f i libucrtd:setenv.obj + 0002:0027714b ??$tcschr@ABQADD@?$__crt_char_traits@D@@SAPADABQAD$$QAD@Z 007bb14b f i libucrtd:setenv.obj + 0002:0027716b ??$tcschr@ABQA_WD@?$__crt_char_traits@_W@@SAPA_WABQA_W$$QAD@Z 007bb16b f i libucrtd:setenv.obj + 0002:00277190 ??$tcscpy_s@AAPADABIAAPAD@?$__crt_char_traits@D@@SAHAAPADABI0@Z 007bb190 f i libucrtd:setenv.obj + 0002:002771b5 ??$tcscpy_s@AAPA_WABIAAPA_W@?$__crt_char_traits@_W@@SAHAAPA_WABI0@Z 007bb1b5 f i libucrtd:setenv.obj + 0002:002771da ??$tcscpy_s@ABQADABIABQAD@?$__crt_char_traits@D@@SAHABQADABI0@Z 007bb1da f i libucrtd:setenv.obj + 0002:002771ff ??$tcscpy_s@ABQA_WABIABQA_W@?$__crt_char_traits@_W@@SAHABQA_WABI0@Z 007bb1ff f i libucrtd:setenv.obj + 0002:00277224 ??$tcsnicoll@ABQBDAAPADABI@?$__crt_char_traits@D@@SAHABQBDAAPADABI@Z 007bb224 f i libucrtd:setenv.obj + 0002:00277249 ??$tcsnicoll@ABQB_WAAPA_WABI@?$__crt_char_traits@_W@@SAHABQB_WAAPA_WABI@Z 007bb249 f i libucrtd:setenv.obj + 0002:00277292 ___dcrt_set_variable_in_narrow_environment_nolock 007bb292 f libucrtd:setenv.obj + 0002:0027729f ___dcrt_set_variable_in_wide_environment_nolock 007bb29f f libucrtd:setenv.obj + 0002:002772b0 ___acrt_execute_initializers 007bb2b0 f libucrtd:shared_initialization.obj + 0002:00277390 ___acrt_execute_uninitializers 007bb390 f libucrtd:shared_initialization.obj + 0002:00277400 ??$?RU__crt_lowio_handle_data@@@__crt_internal_free_policy@@QBEXQBU__crt_lowio_handle_data@@@Z 007bb400 f i libucrtd:osfinfo.obj + 0002:00277430 ??0?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QAE@QAU__crt_lowio_handle_data@@@Z 007bb430 f i libucrtd:osfinfo.obj + 0002:00277450 ??1?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QAE@XZ 007bb450 f i libucrtd:osfinfo.obj + 0002:00277470 ??B?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QBE_NXZ 007bb470 f i libucrtd:osfinfo.obj + 0002:00277490 ?detach@?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QAEPAU__crt_lowio_handle_data@@XZ 007bb490 f i libucrtd:osfinfo.obj + 0002:002774c0 ?get@?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QBEPAU__crt_lowio_handle_data@@XZ 007bb4c0 f i libucrtd:osfinfo.obj + 0002:002774e0 ?is_valid@?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QBE_NXZ 007bb4e0 f i libucrtd:osfinfo.obj + 0002:00277520 ?release@?$__crt_unique_heap_ptr@U__crt_lowio_handle_data@@U__crt_internal_free_policy@@@@QAEXXZ 007bb520 f i libucrtd:osfinfo.obj + 0002:00277550 ___acrt_lowio_create_handle_array 007bb550 f libucrtd:osfinfo.obj + 0002:00277700 ___acrt_lowio_destroy_handle_array 007bb700 f libucrtd:osfinfo.obj + 0002:00277770 ___acrt_lowio_ensure_fh_exists 007bb770 f libucrtd:osfinfo.obj + 0002:00277920 ___acrt_lowio_lock_fh 007bb920 f libucrtd:osfinfo.obj + 0002:00277950 ___acrt_lowio_set_os_handle 007bb950 f libucrtd:osfinfo.obj + 0002:00277a60 ___acrt_lowio_unlock_fh 007bba60 f libucrtd:osfinfo.obj + 0002:00277a90 __alloc_osfhnd 007bba90 f libucrtd:osfinfo.obj + 0002:00277ce0 __free_osfhnd 007bbce0 f libucrtd:osfinfo.obj + 0002:00277e00 __get_osfhandle 007bbe00 f libucrtd:osfinfo.obj + 0002:00277fe0 __open_osfhandle 007bbfe0 f libucrtd:osfinfo.obj + 0002:00278260 ___p__fmode 007bc260 f libucrtd:txtmode.obj + 0002:00278280 ??$?RUlconv@@@__crt_internal_free_policy@@QBEXQBUlconv@@@Z 007bc280 f i libucrtd:initmon.obj + 0002:002782b0 ??0?$__crt_unique_heap_ptr@Ulconv@@U__crt_internal_free_policy@@@@QAE@QAUlconv@@@Z 007bc2b0 f i libucrtd:initmon.obj + 0002:002782d0 ??1?$__crt_unique_heap_ptr@Ulconv@@U__crt_internal_free_policy@@@@QAE@XZ 007bc2d0 f i libucrtd:initmon.obj + 0002:002782f0 ?detach@?$__crt_unique_heap_ptr@Ulconv@@U__crt_internal_free_policy@@@@QAEPAUlconv@@XZ 007bc2f0 f i libucrtd:initmon.obj + 0002:00278320 ?release@?$__crt_unique_heap_ptr@Ulconv@@U__crt_internal_free_policy@@@@QAEXXZ 007bc320 f i libucrtd:initmon.obj + 0002:00278350 ___acrt_locale_free_monetary 007bc350 f libucrtd:initmon.obj + 0002:00278560 ___acrt_locale_initialize_monetary 007bc560 f libucrtd:initmon.obj + 0002:00278db0 ___acrt_locale_free_numeric 007bcdb0 f libucrtd:initnum.obj + 0002:00278e90 ___acrt_locale_initialize_numeric 007bce90 f libucrtd:initnum.obj + 0002:002793f0 ??$?RU__crt_lc_time_data@@@__crt_internal_free_policy@@QBEXQBU__crt_lc_time_data@@@Z 007bd3f0 f i libucrtd:inittime.obj + 0002:002794e0 ??0?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QAE@QAU__crt_lc_time_data@@@Z 007bd4e0 f i libucrtd:inittime.obj + 0002:00279500 ??1?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QAE@XZ 007bd500 f i libucrtd:inittime.obj + 0002:00279520 ??B?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QBE_NXZ 007bd520 f i libucrtd:inittime.obj + 0002:00279540 ?detach@?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QAEPAU__crt_lc_time_data@@XZ 007bd540 f i libucrtd:inittime.obj + 0002:002795c0 ?get@?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QBEPAU__crt_lc_time_data@@XZ 007bd5c0 f i libucrtd:inittime.obj + 0002:00279bb0 ?is_valid@?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QBE_NXZ 007bdbb0 f i libucrtd:inittime.obj + 0002:00279bf0 ?release@?$__crt_unique_heap_ptr@U__crt_lc_time_data@@U__crt_internal_free_policy@@@@QAEXXZ 007bdbf0 f i libucrtd:inittime.obj + 0002:00279c20 ___acrt_locale_free_time 007bdc20 f libucrtd:inittime.obj + 0002:00279dc0 ___acrt_locale_initialize_time 007bddc0 f libucrtd:inittime.obj + 0002:00279e50 _wcscmp 007bde50 f libucrtd:wcscmp.obj + 0002:00279ef0 _wcscspn 007bdef0 f libucrtd:wcscspn.obj + 0002:00279f80 _wcspbrk 007bdf80 f libucrtd:wcspbrk.obj + 0002:0027a000 ___acrt_add_locale_ref 007be000 f libucrtd:locale_refcounting.obj + 0002:0027a140 ___acrt_free_locale 007be140 f libucrtd:locale_refcounting.obj + 0002:0027a4b0 ___acrt_locale_add_lc_time_reference 007be4b0 f libucrtd:locale_refcounting.obj + 0002:0027a4f0 ___acrt_locale_free_lc_time_if_unreferenced 007be4f0 f libucrtd:locale_refcounting.obj + 0002:0027a550 ___acrt_locale_release_lc_time_reference 007be550 f libucrtd:locale_refcounting.obj + 0002:0027a590 ___acrt_release_locale_ref 007be590 f libucrtd:locale_refcounting.obj + 0002:0027a6e0 ___acrt_update_thread_locale_data 007be6e0 f libucrtd:locale_refcounting.obj + 0002:0027a7f0 __updatetlocinfoEx_nolock 007be7f0 f libucrtd:locale_refcounting.obj + 0002:0027b6a0 ___acrt_get_qualified_locale 007bf6a0 f libucrtd:get_qualified_locale.obj + 0002:0027cab0 ___acrt_get_qualified_locale_downlevel 007c0ab0 f libucrtd:getqloc_downlevel.obj + 0002:0027cdf8 __mbsdec 007c0df8 f libucrtd:mbsdec.obj + 0002:0027ce14 __mbsdec_l 007c0e14 f libucrtd:mbsdec.obj + 0002:0027d440 _strncpy_s 007c1440 f libucrtd:strncpy_s.obj + 0002:0027d700 ___control87_2 007c1700 f libucrtd:ieee87.obj + 0002:0027d870 ___fpreset_sse2 007c1870 f libucrtd:ieee87.obj + 0002:0027dcc0 __clearfp 007c1cc0 f libucrtd:ieee87.obj + 0002:0027dd20 __control87 007c1d20 f libucrtd:ieee87.obj + 0002:0027de00 __controlfp 007c1e00 f libucrtd:ieee87.obj + 0002:0027de30 __fpreset 007c1e30 f libucrtd:ieee87.obj + 0002:0027e060 __set_controlfp 007c2060 f libucrtd:ieee87.obj + 0002:0027e110 __statusfp 007c2110 f libucrtd:ieee87.obj + 0002:0027e170 __statusfp2 007c2170 f libucrtd:ieee87.obj + 0002:0027e1c0 __CIexp 007c21c0 f libucrtd:87ctran.obj + 0002:0027e1fb __exp_default 007c21fb f libucrtd:87ctran.obj + 0002:0027e205 __CIexp_default 007c2205 f libucrtd:87ctran.obj + 0002:0027e230 __CIexp_pentium4 007c2230 f libucrtd:exp_pentium4.obj + 0002:0027e248 __exp_pentium4 007c2248 libucrtd:exp_pentium4.obj + 0002:0027e5a0 ___acrt_OutputDebugStringA@4 007c25a0 f libucrtd:outputdebugstringa.obj + 0002:0027e880 ___acrt_DownlevelLCIDToLocaleName 007c2880 f libucrtd:lcidtoname_downlevel.obj + 0002:0027e980 ___acrt_DownlevelLocaleNameToLCID 007c2980 f libucrtd:lcidtoname_downlevel.obj + 0002:0027ea50 ?__mbrtowc_utf8@__crt_mbstring@@YAIPA_WPBDIPAU_Mbstatet@@@Z 007c2a50 f libucrtd:mbrtowc.obj + 0002:0027eac0 ?__mbsrtowcs_utf8@__crt_mbstring@@YAIPA_WPAPBDIPAU_Mbstatet@@@Z 007c2ac0 f libucrtd:mbrtowc.obj + 0002:0027f550 _btowc 007c3550 f libucrtd:mbrtowc.obj + 0002:0027f5e0 _mbrlen 007c35e0 f libucrtd:mbrtowc.obj + 0002:0027f640 _mbrtowc 007c3640 f libucrtd:mbrtowc.obj + 0002:0027f6f0 _mbsrtowcs 007c36f0 f libucrtd:mbrtowc.obj + 0002:0027f720 _mbsrtowcs_s 007c3720 f libucrtd:mbrtowc.obj + 0002:0027fb40 ?__c32rtomb_utf8@__crt_mbstring@@YAIPAD_UPAU_Mbstatet@@@Z 007c3b40 f libucrtd:c32rtomb.obj + 0002:0027fd90 ?reset_and_return@__crt_mbstring@@YAIIPAU_Mbstatet@@@Z 007c3d90 f i libucrtd:c32rtomb.obj + 0002:0027fdc0 ?return_illegal_sequence@__crt_mbstring@@YAIPAU_Mbstatet@@@Z 007c3dc0 f i libucrtd:c32rtomb.obj + 0002:0027fe00 _c32rtomb 007c3e00 f libucrtd:c32rtomb.obj + 0002:0027fe30 ___acrt_fp_strflt_to_string 007c3e30 f libucrtd:_fptostr.obj + 0002:00280a60 ??8__crt_strtox@@YA_NABUbig_integer@0@0@Z 007c4a60 f i libucrtd:cfout.obj + 0002:00280ad0 ??9__crt_strtox@@YA_NABUbig_integer@0@0@Z 007c4ad0 f i libucrtd:cfout.obj + 0002:00280b20 ?is_zero@__crt_strtox@@YA_NABUbig_integer@1@@Z 007c4b20 f i libucrtd:cfout.obj + 0002:00280b50 ?make_big_integer_power_of_two@__crt_strtox@@YA?AUbig_integer@1@I@Z 007c4b50 f i libucrtd:cfout.obj + 0002:00280c30 ___acrt_fltout 007c4c30 f libucrtd:cfout.obj + 0002:002810c0 __isatty 007c50c0 f libucrtd:isatty.obj + 0002:002811e0 __fFEXP 007c51e0 f libucrtd:87tran.obj + 0002:00281237 __rtinfpopse 007c5237 libucrtd:87tran.obj + 0002:00281239 __rtinfnpopse 007c5239 libucrtd:87tran.obj + 0002:00281249 __fFLN 007c5249 libucrtd:87tran.obj + 0002:002812fe __rtinfpop 007c52fe libucrtd:87tran.obj + 0002:00281300 __rtinfnpop 007c5300 libucrtd:87tran.obj + 0002:00281310 __rtforexpinf 007c5310 f libucrtd:87tran.obj + 0002:0028131d __ffexpm1 007c531d libucrtd:87tran.obj + 0002:00281450 __trandisp1 007c5450 f libucrtd:87disp.obj + 0002:002814c5 __trandisp2 007c54c5 f libucrtd:87disp.obj + 0002:0028155f __rttospopde 007c555f libucrtd:87disp.obj + 0002:00281564 __rttospop 007c5564 libucrtd:87disp.obj + 0002:00281570 __rtnospop 007c5570 f libucrtd:87disp.obj + 0002:00281580 __rttosnpop 007c5580 f libucrtd:87disp.obj + 0002:00281581 __rtnospopde 007c5581 libucrtd:87disp.obj + 0002:00281588 __rtzeropop 007c5588 libucrtd:87disp.obj + 0002:0028158a __rtzeronpop 007c558a libucrtd:87disp.obj + 0002:00281590 __rtzerospop 007c5590 f libucrtd:87disp.obj + 0002:0028159d __rtonepop 007c559d libucrtd:87disp.obj + 0002:002815a0 __rtonenpop 007c55a0 f libucrtd:87disp.obj + 0002:002815b0 __tosnan1 007c55b0 f libucrtd:87disp.obj + 0002:002815e0 __nosnan2 007c55e0 f libucrtd:87disp.obj + 0002:002815f0 __tosnan2 007c55f0 f libucrtd:87disp.obj + 0002:00281620 __nan2 007c5620 f libucrtd:87disp.obj + 0002:00281660 __rtindfpop 007c5660 f libucrtd:87disp.obj + 0002:00281662 __rtindfnpop 007c5662 libucrtd:87disp.obj + 0002:00281673 __rttosnpopde 007c5673 libucrtd:87disp.obj + 0002:00281680 __rtatan2inf 007c5680 f libucrtd:87disp.obj + 0002:0028169d __rtchsifneg 007c569d libucrtd:87disp.obj + 0002:00281740 ___setfflag 007c5740 f libucrtd:fp_flags.obj + 0002:00281770 __startTwoArgErrorHandling 007c5770 f libucrtd:genexcep.obj + 0002:00281787 __startOneArgErrorHandling 007c5787 f libucrtd:genexcep.obj + 0002:002817e0 __d_inttype 007c57e0 f libucrtd:powhlp.obj + 0002:00281890 __powhlp 007c5890 f libucrtd:powhlp.obj + 0002:00281aa0 ___libm_error_support 007c5aa0 f libucrtd:libm_error.obj + 0002:002821d0 ___libm_setusermatherr 007c61d0 f libucrtd:libm_error.obj + 0002:00282210 __wcsnicoll 007c6210 f libucrtd:wcsnicol.obj + 0002:00282500 __wcsnicoll_l 007c6500 f libucrtd:wcsnicol.obj + 0002:002828a0 __strnicoll 007c68a0 f libucrtd:strnicol.obj + 0002:00282900 __strnicoll_l 007c6900 f libucrtd:strnicol.obj + 0002:00283bbc ??$tcscat_s@AAPADABIAAY01$$CBD@?$__crt_char_traits@D@@SAHAAPADABIAAY01$$CBD@Z 007c7bbc f i libucrtd:cenvarg.obj + 0002:00283bdf ??$tcscat_s@AAPADABIPAD@?$__crt_char_traits@D@@SAHAAPADABI$$QAPAD@Z 007c7bdf f i libucrtd:cenvarg.obj + 0002:00283c04 ??$tcscat_s@AAPA_WABIAAY01$$CB_W@?$__crt_char_traits@_W@@SAHAAPA_WABIAAY01$$CB_W@Z 007c7c04 f i libucrtd:cenvarg.obj + 0002:00283c27 ??$tcscat_s@AAPA_WABIPA_W@?$__crt_char_traits@_W@@SAHAAPA_WABI$$QAPA_W@Z 007c7c27 f i libucrtd:cenvarg.obj + 0002:00283c4c ??$tcscpy_s@AAPADAAIABQBD@?$__crt_char_traits@D@@SAHAAPADAAIABQBD@Z 007c7c4c f i libucrtd:cenvarg.obj + 0002:00283c71 ??$tcscpy_s@AAPADABIAAY0L@$$CBD@?$__crt_char_traits@D@@SAHAAPADABIAAY0L@$$CBD@Z 007c7c71 f i libucrtd:cenvarg.obj + 0002:00283c94 ??$tcscpy_s@AAPADIABQBD@?$__crt_char_traits@D@@SAHAAPAD$$QAIABQBD@Z 007c7c94 f i libucrtd:cenvarg.obj + 0002:00283cb9 ??$tcscpy_s@AAPA_WAAIABQB_W@?$__crt_char_traits@_W@@SAHAAPA_WAAIABQB_W@Z 007c7cb9 f i libucrtd:cenvarg.obj + 0002:00283cde ??$tcscpy_s@AAPA_WABIAAY0L@$$CB_W@?$__crt_char_traits@_W@@SAHAAPA_WABIAAY0L@$$CB_W@Z 007c7cde f i libucrtd:cenvarg.obj + 0002:00283d01 ??$tcscpy_s@AAPA_WIABQB_W@?$__crt_char_traits@_W@@SAHAAPA_W$$QAIABQB_W@Z 007c7d01 f i libucrtd:cenvarg.obj + 0002:00283d26 ??$tcslen@AAY0L@$$CBD@?$__crt_char_traits@D@@SAIAAY0L@$$CBD@Z 007c7d26 f i libucrtd:cenvarg.obj + 0002:00283d41 ??$tcslen@AAY0L@$$CB_W@?$__crt_char_traits@_W@@SAIAAY0L@$$CB_W@Z 007c7d41 f i libucrtd:cenvarg.obj + 0002:00283d64 ??$tcslen@PAD@?$__crt_char_traits@D@@SAI$$QAPAD@Z 007c7d64 f i libucrtd:cenvarg.obj + 0002:00283d82 ??$tcslen@PA_W@?$__crt_char_traits@_W@@SAI$$QAPA_W@Z 007c7d82 f i libucrtd:cenvarg.obj + 0002:00283da7 ??$tcsnicmp@ABQBDAAY0L@$$CBDI@?$__crt_char_traits@D@@SAHABQBDAAY0L@$$CBD$$QAI@Z 007c7da7 f i libucrtd:cenvarg.obj + 0002:00283dca ??$tcsnicmp@ABQB_WAAY0L@$$CB_WI@?$__crt_char_traits@_W@@SAHABQB_WAAY0L@$$CB_W$$QAI@Z 007c7dca f i libucrtd:cenvarg.obj + 0002:00283ded ??$tdupenv_s_crt@PAPAD$$TAAY0L@$$CBD@?$__crt_char_traits@D@@SAH$$QAPAPAD$$QA$$TAAY0L@$$CBD@Z 007c7ded f i libucrtd:cenvarg.obj + 0002:00283e1b ??$tdupenv_s_crt@PAPA_W$$TAAY0L@$$CB_W@?$__crt_char_traits@_W@@SAH$$QAPAPA_W$$QA$$TAAY0L@$$CB_W@Z 007c7e1b f i libucrtd:cenvarg.obj + 0002:00283f1f ??4?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAEAAV0@$$QAV0@@Z 007c7f1f f i libucrtd:cenvarg.obj + 0002:00283f4f ??4?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAEAAV0@$$QAV0@@Z 007c7f4f f i libucrtd:cenvarg.obj + 0002:00284234 ?attach@?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@QAEXQAPAD@Z 007c8234 f i libucrtd:cenvarg.obj + 0002:00284258 ?attach@?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@QAEXQAPA_W@Z 007c8258 f i libucrtd:cenvarg.obj + 0002:0028427c ___acrt_capture_narrow_argv 007c827c f libucrtd:cenvarg.obj + 0002:00284289 ___acrt_capture_wide_argv 007c8289 f libucrtd:cenvarg.obj + 0002:00284296 ___acrt_pack_narrow_command_line_and_environment 007c8296 f libucrtd:cenvarg.obj + 0002:0028433d ___acrt_pack_wide_command_line_and_environment 007c833d f libucrtd:cenvarg.obj + 0002:00284650 ___acrt_CreateProcessA 007c8650 f libucrtd:createprocessa.obj + 0002:00284a72 ___acrt_getpath 007c8a72 f libucrtd:getpath.obj + 0002:00284a7f ___acrt_wgetpath 007c8a7f f libucrtd:getpath.obj + 0002:00284a90 __malloc_base 007c8a90 f libucrtd:malloc_base.obj + 0002:00284b40 ___acrt_GetStringTypeW 007c8b40 f libucrtd:getstringtypew.obj + 0002:00284c71 __putwch 007c8c71 f libucrtd:putwch.obj + 0002:00284cab __putwch_nolock 007c8cab f libucrtd:putwch.obj + 0002:00284cf0 __wcsnicmp 007c8cf0 f libucrtd:wcsnicmp.obj + 0002:00284f60 __wcsnicmp_l 007c8f60 f libucrtd:wcsnicmp.obj + 0002:00285260 __strnicmp 007c9260 f libucrtd:strnicmp.obj + 0002:002854a0 __strnicmp_l 007c94a0 f libucrtd:strnicmp.obj + 0002:00285950 ??$__vcrt_va_start_verify_argument_type@$$CBH@@YAXXZ 007c9950 f i libucrtd:open.obj + 0002:00286400 ??$tsopen_nolock@PAHABQAHABQBDABHABHABHABH@?$__crt_char_traits@D@@SAH$$QAPAHABQAHABQBDABH333@Z 007ca400 f i libucrtd:open.obj + 0002:00286450 ??$tsopen_nolock@PAHABQAHABQB_WABHABHABHABH@?$__crt_char_traits@_W@@SAH$$QAPAHABQAHABQB_WABH333@Z 007ca450 f i libucrtd:open.obj + 0002:002864a0 ??$tsopen_nolock@PAHPAHABQBDABHHABHH@?$__crt_char_traits@D@@SAH$$QAPAH0ABQBDABH$$QAH23@Z 007ca4a0 f i libucrtd:open.obj + 0002:002864f0 ??$tsopen_nolock@PAHPAHABQB_WABHHABHH@?$__crt_char_traits@_W@@SAH$$QAPAH0ABQB_WABH$$QAH23@Z 007ca4f0 f i libucrtd:open.obj + 0002:00287370 __open 007cb370 f libucrtd:open.obj + 0002:002873d0 __sopen 007cb3d0 f libucrtd:open.obj + 0002:00287460 __sopen_dispatch 007cb460 f libucrtd:open.obj + 0002:00287490 __sopen_nolock 007cb490 f libucrtd:open.obj + 0002:00287530 __sopen_s 007cb530 f libucrtd:open.obj + 0002:00287560 __wopen 007cb560 f libucrtd:open.obj + 0002:002875c0 __wsopen 007cb5c0 f libucrtd:open.obj + 0002:00287650 __wsopen_dispatch 007cb650 f libucrtd:open.obj + 0002:00287680 __wsopen_nolock 007cb680 f libucrtd:open.obj + 0002:00287d80 __wsopen_s 007cbd80 f libucrtd:open.obj + 0002:00287db0 ?__wcsrtombs_utf8@__crt_mbstring@@YAIPADPAPB_WIPAU_Mbstatet@@@Z 007cbdb0 f libucrtd:wcrtomb.obj + 0002:00288780 _wcrtomb 007cc780 f libucrtd:wcrtomb.obj + 0002:002887e0 _wcrtomb_s 007cc7e0 f libucrtd:wcrtomb.obj + 0002:00288940 _wcsrtombs 007cc940 f libucrtd:wcrtomb.obj + 0002:00288970 _wcsrtombs_s 007cc970 f libucrtd:wcrtomb.obj + 0002:00288d90 _wctob 007ccd90 f libucrtd:wcrtomb.obj + 0002:00288f50 __d_int 007ccf50 f libucrtd:_test.obj + 0002:002892a0 __dtest 007cd2a0 f libucrtd:_test.obj + 0002:00289400 __fd_int 007cd400 f libucrtd:_test.obj + 0002:00289650 __fdtest 007cd650 f libucrtd:_test.obj + 0002:00289750 __fperrraise 007cd750 f libucrtd:_test.obj + 0002:00289790 __ld_int 007cd790 f libucrtd:_test.obj + 0002:002897b0 __ldtest 007cd7b0 f libucrtd:_test.obj + 0002:002897d0 _nextafter 007cd7d0 f libucrtd:nextafter.obj + 0002:00289800 ??$__acrt_fenv_shift_bits@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_abstract_control@@W40@0I@Z 007cd800 f i libucrtd:_fenvutils.obj + 0002:00289830 ??$__acrt_fenv_shift_bits@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_abstract_status@@W40@0I@Z 007cd830 f i libucrtd:_fenvutils.obj + 0002:00289860 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@0W40@1@Z 007cd860 f i libucrtd:_fenvutils.obj + 0002:002898b0 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@0W40@1@Z 007cd8b0 f i libucrtd:_fenvutils.obj + 0002:00289900 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_sse_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_sse_status@@0W40@1@Z 007cd900 f i libucrtd:_fenvutils.obj + 0002:00289950 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_x87_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_x87_status@@0W40@1@Z 007cd950 f i libucrtd:_fenvutils.obj + 0002:002899a0 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@0W40@1@Z 007cd9a0 f i libucrtd:_fenvutils.obj + 0002:002899f0 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_machine_sse_status@@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_machine_sse_status@@W4__acrt_fenv_abstract_status@@0W40@1@Z 007cd9f0 f i libucrtd:_fenvutils.obj + 0002:00289a40 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@0W40@1@Z 007cda40 f i libucrtd:_fenvutils.obj + 0002:00289a90 ??$__acrt_fenv_translate_bit@W4__acrt_fenv_machine_x87_status@@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_machine_x87_status@@W4__acrt_fenv_abstract_status@@0W40@1@Z 007cda90 f i libucrtd:_fenvutils.obj + 0002:00289ae0 ??$__acrt_fenv_unshift_bits@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_abstract_control@@W40@0I@Z 007cdae0 f i libucrtd:_fenvutils.obj + 0002:00289b10 ??$__acrt_fenv_unshift_bits@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_abstract_status@@W40@0I@Z 007cdb10 f i libucrtd:_fenvutils.obj + 0002:0028a7d0 ??I@YA?AW4__acrt_fenv_abstract_control@@W40@0@Z 007ce7d0 f i libucrtd:_fenvutils.obj + 0002:0028a7e0 ??I@YA?AW4__acrt_fenv_abstract_status@@W40@0@Z 007ce7e0 f i libucrtd:_fenvutils.obj + 0002:0028a7f0 ??I@YA?AW4__acrt_fenv_machine_sse_control@@W40@0@Z 007ce7f0 f i libucrtd:_fenvutils.obj + 0002:0028a810 ??I@YA?AW4__acrt_fenv_machine_sse_status@@W40@0@Z 007ce810 f i libucrtd:_fenvutils.obj + 0002:0028a820 ??I@YA?AW4__acrt_fenv_machine_x87_control@@W40@0@Z 007ce820 f i libucrtd:_fenvutils.obj + 0002:0028a840 ??I@YA?AW4__acrt_fenv_machine_x87_status@@W40@0@Z 007ce840 f i libucrtd:_fenvutils.obj + 0002:0028a850 ??U@YA?AW4__acrt_fenv_abstract_control@@W40@0@Z 007ce850 f i libucrtd:_fenvutils.obj + 0002:0028a860 ??U@YA?AW4__acrt_fenv_abstract_status@@W40@0@Z 007ce860 f i libucrtd:_fenvutils.obj + 0002:0028a870 ??U@YA?AW4__acrt_fenv_machine_sse_control@@W40@0@Z 007ce870 f i libucrtd:_fenvutils.obj + 0002:0028a890 ??U@YA?AW4__acrt_fenv_machine_x87_control@@W40@0@Z 007ce890 f i libucrtd:_fenvutils.obj + 0002:0028a8b0 ??_5@YAAAW4__acrt_fenv_abstract_control@@AAW40@W40@@Z 007ce8b0 f i libucrtd:_fenvutils.obj + 0002:0028a8d0 ??_5@YAAAW4__acrt_fenv_abstract_status@@AAW40@W40@@Z 007ce8d0 f i libucrtd:_fenvutils.obj + 0002:0028a8f0 ??_5@YAAAW4__acrt_fenv_machine_sse_control@@AAW40@W40@@Z 007ce8f0 f i libucrtd:_fenvutils.obj + 0002:0028a920 ??_5@YAAAW4__acrt_fenv_machine_sse_status@@AAW40@W40@@Z 007ce920 f i libucrtd:_fenvutils.obj + 0002:0028a940 ??_5@YAAAW4__acrt_fenv_machine_x87_control@@AAW40@W40@@Z 007ce940 f i libucrtd:_fenvutils.obj + 0002:0028a970 ??_5@YAAAW4__acrt_fenv_machine_x87_status@@AAW40@W40@@Z 007ce970 f i libucrtd:_fenvutils.obj + 0002:0028a990 ?__acrt_fenv_shift_abstract_sse_control@@YA?AW4__acrt_fenv_abstract_control@@W41@@Z 007ce990 f i libucrtd:_fenvutils.obj + 0002:0028a9e0 ?__acrt_fenv_shift_abstract_sse_status@@YA?AW4__acrt_fenv_abstract_status@@W41@@Z 007ce9e0 f i libucrtd:_fenvutils.obj + 0002:0028aa00 ?__acrt_fenv_shift_abstract_x87_control@@YA?AW4__acrt_fenv_abstract_control@@W41@@Z 007cea00 f i libucrtd:_fenvutils.obj + 0002:0028aa50 ?__acrt_fenv_shift_abstract_x87_status@@YA?AW4__acrt_fenv_abstract_status@@W41@@Z 007cea50 f i libucrtd:_fenvutils.obj + 0002:0028aa70 ?__acrt_fenv_unshift_abstract_sse_control@@YA?AW4__acrt_fenv_abstract_control@@W41@@Z 007cea70 f i libucrtd:_fenvutils.obj + 0002:0028aac0 ?__acrt_fenv_unshift_abstract_sse_status@@YA?AW4__acrt_fenv_abstract_status@@W41@@Z 007ceac0 f i libucrtd:_fenvutils.obj + 0002:0028aae0 ?__acrt_fenv_unshift_abstract_x87_control@@YA?AW4__acrt_fenv_abstract_control@@W41@@Z 007ceae0 f i libucrtd:_fenvutils.obj + 0002:0028ab30 ?__acrt_fenv_unshift_abstract_x87_status@@YA?AW4__acrt_fenv_abstract_status@@W41@@Z 007ceb30 f i libucrtd:_fenvutils.obj + 0002:0028b190 ___acrt_fenv_expand_round_control 007cf190 f libucrtd:_fenvutils.obj + 0002:0028b1e0 ___acrt_fenv_get_common_round_control 007cf1e0 f libucrtd:_fenvutils.obj + 0002:0028b250 ___acrt_fenv_get_control 007cf250 f libucrtd:_fenvutils.obj + 0002:0028b2f0 ___acrt_fenv_get_fp_status_word_from_exception_mask 007cf2f0 f libucrtd:_fenvutils.obj + 0002:0028b340 ___acrt_fenv_get_status 007cf340 f libucrtd:_fenvutils.obj + 0002:0028b3d0 ___acrt_fenv_set_control 007cf3d0 f libucrtd:_fenvutils.obj + 0002:0028b420 ___acrt_fenv_set_status 007cf420 f libucrtd:_fenvutils.obj + 0002:0028b460 __towlower_l 007cf460 f libucrtd:towlower.obj + 0002:0028b600 _towlower 007cf600 f libucrtd:towlower.obj + 0002:0028b780 _qsort 007cf780 f libucrtd:qsort.obj + 0002:0028bfa0 _strpbrk 007cffa0 f libucrtd:strpbrk.obj + 0002:0028c1f0 ___acrt_SetEnvironmentVariableA 007d01f0 f libucrtd:setenvironmentvariablea.obj + 0002:0028c2e0 __cintrindisp2 007d02e0 f libucrtd:87cdisp.obj + 0002:0028c330 __cintrindisp1 007d0330 f libucrtd:87cdisp.obj + 0002:0028c379 __ctrandisp2 007d0379 f libucrtd:87cdisp.obj + 0002:0028c508 __ctrandisp1 007d0508 f libucrtd:87cdisp.obj + 0002:0028c53b __fload 007d053b f libucrtd:87cdisp.obj + 0002:0028c620 ?__mbrtoc32_utf8@__crt_mbstring@@YAIPA_UPBDIPAU_Mbstatet@@@Z 007d0620 f libucrtd:mbrtoc32.obj + 0002:0028c9a0 _mbrtoc32 007d09a0 f libucrtd:mbrtoc32.obj + 0002:0028c9d0 _log10 007d09d0 f libucrtd:log10.obj + 0002:0028ca30 _ceil 007d0a30 f libucrtd:ceil_pentium4.obj + 0002:0028ca70 __ceil_pentium4 007d0a70 f libucrtd:ceil_pentium4.obj + 0002:0028cba0 _fegetenv 007d0ba0 f libucrtd:fegetenv.obj + 0002:0028cbd0 _fesetenv 007d0bd0 f libucrtd:fesetenv.obj + 0002:0028cc50 _feholdexcept 007d0c50 f libucrtd:feholdexcept.obj + 0002:0028ccd0 __87except 007d0cd0 f libucrtd:87except.obj + 0002:0028cf40 __frnd 007d0f40 f libucrtd:frnd.obj + 0002:0028cf60 ___acrt_CompareStringW 007d0f60 f libucrtd:comparestringw.obj + 0002:0028d5f0 ___acrt_CompareStringA 007d15f0 f libucrtd:comparestringa.obj + 0002:0028d731 ___dcrt_lowio_ensure_console_output_initialized 007d1731 f libucrtd:initcon.obj + 0002:0028d757 ___dcrt_terminate_console_output 007d1757 f libucrtd:initcon.obj + 0002:0028d773 ___dcrt_write_console 007d1773 f libucrtd:initcon.obj + 0002:0028d7e0 ___ascii_strnicmp 007d17e0 f libucrtd:_strnicm.obj + 0002:0028d9e0 ??0__crt_seek_guard@@QAE@H_J@Z 007d19e0 f i libucrtd:chsize.obj + 0002:0028da70 ??1__crt_seek_guard@@QAE@XZ 007d1a70 f i libucrtd:chsize.obj + 0002:0028dbc0 __chsize 007d1bc0 f libucrtd:chsize.obj + 0002:0028dc00 __chsize_nolock 007d1c00 f libucrtd:chsize.obj + 0002:0028dee0 __chsize_s 007d1ee0 f libucrtd:chsize.obj + 0002:0028e160 __umask 007d2160 f libucrtd:umask.obj + 0002:0028e1a0 __umask_s 007d21a0 f libucrtd:umask.obj + 0002:0028e300 ?__c16rtomb_utf8@__crt_mbstring@@YAIPAD_SPAU_Mbstatet@@@Z 007d2300 f libucrtd:c16rtomb.obj + 0002:0028e560 _c16rtomb 007d2560 f libucrtd:c16rtomb.obj + 0002:0028e590 ??_4@YAAAW4__acrt_fenv_abstract_status@@AAW40@W40@@Z 007d2590 f i libucrtd:fegetexceptflag.obj + 0002:0028e5b0 _fegetexceptflag 007d25b0 f libucrtd:fegetexceptflag.obj + 0002:0028e610 ??S@YA?AW4__acrt_fenv_abstract_status@@W40@@Z 007d2610 f i libucrtd:fesetexceptflag.obj + 0002:0028e620 _fesetexceptflag 007d2620 f libucrtd:fesetexceptflag.obj + 0002:0028e710 _nexttoward 007d2710 f libucrtd:nexttoward.obj + 0002:0028eb30 ___acrt_LCMapStringW 007d2b30 f libucrtd:lcmapstringw.obj + 0002:0028ebb0 __CIlog10 007d2bb0 f libucrtd:log10_impl.obj + 0002:0028ebeb __CIlog10_default 007d2beb f libucrtd:log10_impl.obj + 0002:0028ebff __log10_default 007d2bff libucrtd:log10_impl.obj + 0002:0028ed10 __CIlog10_pentium4 007d2d10 f libucrtd:log10_pentium4.obj + 0002:0028ed28 __log10_pentium4 007d2d28 libucrtd:log10_pentium4.obj + 0002:0028f050 __ceil_default 007d3050 f libucrtd:ceil.obj + 0002:0028f1b0 _fetestexcept 007d31b0 f libucrtd:fetestexcept.obj + 0002:0028f1e0 _WSAStartup@8 007d31e0 f ws2_32:WS2_32.dll + 0002:0028f1e6 _WSACleanup@0 007d31e6 f ws2_32:WS2_32.dll + 0002:0028f1ec _connect@12 007d31ec f ws2_32:WS2_32.dll + 0002:0028f1f2 _inet_ntoa@4 007d31f2 f ws2_32:WS2_32.dll + 0002:0028f1f8 _closesocket@4 007d31f8 f ws2_32:WS2_32.dll + 0002:0028f1fe _ioctlsocket@12 007d31fe f ws2_32:WS2_32.dll + 0002:0028f204 _setsockopt@20 007d3204 f ws2_32:WS2_32.dll + 0002:0028f20a _shutdown@8 007d320a f ws2_32:WS2_32.dll + 0002:0028f210 _WSAGetLastError@0 007d3210 f ws2_32:WS2_32.dll + 0002:0028f216 _WSARecv@28 007d3216 f ws2_32:WS2_32.dll + 0002:0028f21c _WSASend@28 007d321c f ws2_32:WS2_32.dll + 0002:0028f222 _EnterCriticalSection@4 007d3222 f kernel32:KERNEL32.dll + 0002:0028f228 _LeaveCriticalSection@4 007d3228 f kernel32:KERNEL32.dll + 0002:0028f22e _TryEnterCriticalSection@4 007d322e f kernel32:KERNEL32.dll + 0002:0028f234 _DeleteCriticalSection@4 007d3234 f kernel32:KERNEL32.dll + 0002:0028f23a _GetCurrentThreadId@0 007d323a f kernel32:KERNEL32.dll + 0002:0028f240 _GetLastError@0 007d3240 f kernel32:KERNEL32.dll + 0002:0028f246 _FormatMessageW@28 007d3246 f kernel32:KERNEL32.dll + 0002:0028f24c _WideCharToMultiByte@32 007d324c f kernel32:KERNEL32.dll + 0002:0028f252 _QueryPerformanceCounter@4 007d3252 f kernel32:KERNEL32.dll + 0002:0028f258 _QueryPerformanceFrequency@4 007d3258 f kernel32:KERNEL32.dll + 0002:0028f25e _CloseHandle@4 007d325e f kernel32:KERNEL32.dll + 0002:0028f264 _WaitForSingleObjectEx@12 007d3264 f kernel32:KERNEL32.dll + 0002:0028f26a _SwitchToThread@0 007d326a f kernel32:KERNEL32.dll + 0002:0028f270 _GetExitCodeThread@8 007d3270 f kernel32:KERNEL32.dll + 0002:0028f276 _GetNativeSystemInfo@4 007d3276 f kernel32:KERNEL32.dll + 0002:0028f27c _SetLastError@4 007d327c f kernel32:KERNEL32.dll + 0002:0028f282 _InitializeCriticalSectionAndSpinCount@8 007d3282 f kernel32:KERNEL32.dll + 0002:0028f288 _CreateEventW@16 007d3288 f kernel32:KERNEL32.dll + 0002:0028f28e _TlsAlloc@0 007d328e f kernel32:KERNEL32.dll + 0002:0028f294 _TlsGetValue@4 007d3294 f kernel32:KERNEL32.dll + 0002:0028f29a _TlsSetValue@8 007d329a f kernel32:KERNEL32.dll + 0002:0028f2a0 _TlsFree@4 007d32a0 f kernel32:KERNEL32.dll + 0002:0028f2a6 _GetSystemTimeAsFileTime@4 007d32a6 f kernel32:KERNEL32.dll + 0002:0028f2ac _GetModuleHandleW@4 007d32ac f kernel32:KERNEL32.dll + 0002:0028f2b2 _EncodePointer@4 007d32b2 f kernel32:KERNEL32.dll + 0002:0028f2b8 _DecodePointer@4 007d32b8 f kernel32:KERNEL32.dll + 0002:0028f2be _MultiByteToWideChar@24 007d32be f kernel32:KERNEL32.dll + 0002:0028f2c4 _CompareStringW@24 007d32c4 f kernel32:KERNEL32.dll + 0002:0028f2ca _LCMapStringW@24 007d32ca f kernel32:KERNEL32.dll + 0002:0028f2d0 _GetLocaleInfoW@16 007d32d0 f kernel32:KERNEL32.dll + 0002:0028f2d6 _GetStringTypeW@16 007d32d6 f kernel32:KERNEL32.dll + 0002:0028f2dc _GetCPInfo@8 007d32dc f kernel32:KERNEL32.dll + 0002:0028f2e2 _IsDebuggerPresent@0 007d32e2 f kernel32:KERNEL32.dll + 0002:0028f2e8 _RaiseException@16 007d32e8 f kernel32:KERNEL32.dll + 0002:0028f2ee _UnhandledExceptionFilter@4 007d32ee f kernel32:KERNEL32.dll + 0002:0028f2f4 _SetUnhandledExceptionFilter@4 007d32f4 f kernel32:KERNEL32.dll + 0002:0028f2fa _GetCurrentProcess@0 007d32fa f kernel32:KERNEL32.dll + 0002:0028f300 _TerminateProcess@8 007d3300 f kernel32:KERNEL32.dll + 0002:0028f306 _IsProcessorFeaturePresent@4 007d3306 f kernel32:KERNEL32.dll + 0002:0028f30c _SetEvent@4 007d330c f kernel32:KERNEL32.dll + 0002:0028f312 _ResetEvent@4 007d3312 f kernel32:KERNEL32.dll + 0002:0028f318 _HeapAlloc@12 007d3318 f kernel32:KERNEL32.dll + 0002:0028f31e _HeapFree@12 007d331e f kernel32:KERNEL32.dll + 0002:0028f324 _GetProcessHeap@0 007d3324 f kernel32:KERNEL32.dll + 0002:0028f32a _VirtualQuery@12 007d332a f kernel32:KERNEL32.dll + 0002:0028f330 _GetStartupInfoW@4 007d3330 f kernel32:KERNEL32.dll + 0002:0028f336 _GetCurrentProcessId@0 007d3336 f kernel32:KERNEL32.dll + 0002:0028f33c _InitializeSListHead@4 007d333c f kernel32:KERNEL32.dll + 0002:0028f342 _CreateTimerQueue@0 007d3342 f kernel32:KERNEL32.dll + 0002:0028f348 _SignalObjectAndWait@16 007d3348 f kernel32:KERNEL32.dll + 0002:0028f34e _CreateThread@24 007d334e f kernel32:KERNEL32.dll + 0002:0028f354 _SetThreadPriority@8 007d3354 f kernel32:KERNEL32.dll + 0002:0028f35a _GetThreadPriority@4 007d335a f kernel32:KERNEL32.dll + 0002:0028f360 _GetLogicalProcessorInformation@8 007d3360 f kernel32:KERNEL32.dll + 0002:0028f366 _CreateTimerQueueTimer@28 007d3366 f kernel32:KERNEL32.dll + 0002:0028f36c _ChangeTimerQueueTimer@16 007d336c f kernel32:KERNEL32.dll + 0002:0028f372 _DeleteTimerQueueTimer@12 007d3372 f kernel32:KERNEL32.dll + 0002:0028f378 _GetNumaHighestNodeNumber@4 007d3378 f kernel32:KERNEL32.dll + 0002:0028f37e _GetProcessAffinityMask@12 007d337e f kernel32:KERNEL32.dll + 0002:0028f384 _SetThreadAffinityMask@8 007d3384 f kernel32:KERNEL32.dll + 0002:0028f38a _RegisterWaitForSingleObject@24 007d338a f kernel32:KERNEL32.dll + 0002:0028f390 _UnregisterWait@4 007d3390 f kernel32:KERNEL32.dll + 0002:0028f396 _OutputDebugStringW@4 007d3396 f kernel32:KERNEL32.dll + 0002:0028f39c _GetCurrentThread@0 007d339c f kernel32:KERNEL32.dll + 0002:0028f3a2 _GetThreadTimes@20 007d33a2 f kernel32:KERNEL32.dll + 0002:0028f3a8 _FreeLibraryAndExitThread@8 007d33a8 f kernel32:KERNEL32.dll + 0002:0028f3ae _GetModuleFileNameW@12 007d33ae f kernel32:KERNEL32.dll + 0002:0028f3b4 _GetModuleHandleA@4 007d33b4 f kernel32:KERNEL32.dll + 0002:0028f3ba _LoadLibraryExW@12 007d33ba f kernel32:KERNEL32.dll + 0002:0028f3c0 _GetVersionExW@4 007d33c0 f kernel32:KERNEL32.dll + 0002:0028f3c6 _VirtualAlloc@16 007d33c6 f kernel32:KERNEL32.dll + 0002:0028f3cc _VirtualProtect@16 007d33cc f kernel32:KERNEL32.dll + 0002:0028f3d2 _VirtualFree@12 007d33d2 f kernel32:KERNEL32.dll + 0002:0028f3d8 _SetProcessAffinityMask@8 007d33d8 f kernel32:KERNEL32.dll + 0002:0028f3de _DuplicateHandle@28 007d33de f kernel32:KERNEL32.dll + 0002:0028f3e4 _ReleaseSemaphore@12 007d33e4 f kernel32:KERNEL32.dll + 0002:0028f3ea _InterlockedPopEntrySList@4 007d33ea f kernel32:KERNEL32.dll + 0002:0028f3f0 _InterlockedPushEntrySList@8 007d33f0 f kernel32:KERNEL32.dll + 0002:0028f3f6 _InterlockedFlushSList@4 007d33f6 f kernel32:KERNEL32.dll + 0002:0028f3fc _QueryDepthSList@4 007d33fc f kernel32:KERNEL32.dll + 0002:0028f402 _UnregisterWaitEx@8 007d3402 f kernel32:KERNEL32.dll + 0002:0028f408 _WaitForMultipleObjectsEx@20 007d3408 f kernel32:KERNEL32.dll + 0002:0028f40e _LoadLibraryW@4 007d340e f kernel32:KERNEL32.dll + 0002:0028f414 _WaitForSingleObject@8 007d3414 f kernel32:KERNEL32.dll + 0002:0028f41a _RtlUnwind@16 007d341a f kernel32:KERNEL32.dll + 0002:0028f420 _GetModuleHandleExW@12 007d3420 f kernel32:KERNEL32.dll + 0002:0028f426 _GetStdHandle@4 007d3426 f kernel32:KERNEL32.dll + 0002:0028f42c _GetFileType@4 007d342c f kernel32:KERNEL32.dll + 0002:0028f432 _WriteConsoleW@20 007d3432 f kernel32:KERNEL32.dll + 0002:0028f438 _HeapValidate@12 007d3438 f kernel32:KERNEL32.dll + 0002:0028f43e _ExitThread@4 007d343e f kernel32:KERNEL32.dll + 0002:0028f444 _ResumeThread@4 007d3444 f kernel32:KERNEL32.dll + 0002:0028f44a _ExitProcess@4 007d344a f kernel32:KERNEL32.dll + 0002:0028f450 _WriteFile@20 007d3450 f kernel32:KERNEL32.dll + 0002:0028f456 _GetCommandLineA@0 007d3456 f kernel32:KERNEL32.dll + 0002:0028f45c _GetCommandLineW@0 007d345c f kernel32:KERNEL32.dll + 0002:0028f462 _GetDateFormatW@24 007d3462 f kernel32:KERNEL32.dll + 0002:0028f468 _GetTimeFormatW@24 007d3468 f kernel32:KERNEL32.dll + 0002:0028f46e _IsValidLocale@8 007d346e f kernel32:KERNEL32.dll + 0002:0028f474 _GetUserDefaultLCID@0 007d3474 f kernel32:KERNEL32.dll + 0002:0028f47a _EnumSystemLocalesW@8 007d347a f kernel32:KERNEL32.dll + 0002:0028f480 _ReadFile@20 007d3480 f kernel32:KERNEL32.dll + 0002:0028f486 _GetConsoleMode@8 007d3486 f kernel32:KERNEL32.dll + 0002:0028f48c _ReadConsoleW@20 007d348c f kernel32:KERNEL32.dll + 0002:0028f492 _GetExitCodeProcess@8 007d3492 f kernel32:KERNEL32.dll + 0002:0028f498 _CreateProcessW@40 007d3498 f kernel32:KERNEL32.dll + 0002:0028f49e _GetFileAttributesExW@12 007d349e f kernel32:KERNEL32.dll + 0002:0028f4a4 _HeapReAlloc@16 007d34a4 f kernel32:KERNEL32.dll + 0002:0028f4aa _HeapSize@12 007d34aa f kernel32:KERNEL32.dll + 0002:0028f4b0 _HeapQueryInformation@20 007d34b0 f kernel32:KERNEL32.dll + 0002:0028f4b6 _FlushFileBuffers@4 007d34b6 f kernel32:KERNEL32.dll + 0002:0028f4bc _GetConsoleCP@0 007d34bc f kernel32:KERNEL32.dll + 0002:0028f4c2 _GetFileSizeEx@8 007d34c2 f kernel32:KERNEL32.dll + 0002:0028f4c8 _SetFilePointerEx@20 007d34c8 f kernel32:KERNEL32.dll + 0002:0028f4ce _GetTimeZoneInformation@4 007d34ce f kernel32:KERNEL32.dll + 0002:0028f4d4 _FindClose@4 007d34d4 f kernel32:KERNEL32.dll + 0002:0028f4da _FindFirstFileExW@24 007d34da f kernel32:KERNEL32.dll + 0002:0028f4e0 _FindNextFileW@8 007d34e0 f kernel32:KERNEL32.dll + 0002:0028f4e6 _IsValidCodePage@4 007d34e6 f kernel32:KERNEL32.dll + 0002:0028f4ec _GetACP@0 007d34ec f kernel32:KERNEL32.dll + 0002:0028f4f2 _GetOEMCP@0 007d34f2 f kernel32:KERNEL32.dll + 0002:0028f4f8 _GetEnvironmentStringsW@0 007d34f8 f kernel32:KERNEL32.dll + 0002:0028f4fe _FreeEnvironmentStringsW@4 007d34fe f kernel32:KERNEL32.dll + 0002:0028f504 _SetEnvironmentVariableW@8 007d3504 f kernel32:KERNEL32.dll + 0002:0028f50a _SetStdHandle@8 007d350a f kernel32:KERNEL32.dll + 0002:0028f510 _CreateFileW@28 007d3510 f kernel32:KERNEL32.dll + 0002:0028f516 _SetEndOfFile@4 007d3516 f kernel32:KERNEL32.dll + 0002:0028f520 ??0_ContextCallback@details@Concurrency@@QAE@_N@Z 007d3520 f i libcpmtd:ppltasks.obj + 0002:0028f560 ??0task_continuation_context@Concurrency@@AAE@XZ 007d3560 f libcpmtd:ppltasks.obj + 0002:0028f590 ??1?$_Func_class@X$$V@std@@QAE@XZ 007d3590 f i libcpmtd:ppltasks.obj + 0002:0028f5b0 ??1?$function@$$A6AXXZ@std@@QAE@XZ 007d35b0 f i libcpmtd:ppltasks.obj + 0002:0028f5d0 ??R?$_Func_class@X$$V@std@@QBEXXZ 007d35d0 f i libcpmtd:ppltasks.obj + 0002:0028f630 ?CaptureCallstack@platform@details@Concurrency@@YAIPAPAXII@Z 007d3630 f libcpmtd:ppltasks.obj + 0002:0028f670 ?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ 007d3670 f libcpmtd:ppltasks.obj + 0002:0028f680 ?GetNextAsyncId@platform@details@Concurrency@@YAIXZ 007d3680 f libcpmtd:ppltasks.obj + 0002:0028f6a0 ?_Assign@_ContextCallback@details@Concurrency@@AAEXPAX@Z 007d36a0 f libcpmtd:ppltasks.obj + 0002:0028f6b0 ?_CallInContext@_ContextCallback@details@Concurrency@@QBEXV?$function@$$A6AXXZ@std@@_N@Z 007d36b0 f libcpmtd:ppltasks.obj + 0002:0028f720 ?_Capture@_ContextCallback@details@Concurrency@@AAEXXZ 007d3720 f libcpmtd:ppltasks.obj + 0002:0028f730 ?_Empty@?$_Func_class@X$$V@std@@IBE_NXZ 007d3730 f i libcpmtd:ppltasks.obj + 0002:0028f770 ?_Getimpl@?$_Func_class@X$$V@std@@ABEPAV?$_Func_base@X$$V@2@XZ 007d3770 f i libcpmtd:ppltasks.obj + 0002:0028f790 ?_IsCurrentOriginSTA@_ContextCallback@details@Concurrency@@CA_NXZ 007d3790 f libcpmtd:ppltasks.obj + 0002:0028f7a0 ?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ 007d37a0 f libcpmtd:ppltasks.obj + 0002:0028f7b0 ?_Local@?$_Func_class@X$$V@std@@ABE_NXZ 007d37b0 f i libcpmtd:ppltasks.obj + 0002:0028f7f0 ?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QAEXXZ 007d37f0 f libcpmtd:ppltasks.obj + 0002:0028f800 ?_LogScheduleTask@_TaskEventLogger@details@Concurrency@@QAEX_N@Z 007d3800 f libcpmtd:ppltasks.obj + 0002:0028f810 ?_LogTaskCompleted@_TaskEventLogger@details@Concurrency@@QAEXXZ 007d3810 f libcpmtd:ppltasks.obj + 0002:0028f820 ?_LogTaskExecutionCompleted@_TaskEventLogger@details@Concurrency@@QAEXXZ 007d3820 f libcpmtd:ppltasks.obj + 0002:0028f830 ?_LogWorkItemCompleted@_TaskEventLogger@details@Concurrency@@QAEXXZ 007d3830 f libcpmtd:ppltasks.obj + 0002:0028f840 ?_LogWorkItemStarted@_TaskEventLogger@details@Concurrency@@QAEXXZ 007d3840 f libcpmtd:ppltasks.obj + 0002:0028f850 ?_ReportUnobservedException@details@Concurrency@@YAXXZ 007d3850 f libcpmtd:ppltasks.obj + 0002:0028f880 ?_Reset@_ContextCallback@details@Concurrency@@AAEXXZ 007d3880 f libcpmtd:ppltasks.obj + 0002:0028f890 ?_Set@?$_Func_class@X$$V@std@@AAEXPAV?$_Func_base@X$$V@2@@Z 007d3890 f i libcpmtd:ppltasks.obj + 0002:0028f8c0 ?_Tidy@?$_Func_class@X$$V@std@@IAEXXZ 007d38c0 f i libcpmtd:ppltasks.obj + 0002:0028f950 ??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAE@AAPAUEHExceptionRecord@@$$QA_N@Z 007d3950 f i libcpmtd:excptptr.obj + 0002:0028fa30 ??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAE@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007d3a30 f i libcpmtd:excptptr.obj + 0002:0028fb30 ??$?0ABU?$_StaticAllocator@H@@$$V@?$_Compressed_pair@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@T?$_Align_type@H$0FE@@std@@$00@std@@QAE@U_One_then_variadic_args_t@1@ABU?$_StaticAllocator@H@@@Z 007d3b30 f i libcpmtd:excptptr.obj + 0002:0028fb80 ??$?0H@?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAE@ABU?$_StaticAllocator@H@@@Z 007d3b80 f i libcpmtd:excptptr.obj + 0002:0028fba0 ??$?8V__ExceptionPtr@@V0@@std@@YA_NABV?$shared_ptr@V__ExceptionPtr@@@0@0@Z 007d3ba0 f i libcpmtd:excptptr.obj + 0002:0028fbe0 ??$?CV__ExceptionPtr@@$0A@@?$shared_ptr@V__ExceptionPtr@@@std@@QBEPAV__ExceptionPtr@@XZ 007d3be0 f i libcpmtd:excptptr.obj + 0002:0028fc00 ??$_Alloc_new@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N$0A@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007d3c00 f i libcpmtd:excptptr.obj + 0002:0028fd00 ??$_Alloc_rebound@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@$$CBU?$_StaticAllocator@H@@ABU3@AAPAUEHExceptionRecord@@_N@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@ABU?$_StaticAllocator@H@@0AAPAUEHExceptionRecord@@$$QA_N@Z 007d3d00 f i libcpmtd:excptptr.obj + 0002:0028fd80 ??$_Copy_construct_from@V__ExceptionPtr@@@?$_Ptr_base@V__ExceptionPtr@@@std@@IAEXABV?$shared_ptr@V__ExceptionPtr@@@1@@Z 007d3d80 f i libcpmtd:excptptr.obj + 0002:0028fdd0 ??$_Deallocate_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 007d3dd0 f i libcpmtd:excptptr.obj + 0002:0028fe30 ??$_Delete_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 007d3e30 f i libcpmtd:excptptr.obj + 0002:0028fea0 ??$_Move_construct_from@V__ExceptionPtr@@@?$_Ptr_base@V__ExceptionPtr@@@std@@IAEX$$QAV01@@Z 007d3ea0 f i libcpmtd:excptptr.obj + 0002:0028fef0 ??$_Set_ptr_rep_and_enable_shared@V__ExceptionPtr@@@?$shared_ptr@V__ExceptionPtr@@@std@@AAEXQAV__ExceptionPtr@@QAV_Ref_count_base@1@@Z 007d3ef0 f i libcpmtd:excptptr.obj + 0002:0028ff20 ??$_Unfancy@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@PAV10@@Z 007d3f20 f i libcpmtd:excptptr.obj + 0002:0028ff30 ??$allocate_shared@V__ExceptionPtr@@U?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007d3f30 f i libcpmtd:excptptr.obj + 0002:00290040 ??$construct@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@?$_Normal_allocator_traits@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@SAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@PAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@1@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007d4040 f i libcpmtd:excptptr.obj + 0002:002900c0 ??$destroy@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@?$_Normal_allocator_traits@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@SAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@PAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@1@@Z 007d40c0 f i libcpmtd:excptptr.obj + 0002:00290100 ??$exchange@PAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@$$T@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAPAV10@$$QA$$T@Z 007d4100 f i libcpmtd:excptptr.obj + 0002:00290130 ??$forward@AAPAUEHExceptionRecord@@@std@@YAAAPAUEHExceptionRecord@@AAPAU1@@Z 007d4130 f i libcpmtd:excptptr.obj + 0002:00290140 ??$forward@ABU?$_StaticAllocator@H@@@std@@YAABU?$_StaticAllocator@H@@ABU1@@Z 007d4140 f i libcpmtd:excptptr.obj + 0002:00290150 ??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z 007d4150 f i libcpmtd:excptptr.obj + 0002:00290280 ??$move@AAPAV_Ref_count_base@std@@@std@@YA$$QAPAV_Ref_count_base@0@AAPAV10@@Z 007d4280 f i libcpmtd:excptptr.obj + 0002:00290290 ??$move@AAPAV__ExceptionPtr@@@std@@YA$$QAPAV__ExceptionPtr@@AAPAV1@@Z 007d4290 f i libcpmtd:excptptr.obj + 0002:002902a0 ??$move@AAV?$shared_ptr@V__ExceptionPtr@@@std@@@std@@YA$$QAV?$shared_ptr@V__ExceptionPtr@@@0@AAV10@@Z 007d42a0 f i libcpmtd:excptptr.obj + 0002:002902b0 ??$swap@PAV_Ref_count_base@std@@X@std@@YAXAAPAV_Ref_count_base@0@0@Z 007d42b0 f i libcpmtd:excptptr.obj + 0002:00290300 ??$swap@PAV__ExceptionPtr@@X@std@@YAXAAPAV__ExceptionPtr@@0@Z 007d4300 f i libcpmtd:excptptr.obj + 0002:00290350 ??0?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAE@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@Z 007d4350 f i libcpmtd:excptptr.obj + 0002:00290380 ??0?$_Ptr_base@V__ExceptionPtr@@@std@@IAE@XZ 007d4380 f i libcpmtd:excptptr.obj + 0002:002903b0 ??0?$shared_ptr@V__ExceptionPtr@@@std@@QAE@$$QAV01@@Z 007d43b0 f i libcpmtd:excptptr.obj + 0002:002903f0 ??0?$shared_ptr@V__ExceptionPtr@@@std@@QAE@ABV01@@Z 007d43f0 f i libcpmtd:excptptr.obj + 0002:00290420 ??0?$shared_ptr@V__ExceptionPtr@@@std@@QAE@XZ 007d4420 f i libcpmtd:excptptr.obj + 0002:00290440 ??0_Ref_count_base@std@@IAE@XZ 007d4440 f i libcpmtd:excptptr.obj + 0002:00290470 ??0__ExceptionPtr@@QAE@PBUEHExceptionRecord@@_N@Z 007d4470 f libcpmtd:excptptr.obj + 0002:002906d0 ??1?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAE@XZ 007d46d0 f i libcpmtd:excptptr.obj + 0002:00290740 ??1?$_Ref_count_obj@V__ExceptionPtr@@@std@@UAE@XZ 007d4740 f i libcpmtd:excptptr.obj + 0002:00290760 ??1?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@UAE@XZ 007d4760 f i libcpmtd:excptptr.obj + 0002:00290780 ??1?$shared_ptr@V__ExceptionPtr@@@std@@QAE@XZ 007d4780 f i libcpmtd:excptptr.obj + 0002:002907a0 ??1_Ref_count_base@std@@UAE@XZ 007d47a0 f i libcpmtd:excptptr.obj + 0002:002907b0 ??1__ExceptionPtr@@QAE@XZ 007d47b0 f libcpmtd:excptptr.obj + 0002:00290940 ??4?$shared_ptr@V__ExceptionPtr@@@std@@QAEAAV01@$$QAV01@@Z 007d4940 f i libcpmtd:excptptr.obj + 0002:00290990 ??4?$shared_ptr@V__ExceptionPtr@@@std@@QAEAAV01@ABV01@@Z 007d4990 f i libcpmtd:excptptr.obj + 0002:002909e0 ??B?$shared_ptr@V__ExceptionPtr@@@std@@QBE_NXZ 007d49e0 f i libcpmtd:excptptr.obj + 0002:00290a20 ??_E?$_Ref_count_obj@V__ExceptionPtr@@@std@@UAEPAXI@Z 007d4a20 f i libcpmtd:excptptr.obj + 0002:00290a20 ??_G?$_Ref_count_obj@V__ExceptionPtr@@@std@@UAEPAXI@Z 007d4a20 f i libcpmtd:excptptr.obj + 0002:00290a60 ??_G?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@UAEPAXI@Z 007d4a60 f i libcpmtd:excptptr.obj + 0002:00290a60 ??_E?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@UAEPAXI@Z 007d4a60 f i libcpmtd:excptptr.obj + 0002:00290aa0 ??_G?$shared_ptr@V__ExceptionPtr@@@std@@QAEPAXI@Z 007d4aa0 f i libcpmtd:excptptr.obj + 0002:00290ae0 ??_G__ExceptionPtr@@QAEPAXI@Z 007d4ae0 f i libcpmtd:excptptr.obj + 0002:00290b20 ?_Allocate@?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAEXXZ 007d4b20 f i libcpmtd:excptptr.obj + 0002:00290b60 ?_BadAllocException@__ExceptionPtr@@SAABV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 007d4b60 f libcpmtd:excptptr.obj + 0002:00290ba0 ?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z 007d4ba0 f libcpmtd:excptptr.obj + 0002:00290d30 ?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z 007d4d30 f libcpmtd:excptptr.obj + 0002:00290e40 ?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 007d4e40 f libcpmtd:excptptr.obj + 0002:00290f90 ?_Decref@?$_Ptr_base@V__ExceptionPtr@@@std@@IAEXXZ 007d4f90 f i libcpmtd:excptptr.obj + 0002:00290fc0 ?_Decref@_Ref_count_base@std@@QAEXXZ 007d4fc0 f i libcpmtd:excptptr.obj + 0002:00291010 ?_Decwref@_Ref_count_base@std@@QAEXXZ 007d5010 f i libcpmtd:excptptr.obj + 0002:00291060 ?_Delete_this@?$_Ref_count_obj@V__ExceptionPtr@@@std@@EAEXXZ 007d5060 f i libcpmtd:excptptr.obj + 0002:002910c0 ?_Delete_this@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@EAEXXZ 007d50c0 f i libcpmtd:excptptr.obj + 0002:00291100 ?_Destroy@?$_Ref_count_obj@V__ExceptionPtr@@@std@@EAEXXZ 007d5100 f i libcpmtd:excptptr.obj + 0002:00291160 ?_Destroy@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@EAEXXZ 007d5160 f i libcpmtd:excptptr.obj + 0002:002911c0 ?_Get_deleter@_Ref_count_base@std@@UBEPAXABVtype_info@@@Z 007d51c0 f i libcpmtd:excptptr.obj + 0002:002911e0 ?_Get_first@?$_Compressed_pair@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@T?$_Align_type@H$0FE@@std@@$00@std@@QAEAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@XZ 007d51e0 f i libcpmtd:excptptr.obj + 0002:00291200 ?_Getptr@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAEPAV__ExceptionPtr@@XZ 007d5200 f i libcpmtd:excptptr.obj + 0002:00291220 ?_Getptr@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAEPAV__ExceptionPtr@@XZ 007d5220 f i libcpmtd:excptptr.obj + 0002:00291240 ?_Incref@_Ref_count_base@std@@QAEXXZ 007d5240 f i libcpmtd:excptptr.obj + 0002:00291260 ?_InitBadAllocException@__ExceptionPtr@@CA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 007d5260 f libcpmtd:excptptr.obj + 0002:00291320 ?_PlacementInitBadAllocException@__ExceptionPtr@@CGHPAX0PAPAX@Z 007d5320 f i libcpmtd:excptptr.obj + 0002:00291390 ?_PopulateExceptionRecord@__ExceptionPtr@@SAPAUEHExceptionRecord@@AAU2@PBXPBU_s_ThrowInfo@@@Z 007d5390 f libcpmtd:excptptr.obj + 0002:00291470 ?_Release@?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAEPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@2@XZ 007d5470 f i libcpmtd:excptptr.obj + 0002:002914e0 ?_RethrowException@__ExceptionPtr@@QBEXXZ 007d54e0 f libcpmtd:excptptr.obj + 0002:002916a0 ?_Set_ptr_rep@?$_Ptr_base@V__ExceptionPtr@@@std@@IAEXPAV__ExceptionPtr@@PAV_Ref_count_base@2@@Z 007d56a0 f i libcpmtd:excptptr.obj + 0002:00291740 ?_Swap@?$_Ptr_base@V__ExceptionPtr@@@std@@IAEXAAV12@@Z 007d5740 f i libcpmtd:excptptr.obj + 0002:00291780 ?__ExceptionPtrAssign@@YAXPAXPBX@Z 007d5780 f libcpmtd:excptptr.obj + 0002:002917b0 ?__ExceptionPtrCompare@@YA_NPBX0@Z 007d57b0 f libcpmtd:excptptr.obj + 0002:002917e0 ?__ExceptionPtrCopy@@YAXPAXPBX@Z 007d57e0 f libcpmtd:excptptr.obj + 0002:00291820 ?__ExceptionPtrCopyException@@YAXPAXPBX1@Z 007d5820 f libcpmtd:excptptr.obj + 0002:00291870 ?__ExceptionPtrCreate@@YAXPAX@Z 007d5870 f libcpmtd:excptptr.obj + 0002:002918a0 ?__ExceptionPtrCurrentException@@YAXPAX@Z 007d58a0 f libcpmtd:excptptr.obj + 0002:00291920 ?__ExceptionPtrDestroy@@YAXPAX@Z 007d5920 f libcpmtd:excptptr.obj + 0002:00291940 ?__ExceptionPtrRethrow@@YAXPBX@Z 007d5940 f libcpmtd:excptptr.obj + 0002:00291970 ?__ExceptionPtrSwap@@YAXPAX0@Z 007d5970 f libcpmtd:excptptr.obj + 0002:002919a0 ?__ExceptionPtrToBool@@YA_NPBX@Z 007d59a0 f libcpmtd:excptptr.obj + 0002:002919e0 ?align@std@@YAPAXIIAAPAXAAI@Z 007d59e0 f i libcpmtd:excptptr.obj + 0002:00291a60 ?allocate@?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QBEPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@I@Z 007d5a60 f i libcpmtd:excptptr.obj + 0002:00291aa0 ?deallocate@?$_Normal_allocator_traits@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@SAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@PAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@2@I@Z 007d5aa0 f i libcpmtd:excptptr.obj + 0002:00291ac0 ?deallocate@?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QBEXPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@I@Z 007d5ac0 f i libcpmtd:excptptr.obj + 0002:00291ad0 ?get@?$_Ptr_base@V__ExceptionPtr@@@std@@IBEPAV__ExceptionPtr@@XZ 007d5ad0 f i libcpmtd:excptptr.obj + 0002:00291af0 ?swap@?$shared_ptr@V__ExceptionPtr@@@std@@QAEXAAV12@@Z 007d5af0 f i libcpmtd:excptptr.obj + 0002:00291b10 ??2@YAPAXIHPBDH@Z 007d5b10 f LIBCMTD:new_debug.obj + 0002:00291b80 ??_U@YAPAXIHPBDH@Z 007d5b80 f LIBCMTD:new_debug.obj + 0002:00291bb0 __FindPESection 007d5bb0 f LIBCMTD:pesect.obj + 0002:00291c40 __IsNonwritableInCurrentImage 007d5c40 f LIBCMTD:pesect.obj + 0002:00291dc0 __ValidateImageBase 007d5dc0 f LIBCMTD:pesect.obj + 0002:00291e40 __allrem 007d5e40 f LIBCMTD:llrem.obj + 0002:00291f20 __SEH_prolog4 007d5f20 f LIBCMTD:sehprolg4.obj + 0002:00291f66 __SEH_epilog4 007d5f66 f LIBCMTD:sehprolg4.obj + 0002:00291fa0 __alloca_probe_16 007d5fa0 f LIBCMTD:alloca16.obj + 0002:00291fb6 __alloca_probe_8 007d5fb6 LIBCMTD:alloca16.obj + 0002:00291fe0 _strrchr 007d5fe0 f libvcruntimed:strrchr.obj + 0002:00292170 _wcsrchr 007d6170 f libvcruntimed:wcsrchr.obj + 0002:00292360 _strchr 007d6360 f libvcruntimed:strchr.obj + 0002:002923ce ___from_strstr_to_strchr 007d63ce libvcruntimed:strchr.obj + 0002:002924e0 _wcschr 007d64e0 f libvcruntimed:wcschr.obj + 0002:0029269f _RtlCaptureStackBackTrace@16 007d669f f kernel32:KERNEL32.dll + 0002:002926b0 __filter_x86_sse2_floating_point_exception_default 007d66b0 f LIBCMTD:x86_exception_filter.obj + 0002:002926b0 __filter_x86_sse2_floating_point_exception 007d66b0 f LIBCMTD:x86_exception_filter.obj + 0003:00000000 ___xc_a 007fc000 LIBCMTD:initializers.obj + 0003:0000064c ___xc_z 007fc64c LIBCMTD:initializers.obj + 0003:00000750 ___xi_a 007fc750 LIBCMTD:initializers.obj + 0003:00000a64 ___acrt_stdio_initializer 007fca64 libucrtd:stdio_initializer.obj + 0003:00000a68 ___acrt_tran_sse2_initializer 007fca68 libucrtd:sse2_initializer.obj + 0003:00000a6c ___acrt_timeset_initializer 007fca6c libucrtd:timeset_initializer.obj + 0003:00000a70 ___acrt_multibyte_initializer 007fca70 libucrtd:multibyte_initializer.obj + 0003:00000b78 ___xi_z 007fcb78 LIBCMTD:initializers.obj + 0003:00000c7c ___xl_a 007fcc7c LIBCMTD:tlssup.obj + 0003:00000c80 ___xl_z 007fcc80 LIBCMTD:tlssup.obj + 0003:00000c84 ___xp_a 007fcc84 LIBCMTD:initializers.obj + 0003:00000e8c ___acrt_locale_terminator 007fce8c libucrtd:locale_initializer.obj + 0003:00000e90 ___dcrt_console_output_terminator 007fce90 libucrtd:console_output_initializer.obj + 0003:00000f98 ___acrt_stdio_terminator 007fcf98 libucrtd:stdio_initializer.obj + 0003:0000109c ___xp_z 007fd09c LIBCMTD:initializers.obj + 0003:000011a0 ___xt_a 007fd1a0 LIBCMTD:initializers.obj + 0003:000012a4 ___xt_z 007fd2a4 LIBCMTD:initializers.obj + 0003:000013b0 ??_C@_0BB@FCMFBGOM@invalid?5argument@ 007fd3b0 MagicProcess.obj + 0003:000013c4 ??_C@_02DKCKIIND@?$CFs@ 007fd3c4 MagicProcess.obj + 0003:000013c8 ??_C@_0GI@JGBAKFL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 007fd3c8 MagicProcess.obj + 0003:00001448 ??_C@_1NA@LMAPJNFA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 007fd448 MagicProcess.obj + 0003:00001548 ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ 007fd548 MagicProcess.obj + 0003:000015a0 ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ 007fd5a0 MagicProcess.obj + 0003:000015d0 ??_C@_0BJ@LFDBABJJ@ITERATOR?5LIST?5CORRUPTED?$CB@ 007fd5d0 MagicProcess.obj + 0003:000015f0 ??_C@_1EE@KLDMFDFL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAI?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA_@ 007fd5f0 MagicProcess.obj + 0003:00001644 ??_C@_1DG@PLBPCAEM@?$AA?$CC?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5@ 007fd644 MagicProcess.obj + 0003:00001688 ??_7ByteBuffer@@6B@ 007fd688 MagicProcess.obj + 0003:00001690 ??_C@_1FO@EOGPCNLL@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 007fd690 MagicProcess.obj + 0003:00001700 ??_C@_1CE@GMGCLAMH@?$AAs?$AAi?$AAz?$AAe?$AA?$CI?$AA?$CJ?$AA?5?$AA?$DM?$AA?5?$AA1?$AA0?$AA0?$AA0?$AA0?$AA0@ 007fd700 MagicProcess.obj + 0003:00001730 ??_7Packet@@6B@ 007fd730 MagicProcess.obj + 0003:00001738 ??_C@_0BO@PFKOHNJC@vector?5subscript?5out?5of?5range@ 007fd738 MagicProcess.obj + 0003:00001760 ??_C@_0GH@OAKCKNBB@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 007fd760 MagicProcess.obj + 0003:000017e0 ??_C@_1MO@EFAIPEBF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 007fd7e0 MagicProcess.obj + 0003:000018d8 ??_C@_1JK@PKCFAHNP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAu?$AAn?$AAs@ 007fd8d8 MagicProcess.obj + 0003:00001990 ??_C@_1EA@LEKOKFNB@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAs?$AAu?$AAb?$AAs?$AAc?$AAr?$AAi@ 007fd990 MagicProcess.obj + 0003:000019dc ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long@ 007fd9dc MagicProcess.obj + 0003:000019f4 ??_C@_0BP@OLDKBHLM@map?1set?5iterators?5incompatible@ 007fd9f4 MagicProcess.obj + 0003:00001a20 ??_C@_0GG@KBGLNBGP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 007fda20 MagicProcess.obj + 0003:00001aa0 ??_C@_1MM@IOMAOBLC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 007fdaa0 MagicProcess.obj + 0003:00001b98 ??_C@_1EC@JLIDLCDH@?$AA?$CC?$AAm?$AAa?$AAp?$AA?1?$AAs?$AAe?$AAt?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt@ 007fdb98 MagicProcess.obj + 0003:00001be8 ??_C@_0DG@LCFNIIPB@cannot?5dereference?5value?9initia@ 007fdbe8 MagicProcess.obj + 0003:00001c28 ??_C@_1HA@ILGCNILF@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr@ 007fdc28 MagicProcess.obj + 0003:00001cb0 ??_C@_0CI@OKFEHCEB@cannot?5dereference?5end?5map?1set?5@ 007fdcb0 MagicProcess.obj + 0003:00001ce0 ??_C@_1FE@NKHAAGMB@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr@ 007fdce0 MagicProcess.obj + 0003:00001d44 ??_C@_0DA@GGPHOHEL@map?1set?5erase?5iterator?5from?5inc@ 007fdd44 MagicProcess.obj + 0003:00001d80 ??_C@_1GE@FENJBJJO@?$AA?$CC?$AAm?$AAa?$AAp?$AA?1?$AAs?$AAe?$AAt?$AA?5?$AAe?$AAr?$AAa?$AAs?$AAe?$AA?5@ 007fdd80 MagicProcess.obj + 0003:00001df8 ??_C@_0CE@JAJNKOFK@cannot?5erase?5map?1set?5end?$CI?$CJ?5iter@ 007fddf8 MagicProcess.obj + 0003:00001e28 ??_C@_1EM@MEAEPHLP@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAm@ 007fde28 MagicProcess.obj + 0003:00001e88 ??_C@_1EO@GFNCMDLA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AA_@ 007fde88 MagicProcess.obj + 0003:00001ee8 ??_C@_0GJ@DPELONCG@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 007fdee8 MagicProcess.obj + 0003:00001f68 ??_C@_1NC@DJMFCDKA@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 007fdf68 MagicProcess.obj + 0003:00002064 ??_C@_0BD@FEEMDEPI@invalid?5comparator@ 007fe064 MagicProcess.obj + 0003:0000207c ??_C@_1CI@JONCLBEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAD?$AAe?$AAb?$AAu?$AAg?$AA_?$AAl?$AAt?$AA_@ 007fe07c MagicProcess.obj + 0003:000020ac ??_C@_1CK@NDNHPKPI@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAc?$AAo?$AAm?$AAp?$AAa?$AAr@ 007fe0ac MagicProcess.obj + 0003:000020e0 ??_C@_0EJ@GGEPAAEA@WARNING?3?5Unhandled?5buff?5type?5?$CI?$CF@ 007fe0e0 MagicProcess.obj + 0003:00002138 ??_C@_1BEA@CGCDHDPH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe138 MagicProcess.obj + 0003:000022b8 ??_C@_1BDO@OLEAHEIG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe2b8 MagicProcess.obj + 0003:00002438 ??_C@_1BDK@OMBGPIDP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe438 MagicProcess.obj + 0003:000025b0 ??_C@_1BDK@JLCLGGMM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe5b0 MagicProcess.obj + 0003:00002728 ??_C@_1BDI@MHJMHKFK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe728 MagicProcess.obj + 0003:000028a0 ??_C@_1BDI@NMKILFDL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007fe8a0 MagicProcess.obj + 0003:00002a18 ??_C@_1BJG@LNNKHOOH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 007fea18 MagicProcess.obj + 0003:00002c00 __real@42c80000 007fec00 MagicProcess.obj + 0003:00002c04 ??_C@_0BB@GCADKGJO@map?1set?5too?5long@ 007fec04 Unit.obj + 0003:00002c18 ??_C@_0DE@DMNPKCGM@cannot?5increment?5value?9initiali@ 007fec18 Unit.obj + 0003:00002c58 ??_C@_1GM@BJMCGEGI@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe@ 007fec58 Unit.obj + 0003:00002cdc ??_C@_0CG@NLEHEOHN@cannot?5increment?5end?5map?1set?5it@ 007fecdc Unit.obj + 0003:00002d10 ??_C@_1FA@KLFCDGNE@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe@ 007fed10 Unit.obj + 0003:00002d74 ??_7ReferenceObject@@6B@ 007fed74 Unit.obj + 0003:00002d80 ??_7Unit@@6B@ 007fed80 Unit.obj + 0003:00002e08 ??_C@_1FO@JHFOJNIP@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 007fee08 Unit.obj + 0003:00002e78 ??_C@_1CG@GHDGEGKD@?$AAp?$AAT?$AAa?$AAr?$AAg?$AAe?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl@ 007fee78 Unit.obj + 0003:00002ea8 ??_C@_1BBM@KMOFLHIF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007feea8 Unit.obj + 0003:00003000 ??_C@_1BBM@MBIFOEA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff000 Unit.obj + 0003:00003158 ??_C@_1BEA@IGNOJKDC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff158 Unit.obj + 0003:000032d8 ??_C@_1CCE@BBBFIIBF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff2d8 Unit.obj + 0003:00003570 ??_C@_1CCE@LBOIGBNA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff570 Unit.obj + 0003:00003808 ??_C@_1BBK@FKNOBLOE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff808 Unit.obj + 0003:00003960 ??_C@_1CCC@CFDDLDIE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ff960 Unit.obj + 0003:00003bf0 ??_C@_1BDK@GBLCJCPH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ffbf0 Unit.obj + 0003:00003d68 ??_C@_1BDK@CHGAKHJD@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ffd68 Unit.obj + 0003:00003ee0 ??_C@_1BDI@BMFICFHB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 007ffee0 Unit.obj + 0003:00004058 ??_C@_1BDI@JMACIJME@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00800058 Unit.obj + 0003:000041d0 __real@00000000 008001d0 Unit.obj + 0003:000041d4 __real@3e4ccccd 008001d4 Unit.obj + 0003:000041d8 __real@3e99999a 008001d8 Unit.obj + 0003:000041dc __real@3ea8f5c3 008001dc Unit.obj + 0003:000041e0 __real@3f000000 008001e0 Unit.obj + 0003:000041e4 __real@3f19999a 008001e4 Unit.obj + 0003:000041e8 __real@3f4ccccd 008001e8 Unit.obj + 0003:000041ec __real@3f59999a 008001ec Unit.obj + 0003:000041f0 __real@3f7d70a4 008001f0 Unit.obj + 0003:000041f4 __real@3f800000 008001f4 Unit.obj + 0003:000041f8 __real@3fa00000 008001f8 Unit.obj + 0003:00004200 __real@3fe3333333333333 00800200 Unit.obj + 0003:00004210 __real@3fe6666666666666 00800210 Unit.obj + 0003:0000421c __real@40000000 0080021c Unit.obj + 0003:00004220 __real@4004cccccccccccd 00800220 Unit.obj + 0003:0000422c __real@40400000 0080022c Unit.obj + 0003:00004230 __real@40800000 00800230 Unit.obj + 0003:00004234 __real@40a00000 00800234 Unit.obj + 0003:00004238 __real@41b00000 00800238 Unit.obj + 0003:0000423c __real@42100000 0080023c Unit.obj + 0003:00004240 __real@42380000 00800240 Unit.obj + 0003:00004244 __real@42480000 00800244 Unit.obj + 0003:00004248 __real@42600000 00800248 Unit.obj + 0003:0000424c __real@42940000 0080024c Unit.obj + 0003:00004250 __real@42a00000 00800250 Unit.obj + 0003:00004254 __real@42a40000 00800254 Unit.obj + 0003:00004258 __real@42aa0000 00800258 Unit.obj + 0003:0000425c __real@42ac0000 0080025c Unit.obj + 0003:00004260 __real@42b00000 00800260 Unit.obj + 0003:00004264 __real@42c00000 00800264 Unit.obj + 0003:00004268 __real@42c40000 00800268 Unit.obj + 0003:0000426c __real@42c60000 0080026c Unit.obj + 0003:00004270 __real@42cc0000 00800270 Unit.obj + 0003:00004274 __real@42d40000 00800274 Unit.obj + 0003:00004278 __real@42dc0000 00800278 Unit.obj + 0003:0000427c __real@42e20000 0080027c Unit.obj + 0003:00004280 __real@42f80000 00800280 Unit.obj + 0003:00004284 __real@42fa0000 00800284 Unit.obj + 0003:00004288 __real@42fe0000 00800288 Unit.obj + 0003:0000428c __real@43080000 0080028c Unit.obj + 0003:00004290 __real@430b0000 00800290 Unit.obj + 0003:00004294 __real@430e0000 00800294 Unit.obj + 0003:00004298 __real@43100000 00800298 Unit.obj + 0003:0000429c __real@43140000 0080029c Unit.obj + 0003:000042a0 __real@43150000 008002a0 Unit.obj + 0003:000042a4 __real@43160000 008002a4 Unit.obj + 0003:000042a8 __real@431c0000 008002a8 Unit.obj + 0003:000042ac __real@431d0000 008002ac Unit.obj + 0003:000042b0 __real@43290000 008002b0 Unit.obj + 0003:000042b4 __real@432e0000 008002b4 Unit.obj + 0003:000042b8 __real@43300000 008002b8 Unit.obj + 0003:000042bc __real@43330000 008002bc Unit.obj + 0003:000042c0 __real@433e0000 008002c0 Unit.obj + 0003:000042c4 __real@43540000 008002c4 Unit.obj + 0003:000042c8 __real@435e0000 008002c8 Unit.obj + 0003:000042cc __real@43600000 008002cc Unit.obj + 0003:000042d0 __real@43610000 008002d0 Unit.obj + 0003:000042d4 __real@43740000 008002d4 Unit.obj + 0003:000042d8 __real@43870000 008002d8 Unit.obj + 0003:000042dc __real@43940000 008002dc Unit.obj + 0003:000042e0 __real@43948000 008002e0 Unit.obj + 0003:000042e4 __real@439f0000 008002e4 Unit.obj + 0003:000042e8 __real@43b40000 008002e8 Unit.obj + 0003:000042ec __real@43c20000 008002ec Unit.obj + 0003:000042f0 __real@43c98000 008002f0 Unit.obj + 0003:000042f4 __real@43cd8000 008002f4 Unit.obj + 0003:000042f8 __real@43dc0000 008002f8 Unit.obj + 0003:000042fc __real@43f58000 008002fc Unit.obj + 0003:00004300 __real@43fd8000 00800300 Unit.obj + 0003:00004304 __real@44134000 00800304 Unit.obj + 0003:00004308 __real@44154000 00800308 Unit.obj + 0003:0000430c __real@442b0000 0080030c Unit.obj + 0003:00004310 __real@442f0000 00800310 Unit.obj + 0003:00004314 __real@4437c000 00800314 Unit.obj + 0003:00004318 __real@443cc000 00800318 Unit.obj + 0003:0000431c __real@44430000 0080031c Unit.obj + 0003:00004320 __real@44494000 00800320 Unit.obj + 0003:00004324 __real@444fc000 00800324 Unit.obj + 0003:00004328 __real@44520000 00800328 Unit.obj + 0003:0000432c __real@4457c000 0080032c Unit.obj + 0003:00004330 __real@44598000 00800330 Unit.obj + 0003:00004334 __real@44620000 00800334 Unit.obj + 0003:00004338 __real@446b8000 00800338 Unit.obj + 0003:0000433c __real@44728000 0080033c Unit.obj + 0003:00004340 __real@44744000 00800340 Unit.obj + 0003:00004344 __real@44e38000 00800344 Unit.obj + 0003:00004348 __real@44ea8000 00800348 Unit.obj + 0003:0000434c __real@44eb0000 0080034c Unit.obj + 0003:00004350 __real@ff7fffff 00800350 Unit.obj + 0003:00004358 ??_7CN3ShapeMgr@@6B@ 00800358 N3ShapeMgr.obj + 0003:00004360 ??_C@_1FO@GBFPMHNI@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 00800360 N3ShapeMgr.obj + 0003:000043d0 ??_C@_13COJANIEC@?$AA0@ 008003d0 N3ShapeMgr.obj + 0003:000043d8 ??_C@_1GC@ENOBLAON@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 008003d8 N3ShapeMgr.obj + 0003:00004450 __real@41800000 00800450 N3ShapeMgr.obj + 0003:00004454 __real@45800000 00800454 N3ShapeMgr.obj + 0003:00004460 ??_7CGameSocket@@6B@ 00800460 GameSocket.obj + 0003:00004488 ??_C@_0BA@JFNIOLAK@string?5too?5long@ 00800488 GameSocket.obj + 0003:0000449c ??_C@_0DD@GBKCLGCJ@?$CK?$CK?$CK?5CloseProcess?5?9?5socketID?$DN?$CFd?5@ 0080049c GameSocket.obj + 0003:000044dc ??_C@_0BM@KKCBBAIL@Game?5Server?5connected?5?9?5?$CFs?6@ 008004dc GameSocket.obj + 0003:00004500 ??_C@_0DA@NIIGABKN@?$CK?$CK?$CK?$CK?5ReConnect?5?9?5server?$DN?$CFs?0?5?5so@ 00800500 GameSocket.obj + 0003:0000453c ??_C@_0CO@LNNDMIKH@?$CK?$CK?$CK?$CK?5Connect?5?9?5server?$DN?$CFs?0?5?5sock@ 0080053c GameSocket.obj + 0003:00004574 ??_C@_0DD@DPFICOBI@?$CK?$CK?$CK?$CK?5?5RecvUserInfo?$CI?$CJ?9?9?9?$DO?5uid?5?$DN?5@ 00800574 GameSocket.obj + 0003:000045b4 ??_C@_0DG@PHPADAHI@Error?3?3?5RecvUserInOut?$CI?$CJ?0?0?5uid?5?$DN@ 008005b4 GameSocket.obj + 0003:000045f4 ??_C@_0CC@LFIPJCNL@?$CD?$CD?$CD?$CD?5Fail?5?3?5pMap?5?$DN?$DN?5nullptr?5?$CD?$CD?$CD@ 008005f4 GameSocket.obj + 0003:0000461c ??_C@_0DJ@HPFLDNNM@?$CD?$CD?$CD?$CD?5RecvUserInOut?5Fail?5?3?5?$FLname@ 0080061c GameSocket.obj + 0003:00004660 ??_C@_0EI@BBJMEDMJ@?$CD?$CD?$CD?$CD?5GameSocket?9RecvUserInOut?$CI?$CJ@ 00800660 GameSocket.obj + 0003:000046b8 ??_C@_0CC@LMNINBIE@?$CD?$CD?$CD?$CD?5User?$LF?n?$LH?O?5?$LN?G?F?P?5sid?5?$DN?5?$CFd?5?$CD?$CD?$CD@ 008006b8 GameSocket.obj + 0003:000046e0 ??_C@_0CM@NBAMEADL@?$CD?$CD?$CD?$CD?5User?5not?5in?5valid?5zone?0?5si@ 008006e0 GameSocket.obj + 0003:00004718 ??_C@_0EI@CHGDPCIL@?$CD?$CD?$CD?$CD?5GameSocket?5?0?0?5SetUid?5Fail?5@ 00800718 GameSocket.obj + 0003:00004770 ??_C@_0EJ@OGLHJJJO@?$CD?$CD?$CD?$CD?5GameSocket?5?0?5SetUid?5Fail?5?3@ 00800770 GameSocket.obj + 0003:000047c8 ??_C@_0CP@FOLAMHLF@?$CK?$CK?$CK?$CK?5RecvUserRegene?5?9?9?5uid?5?$DN?5?$CI?$CF@ 008007c8 GameSocket.obj + 0003:00004800 ??_C@_0DE@PPKCDENO@?$CK?$CK?$CK?$CK?5RecvZoneChange?5?9?9?5user?$CI?$CFs?0@ 00800800 GameSocket.obj + 0003:00004840 ??_C@_0DE@FBHOEMPJ@?$CD?$CD?$CD?$CD?5?5?5RecvGateOpen?$CI?$CJ?5?5nid?5Fail@ 00800840 GameSocket.obj + 0003:00004880 ??_C@_0DJ@HLMGBLLI@?$CD?$CD?$CD?$CD?5?5?5RecvGateOpen?$CI?$CJ?5?5NpcType?5@ 00800880 GameSocket.obj + 0003:000048c4 ??_C@_0DM@ODKICKGH@?$CK?$CK?$CK?$CK?5?5RecvGateOpen?$CI?$CJ?9?9?9?$DO?5nid?5?$DN?5@ 008008c4 GameSocket.obj + 0003:0000490c ??_C@_0DJ@LMHOBCBO@?$CD?$CD?$CD?$CD?5RecvPartyInfoAllData?5Index@ 0080090c GameSocket.obj + 0003:00004950 ??_C@_0DK@DMEPPMEE@?$CK?$CK?$CK?$CK?5?5RecvPartyInfoAllData?$CI?$CJ?9?9?9@ 00800950 GameSocket.obj + 0003:00004998 ??_C@_1BCI@CDONEGFI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00800998 GameSocket.obj + 0003:00004b00 ??_C@_1BCI@IDBAKPJN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00800b00 GameSocket.obj + 0003:00004c68 ??_C@_1BCG@OIBICMPB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00800c68 GameSocket.obj + 0003:00004dc8 __real@41200000 00800dc8 GameSocket.obj + 0003:00004dcc ??_C@_0CC@CAKOHBLF@AI?5Server?5for?5Knight?5Online?5v21@ 00800dcc main.obj + 0003:00004df4 ??_C@_0CC@HDMJBDPJ@?6Server?5started?5up?5successfully@ 00800df4 main.obj + 0003:00004e1c ??_C@_05PDJBBECF@pause@ 00800e1c main.obj + 0003:00004e24 ??_C@_0CG@JNIBPIPH@Server?5shutting?5down?0?5please?5wa@ 00800e24 main.obj + 0003:00004e58 ??_7exception@std@@6B@ 00800e58 MAP.obj + 0003:00004e64 ??_C@_0BC@EOODALEL@Unknown?5exception@ 00800e64 MAP.obj + 0003:00004e80 ??_7bad_cast@std@@6B@ 00800e80 MAP.obj + 0003:00004e8c ??_C@_08EPJLHIJG@bad?5cast@ 00800e8c MAP.obj + 0003:00004e9c ??_7runtime_error@std@@6B@ 00800e9c MAP.obj + 0003:00004eac ??_7_System_error@std@@6B@ 00800eac MAP.obj + 0003:00004eb8 ??_C@_02LMMGGCAJ@?3?5@ 00800eb8 MAP.obj + 0003:00004ec0 ??_7system_error@std@@6B@ 00800ec0 MAP.obj + 0003:00004eca ??_C@_00CNPNBAHC@@ 00800eca MAP.obj + 0003:00004ed0 ??_7_Generic_error_category@std@@6B@ 00800ed0 MAP.obj + 0003:00004ef0 ??_C@_07DCLBNMLN@generic@ 00800ef0 MAP.obj + 0003:00004f00 ??_7_Iostream_error_category@std@@6B@ 00800f00 MAP.obj + 0003:00004f20 ??_C@_08LLGCOLLL@iostream@ 00800f20 MAP.obj + 0003:00004f2c ??_C@_0BG@PADBLCHM@iostream?5stream?5error@ 00800f2c MAP.obj + 0003:00004f4c ??_7MAP@@6B@ 00800f4c MAP.obj + 0003:00004f58 ??_C@_0GI@PAKMAGLC@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 00800f58 MAP.obj + 0003:00004fd8 ??_C@_1NA@FCIDGEIB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 00800fd8 MAP.obj + 0003:000050d4 ??_C@_0BJ@HAJGEHKO@transposed?5pointer?5range@ 008010d4 MAP.obj + 0003:000050f4 ??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@ 008010f4 MAP.obj + 0003:00005124 ??_C@_1DG@FJIKMGFD@?$AA?$CC?$AAt?$AAr?$AAa?$AAn?$AAs?$AAp?$AAo?$AAs?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi@ 00801124 MAP.obj + 0003:00005168 ??_7_Facet_base@std@@6B@ 00801168 MAP.obj + 0003:00005178 ??_C@_0BA@ELKIONDK@bad?5locale?5name@ 00801178 MAP.obj + 0003:00005190 ??_C@_0GI@KBKNDIPM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 00801190 MAP.obj + 0003:00005210 ??_7facet@locale@std@@6B@ 00801210 MAP.obj + 0003:00005224 ??_7codecvt_base@std@@6B@ 00801224 MAP.obj + 0003:00005248 ??_7ctype_base@std@@6B@ 00801248 MAP.obj + 0003:0000525c ??_7?$ctype@D@std@@6B@ 0080125c MAP.obj + 0003:00005298 ??_7failure@ios_base@std@@6B@ 00801298 MAP.obj + 0003:000052a8 ??_7ios_base@std@@6B@ 008012a8 MAP.obj + 0003:000052b0 ??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set@ 008012b0 MAP.obj + 0003:000052cc ??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set@ 008012cc MAP.obj + 0003:000052e8 ??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set@ 008012e8 MAP.obj + 0003:00005304 ??_C@_0DK@IEGOKFEA@ERROR?3?5Unable?5to?5load?5room?5even@ 00801304 MAP.obj + 0003:00005350 ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ 00801350 MAP.obj + 0003:0000535c ??_7?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ 0080135c MAP.obj + 0003:00005364 ??_8?$basic_istream@DU?$char_traits@D@std@@@std@@7B@ 00801364 MAP.obj + 0003:00005374 ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ 00801374 MAP.obj + 0003:000053c0 ??_7?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ 008013c0 MAP.obj + 0003:0000540c ??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ 0080140c MAP.obj + 0003:00005414 ??_8?$basic_ifstream@DU?$char_traits@D@std@@@std@@7B@ 00801414 MAP.obj + 0003:00005420 ??_C@_0P@CPCOMLLK@?4?1map?1?$CFd?4aievt@ 00801420 MAP.obj + 0003:00005434 ??_C@_0DG@PKOLCKPO@ERROR?3?5?$CFs?5does?5not?5exist?5or?5no?5@ 00801434 MAP.obj + 0003:00005474 ??_C@_04IGGICHJH@ROOM@ 00801474 MAP.obj + 0003:0000547c ??_C@_0BB@CHALDOFK@Event?5Double?5?$CB?$CB?6@ 0080147c MAP.obj + 0003:00005490 ??_C@_04KDPJLEDB@TYPE@ 00801490 MAP.obj + 0003:00005498 ??_C@_01OCOKONAJ@L@ 00801498 MAP.obj + 0003:0000549c ??_C@_01DDCIFGEA@E@ 0080149c MAP.obj + 0003:000054a0 ??_C@_01FHEEJDEE@A@ 008014a0 MAP.obj + 0003:000054a4 ??_C@_01MJMHLOMK@O@ 008014a4 MAP.obj + 0003:000054a8 ??_C@_06IMBACBKG@NATION@ 008014a8 MAP.obj + 0003:000054b0 ??_C@_03PPOGOLCL@POS@ 008014b0 MAP.obj + 0003:000054b4 ??_C@_06ICCAEGFA@POSEND@ 008014b4 MAP.obj + 0003:000054bc ??_C@_03JMGAKCCH@END@ 008014bc MAP.obj + 0003:000054c0 ??_C@_0EG@MJCBOFN@Unable?5to?5load?5AI?5EVT?5?$CI?$CFd?4aievt@ 008014c0 MAP.obj + 0003:00005514 ??_C@_0CH@GPDLCECK@?5Room?5Check?5?9?5number?5?$DN?5?$CFd?0?5x?$DN?$CFd@ 00801514 MAP.obj + 0003:00005544 ??_C@_0DE@LPKKINAL@?$CD?$CD?$CD?$CD?5SetRoom?5Error?5?3?5double?5eve@ 00801544 MAP.obj + 0003:00005584 ??_C@_0DM@FGPKLHLE@?$CD?$CD?$CD?$CD?5IsRoomStatusCheck?5Error?5?3?5@ 00801584 MAP.obj + 0003:000055cc ??_C@_0DJ@JFCNHHBG@?$CD?$CD?$CD?$CD?5InitializeRoom?5Error?5?3?5roo@ 008015cc MAP.obj + 0003:00005614 ??_7?$codecvt@DDU_Mbstatet@@@std@@6B@ 00801614 MAP.obj + 0003:00005648 ??_C@_1BDM@MANFPFHC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00801648 MAP.obj + 0003:000057c8 ??_C@_1BDM@GACIBMLH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008017c8 MAP.obj + 0003:00005948 ??_C@_1BDE@IEFLKPAP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00801948 MAP.obj + 0003:00005ac0 ??_C@_1BDE@CEKGEGMK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00801ac0 MAP.obj + 0003:00005c34 ??_C@_0BP@PFIPNLNI@front?$CI?$CJ?5called?5on?5empty?5string@ 00801c34 MAP.obj + 0003:00005c60 ??_C@_1LC@BJDDPGPA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAb?$AAa?$AAs?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi@ 00801c60 MAP.obj + 0003:00005d38 ??_C@_1EC@DINNLDHA@?$AA?$CC?$AAf?$AAr?$AAo?$AAn?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 00801d38 MAP.obj + 0003:00005d88 ??_C@_1BDK@IOIOLJEO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00801d88 MAP.obj + 0003:00005f00 ??_C@_1BDC@JMEJDJFF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00801f00 MAP.obj + 0003:00006070 ??_C@_1BBK@DGJKFJGI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00802070 MAP.obj + 0003:000061c8 ??_C@_1BBK@JGGHLAKN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008021c8 MAP.obj + 0003:00006320 ??_C@_1BBI@LNOJDHJL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00802320 MAP.obj + 0003:00006470 ??_C@_0BI@CFPLBAOH@invalid?5string?5position@ 00802470 MAP.obj + 0003:00006490 ??_C@_1BEI@NJGPHAOL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 00802490 MAP.obj + 0003:000066ec ??_C@_0N@NHGLKGEC@KERNEL32?4DLL@ 008026ec Npc.obj + 0003:000066fc ??_C@_0P@CDHHOHKP@GetTickCount64@ 008026fc Npc.obj + 0003:00006714 ??_7CNpc@@6B@ 00802714 Npc.obj + 0003:0000679c ??_C@_0DG@JLNEOAMI@?$CD?$CD?$CD?$CD?5Npc?9SetUid?5Zone?5Fail?5?3?5?$FLna@ 0080279c Npc.obj + 0003:000067e0 ??_C@_0GP@HOJJHMMG@?$CD?$CD?$CD?$CD?5SetUid?5failed?5?3?5?$FLnid?$DN?$CFd?0?5s@ 008027e0 Npc.obj + 0003:00006868 ??_C@_0DL@FMGAFCFA@?$CD?$CD?$CD?$CD?5SetUid?5Fail?5?3?5?$FLnid?$DN?$CFd?0?5sid@ 00802868 Npc.obj + 0003:000068b0 ??_C@_0DE@IJFFFHKC@?$CD?$CD?$CD?$CD?5Npc?9Init?5Zone?5Fail?5?3?5?$FLname@ 008028b0 Npc.obj + 0003:000068f0 ??_C@_0DJ@JCAKMOEM@?$CD?$CD?$CD?5Npc?9NpcTracing?5?5Fail?5?3?5nid?$DN@ 008028f0 Npc.obj + 0003:00006938 ??_C@_0ED@IELAKOBH@?$CD?$CD?$CD?$CD?$CD?5NpcTracing?5Fail?5?3?5?F?P?$LN?$LK?F?D?$MA@ 00802938 Npc.obj + 0003:00006988 ??_C@_0DC@EELENPLE@?$CD?$CD?$CD?5NpcTracing?5Fail?5?3?5StepMove?5@ 00802988 Npc.obj + 0003:000069c4 ??_C@_0DE@FPHOENHD@?$CD?$CD?$CD?5Npc?9Moving?5Fail?5?3?5nid?$DN?$CI?$CFd?0?5@ 008029c4 Npc.obj + 0003:00006a04 ??_C@_0DA@MOEHGJHK@Npc?9NpcMoving?92?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0@ 00802a04 Npc.obj + 0003:00006a40 ??_C@_0EB@EOCCMHBP@?$CD?$CD?$CD?5NpcStanding?5Zone?5Index?5Erro@ 00802a40 Npc.obj + 0003:00006a90 ??_C@_0DH@JEBILMGM@?$CD?$CD?$CD?5Npc?9NpcBack?5Fail?91?5?3?5nid?$DN?$CI?$CF@ 00802a90 Npc.obj + 0003:00006ad4 ??_C@_0CO@BJJKIFKD@Npc?9NpcBack?92?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0?5x@ 00802ad4 Npc.obj + 0003:00006b0c ??_C@_0CO@GLHPGJMG@Npc?9SetLive?91?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0?5x@ 00802b0c Npc.obj + 0003:00006b44 ??_C@_0DG@BMJEDGEG@?$CD?$CD?$CD?$CD?5Npc?9SetLive?$CI?$CJ?5Fail?5?3?5nTile@ 00802b44 Npc.obj + 0003:00006b84 ??_C@_0CO@GPJJKJM@Npc?9SetLive?92?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0?5x@ 00802b84 Npc.obj + 0003:00006bbc ??_C@_0BP@ECMLMMPB@Monster?5All?5Init?5Success?5?9?5?$CFd?6@ 00802bbc Npc.obj + 0003:00006be4 ??_C@_0DO@JGMFIKJN@?$CD?$CD?$CD?$CD?5Npc?9RandomBackMove?5Zone?5Fa@ 00802be4 Npc.obj + 0003:00006c30 ??_C@_0DP@HBHEHJIB@?$CD?$CD?$CD?$CD?5Npc?9Dead?$CI?$CJ?5Fail?5?3?5?$FLnid?$DN?$CFd?0@ 00802c30 Npc.obj + 0003:00006c7c ??_C@_0DE@GHJOAKCL@?$CD?$CD?$CD?$CD?5move?5fail?5?3?5?$FLnid?5?$DN?5?$CFd?$FN?0?5m_@ 00802c7c Npc.obj + 0003:00006cbc ??_C@_0CN@HDHLGENK@Npc?9StepMove?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0?5x?$DN@ 00802cbc Npc.obj + 0003:00006cf4 ??_C@_0DG@PIIFLEPD@?$CD?$CD?$CD?$CD?5IsNoPtahfind?5Fail?5?3?5nid?$DN?$CFd@ 00802cf4 Npc.obj + 0003:00006d34 ??_C@_0DJ@LIEABLII@?$CD?$CD?$CD?$CD?$CD?5StepNoPath?5Fail?5?3?5nid?$DN?$CFd?0@ 00802d34 Npc.obj + 0003:00006d78 ??_C@_0DN@GPKDMBKI@?$CD?$CD?$CD?$CD?5Npc?9StepNoPathMove?5Fail?5?3?5@ 00802d78 Npc.obj + 0003:00006dc8 ??_C@_0FD@OFCOEFFC@?$CD?$CD?$CD?5Npc?9GetTargetPath?$CI?$CJ?5User?5Fa@ 00802dc8 Npc.obj + 0003:00006e30 ??_C@_0FC@NPJKFOPE@?$CD?$CD?$CD?5Npc?9GetTargetPath?$CI?$CJ?5Npc?5Fai@ 00802e30 Npc.obj + 0003:00006e98 ??_C@_0EC@PMAJKJMN@Npc?9GetTargetPath?$CI?$CJ?5searchrange@ 00802e98 Npc.obj + 0003:00006ee8 ??_C@_0P@EMEPLIBB@Error?5catched?6@ 00802ee8 Npc.obj + 0003:00006efc ??_C@_0CP@EDKMNAMC@Npc?9MoveAttack?5?3?5nid?$DN?$CI?$CFd?0?5?$CFs?$CJ?0?5@ 00802efc Npc.obj + 0003:00006f34 ??_C@_0DI@OEBHDFL@Npc?9ResetPath?5Fail?5?9?5target_x?5?$DN@ 00802f34 Npc.obj + 0003:00006f78 ??_C@_0EL@FGONJOJ@?$CD?$CD?$CD?$CD?5Npc?9FindFriendRegion?$CI?$CJ?5Fai@ 00802f78 Npc.obj + 0003:00006fd8 ??_C@_0EL@LKHHGHEC@?$CD?$CD?$CD?$CD?5Npc?9GetUserInViewRange?$CI?$CJ?5F@ 00802fd8 Npc.obj + 0003:00007038 ??_C@_0JA@LPBJFJKB@?$CD?$CD?$CD?$CD?5Npc?9IsNoPathFind?5Fail?5?3?5NP@ 00803038 Npc.obj + 0003:000070e8 ??_C@_0EB@KOBFPGGK@?$CD?$CD?$CD?$CD?5Npc?9IsNoPathFind?5No?5map?5?3?5@ 008030e8 Npc.obj + 0003:00007138 ??_C@_0DD@OOPNCANK@?$CD?$CD?$CD?$CD?5IsNoPtahfind?5Fail?5?3?5nid?$DN?$CFd@ 00803138 Npc.obj + 0003:00007178 ??_C@_1BBG@PDOGJNBF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803178 Npc.obj + 0003:000072c8 ??_C@_1BCO@HMKKEKEB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008032c8 Npc.obj + 0003:00007438 ??_C@_1JG@ILDNFCDK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAu?$AAn?$AAs@ 00803438 Npc.obj + 0003:000074f0 ??_C@_1BBG@FDBLHENA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008034f0 Npc.obj + 0003:00007640 ??_C@_1BBE@EOPDDNKB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803640 Npc.obj + 0003:00007790 ??_C@_1BCM@NOJBHJNI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803790 Npc.obj + 0003:000078f8 ??_C@_1BEC@GMJJEDKN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008038f8 Npc.obj + 0003:00007a80 ??_C@_1BEA@BPKAJH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803a80 Npc.obj + 0003:00007c00 ??_C@_1BEK@BODCKIPC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803c00 Npc.obj + 0003:00007d90 ??_C@_1BEM@NDAPCPGB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803d90 Npc.obj + 0003:00007f20 ??_C@_1BDK@PBMCLFCM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00803f20 Npc.obj + 0003:00008098 ??_C@_1BEA@MOICNGNO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804098 Npc.obj + 0003:00008218 ??_C@_1BDO@NNDCEJEL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804218 Npc.obj + 0003:00008398 ??_C@_1BEI@POKBFAPF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804398 Npc.obj + 0003:00008528 ??_C@_1BEK@KKOGJMHB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804528 Npc.obj + 0003:000086b8 ??_C@_1BDI@JMIHLDEH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008046b8 Npc.obj + 0003:00008830 __real@3c8efa35 00804830 Npc.obj + 0003:00008838 __real@3f847ae147ae147b 00804838 Npc.obj + 0003:00008844 __real@3fc90fdb 00804844 Npc.obj + 0003:00008848 __real@3fc999999999999a 00804848 Npc.obj + 0003:00008858 __real@3fd3333333333333 00804858 Npc.obj + 0003:00008868 __real@3fe0000000000000 00804868 Npc.obj + 0003:00008878 __real@3feccccccccccccd 00804878 Npc.obj + 0003:00008888 __real@3ff199999999999a 00804888 Npc.obj + 0003:00008898 __real@3ff3333333333333 00804898 Npc.obj + 0003:000088a8 __real@3ff4cccccccccccd 008048a8 Npc.obj + 0003:000088b8 __real@3ff8000000000000 008048b8 Npc.obj + 0003:000088c8 __real@4024000000000000 008048c8 Npc.obj + 0003:000088d8 __real@4044000000000000 008048d8 Npc.obj + 0003:000088e4 __real@40490fdb 008048e4 Npc.obj + 0003:000088e8 __real@4054000000000000 008048e8 Npc.obj + 0003:000088f4 __real@4096cbe4 008048f4 Npc.obj + 0003:000088f8 __real@40e00000 008048f8 Npc.obj + 0003:000088fc __real@41700000 008048fc Npc.obj + 0003:00008900 __real@41f00000 00804900 Npc.obj + 0003:00008904 __real@42240000 00804904 Npc.obj + 0003:00008908 __real@447a0000 00804908 Npc.obj + 0003:0000890c __real@bf800000 0080490c Npc.obj + 0003:00008910 __xmm@80000000800000008000000080000000 00804910 Npc.obj + 0003:00008928 ??_7Thread@@6B@ 00804928 NpcThread.obj + 0003:00008934 ??_7CNpcThread@@6B@ 00804934 NpcThread.obj + 0003:0000893c ??_C@_0M@BKOEKPEP@Guard?5tower@ 0080493c NpcThread.obj + 0003:0000894c ??_C@_0O@EHINFACD@NpcThreadProc@ 0080494c NpcThread.obj + 0003:0000895c ??_C@_0BH@IMKKMGED@?$FL?5?$CFs?5?$FN?5Warning?51?5?3?5?$CFs?6@ 0080495c NpcThread.obj + 0003:00008978 ??_C@_0BH@CCFMBKA@?$FL?5?$CFs?5?$FN?5Warning?52?5?3?5?$CFs?6@ 00804978 NpcThread.obj + 0003:00008998 ??_C@_1NI@MMGADIEM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804998 NpcThread.obj + 0003:00008aa0 ??_C@_1NK@GIFMGGKI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804aa0 NpcThread.obj + 0003:00008ba8 ??_C@_1NK@MIKBIPGN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804ba8 NpcThread.obj + 0003:00008cb0 ??_C@_1BCG@HEHLELKM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804cb0 NpcThread.obj + 0003:00008e10 ??_C@_1BCG@NEIGKCGJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804e10 NpcThread.obj + 0003:00008f70 ??_C@_1BCE@IENCCOGJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00804f70 NpcThread.obj + 0003:000090d0 ??_C@_1BGE@OLOIEKLH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 008050d0 NpcThread.obj + 0003:00009280 ??_7CParty@@6B@ 00805280 Party.obj + 0003:00009288 ??_C@_0DJ@NBGIPMMG@Party?5?9?5Create?$CI?$CJ?5?3?5Party?5?$LL?$PN?$LM?$LK?5?5@ 00805288 Party.obj + 0003:000092d0 ??_C@_1BDK@BACFDHEB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008052d0 Party.obj + 0003:00009448 ??_C@_1BDI@OFFHMNEB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00805448 Party.obj + 0003:000095c0 ??_C@_1BII@FACNLKPI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 008055c0 Party.obj + 0003:0000979c ??_7CPathFind@@6B@ 0080579c PathFind.obj + 0003:000097a8 ??_C@_0GK@GMGFCMKM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 008057a8 PathFind.obj + 0003:00009828 ??_C@_1NE@BBHIPHKC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 00805828 PathFind.obj + 0003:00009928 ??_C@_1BC@ICCOKLEG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAm?$AAa?$AAx@ 00805928 PathFind.obj + 0003:00009944 ??_7CRoomEvent@@6B@ 00805944 RoomEvent.obj + 0003:0000994c ??_C@_0DB@OHHILKHH@?$CD?$CD?$CD?5Check?5Event?5Fail?5?3?3?5array?5o@ 0080594c RoomEvent.obj + 0003:00009988 ??_C@_0DH@PPCHIOCE@?$CD?$CD?$CD?5CheckEvent?5Error?5?3?5monster?5@ 00805988 RoomEvent.obj + 0003:000099cc ??_C@_0BL@PCKDPGJI@?$LI?p?$LF?g?5?$LI?s?$LN?$LK?E?M?$LI?$KG?5?A?W?$LP?$KJ?$LG?s?5?A?W?$MA?S?6@ 008059cc RoomEvent.obj + 0003:000099ec ??_C@_0BO@NOGEEJIA@?F?$KP?A?$KE?$LI?s?$LN?$LK?E?M?$CI?$CFd?$CJ?$LI?$KG?5?$CFd?$LI?$LG?$LI?$KO?5?A?W?$MA?S?6@ 008059ec RoomEvent.obj + 0003:00009a10 ??_C@_0CP@NKFIGNBD@?$CD?$CD?$CD?5Check?5Event?5Fail?5?3?3?5event?5n@ 00805a10 RoomEvent.obj + 0003:00009a48 ??_C@_0EA@MJCJJMAM@?$CD?$CD?$CD?5RunEvent?5Error?5?3?5?$LI?s?$LN?$LK?E?M?5?C?b?G@ 00805a48 RoomEvent.obj + 0003:00009a98 ??_C@_0EI@BNFFMIAE@?$CD?$CD?$CD?5RunEvent?5Error?5?3?5?$LJ?$KO?5?$LE?c?$LE?g?5?$LI?s@ 00805a98 RoomEvent.obj + 0003:00009af0 ??_C@_0CM@CIMBPNEE@RunEvent?5?9?5room?$DN?$CFd?0?5option1?$DN?$CFd?0@ 00805af0 RoomEvent.obj + 0003:00009b24 ??_C@_0CM@NPNCCNAB@?$CD?$CD?$CD?5RunEvent?5Fail?5?3?3?5event?5numb@ 00805b24 RoomEvent.obj + 0003:00009b58 ??_C@_0DH@KIAMGLBD@?$CD?$CD?$CD?5RoomEvent?9GetNpcPtr?$CI?$CJ?5?3?5mon@ 00805b58 RoomEvent.obj + 0003:00009b9c ??_C@_1CI@OGMLCONI@?$AAp?$AAo?$AAs?$AA?5?$AA?$CL?$AA?5?$AAc?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi@ 00805b9c ServerDlg.obj + 0003:00009bd0 ??_7?$KOSocketMgr@VCGameSocket@@@@6B@ 00805bd0 ServerDlg.obj + 0003:00009bfc ??_C@_07OHKHACFK@0?40?40?40@ 00805bfc ServerDlg.obj + 0003:00009c08 ??_C@_0BP@FGPMGGON@Bind?5unsuccessful?5on?5port?5?$CFu?4?6@ 00805c08 ServerDlg.obj + 0003:00009c30 ??_C@_0BO@OHFOFNLP@Unable?5to?5listen?5on?5port?5?$CFu?4?6@ 00805c30 ServerDlg.obj + 0003:00009c58 ??_C@_1BDE@BFFKBFGJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00805c58 ServerDlg.obj + 0003:00009dd0 ??_C@_1BDE@LFKHPMKM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00805dd0 ServerDlg.obj + 0003:00009f48 ??_C@_1BDC@PKGBLBAN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00805f48 ServerDlg.obj + 0003:0000a0b8 ??_C@_1BIA@BBAIIHDP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 008060b8 ServerDlg.obj + 0003:0000a288 ??_7CMagicTableSet@@6B@ 00806288 ServerDlg.obj + 0003:0000a2a0 ??_C@_05DKLEPMBK@MAGIC@ 008062a0 ServerDlg.obj + 0003:0000a2a8 ??_C@_0MO@GJJMBOI@MagicNum?0?5BeforeAction?0?5TargetA@ 008062a8 ServerDlg.obj + 0003:0000a3a4 ??_7CMagicType1Set@@6B@ 008063a4 ServerDlg.obj + 0003:0000a3bc ??_C@_0M@JIOFBMBE@MAGIC_TYPE1@ 008063bc ServerDlg.obj + 0003:0000a3d0 ??_C@_0FG@MOFGBLHM@iNum?0?5Type?0?5HitRate?0?5Hit?0?5AddDa@ 008063d0 ServerDlg.obj + 0003:0000a43c ??_7CMagicType2Set@@6B@ 0080643c ServerDlg.obj + 0003:0000a454 ??_C@_0M@LDMIEPNH@MAGIC_TYPE2@ 00806454 ServerDlg.obj + 0003:0000a464 ??_C@_0DH@ICDHBOBC@iNum?0?5HitType?0?5HitRate?0?5AddDama@ 00806464 ServerDlg.obj + 0003:0000a4ac ??_7CMagicType4Set@@6B@ 008064ac ServerDlg.obj + 0003:0000a4c4 ??_C@_0M@OFJCOIFB@MAGIC_TYPE4@ 008064c4 ServerDlg.obj + 0003:0000a4d8 ??_C@_0PC@ELOCEPJA@iNum?0?5BuffType?0?5Radius?0?5Duratio@ 008064d8 ServerDlg.obj + 0003:0000a600 ??_7CObjectPosSet@@6B@ 00806600 ServerDlg.obj + 0003:0000a618 ??_C@_0M@HKCECKNK@K_OBJECTPOS@ 00806618 ServerDlg.obj + 0003:0000a628 ??_C@_0EN@JAOCDDHC@ZoneID?0?5Belong?0?5sIndex?0?5Type?0?5C@ 00806628 ServerDlg.obj + 0003:0000a688 ??_7CNpcPosSet@@6B@ 00806688 ServerDlg.obj + 0003:0000a6a0 ??_C@_08OPIDHIGD@K_NPCPOS@ 008066a0 ServerDlg.obj + 0003:0000a6b0 ??_C@_0JP@IGBALIN@ZoneID?0?5NpcID?0?5strName?0?5isNPC?0?5@ 008066b0 ServerDlg.obj + 0003:0000a774 ??_7CZoneInfoSet@@6B@ 00806774 ServerDlg.obj + 0003:0000a78c ??_C@_09EJEKMKHD@ZONE_INFO@ 0080678c ServerDlg.obj + 0003:0000a798 ??_C@_0CJ@NLAEMBMF@ServerNo?0?5ZoneNo?0?5strZoneName?0?5@ 00806798 ServerDlg.obj + 0003:0000a7cc ??_C@_0DM@MMKCNELI@ERROR?3?5Zone?5ID?5?$CFd?5is?5too?5large?4@ 008067cc ServerDlg.obj + 0003:0000a818 ??_7CNpcItemSet@@6B@ 00806818 ServerDlg.obj + 0003:0000a830 ??_C@_0P@GKMMKOH@K_MONSTER_ITEM@ 00806830 ServerDlg.obj + 0003:0000a848 ??_C@_0HA@FGMJNDD@sIndex?0?5iItem01?0?5sPersent01?0?5iI@ 00806848 ServerDlg.obj + 0003:0000a8d4 ??_7CMakeItemGroupSet@@6B@ 008068d4 ServerDlg.obj + 0003:0000a8ec ??_C@_0BA@KHDNNCM@MAKE_ITEM_GROUP@ 008068ec ServerDlg.obj + 0003:0000a900 ??_C@_0BDB@OOOCMMLN@iItemGroupNum?0?5iItem_1?0?5iItem_2@ 00806900 ServerDlg.obj + 0003:0000aa74 ??_7CNpcTableSet@@6B@ 00806a74 ServerDlg.obj + 0003:0000aa8c ??_C@_05FNMCOBJB@K_NPC@ 00806a8c ServerDlg.obj + 0003:0000aa98 ??_C@_0BMI@FCMOMGCG@sSid?0?5strName?0?5sPid?0?5sSize?0?5isB@ 00806a98 ServerDlg.obj + 0003:0000acc0 ??_7CMonTableSet@@6B@ 00806cc0 ServerDlg.obj + 0003:0000acd8 ??_C@_09CHENABNK@K_MONSTER@ 00806cd8 ServerDlg.obj + 0003:0000ace8 ??_7CMakeWeaponTableSet@@6B@ 00806ce8 ServerDlg.obj + 0003:0000ad00 ??_C@_0M@EBDMIIBP@MAKE_WEAPON@ 00806d00 ServerDlg.obj + 0003:0000ad10 ??_C@_0ID@DIHOGEJD@byLevel?0?5sClass_1?0?5sClass_2?0?5sC@ 00806d10 ServerDlg.obj + 0003:0000adb4 ??_7CMakeDefensiveTableSet@@6B@ 00806db4 ServerDlg.obj + 0003:0000adcc ??_C@_0P@GIPKHEDA@MAKE_DEFENSIVE@ 00806dcc ServerDlg.obj + 0003:0000ade0 ??_C@_0EO@CAJFCDEJ@byLevel?0?5sClass_1?0?5sClass_2?0?5sC@ 00806de0 ServerDlg.obj + 0003:0000ae44 ??_7CMakeGradeItemTableSet@@6B@ 00806e44 ServerDlg.obj + 0003:0000ae5c ??_C@_0BE@CKPDJHAA@MAKE_ITEM_GRADECODE@ 00806e5c ServerDlg.obj + 0003:0000ae78 ??_C@_0GP@JHJIJFGL@byItemIndex?0?5byGrade_1?0?5byGrade@ 00806e78 ServerDlg.obj + 0003:0000af04 ??_7CMakeLareItemTableSet@@6B@ 00806f04 ServerDlg.obj + 0003:0000af1c ??_C@_0BD@KHNJEILP@MAKE_ITEM_LARECODE@ 00806f1c ServerDlg.obj + 0003:0000af34 ??_C@_0DC@IGMKEJPM@byLevelGrade?0?5sLareItem?0?5sMagic@ 00806f34 ServerDlg.obj + 0003:0000af74 ??_7CServerResourceSet@@6B@ 00806f74 ServerDlg.obj + 0003:0000af8c ??_C@_0BA@BLGBHCDH@SERVER_RESOURCE@ 00806f8c ServerDlg.obj + 0003:0000afa0 ??_C@_0BJ@JDFFMBLB@nResourceID?0?5strResource@ 00806fa0 ServerDlg.obj + 0003:0000afc0 ??_C@_0DA@CHEHMNBL@Server?5started?5on?5?$CF04d?9?$CF02d?9?$CF02@ 00806fc0 ServerDlg.obj + 0003:0000b000 ??_C@_0EF@CFOKALIK@ERROR?3?5Could?5not?5connect?5to?5the@ 00807000 ServerDlg.obj + 0003:0000b054 ??_C@_0BD@NBILILJD@Loaded?5table?5?$FL?$CFs?$FN?6@ 00807054 ServerDlg.obj + 0003:0000b06c ??_C@_0DJ@FENEBNND@ERROR?3?5Could?5not?5load?5table?0?5th@ 0080706c ServerDlg.obj + 0003:0000b0b0 ??_C@_0CD@JJEKNNJL@Monster?5Init?5?9?5?$CFd?0?5threads?5?$DN?5?$CFl@ 008070b0 ServerDlg.obj + 0003:0000b0dc ??_C@_0BP@ELLJONCH@NPC?5?$CFd?5not?5found?5in?5?$CFs?5table?4?6@ 008070dc ServerDlg.obj + 0003:0000b108 ??_C@_0GJ@BBDDMDCO@?$CD?$CD?$CD?$CD?$CD?5ServerDlg?3CreateNpcThread@ 00807108 ServerDlg.obj + 0003:0000b188 ??_C@_0CO@MKIDLPFE@ERROR?3?5NPC?5?$CFd?5in?5zone?5?$CFd?5that?5d@ 00807188 ServerDlg.obj + 0003:0000b1c0 ??_C@_0BH@DBLNFDIK@Npc?5PutData?5Fail?5?9?5?$CFd?6@ 008071c0 ServerDlg.obj + 0003:0000b1dc ??_C@_0BM@IBEDFIKL@ERROR?3?5Map?5Room?5Npc?5Fail?$CB?$CB?6@ 008071dc ServerDlg.obj + 0003:0000b200 ??_C@_0EC@ODIDLCNB@?$CD?$CD?$CD?5Map?5?9?5Room?5Array?5MonsterNid@ 00807200 ServerDlg.obj + 0003:0000b250 ??_C@_0DL@MILAOMEH@?$CD?$CD?$CD?5Map?5?9?5Room?5Array?5MonsterNid@ 00807250 ServerDlg.obj + 0003:0000b298 ??_C@_0CA@MOLAMJII@ERROR?3?5Unable?5to?5load?5SMD?5?9?5?$CFs?6@ 00807298 ServerDlg.obj + 0003:0000b2c0 ??_C@_0DN@HLLIAKEN@Warning?3?5User?5?$CFu?5has?5not?5been?5r@ 008072c0 ServerDlg.obj + 0003:0000b30c ??_C@_0BP@HIKBDKDO@Game?5Server?5disconnected?5?9?5?$CFs?6@ 0080730c ServerDlg.obj + 0003:0000b334 ??_C@_0CE@JEMJOCMN@?$CK?$CK?$CK?5DeleteAllUserList?5?9?5Start?5?$CK@ 00807334 ServerDlg.obj + 0003:0000b360 ??_C@_0CC@IOHMPAEA@?$CK?$CK?$CK?5DeleteAllUserList?5?9?5End?5?$CK?$CK?$CK@ 00807360 ServerDlg.obj + 0003:0000b388 ??_C@_0BK@FMFPODNG@?$FL?5DELETE?5All?5User?5List?5?$FN?6@ 00807388 ServerDlg.obj + 0003:0000b3a8 ??_C@_0P@CIIOAEGH@?4?1AIServer?4ini@ 008073a8 ServerDlg.obj + 0003:0000b3bc ??_C@_07JNIGFPEN@KO_GAME@ 008073bc ServerDlg.obj + 0003:0000b3c8 ??_C@_08JCEOKNJI@GAME_DSN@ 008073c8 ServerDlg.obj + 0003:0000b3d4 ??_C@_04FPECENHI@ODBC@ 008073d4 ServerDlg.obj + 0003:0000b3dc ??_C@_08ODGEKKOL@username@ 008073dc ServerDlg.obj + 0003:0000b3e8 ??_C@_08JBLFFDEO@GAME_UID@ 008073e8 ServerDlg.obj + 0003:0000b3f4 ??_C@_08NLHBPEGP@password@ 008073f4 ServerDlg.obj + 0003:0000b400 ??_C@_08LANDCNAG@GAME_PWD@ 00807400 ServerDlg.obj + 0003:0000b40c ??_C@_0BB@EKHBLEJM@?4?1GameServer?4ini@ 0080740c ServerDlg.obj + 0003:0000b420 ??_C@_0BA@BNELALAB@ZONE_KARUS_BASE@ 00807420 ServerDlg.obj + 0003:0000b434 ??_C@_0O@KBPBMKEH@MILITARY_CAMP@ 00807434 ServerDlg.obj + 0003:0000b444 ??_C@_0BC@PCFCLKLH@ZONE_ELMORAD_BASE@ 00807444 ServerDlg.obj + 0003:0000b45c ??_C@_0BC@MMHBMHAC@ZONE_KARUS_ESLANT@ 0080745c ServerDlg.obj + 0003:0000b474 ??_C@_0BE@MCIIKCDP@ZONE_ELMORAD_ESLANT@ 00807474 ServerDlg.obj + 0003:0000b48c ??_C@_0N@PFKLNNLE@ZONE_MORADON@ 0080748c ServerDlg.obj + 0003:0000b49c ??_C@_04HDFGONMM@PORT@ 0080749c ServerDlg.obj + 0003:0000b4a4 ??_C@_08LJLKFNMK@SETTINGS@ 008074a4 ServerDlg.obj + 0003:0000b4b0 ??_C@_0CI@BKIHMNIP@ServerDlg?5?9?5ResetBattleZone?$CI?$CJ?5?3@ 008074b0 ServerDlg.obj + 0003:0000b4e0 ??_C@_0CG@FMACAGAJ@ServerDlg?5?9?5ResetBattleZone?$CI?$CJ?5?3@ 008074e0 ServerDlg.obj + 0003:0000b510 ??_C@_0CD@GPHFGAHN@Waiting?5for?5NPC?5threads?5to?5exit@ 00807510 ServerDlg.obj + 0003:0000b53c ??_C@_09JJFOIHHP@?5exited?4?6@ 0080753c ServerDlg.obj + 0003:0000b548 ??_C@_0CJ@MAHEJGNH@Waiting?5for?5zone?5event?5thread?5t@ 00807548 ServerDlg.obj + 0003:0000b57c ??_C@_0CF@LBOGFFIO@Waiting?5for?5timer?5threads?5to?5ex@ 0080757c ServerDlg.obj + 0003:0000b5a8 ??_C@_0BJ@PAFHNKPD@Freeing?5user?5sessions?4?4?4@ 008075a8 ServerDlg.obj + 0003:0000b5c8 ??_C@_07HDGNKME@?5done?4?6@ 008075c8 ServerDlg.obj + 0003:0000b5d4 ??_C@_0BP@KKHJOEDP@Shutting?5down?5socket?5system?4?4?4@ 008075d4 ServerDlg.obj + 0003:0000b600 ??_C@_1BDG@ICDCCCOK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00807600 ServerDlg.obj + 0003:0000b774 ??_C@_0BO@OKMPKPLD@back?$CI?$CJ?5called?5on?5empty?5vector@ 00807774 ServerDlg.obj + 0003:0000b798 ??_C@_1JA@DMCFLJFL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAu?$AAn?$AAs@ 00807798 ServerDlg.obj + 0003:0000b848 ??_C@_1EA@OBAHGFFK@?$AA?$CC?$AAb?$AAa?$AAc?$AAk?$AA?$CI?$AA?$CJ?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd?$AA?5@ 00807848 ServerDlg.obj + 0003:0000b894 ??_C@_0BI@PJHAPDF@vector?5empty?5before?5pop@ 00807894 ServerDlg.obj + 0003:0000b8b0 ??_C@_1JI@CDAMIIID@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAu?$AAn?$AAs@ 008078b0 ServerDlg.obj + 0003:0000b968 ??_C@_1DE@IPIBMNGD@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAe?$AAm?$AAp?$AAt?$AAy?$AA?5?$AAb@ 00807968 ServerDlg.obj + 0003:0000b9a8 ??_C@_1BDK@GPMBNCNF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008079a8 ServerDlg.obj + 0003:0000bb20 ??_C@_1BDK@MPDMDLBA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00807b20 ServerDlg.obj + 0003:0000bc98 ??_C@_1BCO@NMFHKDIE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00807c98 ServerDlg.obj + 0003:0000be08 ??_C@_1BDO@EOOMIABH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00807e08 ServerDlg.obj + 0003:0000bf88 ??_C@_1BDO@OOBBGJNC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00807f88 ServerDlg.obj + 0003:0000c108 ??_C@_1BDG@CCMPMLCP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808108 ServerDlg.obj + 0003:0000c27c ??_C@_0DC@KEKNBAEB@can?8t?5increment?5value?9initializ@ 0080827c ServerDlg.obj + 0003:0000c2b8 ??_C@_1NM@KGMKBPPL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 008082b8 ServerDlg.obj + 0003:0000c3c0 ??_C@_1GI@EDCILPL@?$AA?$CC?$AAc?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe?$AAn@ 008083c0 ServerDlg.obj + 0003:0000c43c ??_C@_0CJ@OAAAAGPM@can?8t?5increment?5vector?5iterator@ 0080843c ServerDlg.obj + 0003:0000c470 ??_C@_1FG@LDPPKMGP@?$AA?$CC?$AAc?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe?$AAn@ 00808470 ServerDlg.obj + 0003:0000c4d8 ??_C@_0DE@CHADHGFF@can?8t?5dereference?5value?9initial@ 008084d8 ServerDlg.obj + 0003:0000c518 ??_C@_1NK@FKBBKPEM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 00808518 ServerDlg.obj + 0003:0000c620 ??_C@_1GM@FNBFNBEL@?$AA?$CC?$AAc?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe@ 00808620 ServerDlg.obj + 0003:0000c6a4 ??_C@_0CP@MDHADBHN@can?8t?5dereference?5out?5of?5range?5@ 008086a4 ServerDlg.obj + 0003:0000c6e0 ??_C@_1GC@JDCKOLAC@?$AA?$CC?$AAc?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr?$AAe@ 008086e0 ServerDlg.obj + 0003:0000c758 ??_C@_1NM@GKPGPODA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 00808758 ServerDlg.obj + 0003:0000c860 ??_C@_1NK@HJLAPCKD@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 00808860 ServerDlg.obj + 0003:0000c968 ??_C@_1BDI@LDJHHINM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808968 ServerDlg.obj + 0003:0000cae0 ??_C@_1BDM@BMLBPGNP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808ae0 ServerDlg.obj + 0003:0000cc60 ??_C@_1BEC@HOADMELK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808c60 ServerDlg.obj + 0003:0000cde8 ??_C@_1BDK@LANINOIE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808de8 ServerDlg.obj + 0003:0000cf60 ??_C@_1BDE@MEFMLPPJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00808f60 ServerDlg.obj + 0003:0000d0d8 ??_C@_1BDC@GCIDMFJF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008090d8 ServerDlg.obj + 0003:0000d248 ??_C@_0BO@CAOBBIOC@vector?5iterators?5incompatible@ 00809248 ServerDlg.obj + 0003:0000d270 ??_C@_1NE@IKHLLFLF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 00809270 ServerDlg.obj + 0003:0000d370 ??_C@_1EA@DJDGNIII@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ 00809370 ServerDlg.obj + 0003:0000d3c0 ??_C@_1NE@HLCJJCKG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ 008093c0 ServerDlg.obj + 0003:0000d4c0 ??_C@_1BEC@NOPOCNHP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008094c0 ServerDlg.obj + 0003:0000d648 ??_C@_1BEA@KCCKACCB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809648 ServerDlg.obj + 0003:0000d7c8 ??_C@_1BEC@MMGEKKGI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 008097c8 ServerDlg.obj + 0003:0000d950 ??_C@_1BEA@KAOCEJFC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809950 ServerDlg.obj + 0003:0000dad0 ??_C@_1BEK@LOMPEBDH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809ad0 ServerDlg.obj + 0003:0000dc60 ??_C@_1BEM@HDPCMGKE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809c60 ServerDlg.obj + 0003:0000ddf0 ??_C@_1BDK@FBDPFMOJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809df0 ServerDlg.obj + 0003:0000df68 ??_C@_1BDK@EMOLBBPK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 00809f68 ServerDlg.obj + 0003:0000e0e0 ??_C@_1BDK@MBEPHLDC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080a0e0 ServerDlg.obj + 0003:0000e258 ??_C@_1BDK@IHJNEOFG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080a258 ServerDlg.obj + 0003:0000e3d0 ??_C@_1BDK@DLNGIPAJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080a3d0 ServerDlg.obj + 0003:0000e548 ??_C@_1BDC@MCHOCMFA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080a548 ServerDlg.obj + 0003:0000e6b8 ??_C@_1BDA@KBJFHFOA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080a6b8 ServerDlg.obj + 0003:0000e828 ??_C@_1BHE@CNCLGAP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 0080a828 ServerDlg.obj + 0003:0000e9e8 ??_C@_1BJA@MNOHMHOI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 0080a9e8 ServerDlg.obj + 0003:0000ebc8 __real@3e5dfefc 0080abc8 ServerDlg.obj + 0003:0000ebcc __real@3ebb7bd0 0080abcc ServerDlg.obj + 0003:0000ebd0 __real@3fb4b26c 0080abd0 ServerDlg.obj + 0003:0000ebd8 __real@4059000000000000 0080abd8 ServerDlg.obj + 0003:0000ebe4 __real@40f0e777 0080abe4 ServerDlg.obj + 0003:0000ebe8 __real@41966666 0080abe8 ServerDlg.obj + 0003:0000ebec __real@42391218 0080abec ServerDlg.obj + 0003:0000ebf0 __real@423abeff 0080abf0 ServerDlg.obj + 0003:0000ebf4 __real@42c2b207 0080abf4 ServerDlg.obj + 0003:0000ebf8 __real@42c7a2f0 0080abf8 ServerDlg.obj + 0003:0000ebfc __real@42c9f08a 0080abfc ServerDlg.obj + 0003:0000ec00 __real@42f2a9ef 0080ac00 ServerDlg.obj + 0003:0000ec04 __real@42f7706f 0080ac04 ServerDlg.obj + 0003:0000ec08 __real@42fc7055 0080ac08 ServerDlg.obj + 0003:0000ec0c __real@43001fbe 0080ac0c ServerDlg.obj + 0003:0000ec10 __real@43008b64 0080ac10 ServerDlg.obj + 0003:0000ec14 __real@43031fbe 0080ac14 ServerDlg.obj + 0003:0000ec18 __real@43107100 0080ac18 ServerDlg.obj + 0003:0000ec1c __real@43183eb8 0080ac1c ServerDlg.obj + 0003:0000ec20 __real@432c0000 0080ac20 ServerDlg.obj + 0003:0000ec24 __real@43506d56 0080ac24 ServerDlg.obj + 0003:0000ec28 __real@4350c1b1 0080ac28 ServerDlg.obj + 0003:0000ec2c __real@43510de7 0080ac2c ServerDlg.obj + 0003:0000ec30 __real@43803333 0080ac30 ServerDlg.obj + 0003:0000ec34 __real@439a4000 0080ac34 ServerDlg.obj + 0003:0000ec38 __real@43bbcccd 0080ac38 ServerDlg.obj + 0003:0000ec3c __real@44000666 0080ac3c ServerDlg.obj + 0003:0000ec40 __real@4421399a 0080ac40 ServerDlg.obj + 0003:0000ec44 __real@4432d333 0080ac44 ServerDlg.obj + 0003:0000ec48 __real@443fc666 0080ac48 ServerDlg.obj + 0003:0000ec4c __real@4447f333 0080ac4c ServerDlg.obj + 0003:0000ec50 __real@4453f333 0080ac50 ServerDlg.obj + 0003:0000ec54 __real@be0db0de 0080ac54 ServerDlg.obj + 0003:0000ec58 __real@beaef9db 0080ac58 ServerDlg.obj + 0003:0000ec5c __real@bee160b7 0080ac5c ServerDlg.obj + 0003:0000ec60 __real@beeff002 0080ac60 ServerDlg.obj + 0003:0000ec68 ??_7CUser@@6B@ 0080ac68 AIUser.obj + 0003:0000ed04 __real@42400000 0080ad04 AIUser.obj + 0003:0000ed08 ??_C@_0CH@KKFILHED@Waiting?5for?5time?5thread?5to?5shut@ 0080ad08 shared:TimeThread.obj + 0003:0000ed38 ??_C@_0GH@OKKPFGKE@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 0080ad38 shared:globals.obj + 0003:0000edb8 ??_C@_1MO@NOJNLNCD@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 0080adb8 shared:globals.obj + 0003:0000eeb0 ??_C@_0CO@CCCJIBKO@invalid?5min?5and?5max?5arguments?5f@ 0080aeb0 shared:globals.obj + 0003:0000eee8 ??_C@_1GM@IFBPOADC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAu?$AAn?$AAi?$AAf?$AAo?$AAr?$AAm?$AA_?$AAi?$AAn@ 0080aee8 shared:globals.obj + 0003:0000ef70 ??_C@_1GA@FJHEAOJP@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAm?$AAi?$AAn?$AA?5?$AAa?$AAn@ 0080af70 shared:globals.obj + 0003:0000efe8 ??_C@_1FC@FNLBOEA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAu?$AAn?$AAi?$AAf?$AAo?$AAr?$AAm?$AA_?$AAi?$AAn@ 0080afe8 shared:globals.obj + 0003:0000f050 ??_7SocketMgr@@6B@ 0080b050 shared:SocketMgr.obj + 0003:0000f070 ??_C@_0CN@EKPNMPDI@Waiting?5for?5worker?5socket?5threa@ 0080b070 shared:SocketMgr.obj + 0003:0000f0a8 ??_C@_0BH@EDKEEENI@deque?5empty?5before?5pop@ 0080b0a8 shared:SocketMgr.obj + 0003:0000f0c8 ??_C@_0GG@IGGMKBCD@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 0080b0c8 shared:SocketMgr.obj + 0003:0000f148 ??_C@_1MM@MCOHKOGB@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 0080b148 shared:SocketMgr.obj + 0003:0000f240 ??_C@_1JI@FFCGBODB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAd?$AAe?$AAq?$AAu?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 0080b240 shared:SocketMgr.obj + 0003:0000f2f8 ??_C@_1DC@NJAACHCD@?$AA?$CC?$AAd?$AAe?$AAq?$AAu?$AAe?$AA?5?$AAe?$AAm?$AAp?$AAt?$AAy?$AA?5?$AAb?$AAe@ 0080b2f8 shared:SocketMgr.obj + 0003:0000f334 ??_C@_0BO@PEOHNLIM@front?$CI?$CJ?5called?5on?5empty?5deque@ 0080b334 shared:SocketMgr.obj + 0003:0000f358 ??_C@_1JA@CPKHDFIK@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAd?$AAe?$AAq?$AAu?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 0080b358 shared:SocketMgr.obj + 0003:0000f408 ??_C@_1EA@EELNAHHD@?$AA?$CC?$AAf?$AAr?$AAo?$AAn?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 0080b408 shared:SocketMgr.obj + 0003:0000f458 ??_C@_1JG@BBOJBCPO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAd?$AAe?$AAq?$AAu?$AAe?$AA?$DM?$AAc?$AAl?$AAa?$AAs@ 0080b458 shared:SocketMgr.obj + 0003:0000f50c ??_C@_0BC@KBDMBKEH@deque?$DMT?$DO?5too?5long@ 0080b50c shared:SocketMgr.obj + 0003:0000f528 ??_7Socket@@6B@ 0080b528 shared:Socket.obj + 0003:0000f53c ??_C@_04BEKDKPMC@noip@ 0080b53c shared:Socket.obj + 0003:0000f548 ??_7KOSocket@@6B@ 0080b548 shared:KOSocket.obj + 0003:0000f570 ??_C@_09PFCHIMEP@127?40?40?41@ 0080b570 shared:KOSocket.obj + 0003:0000f57c ??_C@_0CA@DNCOHHHA@Connection?5received?5from?5?$CFs?3?$CFd?6@ 0080b57c shared:KOSocket.obj + 0003:0000f5a4 ??_C@_0DA@DNKHHIPM@?$CFs?3?5Got?5packet?5without?5header?50@ 0080b5a4 shared:KOSocket.obj + 0003:0000f5e0 ??_C@_0DN@CFNBMMMO@?$CFs?3?5Got?5packet?5without?5an?5opcod@ 0080b5e0 shared:KOSocket.obj + 0003:0000f630 ??_C@_0EA@EEGOOEIB@?$CFs?3?5Packet?5received?5which?5was?5?$CF@ 0080b630 shared:KOSocket.obj + 0003:0000f680 ??_C@_0GB@FFODAMND@?$CFs?3?5packet?5fragmentation?5count?5@ 0080b680 shared:KOSocket.obj + 0003:0000f6f4 ??_C@_0CP@LCFJJGE@?$CFs?3?5Footer?5invalid?5?$CI?$CFX?$CJ?5or?5fail@ 0080b6f4 shared:KOSocket.obj + 0003:0000f72c ??_C@_0CK@PGPBAIBB@?$CFs?3?5Handler?5for?5packet?5?$CFX?5retur@ 0080b72c shared:KOSocket.obj + 0003:0000f760 ??_C@_0DF@BCJKIBCC@Disonnected?5due?5to?5insufficient@ 0080b760 shared:KOSocket.obj + 0003:0000f7a0 ??_C@_02BDJNFHEK@?$KKU@ 0080b7a0 shared:KOSocket.obj + 0003:0000f7a4 ??_C@_02DOCBJONF@U?$KK@ 0080b7a4 shared:KOSocket.obj + 0003:0000f7a8 ??_C@_0BO@FJPGNCHL@Connection?5closed?5from?5?$CFs?3?$CFd?6@ 0080b7a8 shared:KOSocket.obj + 0003:0000f7d0 __real@3ff0000000000000 0080b7d0 shared:Condition.obj + 0003:0000f7e0 __real@408f400000000000 0080b7e0 shared:Condition.obj + 0003:0000f7f0 __real@412a5e0000000000 0080b7f0 shared:Condition.obj + 0003:0000f800 ??_C@_0EJ@NPIAEPMO@string?5iterators?5incompatible?5?$CI@ 0080b800 shared:tstring.obj + 0003:0000f858 ??_C@_1MA@BDELDFHB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 0080b858 shared:tstring.obj + 0003:0000f940 ??_C@_1JM@EIPCMFMM@?$AA?$CC?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ 0080b940 shared:tstring.obj + 0003:0000f9fc ??_C@_0CO@HMKHBNHI@cannot?5seek?5value?9initialized?5s@ 0080b9fc shared:tstring.obj + 0003:0000fa38 ??_C@_1MO@NHFHAAFD@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 0080ba38 shared:tstring.obj + 0003:0000fb30 ??_C@_1GA@DPDCOHLH@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAe?$AAe?$AAk?$AA?5?$AAv?$AAa@ 0080bb30 shared:tstring.obj + 0003:0000fba8 ??_C@_0HL@FFBIGJOL@cannot?5seek?5string?5iterator?5bec@ 0080bba8 shared:tstring.obj + 0003:0000fc40 ??_C@_1BAA@CKOBBKNE@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAe?$AAe?$AAk?$AA?5?$AAs?$AAt@ 0080bc40 shared:tstring.obj + 0003:0000fd74 ??_C@_0CJ@CGBGDMPO@cannot?5seek?5string?5iterator?5bef@ 0080bd74 shared:tstring.obj + 0003:0000fda8 ??_C@_1FG@EJPDEFGL@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAe?$AAe?$AAk?$AA?5?$AAs?$AAt@ 0080bda8 shared:tstring.obj + 0003:0000fe10 ??_C@_0CG@BGNOMIGA@cannot?5seek?5string?5iterator?5aft@ 0080be10 shared:tstring.obj + 0003:0000fe40 ??_C@_1FA@POFOLIGA@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAe?$AAe?$AAk?$AA?5?$AAs?$AAt@ 0080be40 shared:tstring.obj + 0003:0000fea0 ??_C@_0DI@FIGNHEDK@string?5iterators?5in?5range?5are?5f@ 0080bea0 shared:tstring.obj + 0003:0000fee8 ??_C@_1HE@MFNJODIC@?$AA?$CC?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ 0080bee8 shared:tstring.obj + 0003:0000ff74 ??_C@_0CB@KDGGCAAF@string?5iterator?5range?5transpose@ 0080bf74 shared:tstring.obj + 0003:0000ffa0 ??_C@_1EG@NKDFABAL@?$AA?$CC?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ 0080bfa0 shared:tstring.obj + 0003:0000fff4 ??_C@_0BO@LFGPDMIB@string?5subscript?5out?5of?5range@ 0080bff4 shared:SMDFile.obj + 0003:00010018 ??_C@_1LO@NPPEKPAI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAb?$AAa?$AAs?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi@ 0080c018 shared:SMDFile.obj + 0003:00010100 ??_C@_1EA@OADAPGGK@?$AA?$CC?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAu?$AAb?$AAs?$AAc?$AAr?$AAi@ 0080c100 shared:SMDFile.obj + 0003:00010150 ??_7SMDFile@@6B@ 0080c150 shared:SMDFile.obj + 0003:00010158 ??_C@_08GBENMCNJ@?4?1map?1?$CFs@ 0080c158 shared:SMDFile.obj + 0003:00010164 ??_C@_02JDPG@rb@ 0080c164 shared:SMDFile.obj + 0003:00010168 ??_C@_0CA@OANIGJIB@?6?5?$CK?$CK?5An?5error?5has?5occurred?5?$CK?$CK?6?6@ 0080c168 shared:SMDFile.obj + 0003:00010190 ??_C@_0CF@NAANKGLA@ERROR?3?5?$CFs?5is?5not?5a?5valid?5map?5fi@ 0080c190 shared:SMDFile.obj + 0003:000101c0 ??_C@_0EL@JJEMFEJP@Previously?0?5we?5ignored?5all?5inva@ 0080c1c0 shared:SMDFile.obj + 0003:00010220 ??_C@_0ED@GJAPKGPD@very?5real?5problems?5?9?5especially@ 0080c220 shared:SMDFile.obj + 0003:00010270 ??_C@_0EI@MFJDJF@This?5problem?5is?5most?5likely?5occ@ 0080c270 shared:SMDFile.obj + 0003:000102c8 ??_C@_0EP@DDPAKECP@map?5size?4?5Unfortunately?0?5doing?5@ 0080c2c8 shared:SMDFile.obj + 0003:00010328 ??_C@_0FA@OCGGPJDD@becomes?5corrupt?0?5which?5is?5known@ 0080c328 shared:SMDFile.obj + 0003:00010388 ??_C@_0EM@LGCOEDLP@It?5is?5recommended?5you?5use?5a?5map@ 0080c388 shared:SMDFile.obj + 0003:000103e8 ??_C@_0EA@HNGMDCGO@you?5should?5use?5a?5map?5originally@ 0080c3e8 shared:SMDFile.obj + 0003:00010438 ??_C@_1FM@HJGBOOEO@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 0080c438 shared:SMDFile.obj + 0003:000104a8 ??_C@_1BME@FPCFNCMB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080c4a8 shared:SMDFile.obj + 0003:000106c8 ??_C@_1BDG@NKDKPMOF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080c6c8 shared:SMDFile.obj + 0003:00010840 ??_C@_1BDG@HKMHBFCA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080c840 shared:SMDFile.obj + 0003:000109b8 ??_C@_1BMC@JCGKKNON@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080c9b8 shared:SMDFile.obj + 0003:00010bd8 ??_C@_1BDM@CHCOACO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080cbd8 shared:SMDFile.obj + 0003:00010d58 ??_C@_1BDE@OGMMFHGG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080cd58 shared:SMDFile.obj + 0003:00010ed0 ??_C@_1BDM@KCIPAJOL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080ced0 shared:SMDFile.obj + 0003:00011050 ??_C@_1BDK@OIBIKEL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080d050 shared:SMDFile.obj + 0003:000111c8 ??_C@_0BN@CDBOEBNF@Caught?5thread?5exception?3?5?$CFs?6@ 0080d1c8 shared:Thread.obj + 0003:000111f0 ??_C@_1FK@LHDDHGOG@?$AAF?$AA?3?$AA?2?$AA0?$AA0?$AA5?$AAS?$AAE?$AAR?$AAV?$AAE?$AAR?$AA?2?$AAs?$AAe@ 0080d1f0 shared:Thread.obj + 0003:0001125c ??_C@_0BK@LCLBOGKO@Failed?5to?5bind?5parameter?4@ 0080d25c shared:OdbcCommand.obj + 0003:0001127c ??_C@_0BB@KNDFJILL@SQLBindParameter@ 0080d27c shared:OdbcCommand.obj + 0003:00011290 ??_C@_0CF@OIMCGHDE@Failed?5to?5allocate?5statement?5ha@ 0080d290 shared:OdbcCommand.obj + 0003:000112bc ??_C@_0P@LCNLGBGE@SQLAllocHandle@ 0080d2bc shared:OdbcCommand.obj + 0003:000112d0 ??_C@_0P@GDNPCPNI@SET?5NOCOUNT?5ON@ 0080d2d0 shared:OdbcCommand.obj + 0003:000112e4 ??_C@_01EEMJAFIK@?6@ 0080d2e4 shared:OdbcCommand.obj + 0003:000112e8 ??_C@_0BN@DODLEHHA@Failed?5to?5execute?5statement?4@ 0080d2e8 shared:OdbcCommand.obj + 0003:0001130c ??_C@_0BN@PIEFAPLJ@Failed?5to?5prepare?5statement?4@ 0080d30c shared:OdbcCommand.obj + 0003:00011330 ??_C@_0L@FIALBHAL@SQLPrepare@ 0080d330 shared:OdbcCommand.obj + 0003:00011340 ??_C@_0CG@FMHJEPGD@Failed?5to?5execute?5prepared?5stat@ 0080d340 shared:OdbcCommand.obj + 0003:00011370 ??_C@_1BDK@BHAMBAPF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080d370 shared:OdbcCommand.obj + 0003:000114e8 ??_C@_1BDK@LHPBPJDA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080d4e8 shared:OdbcCommand.obj + 0003:00011660 ??_C@_1BDI@CNHLKCN@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080d660 shared:OdbcCommand.obj + 0003:000117d8 ??_C@_01ICJEACDI@?$DL@ 0080d7d8 shared:OdbcConnection.obj + 0003:000117dc ??_C@_04FNPKLOFD@DSN?$DN@ 0080d7dc shared:OdbcConnection.obj + 0003:000117e4 ??_C@_0CH@JLAMNGJI@Unable?5to?5allocate?5environment?5@ 0080d7e4 shared:OdbcConnection.obj + 0003:00011814 ??_C@_0DN@KCCLCGFB@Unable?5to?5set?5environment?5attri@ 0080d814 shared:OdbcConnection.obj + 0003:00011860 ??_C@_0O@EHDGBCBE@SQLSetEnvAttr@ 0080d860 shared:OdbcConnection.obj + 0003:00011870 ??_C@_0CG@HCMDLHDP@Unable?5to?5allocate?5connection?5h@ 0080d870 shared:OdbcConnection.obj + 0003:000118a0 ??_C@_04DCEJDCEM@UID?$DN@ 0080d8a0 shared:OdbcConnection.obj + 0003:000118a8 ??_C@_04EKGPJNJA@PWD?$DN@ 0080d8a8 shared:OdbcConnection.obj + 0003:000118b0 ??_C@_0BA@NGFIOJAK@?$CK?$CK?5WARNING?5?$CK?$CK?6?6@ 0080d8b0 shared:OdbcConnection.obj + 0003:000118c8 ??_C@_0EA@JCKAOHN@Attempted?5to?5used?5MARS?5?$CIMultipl@ 0080d8c8 shared:OdbcConnection.obj + 0003:00011918 ??_C@_0EG@KAFHLEKI@feature?5is?5not?5supported?5by?5you@ 0080d918 shared:OdbcConnection.obj + 0003:00011970 ??_C@_0EN@JMNJJCJD@To?5benefit?5from?5MARS?0?5you?5need?5@ 0080d970 shared:OdbcConnection.obj + 0003:000119d0 ??_C@_0GF@PJMPMHK@least?5the?5?8SQL?5Native?5Client?8?5O@ 0080d9d0 shared:OdbcConnection.obj + 0003:00011a4c ??_C@_0CG@FEJKHELB@Continuing?5to?5connect?5without?5M@ 0080da4c shared:OdbcConnection.obj + 0003:00011a7c ??_C@_0CA@PMJFIKHK@Unable?5to?5establish?5connection?4@ 0080da7c shared:OdbcConnection.obj + 0003:00011aa4 ??_C@_0BB@MNMCOJPG@SQLDriverConnect@ 0080daa4 shared:OdbcConnection.obj + 0003:00011ab8 ??_C@_1OG@MNLNDFNF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080dab8 shared:OdbcConnection.obj + 0003:00011bd0 ??_C@_1KA@JGLOPLMA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAs?$AAt?$AAr@ 0080dbd0 shared:OdbcConnection.obj + 0003:00011c90 ??_C@_1KI@MPEECFMD@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?$DM?$AAs?$AAt?$AAr@ 0080dc90 shared:OdbcConnection.obj + 0003:00011d60 ??_C@_1OI@LGGOCKJL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080dd60 shared:OdbcConnection.obj + 0003:00011e78 ??_C@_1OI@BGJDMDFO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080de78 shared:OdbcConnection.obj + 0003:00011f94 ??_7OdbcRecordset@@6B@ 0080df94 shared:OdbcRecordset.obj + 0003:00011fac ??_C@_01NBENCBCI@?$CK@ 0080dfac shared:OdbcRecordset.obj + 0003:00011fb0 ??_C@_07MIFOMGFO@SELECT?5@ 0080dfb0 shared:OdbcRecordset.obj + 0003:00011fbc ??_C@_06BIENBOJN@?5FROM?5@ 0080dfbc shared:OdbcRecordset.obj + 0003:00011fc4 ??_C@_07HEBAGGGB@?5WHERE?5@ 0080dfc4 shared:OdbcRecordset.obj + 0003:00011fd0 ??_C@_0BD@DCFHCLFI@?$CFs?5table?5is?5empty?4@ 0080dfd0 shared:OdbcRecordset.obj + 0003:00011fe8 ??_C@_0CB@PPDLOLN@Could?5not?5fetch?5row?5in?5table?5?$CFs@ 0080dfe8 shared:OdbcRecordset.obj + 0003:00012010 ??_C@_0DL@PEDDGIGG@Warning?3?5?$CFs?5does?5not?5exist?0?5wil@ 0080e010 shared:Ini.obj + 0003:00012058 ??_C@_01NOFIACDB@w@ 0080e058 shared:Ini.obj + 0003:0001205c ??_C@_05MGFEFMAH@?$FL?$CFs?$FN?6@ 0080e05c shared:Ini.obj + 0003:00012064 ??_C@_06BAKFFEGN@?$CFs?$DN?$CFs?6@ 0080e064 shared:Ini.obj + 0003:0001206c ??_C@_02DPKJAMEF@?$CFd@ 0080e06c shared:Ini.obj + 0003:00012070 ??_C@_1FMA@GJNNMKGJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080e070 shared:Ini.obj + 0003:00012758 ??_C@_1CFG@FGJHCIBH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080e758 shared:Ini.obj + 0003:00012a28 ??_C@_1CFG@PGGKMBNC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080ea28 shared:Ini.obj + 0003:00012cf8 ??_C@_1FMA@MJCACDKM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080ecf8 shared:Ini.obj + 0003:000133e0 ??_C@_1CFE@PPLBLEGL@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080f3e0 shared:Ini.obj + 0003:000136b0 ??_C@_1FLO@BEHIGCLC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAT?$AAr?$AAe?$AAe?$AA_?$AAc?$AAo?$AAn?$AAs@ 0080f6b0 shared:Ini.obj + 0003:00013d94 ??_C@_0BF@FBDAHHJI@Invalid?5memory?5order@ 0080fd94 shared:SocketWin32.obj + 0003:00013db0 ??_C@_0GH@DFOEHENJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 0080fdb0 shared:SocketWin32.obj + 0003:00013e30 ??_C@_1MO@JGPONKED@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 0080fe30 shared:SocketWin32.obj + 0003:00013f28 ??_C@_1DC@CFMGACCG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAC?$AAh?$AAe?$AAc?$AAk?$AA_?$AAm?$AAe?$AAm@ 0080ff28 shared:SocketWin32.obj + 0003:00013f64 ??_C@_1CO@JOMFDNFG@?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAm?$AAe?$AAm?$AAo?$AAr?$AAy@ 0080ff64 shared:SocketWin32.obj + 0003:00013fa0 ??_C@_0EP@FPEINLI@?$CB?$CB?$CB?$CB?5Network?3?5Detected?5double?5u@ 0080ffa0 shared:SocketWin32.obj + 0003:00014000 ??_C@_0BH@LLCMFPMB@Tabiki?5dc?4?4?5?$CFs?5err?5?$CFd?6@ 00810000 shared:SocketWin32.obj + 0003:00014020 ??_7bad_alloc@std@@6B@ 00810020 libcpmtd:xthrow.obj + 0003:0001402c ??_C@_0P@GHFPNOJB@bad?5allocation@ 0081002c libcpmtd:xthrow.obj + 0003:00014044 ??_7logic_error@std@@6B@ 00810044 libcpmtd:xthrow.obj + 0003:00014054 ??_7invalid_argument@std@@6B@ 00810054 libcpmtd:xthrow.obj + 0003:00014064 ??_7length_error@std@@6B@ 00810064 libcpmtd:xthrow.obj + 0003:00014074 ??_7out_of_range@std@@6B@ 00810074 libcpmtd:xthrow.obj + 0003:00014084 ??_7overflow_error@std@@6B@ 00810084 libcpmtd:xthrow.obj + 0003:00014094 ??_7bad_function_call@std@@6B@ 00810094 libcpmtd:xthrow.obj + 0003:000140a0 ??_C@_0BC@DPJNKNAF@bad?5function?5call@ 008100a0 libcpmtd:xthrow.obj + 0003:000140bc ??_7regex_error@std@@6B@ 008100bc libcpmtd:xthrow.obj + 0003:000140c8 ??_C@_0FI@CMNGHIFF@regex_error?$CIerror_collate?$CJ?3?5The@ 008100c8 libcpmtd:xthrow.obj + 0003:00014138 ??_C@_0FE@LJMHKIOC@regex_error?$CIerror_ctype?$CJ?3?5The?5e@ 00810138 libcpmtd:xthrow.obj + 0003:000141a0 ??_C@_0GI@HEGGMMDL@regex_error?$CIerror_escape?$CJ?3?5The?5@ 008101a0 libcpmtd:xthrow.obj + 0003:00014220 ??_C@_0FA@HFMLPGNN@regex_error?$CIerror_backref?$CJ?3?5The@ 00810220 libcpmtd:xthrow.obj + 0003:00014280 ??_C@_0EH@LGEANNAL@regex_error?$CIerror_brack?$CJ?3?5The?5e@ 00810280 libcpmtd:xthrow.obj + 0003:000142d8 ??_C@_0EH@CAGOJGLE@regex_error?$CIerror_paren?$CJ?3?5The?5e@ 008102d8 libcpmtd:xthrow.obj + 0003:00014330 ??_C@_0EH@DICJJKLO@regex_error?$CIerror_brace?$CJ?3?5The?5e@ 00810330 libcpmtd:xthrow.obj + 0003:00014388 ??_C@_0FM@BLDIHIBB@regex_error?$CIerror_badbrace?$CJ?3?5Th@ 00810388 libcpmtd:xthrow.obj + 0003:000143f8 ??_C@_0HA@ICNJLCMC@regex_error?$CIerror_range?$CJ?3?5The?5e@ 008103f8 libcpmtd:xthrow.obj + 0003:00014480 ??_C@_0GP@PICOBCHA@regex_error?$CIerror_space?$CJ?3?5There@ 00810480 libcpmtd:xthrow.obj + 0003:00014508 ??_C@_0FK@LCHHHEOA@regex_error?$CIerror_badrepeat?$CJ?3?5O@ 00810508 libcpmtd:xthrow.obj + 0003:00014578 ??_C@_0HL@NEKOFBJA@regex_error?$CIerror_complexity?$CJ?3?5@ 00810578 libcpmtd:xthrow.obj + 0003:00014610 ??_C@_0JC@HCDLJLGO@regex_error?$CIerror_stack?$CJ?3?5There@ 00810610 libcpmtd:xthrow.obj + 0003:000146c0 ??_C@_0BJ@CHBLKGNM@regex_error?$CIerror_parse?$CJ@ 008106c0 libcpmtd:xthrow.obj + 0003:000146e0 ??_C@_0BK@DFJCACNI@regex_error?$CIerror_syntax?$CJ@ 008106e0 libcpmtd:xthrow.obj + 0003:00014700 ??_C@_0M@KGKAAGCA@regex_error@ 00810700 libcpmtd:xthrow.obj + 0003:00014714 ??_7stl_critical_section_vista@details@Concurrency@@6B@ 00810714 libcpmtd:mutex.obj + 0003:00014730 ??_7stl_critical_section_win7@details@Concurrency@@6B@ 00810730 libcpmtd:mutex.obj + 0003:0001474c ??_7stl_critical_section_concrt@details@Concurrency@@6B@ 0081074c libcpmtd:mutex.obj + 0003:00014768 ??_C@_0FP@FHCGBPJH@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810768 libcpmtd:mutex.obj + 0003:000147dc ??_C@_0DP@LGCAFGP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008107dc libcpmtd:mutex.obj + 0003:00014828 ??_C@_0FN@GBFEGDMP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810828 libcpmtd:mutex.obj + 0003:00014898 ??_C@_0GE@HHBPDGJF@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810898 libcpmtd:mutex.obj + 0003:00014910 ??_C@_0GG@DNMMDNIK@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810910 libcpmtd:mutex.obj + 0003:000149d0 ??_C@_0BI@NGCEHDD@device?5or?5resource?5busy@ 008109d0 libcpmtd:thread0.obj + 0003:000149ec ??_C@_0BA@ENLPPKBN@no?5such?5process@ 008109ec libcpmtd:thread0.obj + 0003:00014a00 ??_C@_0BC@ENOOLCNF@not?5enough?5memory@ 00810a00 libcpmtd:thread0.obj + 0003:00014a18 ??_C@_0BI@OHIEJAAB@operation?5not?5permitted@ 00810a18 libcpmtd:thread0.obj + 0003:00014a34 ??_C@_0BO@BJBOMOEJ@resource?5deadlock?5would?5occur@ 00810a34 libcpmtd:thread0.obj + 0003:00014a58 ??_C@_0BP@LKNGHENJ@resource?5unavailable?5try?5again@ 00810a58 libcpmtd:thread0.obj + 0003:00014a80 ??_C@_0DJ@OGAMPAOA@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810a80 libcpmtd:thread0.obj + 0003:00014ac8 ??_C@_1HC@PFBPFEGO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00810ac8 libcpmtd:thread0.obj + 0003:00014b54 ??_7_System_error_category@std@@6B@ 00810b54 libcpmtd:xonce.obj + 0003:00014b74 ??_C@_06FHFOAHML@system@ 00810b74 libcpmtd:xonce.obj + 0003:00014b7c ??_C@_0O@BFJCFAAK@unknown?5error@ 00810b7c libcpmtd:xonce.obj + 0003:00014b8c ??_C@_0DJ@BPMBPMAJ@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00810b8c libcpmtd:xonce.obj + 0003:00014bd0 ??_C@_1HC@BLJDKNLP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00810bd0 libcpmtd:xonce.obj + 0003:00015228 ??_C@_0BN@LKKBCCDB@address?5family?5not?5supported@ 00811228 libcpmtd:syserror.obj + 0003:0001524c ??_C@_0P@LDMLAFHI@address?5in?5use@ 0081124c libcpmtd:syserror.obj + 0003:00015260 ??_C@_0BG@DHPCNBJB@address?5not?5available@ 00811260 libcpmtd:syserror.obj + 0003:0001527c ??_C@_0BC@DFIBIBIL@already?5connected@ 0081127c libcpmtd:syserror.obj + 0003:00015294 ??_C@_0BH@CAKOHOMI@argument?5list?5too?5long@ 00811294 libcpmtd:syserror.obj + 0003:000152b0 ??_C@_0BH@CGIMPKIM@argument?5out?5of?5domain@ 008112b0 libcpmtd:syserror.obj + 0003:000152cc ??_C@_0M@KGHGGJGL@bad?5address@ 008112cc libcpmtd:syserror.obj + 0003:000152dc ??_C@_0BE@MPJPGCEO@bad?5file?5descriptor@ 008112dc libcpmtd:syserror.obj + 0003:000152f4 ??_C@_0M@PMMIEFCP@bad?5message@ 008112f4 libcpmtd:syserror.obj + 0003:00015304 ??_C@_0M@KPHOFDBE@broken?5pipe@ 00811304 libcpmtd:syserror.obj + 0003:00015314 ??_C@_0BD@MGNDDEGM@connection?5aborted@ 00811314 libcpmtd:syserror.obj + 0003:0001532c ??_C@_0BP@KAIHPOGN@connection?5already?5in?5progress@ 0081132c libcpmtd:syserror.obj + 0003:00015354 ??_C@_0BD@PJLIIJEL@connection?5refused@ 00811354 libcpmtd:syserror.obj + 0003:0001536c ??_C@_0BB@IECNJNOI@connection?5reset@ 0081136c libcpmtd:syserror.obj + 0003:00015380 ??_C@_0BC@PPHBOELF@cross?5device?5link@ 00811380 libcpmtd:syserror.obj + 0003:00015398 ??_C@_0BN@KDMIFEIP@destination?5address?5required@ 00811398 libcpmtd:syserror.obj + 0003:000153bc ??_C@_0BE@JIDOCPHM@directory?5not?5empty@ 008113bc libcpmtd:syserror.obj + 0003:000153d4 ??_C@_0BI@BNCLIGPB@executable?5format?5error@ 008113d4 libcpmtd:syserror.obj + 0003:000153f0 ??_C@_0M@MIDIAGJP@file?5exists@ 008113f0 libcpmtd:syserror.obj + 0003:00015400 ??_C@_0P@DNAJLBJK@file?5too?5large@ 00811400 libcpmtd:syserror.obj + 0003:00015414 ??_C@_0BC@EJHOMAAK@filename?5too?5long@ 00811414 libcpmtd:syserror.obj + 0003:0001542c ??_C@_0BH@KEFGLDAF@function?5not?5supported@ 0081142c libcpmtd:syserror.obj + 0003:00015448 ??_C@_0BB@DHFDFGDM@host?5unreachable@ 00811448 libcpmtd:syserror.obj + 0003:0001545c ??_C@_0BD@JPHBMONG@identifier?5removed@ 0081145c libcpmtd:syserror.obj + 0003:00015474 ??_C@_0BG@CDNPAGJK@illegal?5byte?5sequence@ 00811474 libcpmtd:syserror.obj + 0003:00015490 ??_C@_0CD@BNPLBMNA@inappropriate?5io?5control?5operat@ 00811490 libcpmtd:syserror.obj + 0003:000154bc ??_C@_0M@EGEKIIMP@interrupted@ 008114bc libcpmtd:syserror.obj + 0003:000154cc ??_C@_0N@OHAFKDEK@invalid?5seek@ 008114cc libcpmtd:syserror.obj + 0003:000154dc ??_C@_08GLNPIFBN@io?5error@ 008114dc libcpmtd:syserror.obj + 0003:000154e8 ??_C@_0P@FLLDBIDK@is?5a?5directory@ 008114e8 libcpmtd:syserror.obj + 0003:000154fc ??_C@_0N@IFLPBIOP@message?5size@ 008114fc libcpmtd:syserror.obj + 0003:0001550c ??_C@_0N@KIIEAAIO@network?5down@ 0081150c libcpmtd:syserror.obj + 0003:0001551c ??_C@_0O@FNPDBHEE@network?5reset@ 0081151c libcpmtd:syserror.obj + 0003:0001552c ??_C@_0BE@IFNCKGE@network?5unreachable@ 0081152c libcpmtd:syserror.obj + 0003:00015544 ??_C@_0BA@PFFCAOFK@no?5buffer?5space@ 00811544 libcpmtd:syserror.obj + 0003:00015558 ??_C@_0BB@IEPBLJHK@no?5child?5process@ 00811558 libcpmtd:syserror.obj + 0003:0001556c ??_C@_07PLECNNKG@no?5link@ 0081156c libcpmtd:syserror.obj + 0003:00015578 ??_C@_0BC@NJECKMKE@no?5lock?5available@ 00811578 libcpmtd:syserror.obj + 0003:00015590 ??_C@_0BF@PBGGPKKE@no?5message?5available@ 00811590 libcpmtd:syserror.obj + 0003:000155ac ??_C@_0L@EDOLMPAK@no?5message@ 008115ac libcpmtd:syserror.obj + 0003:000155bc ??_C@_0BD@EAMBFIDF@no?5protocol?5option@ 008115bc libcpmtd:syserror.obj + 0003:000155d4 ??_C@_0BD@IJDJKDEA@no?5space?5on?5device@ 008115d4 libcpmtd:syserror.obj + 0003:000155ec ??_C@_0BE@MKFDAFMP@no?5stream?5resources@ 008115ec libcpmtd:syserror.obj + 0003:00015604 ??_C@_0BK@IMCPHCBI@no?5such?5device?5or?5address@ 00811604 libcpmtd:syserror.obj + 0003:00015624 ??_C@_0P@FDINDDOK@no?5such?5device@ 00811624 libcpmtd:syserror.obj + 0003:00015638 ??_C@_0BK@NDOCBPGE@no?5such?5file?5or?5directory@ 00811638 libcpmtd:syserror.obj + 0003:00015658 ??_C@_0BA@DOCPFFJG@not?5a?5directory@ 00811658 libcpmtd:syserror.obj + 0003:0001566c ??_C@_0N@POEIPGGF@not?5a?5socket@ 0081166c libcpmtd:syserror.obj + 0003:0001567c ??_C@_0N@LGAPMMPI@not?5a?5stream@ 0081167c libcpmtd:syserror.obj + 0003:0001568c ??_C@_0O@GLMIBBEG@not?5connected@ 0081168c libcpmtd:syserror.obj + 0003:0001569c ??_C@_0O@NHEDABJP@not?5supported@ 0081169c libcpmtd:syserror.obj + 0003:000156ac ??_C@_0BD@MOLBPMEA@operation?5canceled@ 008116ac libcpmtd:syserror.obj + 0003:000156c4 ??_C@_0BG@KDKHOPCO@operation?5in?5progress@ 008116c4 libcpmtd:syserror.obj + 0003:000156e0 ??_C@_0BI@LNEGIFLN@operation?5not?5supported@ 008116e0 libcpmtd:syserror.obj + 0003:000156fc ??_C@_0BG@OEMDKMEE@operation?5would?5block@ 008116fc libcpmtd:syserror.obj + 0003:00015718 ??_C@_0L@BLPOFLNJ@owner?5dead@ 00811718 libcpmtd:syserror.obj + 0003:00015728 ??_C@_0BC@CIJDGCDI@permission?5denied@ 00811728 libcpmtd:syserror.obj + 0003:00015740 ??_C@_0P@FNPOCJBE@protocol?5error@ 00811740 libcpmtd:syserror.obj + 0003:00015754 ??_C@_0BH@JPPPLHJB@protocol?5not?5supported@ 00811754 libcpmtd:syserror.obj + 0003:00015770 ??_C@_0BG@EICBIHDP@read?5only?5file?5system@ 00811770 libcpmtd:syserror.obj + 0003:0001578c ??_C@_0BE@GOIPJJHG@result?5out?5of?5range@ 0081178c libcpmtd:syserror.obj + 0003:000157a4 ??_C@_0BG@MPLKFPAE@state?5not?5recoverable@ 008117a4 libcpmtd:syserror.obj + 0003:000157c0 ??_C@_0P@DIIFGFCG@stream?5timeout@ 008117c0 libcpmtd:syserror.obj + 0003:000157d4 ??_C@_0P@IPFDMIFL@text?5file?5busy@ 008117d4 libcpmtd:syserror.obj + 0003:000157e8 ??_C@_09KJPPMAOI@timed?5out@ 008117e8 libcpmtd:syserror.obj + 0003:000157f4 ??_C@_0BO@HACHBEKI@too?5many?5files?5open?5in?5system@ 008117f4 libcpmtd:syserror.obj + 0003:00015818 ??_C@_0BE@GHAFMPAH@too?5many?5files?5open@ 00811818 libcpmtd:syserror.obj + 0003:00015830 ??_C@_0P@HCOMKFCC@too?5many?5links@ 00811830 libcpmtd:syserror.obj + 0003:00015844 ??_C@_0BO@EFGOJEF@too?5many?5symbolic?5link?5levels@ 00811844 libcpmtd:syserror.obj + 0003:00015868 ??_C@_0BA@KGKGOOJA@value?5too?5large@ 00811868 libcpmtd:syserror.obj + 0003:0001587c ??_C@_0BE@MIEJDDNH@wrong?5protocol?5type@ 0081187c libcpmtd:syserror.obj + 0003:00015894 ??_C@_0DN@EIOJNLCM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00811894 libcpmtd:locale0.obj + 0003:000158e0 ??_C@_0DJ@EOMAMCEH@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008118e0 libcpmtd:locale0.obj + 0003:00015928 ??_7_Locimp@locale@std@@6B@ 00811928 libcpmtd:locale0.obj + 0003:00015938 ??_C@_01GFHCPBMG@C@ 00811938 libcpmtd:locale0.obj + 0003:0001593c ??_C@_0DK@GDBHOKNI@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081193c libcpmtd:locale0.obj + 0003:00015984 ??_C@_0DO@MKAPENCM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00811984 libcpmtd:_tolower.obj + 0003:000159d0 ?_BADOFF@std@@3_JB 008119d0 libcpmtd:ios.obj + 0003:00015a24 ??_C@_01KDCPPGHE@r@ 00811a24 libcpmtd:fiopen.obj + 0003:00015a28 ??_C@_01MCMALHOG@a@ 00811a28 libcpmtd:fiopen.obj + 0003:00015a2c ??_C@_02GMLFBBN@wb@ 00811a2c libcpmtd:fiopen.obj + 0003:00015a30 ??_C@_02BOGAIONP@ab@ 00811a30 libcpmtd:fiopen.obj + 0003:00015a34 ??_C@_02CBLLGHLK@r?$CL@ 00811a34 libcpmtd:fiopen.obj + 0003:00015a38 ??_C@_02CHHAKFFB@w?$CL@ 00811a38 libcpmtd:fiopen.obj + 0003:00015a3c ??_C@_02DPNLHKJD@a?$CL@ 00811a3c libcpmtd:fiopen.obj + 0003:00015a40 ??_C@_03HMFOOINA@r?$CLb@ 00811a40 libcpmtd:fiopen.obj + 0003:00015a44 ??_C@_03ELIABIOC@w?$CLb@ 00811a44 libcpmtd:fiopen.obj + 0003:00015a48 ??_C@_03DOPCBAKB@a?$CLb@ 00811a48 libcpmtd:fiopen.obj + 0003:00015a94 ??_C@_13BPINEIPE@?$AAr@ 00811a94 libcpmtd:fiopen.obj + 0003:00015a98 ??_C@_13CIFDLIMG@?$AAw@ 00811a98 libcpmtd:fiopen.obj + 0003:00015a9c ??_C@_13FNCBLAIF@?$AAa@ 00811a9c libcpmtd:fiopen.obj + 0003:00015aa0 ??_C@_15JJPIMNBO@?$AAr?$AAb@ 00811aa0 libcpmtd:fiopen.obj + 0003:00015aa8 ??_C@_15MJDFFMKN@?$AAw?$AAb@ 00811aa8 libcpmtd:fiopen.obj + 0003:00015ab0 ??_C@_15BMLKLNCL@?$AAa?$AAb@ 00811ab0 libcpmtd:fiopen.obj + 0003:00015ab8 ??_C@_15HPOENKKJ@?$AAr?$AA?$CL@ 00811ab8 libcpmtd:fiopen.obj + 0003:00015ac0 ??_C@_15CPCJELBK@?$AAw?$AA?$CL@ 00811ac0 libcpmtd:fiopen.obj + 0003:00015ac8 ??_C@_15PKKGKKJM@?$AAa?$AA?$CL@ 00811ac8 libcpmtd:fiopen.obj + 0003:00015ad0 ??_C@_17IIOMHMAG@?$AAr?$AA?$CL?$AAb@ 00811ad0 libcpmtd:fiopen.obj + 0003:00015adc ??_C@_17MAAMHCGC@?$AAw?$AA?$CL?$AAb@ 00811adc libcpmtd:fiopen.obj + 0003:00015ae8 ??_C@_17HKNIEKMO@?$AAa?$AA?$CL?$AAb@ 00811ae8 libcpmtd:fiopen.obj + 0003:00015af4 ?valid@?1???$_Xfiopen@D@std@@YAPAU_iobuf@@PBDHH@Z@4QBHB 00811af4 libcpmtd:fiopen.obj + 0003:00015b3c ?valid@?1???$_Xfiopen@_W@std@@YAPAU_iobuf@@PB_WHH@Z@4QBHB 00811b3c libcpmtd:fiopen.obj + 0003:00015b88 ??_7stl_condition_variable_vista@details@Concurrency@@6B@ 00811b88 libcpmtd:cond.obj + 0003:00015ba4 ??_7stl_condition_variable_win7@details@Concurrency@@6B@ 00811ba4 libcpmtd:cond.obj + 0003:00015bc0 ??_7stl_condition_variable_concrt@details@Concurrency@@6B@ 00811bc0 libcpmtd:cond.obj + 0003:00015bd8 ??_C@_0DO@ENJHOAF@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00811bd8 libcpmtd:cond.obj + 0003:00015c24 ??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@ 00811c24 libcpmtd:winapisupp.obj + 0003:00015c44 ??_C@_08KNHFBNJ@FlsAlloc@ 00811c44 libcpmtd:winapisupp.obj + 0003:00015c50 ??_C@_07PEJMOBNF@FlsFree@ 00811c50 libcpmtd:winapisupp.obj + 0003:00015c5c ??_C@_0M@GDNOONDI@FlsGetValue@ 00811c5c libcpmtd:winapisupp.obj + 0003:00015c6c ??_C@_0M@JCPCPOEF@FlsSetValue@ 00811c6c libcpmtd:winapisupp.obj + 0003:00015c7c ??_C@_0BM@HCFOFFN@InitializeCriticalSectionEx@ 00811c7c libcpmtd:winapisupp.obj + 0003:00015ca0 ??_C@_0BE@GPLMMCMH@InitOnceExecuteOnce@ 00811ca0 libcpmtd:winapisupp.obj + 0003:00015cb8 ??_C@_0P@DLHPPCNH@CreateEventExW@ 00811cb8 libcpmtd:winapisupp.obj + 0003:00015ccc ??_C@_0BB@MEFPJLHN@CreateSemaphoreW@ 00811ccc libcpmtd:winapisupp.obj + 0003:00015ce0 ??_C@_0BD@KIEEOEEH@CreateSemaphoreExW@ 00811ce0 libcpmtd:winapisupp.obj + 0003:00015cf8 ??_C@_0BG@OGFAJCKC@CreateThreadpoolTimer@ 00811cf8 libcpmtd:winapisupp.obj + 0003:00015d14 ??_C@_0BD@LPLEMMDI@SetThreadpoolTimer@ 00811d14 libcpmtd:winapisupp.obj + 0003:00015d2c ??_C@_0CA@FMNJENH@WaitForThreadpoolTimerCallbacks@ 00811d2c libcpmtd:winapisupp.obj + 0003:00015d54 ??_C@_0BF@DCFCCNOC@CloseThreadpoolTimer@ 00811d54 libcpmtd:winapisupp.obj + 0003:00015d70 ??_C@_0BF@FLABGKKM@CreateThreadpoolWait@ 00811d70 libcpmtd:winapisupp.obj + 0003:00015d8c ??_C@_0BC@MGCOHNA@SetThreadpoolWait@ 00811d8c libcpmtd:winapisupp.obj + 0003:00015da4 ??_C@_0BE@OCIOMIMP@CloseThreadpoolWait@ 00811da4 libcpmtd:winapisupp.obj + 0003:00015dbc ??_C@_0BJ@LKGHFHBO@FlushProcessWriteBuffers@ 00811dbc libcpmtd:winapisupp.obj + 0003:00015ddc ??_C@_0BP@KALKKPMO@FreeLibraryWhenCallbackReturns@ 00811ddc libcpmtd:winapisupp.obj + 0003:00015e04 ??_C@_0BK@DFNBACLA@GetCurrentProcessorNumber@ 00811e04 libcpmtd:winapisupp.obj + 0003:00015e24 ??_C@_0BE@FKKLLFLM@CreateSymbolicLinkW@ 00811e24 libcpmtd:winapisupp.obj + 0003:00015e3c ??_C@_0BE@JOGNEJCI@GetCurrentPackageId@ 00811e3c libcpmtd:winapisupp.obj + 0003:00015e54 ??_C@_0BN@NEEHBBPO@GetFileInformationByHandleEx@ 00811e54 libcpmtd:winapisupp.obj + 0003:00015e78 ??_C@_0BL@KBBHGKCM@SetFileInformationByHandle@ 00811e78 libcpmtd:winapisupp.obj + 0003:00015e98 ??_C@_0BP@FPNJPEJC@GetSystemTimePreciseAsFileTime@ 00811e98 libcpmtd:winapisupp.obj + 0003:00015ec0 ??_C@_0BM@HLJJNPAH@InitializeConditionVariable@ 00811ec0 libcpmtd:winapisupp.obj + 0003:00015ee4 ??_C@_0BG@BFNILBLN@WakeConditionVariable@ 00811ee4 libcpmtd:winapisupp.obj + 0003:00015f00 ??_C@_0BJ@PGPPEPCC@WakeAllConditionVariable@ 00811f00 libcpmtd:winapisupp.obj + 0003:00015f20 ??_C@_0BJ@JEBJOJFJ@SleepConditionVariableCS@ 00811f20 libcpmtd:winapisupp.obj + 0003:00015f40 ??_C@_0BC@MMLHEBPB@InitializeSRWLock@ 00811f40 libcpmtd:winapisupp.obj + 0003:00015f58 ??_C@_0BI@OMNLIJDB@AcquireSRWLockExclusive@ 00811f58 libcpmtd:winapisupp.obj + 0003:00015f74 ??_C@_0BL@OGHFEMNA@TryAcquireSRWLockExclusive@ 00811f74 libcpmtd:winapisupp.obj + 0003:00015f94 ??_C@_0BI@HMIEPCNJ@ReleaseSRWLockExclusive@ 00811f94 libcpmtd:winapisupp.obj + 0003:00015fb0 ??_C@_0BK@LGACAGIC@SleepConditionVariableSRW@ 00811fb0 libcpmtd:winapisupp.obj + 0003:00015fd0 ??_C@_0BF@GGPHFPJA@CreateThreadpoolWork@ 00811fd0 libcpmtd:winapisupp.obj + 0003:00015fec ??_C@_0BF@NHDAIMMO@SubmitThreadpoolWork@ 00811fec libcpmtd:winapisupp.obj + 0003:00016008 ??_C@_0BE@NPHIPNPD@CloseThreadpoolWork@ 00812008 libcpmtd:winapisupp.obj + 0003:00016020 ??_C@_0BA@IHGNDAEB@CompareStringEx@ 00812020 libcpmtd:winapisupp.obj + 0003:00016034 ??_C@_0BA@ONOKGCMP@GetLocaleInfoEx@ 00812034 libcpmtd:winapisupp.obj + 0003:00016048 ??_C@_0O@KKBNKAPF@LCMapStringEx@ 00812048 libcpmtd:winapisupp.obj + 0003:00016058 ??_C@_05LAPONLG@false@ 00812058 libcpmtd:locale.obj + 0003:00016060 ??_C@_04LOAJBDKD@true@ 00812060 libcpmtd:locale.obj + 0003:0001606c ??_7?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0081206c libcpmtd:locale.obj + 0003:000160b4 ??_7?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 008120b4 libcpmtd:locale.obj + 0003:000160f0 ??_7?$numpunct@D@std@@6B@ 008120f0 libcpmtd:locale.obj + 0003:00016118 ??_C@_0DM@KDCGKCLB@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00812118 libcpmtd:locale.obj + 0003:00016160 ??_C@_02BBAHNLBA@?$CFp@ 00812160 libcpmtd:locale.obj + 0003:00016164 ??_C@_02CLHGNPPK@Lu@ 00812164 libcpmtd:locale.obj + 0003:00016168 ??_C@_02HIKPPMOK@Ld@ 00812168 libcpmtd:locale.obj + 0003:0001616c ??_C@_02BDDLJJBK@lu@ 0081216c libcpmtd:locale.obj + 0003:00016170 ??_C@_02EAOCLKAK@ld@ 00812170 libcpmtd:locale.obj + 0003:00016174 ??_C@_02MDKMJEGG@eE@ 00812174 libcpmtd:locale.obj + 0003:00016178 ??_C@_02OOPEBDOJ@pP@ 00812178 libcpmtd:locale.obj + 0003:0001617c ??_C@_01LFCBOECM@?4@ 0081217c libcpmtd:locale.obj + 0003:00016180 ?_Src@?1??_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 00812180 libcpmtd:locale.obj + 0003:00016194 ?_Src@?1??_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@3@1HABVlocale@3@@Z@4QBDB 00812194 libcpmtd:locale.obj + 0003:000161b4 ?_Src@?1??_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 008121b4 libcpmtd:locale.obj + 0003:000161d8 ??_C@_0CJ@JANLIC@istreambuf_iterator?5is?5not?5incr@ 008121d8 libcpmtd:locale.obj + 0003:0001620c ??_C@_0DL@GAOOEJFD@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081220c libcpmtd:locale.obj + 0003:00016258 ??_C@_1HG@CHHDBJKK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00812258 libcpmtd:locale.obj + 0003:000162e8 ??_C@_1JG@KCHMIAPO@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 008122e8 libcpmtd:locale.obj + 0003:000163a0 ??_C@_1FG@EPFFBKIL@?$AA?$CC?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf?$AA_?$AAi?$AAt?$AAe@ 008123a0 libcpmtd:locale.obj + 0003:00016408 ??_C@_0CK@IACNJOAE@istreambuf_iterator?5is?5not?5dere@ 00812408 libcpmtd:locale.obj + 0003:00016440 ??_C@_1JE@DOOFMCFJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 00812440 libcpmtd:locale.obj + 0003:000164f8 ??_C@_1FI@NCHBPOBH@?$AA?$CC?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf?$AA_?$AAi?$AAt?$AAe@ 008124f8 libcpmtd:locale.obj + 0003:00016568 ??_C@_1HE@JKLIALNJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00812568 libcpmtd:locale.obj + 0003:000165f8 __real@0000000000000000 008125f8 libcpmtd:locale.obj + 0003:00016608 __real@4202a05f20000000 00812608 libcpmtd:locale.obj + 0003:00016614 ??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs@ 00812614 libcpmtd:StlLCMapStringA.obj + 0003:00016620 ??_C@_1FE@KNPCCODH@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi@ 00812620 libcpmtd:StlLCMapStringA.obj + 0003:00016688 ??_C@_1IG@NNOMMBMM@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00812688 libcpmtd:StlLCMapStringA.obj + 0003:00016728 ??_C@_0ED@DHPBOMDG@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00812728 libcpmtd:StlLCMapStringA.obj + 0003:00016778 ??_C@_0FG@EOHGAEB@?3Sun?3Sunday?3Mon?3Monday?3Tue?3Tues@ 00812778 libcpmtd:wlocale.obj + 0003:000167e0 ??_C@_0IH@HPGJLCCK@?3Jan?3January?3Feb?3February?3Mar?3M@ 008127e0 libcpmtd:wlocale.obj + 0003:00016888 ??_C@_1KM@LPDIELBN@?$AA?3?$AAS?$AAu?$AAn?$AA?3?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?3?$AAM?$AAo?$AAn@ 00812888 libcpmtd:wlocale.obj + 0003:00016958 ??_C@_1BAO@JIKOGLKA@?$AA?3?$AAJ?$AAa?$AAn?$AA?3?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?3?$AAF?$AAe@ 00812958 libcpmtd:wlocale.obj + 0003:00016aa0 ??_7?$codecvt@_WDU_Mbstatet@@@std@@6B@ 00812aa0 libcpmtd:wlocale.obj + 0003:00016ad4 ??_7?$codecvt@GDU_Mbstatet@@@std@@6B@ 00812ad4 libcpmtd:wlocale.obj + 0003:00016b08 ??_7?$ctype@_W@std@@6B@ 00812b08 libcpmtd:wlocale.obj + 0003:00016b54 ??_7?$ctype@G@std@@6B@ 00812b54 libcpmtd:wlocale.obj + 0003:00016b9c ??_C@_0DJ@MNINMAOG@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00812b9c libcpmtd:wlocale.obj + 0003:00016be4 ??_7messages_base@std@@6B@ 00812be4 libcpmtd:wlocale.obj + 0003:00016bf8 ??_7money_base@std@@6B@ 00812bf8 libcpmtd:wlocale.obj + 0003:00016c0c ??_7time_base@std@@6B@ 00812c0c libcpmtd:wlocale.obj + 0003:00016c20 ??_7?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812c20 libcpmtd:wlocale.obj + 0003:00016c38 ??_7?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812c38 libcpmtd:wlocale.obj + 0003:00016c80 ??_7?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812c80 libcpmtd:wlocale.obj + 0003:00016cbc ??_7?$numpunct@_W@std@@6B@ 00812cbc libcpmtd:wlocale.obj + 0003:00016ce8 ??_7?$collate@_W@std@@6B@ 00812ce8 libcpmtd:wlocale.obj + 0003:00016d0c ??_7?$messages@_W@std@@6B@ 00812d0c libcpmtd:wlocale.obj + 0003:00016d30 ??_7?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812d30 libcpmtd:wlocale.obj + 0003:00016d4c ??_7?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812d4c libcpmtd:wlocale.obj + 0003:00016d68 ??_7?$_Mpunct@_W@std@@6B@ 00812d68 libcpmtd:wlocale.obj + 0003:00016da8 ??_7?$moneypunct@_W$0A@@std@@6B@ 00812da8 libcpmtd:wlocale.obj + 0003:00016de8 ??_7?$moneypunct@_W$00@std@@6B@ 00812de8 libcpmtd:wlocale.obj + 0003:00016e28 ??_7?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 00812e28 libcpmtd:wlocale.obj + 0003:00016e5c ??_7?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 00812e5c libcpmtd:wlocale.obj + 0003:00016ea4 ??_7?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 00812ea4 libcpmtd:wlocale.obj + 0003:00016ee0 ??_7?$numpunct@G@std@@6B@ 00812ee0 libcpmtd:wlocale.obj + 0003:00016f0c ??_7?$collate@G@std@@6B@ 00812f0c libcpmtd:wlocale.obj + 0003:00016f30 ??_7?$messages@G@std@@6B@ 00812f30 libcpmtd:wlocale.obj + 0003:00016f54 ??_7?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 00812f54 libcpmtd:wlocale.obj + 0003:00016f70 ??_7?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 00812f70 libcpmtd:wlocale.obj + 0003:00016f8c ??_7?$_Mpunct@G@std@@6B@ 00812f8c libcpmtd:wlocale.obj + 0003:00016fcc ??_7?$moneypunct@G$0A@@std@@6B@ 00812fcc libcpmtd:wlocale.obj + 0003:0001700c ??_7?$moneypunct@G$00@std@@6B@ 0081300c libcpmtd:wlocale.obj + 0003:0001704c ??_7?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0081304c libcpmtd:wlocale.obj + 0003:00017080 ??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 00813080 libcpmtd:wlocale.obj + 0003:00017094 ??_C@_19OKANBMPJ@?$AA?$CB?$AA?$CF?$AAx?$AA?$AA@ 00813094 libcpmtd:wlocale.obj + 0003:000170a0 ??_C@_0BG@ELKJEKEA@?$CFb?5?$CFd?5?$CFH?5?3?5?$CFM?5?3?5?$CFS?5?$CFY@ 008130a0 libcpmtd:wlocale.obj + 0003:000170bc ??_C@_0N@LIAHCJPJ@?$CFm?5?1?5?$CFd?5?1?5?$CFy@ 008130bc libcpmtd:wlocale.obj + 0003:000170cc ??_C@_01CLKCMJKC@?5@ 008130cc libcpmtd:wlocale.obj + 0003:000170d0 ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ 008130d0 libcpmtd:wlocale.obj + 0003:000170e0 ??_C@_0BA@HGEPHOKI@?$CFI?5?3?5?$CFM?5?3?5?$CFS?5?$CFp@ 008130e0 libcpmtd:wlocale.obj + 0003:000170f4 ??_C@_07GLPBMING@?$CFH?5?3?5?$CFM@ 008130f4 libcpmtd:wlocale.obj + 0003:00017100 ??_C@_0N@GEFMGHCI@?$CFH?5?3?5?$CFM?5?3?5?$CFS@ 00813100 libcpmtd:wlocale.obj + 0003:00017110 ??_C@_0N@LADGFGLL@?$CFd?5?1?5?$CFm?5?1?5?$CFy@ 00813110 libcpmtd:wlocale.obj + 0003:00017120 ?_Src@?1??do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@3@V43@_NAAVios_base@3@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@3@@Z@4QBDB 00813120 libcpmtd:wlocale.obj + 0003:00017130 ??_C@_05NNKBBLJI@?$CF?40Lf@ 00813130 libcpmtd:wlocale.obj + 0003:00017138 ?_Src@?1??do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@3@V43@_NAAVios_base@3@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z@4QBDB 00813138 libcpmtd:wlocale.obj + 0003:00017148 ??_C@_1PK@DGBEGJPE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAb?$AAa?$AAs?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi@ 00813148 libcpmtd:wlocale.obj + 0003:00017274 ?_Src@?1??_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@3@0_NAAVios_base@3@AAY0M@G@Z@4QBDB 00813274 libcpmtd:wlocale.obj + 0003:00017284 ?_Src@?1??_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 00813284 libcpmtd:wlocale.obj + 0003:00017298 ?_Src@?1??_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@3@1HABVlocale@3@@Z@4QBDB 00813298 libcpmtd:wlocale.obj + 0003:000172b8 ??_C@_1LO@OLCACHLB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 008132b8 libcpmtd:wlocale.obj + 0003:000173a0 ??_C@_1LM@GLEPNOHB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 008133a0 libcpmtd:wlocale.obj + 0003:00017484 ?_Src@?1??_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@3@0_NAAVios_base@3@AAY0M@_W@Z@4QBDB 00813484 libcpmtd:wlocale.obj + 0003:00017494 ?_Src@?1??_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 00813494 libcpmtd:wlocale.obj + 0003:000174a8 ?_Src@?1??_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@3@1HABVlocale@3@@Z@4QBDB 008134a8 libcpmtd:wlocale.obj + 0003:000174c8 ??_C@_1KC@EIGBIJJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 008134c8 libcpmtd:wlocale.obj + 0003:00017590 ??_C@_1KA@JIFLBOPG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAi?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AAb?$AAu?$AAf@ 00813590 libcpmtd:wlocale.obj + 0003:00017650 ??_C@_1NA@KFAKIFMH@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AAb?$AAa?$AAs?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi@ 00813650 libcpmtd:wlocale.obj + 0003:0001774c ??_C@_04FJCIEOIB@$?$CLxv@ 0081374c libcpmtd:wlocale.obj + 0003:00017754 ??_C@_0DD@LAECODHC@cannot?5increment?5value?9initiali@ 00813754 libcpmtd:wlocale.obj + 0003:00017798 ??_C@_1NM@OFDKAKOJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00813798 libcpmtd:wlocale.obj + 0003:000178a0 ??_C@_1GK@MICKMFNF@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe@ 008138a0 libcpmtd:wlocale.obj + 0003:00017920 ??_C@_0IA@BFMOHEDB@cannot?5increment?5string?5iterato@ 00813920 libcpmtd:wlocale.obj + 0003:000179c0 ??_C@_1BAK@GBJMLMKM@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe@ 008139c0 libcpmtd:wlocale.obj + 0003:00017b00 ??_C@_0CK@IKJHPFKC@cannot?5increment?5string?5iterato@ 00813b00 libcpmtd:wlocale.obj + 0003:00017b38 ??_C@_1FI@JCCODAAD@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAc?$AAr?$AAe?$AAm?$AAe@ 00813b38 libcpmtd:wlocale.obj + 0003:00017ba4 ??_C@_0DF@IMIHIHOP@cannot?5dereference?5value?9initia@ 00813ba4 libcpmtd:wlocale.obj + 0003:00017be8 ??_C@_1NK@KPDIHNEP@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00813be8 libcpmtd:wlocale.obj + 0003:00017cf0 ??_C@_1GO@PNALIMBD@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr@ 00813cf0 libcpmtd:wlocale.obj + 0003:00017d78 ??_C@_0IC@DGJDAAEM@cannot?5dereference?5string?5itera@ 00813d78 libcpmtd:wlocale.obj + 0003:00017e18 ??_C@_1BAO@BGLBIONH@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr@ 00813e18 libcpmtd:wlocale.obj + 0003:00017f60 ??_C@_0FF@HJKEHIBC@cannot?5dereference?5string?5itera@ 00813f60 libcpmtd:wlocale.obj + 0003:00017fc8 ??_C@_1KO@CMPBFHAM@?$AA?$CC?$AAc?$AAa?$AAn?$AAn?$AAo?$AAt?$AA?5?$AAd?$AAe?$AAr?$AAe?$AAf?$AAe?$AAr@ 00813fc8 libcpmtd:wlocale.obj + 0003:00018098 ?_Src@?1??_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 00814098 libcpmtd:wlocale.obj + 0003:000180bc ?_Src@?1??_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@3@1AAVios_base@3@PAH@Z@4QBDB 008140bc libcpmtd:wlocale.obj + 0003:000180e0 ??_C@_1MO@GAPGDMNB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 008140e0 libcpmtd:wlocale.obj + 0003:000181d8 ??_C@_1MM@BFHGHMKD@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 008141d8 libcpmtd:wlocale.obj + 0003:000182d0 ??_C@_0HJ@PJOMAIHM@?$CLv$x?$CLv$xv$?$CLxv?$CL$xv$?$CLx?$CL$vx?$CL$vx$v?$CL@ 008142d0 libcpmtd:wlocale.obj + 0003:00018364 ??_C@_11LOCGONAA@@ 00814364 libcpmtd:wlocale.obj + 0003:00018368 ??_C@_13IMODFHAA@?$AA?9@ 00814368 libcpmtd:wlocale.obj + 0003:00018370 ??_C@_1NE@FAMHLCMB@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814370 libcpmtd:wlocale.obj + 0003:00018470 ??_C@_1MG@CLNEOJNJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814470 libcpmtd:wlocale.obj + 0003:00018560 ??_C@_1OC@IIMNFMF@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814560 libcpmtd:wlocale.obj + 0003:00018670 ??_C@_1NE@BFKBJFPG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814670 libcpmtd:wlocale.obj + 0003:00018770 ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ 00814770 libcpmtd:wlocale.obj + 0003:00018790 ??_C@_01JOAMLHOP@?9@ 00814790 libcpmtd:wlocale.obj + 0003:00018798 __real@4733426172c74d82 00814798 libcpmtd:wlocale.obj + 0003:000187a8 ??_7?$collate@D@std@@6B@ 008147a8 libcpmtd:xlocale.obj + 0003:000187cc ??_7?$messages@D@std@@6B@ 008147cc libcpmtd:xlocale.obj + 0003:000187f0 ??_7?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 008147f0 libcpmtd:xlocale.obj + 0003:0001880c ??_7?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0081480c libcpmtd:xlocale.obj + 0003:00018828 ??_7?$_Mpunct@D@std@@6B@ 00814828 libcpmtd:xlocale.obj + 0003:00018868 ??_7?$moneypunct@D$0A@@std@@6B@ 00814868 libcpmtd:xlocale.obj + 0003:000188a8 ??_7?$moneypunct@D$00@std@@6B@ 008148a8 libcpmtd:xlocale.obj + 0003:000188e8 ??_7?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 008148e8 libcpmtd:xlocale.obj + 0003:0001891c ??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0081491c libcpmtd:xlocale.obj + 0003:00018930 ??_C@_04IHCGILC@?$CB?$CFx?$AA@ 00814930 libcpmtd:xlocale.obj + 0003:00018938 ?_Src@?1??do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@3@V43@_NAAVios_base@3@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z@4QBDB 00814938 libcpmtd:xlocale.obj + 0003:00018948 ?_Src@?1??_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@3@0_NAAVios_base@3@AAY0M@D@Z@4QBDB 00814948 libcpmtd:xlocale.obj + 0003:00018958 ??_C@_1MI@IFMPOAI@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814958 libcpmtd:xlocale.obj + 0003:00018a48 ??_C@_1MG@GDGHDIKC@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAo@ 00814a48 libcpmtd:xlocale.obj + 0003:00019d0c ??_C@_15EMKDOKLE@?$AAa?$AAr@ 00815d0c libcpmtd:winapinls.obj + 0003:00019d14 ??_C@_15KNPADPLH@?$AAb?$AAg@ 00815d14 libcpmtd:winapinls.obj + 0003:00019d1c ??_C@_15EDMHLDMO@?$AAc?$AAa@ 00815d1c libcpmtd:winapinls.obj + 0003:00019d24 ??_C@_1O@BPEAJADD@?$AAz?$AAh?$AA?9?$AAC?$AAH?$AAS@ 00815d24 libcpmtd:winapinls.obj + 0003:00019d34 ??_C@_15LJNHCMNK@?$AAc?$AAs@ 00815d34 libcpmtd:winapinls.obj + 0003:00019d3c ??_C@_15FOMCIDHG@?$AAd?$AAa@ 00815d3c libcpmtd:winapinls.obj + 0003:00019d44 ??_C@_15NBKABECB@?$AAd?$AAe@ 00815d44 libcpmtd:winapinls.obj + 0003:00019d4c ??_C@_15GHPEIIAO@?$AAe?$AAl@ 00815d4c libcpmtd:winapinls.obj + 0003:00019d54 ??_C@_15MNPNEAIF@?$AAe?$AAn@ 00815d54 libcpmtd:winapinls.obj + 0003:00019d5c ??_C@_15GPIOMPMH@?$AAe?$AAs@ 00815d5c libcpmtd:winapinls.obj + 0003:00019d64 ??_C@_15NGLOAKJC@?$AAf?$AAi@ 00815d64 libcpmtd:winapinls.obj + 0003:00019d6c ??_C@_15FBKGNKAM@?$AAf?$AAr@ 00815d6c libcpmtd:winapinls.obj + 0003:00019d74 ??_C@_15KGGCNEFK@?$AAh?$AAe@ 00815d74 libcpmtd:winapinls.obj + 0003:00019d7c ??_C@_15PGHLIDMF@?$AAh?$AAu@ 00815d7c libcpmtd:winapinls.obj + 0003:00019d84 ??_C@_15BIEMAPLM@?$AAi?$AAs@ 00815d84 libcpmtd:winapinls.obj + 0003:00019d8c ??_C@_15IFJLDHAF@?$AAi?$AAt@ 00815d8c libcpmtd:winapinls.obj + 0003:00019d94 ??_C@_15GEMIOCAG@?$AAj?$AAa@ 00815d94 libcpmtd:winapinls.obj + 0003:00019d9c ??_C@_15EPELEGJA@?$AAk?$AAo@ 00815d9c libcpmtd:winapinls.obj + 0003:00019da4 ??_C@_15NDDHIMN@?$AAn?$AAl@ 00815da4 libcpmtd:winapinls.obj + 0003:00019dac ??_C@_15BPIGNHCD@?$AAn?$AAo@ 00815dac libcpmtd:winapinls.obj + 0003:00019db4 ??_C@_15DEOPBLCG@?$AAp?$AAl@ 00815db4 libcpmtd:winapinls.obj + 0003:00019dbc ??_C@_15KBECGEFG@?$AAp?$AAt@ 00815dbc libcpmtd:winapinls.obj + 0003:00019dc4 ??_C@_15GLJCBFMD@?$AAr?$AAo@ 00815dc4 libcpmtd:winapinls.obj + 0003:00019dcc ??_C@_15FEDGKCDI@?$AAr?$AAu@ 00815dcc libcpmtd:winapinls.obj + 0003:00019dd4 ??_C@_15GLKMLLHM@?$AAh?$AAr@ 00815dd4 libcpmtd:winapinls.obj + 0003:00019ddc ??_C@_15CPKMFBDB@?$AAs?$AAk@ 00815ddc libcpmtd:winapinls.obj + 0003:00019de4 ??_C@_15BAAIOGMK@?$AAs?$AAq@ 00815de4 libcpmtd:winapinls.obj + 0003:00019dec ??_C@_15INNPNOHD@?$AAs?$AAv@ 00815dec libcpmtd:winapinls.obj + 0003:00019df4 ??_C@_15CABMMOGH@?$AAt?$AAh@ 00815df4 libcpmtd:winapinls.obj + 0003:00019dfc ??_C@_15BPLIHJJM@?$AAt?$AAr@ 00815dfc libcpmtd:winapinls.obj + 0003:00019e04 ??_C@_15NEOEKKDJ@?$AAu?$AAr@ 00815e04 libcpmtd:winapinls.obj + 0003:00019e0c ??_C@_15NFICGAJK@?$AAi?$AAd@ 00815e0c libcpmtd:winapinls.obj + 0003:00019e14 ??_C@_15PJPFLCCM@?$AAu?$AAk@ 00815e14 libcpmtd:winapinls.obj + 0003:00019e1c ??_C@_15HPJPHDM@?$AAb?$AAe@ 00815e1c libcpmtd:winapinls.obj + 0003:00019e24 ??_C@_15LCHLGJII@?$AAs?$AAl@ 00815e24 libcpmtd:winapinls.obj + 0003:00019e2c ??_C@_15PCFJPHHO@?$AAe?$AAt@ 00815e2c libcpmtd:winapinls.obj + 0003:00019e34 ??_C@_15HPFPGODN@?$AAl?$AAv@ 00815e34 libcpmtd:winapinls.obj + 0003:00019e3c ??_C@_15NFFGKGLG@?$AAl?$AAt@ 00815e3c libcpmtd:winapinls.obj + 0003:00019e44 ??_C@_15BDAKCCHN@?$AAf?$AAa@ 00815e44 libcpmtd:winapinls.obj + 0003:00019e4c ??_C@_15NFGIAIAJ@?$AAv?$AAi@ 00815e4c libcpmtd:winapinls.obj + 0003:00019e54 ??_C@_15LMKNDMHN@?$AAh?$AAy@ 00815e54 libcpmtd:winapinls.obj + 0003:00019e5c ??_C@_15IJBHMCFL@?$AAa?$AAz@ 00815e5c libcpmtd:winapinls.obj + 0003:00019e64 ??_C@_15EKOFJABL@?$AAe?$AAu@ 00815e64 libcpmtd:winapinls.obj + 0003:00019e6c ??_C@_15BGHADCNK@?$AAm?$AAk@ 00815e6c libcpmtd:winapinls.obj + 0003:00019e74 ??_C@_15JDNICKHM@?$AAa?$AAf@ 00815e74 libcpmtd:winapinls.obj + 0003:00019e7c ??_C@_15KPJEDBKD@?$AAk?$AAa@ 00815e7c libcpmtd:winapinls.obj + 0003:00019e84 ??_C@_15PDNFFFEO@?$AAf?$AAo@ 00815e84 libcpmtd:winapinls.obj + 0003:00019e8c ??_C@_15OMLEGLOC@?$AAh?$AAi@ 00815e8c libcpmtd:winapinls.obj + 0003:00019e94 ??_C@_15IDNNENKK@?$AAm?$AAs@ 00815e94 libcpmtd:winapinls.obj + 0003:00019e9c ??_C@_15MACJNBMH@?$AAk?$AAk@ 00815e9c libcpmtd:winapinls.obj + 0003:00019ea4 ??_C@_15DKDJEOND@?$AAk?$AAy@ 00815ea4 libcpmtd:winapinls.obj + 0003:00019eac ??_C@_15DFGDLJBG@?$AAs?$AAw@ 00815eac libcpmtd:winapinls.obj + 0003:00019eb4 ??_C@_15BBFAICNG@?$AAu?$AAz@ 00815eb4 libcpmtd:winapinls.obj + 0003:00019ebc ??_C@_15DKNDCGEA@?$AAt?$AAt@ 00815ebc libcpmtd:winapinls.obj + 0003:00019ec4 ??_C@_15MGIFMDPL@?$AAp?$AAa@ 00815ec4 libcpmtd:winapinls.obj + 0003:00019ecc ??_C@_15HCNDBBA@?$AAg?$AAu@ 00815ecc libcpmtd:winapinls.obj + 0003:00019ed4 ??_C@_15FNBEIBON@?$AAt?$AAa@ 00815ed4 libcpmtd:winapinls.obj + 0003:00019edc ??_C@_15NCHGBGLK@?$AAt?$AAe@ 00815edc libcpmtd:winapinls.obj + 0003:00019ee4 ??_C@_15PHPHCBPF@?$AAk?$AAn@ 00815ee4 libcpmtd:winapinls.obj + 0003:00019eec ??_C@_15DLGBCKMP@?$AAm?$AAr@ 00815eec libcpmtd:winapinls.obj + 0003:00019ef4 ??_C@_15EABBLBFF@?$AAs?$AAa@ 00815ef4 libcpmtd:winapinls.obj + 0003:00019efc ??_C@_15CBKOMCOI@?$AAm?$AAn@ 00815efc libcpmtd:winapinls.obj + 0003:00019f04 ??_C@_15CKDMCJAF@?$AAg?$AAl@ 00815f04 libcpmtd:winapinls.obj + 0003:00019f0c ??_C@_17CNJFBPG@?$AAk?$AAo?$AAk@ 00815f0c libcpmtd:winapinls.obj + 0003:00019f18 ??_C@_17FFBJICPL@?$AAs?$AAy?$AAr@ 00815f18 libcpmtd:winapinls.obj + 0003:00019f24 ??_C@_17KPNDCPAF@?$AAd?$AAi?$AAv@ 00815f24 libcpmtd:winapinls.obj + 0003:00019f30 ??_C@_1M@OKAHONE@?$AAa?$AAr?$AA?9?$AAS?$AAA@ 00815f30 libcpmtd:winapinls.obj + 0003:00019f40 ??_C@_1M@FFFIGIGK@?$AAb?$AAg?$AA?9?$AAB?$AAG@ 00815f40 libcpmtd:winapinls.obj + 0003:00019f50 ??_C@_1M@BJNKEDC@?$AAc?$AAa?$AA?9?$AAE?$AAS@ 00815f50 libcpmtd:winapinls.obj + 0003:00019f60 ??_C@_1M@CLNBBOPM@?$AAz?$AAh?$AA?9?$AAT?$AAW@ 00815f60 libcpmtd:winapinls.obj + 0003:00019f70 ??_C@_1M@IJJHFJHA@?$AAc?$AAs?$AA?9?$AAC?$AAZ@ 00815f70 libcpmtd:winapinls.obj + 0003:00019f80 ??_C@_1M@CLPEOBGI@?$AAd?$AAa?$AA?9?$AAD?$AAK@ 00815f80 libcpmtd:winapinls.obj + 0003:00019f90 ??_C@_1M@MCMADGCB@?$AAd?$AAe?$AA?9?$AAD?$AAE@ 00815f90 libcpmtd:winapinls.obj + 0003:00019fa0 ??_C@_1M@OOCKEMAM@?$AAe?$AAl?$AA?9?$AAG?$AAR@ 00815fa0 libcpmtd:winapinls.obj + 0003:00019fb0 ??_C@_1M@BMHNFIME@?$AAe?$AAn?$AA?9?$AAU?$AAS@ 00815fb0 libcpmtd:winapinls.obj + 0003:00019fc0 ??_C@_1M@DDNJFGID@?$AAf?$AAi?$AA?9?$AAF?$AAI@ 00815fc0 libcpmtd:winapinls.obj + 0003:00019fd0 ??_C@_1M@GLIPPMAC@?$AAf?$AAr?$AA?9?$AAF?$AAR@ 00815fd0 libcpmtd:winapinls.obj + 0003:00019fe0 ??_C@_1M@GFMCHPE@?$AAh?$AAe?$AA?9?$AAI?$AAL@ 00815fe0 libcpmtd:winapinls.obj + 0003:00019ff0 ??_C@_1M@MHLPGNKM@?$AAh?$AAu?$AA?9?$AAH?$AAU@ 00815ff0 libcpmtd:winapinls.obj + 0003:0001a000 ??_C@_1M@LPDDNNPN@?$AAi?$AAs?$AA?9?$AAI?$AAS@ 00816000 libcpmtd:winapinls.obj + 0003:0001a010 ??_C@_1M@MADIPODN@?$AAi?$AAt?$AA?9?$AAI?$AAT@ 00816010 libcpmtd:winapinls.obj + 0003:0001a020 ??_C@_1M@HPNHIDJI@?$AAj?$AAa?$AA?9?$AAJ?$AAP@ 00816020 libcpmtd:winapinls.obj + 0003:0001a030 ??_C@_1M@JLOOOEGK@?$AAk?$AAo?$AA?9?$AAK?$AAR@ 00816030 libcpmtd:winapinls.obj + 0003:0001a040 ??_C@_1M@IHBJJGG@?$AAn?$AAl?$AA?9?$AAN?$AAL@ 00816040 libcpmtd:winapinls.obj + 0003:0001a050 ??_C@_1M@EANAGDL@?$AAn?$AAb?$AA?9?$AAN?$AAO@ 00816050 libcpmtd:winapinls.obj + 0003:0001a060 ??_C@_1M@NEIEMEGP@?$AAp?$AAl?$AA?9?$AAP?$AAL@ 00816060 libcpmtd:winapinls.obj + 0003:0001a070 ??_C@_1M@BOCFIGEP@?$AAp?$AAt?$AA?9?$AAB?$AAR@ 00816070 libcpmtd:winapinls.obj + 0003:0001a080 ??_C@_1M@IMPFOPBG@?$AAr?$AAo?$AA?9?$AAR?$AAO@ 00816080 libcpmtd:winapinls.obj + 0003:0001a090 ??_C@_1M@IDNNEJMM@?$AAr?$AAu?$AA?9?$AAR?$AAU@ 00816090 libcpmtd:winapinls.obj + 0003:0001a0a0 ??_C@_1M@LILEEOGM@?$AAh?$AAr?$AA?9?$AAH?$AAR@ 008160a0 libcpmtd:winapinls.obj + 0003:0001a0b0 ??_C@_1M@FKIFEHPB@?$AAs?$AAk?$AA?9?$AAS?$AAK@ 008160b0 libcpmtd:winapinls.obj + 0003:0001a0c0 ??_C@_1M@LJMAMNPJ@?$AAs?$AAq?$AA?9?$AAA?$AAL@ 008160c0 libcpmtd:winapinls.obj + 0003:0001a0d0 ??_C@_1M@GIAKDKJK@?$AAs?$AAv?$AA?9?$AAS?$AAE@ 008160d0 libcpmtd:winapinls.obj + 0003:0001a0e0 ??_C@_1M@MKJKIKCL@?$AAt?$AAh?$AA?9?$AAT?$AAH@ 008160e0 libcpmtd:winapinls.obj + 0003:0001a0f0 ??_C@_1M@MFLCCMPB@?$AAt?$AAr?$AA?9?$AAT?$AAR@ 008160f0 libcpmtd:winapinls.obj + 0003:0001a100 ??_C@_1M@OIJHDKJN@?$AAu?$AAr?$AA?9?$AAP?$AAK@ 00816100 libcpmtd:winapinls.obj + 0003:0001a110 ??_C@_1M@LHIPCIEK@?$AAi?$AAd?$AA?9?$AAI?$AAD@ 00816110 libcpmtd:winapinls.obj + 0003:0001a120 ??_C@_1M@MFMOBGI@?$AAu?$AAk?$AA?9?$AAU?$AAA@ 00816120 libcpmtd:winapinls.obj + 0003:0001a130 ??_C@_1M@OBGLJIPL@?$AAb?$AAe?$AA?9?$AAB?$AAY@ 00816130 libcpmtd:winapinls.obj + 0003:0001a140 ??_C@_1M@BCFAJEAD@?$AAs?$AAl?$AA?9?$AAS?$AAI@ 00816140 libcpmtd:winapinls.obj + 0003:0001a150 ??_C@_1M@FKFFEDDN@?$AAe?$AAt?$AA?9?$AAE?$AAE@ 00816150 libcpmtd:winapinls.obj + 0003:0001a160 ??_C@_1M@KGKKAACI@?$AAl?$AAv?$AA?9?$AAL?$AAV@ 00816160 libcpmtd:winapinls.obj + 0003:0001a170 ??_C@_1M@IFGBIJO@?$AAl?$AAt?$AA?9?$AAL?$AAT@ 00816170 libcpmtd:winapinls.obj + 0003:0001a180 ??_C@_1M@FGEAHEDM@?$AAf?$AAa?$AA?9?$AAI?$AAR@ 00816180 libcpmtd:winapinls.obj + 0003:0001a190 ??_C@_1M@KBMAIBFN@?$AAv?$AAi?$AA?9?$AAV?$AAN@ 00816190 libcpmtd:winapinls.obj + 0003:0001a1a0 ??_C@_1M@GPCBKDJK@?$AAh?$AAy?$AA?9?$AAA?$AAM@ 008161a0 libcpmtd:winapinls.obj + 0003:0001a1b0 ??_C@_1BG@BECMDDJB@?$AAa?$AAz?$AA?9?$AAA?$AAZ?$AA?9?$AAL?$AAa?$AAt?$AAn@ 008161b0 libcpmtd:winapinls.obj + 0003:0001a1cc ??_C@_1M@MAOFCAEA@?$AAe?$AAu?$AA?9?$AAE?$AAS@ 008161cc libcpmtd:winapinls.obj + 0003:0001a1dc ??_C@_1M@IGHABKPI@?$AAm?$AAk?$AA?9?$AAM?$AAK@ 008161dc libcpmtd:winapinls.obj + 0003:0001a1ec ??_C@_1M@IAIGNEJG@?$AAt?$AAn?$AA?9?$AAZ?$AAA@ 008161ec libcpmtd:winapinls.obj + 0003:0001a1fc ??_C@_1M@IIJCOJFA@?$AAx?$AAh?$AA?9?$AAZ?$AAA@ 008161fc libcpmtd:winapinls.obj + 0003:0001a20c ??_C@_1M@LGPJHNJH@?$AAz?$AAu?$AA?9?$AAZ?$AAA@ 0081620c libcpmtd:winapinls.obj + 0003:0001a21c ??_C@_1M@HOKAOIO@?$AAa?$AAf?$AA?9?$AAZ?$AAA@ 0081621c libcpmtd:winapinls.obj + 0003:0001a22c ??_C@_1M@DPCLHLIE@?$AAk?$AAa?$AA?9?$AAG?$AAE@ 0081622c libcpmtd:winapinls.obj + 0003:0001a23c ??_C@_1M@BLKMHJBI@?$AAf?$AAo?$AA?9?$AAF?$AAO@ 0081623c libcpmtd:winapinls.obj + 0003:0001a24c ??_C@_1M@LGGJAPPB@?$AAh?$AAi?$AA?9?$AAI?$AAN@ 0081624c libcpmtd:winapinls.obj + 0003:0001a25c ??_C@_1M@FIKPIHFE@?$AAm?$AAt?$AA?9?$AAM?$AAT@ 0081625c libcpmtd:winapinls.obj + 0003:0001a26c ??_C@_1M@HEGGPBFA@?$AAs?$AAe?$AA?9?$AAN?$AAO@ 0081626c libcpmtd:winapinls.obj + 0003:0001a27c ??_C@_1M@EIBJEEPA@?$AAm?$AAs?$AA?9?$AAM?$AAY@ 0081627c libcpmtd:winapinls.obj + 0003:0001a28c ??_C@_1M@FHLBGMPP@?$AAk?$AAk?$AA?9?$AAK?$AAZ@ 0081628c libcpmtd:winapinls.obj + 0003:0001a29c ??_C@_1M@NGJJLCGI@?$AAk?$AAy?$AA?9?$AAK?$AAG@ 0081629c libcpmtd:winapinls.obj + 0003:0001a2ac ??_C@_1M@GIENNBFC@?$AAs?$AAw?$AA?9?$AAK?$AAE@ 008162ac libcpmtd:winapinls.obj + 0003:0001a2bc ??_C@_1BG@NDGMJIMJ@?$AAu?$AAz?$AA?9?$AAU?$AAZ?$AA?9?$AAL?$AAa?$AAt?$AAn@ 008162bc libcpmtd:winapinls.obj + 0003:0001a2d8 ??_C@_1M@IDCCIHBC@?$AAt?$AAt?$AA?9?$AAR?$AAU@ 008162d8 libcpmtd:winapinls.obj + 0003:0001a2e8 ??_C@_1M@LOICPMOJ@?$AAb?$AAn?$AA?9?$AAI?$AAN@ 008162e8 libcpmtd:winapinls.obj + 0003:0001a2f8 ??_C@_1M@KPKKNEAH@?$AAp?$AAa?$AA?9?$AAI?$AAN@ 008162f8 libcpmtd:winapinls.obj + 0003:0001a308 ??_C@_1M@PJGPPBOG@?$AAg?$AAu?$AA?9?$AAI?$AAN@ 00816308 libcpmtd:winapinls.obj + 0003:0001a318 ??_C@_1M@KMKMOPHI@?$AAt?$AAa?$AA?9?$AAI?$AAN@ 00816318 libcpmtd:winapinls.obj + 0003:0001a328 ??_C@_1M@KFEHEPAC@?$AAt?$AAe?$AA?9?$AAI?$AAN@ 00816328 libcpmtd:winapinls.obj + 0003:0001a338 ??_C@_1M@CDCLMGHI@?$AAk?$AAn?$AA?9?$AAI?$AAN@ 00816338 libcpmtd:winapinls.obj + 0003:0001a348 ??_C@_1M@MIODLDKF@?$AAm?$AAl?$AA?9?$AAI?$AAN@ 00816348 libcpmtd:winapinls.obj + 0003:0001a358 ??_C@_1M@PBIEACPO@?$AAm?$AAr?$AA?9?$AAI?$AAN@ 00816358 libcpmtd:winapinls.obj + 0003:0001a368 ??_C@_1M@NIDEAGPH@?$AAs?$AAa?$AA?9?$AAI?$AAN@ 00816368 libcpmtd:winapinls.obj + 0003:0001a378 ??_C@_1M@FHIHCBIO@?$AAm?$AAn?$AA?9?$AAM?$AAN@ 00816378 libcpmtd:winapinls.obj + 0003:0001a388 ??_C@_1M@JAIJPENP@?$AAc?$AAy?$AA?9?$AAG?$AAB@ 00816388 libcpmtd:winapinls.obj + 0003:0001a398 ??_C@_1M@PHGFBEPN@?$AAg?$AAl?$AA?9?$AAE?$AAS@ 00816398 libcpmtd:winapinls.obj + 0003:0001a3a8 ??_C@_1O@KPIPDNCP@?$AAk?$AAo?$AAk?$AA?9?$AAI?$AAN@ 008163a8 libcpmtd:winapinls.obj + 0003:0001a3b8 ??_C@_1O@KNHJLDJA@?$AAs?$AAy?$AAr?$AA?9?$AAS?$AAY@ 008163b8 libcpmtd:winapinls.obj + 0003:0001a3c8 ??_C@_1O@MKEKBLAH@?$AAd?$AAi?$AAv?$AA?9?$AAM?$AAV@ 008163c8 libcpmtd:winapinls.obj + 0003:0001a3d8 ??_C@_1O@OHDCKDDF@?$AAq?$AAu?$AAz?$AA?9?$AAB?$AAO@ 008163d8 libcpmtd:winapinls.obj + 0003:0001a3e8 ??_C@_1M@LEPJNLFD@?$AAn?$AAs?$AA?9?$AAZ?$AAA@ 008163e8 libcpmtd:winapinls.obj + 0003:0001a3f8 ??_C@_1M@OMLEIIJB@?$AAm?$AAi?$AA?9?$AAN?$AAZ@ 008163f8 libcpmtd:winapinls.obj + 0003:0001a408 ??_C@_1M@PMPEAILG@?$AAa?$AAr?$AA?9?$AAI?$AAQ@ 00816408 libcpmtd:winapinls.obj + 0003:0001a418 ??_C@_1M@BIBDDEMK@?$AAz?$AAh?$AA?9?$AAC?$AAN@ 00816418 libcpmtd:winapinls.obj + 0003:0001a428 ??_C@_1M@CNKPNOEE@?$AAd?$AAe?$AA?9?$AAC?$AAH@ 00816428 libcpmtd:winapinls.obj + 0003:0001a438 ??_C@_1M@LKMGMLKO@?$AAe?$AAn?$AA?9?$AAG?$AAB@ 00816438 libcpmtd:winapinls.obj + 0003:0001a448 ??_C@_1M@PGKJFFGL@?$AAe?$AAs?$AA?9?$AAM?$AAX@ 00816448 libcpmtd:winapinls.obj + 0003:0001a458 ??_C@_1M@DNNANBDC@?$AAf?$AAr?$AA?9?$AAB?$AAE@ 00816458 libcpmtd:winapinls.obj + 0003:0001a468 ??_C@_1M@HLGMDFHM@?$AAi?$AAt?$AA?9?$AAC?$AAH@ 00816468 libcpmtd:winapinls.obj + 0003:0001a478 ??_C@_1M@CLLBGJH@?$AAn?$AAl?$AA?9?$AAB?$AAE@ 00816478 libcpmtd:winapinls.obj + 0003:0001a488 ??_C@_1M@BODBOGLF@?$AAn?$AAn?$AA?9?$AAN?$AAO@ 00816488 libcpmtd:winapinls.obj + 0003:0001a498 ??_C@_1M@HFFAHKAD@?$AAp?$AAt?$AA?9?$AAP?$AAT@ 00816498 libcpmtd:winapinls.obj + 0003:0001a4a8 ??_C@_1BG@LNOAKHIE@?$AAs?$AAr?$AA?9?$AAS?$AAP?$AA?9?$AAL?$AAa?$AAt?$AAn@ 008164a8 libcpmtd:winapinls.obj + 0003:0001a4c4 ??_C@_1M@HBMHBGAK@?$AAs?$AAv?$AA?9?$AAF?$AAI@ 008164c4 libcpmtd:winapinls.obj + 0003:0001a4d4 ??_C@_1BG@DGCJGJBE@?$AAa?$AAz?$AA?9?$AAA?$AAZ?$AA?9?$AAC?$AAy?$AAr?$AAl@ 008164d4 libcpmtd:winapinls.obj + 0003:0001a4f0 ??_C@_1M@KEJDAAHB@?$AAs?$AAe?$AA?9?$AAS?$AAE@ 008164f0 libcpmtd:winapinls.obj + 0003:0001a500 ??_C@_1M@HEIBJJAD@?$AAm?$AAs?$AA?9?$AAB?$AAN@ 00816500 libcpmtd:winapinls.obj + 0003:0001a510 ??_C@_1BG@PBGJMCEM@?$AAu?$AAz?$AA?9?$AAU?$AAZ?$AA?9?$AAC?$AAy?$AAr?$AAl@ 00816510 libcpmtd:winapinls.obj + 0003:0001a52c ??_C@_1O@LAOBCMDF@?$AAq?$AAu?$AAz?$AA?9?$AAE?$AAC@ 0081652c libcpmtd:winapinls.obj + 0003:0001a53c ??_C@_1M@POEEMAIO@?$AAa?$AAr?$AA?9?$AAE?$AAG@ 0081653c libcpmtd:winapinls.obj + 0003:0001a54c ??_C@_1M@EFAKDEDL@?$AAz?$AAh?$AA?9?$AAH?$AAK@ 0081654c libcpmtd:winapinls.obj + 0003:0001a55c ??_C@_1M@HKKIJHGI@?$AAd?$AAe?$AA?9?$AAA?$AAT@ 0081655c libcpmtd:winapinls.obj + 0003:0001a56c ??_C@_1M@KBFBEHJF@?$AAe?$AAn?$AA?9?$AAA?$AAU@ 0081656c libcpmtd:winapinls.obj + 0003:0001a57c ??_C@_1M@MNPLFAAH@?$AAe?$AAs?$AA?9?$AAE?$AAS@ 0081657c libcpmtd:winapinls.obj + 0003:0001a58c ??_C@_1M@HJOOJFMA@?$AAf?$AAr?$AA?9?$AAC?$AAA@ 0081658c libcpmtd:winapinls.obj + 0003:0001a59c ??_C@_1BG@JPOFPNAB@?$AAs?$AAr?$AA?9?$AAS?$AAP?$AA?9?$AAC?$AAy?$AAr?$AAl@ 0081659c libcpmtd:winapinls.obj + 0003:0001a5b8 ??_C@_1M@LNFOCMOB@?$AAs?$AAe?$AA?9?$AAF?$AAI@ 008165b8 libcpmtd:winapinls.obj + 0003:0001a5c8 ??_C@_1O@MGJBOAMB@?$AAq?$AAu?$AAz?$AA?9?$AAP?$AAE@ 008165c8 libcpmtd:winapinls.obj + 0003:0001a5d8 ??_C@_1M@GJINLBOK@?$AAa?$AAr?$AA?9?$AAL?$AAY@ 008165d8 libcpmtd:winapinls.obj + 0003:0001a5e8 ??_C@_1M@GGMNHJNL@?$AAz?$AAh?$AA?9?$AAS?$AAG@ 008165e8 libcpmtd:winapinls.obj + 0003:0001a5f8 ??_C@_1M@HOIKODND@?$AAd?$AAe?$AA?9?$AAL?$AAU@ 008165f8 libcpmtd:winapinls.obj + 0003:0001a608 ??_C@_1M@DDOCCGFG@?$AAe?$AAn?$AA?9?$AAC?$AAA@ 00816608 libcpmtd:winapinls.obj + 0003:0001a618 ??_C@_1M@BNOEMJLF@?$AAe?$AAs?$AA?9?$AAG?$AAT@ 00816618 libcpmtd:winapinls.obj + 0003:0001a628 ??_C@_1M@EOGNKEK@?$AAf?$AAr?$AA?9?$AAC?$AAH@ 00816628 libcpmtd:winapinls.obj + 0003:0001a638 ??_C@_1M@FLIDJFHL@?$AAh?$AAr?$AA?9?$AAB?$AAA@ 00816638 libcpmtd:winapinls.obj + 0003:0001a648 ??_C@_1O@FMCELNAJ@?$AAs?$AAm?$AAj?$AA?9?$AAN?$AAO@ 00816648 libcpmtd:winapinls.obj + 0003:0001a658 ??_C@_1M@JHGLJMGJ@?$AAa?$AAr?$AA?9?$AAD?$AAZ@ 00816658 libcpmtd:winapinls.obj + 0003:0001a668 ??_C@_1M@JKKFDCNP@?$AAz?$AAh?$AA?9?$AAM?$AAO@ 00816668 libcpmtd:winapinls.obj + 0003:0001a678 ??_C@_1M@GEEFALPE@?$AAd?$AAe?$AA?9?$AAL?$AAI@ 00816678 libcpmtd:winapinls.obj + 0003:0001a688 ??_C@_1M@IGEOFBG@?$AAe?$AAn?$AA?9?$AAN?$AAZ@ 00816688 libcpmtd:winapinls.obj + 0003:0001a698 ??_C@_1M@KDBONEHP@?$AAe?$AAs?$AA?9?$AAC?$AAR@ 00816698 libcpmtd:winapinls.obj + 0003:0001a6a8 ??_C@_1M@FHMDOHNN@?$AAf?$AAr?$AA?9?$AAL?$AAU@ 008166a8 libcpmtd:winapinls.obj + 0003:0001a6b8 ??_C@_1BG@NFKKMAFG@?$AAb?$AAs?$AA?9?$AAB?$AAA?$AA?9?$AAL?$AAa?$AAt?$AAn@ 008166b8 libcpmtd:winapinls.obj + 0003:0001a6d4 ??_C@_1O@IMNBEMCI@?$AAs?$AAm?$AAj?$AA?9?$AAS?$AAE@ 008166d4 libcpmtd:winapinls.obj + 0003:0001a6e4 ??_C@_1M@DHHMBNDP@?$AAa?$AAr?$AA?9?$AAM?$AAA@ 008166e4 libcpmtd:winapinls.obj + 0003:0001a6f4 ??_C@_1M@BNBLJCGH@?$AAe?$AAn?$AA?9?$AAI?$AAE@ 008166f4 libcpmtd:winapinls.obj + 0003:0001a704 ??_C@_1M@GEPAFMDL@?$AAe?$AAs?$AA?9?$AAP?$AAA@ 00816704 libcpmtd:winapinls.obj + 0003:0001a714 ??_C@_1M@OJONDMDL@?$AAf?$AAr?$AA?9?$AAM?$AAC@ 00816714 libcpmtd:winapinls.obj + 0003:0001a724 ??_C@_1BG@OBCNFJB@?$AAs?$AAr?$AA?9?$AAB?$AAA?$AA?9?$AAL?$AAa?$AAt?$AAn@ 00816724 libcpmtd:winapinls.obj + 0003:0001a740 ??_C@_1O@KEMEEGPO@?$AAs?$AAm?$AAa?$AA?9?$AAN?$AAO@ 00816740 libcpmtd:winapinls.obj + 0003:0001a750 ??_C@_1M@ELMGFODK@?$AAa?$AAr?$AA?9?$AAT?$AAN@ 00816750 libcpmtd:winapinls.obj + 0003:0001a760 ??_C@_1M@BHDLHFAF@?$AAe?$AAn?$AA?9?$AAZ?$AAA@ 00816760 libcpmtd:winapinls.obj + 0003:0001a770 ??_C@_1M@BMGIGLIF@?$AAe?$AAs?$AA?9?$AAD?$AAO@ 00816770 libcpmtd:winapinls.obj + 0003:0001a780 ??_C@_1BG@CMBHIPBE@?$AAs?$AAr?$AA?9?$AAB?$AAA?$AA?9?$AAC?$AAy?$AAr?$AAl@ 00816780 libcpmtd:winapinls.obj + 0003:0001a79c ??_C@_1O@HEDBLHNP@?$AAs?$AAm?$AAa?$AA?9?$AAS?$AAE@ 0081679c libcpmtd:winapinls.obj + 0003:0001a7ac ??_C@_1M@DAGCADIM@?$AAa?$AAr?$AA?9?$AAO?$AAM@ 008167ac libcpmtd:winapinls.obj + 0003:0001a7bc ??_C@_1M@FODLMICG@?$AAe?$AAn?$AA?9?$AAJ?$AAM@ 008167bc libcpmtd:winapinls.obj + 0003:0001a7cc ??_C@_1M@DNMLCIHB@?$AAe?$AAs?$AA?9?$AAV?$AAE@ 008167cc libcpmtd:winapinls.obj + 0003:0001a7dc ??_C@_1O@EOKHMKJK@?$AAs?$AAm?$AAs?$AA?9?$AAF?$AAI@ 008167dc libcpmtd:winapinls.obj + 0003:0001a7ec ??_C@_1M@CAFJMKOF@?$AAa?$AAr?$AA?9?$AAY?$AAE@ 008167ec libcpmtd:winapinls.obj + 0003:0001a7fc ??_C@_1M@CBFHIJLI@?$AAe?$AAn?$AA?9?$AAC?$AAB@ 008167fc libcpmtd:winapinls.obj + 0003:0001a80c ??_C@_1M@BGNFLDN@?$AAe?$AAs?$AA?9?$AAC?$AAO@ 0081680c libcpmtd:winapinls.obj + 0003:0001a81c ??_C@_1O@JMPHMAMC@?$AAs?$AAm?$AAn?$AA?9?$AAF?$AAI@ 0081681c libcpmtd:winapinls.obj + 0003:0001a82c ??_C@_1M@JLANABKE@?$AAa?$AAr?$AA?9?$AAS?$AAY@ 0081682c libcpmtd:winapinls.obj + 0003:0001a83c ??_C@_1M@HPKGCFGN@?$AAe?$AAn?$AA?9?$AAB?$AAZ@ 0081683c libcpmtd:winapinls.obj + 0003:0001a84c ??_C@_1M@OLJCMLGM@?$AAe?$AAs?$AA?9?$AAP?$AAE@ 0081684c libcpmtd:winapinls.obj + 0003:0001a85c ??_C@_1M@MKKGFKLE@?$AAa?$AAr?$AA?9?$AAJ?$AAO@ 0081685c libcpmtd:winapinls.obj + 0003:0001a86c ??_C@_1M@EKPGLDNI@?$AAe?$AAn?$AA?9?$AAT?$AAT@ 0081686c libcpmtd:winapinls.obj + 0003:0001a87c ??_C@_1M@OONGHFHE@?$AAe?$AAs?$AA?9?$AAA?$AAR@ 0081687c libcpmtd:winapinls.obj + 0003:0001a88c ??_C@_1M@OOJFGBHE@?$AAa?$AAr?$AA?9?$AAL?$AAB@ 0081688c libcpmtd:winapinls.obj + 0003:0001a89c ??_C@_1M@GCEJHNEG@?$AAe?$AAn?$AA?9?$AAZ?$AAW@ 0081689c libcpmtd:winapinls.obj + 0003:0001a8ac ??_C@_1M@JNOCAHJI@?$AAe?$AAs?$AA?9?$AAE?$AAC@ 008168ac libcpmtd:winapinls.obj + 0003:0001a8bc ??_C@_1M@JEFHPGGB@?$AAa?$AAr?$AA?9?$AAK?$AAW@ 008168bc libcpmtd:winapinls.obj + 0003:0001a8cc ??_C@_1M@MLKIBJOJ@?$AAe?$AAn?$AA?9?$AAP?$AAH@ 008168cc libcpmtd:winapinls.obj + 0003:0001a8dc ??_C@_1M@BDNIPEND@?$AAe?$AAs?$AA?9?$AAC?$AAL@ 008168dc libcpmtd:winapinls.obj + 0003:0001a8ec ??_C@_1M@MPNMEKBD@?$AAa?$AAr?$AA?9?$AAA?$AAE@ 008168ec libcpmtd:winapinls.obj + 0003:0001a8fc ??_C@_1M@KBJALCPI@?$AAe?$AAs?$AA?9?$AAU?$AAY@ 008168fc libcpmtd:winapinls.obj + 0003:0001a90c ??_C@_1M@LLCCOAGA@?$AAa?$AAr?$AA?9?$AAB?$AAH@ 0081690c libcpmtd:winapinls.obj + 0003:0001a91c ??_C@_1M@PBFNCDEL@?$AAe?$AAs?$AA?9?$AAP?$AAY@ 0081691c libcpmtd:winapinls.obj + 0003:0001a92c ??_C@_1M@EDGINPNP@?$AAa?$AAr?$AA?9?$AAQ?$AAA@ 0081692c libcpmtd:winapinls.obj + 0003:0001a93c ??_C@_1M@MKDBIIJI@?$AAe?$AAs?$AA?9?$AAB?$AAO@ 0081693c libcpmtd:winapinls.obj + 0003:0001a94c ??_C@_1M@CPKKEBLD@?$AAe?$AAs?$AA?9?$AAS?$AAV@ 0081694c libcpmtd:winapinls.obj + 0003:0001a95c ??_C@_1M@NDBGMMJL@?$AAe?$AAs?$AA?9?$AAH?$AAN@ 0081695c libcpmtd:winapinls.obj + 0003:0001a96c ??_C@_1M@JIJIBHDP@?$AAe?$AAs?$AA?9?$AAN?$AAI@ 0081696c libcpmtd:winapinls.obj + 0003:0001a97c ??_C@_1M@CGFMKEEK@?$AAe?$AAs?$AA?9?$AAP?$AAR@ 0081697c libcpmtd:winapinls.obj + 0003:0001a98c ??_C@_1O@ICJHKIIK@?$AAz?$AAh?$AA?9?$AAC?$AAH?$AAT@ 0081698c libcpmtd:winapinls.obj + 0003:0001a99c ??_C@_15CLNEJCE@?$AAs?$AAr@ 0081699c libcpmtd:winapinls.obj + 0003:0001a9a4 ??_C@_1M@KAHEKEIG@?$AAa?$AAf?$AA?9?$AAz?$AAa@ 008169a4 libcpmtd:winapinls.obj + 0003:0001a9b4 ??_C@_1M@GIECOABL@?$AAa?$AAr?$AA?9?$AAa?$AAe@ 008169b4 libcpmtd:winapinls.obj + 0003:0001a9c4 ??_C@_1M@BMLMEKGI@?$AAa?$AAr?$AA?9?$AAb?$AAh@ 008169c4 libcpmtd:winapinls.obj + 0003:0001a9d4 ??_C@_1M@DAPFDGGB@?$AAa?$AAr?$AA?9?$AAd?$AAz@ 008169d4 libcpmtd:winapinls.obj + 0003:0001a9e4 ??_C@_1M@FJNKGKIG@?$AAa?$AAr?$AA?9?$AAe?$AAg@ 008169e4 libcpmtd:winapinls.obj + 0003:0001a9f4 ??_C@_1M@FLGKKCLO@?$AAa?$AAr?$AA?9?$AAi?$AAq@ 008169f4 libcpmtd:winapinls.obj + 0003:0001aa04 ??_C@_1M@GNDIPALM@?$AAa?$AAr?$AA?9?$AAj?$AAo@ 00816a04 libcpmtd:winapinls.obj + 0003:0001aa14 ??_C@_1M@DDMJFMGJ@?$AAa?$AAr?$AA?9?$AAk?$AAw@ 00816a14 libcpmtd:winapinls.obj + 0003:0001aa24 ??_C@_1M@EJALMLHM@?$AAa?$AAr?$AA?9?$AAl?$AAb@ 00816a24 libcpmtd:winapinls.obj + 0003:0001aa34 ??_C@_1M@MOBDBLOC@?$AAa?$AAr?$AA?9?$AAl?$AAy@ 00816a34 libcpmtd:winapinls.obj + 0003:0001aa44 ??_C@_1M@JAOCLHDH@?$AAa?$AAr?$AA?9?$AAm?$AAa@ 00816a44 libcpmtd:winapinls.obj + 0003:0001aa54 ??_C@_1M@JHPMKJIE@?$AAa?$AAr?$AA?9?$AAo?$AAm@ 00816a54 libcpmtd:winapinls.obj + 0003:0001aa64 ??_C@_1M@OEPGHFNH@?$AAa?$AAr?$AA?9?$AAq?$AAa@ 00816a64 libcpmtd:winapinls.obj + 0003:0001aa74 ??_C@_1M@KJDONENM@?$AAa?$AAr?$AA?9?$AAs?$AAa@ 00816a74 libcpmtd:winapinls.obj + 0003:0001aa84 ??_C@_1M@DMJDKLKM@?$AAa?$AAr?$AA?9?$AAs?$AAy@ 00816a84 libcpmtd:winapinls.obj + 0003:0001aa94 ??_C@_1M@OMFIPEDC@?$AAa?$AAr?$AA?9?$AAt?$AAn@ 00816a94 libcpmtd:winapinls.obj + 0003:0001aaa4 ??_C@_1M@IHMHGAON@?$AAa?$AAr?$AA?9?$AAy?$AAe@ 00816aa4 libcpmtd:winapinls.obj + 0003:0001aab4 ??_C@_1BG@KDCPGJGB@?$AAa?$AAz?$AA?9?$AAa?$AAz?$AA?9?$AAc?$AAy?$AAr?$AAl@ 00816ab4 libcpmtd:winapinls.obj + 0003:0001aad0 ??_C@_1BG@IBCKDDOE@?$AAa?$AAz?$AA?9?$AAa?$AAz?$AA?9?$AAl?$AAa?$AAt?$AAn@ 00816ad0 libcpmtd:winapinls.obj + 0003:0001aaec ??_C@_1M@EGPFDCPD@?$AAb?$AAe?$AA?9?$AAb?$AAy@ 00816aec libcpmtd:winapinls.obj + 0003:0001aafc ??_C@_1M@PCMGMCGC@?$AAb?$AAg?$AA?9?$AAb?$AAg@ 00816afc libcpmtd:winapinls.obj + 0003:0001ab0c ??_C@_1M@BJBMFGOB@?$AAb?$AAn?$AA?9?$AAi?$AAn@ 00816b0c libcpmtd:winapinls.obj + 0003:0001ab1c ??_C@_1BG@EAKMMACD@?$AAb?$AAs?$AA?9?$AAb?$AAa?$AA?9?$AAl?$AAa?$AAt?$AAn@ 00816b1c libcpmtd:winapinls.obj + 0003:0001ab38 ??_C@_1M@KGADAODK@?$AAc?$AAa?$AA?9?$AAe?$AAs@ 00816b38 libcpmtd:winapinls.obj + 0003:0001ab48 ??_C@_1M@COAJPDHI@?$AAc?$AAs?$AA?9?$AAc?$AAz@ 00816b48 libcpmtd:winapinls.obj + 0003:0001ab58 ??_C@_1M@DHBHFONH@?$AAc?$AAy?$AA?9?$AAg?$AAb@ 00816b58 libcpmtd:winapinls.obj + 0003:0001ab68 ??_C@_1M@IMGKELGA@?$AAd?$AAa?$AA?9?$AAd?$AAk@ 00816b68 libcpmtd:winapinls.obj + 0003:0001ab78 ??_C@_1M@NNDGDNGA@?$AAd?$AAe?$AA?9?$AAa?$AAt@ 00816b78 libcpmtd:winapinls.obj + 0003:0001ab88 ??_C@_1M@IKDBHEEM@?$AAd?$AAe?$AA?9?$AAc?$AAh@ 00816b88 libcpmtd:winapinls.obj + 0003:0001ab98 ??_C@_1M@GFFOJMCJ@?$AAd?$AAe?$AA?9?$AAd?$AAe@ 00816b98 libcpmtd:winapinls.obj + 0003:0001aba8 ??_C@_1M@MDNLKBPM@?$AAd?$AAe?$AA?9?$AAl?$AAi@ 00816ba8 libcpmtd:winapinls.obj + 0003:0001abb8 ??_C@_1M@NJBEEJNL@?$AAd?$AAe?$AA?9?$AAl?$AAu@ 00816bb8 libcpmtd:winapinls.obj + 0003:0001abc8 ??_C@_1O@GNNELBAP@?$AAd?$AAi?$AAv?$AA?9?$AAm?$AAv@ 00816bc8 libcpmtd:winapinls.obj + 0003:0001abd8 ??_C@_1M@EJLEOGAE@?$AAe?$AAl?$AA?9?$AAg?$AAr@ 00816bd8 libcpmtd:winapinls.obj + 0003:0001abe8 ??_C@_1M@GMPONJN@?$AAe?$AAn?$AA?9?$AAa?$AAu@ 00816be8 libcpmtd:winapinls.obj + 0003:0001abf8 ??_C@_1M@NIDIIPGF@?$AAe?$AAn?$AA?9?$AAb?$AAz@ 00816bf8 libcpmtd:winapinls.obj + 0003:0001ac08 ??_C@_1M@JEHMIMFO@?$AAe?$AAn?$AA?9?$AAc?$AAa@ 00816c08 libcpmtd:winapinls.obj + 0003:0001ac18 ??_C@_1M@IGMJCDLA@?$AAe?$AAn?$AA?9?$AAc?$AAb@ 00816c18 libcpmtd:winapinls.obj + 0003:0001ac28 ??_C@_1M@BNFIGBKG@?$AAe?$AAn?$AA?9?$AAg?$AAb@ 00816c28 libcpmtd:winapinls.obj + 0003:0001ac38 ??_C@_1M@LKIFDIGP@?$AAe?$AAn?$AA?9?$AAi?$AAe@ 00816c38 libcpmtd:winapinls.obj + 0003:0001ac48 ??_C@_1M@PJKFGCCO@?$AAe?$AAn?$AA?9?$AAj?$AAm@ 00816c48 libcpmtd:winapinls.obj + 0003:0001ac58 ??_C@_1M@KPPKEPBO@?$AAe?$AAn?$AA?9?$AAn?$AAz@ 00816c58 libcpmtd:winapinls.obj + 0003:0001ac68 ??_C@_1M@GMDGLDOB@?$AAe?$AAn?$AA?9?$AAp?$AAh@ 00816c68 libcpmtd:winapinls.obj + 0003:0001ac78 ??_C@_1M@ONGIBJNA@?$AAe?$AAn?$AA?9?$AAt?$AAt@ 00816c78 libcpmtd:winapinls.obj + 0003:0001ac88 ??_C@_1M@LLODPCMM@?$AAe?$AAn?$AA?9?$AAu?$AAs@ 00816c88 libcpmtd:winapinls.obj + 0003:0001ac98 ??_C@_1M@LAKFNPAN@?$AAe?$AAn?$AA?9?$AAz?$AAa@ 00816c98 libcpmtd:winapinls.obj + 0003:0001aca8 ??_C@_1M@MFNHNHEO@?$AAe?$AAn?$AA?9?$AAz?$AAw@ 00816ca8 libcpmtd:winapinls.obj + 0003:0001acb8 ??_C@_1M@EJEINPHM@?$AAe?$AAs?$AA?9?$AAa?$AAr@ 00816cb8 libcpmtd:winapinls.obj + 0003:0001acc8 ??_C@_1M@GNKPCCJA@?$AAe?$AAs?$AA?9?$AAb?$AAo@ 00816cc8 libcpmtd:winapinls.obj + 0003:0001acd8 ??_C@_1M@LEEGFONL@?$AAe?$AAs?$AA?9?$AAc?$AAl@ 00816cd8 libcpmtd:winapinls.obj + 0003:0001ace8 ??_C@_1M@KGPDPBDF@?$AAe?$AAs?$AA?9?$AAc?$AAo@ 00816ce8 libcpmtd:winapinls.obj + 0003:0001acf8 ??_C@_1M@EIAHOHH@?$AAe?$AAs?$AA?9?$AAc?$AAr@ 00816cf8 libcpmtd:winapinls.obj + 0003:0001ad08 ??_C@_1M@LLPGMBIN@?$AAe?$AAs?$AA?9?$AAd?$AAo@ 00816d08 libcpmtd:winapinls.obj + 0003:0001ad18 ??_C@_1M@DKHMKNJA@?$AAe?$AAs?$AA?9?$AAe?$AAc@ 00816d18 libcpmtd:winapinls.obj + 0003:0001ad28 ??_C@_1M@GKGFPKAP@?$AAe?$AAs?$AA?9?$AAe?$AAs@ 00816d28 libcpmtd:winapinls.obj + 0003:0001ad38 ??_C@_1M@LKHKGDLN@?$AAe?$AAs?$AA?9?$AAg?$AAt@ 00816d38 libcpmtd:winapinls.obj + 0003:0001ad48 ??_C@_1M@HEIIGGJD@?$AAe?$AAs?$AA?9?$AAh?$AAn@ 00816d48 libcpmtd:winapinls.obj + 0003:0001ad58 ??_C@_1M@FBDHPPGD@?$AAe?$AAs?$AA?9?$AAm?$AAx@ 00816d58 libcpmtd:winapinls.obj + 0003:0001ad68 ??_C@_1M@DPAGLNDH@?$AAe?$AAs?$AA?9?$AAn?$AAi@ 00816d68 libcpmtd:winapinls.obj + 0003:0001ad78 ??_C@_1M@MDGOPGDD@?$AAe?$AAs?$AA?9?$AAp?$AAa@ 00816d78 libcpmtd:winapinls.obj + 0003:0001ad88 ??_C@_1M@EMAMGBGE@?$AAe?$AAs?$AA?9?$AAp?$AAe@ 00816d88 libcpmtd:winapinls.obj + 0003:0001ad98 ??_C@_1M@IBMCAOEC@?$AAe?$AAs?$AA?9?$AAp?$AAr@ 00816d98 libcpmtd:winapinls.obj + 0003:0001ada8 ??_C@_1M@FGMDIJED@?$AAe?$AAs?$AA?9?$AAp?$AAy@ 00816da8 libcpmtd:winapinls.obj + 0003:0001adb8 ??_C@_1M@IIDEOLLL@?$AAe?$AAs?$AA?9?$AAs?$AAv@ 00816db8 libcpmtd:winapinls.obj + 0003:0001adc8 ??_C@_1M@GAOBIPA@?$AAe?$AAs?$AA?9?$AAu?$AAy@ 00816dc8 libcpmtd:winapinls.obj + 0003:0001add8 ??_C@_1M@JKFFICHJ@?$AAe?$AAs?$AA?9?$AAv?$AAe@ 00816dd8 libcpmtd:winapinls.obj + 0003:0001ade8 ??_C@_1M@PNMLOJDF@?$AAe?$AAt?$AA?9?$AAe?$AAe@ 00816de8 libcpmtd:winapinls.obj + 0003:0001adf8 ??_C@_1M@GHHLIKEI@?$AAe?$AAu?$AA?9?$AAe?$AAs@ 00816df8 libcpmtd:winapinls.obj + 0003:0001ae08 ??_C@_1M@PBNONODE@?$AAf?$AAa?$AA?9?$AAi?$AAr@ 00816e08 libcpmtd:winapinls.obj + 0003:0001ae18 ??_C@_1M@JEEHPMIL@?$AAf?$AAi?$AA?9?$AAf?$AAi@ 00816e18 libcpmtd:winapinls.obj + 0003:0001ae28 ??_C@_1M@LMDCNDBA@?$AAf?$AAo?$AA?9?$AAf?$AAo@ 00816e28 libcpmtd:winapinls.obj + 0003:0001ae38 ??_C@_1M@JKEOHLDK@?$AAf?$AAr?$AA?9?$AAb?$AAe@ 00816e38 libcpmtd:winapinls.obj + 0003:0001ae48 ??_C@_1M@NOHADPMI@?$AAf?$AAr?$AA?9?$AAc?$AAa@ 00816e48 libcpmtd:winapinls.obj + 0003:0001ae58 ??_C@_1M@KDHIHAEC@?$AAf?$AAr?$AA?9?$AAc?$AAh@ 00816e58 libcpmtd:winapinls.obj + 0003:0001ae68 ??_C@_1M@MMBBFGAK@?$AAf?$AAr?$AA?9?$AAf?$AAr@ 00816e68 libcpmtd:winapinls.obj + 0003:0001ae78 ??_C@_1M@PAFNENNF@?$AAf?$AAr?$AA?9?$AAl?$AAu@ 00816e78 libcpmtd:winapinls.obj + 0003:0001ae88 ??_C@_1M@EOHDJGDD@?$AAf?$AAr?$AA?9?$AAm?$AAc@ 00816e88 libcpmtd:winapinls.obj + 0003:0001ae98 ??_C@_1M@FAPLLOPF@?$AAg?$AAl?$AA?9?$AAe?$AAs@ 00816e98 libcpmtd:winapinls.obj + 0003:0001aea8 ??_C@_1M@FOPBFLOO@?$AAg?$AAu?$AA?9?$AAi?$AAn@ 00816ea8 libcpmtd:winapinls.obj + 0003:0001aeb8 ??_C@_1M@KBMCINPM@?$AAh?$AAe?$AA?9?$AAi?$AAl@ 00816eb8 libcpmtd:winapinls.obj + 0003:0001aec8 ??_C@_1M@BBPHKFPJ@?$AAh?$AAi?$AA?9?$AAi?$AAn@ 00816ec8 libcpmtd:winapinls.obj + 0003:0001aed8 ??_C@_1M@PMBNDPHD@?$AAh?$AAr?$AA?9?$AAb?$AAa@ 00816ed8 libcpmtd:winapinls.obj + 0003:0001aee8 ??_C@_1M@BPCKOEGE@?$AAh?$AAr?$AA?9?$AAh?$AAr@ 00816ee8 libcpmtd:winapinls.obj + 0003:0001aef8 ??_C@_1M@GACBMHKE@?$AAh?$AAu?$AA?9?$AAh?$AAu@ 00816ef8 libcpmtd:winapinls.obj + 0003:0001af08 ??_C@_1M@MILPAJJC@?$AAh?$AAy?$AA?9?$AAa?$AAm@ 00816f08 libcpmtd:winapinls.obj + 0003:0001af18 ??_C@_1M@BABBICEC@?$AAi?$AAd?$AA?9?$AAi?$AAd@ 00816f18 libcpmtd:winapinls.obj + 0003:0001af28 ??_C@_1M@BIKNHHPF@?$AAi?$AAs?$AA?9?$AAi?$AAs@ 00816f28 libcpmtd:winapinls.obj + 0003:0001af38 ??_C@_1M@NMPCJPHE@?$AAi?$AAt?$AA?9?$AAc?$AAh@ 00816f38 libcpmtd:winapinls.obj + 0003:0001af48 ??_C@_1M@GHKGFEDF@?$AAi?$AAt?$AA?9?$AAi?$AAt@ 00816f48 libcpmtd:winapinls.obj + 0003:0001af58 ??_C@_1M@NIEJCJJA@?$AAj?$AAa?$AA?9?$AAj?$AAp@ 00816f58 libcpmtd:winapinls.obj + 0003:0001af68 ??_C@_1M@JILFNBIM@?$AAk?$AAa?$AA?9?$AAg?$AAe@ 00816f68 libcpmtd:winapinls.obj + 0003:0001af78 ??_C@_1M@PACPMGPH@?$AAk?$AAk?$AA?9?$AAk?$AAz@ 00816f78 libcpmtd:winapinls.obj + 0003:0001af88 ??_C@_1M@IELFGMHA@?$AAk?$AAn?$AA?9?$AAi?$AAn@ 00816f88 libcpmtd:winapinls.obj + 0003:0001af98 ??_C@_1M@DMHAEOGC@?$AAk?$AAo?$AA?9?$AAk?$AAr@ 00816f98 libcpmtd:winapinls.obj + 0003:0001afa8 ??_C@_1O@IBBJHCH@?$AAk?$AAo?$AAk?$AA?9?$AAi?$AAn@ 00816fa8 libcpmtd:winapinls.obj + 0003:0001afb8 ??_C@_1M@HBAHBIGA@?$AAk?$AAy?$AA?9?$AAk?$AAg@ 00816fb8 libcpmtd:winapinls.obj + 0003:0001afc8 ??_C@_1M@KPMILCJG@?$AAl?$AAt?$AA?9?$AAl?$AAt@ 00816fc8 libcpmtd:winapinls.obj + 0003:0001afd8 ??_C@_1M@BDEKKCA@?$AAl?$AAv?$AA?9?$AAl?$AAv@ 00816fd8 libcpmtd:winapinls.obj + 0003:0001afe8 ??_C@_1M@ELCKCCJJ@?$AAm?$AAi?$AA?9?$AAn?$AAz@ 00816fe8 libcpmtd:winapinls.obj + 0003:0001aff8 ??_C@_1M@CBOOLAPA@?$AAm?$AAk?$AA?9?$AAm?$AAk@ 00816ff8 libcpmtd:winapinls.obj + 0003:0001b008 ??_C@_1M@GPHNBJKN@?$AAm?$AAl?$AA?9?$AAi?$AAn@ 00817008 libcpmtd:winapinls.obj + 0003:0001b018 ??_C@_1M@PABJILIG@?$AAm?$AAn?$AA?9?$AAm?$AAn@ 00817018 libcpmtd:winapinls.obj + 0003:0001b028 ??_C@_1M@FGBKKIPG@?$AAm?$AAr?$AA?9?$AAi?$AAn@ 00817028 libcpmtd:winapinls.obj + 0003:0001b038 ??_C@_1M@NDBPDDAL@?$AAm?$AAs?$AA?9?$AAb?$AAn@ 00817038 libcpmtd:winapinls.obj + 0003:0001b048 ??_C@_1M@OPIHOOPI@?$AAm?$AAs?$AA?9?$AAm?$AAy@ 00817048 libcpmtd:winapinls.obj + 0003:0001b058 ??_C@_1M@PPDBCNFM@?$AAm?$AAt?$AA?9?$AAm?$AAt@ 00817058 libcpmtd:winapinls.obj + 0003:0001b068 ??_C@_1M@KDJDKMDD@?$AAn?$AAb?$AA?9?$AAn?$AAo@ 00817068 libcpmtd:winapinls.obj + 0003:0001b078 ??_C@_1M@KFCFLMJP@?$AAn?$AAl?$AA?9?$AAb?$AAe@ 00817078 libcpmtd:winapinls.obj + 0003:0001b088 ??_C@_1M@KPOPDDGO@?$AAn?$AAl?$AA?9?$AAn?$AAl@ 00817088 libcpmtd:winapinls.obj + 0003:0001b098 ??_C@_1M@LJKPEMLN@?$AAn?$AAn?$AA?9?$AAn?$AAo@ 00817098 libcpmtd:winapinls.obj + 0003:0001b0a8 ??_C@_1M@BDGHHBFL@?$AAn?$AAs?$AA?9?$AAz?$AAa@ 008170a8 libcpmtd:winapinls.obj + 0003:0001b0b8 ??_C@_1M@IDEHOAP@?$AAp?$AAa?$AA?9?$AAi?$AAn@ 008170b8 libcpmtd:winapinls.obj + 0003:0001b0c8 ??_C@_1M@HDBKGOGH@?$AAp?$AAl?$AA?9?$AAp?$AAl@ 008170c8 libcpmtd:winapinls.obj + 0003:0001b0d8 ??_C@_1M@LJLLCMEH@?$AAp?$AAt?$AA?9?$AAb?$AAr@ 008170d8 libcpmtd:winapinls.obj + 0003:0001b0e8 ??_C@_1M@NCMONAAL@?$AAp?$AAt?$AA?9?$AAp?$AAt@ 008170e8 libcpmtd:winapinls.obj + 0003:0001b0f8 ??_C@_1O@EAKMAJDN@?$AAq?$AAu?$AAz?$AA?9?$AAb?$AAo@ 008170f8 libcpmtd:winapinls.obj + 0003:0001b108 ??_C@_1O@BHHPIGDN@?$AAq?$AAu?$AAz?$AA?9?$AAe?$AAc@ 00817108 libcpmtd:winapinls.obj + 0003:0001b118 ??_C@_1O@GBAPEKMJ@?$AAq?$AAu?$AAz?$AA?9?$AAp?$AAe@ 00817118 libcpmtd:winapinls.obj + 0003:0001b128 ??_C@_1M@CLGLEFBO@?$AAr?$AAo?$AA?9?$AAr?$AAo@ 00817128 libcpmtd:winapinls.obj + 0003:0001b138 ??_C@_1M@CEEDODME@?$AAr?$AAu?$AA?9?$AAr?$AAu@ 00817138 libcpmtd:winapinls.obj + 0003:0001b148 ??_C@_1M@HPKKKMPP@?$AAs?$AAa?$AA?9?$AAi?$AAn@ 00817148 libcpmtd:winapinls.obj + 0003:0001b158 ??_C@_1M@BKMAIGOJ@?$AAs?$AAe?$AA?9?$AAf?$AAi@ 00817158 libcpmtd:winapinls.obj + 0003:0001b168 ??_C@_1M@NDPIFLFI@?$AAs?$AAe?$AA?9?$AAn?$AAo@ 00817168 libcpmtd:winapinls.obj + 0003:0001b178 ??_C@_1M@DANKKHJ@?$AAs?$AAe?$AA?9?$AAs?$AAe@ 00817178 libcpmtd:winapinls.obj + 0003:0001b188 ??_C@_1M@PNBLONPJ@?$AAs?$AAk?$AA?9?$AAs?$AAk@ 00817188 libcpmtd:winapinls.obj + 0003:0001b198 ??_C@_1M@LFMODOAL@?$AAs?$AAl?$AA?9?$AAs?$AAi@ 00817198 libcpmtd:winapinls.obj + 0003:0001b1a8 ??_C@_1O@DFKOMPG@?$AAs?$AAm?$AAa?$AA?9?$AAn?$AAo@ 008171a8 libcpmtd:winapinls.obj + 0003:0001b1b8 ??_C@_1O@NDKPBNNH@?$AAs?$AAm?$AAa?$AA?9?$AAs?$AAe@ 008171b8 libcpmtd:winapinls.obj + 0003:0001b1c8 ??_C@_1O@PLLKBHAB@?$AAs?$AAm?$AAj?$AA?9?$AAn?$AAo@ 008171c8 libcpmtd:winapinls.obj + 0003:0001b1d8 ??_C@_1O@CLEPOGCA@?$AAs?$AAm?$AAj?$AA?9?$AAs?$AAe@ 008171d8 libcpmtd:winapinls.obj + 0003:0001b1e8 ??_C@_1O@DLGJGKMK@?$AAs?$AAm?$AAn?$AA?9?$AAf?$AAi@ 008171e8 libcpmtd:winapinls.obj + 0003:0001b1f8 ??_C@_1O@OJDJGAJC@?$AAs?$AAm?$AAs?$AA?9?$AAf?$AAi@ 008171f8 libcpmtd:winapinls.obj + 0003:0001b208 ??_C@_1M@BOFOGHPB@?$AAs?$AAq?$AA?9?$AAa?$AAl@ 00817208 libcpmtd:winapinls.obj + 0003:0001b218 ??_C@_1BG@LJBBIPGB@?$AAs?$AAr?$AA?9?$AAb?$AAa?$AA?9?$AAc?$AAy?$AAr?$AAl@ 00817218 libcpmtd:winapinls.obj + 0003:0001b234 ??_C@_1BG@JLBENFOE@?$AAs?$AAr?$AA?9?$AAb?$AAa?$AA?9?$AAl?$AAa?$AAt?$AAn@ 00817234 libcpmtd:winapinls.obj + 0003:0001b250 ??_C@_1BG@KODPNHE@?$AAs?$AAr?$AA?9?$AAs?$AAp?$AA?9?$AAc?$AAy?$AAr?$AAl@ 00817250 libcpmtd:winapinls.obj + 0003:0001b26c ??_C@_1BG@CIOGKHPB@?$AAs?$AAr?$AA?9?$AAs?$AAp?$AA?9?$AAl?$AAa?$AAt?$AAn@ 0081726c libcpmtd:winapinls.obj + 0003:0001b288 ??_C@_1M@NGFJLMAC@?$AAs?$AAv?$AA?9?$AAf?$AAi@ 00817288 libcpmtd:winapinls.obj + 0003:0001b298 ??_C@_1M@MPJEJAJC@?$AAs?$AAv?$AA?9?$AAs?$AAe@ 00817298 libcpmtd:winapinls.obj + 0003:0001b2a8 ??_C@_1M@MPNDHLFK@?$AAs?$AAw?$AA?9?$AAk?$AAe@ 008172a8 libcpmtd:winapinls.obj + 0003:0001b2b8 ??_C@_1O@KOHBJJI@?$AAs?$AAy?$AAr?$AA?9?$AAs?$AAy@ 008172b8 libcpmtd:winapinls.obj + 0003:0001b2c8 ??_C@_1M@LDCEFHA@?$AAt?$AAa?$AA?9?$AAi?$AAn@ 008172c8 libcpmtd:winapinls.obj + 0003:0001b2d8 ??_C@_1M@CNJOFAK@?$AAt?$AAe?$AA?9?$AAi?$AAn@ 008172d8 libcpmtd:winapinls.obj + 0003:0001b2e8 ??_C@_1M@GNAECACD@?$AAt?$AAh?$AA?9?$AAt?$AAh@ 008172e8 libcpmtd:winapinls.obj + 0003:0001b2f8 ??_C@_1M@CHBIHOJO@?$AAt?$AAn?$AA?9?$AAz?$AAa@ 008172f8 libcpmtd:winapinls.obj + 0003:0001b308 ??_C@_1M@GCCMIGPJ@?$AAt?$AAr?$AA?9?$AAt?$AAr@ 00817308 libcpmtd:winapinls.obj + 0003:0001b318 ??_C@_1M@CELMCNBK@?$AAt?$AAt?$AA?9?$AAr?$AAu@ 00817318 libcpmtd:winapinls.obj + 0003:0001b328 ??_C@_1M@KLMCELGA@?$AAu?$AAk?$AA?9?$AAu?$AAa@ 00817328 libcpmtd:winapinls.obj + 0003:0001b338 ??_C@_1M@EPAJJAJF@?$AAu?$AAr?$AA?9?$AAp?$AAk@ 00817338 libcpmtd:winapinls.obj + 0003:0001b348 ??_C@_1BG@GEGPMCDJ@?$AAu?$AAz?$AA?9?$AAu?$AAz?$AA?9?$AAc?$AAy?$AAr?$AAl@ 00817348 libcpmtd:winapinls.obj + 0003:0001b364 ??_C@_1BG@EGGKJILM@?$AAu?$AAz?$AA?9?$AAu?$AAz?$AA?9?$AAl?$AAa?$AAt?$AAn@ 00817364 libcpmtd:winapinls.obj + 0003:0001b380 ??_C@_1M@GFOCLFF@?$AAv?$AAi?$AA?9?$AAv?$AAn@ 00817380 libcpmtd:winapinls.obj + 0003:0001b390 ??_C@_1M@CPAMEDFI@?$AAx?$AAh?$AA?9?$AAz?$AAa@ 00817390 libcpmtd:winapinls.obj + 0003:0001b3a0 ??_C@_1O@EBKIFIGN@?$AAz?$AAh?$AA?9?$AAc?$AAh?$AAs@ 008173a0 libcpmtd:winapinls.obj + 0003:0001b3b0 ??_C@_1O@NMHPGANE@?$AAz?$AAh?$AA?9?$AAc?$AAh?$AAt@ 008173b0 libcpmtd:winapinls.obj + 0003:0001b3c0 ??_C@_1M@LPINJOMC@?$AAz?$AAh?$AA?9?$AAc?$AAn@ 008173c0 libcpmtd:winapinls.obj + 0003:0001b3d0 ??_C@_1M@OCJEJODD@?$AAz?$AAh?$AA?9?$AAh?$AAk@ 008173d0 libcpmtd:winapinls.obj + 0003:0001b3e0 ??_C@_1M@DNDLJINH@?$AAz?$AAh?$AA?9?$AAm?$AAo@ 008173e0 libcpmtd:winapinls.obj + 0003:0001b3f0 ??_C@_1M@MBFDNDND@?$AAz?$AAh?$AA?9?$AAs?$AAg@ 008173f0 libcpmtd:winapinls.obj + 0003:0001b400 ??_C@_1M@IMEPLEPE@?$AAz?$AAh?$AA?9?$AAt?$AAw@ 00817400 libcpmtd:winapinls.obj + 0003:0001b410 ??_C@_1M@BBGHNHJP@?$AAz?$AAu?$AA?9?$AAz?$AAa@ 00817410 libcpmtd:winapinls.obj + 0003:0001b420 ??_C@_0DO@CBAEOEGI@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00817420 libcpmtd:xstrcoll.obj + 0003:0001b46c ??_C@_0DA@BJJIEHIJ@Bad?5number?5of?5encoding?5units?5fo@ 0081746c libcpmtd:xmbtowc.obj + 0003:0001b4a8 ??_C@_1GG@DEFMHEKC@?$AA?$CB?$AA?$CC?$AAB?$AAa?$AAd?$AA?5?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?5?$AAo?$AAf@ 008174a8 libcpmtd:xmbtowc.obj + 0003:0001b528 ??_C@_1HK@HACBJMFF@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00817528 libcpmtd:xmbtowc.obj + 0003:0001b5bc ??_C@_1CO@PJFMHIFN@?$AAp?$AAl?$AAo?$AAc?$AA?9?$AA?$DO?$AA_?$AAP?$AAa?$AAg?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 008175bc libcpmtd:xmbtowc.obj + 0003:0001b5f4 ??_C@_0DO@IHGKJGNA@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008175f4 libcpmtd:xwcsxfrm.obj + 0003:0001b640 ??_C@_1HK@ELDMAMK@?$AAc?$AAc?$AAh?$AAC?$AAo?$AAu?$AAn?$AAt?$AA1?$AA?$DN?$AA?$DN?$AA0?$AA?5?$AA?$CG?$AA?$CG@ 00817640 libcpmtd:StlCompareStringA.obj + 0003:0001b6d8 ??_C@_1IK@CGCPKNAH@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008176d8 libcpmtd:StlCompareStringA.obj + 0003:0001b780 ??_C@_0EF@JGEJLIDP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00817780 libcpmtd:StlCompareStringA.obj + 0003:0001b890 ??_C@_0NN@NGPKDKPD@The?5value?5of?5ESP?5was?5not?5proper@ 00817890 LIBCMTD:error.obj + 0003:0001b9a0 ??_C@_0BBN@GPMLNJCF@A?5cast?5to?5a?5smaller?5data?5type?5h@ 008179a0 LIBCMTD:error.obj + 0003:0001baf8 ??_C@_0BN@FFOINMNJ@Stack?5memory?5was?5corrupted?6?$AN@ 00817af8 LIBCMTD:error.obj + 0003:0001bb1c ??_C@_0DG@HKJMLLLP@A?5local?5variable?5was?5used?5befor@ 00817b1c LIBCMTD:error.obj + 0003:0001bb5c ??_C@_0CM@NGINOKPC@Stack?5memory?5around?5_alloca?5was@ 00817b5c LIBCMTD:error.obj + 0003:0001bb90 ??_C@_0BO@GNIAFIKK@Unknown?5Runtime?5Check?5Error?6?$AN@ 00817b90 LIBCMTD:error.obj + 0003:0001bbb8 ??_C@_1GM@OLMCBDMB@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAE@ 00817bb8 LIBCMTD:error.obj + 0003:0001bc40 ??_C@_1EA@NFKNIFJP@?$AAR?$AAu?$AAn?$AA?9?$AAT?$AAi?$AAm?$AAe?$AA?5?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5@ 00817c40 LIBCMTD:error.obj + 0003:0001bc8c ??_C@_0BB@PFFGGCJP@Unknown?5Filename@ 00817c8c LIBCMTD:error.obj + 0003:0001bca0 ??_C@_0BE@GNBOBNCK@Unknown?5Module?5Name@ 00817ca0 LIBCMTD:error.obj + 0003:0001bcb8 ??_C@_0CA@IODNCDPG@Run?9Time?5Check?5Failure?5?$CD?$CFd?5?9?5?$CFs@ 00817cb8 LIBCMTD:error.obj + 0003:0001bce0 ??_C@_0CG@IAFNJNEE@Stack?5corrupted?5near?5unknown?5va@ 00817ce0 LIBCMTD:error.obj + 0003:0001bd10 ??_C@_05MKKEDADM@?$CF?42X?5@ 00817d10 LIBCMTD:error.obj + 0003:0001bd18 ??_C@_0EJ@LJKNEOLN@Stack?5area?5around?5_alloca?5memor@ 00817d18 LIBCMTD:error.obj + 0003:0001bd70 ??_C@_02LLMPMKNF@?$DO?5@ 00817d70 LIBCMTD:error.obj + 0003:0001bd74 ??_C@_08OMAHNMHJ@?6Data?3?5?$DM@ 00817d74 LIBCMTD:error.obj + 0003:0001bd80 ??_C@_0CK@DKGBICFE@?6Allocation?5number?5within?5this?5@ 00817d80 LIBCMTD:error.obj + 0003:0001bdb4 ??_C@_07DFDJCKFN@?6Size?3?5@ 00817db4 LIBCMTD:error.obj + 0003:0001bdc0 ??_C@_0N@MHFFIMFG@?6Address?3?50x@ 00817dc0 LIBCMTD:error.obj + 0003:0001bdd0 ??_C@_0EI@CLEPFNGI@Stack?5area?5around?5_alloca?5memor@ 00817dd0 LIBCMTD:error.obj + 0003:0001be28 ??_C@_0BK@ODNDAGKB@?$CFs?$CFs?$CFp?$CFs?$CFzd?$CFs?$CFd?$CFs?$CFs?$CFs?$CFs?$CFs@ 00817e28 LIBCMTD:error.obj + 0003:0001be48 ??_C@_0DE@OHJBPMBP@A?5variable?5is?5being?5used?5withou@ 00817e48 LIBCMTD:error.obj + 0003:0001be8c ??_7type_info@@6B@ 00817e8c LIBCMTD:std_type_info_static.obj + 0003:0001bea0 ??_C@_1EC@JIJBPKFM@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe@ 00817ea0 LIBCMTD:thread_safe_statics.obj + 0003:0001bef0 ??_C@_1JM@MEGLFHBK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00817ef0 LIBCMTD:thread_safe_statics.obj + 0003:0001bfd0 ??_7bad_array_new_length@std@@6B@ 00817fd0 LIBCMTD:throw_bad_alloc.obj + 0003:0001bfdc ??_C@_0BF@KINCDENJ@bad?5array?5new?5length@ 00817fdc LIBCMTD:throw_bad_alloc.obj + 0003:0001c010 ??_C@_0BJ@HEGAHDFO@Stack?5pointer?5corruption@ 00818010 LIBCMTD:userapi.obj + 0003:0001c030 ??_C@_0CK@FEGOIOPB@Cast?5to?5smaller?5type?5causing?5lo@ 00818030 LIBCMTD:userapi.obj + 0003:0001c064 ??_C@_0BI@CIGMDCBH@Stack?5memory?5corruption@ 00818064 LIBCMTD:userapi.obj + 0003:0001c080 ??_C@_0CK@CNLNOEPB@Local?5variable?5used?5before?5init@ 00818080 LIBCMTD:userapi.obj + 0003:0001c0b4 ??_C@_0BP@OGBCLIBO@Stack?5around?5_alloca?5corrupted@ 008180b4 LIBCMTD:userapi.obj + 0003:0001c138 ??_C@_1EI@MLPKHBGE@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe@ 00818138 LIBCMTD:pdblkup.obj + 0003:0001c190 ??_C@_1BK@JHLNAEJL@?$AAa?$AAd?$AAv?$AAa?$AAp?$AAi?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@ 00818190 LIBCMTD:pdblkup.obj + 0003:0001c1b0 ??_C@_0O@COHOBMLB@RegOpenKeyExW@ 008181b0 LIBCMTD:pdblkup.obj + 0003:0001c1c0 ??_C@_0BB@GLNAEDBD@RegQueryValueExW@ 008181c0 LIBCMTD:pdblkup.obj + 0003:0001c1d4 ??_C@_0M@HLOHPNFA@RegCloseKey@ 008181d4 LIBCMTD:pdblkup.obj + 0003:0001c1e8 ??_C@_1HE@EBEAGLFB@?$AAS?$AAO?$AAF?$AAT?$AAW?$AAA?$AAR?$AAE?$AA?2?$AAW?$AAo?$AAw?$AA6?$AA4?$AA3@ 008181e8 LIBCMTD:pdblkup.obj + 0003:0001c274 ??_C@_1BG@EABPBLLF@?$AAP?$AAr?$AAo?$AAd?$AAu?$AAc?$AAt?$AAD?$AAi?$AAr@ 00818274 LIBCMTD:pdblkup.obj + 0003:0001c2b4 ??_C@_1BC@JINFINNJ@?$AAM?$AAS?$AAP?$AAD?$AAB?$AA1?$AA4?$AA0@ 008182b4 LIBCMTD:pdblkup.obj + 0003:0001c2cc ??_C@_0BB@KCIACLNC@PDBOpenValidate5@ 008182cc LIBCMTD:pdblkup.obj + 0003:0001c2e4 ??_7improper_lock@Concurrency@@6B@ 008182e4 libconcrtd:rtlocks.obj + 0003:0001c2f0 ??_C@_1GK@DEFJOCGA@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008182f0 libconcrtd:rtlocks.obj + 0003:0001c370 ??_C@_1CI@KMNHIHDG@?$AA_?$AAM?$AA_?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAY?$AAi?$AAe?$AAl?$AAd@ 00818370 libconcrtd:rtlocks.obj + 0003:0001c3a0 ??_C@_1DE@BFFKFMDD@?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAS?$AAt@ 008183a0 libconcrtd:rtlocks.obj + 0003:0001c3e0 ??_C@_1DI@GCNJEMCJ@?$AA_?$AAM?$AA_?$AAy?$AAi?$AAe?$AAl?$AAd?$AAF?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo@ 008183e0 libconcrtd:rtlocks.obj + 0003:0001c424 ??_C@_1DE@FNIGIOLJ@?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAS?$AAt@ 00818424 libconcrtd:rtlocks.obj + 0003:0001c464 ??_C@_0DN@FKDNMCMC@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00818464 libconcrtd:rtlocks.obj + 0003:0001c4b0 ??_C@_0FK@NELEBNBC@?$CIdbgBits?5?$CG?5?$CIDebugBitsLockAcquir@ 008184b0 libconcrtd:rtlocks.obj + 0003:0001c51c ??_C@_0DL@NAJDOMGA@?$CI_M_recursionCount?5?$CG?5?$HODebugBits@ 0081851c libconcrtd:rtlocks.obj + 0003:0001c568 ??_C@_1FA@ONPHFJJF@?$AA_?$AAM?$AA_?$AAo?$AAw?$AAn?$AAe?$AAr?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?$CI?$AAL?$AAO@ 00818568 libconcrtd:rtlocks.obj + 0003:0001c5c8 ??_C@_1HK@NJLINHBJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008185c8 libconcrtd:rtlocks.obj + 0003:0001c65c ??_C@_1CO@IDLDGACG@?$AA_?$AAM?$AA_?$AAr?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAo?$AAn?$AAC?$AAo?$AAu@ 0081865c libconcrtd:rtlocks.obj + 0003:0001c694 ??_C@_1CE@DOKIOLBH@?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA_?$AAR?$AAe@ 00818694 libconcrtd:rtlocks.obj + 0003:0001c6c0 ??_C@_1CG@BMOIDPJK@?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAW?$AAr@ 008186c0 libconcrtd:rtlocks.obj + 0003:0001c6f0 ??_C@_1EO@LBIGFMHG@?$AA?$CI?$AA_?$AAM?$AA_?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAO?$AAf?$AAW?$AAr?$AAi@ 008186f0 libconcrtd:rtlocks.obj + 0003:0001c750 ??_C@_1CO@FCPNPMPF@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAO?$AAf?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs@ 00818750 libconcrtd:rtlocks.obj + 0003:0001c788 ??_C@_1CA@JICOEMHG@?$AAp?$AAl?$AAa?$AAc?$AAe?$AAI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DO?$AA?5?$AA0@ 00818788 libconcrtd:rtlocks.obj + 0003:0001c7b0 ??_C@_1DO@BLPOKKDK@?$AAp?$AAC?$AAo?$AAp?$AAy?$AAF?$AAr?$AAo?$AAm?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO@ 008187b0 libconcrtd:rtlocks.obj + 0003:0001c7fc ??_C@_1DI@BFJJLAOL@?$AA?$CB?$AAp?$AAC?$AAo?$AAp?$AAy?$AAF?$AAr?$AAo?$AAm?$AAN?$AAo?$AAd?$AAe?$AA?9@ 008187fc libconcrtd:rtlocks.obj + 0003:0001c840 ??_C@_1EK@MLBOJMBK@?$AA?$CI?$AAn?$AAe?$AAw?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CG?$AA?5?$AAS?$AAt?$AAa@ 00818840 libconcrtd:rtlocks.obj + 0003:0001c898 ??_C@_1DO@ENMHBKJM@?$AAL?$AAo?$AAc?$AAk?$AA?5?$AAw?$AAa?$AAs?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAr?$AAu@ 00818898 libconcrtd:rtlocks.obj + 0003:0001c8e4 ??_C@_1CI@GJMFGCEF@?$AAL?$AAo?$AAc?$AAk?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAb?$AAe?$AAi?$AAn?$AAg?$AA?5@ 008188e4 libconcrtd:rtlocks.obj + 0003:0001c918 ??_C@_1EK@FNAMEBDD@?$AAL?$AAo?$AAc?$AAk?$AA?5?$AAb?$AAe?$AAi?$AAn?$AAg?$AA?5?$AAh?$AAe?$AAl?$AAd@ 00818918 libconcrtd:rtlocks.obj + 0003:0001c970 ??_C@_0BD@BAGHDICJ@Lock?5already?5taken@ 00818970 libconcrtd:rtlocks.obj + 0003:0001c988 ??_C@_1DE@JJOJLECE@?$AA_?$AAP?$AAL?$AAo?$AAc?$AAk?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$CB@ 00818988 libconcrtd:rtlocks.obj + 0003:0001c9c8 ??_C@_0BP@FOPPMPGO@Lock?5already?5taken?5as?5a?5writer@ 008189c8 libconcrtd:rtlocks.obj + 0003:0001c9f0 ??_C@_1DE@JOLONKPG@?$AAp?$AAH?$AAe?$AAa?$AAd?$AAR?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5@ 008189f0 libconcrtd:rtlocks.obj + 0003:0001ca30 ??_C@_1FI@OJLNBDOH@?$AA?$CI?$AA_?$AAM?$AA_?$AAl?$AAo?$AAc?$AAk?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CG@ 00818a30 libconcrtd:rtlocks.obj + 0003:0001ca9c ??_C@_1CI@GLALOKGE@?$AA_?$AAM?$AA_?$AAp?$AAW?$AAr?$AAi?$AAt?$AAe?$AAr?$AAH?$AAe?$AAa?$AAd?$AA?5@ 00818a9c libconcrtd:rtlocks.obj + 0003:0001cad0 ??_C@_1EI@BKACCCJD@?$AAL?$AAo?$AAc?$AAk?$AA?5?$AAb?$AAe?$AAi?$AAn?$AAg?$AA?5?$AAh?$AAe?$AAl?$AAd@ 00818ad0 libconcrtd:rtlocks.obj + 0003:0001cb28 ??_C@_1DG@KGBOBOJD@?$AA_?$AAP?$AAW?$AAr?$AAi?$AAt?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAM?$AA_@ 00818b28 libconcrtd:rtlocks.obj + 0003:0001cb68 ??_C@_1CI@BDBJCKNF@?$AA_?$AAM?$AA_?$AAp?$AAW?$AAr?$AAi?$AAt?$AAe?$AAr?$AAT?$AAa?$AAi?$AAl?$AA?5@ 00818b68 libconcrtd:rtlocks.obj + 0003:0001cb98 ??_C@_0CD@EJDHINOH@Corrupted?5pointer?5passed?5to?5_fr@ 00818b98 libconcrtd:event.obj + 0003:0001cbc8 ??_C@_1FI@PILFMOMI@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi@ 00818bc8 libconcrtd:event.obj + 0003:0001cc38 ??_C@_1HI@LNGCCNHO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00818c38 libconcrtd:event.obj + 0003:0001ccc8 ??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe@ 00818cc8 libconcrtd:event.obj + 0003:0001ccd8 ??_C@_1BG@DFKLBKHK@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00818cd8 libconcrtd:event.obj + 0003:0001ccf8 ??_7WaitBlock@details@Concurrency@@6B@ 00818cf8 libconcrtd:event.obj + 0003:0001cd14 ??_7SingleWaitBlock@details@Concurrency@@6B@ 00818d14 libconcrtd:event.obj + 0003:0001cd30 ??_7MultiWaitBlock@details@Concurrency@@6B@ 00818d30 libconcrtd:event.obj + 0003:0001cd54 ??_7WaitAllBlock@details@Concurrency@@6B@ 00818d54 libconcrtd:event.obj + 0003:0001cd78 ??_7WaitAnyBlock@details@Concurrency@@6B@ 00818d78 libconcrtd:event.obj + 0003:0001cd9c ??_7TimedSingleWaitBlock@details@Concurrency@@6B@ 00818d9c libconcrtd:event.obj + 0003:0001cdb4 ??_C@_0DL@BOLGBJML@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00818db4 libconcrtd:event.obj + 0003:0001ce00 ??_7?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@6B@ 00818e00 libconcrtd:event.obj + 0003:0001ce08 ??_C@_1CI@DDKNFLNE@?$AA_?$AAM?$AA_?$AAp?$AAR?$AAe?$AAs?$AAe?$AAt?$AAC?$AAh?$AAa?$AAi?$AAn?$AA?5@ 00818e08 libconcrtd:event.obj + 0003:0001ce38 ??_C@_1HG@DLOJKPLB@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00818e38 libconcrtd:event.obj + 0003:0001cec8 ??_C@_07CAAEJHLA@pEvents@ 00818ec8 libconcrtd:event.obj + 0003:0001ced4 ??_C@_1BO@IMFJACLH@?$AAi?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?9?$AA?5?$AA1@ 00818ed4 libconcrtd:event.obj + 0003:0001cef8 ??_C@_1CO@KGGGJCMH@?$AAp?$AAS?$AAa?$AAt?$AAi?$AAs?$AAf?$AAi?$AAe?$AAd?$AAC?$AAo?$AAn?$AAt?$AAe@ 00818ef8 libconcrtd:event.obj + 0003:0001cf30 ??_C@_1CI@DAMBDKFP@?$AAm?$AA_?$AAt?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AAL?$AAi?$AAm?$AAi?$AAt?$AA?5@ 00818f30 libconcrtd:event.obj + 0003:0001cf60 ??_C@_1BM@KDKJFOK@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 00818f60 libconcrtd:event.obj + 0003:0001cf84 ??_C@_1CI@NLPGIBFM@?$AAm?$AA_?$AAt?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AAL?$AAi?$AAm?$AAi?$AAt?$AA?5@ 00818f84 libconcrtd:event.obj + 0003:0001cfb4 ??_C@_1DC@PMFEKIPD@?$AAm?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?5?$AAm?$AA_?$AAt?$AAr?$AAi@ 00818fb4 libconcrtd:event.obj + 0003:0001cff0 ??_C@_1DE@GEKNGLGF@?$AAm?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAm?$AA_?$AAt?$AAr@ 00818ff0 libconcrtd:event.obj + 0003:0001d030 ??_C@_1GI@FMEBMNNL@?$AA_?$AAM?$AA_?$AAE?$AAl?$AAe?$AAm?$AAA?$AAr?$AAr?$AAa?$AAy?$AA?5?$AA?$DN?$AA?$DN@ 00819030 libconcrtd:event.obj + 0003:0001d0b0 ??_7scheduler_resource_allocation_error@Concurrency@@6B@ 008190b0 libconcrtd:Platform.obj + 0003:0001d0bc ??_C@_0BH@CJPDKMEB@SetThreadGroupAffinity@ 008190bc libconcrtd:Platform.obj + 0003:0001d0d8 ??_C@_0BH@CINNILJO@GetThreadGroupAffinity@ 008190d8 libconcrtd:Platform.obj + 0003:0001d0f4 ??_C@_0BM@JLHMEGJA@GetCurrentProcessorNumberEx@ 008190f4 libconcrtd:Platform.obj + 0003:0001d118 ??_C@_1EK@NMOMOBJJ@?$AAf?$AAn?$AAD?$AAe?$AAc?$AAo?$AAd?$AAe?$AAd?$AAF?$AAu?$AAn?$AAc?$AAt?$AAi@ 00819118 libconcrtd:Platform.obj + 0003:0001d170 ??_C@_1HM@IMEGNNEF@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00819170 libconcrtd:Platform.obj + 0003:0001d208 ??_C@_1FA@PBPINFDL@?$AAf?$AAn?$AAD?$AAe?$AAc?$AAo?$AAd?$AAe?$AAd?$AAF?$AAu?$AAn?$AAc?$AAt?$AAi@ 00819208 libconcrtd:Platform.obj + 0003:0001d268 ??_C@_1FO@BFPIEHPG@?$AAS?$AAe?$AAt?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAA?$AAf?$AAf?$AAi?$AAn?$AAi@ 00819268 libconcrtd:Platform.obj + 0003:0001d2d8 ??_C@_1CK@MLLPNBIC@?$AAr?$AAe?$AAt?$AAL?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu@ 008192d8 libconcrtd:Platform.obj + 0003:0001d30c ??_C@_0CB@HOJBBPPI@GetLogicalProcessorInformationE@ 0081930c libconcrtd:Platform.obj + 0003:0001d334 ??_C@_1BA@GMKHALLP@?$AAl?$AAe?$AAn?$AA?5?$AA?$DO?$AA?5?$AA0@ 00819334 libconcrtd:Platform.obj + 0003:0001d348 ??_C@_0DL@MKNLIEHL@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00819348 libconcrtd:utils.obj + 0003:0001d390 ??_C@_0CJ@FOPFHEFO@instance?5?$CB?$DN?5nullptr?5?$CG?$CG?5waiter?5?$CB@ 00819390 libconcrtd:utils.obj + 0003:0001d3c4 ??_C@_0BB@JEKEBIAL@timer?5?$CB?$DN?5nullptr@ 008193c4 libconcrtd:utils.obj + 0003:0001d3d8 ??_C@_0CI@EKOCOPIO@instance?5?$CB?$DN?5nullptr?5?$CG?$CG?5timer?5?$CB?$DN@ 008193d8 libconcrtd:utils.obj + 0003:0001d408 ??_C@_0BN@MGAIBBJG@Security?3?3s_initialized?5?$DN?$DN?50@ 00819408 libconcrtd:utils.obj + 0003:0001d42c ??_C@_0BN@GDBIGLBF@Security?3?3s_initialized?5?$CB?$DN?50@ 0081942c libconcrtd:utils.obj + 0003:0001d450 ??_C@_1CG@CBCHDCDB@?$AA?$FL?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AAd?$AA?$CI?$AA?$CF?$AAd@ 00819450 libconcrtd:utils.obj + 0003:0001d484 ??_7scheduler_worker_creation_error@Concurrency@@6B@ 00819484 libconcrtd:Exceptions.obj + 0003:0001d494 ??_7unsupported_os@Concurrency@@6B@ 00819494 libconcrtd:Exceptions.obj + 0003:0001d4a4 ??_7scheduler_not_attached@Concurrency@@6B@ 008194a4 libconcrtd:Exceptions.obj + 0003:0001d4b4 ??_7improper_scheduler_attach@Concurrency@@6B@ 008194b4 libconcrtd:Exceptions.obj + 0003:0001d4c4 ??_7improper_scheduler_detach@Concurrency@@6B@ 008194c4 libconcrtd:Exceptions.obj + 0003:0001d4d4 ??_7improper_scheduler_reference@Concurrency@@6B@ 008194d4 libconcrtd:Exceptions.obj + 0003:0001d4e4 ??_7default_scheduler_exists@Concurrency@@6B@ 008194e4 libconcrtd:Exceptions.obj + 0003:0001d4f4 ??_7context_unblock_unbalanced@Concurrency@@6B@ 008194f4 libconcrtd:Exceptions.obj + 0003:0001d504 ??_7context_self_unblock@Concurrency@@6B@ 00819504 libconcrtd:Exceptions.obj + 0003:0001d514 ??_7missing_wait@Concurrency@@6B@ 00819514 libconcrtd:Exceptions.obj + 0003:0001d524 ??_7bad_target@Concurrency@@6B@ 00819524 libconcrtd:Exceptions.obj + 0003:0001d534 ??_7message_not_found@Concurrency@@6B@ 00819534 libconcrtd:Exceptions.obj + 0003:0001d544 ??_7invalid_link_target@Concurrency@@6B@ 00819544 libconcrtd:Exceptions.obj + 0003:0001d554 ??_7invalid_scheduler_policy_key@Concurrency@@6B@ 00819554 libconcrtd:Exceptions.obj + 0003:0001d564 ??_7invalid_scheduler_policy_value@Concurrency@@6B@ 00819564 libconcrtd:Exceptions.obj + 0003:0001d574 ??_7invalid_scheduler_policy_thread_specification@Concurrency@@6B@ 00819574 libconcrtd:Exceptions.obj + 0003:0001d584 ??_7nested_scheduler_missing_detach@Concurrency@@6B@ 00819584 libconcrtd:Exceptions.obj + 0003:0001d594 ??_7operation_timed_out@Concurrency@@6B@ 00819594 libconcrtd:Exceptions.obj + 0003:0001d5a4 ??_7invalid_multiple_scheduling@Concurrency@@6B@ 008195a4 libconcrtd:Exceptions.obj + 0003:0001d5b4 ??_7invalid_oversubscribe_operation@Concurrency@@6B@ 008195b4 libconcrtd:Exceptions.obj + 0003:0001d5c4 ??_7invalid_operation@Concurrency@@6B@ 008195c4 libconcrtd:ResourceManager.obj + 0003:0001d5d4 ??_7ITopologyExecutionResource@Concurrency@@6B@ 008195d4 libconcrtd:ResourceManager.obj + 0003:0001d5e4 ??_7ITopologyNode@Concurrency@@6B@ 008195e4 libconcrtd:ResourceManager.obj + 0003:0001d600 ??_7IResourceManager@Concurrency@@6B@ 00819600 libconcrtd:ResourceManager.obj + 0003:0001d620 ??_C@_1HO@GDFDLJNP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00819620 libconcrtd:ResourceManager.obj + 0003:0001d6bc ??_7TopologyObject@GlobalCore@details@Concurrency@@6B@ 008196bc libconcrtd:ResourceManager.obj + 0003:0001d6c8 ??_C@_0DO@KFBJOLEP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008196c8 libconcrtd:ResourceManager.obj + 0003:0001d718 ??_C@_1FG@EDMMACO@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAB?$AAo?$AAr?$AAr?$AAo?$AAw?$AAe?$AAd?$AAC?$AAo@ 00819718 libconcrtd:ResourceManager.obj + 0003:0001d780 ??_C@_1HM@CEIOGJJG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00819780 libconcrtd:ResourceManager.obj + 0003:0001d818 ??_7TopologyObject@GlobalNode@details@Concurrency@@6B@ 00819818 libconcrtd:ResourceManager.obj + 0003:0001d830 ??_C@_1DE@HOCBGJGH@?$AAi?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAU?$AAL?$AAO?$AAN@ 00819830 libconcrtd:ResourceManager.obj + 0003:0001d870 ??_C@_1FI@GLLDDAEC@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAF?$AAi?$AAx?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAs@ 00819870 libconcrtd:ResourceManager.obj + 0003:0001d8e0 ??_C@_1IE@OKFMNMBP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008198e0 libconcrtd:ResourceManager.obj + 0003:0001d980 ??_C@_1DI@JMMGCOBE@?$AAm?$AAi?$AAn?$AAi?$AAm?$AAu?$AAm?$AAC?$AAo?$AAr?$AAe?$AAs?$AA?5?$AA?$DM?$AA?$DN@ 00819980 libconcrtd:ResourceManager.obj + 0003:0001d9c8 ??_C@_1IM@KOCFIBME@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAE?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh@ 008199c8 libconcrtd:ResourceManager.obj + 0003:0001da70 ??_C@_1EM@JPGPHKHI@?$AAm?$AA_?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAN?$AAo?$AAd@ 00819a70 libconcrtd:ResourceManager.obj + 0003:0001dad0 ??_7ResourceManager@details@Concurrency@@6B@ 00819ad0 libconcrtd:ResourceManager.obj + 0003:0001daf0 ??_C@_1IK@HCMNCFCD@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00819af0 libconcrtd:ResourceManager.obj + 0003:0001db98 ??_C@_0EF@JBHHFKLD@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00819b98 libconcrtd:ResourceManager.obj + 0003:0001dbf0 ??_C@_1GA@BCAEMACC@?$AA?$CI?$AA?$CI?$AAU?$AAL?$AAO?$AAN?$AAG?$AA_?$AAP?$AAT?$AAR?$AA?$CJ?$AAm?$AA_?$AAp@ 00819bf0 libconcrtd:ResourceManager.obj + 0003:0001dc64 ??_C@_1CI@MLKCALNG@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAs@ 00819c64 libconcrtd:ResourceManager.obj + 0003:0001dc98 ??_C@_1EM@HPCPHMHG@?$AAm?$AA_?$AAd?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAR?$AAM?$AAW?$AAo?$AAr?$AAk@ 00819c98 libconcrtd:ResourceManager.obj + 0003:0001dcf4 ??_C@_0P@MBGDBGHG@dwAffinityMask@ 00819cf4 libconcrtd:ResourceManager.obj + 0003:0001dd08 ??_C@_05IOMEMJEC@count@ 00819d08 libconcrtd:ResourceManager.obj + 0003:0001dd10 ??_C@_0P@CGIPNALJ@pGroupAffinity@ 00819d10 libconcrtd:ResourceManager.obj + 0003:0001dd28 ??_C@_1FE@PDPNLAE@?$AAp?$AAS?$AAy?$AAs?$AAI?$AAn?$AAf?$AAo?$AAE?$AAx?$AA?9?$AA?$DO?$AAR?$AAe?$AAl@ 00819d28 libconcrtd:ResourceManager.obj + 0003:0001dd8c ??_C@_1DK@DMIAEBAI@?$AAj?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAA?$AAf?$AAf?$AAi?$AAn?$AAi?$AAt?$AAy?$AA?$FL@ 00819d8c libconcrtd:ResourceManager.obj + 0003:0001ddd8 ??_C@_1EG@PMMENDKI@?$AAs?$AA_?$AAp?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAA?$AAf?$AAf?$AAi?$AAn@ 00819dd8 libconcrtd:ResourceManager.obj + 0003:0001de30 ??_C@_1IM@EMFLNEJJ@?$AAs?$AA_?$AAp?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAA?$AAf?$AAf?$AAi?$AAn@ 00819e30 libconcrtd:ResourceManager.obj + 0003:0001ded8 ??_C@_1HI@JBAGEKLL@?$AAs?$AA_?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?3?$AA?3@ 00819ed8 libconcrtd:ResourceManager.obj + 0003:0001df68 ??_C@_1NC@BFNJKHKF@?$AAs?$AA_?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?3?$AA?3@ 00819f68 libconcrtd:ResourceManager.obj + 0003:0001e064 ??_C@_1CA@INACGGDB@?$AAs?$AA_?$AAp?$AAS?$AAy?$AAs?$AAI?$AAn?$AAf?$AAo?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 0081a064 libconcrtd:ResourceManager.obj + 0003:0001e090 ??_C@_1FA@CNCNODFP@?$AAs?$AA_?$AAl?$AAo?$AAg?$AAi?$AAc?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs@ 0081a090 libconcrtd:ResourceManager.obj + 0003:0001e0f0 ??_C@_1IC@NJIFDKCK@?$AAp?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAo?$AAr?$AAP?$AAa?$AAc?$AAk?$AAa?$AAg@ 0081a0f0 libconcrtd:ResourceManager.obj + 0003:0001e190 ??_C@_1IA@ODHCKJNL@?$AAp?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAo?$AAr?$AAP?$AAa?$AAc?$AAk?$AAa?$AAg@ 0081a190 libconcrtd:ResourceManager.obj + 0003:0001e22c ??_C@_1CC@OKJEIGC@?$AAh?$AAw?$AA_?$AAa?$AAf?$AAf?$AAi?$AAn?$AAi?$AAt?$AAy?$AA?5?$AA?$CB?$AA?$DN?$AA?5@ 0081a22c libconcrtd:ResourceManager.obj + 0003:0001e258 ??_C@_1FC@FCELAFMJ@?$AAs?$AA_?$AAc?$AAo?$AAr?$AAe?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081a258 libconcrtd:ResourceManager.obj + 0003:0001e2c0 ??_C@_1FO@PJCCFBDN@?$AAm?$AA_?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?5@ 0081a2c0 libconcrtd:ResourceManager.obj + 0003:0001e330 ??_C@_1FK@ICNGNLCA@?$AAs?$AA_?$AAn?$AAo?$AAd?$AAe?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081a330 libconcrtd:ResourceManager.obj + 0003:0001e3a0 ??_C@_1EM@KKPNDFAF@?$AAp?$AAS?$AAy?$AAs?$AAI?$AAn?$AAf?$AAo?$AAE?$AAx?$AA?9?$AA?$DO?$AAP?$AAr?$AAo@ 0081a3a0 libconcrtd:ResourceManager.obj + 0003:0001e3fc ??_C@_1DC@KJFIMBMK@?$AAn?$AAo?$AAd?$AAe?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAm?$AA_@ 0081a3fc libconcrtd:ResourceManager.obj + 0003:0001e438 ??_C@_1DK@JPFOALPH@?$AAn?$AAu?$AAm?$AAa?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAm?$AA_@ 0081a438 libconcrtd:ResourceManager.obj + 0003:0001e480 ??_C@_1NC@IBAEAJAF@?$AAs?$AA_?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?3?$AA?3@ 0081a480 libconcrtd:ResourceManager.obj + 0003:0001e57c ??_C@_1CC@OBGGIGBI@?$AAm?$AA_?$AAn?$AAo?$AAd?$AAe?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 0081a57c libconcrtd:ResourceManager.obj + 0003:0001e5a8 ??_C@_1GI@ODAPOKOM@?$AAs?$AA_?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?3?$AA?3@ 0081a5a8 libconcrtd:ResourceManager.obj + 0003:0001e628 ??_C@_1NM@INAKGLKE@?$AA?$CI?$AAm?$AA_?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAN?$AAo?$AAd?$AAe?$AAs@ 0081a628 libconcrtd:ResourceManager.obj + 0003:0001e730 ??_C@_1BI@GCMBAGJO@?$AAf?$AAD?$AAi?$AAs?$AAc?$AAo?$AAv?$AAe?$AAr?$AAe?$AAd@ 0081a730 libconcrtd:ResourceManager.obj + 0003:0001e750 ??_C@_1EM@OPKBEHIM@?$AAm?$AA_?$AAh?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAR?$AAM?$AAT?$AAh?$AAr@ 0081a750 libconcrtd:ResourceManager.obj + 0003:0001e7b0 ??_C@_1EE@HAKDPCGF@?$AAm?$AA_?$AAd?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAR?$AAM?$AAW?$AAo?$AAr?$AAk@ 0081a7b0 libconcrtd:ResourceManager.obj + 0003:0001e804 ??_C@_0L@GMKDIJLB@pCoreCount@ 0081a804 libconcrtd:ResourceManager.obj + 0003:0001e814 ??_C@_09BKPLLCBE@nodeCount@ 0081a814 libconcrtd:ResourceManager.obj + 0003:0001e820 ??_C@_1O@ELAHKBCP@?$AAr?$AAe?$AAt?$AAV?$AAa?$AAl@ 0081a820 libconcrtd:ResourceManager.obj + 0003:0001e830 ??_C@_0L@HKFDMHB@pScheduler@ 0081a830 libconcrtd:ResourceManager.obj + 0003:0001e840 ??_C@_07CPCPJPKL@version@ 0081a840 libconcrtd:ResourceManager.obj + 0003:0001e84c ??_C@_1DK@KPONIKKJ@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa@ 0081a84c libconcrtd:ResourceManager.obj + 0003:0001e898 ??_C@_1EK@PJMFHFHM@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAN?$AAu?$AAm?$AAE@ 0081a898 libconcrtd:ResourceManager.obj + 0003:0001e8f0 ??_C@_1DG@KNDIBEAP@?$AAp?$AAN?$AAe?$AAw?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAo?$AAn?$AAR?$AAe@ 0081a8f0 libconcrtd:ResourceManager.obj + 0003:0001e930 ??_C@_1CG@LMNMFOBC@?$AAm?$AA_?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AAD?$AAa?$AAt?$AAa?$AA?5?$AA?$CB@ 0081a930 libconcrtd:ResourceManager.obj + 0003:0001e960 ??_C@_1FE@EAAOFNLF@?$AA?$CK?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe@ 0081a960 libconcrtd:ResourceManager.obj + 0003:0001e9c4 ??_C@_1CK@CDOGMKIO@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAs@ 0081a9c4 libconcrtd:ResourceManager.obj + 0003:0001e9f8 ??_C@_1CK@LCJKKBJN@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081a9f8 libconcrtd:ResourceManager.obj + 0003:0001ea30 ??_C@_1JO@PDFBBMCL@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081aa30 libconcrtd:ResourceManager.obj + 0003:0001eaf0 ??_C@_1OE@KFCEFBEK@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081aaf0 libconcrtd:ResourceManager.obj + 0003:0001ec08 ??_C@_1EE@PEPCCENE@?$AA?$CK?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAp?$AAG?$AAl?$AAo?$AAb@ 0081ac08 libconcrtd:ResourceManager.obj + 0003:0001ec60 ??_C@_1FO@IGJMPFHA@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAc?$AAo?$AAr?$AAe?$AAS?$AAt@ 0081ac60 libconcrtd:ResourceManager.obj + 0003:0001ecd0 ??_C@_1EE@EMEOEDLB@?$AA?$CK?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAp?$AAG?$AAl?$AAo?$AAb@ 0081acd0 libconcrtd:ResourceManager.obj + 0003:0001ed24 ??_C@_1DC@ICFJAGFF@?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA1?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp?$AAp@ 0081ad24 libconcrtd:ResourceManager.obj + 0003:0001ed60 ??_C@_1MG@FHAEFIHH@?$AAs?$AAu?$AAm?$AAS?$AAc?$AAa?$AAl?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 0081ad60 libconcrtd:ResourceManager.obj + 0003:0001ee50 ??_C@_1BE@DBAEFIC@?$AAj?$AA?5?$AA?$DM?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt@ 0081ae50 libconcrtd:ResourceManager.obj + 0003:0001ee68 ??_C@_1BC@LADMKMJD@?$AAi?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAj?$AA?$CL?$AA1@ 0081ae68 libconcrtd:ResourceManager.obj + 0003:0001ee80 ??_C@_1CI@IDGHJAHL@?$AAi?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAj?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAj?$AA?5?$AA?$DM?$AA?5?$AAc@ 0081ae80 libconcrtd:ResourceManager.obj + 0003:0001eeb0 ??_C@_1FI@FMBHCNE@?$AAf?$AAr?$AAa?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAe?$AAp?$AAs@ 0081aeb0 libconcrtd:ResourceManager.obj + 0003:0001ef20 ??_C@_1EA@LIDLEAJA@?$AAs?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$DN@ 0081af20 libconcrtd:ResourceManager.obj + 0003:0001ef70 ??_C@_1IK@MKBPHJEI@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAs@ 0081af70 libconcrtd:ResourceManager.obj + 0003:0001f018 ??_C@_1DE@LJNDEJLD@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081b018 libconcrtd:ResourceManager.obj + 0003:0001f058 ??_C@_1DG@PIBBDMGO@?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAi?$AAe?$AAs?$AA?$FL?$AA0?$AA?$FN?$AA?9?$AA?$DO?$AAm@ 0081b058 libconcrtd:ResourceManager.obj + 0003:0001f098 ??_C@_1IE@MJAOJPLG@?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAi?$AAe?$AAs?$AA?$FL?$AAi?$AAn?$AAd?$AAe?$AAx@ 0081b098 libconcrtd:ResourceManager.obj + 0003:0001f138 ??_C@_1CO@CLPACIPD@?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu?$AAm?$AAS?$AAc?$AAh@ 0081b138 libconcrtd:ResourceManager.obj + 0003:0001f170 ??_C@_1JK@DKHPCAJO@?$AAt?$AAo?$AAt?$AAa?$AAl?$AAD?$AAe?$AAs?$AAi?$AAr?$AAe?$AAd?$AA?5?$AA?$DM?$AA?$DN@ 0081b170 libconcrtd:ResourceManager.obj + 0003:0001f228 ??_C@_1BCC@NOMGNALB@?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAi?$AAe?$AAs?$AA?$FL?$AAi?$AA?$FN?$AA?9?$AA?$DO?$AAm@ 0081b228 libconcrtd:ResourceManager.obj + 0003:0001f388 ??_C@_1IK@CCHPGHEE@?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAi?$AAe?$AAs?$AA?$FL?$AA0?$AA?$FN?$AA?9?$AA?$DO?$AAm@ 0081b388 libconcrtd:ResourceManager.obj + 0003:0001f430 ??_C@_1FE@EEDPENFN@?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAi?$AAe?$AAs?$AA?$FL?$AA0?$AA?$FN?$AA?9?$AA?$DO?$AAm@ 0081b430 libconcrtd:ResourceManager.obj + 0003:0001f498 ??_C@_1HO@EHPEHFJL@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAs@ 0081b498 libconcrtd:ResourceManager.obj + 0003:0001f530 ??_C@_1KE@DLBCNEPA@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAT?$AAo?$AAF?$AAr?$AAe?$AAe?$AA?5?$AA?$DN?$AA?$DN@ 0081b530 libconcrtd:ResourceManager.obj + 0003:0001f5f8 ??_C@_1FI@CEONPNEG@?$AAp?$AAN?$AAe?$AAw?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAm?$AA_@ 0081b5f8 libconcrtd:ResourceManager.obj + 0003:0001f668 ??_C@_1FI@PMPOHIM@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081b668 libconcrtd:ResourceManager.obj + 0003:0001f6d8 ??_C@_1HG@CBOKJAMM@?$AAf?$AAI?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt@ 0081b6d8 libconcrtd:ResourceManager.obj + 0003:0001f768 ??_C@_1FM@HJNCEJEH@?$AAf?$AAI?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt@ 0081b768 libconcrtd:ResourceManager.obj + 0003:0001f7d8 ??_C@_1II@CMMPLMHA@?$AA?$CB?$AAf?$AAI?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 0081b7d8 libconcrtd:ResourceManager.obj + 0003:0001f880 ??_C@_1HK@IMCFCHLD@?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAM?$AAi?$AAn?$AAi?$AAm?$AAu?$AAm?$AA?5@ 0081b880 libconcrtd:ResourceManager.obj + 0003:0001f918 ??_C@_1NO@KNGDEILA@?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAM?$AAi?$AAn?$AAi?$AAm?$AAu?$AAm?$AA?5@ 0081b918 libconcrtd:ResourceManager.obj + 0003:0001fa24 ??_C@_1BO@CMIHJKDM@?$AAa?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 0081ba24 libconcrtd:ResourceManager.obj + 0003:0001fa48 ??_C@_1CM@FIPFKEHK@?$AAr?$AAe?$AAq?$AAu?$AAe?$AAs?$AAt?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AAm?$AAi?$AAn?$AAR@ 0081ba48 libconcrtd:ResourceManager.obj + 0003:0001fa80 ??_C@_1HE@JGIMKHIM@?$AAr?$AAe?$AAs?$AAe?$AAr?$AAv?$AAe?$AAd?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AAm?$AAi?$AAn@ 0081ba80 libconcrtd:ResourceManager.obj + 0003:0001fb10 ??_C@_1IO@HEOAKEMN@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081bb10 libconcrtd:ResourceManager.obj + 0003:0001fbbc ??_C@_1BI@HGMMJCLL@?$AAr?$AAe?$AAq?$AAu?$AAe?$AAs?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081bbbc libconcrtd:ResourceManager.obj + 0003:0001fbd8 ??_C@_1OE@IICMAFKE@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AA?9@ 0081bbd8 libconcrtd:ResourceManager.obj + 0003:0001fcf0 ??_C@_1FC@HPCPAMNG@?$AAp?$AAM?$AAa?$AAx?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAa?$AAv?$AAa@ 0081bcf0 libconcrtd:ResourceManager.obj + 0003:0001fd58 ??_C@_1FE@EBHBPHOF@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081bd58 libconcrtd:ResourceManager.obj + 0003:0001fdc0 ??_C@_1EG@GGHLFOFO@?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm?$AA_@ 0081bdc0 libconcrtd:ResourceManager.obj + 0003:0001fe18 ??_C@_1OC@ENMKHCIM@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAG@ 0081be18 libconcrtd:ResourceManager.obj + 0003:0001ff28 ??_C@_1IC@BNKCMGPO@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAG@ 0081bf28 libconcrtd:ResourceManager.obj + 0003:0001ffc8 ??_C@_1IK@DENMFNAB@?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm?$AA_@ 0081bfc8 libconcrtd:ResourceManager.obj + 0003:00020070 ??_C@_1MI@ONIBJPOM@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAT?$AAo?$AAF?$AAr?$AAe?$AAe?$AA?5?$AA?$DO?$AA?5@ 0081c070 libconcrtd:ResourceManager.obj + 0003:00020160 ??_C@_1HO@INGEIFNB@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAT?$AAo?$AAF?$AAr?$AAe?$AAe?$AA?5?$AA?$DO?$AA?$DN@ 0081c160 libconcrtd:ResourceManager.obj + 0003:000201f8 ??_C@_1FE@FIDLIEIK@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081c1f8 libconcrtd:ResourceManager.obj + 0003:00020260 ??_C@_1HA@EGFGMFCE@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081c260 libconcrtd:ResourceManager.obj + 0003:000202e8 ??_C@_1GM@EELJIOJB@?$AAn?$AAu?$AAm?$AAB?$AAo?$AAr?$AAr?$AAo?$AAw?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe@ 0081c2e8 libconcrtd:ResourceManager.obj + 0003:00020370 ??_C@_1JG@MCDFHAIA@?$AA?$CB?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe@ 0081c370 libconcrtd:ResourceManager.obj + 0003:00020424 ??_C@_1CE@BKJBDPDP@?$AAn?$AAu?$AAm?$AAO?$AAw?$AAn?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAs?$AA?5?$AA?$DO@ 0081c424 libconcrtd:ResourceManager.obj + 0003:00020450 ??_C@_1FO@HLKACLJC@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAT?$AAo?$AAF?$AAr?$AAe?$AAe?$AA?5?$AA?$DO?$AA?5@ 0081c450 libconcrtd:ResourceManager.obj + 0003:000204c0 ??_C@_1CE@LJMCJCIC@?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAT?$AAo?$AAF?$AAr?$AAe?$AAe?$AA?5?$AA?$DN?$AA?$DN@ 0081c4c0 libconcrtd:ResourceManager.obj + 0003:000204f0 ??_C@_1GC@NENMEBKN@?$AAp?$AAN?$AAe?$AAw?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr@ 0081c4f0 libconcrtd:ResourceManager.obj + 0003:00020568 ??_C@_1GG@PNGFHBFM@?$AAp?$AAN?$AAe?$AAw?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAc?$AAo?$AAr@ 0081c568 libconcrtd:ResourceManager.obj + 0003:000205e8 ??_C@_1GK@OLFIDNHE@?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AA?5?$AA?$DO?$AA?$DN@ 0081c5e8 libconcrtd:ResourceManager.obj + 0003:00020668 ??_C@_1GE@DJNLDNEC@?$AAm?$AA_?$AAp?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AAD?$AAa?$AAt?$AAa?$AA?$FL?$AAi@ 0081c668 libconcrtd:ResourceManager.obj + 0003:000206e0 ??_C@_1DG@BLHIIPFK@?$AAn?$AAu?$AAm?$AAB?$AAo?$AAr?$AAr?$AAo?$AAw?$AAi?$AAn?$AAg?$AAS?$AAc?$AAh@ 0081c6e0 libconcrtd:ResourceManager.obj + 0003:00020720 ??_C@_1DE@INOIAEFP@?$AAm?$AA_?$AAp?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr@ 0081c720 libconcrtd:ResourceManager.obj + 0003:00020760 ??_C@_1GA@NKCGIAMM@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081c760 libconcrtd:ResourceManager.obj + 0003:000207d8 ??_C@_1HC@FLOJGPGI@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081c7d8 libconcrtd:ResourceManager.obj + 0003:00020860 ??_C@_1DC@POCEEKIJ@?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAm?$AA_?$AAn?$AAu?$AAm?$AAS@ 0081c860 libconcrtd:ResourceManager.obj + 0003:000208a0 ??_C@_1BCK@LKOGMEAJ@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081c8a0 libconcrtd:ResourceManager.obj + 0003:00020a08 ??_C@_1FK@IJFFIJNC@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081ca08 libconcrtd:ResourceManager.obj + 0003:00020a78 ??_C@_1EE@CBBHKLBL@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081ca78 libconcrtd:ResourceManager.obj + 0003:00020ad0 ??_C@_1FG@ODLOKAHM@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081cad0 libconcrtd:ResourceManager.obj + 0003:00020b38 ??_C@_1IO@DBJALCEG@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAN?$AAo?$AAd?$AAe?$AA?9@ 0081cb38 libconcrtd:ResourceManager.obj + 0003:00020be4 ??_C@_1DG@CPKOBDLE@?$AA?$CB?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe@ 0081cbe4 libconcrtd:ResourceManager.obj + 0003:00020c28 ??_C@_1MO@LBDAMGHH@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081cc28 libconcrtd:ResourceManager.obj + 0003:00020d20 ??_C@_1DK@DAAKMLJG@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AA?9@ 0081cd20 libconcrtd:ResourceManager.obj + 0003:00020d68 ??_C@_1PI@JCBPDLOA@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AAD?$AAa?$AAt?$AAa@ 0081cd68 libconcrtd:ResourceManager.obj + 0003:00020e94 ??_C@_1DI@JHPFMDMI@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081ce94 libconcrtd:ResourceManager.obj + 0003:00020ed8 ??_C@_1KE@DIHCMNFN@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AAD?$AAa?$AAt?$AAa@ 0081ced8 libconcrtd:ResourceManager.obj + 0003:00020fa0 ??_C@_1JA@LHEKDBNA@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081cfa0 libconcrtd:ResourceManager.obj + 0003:00021050 ??_C@_1EM@LAPCPLNB@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081d050 libconcrtd:ResourceManager.obj + 0003:000210b0 ??_C@_1JO@IPBKEALO@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081d0b0 libconcrtd:ResourceManager.obj + 0003:00021170 ??_C@_1CC@MAHLNJCC@?$AAn?$AAu?$AAm?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAe?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5@ 0081d170 libconcrtd:ResourceManager.obj + 0003:00021198 ??_C@_1CK@CNKENBPM@?$AAn?$AAu?$AAm?$AAC?$AAo?$AAr?$AAe?$AAs?$AAT?$AAo?$AAA?$AAs?$AAs?$AAi?$AAg@ 0081d198 libconcrtd:ResourceManager.obj + 0003:000211d0 ??_C@_1PC@OOGLEOOK@?$AA?$CI?$AA?$CB?$AAf?$AAI?$AAd?$AAl?$AAe?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp?$AAG?$AAl?$AAo@ 0081d1d0 libconcrtd:ResourceManager.obj + 0003:000212f4 ??_C@_1DM@JAOJPPFL@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081d2f4 libconcrtd:ResourceManager.obj + 0003:00021340 ??_C@_1EG@FBNIEKPC@?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081d340 libconcrtd:ResourceManager.obj + 0003:00021398 ??_C@_1KG@PDOJHDDH@?$AAn?$AAu?$AAm?$AAC?$AAo?$AAr?$AAe?$AAs?$AAT?$AAo?$AAM?$AAi?$AAg?$AAr?$AAa@ 0081d398 libconcrtd:ResourceManager.obj + 0003:00021460 ??_C@_1IK@BHMBLJIA@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081d460 libconcrtd:ResourceManager.obj + 0003:00021508 ??_C@_1HO@KKIPJNAM@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_@ 0081d508 libconcrtd:ResourceManager.obj + 0003:000215a0 ??_C@_1LI@LECPKFNC@?$AAr?$AAe?$AAm?$AAa?$AAi?$AAn?$AAi?$AAn?$AAg?$AAC?$AAo?$AAr?$AAe?$AAs?$AA?5@ 0081d5a0 libconcrtd:ResourceManager.obj + 0003:00021680 ??_C@_1BCK@EGEDDCD@?$AAn?$AAu?$AAm?$AAO?$AAw?$AAn?$AAe?$AAd?$AAI?$AAn?$AAU?$AAs?$AAe?$AA?5?$AA?$DM@ 0081d680 libconcrtd:ResourceManager.obj + 0003:000217e8 ??_C@_1KO@HPBJBMIL@?$AAn?$AAu?$AAm?$AAB?$AAo?$AAr?$AAr?$AAo?$AAw?$AAe?$AAd?$AAI?$AAd?$AAl?$AAe@ 0081d7e8 libconcrtd:ResourceManager.obj + 0003:000218b8 ??_C@_1GG@KPNOBCFK@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy?$AAD?$AAa?$AAt@ 0081d8b8 libconcrtd:ResourceManager.obj + 0003:00021938 ??_C@_1GI@BHHDFFHF@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy?$AAD?$AAa?$AAt@ 0081d938 libconcrtd:ResourceManager.obj + 0003:000219b8 ??_C@_1FI@CAKHOJID@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy?$AAD?$AAa?$AAt@ 0081d9b8 libconcrtd:ResourceManager.obj + 0003:00021a28 ??_C@_1IO@CFBEPIHE@?$AAn?$AAu?$AAm?$AAB?$AAo?$AAr?$AAr?$AAo?$AAw?$AAe?$AAd?$AAI?$AAd?$AAl?$AAe@ 0081da28 libconcrtd:ResourceManager.obj + 0003:00021ad8 ??_C@_1EM@CIOEBKBI@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081dad8 libconcrtd:ResourceManager.obj + 0003:00021b38 ??_C@_1LE@PDIPMFDC@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081db38 libconcrtd:ResourceManager.obj + 0003:00021c10 ??_C@_1MO@NGHNCBAP@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9@ 0081dc10 libconcrtd:ResourceManager.obj + 0003:00021d08 ??_C@_1NA@EPBHPNED@?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAG?$AAe@ 0081dd08 libconcrtd:ResourceManager.obj + 0003:00021e08 ??_C@_1NC@BNCAKIEO@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9@ 0081de08 libconcrtd:ResourceManager.obj + 0003:00021f04 ??_C@_1CM@KGAFDPJA@?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi@ 0081df04 libconcrtd:ResourceManager.obj + 0003:00021f38 ??_C@_1CBK@PIJMBABI@?$AA?$CI?$AAm?$AA_?$AAp?$AAp?$AAG?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx@ 0081df38 libconcrtd:ResourceManager.obj + 0003:000221c0 ??_C@_1PO@OLDDNKJI@?$AAn?$AAu?$AAm?$AAM?$AAi?$AAg?$AAr?$AAa?$AAt?$AAa?$AAb?$AAl?$AAe?$AAC?$AAo@ 0081e1c0 libconcrtd:ResourceManager.obj + 0003:000222f0 ??_C@_1CM@CJBDPCJA@?$AAb?$AAe?$AAs?$AAt?$AAF?$AAi?$AAt?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi@ 0081e2f0 libconcrtd:ResourceManager.obj + 0003:00022328 ??_C@_1EM@PHHLFBAM@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAN?$AAo?$AAd?$AAe?$AA?9@ 0081e328 libconcrtd:ResourceManager.obj + 0003:00022388 ??_C@_1GC@CCDBFECD@?$AAb?$AAe?$AAs?$AAt?$AAF?$AAi?$AAt?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi@ 0081e388 libconcrtd:ResourceManager.obj + 0003:00022400 ??_C@_1DA@IJAAMOKO@?$AAs?$AAa?$AAt?$AAi?$AAs?$AAf?$AAi?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 0081e400 libconcrtd:ResourceManager.obj + 0003:00022440 ??_C@_1EG@CGKJNDAE@?$AAu?$AAn?$AAu?$AAs?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAQ?$AAu?$AAo?$AAt?$AAa@ 0081e440 libconcrtd:ResourceManager.obj + 0003:00022498 ??_C@_1EO@MPEBEHIO@?$AAs?$AAa?$AAt?$AAi?$AAs?$AAf?$AAi?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 0081e498 libconcrtd:ResourceManager.obj + 0003:000224f8 ??_C@_1CI@DIFHLMPH@?$AAc?$AAo?$AAr?$AAe?$AAs?$AAT?$AAo?$AAT?$AAr?$AAa?$AAn?$AAs?$AAf?$AAe?$AAr@ 0081e4f8 libconcrtd:ResourceManager.obj + 0003:00022528 ??_C@_1EC@FBEFHOPB@?$AAu?$AAs?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAQ?$AAu?$AAo?$AAt?$AAa?$AA?5?$AA?$DO@ 0081e528 libconcrtd:ResourceManager.obj + 0003:00022578 ??_C@_1DC@LDCMJCBD@?$AAs?$AAa?$AAt?$AAi?$AAs?$AAf?$AAi?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 0081e578 libconcrtd:ResourceManager.obj + 0003:000225b8 ??_C@_1HA@BLDGDKMK@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081e5b8 libconcrtd:ResourceManager.obj + 0003:00022640 ??_C@_1MC@KPFMAJLG@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081e640 libconcrtd:ResourceManager.obj + 0003:00022728 ??_C@_1BC@KCEIOCCF@?$AAe?$AAx?$AAa?$AAc?$AAt?$AAF?$AAi?$AAt@ 0081e728 libconcrtd:ResourceManager.obj + 0003:00022740 ??_C@_1DA@INFPFCGI@?$AAr?$AAe?$AAm?$AAa?$AAi?$AAn?$AAi?$AAn?$AAg?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv@ 0081e740 libconcrtd:ResourceManager.obj + 0003:0002277c ??_C@_1CK@DFKMPKMO@?$AAc?$AAo?$AAr?$AAe?$AAs?$AAT?$AAr?$AAa?$AAn?$AAs?$AAf?$AAe?$AAr?$AAr?$AAe@ 0081e77c libconcrtd:ResourceManager.obj + 0003:000227b0 ??_C@_1HE@LOFIGJDJ@?$AAm?$AA_?$AAp?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?$FL@ 0081e7b0 libconcrtd:ResourceManager.obj + 0003:00022840 ??_C@_1GM@JHACNPHF@?$AAp?$AAR?$AAe?$AAc?$AAe?$AAi?$AAv?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo?$AAx?$AAy@ 0081e840 libconcrtd:ResourceManager.obj + 0003:000228c8 ??_C@_1KM@BPOANDP@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081e8c8 libconcrtd:ResourceManager.obj + 0003:00022998 ??_C@_1BBE@JFHOFJMB@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081e998 libconcrtd:ResourceManager.obj + 0003:00022ae8 ??_C@_1PG@MNCFLOGK@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081eae8 libconcrtd:ResourceManager.obj + 0003:00022c10 ??_C@_1FE@GIHDJHFF@?$AAp?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAD?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AAm@ 0081ec10 libconcrtd:ResourceManager.obj + 0003:00022c74 ??_C@_1CA@MOPJBJCN@?$AAc?$AAo?$AAr?$AAe?$AAs?$AAN?$AAe?$AAe?$AAd?$AAe?$AAd?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081ec74 libconcrtd:ResourceManager.obj + 0003:00022ca0 ??_C@_1FA@KPODGDCB@?$AAu?$AAn?$AAu?$AAs?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAs?$AAA?$AAv?$AAa?$AAi@ 0081eca0 libconcrtd:ResourceManager.obj + 0003:00022d00 ??_C@_1EI@MICAENCG@?$AAc?$AAo?$AAr?$AAe?$AAs?$AAD?$AAi?$AAs?$AAt?$AAr?$AAi?$AAb?$AAu?$AAt?$AAe@ 0081ed00 libconcrtd:ResourceManager.obj + 0003:00022d58 ??_C@_1FG@JKELJAFJ@?$AAe?$AAx?$AAc?$AAl?$AAu?$AAs?$AAi?$AAv?$AAe?$AAC?$AAo?$AAr?$AAe?$AAs?$AAA@ 0081ed58 libconcrtd:ResourceManager.obj + 0003:00022dc0 ??_C@_1DO@LDBDAKBD@?$AAc?$AAo?$AAr?$AAe?$AAs?$AAN?$AAe?$AAe?$AAd?$AAe?$AAd?$AA?5?$AA?$DO?$AA?$DN?$AA?5@ 0081edc0 libconcrtd:ResourceManager.obj + 0003:00022e0c ??_C@_1DE@MCBBGCGA@?$AAu?$AAn?$AAu?$AAs?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAs?$AAA?$AAv?$AAa?$AAi@ 0081ee0c libconcrtd:ResourceManager.obj + 0003:00022e4c ??_C@_1DA@IOFJOFLC@?$AAu?$AAs?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe?$AAs?$AAA?$AAv?$AAa?$AAi?$AAl?$AAa@ 0081ee4c libconcrtd:ResourceManager.obj + 0003:00022e88 ??_C@_1KC@DAAHIJA@?$AAm?$AA_?$AAd?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAI?$AAd?$AAl?$AAe?$AAC?$AAo@ 0081ee88 libconcrtd:ResourceManager.obj + 0003:00022f50 ??_C@_1EA@DJNFEFJH@?$AAp?$AAr?$AAe?$AAv?$AAi?$AAo?$AAu?$AAs?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AA?5@ 0081ef50 libconcrtd:ResourceManager.obj + 0003:00022f9c ??_C@_1DM@FCFFJAEB@?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAG?$AAl?$AAo?$AAb?$AAa?$AAl?$AA?5?$AA?$DO@ 0081ef9c libconcrtd:ResourceManager.obj + 0003:00022fe4 ??_C@_1DO@HGFEAHNL@?$AAm?$AA_?$AAd?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAR?$AAM?$AAW?$AAo?$AAr?$AAk@ 0081efe4 libconcrtd:ResourceManager.obj + 0003:00023030 ??_C@_1DG@CCKIKKCH@?$AAm?$AA_?$AAp?$AAP?$AAa?$AAg?$AAe?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP@ 0081f030 libconcrtd:ResourceManager.obj + 0003:00023070 ??_C@_1DI@JCCPKLOE@?$AA?$CK?$AAm?$AA_?$AAp?$AAP?$AAa?$AAg?$AAe?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl@ 0081f070 libconcrtd:ResourceManager.obj + 0003:000230b4 ??_C@_1CK@OKCPIOJB@?$AAm?$AA_?$AAs?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAs?$AA?4?$AAE?$AAm@ 0081f0b4 libconcrtd:ResourceManager.obj + 0003:000230e8 ??_C@_1CO@ICAHHBPK@?$AAm?$AA_?$AAh?$AAD?$AAy?$AAn?$AAa?$AAm?$AAi?$AAc?$AAR?$AAM?$AAE?$AAv?$AAe@ 0081f0e8 libconcrtd:ResourceManager.obj + 0003:00023120 ??_C@_1DG@KBDKHCCH@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAm@ 0081f120 libconcrtd:ResourceManager.obj + 0003:00023160 __real@3e7ad7f29abcaf48 0081f160 libconcrtd:ResourceManager.obj + 0003:0002316c ?s_maxExternalAllocators@SchedulerBase@details@Concurrency@@0HB 0081f16c libconcrtd:SchedulerBase.obj + 0003:00023170 ?s_allocatorFreePoolLimit@SchedulerBase@details@Concurrency@@0HB 0081f170 libconcrtd:SchedulerBase.obj + 0003:0002317c ??_7ScheduleGroup@Concurrency@@6B@ 0081f17c libconcrtd:SchedulerBase.obj + 0003:00023198 ??_7Scheduler@Concurrency@@6B@ 0081f198 libconcrtd:SchedulerBase.obj + 0003:000231dc ??_7_Chore@details@Concurrency@@6B@ 0081f1dc libconcrtd:SchedulerBase.obj + 0003:000231e4 ??_C@_0DP@KFMILCIN@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081f1e4 libconcrtd:SchedulerBase.obj + 0003:00023230 ??_C@_1DI@DPDJJEPO@?$AAc?$AAo?$AAm?$AAp?$AAa?$AAr?$AAa?$AAt?$AAo?$AAr?$AA?4?$AAm?$AA_?$AAs?$AAi@ 0081f230 libconcrtd:SchedulerBase.obj + 0003:00023274 ??_C@_1CG@LFGKFKE@?$AAb?$AAi?$AAt?$AAN?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?5?$AA?$DM?$AA?5?$AAm?$AA_?$AAs@ 0081f274 libconcrtd:SchedulerBase.obj + 0003:000232a4 ??_C@_1BC@OJLFMICF@?$AAv?$AAa?$AAl?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0@ 0081f2a4 libconcrtd:SchedulerBase.obj + 0003:000232c0 ??_7RealizedChore@details@Concurrency@@6B@ 0081f2c0 libconcrtd:SchedulerBase.obj + 0003:000232c8 ??_C@_1DM@DLMMAHEJ@?$AAm?$AA_?$AAt?$AAy?$AAp?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAA?$AAv?$AAa?$AAi?$AAl@ 0081f2c8 libconcrtd:SchedulerBase.obj + 0003:00023310 ??_C@_1II@IDCHKBCC@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081f310 libconcrtd:SchedulerBase.obj + 0003:000233b4 ??_C@_1CI@BMIKGCIC@?$AAr?$AAe?$AAt?$AAV?$AAa?$AAl?$AA?5?$AA?$DM?$AA?5?$AA2?$AA1?$AA4?$AA7?$AA4?$AA8@ 0081f3b4 libconcrtd:SchedulerBase.obj + 0003:000233e8 ??_7SchedulerBase@details@Concurrency@@6B@ 0081f3e8 libconcrtd:SchedulerBase.obj + 0003:00023460 ??_C@_1IC@GMKLDIMJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081f460 libconcrtd:SchedulerBase.obj + 0003:00023500 ??_C@_0EH@PCBFHHFG@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081f500 libconcrtd:SchedulerBase.obj + 0003:00023558 ??_C@_0DJ@FICHJDBF@_m_pVirtualProcessor?5?$DN?$DN?5NULL?5?$HM?$HM@ 0081f558 libconcrtd:SchedulerBase.obj + 0003:000235a0 ??_7ScheduleGroupBase@details@Concurrency@@6B@ 0081f5a0 libconcrtd:SchedulerBase.obj + 0003:000235d0 ??_C@_1CA@GCCBIKOC@?$AAm?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0@ 0081f5d0 libconcrtd:SchedulerBase.obj + 0003:000235f8 ??_C@_1IK@GPLAHFOE@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081f5f8 libconcrtd:SchedulerBase.obj + 0003:000236a0 ??_C@_1BO@BOKCFAHC@?$AAm?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081f6a0 libconcrtd:SchedulerBase.obj + 0003:000236c8 ??_7CacheLocalScheduleGroupSegment@details@Concurrency@@6B@ 0081f6c8 libconcrtd:SchedulerBase.obj + 0003:000236e0 ??_7CacheLocalScheduleGroup@details@Concurrency@@6B@ 0081f6e0 libconcrtd:SchedulerBase.obj + 0003:00023710 ??_C@_0EL@IBBKKGFM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081f710 libconcrtd:SchedulerBase.obj + 0003:00023770 ??_7FairScheduleGroupSegment@details@Concurrency@@6B@ 0081f770 libconcrtd:SchedulerBase.obj + 0003:00023788 ??_7FairScheduleGroup@details@Concurrency@@6B@ 0081f788 libconcrtd:SchedulerBase.obj + 0003:000237b8 ??_C@_1DM@OIODBIJB@?$AAp?$AAG?$AAr?$AAo?$AAu?$AAp?$AAP?$AAl?$AAa?$AAc?$AAe?$AAm?$AAe?$AAn?$AAt@ 0081f7b8 libconcrtd:SchedulerBase.obj + 0003:00023800 ??_C@_1IK@DOOEBOKP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081f800 libconcrtd:SchedulerBase.obj + 0003:000238a8 ??_C@_0EF@NGENECAM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081f8a8 libconcrtd:SchedulerBase.obj + 0003:00023900 ??_C@_1IO@DAHCLFDO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081f900 libconcrtd:SchedulerBase.obj + 0003:000239ac ??_C@_1CE@PEFKHGHH@?$AAm?$AA_?$AAp?$AAA?$AAr?$AAr?$AAa?$AAy?$AAH?$AAe?$AAa?$AAd?$AA?5?$AA?$CB?$AA?$DN@ 0081f9ac libconcrtd:SchedulerBase.obj + 0003:000239d8 ??_C@_1HM@PHFLIKEP@?$AAi?$AAn?$AAs?$AAe?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAt?$AAr?$AAu@ 0081f9d8 libconcrtd:SchedulerBase.obj + 0003:00023a6c ??_C@_1BG@HMJJDGFN@?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0@ 0081fa6c libconcrtd:SchedulerBase.obj + 0003:00023a88 ??_C@_1BK@FGMEFJOD@?$AAt?$AAh?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?5?$AA0@ 0081fa88 libconcrtd:SchedulerBase.obj + 0003:00023aa8 ??_C@_1EK@OHBLIOIL@?$AAh?$AAa?$AAs?$AAh?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5@ 0081faa8 libconcrtd:SchedulerBase.obj + 0003:00023b00 ??_C@_1BG@BNPKEOLA@?$AAp?$AAR?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 0081fb00 libconcrtd:SchedulerBase.obj + 0003:00023b20 ??_C@_1IG@BFLNOMPO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0081fb20 libconcrtd:SchedulerBase.obj + 0003:00023bc0 ??_C@_1DO@PHLDPBEP@?$AAi?$AAd?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAi?$AAd?$AAx@ 0081fbc0 libconcrtd:SchedulerBase.obj + 0003:00023c0c ??_C@_1CE@MMEHAFHD@?$AAm?$AA_?$AAr?$AAi?$AAn?$AAg?$AAs?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?5?$AA?$CB?$AA?$DN@ 0081fc0c libconcrtd:SchedulerBase.obj + 0003:00023c38 ??_C@_1CE@OPGNEPLE@?$AAp?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAR?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN@ 0081fc38 libconcrtd:SchedulerBase.obj + 0003:00023c68 ??_C@_1EA@MPCDOEC@?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAO?$AAN?$AAE?$AAS?$AAH?$AAO?$AAT?$AA_@ 0081fc68 libconcrtd:SchedulerBase.obj + 0003:00023cb8 ??_C@_0ED@OLBAAGKC@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0081fcb8 libconcrtd:SchedulerBase.obj + 0003:00023d08 ??_C@_1GC@ELLKJLJP@?$AAr?$AAi?$AAd?$AAC?$AAo?$AAu?$AAn?$AAt?$AAe?$AAr?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?3@ 0081fd08 libconcrtd:SchedulerBase.obj + 0003:00023d80 ??_C@_1IK@MKMFFJIE@?$AA?$CI?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AAB?$AAa?$AAs?$AAe?$AA?$CK?$AA?$CJ?$AA?5@ 0081fd80 libconcrtd:SchedulerBase.obj + 0003:00023e28 ??_C@_0BH@OIJEHOPC@IsOneShotInitialized?$CI?$CJ@ 0081fe28 libconcrtd:SchedulerBase.obj + 0003:00023e44 ??_C@_1DC@IIDPGOBN@?$AAs?$AA_?$AAp?$AAD?$AAe?$AAf?$AAa?$AAu?$AAl?$AAt?$AAS?$AAc?$AAh?$AAe?$AAd@ 0081fe44 libconcrtd:SchedulerBase.obj + 0003:00023e80 ??_C@_1BO@HNOPMFH@?$AAp?$AAS?$AAk?$AAi?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 0081fe80 libconcrtd:SchedulerBase.obj + 0003:00023ea4 ??_C@_1CM@MHOODKKB@?$AAm?$AA_?$AAn?$AAo?$AAd?$AAe?$AAs?$AA?$FL?$AAi?$AA?$FN?$AA?9?$AA?$DO?$AAm?$AA_?$AAi@ 0081fea4 libconcrtd:SchedulerBase.obj + 0003:00023ed8 ??_C@_1GG@OMNMPEPA@?$AAm?$AA_?$AAp?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AAD?$AAe?$AAf?$AAe?$AAr?$AAr@ 0081fed8 libconcrtd:SchedulerBase.obj + 0003:00023f54 ??_C@_1DK@NFIKAEBB@?$AAm?$AA_?$AAp?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AAD?$AAe?$AAf?$AAe?$AAr?$AAr@ 0081ff54 libconcrtd:SchedulerBase.obj + 0003:00023f9c ??_C@_0BB@DCHEAJGK@pContext?5?$CB?$DN?5NULL@ 0081ff9c libconcrtd:SchedulerBase.obj + 0003:00023fb0 ??_C@_0BD@OJHLFFOG@pContext?9?$DOIsIdle?$CI?$CJ@ 0081ffb0 libconcrtd:SchedulerBase.obj + 0003:00023fc8 ??_C@_0BO@BKECCONO@fUnbind?5?$HM?$HM?5pContext?9?$DOIsIdle?$CI?$CJ@ 0081ffc8 libconcrtd:SchedulerBase.obj + 0003:00023ff0 ??_C@_1EE@CDJEELCF@?$AAm?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAC?$AAo?$AAn?$AAt?$AAe@ 0081fff0 libconcrtd:SchedulerBase.obj + 0003:00024044 ??_C@_0M@IAPOLKMH@eventObject@ 00820044 libconcrtd:SchedulerBase.obj + 0003:00024054 ??_C@_1BM@DHKIPEIM@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00820054 libconcrtd:SchedulerBase.obj + 0003:00024078 ??_C@_1BO@BEAODNNA@?$AAe?$AAx?$AAp?$AAl?$AAi?$AAc?$AAi?$AAt?$AAA?$AAt?$AAt?$AAa?$AAc?$AAh@ 00820078 libconcrtd:SchedulerBase.obj + 0003:0002409c ??_C@_1BO@HBAPCCO@?$AAe?$AAx?$AAp?$AAl?$AAi?$AAc?$AAi?$AAt?$AAD?$AAe?$AAt?$AAa?$AAc?$AAh@ 0082009c libconcrtd:SchedulerBase.obj + 0003:000240c0 ??_C@_1DA@NFMGNHNO@?$AAp?$AAG?$AAr?$AAo?$AAu?$AAp?$AA?9?$AA?$DO?$AAm?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo@ 008200c0 libconcrtd:SchedulerBase.obj + 0003:00024100 ??_C@_1EO@ODGOMOII@?$AAp?$AAG?$AAr?$AAo?$AAu?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5@ 00820100 libconcrtd:SchedulerBase.obj + 0003:00024160 ??_C@_1BI@FOMBMHEB@?$AAp?$AAG?$AAr?$AAo?$AAu?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00820160 libconcrtd:SchedulerBase.obj + 0003:00024180 ??_C@_1EG@KFACNCMO@?$AAm?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAC?$AAo?$AAn?$AAt?$AAe@ 00820180 libconcrtd:SchedulerBase.obj + 0003:000241d4 ??_C@_1DG@MKMHPBKF@?$AA?$CI?$AAo?$AAl?$AAd?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA0@ 008201d4 libconcrtd:SchedulerBase.obj + 0003:00024218 ??_C@_1BGC@PEHKMMID@?$AA?$CI?$AA?$CI?$AAx?$AAc?$AAh?$AAg?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA1@ 00820218 libconcrtd:SchedulerBase.obj + 0003:000243c0 ??_C@_1FA@KHPENPIJ@?$AA?$CI?$AAm?$AA_?$AAv?$AAp?$AAr?$AAo?$AAc?$AAS?$AAh?$AAu?$AAt?$AAd?$AAo?$AAw@ 008203c0 libconcrtd:SchedulerBase.obj + 0003:00024420 ??_C@_1FA@GOABENKI@?$AA?$CI?$AAm?$AA_?$AAv?$AAp?$AAr?$AAo?$AAc?$AAS?$AAh?$AAu?$AAt?$AAd?$AAo?$AAw@ 00820420 libconcrtd:SchedulerBase.obj + 0003:00024480 ??_C@_1DO@DOAMMING@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe@ 00820480 libconcrtd:SchedulerBase.obj + 0003:000244cc ??_C@_1DG@HPFCKAOC@?$AA?$CI?$AAo?$AAl?$AAd?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA4?$AA0?$AA0@ 008204cc libconcrtd:SchedulerBase.obj + 0003:0002450c ??_C@_1DG@PGBAOKNC@?$AA?$CI?$AAo?$AAl?$AAd?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA2?$AA0?$AA0@ 0082050c libconcrtd:SchedulerBase.obj + 0003:00024550 ??_C@_1FA@FDJDCMMO@?$AA?$CI?$AAm?$AA_?$AAv?$AAp?$AAr?$AAo?$AAc?$AAS?$AAh?$AAu?$AAt?$AAd?$AAo?$AAw@ 00820550 libconcrtd:SchedulerBase.obj + 0003:000245b0 ??_C@_1IO@INPHKJMJ@?$AA?$CI?$AAm?$AA_?$AAa?$AAc?$AAt?$AAi?$AAv?$AAe?$AAV?$AAP?$AAr?$AAo?$AAc?$AAC@ 008205b0 libconcrtd:SchedulerBase.obj + 0003:0002465c ??_C@_1CE@HGOKDGPA@?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA0?$AA0?$AA0?$AA0@ 0082065c libconcrtd:SchedulerBase.obj + 0003:00024688 ??_C@_1FA@LGMLPEBP@?$AA?$CI?$AAm?$AA_?$AAv?$AAp?$AAr?$AAo?$AAc?$AAS?$AAh?$AAu?$AAt?$AAd?$AAo?$AAw@ 00820688 libconcrtd:SchedulerBase.obj + 0003:000246e8 ??_C@_1DA@IAGJKFDN@?$AA?$CI?$AAv?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA0?$AA0?$AA0?$AA0@ 008206e8 libconcrtd:SchedulerBase.obj + 0003:00024724 ??_C@_1DG@ILDFFDKF@?$AA?$CI?$AAo?$AAl?$AAd?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA0@ 00820724 libconcrtd:SchedulerBase.obj + 0003:00024764 ??_C@_1DG@ECMAMBIE@?$AA?$CI?$AAo?$AAl?$AAd?$AAV?$AAa?$AAl?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA4?$AA0?$AA0@ 00820764 libconcrtd:SchedulerBase.obj + 0003:000247a4 ??_C@_0BI@PMOAFEOC@ppVirtualProcessorRoots@ 008207a4 libconcrtd:SchedulerBase.obj + 0003:000247c0 ??_C@_1KI@PILEHEFP@?$AAn?$AAo?$AAd?$AAe?$AAI?$AAd?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5@ 008207c0 libconcrtd:SchedulerBase.obj + 0003:00024890 ??_C@_1LA@NLMOIPCG@?$AAm?$AA_?$AAp?$AAo?$AAl?$AAi?$AAc?$AAy?$AA?4?$AAG?$AAe?$AAt?$AAP?$AAo?$AAl@ 00820890 libconcrtd:SchedulerBase.obj + 0003:00024968 ??_C@_1HO@IICJGFIB@?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs@ 00820968 libconcrtd:SchedulerBase.obj + 0003:00024a00 ??_C@_1GE@JMJAICFN@?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs@ 00820a00 libconcrtd:SchedulerBase.obj + 0003:00024a78 ??_C@_1JG@CCPIOPED@?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs@ 00820a78 libconcrtd:SchedulerBase.obj + 0003:00024b2c ??_C@_1CA@NBIOCNCP@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAo?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00820b2c libconcrtd:SchedulerBase.obj + 0003:00024b54 ??_C@_1BI@IGAEDECA@?$AAr?$AAe?$AAt?$AAV?$AAa?$AAl?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0@ 00820b54 libconcrtd:SchedulerBase.obj + 0003:00024b70 ??_C@_1CG@FOIIHEBC@?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AAV?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$CB@ 00820b70 libconcrtd:SchedulerBase.obj + 0003:00024ba0 ??_C@_1FG@GBHEINDA@?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AAV?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AA?$DN@ 00820ba0 libconcrtd:SchedulerBase.obj + 0003:00024c08 ??_C@_1GK@LEDOAMKC@?$AAm?$AA_?$AAs?$AAa?$AAf?$AAe?$AAP?$AAo?$AAi?$AAn?$AAt?$AAP?$AAe?$AAn?$AAd@ 00820c08 libconcrtd:SchedulerBase.obj + 0003:00024c88 ??_C@_1BO@DHHKEHFG@?$AAp?$AAH?$AAa?$AAs?$AAh?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00820c88 libconcrtd:SchedulerBase.obj + 0003:00024cb0 ??_C@_1HC@IEAPFHOB@?$AAp?$AAE?$AAn?$AAt?$AAr?$AAy?$AA?9?$AA?$DO?$AAm?$AA_?$AAb?$AAo?$AAo?$AAs?$AAt@ 00820cb0 libconcrtd:SchedulerBase.obj + 0003:00024d38 ??_C@_1CO@HMDDABFP@?$AAm?$AA_?$AAl?$AAo?$AAc?$AAk?$AA?4?$AA_?$AAH?$AAa?$AAs?$AAW?$AAr?$AAi?$AAt@ 00820d38 libconcrtd:SchedulerBase.obj + 0003:00024d70 ??_C@_1BI@GAMKBHOF@?$AAm?$AA_?$AAp?$AAT?$AAo?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 00820d70 libconcrtd:SchedulerBase.obj + 0003:00024d90 ??_C@_1GC@LJFMHEGO@?$AAm?$AA_?$AAd?$AAe?$AAl?$AAe?$AAt?$AAi?$AAo?$AAn?$AAT?$AAh?$AAr?$AAe?$AAs@ 00820d90 libconcrtd:SchedulerBase.obj + 0003:00024e08 ??_C@_1CI@OGGIBFFK@?$AAm?$AA_?$AAd?$AAe?$AAl?$AAe?$AAt?$AAi?$AAo?$AAn?$AAL?$AAi?$AAs?$AAt?$AA?5@ 00820e08 libconcrtd:SchedulerBase.obj + 0003:00024e38 ??_C@_0BF@PHKBGNNA@CreateRemoteThreadEx@ 00820e38 libconcrtd:UMSWrapper.obj + 0003:00024e54 ??_C@_0BI@OFOMFECC@CreateUmsCompletionList@ 00820e54 libconcrtd:UMSWrapper.obj + 0003:00024e70 ??_C@_0BH@NBGNADAH@CreateUmsThreadContext@ 00820e70 libconcrtd:UMSWrapper.obj + 0003:00024e8c ??_C@_0BO@JONJJOMF@DeleteProcThreadAttributeList@ 00820e8c libconcrtd:UMSWrapper.obj + 0003:00024eb0 ??_C@_0BI@BPKNDLMM@DeleteUmsCompletionList@ 00820eb0 libconcrtd:UMSWrapper.obj + 0003:00024ecc ??_C@_0BH@JPDPIOBJ@DeleteUmsThreadContext@ 00820ecc libconcrtd:UMSWrapper.obj + 0003:00024ee8 ??_C@_0BO@GGFJEFKK@DequeueUmsCompletionListItems@ 00820ee8 libconcrtd:UMSWrapper.obj + 0003:00024f0c ??_C@_0BH@BLPFNIKG@EnterUmsSchedulingMode@ 00820f0c libconcrtd:UMSWrapper.obj + 0003:00024f28 ??_C@_0BB@DHABPDKF@ExecuteUmsThread@ 00820f28 libconcrtd:UMSWrapper.obj + 0003:00024f3c ??_C@_0BE@FLBMLIK@GetCurrentUmsThread@ 00820f3c libconcrtd:UMSWrapper.obj + 0003:00024f54 ??_C@_0BD@FNFEEGCI@GetNextUmsListItem@ 00820f54 libconcrtd:UMSWrapper.obj + 0003:00024f6c ??_C@_0BK@MGNBLFMB@GetUmsCompletionListEvent@ 00820f6c libconcrtd:UMSWrapper.obj + 0003:00024f8c ??_C@_0CC@PLANOPMM@InitializeProcThreadAttributeLi@ 00820f8c libconcrtd:UMSWrapper.obj + 0003:00024fb4 ??_C@_0BK@DAKPFGE@QueryUmsThreadInformation@ 00820fb4 libconcrtd:UMSWrapper.obj + 0003:00024fd4 ??_C@_0BI@DPBBCPDB@SetUmsThreadInformation@ 00820fd4 libconcrtd:UMSWrapper.obj + 0003:00024ff0 ??_C@_0P@ILGNBNP@UmsThreadYield@ 00820ff0 libconcrtd:UMSWrapper.obj + 0003:00025004 ??_C@_0BK@LCOMJCNI@UpdateProcThreadAttribute@ 00821004 libconcrtd:UMSWrapper.obj + 0003:00025024 ??_C@_1BC@CNPLJCBN@?$AAp?$AAf?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00821024 libconcrtd:UMSWrapper.obj + 0003:00025040 ??_C@_1IA@KNIFCKAG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00821040 libconcrtd:UMSWrapper.obj + 0003:000250e0 ??_7IExecutionContext@Concurrency@@6B@ 008210e0 libconcrtd:UMSSchedulingContext.obj + 0003:000250f8 ??_C@_0EE@MIKEAGJ@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008210f8 libconcrtd:UMSSchedulingContext.obj + 0003:0002514c ??_C@_0BO@OIIBNGJB@m_type?5?$DN?$DN?5WorkItemTypeContext@ 0082114c libconcrtd:UMSSchedulingContext.obj + 0003:00025170 ??_C@_0BH@MFNLHCGI@m_pThreadProxy?5?$CB?$DN?5NULL@ 00821170 libconcrtd:UMSSchedulingContext.obj + 0003:00025190 ??_7UMSSchedulingContext@details@Concurrency@@6B@ 00821190 libconcrtd:UMSSchedulingContext.obj + 0003:000251a8 ??_C@_0N@FACDCNDA@pThreadProxy@ 008211a8 libconcrtd:UMSSchedulingContext.obj + 0003:000251b8 ??_C@_0EK@PCLAICII@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008211b8 libconcrtd:UMSSchedulingContext.obj + 0003:00025210 ??_C@_0EA@PIDANCMF@?$CIpPreviousContext?9?$DOGetDebugBits@ 00821210 libconcrtd:UMSSchedulingContext.obj + 0003:0002525c ??_C@_0CJ@GCIFLAKP@pPreviousContext?9?$DOm_pThreadProx@ 0082125c libconcrtd:UMSSchedulingContext.obj + 0003:00025290 ??_C@_0EE@CCCPPLPP@pPreviousContext?9?$DOUNSAFE_Curren@ 00821290 libconcrtd:UMSSchedulingContext.obj + 0003:000252e4 ??_C@_0BP@PBCBLEOL@?$CBpPreviousContext?9?$DOIsBlocked?$CI?$CJ@ 008212e4 libconcrtd:UMSSchedulingContext.obj + 0003:00025310 ??_C@_0FA@LALJDDI@?$CIpPreviousContext?9?$DOGetDebugBits@ 00821310 libconcrtd:UMSSchedulingContext.obj + 0003:00025370 ??_C@_0CC@GFHNIHNK@type?5?$CB?$DN?5InsideHyperCriticalRegi@ 00821370 libconcrtd:UMSSchedulingContext.obj + 0003:00025398 ??_C@_0ED@LPGGCKBO@pPreviousContext?9?$DOGetCriticalRe@ 00821398 libconcrtd:UMSSchedulingContext.obj + 0003:000253e8 ??_C@_0CK@DAFMONLC@m_pBoundVProc?9?$DOm_pCriticalConte@ 008213e8 libconcrtd:UMSSchedulingContext.obj + 0003:0002541c ??_C@_0DC@DLEBGEFK@?$CBfOriginallyAvailable?5?$HM?$HM?5pCriti@ 0082141c libconcrtd:UMSSchedulingContext.obj + 0003:00025458 ??_C@_0CD@OMBGBEFH@?$CBm_pBoundVProc?9?$DOm_fCriticalIsRe@ 00821458 libconcrtd:UMSSchedulingContext.obj + 0003:00025484 ??_C@_0BO@GMFBLBAC@?$CBm_pBoundVProc?9?$DOIsAvailable?$CI?$CJ@ 00821484 libconcrtd:UMSSchedulingContext.obj + 0003:000254ac ??_7IThreadProxy@Concurrency@@6B@ 008214ac libconcrtd:UMSThreadProxy.obj + 0003:000254c4 ??_7IUMSThreadProxy@Concurrency@@6B@ 008214c4 libconcrtd:UMSThreadProxy.obj + 0003:000254f4 ??_7IUMSUnblockNotification@Concurrency@@6B@ 008214f4 libconcrtd:UMSThreadProxy.obj + 0003:00025500 ??_C@_0BK@KHDLBAFP@m_criticalRegionCount?5?$DO?50@ 00821500 libconcrtd:UMSThreadProxy.obj + 0003:00025520 ??_C@_0BP@KFKOBDFI@m_hyperCriticalRegionCount?5?$DO?50@ 00821520 libconcrtd:UMSThreadProxy.obj + 0003:0002554c ??_7UMSBaseObject@details@Concurrency@@6B@ 0082154c libconcrtd:UMSThreadProxy.obj + 0003:0002555c ??_7UMSThreadProxy@details@Concurrency@@6BUMSBaseObject@12@@ 0082155c libconcrtd:UMSThreadProxy.obj + 0003:00025570 ??_7UMSThreadProxy@details@Concurrency@@6BIUMSThreadProxy@2@@ 00821570 libconcrtd:UMSThreadProxy.obj + 0003:000255a0 ??_7UMSThreadProxy@details@Concurrency@@6BIUMSUnblockNotification@2@@ 008215a0 libconcrtd:UMSThreadProxy.obj + 0003:000255b0 ??_C@_0EC@JBCHBBLN@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008215b0 libconcrtd:UMSThreadProxy.obj + 0003:00025600 ??_C@_0CF@CMDNGDOH@UMSThreadProxy?3?3GetCurrent?$CI?$CJ?5?$DN?$DN@ 00821600 libconcrtd:UMSThreadProxy.obj + 0003:0002562c ??_C@_0BA@FLMGJFBL@m_pRoot?5?$CB?$DN?5NULL@ 0082162c libconcrtd:UMSThreadProxy.obj + 0003:00025640 ??_C@_1CO@HEGGIGOB@?$AAG?$AAe?$AAt?$AAL?$AAa?$AAs?$AAt?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CI?$AA?$CJ?$AA?5@ 00821640 libconcrtd:UMSThreadProxy.obj + 0003:00025678 ??_C@_1II@DLMKCDFF@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00821678 libconcrtd:UMSThreadProxy.obj + 0003:00025720 ??_C@_0EE@JHBEPHIH@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00821720 libconcrtd:UMSThreadProxy.obj + 0003:00025774 ??_C@_1BM@EMPCBBNC@?$AAm?$AA_?$AAh?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00821774 libconcrtd:UMSThreadProxy.obj + 0003:00025798 ??_C@_1DA@BDEENCBC@?$AAm?$AA_?$AAh?$AAP?$AAh?$AAy?$AAs?$AAi?$AAc?$AAa?$AAl?$AAC?$AAo?$AAn?$AAt@ 00821798 libconcrtd:UMSThreadProxy.obj + 0003:000257d4 ??_C@_1CG@HCNJBFKP@?$AAm?$AA_?$AAp?$AAU?$AAM?$AAS?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB@ 008217d4 libconcrtd:UMSThreadProxy.obj + 0003:00025808 ??_C@_0GG@JPPLLLJC@pThreadProxy?9?$DOGetCriticalRegion@ 00821808 libconcrtd:UMSThreadProxy.obj + 0003:00025884 ??_C@_1DE@ODNKHOPH@?$AAp?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAm@ 00821884 libconcrtd:UMSThreadProxy.obj + 0003:000258c4 ??_C@_1DK@FPDPMLPO@?$AAr?$AAe?$AAt?$AAu?$AAr?$AAn?$AAL?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DN?$AA?$DN@ 008218c4 libconcrtd:UMSThreadProxy.obj + 0003:0002590c ??_C@_0BO@INMGKHCF@m_pTransmogrification?5?$DN?$DN?5NULL@ 0082190c libconcrtd:UMSThreadProxy.obj + 0003:00025930 ??_C@_0CP@INFNHJJD@?$CIint?$CJswitchState?5?$DO?$DN?50?5?$CG?$CG?5?$CIint?$CJs@ 00821930 libconcrtd:UMSThreadProxy.obj + 0003:00025968 ??_C@_0BM@KNFFHNPB@m_yieldAction?5?$CB?$DN?5ActionNone@ 00821968 libconcrtd:UMSThreadProxy.obj + 0003:00025990 ??_C@_0FC@CGDDJHHA@m_pRoot?5?$CB?$DN?5NULL?5?$CG?$CG?5m_pRoot?5?$DN?$DN?5m@ 00821990 libconcrtd:UMSThreadProxy.obj + 0003:000259f4 ??_C@_0CP@JOFLDPOI@m_hyperCriticalRegionCount?5?$DN?$DN?50@ 008219f4 libconcrtd:UMSThreadProxy.obj + 0003:00025a2c ??_C@_0BI@EMBEECGG@switchState?5?$DN?$DN?5Blocking@ 00821a2c libconcrtd:UMSThreadProxy.obj + 0003:00025a48 ??_C@_0DB@LMDFMBBJ@GetCriticalRegionType?$CI?$CJ?5?$CB?$DN?5Outs@ 00821a48 libconcrtd:UMSThreadProxy.obj + 0003:00025a84 ??_C@_0CJ@GEEJDKLD@m_activationCause?5?$CB?$DN?5Activation@ 00821a84 libconcrtd:UMSThreadProxy.obj + 0003:00025ab8 ??_C@_0P@GDJNMJMI@?$CBm_fIdlePooled@ 00821ab8 libconcrtd:UMSThreadProxy.obj + 0003:00025acc ??_C@_0BD@MCNDDNMG@m_pFactory?5?$CB?$DN?5NULL@ 00821acc libconcrtd:UMSThreadProxy.obj + 0003:00025ae4 ??_C@_0BL@IDGBDMJ@pTransmogrificator?5?$CB?$DN?5NULL@ 00821ae4 libconcrtd:UMSThreadProxy.obj + 0003:00025b08 ??_7Context@Concurrency@@6B@ 00821b08 libconcrtd:ContextBase.obj + 0003:00025b2c ??_7ContextBase@details@Concurrency@@6B@ 00821b2c libconcrtd:ContextBase.obj + 0003:00025b88 ??_C@_0DP@KEIFPKIO@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00821b88 libconcrtd:ContextBase.obj + 0003:00025bd4 ??_C@_0CC@DPOLDNHN@Context?3?3CurrentContext?$CI?$CJ?5?$DN?$DN?5th@ 00821bd4 libconcrtd:ContextBase.obj + 0003:00025c00 ??_C@_1HO@EMPODHJI@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00821c00 libconcrtd:ContextBase.obj + 0003:00025c98 ??_C@_1BM@JLCCNOPM@?$AAp?$AAN?$AAe?$AAw?$AAN?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 00821c98 libconcrtd:ContextBase.obj + 0003:00025cbc ??_C@_1CE@JBKENDAD@?$AAm?$AA_?$AAb?$AAe?$AAa?$AAc?$AAo?$AAn?$AAD?$AAe?$AAp?$AAt?$AAh?$AA?5?$AA?$DO@ 00821cbc libconcrtd:ContextBase.obj + 0003:00025ce8 ??_C@_1BK@NBINLAEN@?$AAp?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00821ce8 libconcrtd:ContextBase.obj + 0003:00025d08 ??_C@_1HG@CFKKHHBJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00821d08 libconcrtd:ContextBase.obj + 0003:00025d98 ??_C@_0EF@PLOOCGBH@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00821d98 libconcrtd:ContextBase.obj + 0003:00025dec ??_C@_0BA@GNDEGJGO@count?5?$DM?5newsize@ 00821dec libconcrtd:ContextBase.obj + 0003:00025e00 ??_C@_0BC@EFPMLNL@pNewTasks?5?$CB?$DN?5NULL@ 00821e00 libconcrtd:ContextBase.obj + 0003:00025e18 ??_C@_0BL@BHEFOBAB@m_detachmentTail?5?$DO?$DN?5m_head@ 00821e18 libconcrtd:ContextBase.obj + 0003:00025e38 ??_C@_0P@NCHEDLBF@count?5?$DM?5m_mask@ 00821e38 libconcrtd:ContextBase.obj + 0003:00025e50 ??_C@_0EP@NKDNNHCA@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00821e50 libconcrtd:ContextBase.obj + 0003:00025eb0 ??_C@_1GM@LMPAMKKF@?$AAp?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAe?$AAd?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc@ 00821eb0 libconcrtd:ContextBase.obj + 0003:00025f38 ??_C@_1IC@JBPCEKNN@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00821f38 libconcrtd:ContextBase.obj + 0003:00025fd4 ??_C@_1CK@GIFOLDBL@?$AAp?$AAR?$AAo?$AAo?$AAt?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc?$AAt?$AAi?$AAo?$AAn@ 00821fd4 libconcrtd:ContextBase.obj + 0003:00026008 ??_C@_1NK@ECFLOACE@?$AAp?$AAR?$AAo?$AAo?$AAt?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc?$AAt?$AAi?$AAo?$AAn@ 00822008 libconcrtd:ContextBase.obj + 0003:00026110 ??_C@_1IM@NDHLPHGO@?$AAp?$AAR?$AAo?$AAo?$AAt?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc?$AAt?$AAi?$AAo?$AAn@ 00822110 libconcrtd:ContextBase.obj + 0003:000261b8 ??_C@_1HE@ELLCNDJM@?$AAp?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc?$AAt?$AAi?$AAo?$AAn?$AAB?$AAa?$AAs?$AAe@ 008221b8 libconcrtd:ContextBase.obj + 0003:00026244 ??_C@_1CE@MFPOBKIK@?$AAm?$AA_?$AAp?$AAW?$AAo?$AAr?$AAk?$AAQ?$AAu?$AAe?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN@ 00822244 libconcrtd:ContextBase.obj + 0003:00026270 ??_C@_0EB@FEKHJMOF@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00822270 libconcrtd:ContextBase.obj + 0003:000262c0 ??_C@_1HM@LCNEDJGO@?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?3?$AA?3?$AA_?$AA_?$AAT?$AAl?$AAs@ 008222c0 libconcrtd:ContextBase.obj + 0003:00026358 ??_C@_1HM@IPEGFIAI@?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?3?$AA?3?$AA_?$AA_?$AAT?$AAl?$AAs@ 00822358 libconcrtd:ContextBase.obj + 0003:000263f0 ??_C@_1FI@PHNNBKGB@?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAB?$AAa?$AAs?$AAe?$AA?3?$AA?3@ 008223f0 libconcrtd:ContextBase.obj + 0003:00026460 ??_C@_1EM@LMOLIJPB@?$AAm?$AA_?$AAp?$AAG?$AAo?$AAv?$AAe?$AAr?$AAn?$AAi?$AAn?$AAg?$AAT?$AAo?$AAk@ 00822460 libconcrtd:ContextBase.obj + 0003:000264c0 ??_C@_1IE@JGDPADJP@?$AAm?$AA_?$AAp?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAn?$AAg?$AAC?$AAo?$AAl@ 008224c0 libconcrtd:ContextBase.obj + 0003:00026560 ??_C@_1JE@BALHIPJJ@?$AAp?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?9?$AA?$DO?$AA_?$AAG@ 00822560 libconcrtd:ContextBase.obj + 0003:00026614 ??_C@_1DE@KMJDCFIF@?$AAm?$AA_?$AAi?$AAn?$AAl?$AAi?$AAn?$AAe?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAl@ 00822614 libconcrtd:ContextBase.obj + 0003:00026654 ??_C@_1DI@ODOPICBE@?$AAm?$AA_?$AAp?$AAG?$AAo?$AAv?$AAe?$AAr?$AAn?$AAi?$AAn?$AAg?$AAT?$AAo?$AAk@ 00822654 libconcrtd:ContextBase.obj + 0003:00026698 ??_C@_1MC@CECNOHJK@?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAB?$AAa?$AAs?$AAe?$AA?3?$AA?3@ 00822698 libconcrtd:ContextBase.obj + 0003:00026780 ??_C@_1OC@ODPONFNA@?$AAm?$AA_?$AAp?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAn?$AAg?$AAC?$AAo?$AAl@ 00822780 libconcrtd:ContextBase.obj + 0003:00026890 ??_C@_1CK@OBLENABC@?$AAH?$AAa?$AAs?$AAA?$AAn?$AAy?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAl?$AAa?$AAt@ 00822890 libconcrtd:ContextBase.obj + 0003:000268c8 ??_C@_1FO@DGGHNLOD@?$AAp?$AAS?$AAt?$AAa?$AAr?$AAt?$AAi?$AAn?$AAg?$AAC?$AAo?$AAl?$AAl?$AAe?$AAc@ 008228c8 libconcrtd:ContextBase.obj + 0003:00026938 ??_C@_1DE@NMAJHCK@?$AAp?$AAG?$AAo?$AAv?$AAe?$AAr?$AAn?$AAi?$AAn?$AAg?$AAT?$AAo?$AAk?$AAe?$AAn@ 00822938 libconcrtd:ContextBase.obj + 0003:00026978 ??_C@_1EA@IHPEJDIL@?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAx?$AA?5?$AA?$CB?$AA?$DN?$AA?5@ 00822978 libconcrtd:ContextBase.obj + 0003:000269c4 ??_C@_1O@KGJDCDGG@?$AAx?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 008229c4 libconcrtd:ContextBase.obj + 0003:000269d8 ??_C@_1EE@CIMHFEJH@?$AAx?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CK?$AAx?$AA?5?$AA?$DO?$AA?$DN@ 008229d8 libconcrtd:ContextBase.obj + 0003:00026a2c ??_C@_0DI@INAOOFJK@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00822a2c libconcrtd:TaskCollection.obj + 0003:00026a70 ??_C@_1HA@MEDFJIEK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00822a70 libconcrtd:TaskCollection.obj + 0003:00026afc ??_7_Interruption_exception@details@Concurrency@@6B@ 00822afc libconcrtd:TaskCollection.obj + 0003:00026b0c ??_7_RefCounterBase@details@Concurrency@@6B@ 00822b0c libconcrtd:TaskCollection.obj + 0003:00026b18 ??_C@_1CC@FIFNJCOI@?$AA_?$AAM?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 00822b18 libconcrtd:TaskCollection.obj + 0003:00026b40 ??_C@_1BM@LPMPGBJF@?$AA_?$AAR?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA1@ 00822b40 libconcrtd:TaskCollection.obj + 0003:00026b64 ??_C@_1BO@OJJMJNDL@?$AA_?$AAR?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0@ 00822b64 libconcrtd:TaskCollection.obj + 0003:00026b88 ??_C@_1CA@NFMJLAOC@?$AA_?$AAM?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0@ 00822b88 libconcrtd:TaskCollection.obj + 0003:00026bb0 ??_C@_1EG@BGDKNLOP@?$AA_?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?$CI?$AA?$CJ?$AA?5@ 00822bb0 libconcrtd:TaskCollection.obj + 0003:00026c08 ??_7_AsyncTaskCollection@details@Concurrency@@6B@ 00822c08 libconcrtd:TaskCollection.obj + 0003:00026c18 ??_7_RefCounter@details@Concurrency@@6B@ 00822c18 libconcrtd:TaskCollection.obj + 0003:00026c28 ??_C@_1II@LGLMHJNA@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00822c28 libconcrtd:TaskCollection.obj + 0003:00026cd0 ??_7_CancellationTokenRegistration@details@Concurrency@@6B@ 00822cd0 libconcrtd:TaskCollection.obj + 0003:00026ce0 ??_C@_1DC@PENDFFBE@?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAS?$AAT@ 00822ce0 libconcrtd:TaskCollection.obj + 0003:00026d1c ??_C@_1CE@EMAFIFOG@?$AA?$CI?$AA_?$AAT?$AAi?$AAd?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AA3?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN@ 00822d1c libconcrtd:TaskCollection.obj + 0003:00026d4c ??_7CancellationTokenRegistration_TaskProc@details@Concurrency@@6B@ 00822d4c libconcrtd:TaskCollection.obj + 0003:00026d5c ??_C@_1DI@EACGMCMO@?$AA_?$AAP?$AAR?$AAe?$AAg?$AAi?$AAs?$AAt?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?9@ 00822d5c libconcrtd:TaskCollection.obj + 0003:00026da0 ??_C@_1BA@ILKEJOIJ@?$AAv?$AAa?$AAl?$AA?5?$AA?$DO?$AA?5?$AA0@ 00822da0 libconcrtd:TaskCollection.obj + 0003:00026db4 ??_C@_1DG@KJCHNCBH@?$AAm?$AA_?$AAp?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl@ 00822db4 libconcrtd:TaskCollection.obj + 0003:00026df8 ??_C@_0EE@IFMOHPAC@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00822df8 libconcrtd:TaskCollection.obj + 0003:00026e4c ??_C@_1DC@MPNOMPPI@?$AAm?$AA_?$AAs?$AAt?$AAa?$AAc?$AAk?$AAP?$AAt?$AAr?$AA?5?$AA?$DM?$AA?5?$AAm?$AA_@ 00822e4c libconcrtd:TaskCollection.obj + 0003:00026e88 ??_C@_1II@LAGJPJHA@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00822e88 libconcrtd:TaskCollection.obj + 0003:00026f2c ??_C@_1BO@EFKCLAMO@?$AAm?$AA_?$AAs?$AAt?$AAa?$AAc?$AAk?$AAP?$AAt?$AAr?$AA?5?$AA?$DO?$AA?5?$AA0@ 00822f2c libconcrtd:TaskCollection.obj + 0003:00026f50 ??_C@_1GG@GOGOMODJ@?$AA_?$AAM?$AA_?$AAp?$AAT?$AAo?$AAk?$AAe?$AAn?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5@ 00822f50 libconcrtd:TaskCollection.obj + 0003:00026fd0 ??_C@_1GC@IBNLEPEO@?$AA_?$AAM?$AA_?$AAp?$AAO?$AAw?$AAn?$AAi?$AAn?$AAg?$AAC?$AAo?$AAn?$AAt?$AAe@ 00822fd0 libconcrtd:TaskCollection.obj + 0003:00027048 ??_C@_1CC@MCMFLDJL@?$AAp?$AAT?$AAo?$AAk?$AAe?$AAn?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5@ 00823048 libconcrtd:TaskCollection.obj + 0003:00027070 ??_C@_1GE@ENJHCBDF@?$AA_?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAl?$AAa?$AAt?$AAi?$AAo?$AAn?$AAT?$AAo@ 00823070 libconcrtd:TaskCollection.obj + 0003:000270e8 ??_C@_1CO@DJIEKIOF@?$AA_?$AAM?$AA_?$AAp?$AAO?$AAw?$AAn?$AAi?$AAn?$AAg?$AAC?$AAo?$AAn?$AAt?$AAe@ 008230e8 libconcrtd:TaskCollection.obj + 0003:00027120 ??_C@_1HC@PKOCJBMA@?$AAp?$AAr?$AAe?$AAv?$AAi?$AAo?$AAu?$AAs?$AAC?$AAo?$AAm?$AAp?$AAl?$AAe?$AAt@ 00823120 libconcrtd:TaskCollection.obj + 0003:000271a8 ??_C@_1BG@LPKFIKDF@?$AA_?$AAI?$AAs?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?$CI?$AA?$CJ@ 008231a8 libconcrtd:TaskCollection.obj + 0003:000271c4 ??_C@_1CE@BOLBFABO@?$AA?$CB?$AA_?$AAI?$AAs?$AAD?$AAi?$AAr?$AAe?$AAc?$AAt?$AAA?$AAl?$AAi?$AAa?$AAs@ 008231c4 libconcrtd:TaskCollection.obj + 0003:000271f0 ??_C@_1BI@MLLOGKKI@?$AA?$CB?$AA_?$AAI?$AAs?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?$CI?$AA?$CJ@ 008231f0 libconcrtd:TaskCollection.obj + 0003:00027210 ??_C@_1BCI@BBJAOCNM@?$AAp?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?9?$AA?$DO?$AA_?$AAM?$AA_?$AAp?$AAO?$AAr?$AAi@ 00823210 libconcrtd:TaskCollection.obj + 0003:00027378 ??_7?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@6B@ 00823378 libconcrtd:TaskCollection.obj + 0003:00027380 ??_C@_1DC@LPFGHCDP@?$AAp?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?9?$AA?$DO?$AA_?$AAM?$AA_?$AAs?$AAt?$AAa?$AAc@ 00823380 libconcrtd:TaskCollection.obj + 0003:000273c0 ??_C@_1KM@POJKCGNH@?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AAB?$AAa?$AAs?$AAe?$AA?5?$AA?$DM?$AA?5@ 008233c0 libconcrtd:TaskCollection.obj + 0003:00027490 ??_C@_1FC@DFBFNECO@?$AAp?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?9?$AA?$DO?$AA_?$AAM?$AA_?$AAp?$AAT?$AAo?$AAk@ 00823490 libconcrtd:TaskCollection.obj + 0003:000274f4 ??_C@_1CG@ONIPFPFM@?$AA?$CB?$AAp?$AAS?$AAt?$AAa?$AAc?$AAk?$AA?9?$AA?$DO?$AAI?$AAs?$AAE?$AAm?$AAp?$AAt@ 008234f4 libconcrtd:TaskCollection.obj + 0003:00027524 ??_C@_1DO@OLFOFJDJ@?$AA_?$AAM?$AA_?$AAp?$AAO?$AAr?$AAi?$AAg?$AAi?$AAn?$AAa?$AAl?$AAC?$AAo?$AAl@ 00823524 libconcrtd:TaskCollection.obj + 0003:00027570 ??_C@_1EO@HCMLNMMH@?$AAp?$AAA?$AAl?$AAi?$AAa?$AAs?$AA?9?$AA?$DO?$AA_?$AAM?$AA_?$AAp?$AAO?$AAr?$AAi@ 00823570 libconcrtd:TaskCollection.obj + 0003:000275d0 ??_C@_0O@JJAHDPNG@SchedulerKind@ 008235d0 libconcrtd:SchedulerPolicyBase.obj + 0003:000275e0 ??_C@_0P@CGAHIHHE@MaxConcurrency@ 008235e0 libconcrtd:SchedulerPolicyBase.obj + 0003:000275f4 ??_C@_0P@BLMOAEF@MinConcurrency@ 008235f4 libconcrtd:SchedulerPolicyBase.obj + 0003:00027608 ??_C@_0BN@GKPFKNNF@TargetOversubscriptionFactor@ 00823608 libconcrtd:SchedulerPolicyBase.obj + 0003:0002762c ??_C@_0BG@PCMPEOIE@LocalContextCacheSize@ 0082362c libconcrtd:SchedulerPolicyBase.obj + 0003:00027648 ??_C@_0BB@OPLJNNNB@ContextStackSize@ 00823648 libconcrtd:SchedulerPolicyBase.obj + 0003:0002765c ??_C@_0BA@CHGPFLBM@ContextPriority@ 0082365c libconcrtd:SchedulerPolicyBase.obj + 0003:00027670 ??_C@_0BD@HMLGOEAM@SchedulingProtocol@ 00823670 libconcrtd:SchedulerPolicyBase.obj + 0003:00027688 ??_C@_0BI@PEDMDBKL@DynamicProgressFeedback@ 00823688 libconcrtd:SchedulerPolicyBase.obj + 0003:000276a4 ??_C@_0BE@EBKJEJDK@WinRTInitialization@ 008236a4 libconcrtd:SchedulerPolicyBase.obj + 0003:000276bc ??_C@_0BE@OJPKBKLL@MaxPolicyElementKey@ 008236bc libconcrtd:SchedulerPolicyBase.obj + 0003:000276d8 ??_C@_0EJ@KLKLHIPC@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008236d8 libconcrtd:SchedulerPolicyBase.obj + 0003:00027730 ??_C@_1FK@IPKDCJGJ@?$AA?$CI?$AAc?$AAo?$AAr?$AAe?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$CJ@ 00823730 libconcrtd:SchedulerPolicyBase.obj + 0003:000277a0 ??_C@_1JC@HJHKNFDC@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008237a0 libconcrtd:SchedulerPolicyBase.obj + 0003:00027850 ??_C@_1OC@LFLJBBIB@?$AA_?$AAM?$AA_?$AAp?$AAP?$AAo?$AAl?$AAi?$AAc?$AAy?$AAB?$AAa?$AAg?$AA?9?$AA?$DO@ 00823850 libconcrtd:SchedulerPolicyBase.obj + 0003:00027964 ??_7IExecutionResource@Concurrency@@6B@ 00823964 libconcrtd:ExecutionResource.obj + 0003:0002797c ??_7ExecutionResource@details@Concurrency@@6B@ 0082397c libconcrtd:ExecutionResource.obj + 0003:00027990 ??_C@_1CK@PJDMDIJP@?$AAn?$AAo?$AAd?$AAe?$AAI?$AAd?$AA?5?$AA?$DM?$AA?5?$AAm?$AA_?$AAn?$AAo?$AAd?$AAe@ 00823990 libconcrtd:ExecutionResource.obj + 0003:000279c8 ??_C@_1FC@OILOLPEF@?$AAm?$AA_?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAN?$AAo?$AAd@ 008239c8 libconcrtd:ExecutionResource.obj + 0003:00027a30 ??_C@_1FC@HCFONPJB@?$AA?$CI?$AAv?$AAo?$AAi?$AAd?$AA?5?$AA?$CK?$AA?$CJ?$AA?5?$AAm?$AA_?$AAt?$AAl?$AAs?$AAR@ 00823a30 libconcrtd:ExecutionResource.obj + 0003:00027a98 ??_C@_1IO@HLKEILPB@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00823a98 libconcrtd:ExecutionResource.obj + 0003:00027b44 ??_C@_1BE@CMLAGMGI@?$AA?$CB?$AAi?$AAs?$AAV?$AAP?$AAR?$AAo?$AAo?$AAt@ 00823b44 libconcrtd:ExecutionResource.obj + 0003:00027b5c ??_C@_1DK@LMGNGBAP@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAS?$AAu?$AAb?$AAs@ 00823b5c libconcrtd:ExecutionResource.obj + 0003:00027ba4 ??_C@_1DK@BGAKOHNP@?$AAm?$AA_?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo@ 00823ba4 libconcrtd:HillClimbing.obj + 0003:00027bf0 ??_C@_1IE@GEJDNEED@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00823bf0 libconcrtd:HillClimbing.obj + 0003:00027c90 ??_C@_1DA@DCOFLOFP@?$AAt?$AAr?$AAa?$AAn?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAU@ 00823c90 libconcrtd:HillClimbing.obj + 0003:00027cd0 ??_C@_1GC@JCGGDGFF@?$AAs?$AAi?$AAg?$AAn?$AAi?$AAf?$AAi?$AAc?$AAa?$AAn?$AAc?$AAe?$AAL?$AAe?$AAv@ 00823cd0 libconcrtd:HillClimbing.obj + 0003:00027d48 __real@3f1a36e2eb1c432d 00823d48 libconcrtd:HillClimbing.obj + 0003:00027d58 __real@3f70624dd2f1a9fc 00823d58 libconcrtd:HillClimbing.obj + 0003:00027d68 __real@3fc3333333333333 00823d68 libconcrtd:HillClimbing.obj + 0003:00027d78 __real@3ffa3d70a3d70a3d 00823d78 libconcrtd:HillClimbing.obj + 0003:00027d88 __real@3ffb333333333333 00823d88 libconcrtd:HillClimbing.obj + 0003:00027d98 __real@3ffc000000000000 00823d98 libconcrtd:HillClimbing.obj + 0003:00027da8 __real@3ffcf5c28f5c28f6 00823da8 libconcrtd:HillClimbing.obj + 0003:00027db8 __real@3ffe147ae147ae14 00823db8 libconcrtd:HillClimbing.obj + 0003:00027dc8 __real@3fff5c28f5c28f5c 00823dc8 libconcrtd:HillClimbing.obj + 0003:00027dd8 __real@4000666666666666 00823dd8 libconcrtd:HillClimbing.obj + 0003:00027de8 __real@40015c28f5c28f5c 00823de8 libconcrtd:HillClimbing.obj + 0003:00027df8 __real@40029c432ca57a78 00823df8 libconcrtd:HillClimbing.obj + 0003:00027e08 __real@40049ba5e353f7cf 00823e08 libconcrtd:HillClimbing.obj + 0003:00027e18 __real@bff0000000000000 00823e18 libconcrtd:HillClimbing.obj + 0003:00027e28 ??_7ISchedulerProxy@Concurrency@@6B@ 00823e28 libconcrtd:SchedulerProxy.obj + 0003:00027e48 ??_C@_1DM@ECFJJEKP@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAS?$AAu?$AAb?$AAs@ 00823e48 libconcrtd:SchedulerProxy.obj + 0003:00027e90 ??_C@_1IK@JGIMACFA@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00823e90 libconcrtd:SchedulerProxy.obj + 0003:00027f3c ??_7SchedulerProxy@details@Concurrency@@6B@ 00823f3c libconcrtd:SchedulerProxy.obj + 0003:00027f6c ??_C@_1CA@PHBEJMON@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00823f6c libconcrtd:SchedulerProxy.obj + 0003:00027f98 ??_C@_1II@OHEPCDKI@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00823f98 libconcrtd:SchedulerProxy.obj + 0003:0002803c ??_C@_1BG@GFPKEJMJ@?$AAm?$AA_?$AAi?$AAd?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?9?$AA1@ 0082403c libconcrtd:SchedulerProxy.obj + 0003:00028058 ??_C@_1FC@JOMFIOLJ@?$AAc?$AAo?$AAr?$AAe?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?5?$AA?$CG@ 00824058 libconcrtd:SchedulerProxy.obj + 0003:000280c0 ??_C@_1HK@IPIDNANL@?$AAm?$AA_?$AAm?$AAa?$AAx?$AAC?$AAo?$AAn?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAc@ 008240c0 libconcrtd:SchedulerProxy.obj + 0003:00028158 ??_C@_1EG@GIMMDCGH@?$AAm?$AA_?$AAt?$AAa?$AAr?$AAg?$AAe?$AAt?$AAO?$AAv?$AAe?$AAr?$AAs?$AAu?$AAb@ 00824158 libconcrtd:SchedulerProxy.obj + 0003:000281b0 ??_C@_1EI@JPGJJFPP@?$AAr?$AAe?$AAm?$AAa?$AAi?$AAn?$AAi?$AAn?$AAg?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd@ 008241b0 libconcrtd:SchedulerProxy.obj + 0003:00028208 ??_C@_1JM@ECOKKFCG@?$AAm?$AA_?$AAm?$AAa?$AAx?$AAC?$AAo?$AAn?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAc@ 00824208 libconcrtd:SchedulerProxy.obj + 0003:000282c8 ??_C@_1GM@NKAGLHAB@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAF?$AAu?$AAl?$AAl?$AAy?$AAS?$AAu?$AAb?$AAs?$AAc@ 008242c8 libconcrtd:SchedulerProxy.obj + 0003:00028350 ??_C@_1LI@MEPCKKFN@?$AAm?$AA_?$AAt?$AAa?$AAr?$AAg?$AAe?$AAt?$AAO?$AAv?$AAe?$AAr?$AAs?$AAu?$AAb@ 00824350 libconcrtd:SchedulerProxy.obj + 0003:00028430 ??_C@_1KG@NKBLJCBL@?$AAm?$AA_?$AAt?$AAa?$AAr?$AAg?$AAe?$AAt?$AAO?$AAv?$AAe?$AAr?$AAs?$AAu?$AAb@ 00824430 libconcrtd:SchedulerProxy.obj + 0003:000284f8 ??_C@_1IM@ICCOEIJA@?$AAm?$AA_?$AAd?$AAe?$AAs?$AAi?$AAr?$AAe?$AAd?$AAH?$AAa?$AAr?$AAd?$AAw?$AAa@ 008244f8 libconcrtd:SchedulerProxy.obj + 0003:000285a0 ??_C@_1KK@CKOLIDFH@?$AAm?$AA_?$AAd?$AAe?$AAs?$AAi?$AAr?$AAe?$AAd?$AAH?$AAa?$AAr?$AAd?$AAw?$AAa@ 008245a0 libconcrtd:SchedulerProxy.obj + 0003:00028670 ??_C@_0EE@HPEDABPJ@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00824670 libconcrtd:SchedulerProxy.obj + 0003:000286c4 ??_C@_07FMKONILK@ref?5?$DO?51@ 008246c4 libconcrtd:SchedulerProxy.obj + 0003:000286d0 ??_C@_08BAFMHLII@pContext@ 008246d0 libconcrtd:SchedulerProxy.obj + 0003:000286dc ??_C@_1BI@DFPDAOFJ@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 008246dc libconcrtd:SchedulerProxy.obj + 0003:000286f8 ??_C@_1FE@HELAMFAI@?$AAp?$AAV?$AAP?$AAR?$AAo?$AAo?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM@ 008246f8 libconcrtd:SchedulerProxy.obj + 0003:00028760 ??_C@_1HC@JPKGNGFF@?$AA?$CI?$AAt?$AAl?$AAs?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CG?$AA?5?$AAT?$AAl?$AAs@ 00824760 libconcrtd:SchedulerProxy.obj + 0003:000287e8 ??_C@_1EA@EDPADBME@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAE?$AAx?$AAt@ 008247e8 libconcrtd:SchedulerProxy.obj + 0003:00028834 ??_C@_1DK@JHCLFADM@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAF?$AAi?$AAx@ 00824834 libconcrtd:SchedulerProxy.obj + 0003:00028880 ??_C@_1EC@BDMDEED@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAE?$AAx?$AAt@ 00824880 libconcrtd:SchedulerProxy.obj + 0003:000288d0 ??_C@_1CK@PFDHPAHN@?$AA?$CB?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAI?$AAs?$AAB?$AAo?$AAr?$AAr?$AAo@ 008248d0 libconcrtd:SchedulerProxy.obj + 0003:00028908 ??_C@_1GA@FBAKLCLH@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 00824908 libconcrtd:SchedulerProxy.obj + 0003:00028980 ??_C@_1GC@KBGHLFEN@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAE?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh@ 00824980 libconcrtd:SchedulerProxy.obj + 0003:000289f8 ??_C@_1IE@HOIOMKMM@?$AA?$CB?$AAf?$AAI?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 008249f8 libconcrtd:SchedulerProxy.obj + 0003:00028a98 ??_C@_1HC@LIAPINDP@?$AA?$CB?$AAf?$AAR?$AAe?$AAm?$AAo?$AAv?$AAe?$AAV?$AAP?$AAr?$AAo?$AAc?$AAs?$AA?5@ 00824a98 libconcrtd:SchedulerProxy.obj + 0003:00028b20 ??_C@_1KO@JMJGKEML@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAF?$AAu?$AAl?$AAl?$AAy?$AAS?$AAu?$AAb?$AAs?$AAc@ 00824b20 libconcrtd:SchedulerProxy.obj + 0003:00028bf0 ??_C@_1LE@MOIOKBKM@?$AA?$CB?$AAf?$AAI?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 00824bf0 libconcrtd:SchedulerProxy.obj + 0003:00028cc8 ??_C@_1IE@ICICFKJ@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAs?$AAs@ 00824cc8 libconcrtd:SchedulerProxy.obj + 0003:00028d68 ??_C@_1FK@OIACNHHP@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAa?$AAl?$AAl?$AAo?$AAc?$AAa@ 00824d68 libconcrtd:SchedulerProxy.obj + 0003:00028dd8 ??_C@_1GE@NMBMDJPO@?$AA?$CB?$AAa?$AAs?$AAs?$AAi?$AAg?$AAn?$AAE?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl@ 00824dd8 libconcrtd:SchedulerProxy.obj + 0003:00028e50 ??_C@_1DC@HDFDGGKK@?$AAv?$AAp?$AAr?$AAo?$AAc?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAv@ 00824e50 libconcrtd:SchedulerProxy.obj + 0003:00028e90 ??_C@_1FG@HOKDLGDI@?$AA?$CB?$AAf?$AAR?$AAe?$AAm?$AAo?$AAv?$AAe?$AAV?$AAP?$AAr?$AAo?$AAc?$AAs?$AA?5@ 00824e90 libconcrtd:SchedulerProxy.obj + 0003:00028ef8 ??_C@_1DC@BEFPCCFD@?$AAe?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAC@ 00824ef8 libconcrtd:SchedulerProxy.obj + 0003:00028f38 ??_C@_1GA@OBILKLFH@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAc?$AAo?$AAr?$AAe?$AAS?$AAt@ 00824f38 libconcrtd:SchedulerProxy.obj + 0003:00028fac ??_C@_1DC@HCOGJLLH@?$AAv?$AAp?$AAr?$AAo?$AAc?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAv@ 00824fac libconcrtd:SchedulerProxy.obj + 0003:00028fe8 ??_C@_1JC@EALLHIC@?$AAp?$AAE?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd@ 00824fe8 libconcrtd:SchedulerProxy.obj + 0003:00029098 ??_C@_1DC@KMODEFDG@?$AAe?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAC@ 00825098 libconcrtd:SchedulerProxy.obj + 0003:000290d8 ??_C@_1EK@BBMOKLCJ@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 008250d8 libconcrtd:SchedulerProxy.obj + 0003:00029130 ??_C@_1JC@PMPPIJKG@?$AAp?$AAE?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd@ 00825130 libconcrtd:SchedulerProxy.obj + 0003:000291e0 ??_C@_1KG@DJFMPLEN@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 008251e0 libconcrtd:SchedulerProxy.obj + 0003:000292a8 ??_C@_0BD@HOFLOOHM@pExecutionResource@ 008252a8 libconcrtd:SchedulerProxy.obj + 0003:000292c0 ??_C@_1FG@JCFDHIOL@?$AAn?$AAu?$AAm?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?5@ 008252c0 libconcrtd:SchedulerProxy.obj + 0003:00029328 ??_C@_1FC@MKBBGME@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 00825328 libconcrtd:SchedulerProxy.obj + 0003:00029390 ??_C@_1EC@IJDPGAFP@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAs?$AAs@ 00825390 libconcrtd:SchedulerProxy.obj + 0003:000293e0 ??_C@_1FC@MDCEFFPP@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAs?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AAT?$AAh@ 008253e0 libconcrtd:SchedulerProxy.obj + 0003:00029448 ??_C@_1JK@DPJDEMJN@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAa?$AAl?$AAl?$AAo?$AAc?$AAa@ 00825448 libconcrtd:SchedulerProxy.obj + 0003:00029500 ??_C@_1FE@EPHHHLPO@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 00825500 libconcrtd:SchedulerProxy.obj + 0003:00029568 ??_C@_1LM@KMBFBLPK@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAc?$AAo?$AAr?$AAe?$AAS?$AAt@ 00825568 libconcrtd:SchedulerProxy.obj + 0003:00029650 ??_C@_1BAG@DEGGJEPJ@?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAs?$AAs@ 00825650 libconcrtd:SchedulerProxy.obj + 0003:00029790 ??_C@_1KI@EMKCHCHI@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAs?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AAT?$AAh@ 00825790 libconcrtd:SchedulerProxy.obj + 0003:00029860 ??_C@_1EK@PGCFMCJL@?$AAG?$AAe?$AAt?$AAN?$AAu?$AAm?$AAO?$AAw?$AAn?$AAe?$AAd?$AAC?$AAo?$AAr?$AAe@ 00825860 libconcrtd:SchedulerProxy.obj + 0003:000298b8 ??_C@_1HK@IPEKKPA@?$AAn?$AAu?$AAm?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAs?$AAI?$AAn?$AAd?$AAe?$AAx@ 008258b8 libconcrtd:SchedulerProxy.obj + 0003:00029950 ??_C@_1EE@FEDOMECF@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAi?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 00825950 libconcrtd:SchedulerProxy.obj + 0003:000299a4 ??_C@_1DC@GHDDPMJG@?$AAm?$AA_?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAC?$AAo?$AAn?$AAc?$AAu?$AAr@ 008259a4 libconcrtd:SchedulerProxy.obj + 0003:000299e0 ??_C@_1FO@DOBPIMGF@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AAm?$AA_?$AAi?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 008259e0 libconcrtd:SchedulerProxy.obj + 0003:00029a50 ??_C@_1CE@EINDCAA@?$AA?$CB?$AAp?$AAC?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AAI?$AAs?$AAF?$AAi?$AAx?$AAe?$AAd@ 00825a50 libconcrtd:SchedulerProxy.obj + 0003:00029a80 ??_C@_1FE@PKMLFJOJ@?$AAm?$AA_?$AAn?$AAu?$AAm?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AAd?$AAC@ 00825a80 libconcrtd:SchedulerProxy.obj + 0003:00029ae8 ??_C@_1FM@LACAGJDF@?$AAs?$AAu?$AAg?$AAg?$AAe?$AAs?$AAt?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 00825ae8 libconcrtd:SchedulerProxy.obj + 0003:00029b58 ??_C@_1FE@MOOPBOPM@?$AAs?$AAu?$AAg?$AAg?$AAe?$AAs?$AAt?$AAe?$AAd?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa@ 00825b58 libconcrtd:SchedulerProxy.obj + 0003:00029bbc ??_C@_1BK@CALALMDA@?$AAp?$AAV?$AAP?$AAR?$AAo?$AAo?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00825bbc libconcrtd:SchedulerProxy.obj + 0003:00029bdc ??_C@_1BI@IDAOOPDH@?$AAc?$AAo?$AAm?$AAb?$AAa?$AAs?$AAe?$AA?4?$AAd?$AAl?$AAl@ 00825bdc libconcrtd:WinRTWrapper.obj + 0003:00029bf8 ??_C@_1CM@INEAJNJO@?$AAG?$AAe?$AAt?$AAL?$AAa?$AAs?$AAt?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CI?$AA?$CJ?$AA?5@ 00825bf8 libconcrtd:WinRTWrapper.obj + 0003:00029c30 ??_C@_1IE@FEJGMJOK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00825c30 libconcrtd:WinRTWrapper.obj + 0003:00029cd0 ??_C@_0N@PPOMPGGK@RoInitialize@ 00825cd0 libconcrtd:WinRTWrapper.obj + 0003:00029ce0 ??_C@_0P@LLFHBIJD@RoUninitialize@ 00825ce0 libconcrtd:WinRTWrapper.obj + 0003:00029cf8 ??_7FreeThreadProxy@details@Concurrency@@6B@ 00825cf8 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029d1c ??_7UMSFreeThreadProxy@details@Concurrency@@6BUMSBaseObject@12@@ 00825d1c libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029d30 ??_7UMSFreeThreadProxy@details@Concurrency@@6BIUMSThreadProxy@2@@ 00825d30 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029d60 ??_7UMSFreeThreadProxy@details@Concurrency@@6BIUMSUnblockNotification@2@@ 00825d60 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029d70 ??_7IThreadProxyFactory@details@Concurrency@@6B@ 00825d70 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029d90 ?s_proxyStackSize@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@1QBIB 00825d90 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029da8 ??_7?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@6B@ 00825da8 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029ddc ??_7FreeThreadProxyFactory@details@Concurrency@@6B@ 00825ddc libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029e10 ??_C@_0EG@EJEIAIHN@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00825e10 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029e64 ?s_proxyStackSize@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@1QBIB 00825e64 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029e7c ??_7?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@6B@ 00825e7c libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029eb0 ??_7UMSFreeThreadProxyFactory@details@Concurrency@@6B@ 00825eb0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029ee0 ??_C@_1CE@MGGJLKBC@?$AAs?$AA_?$AAb?$AAu?$AAc?$AAk?$AAe?$AAt?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN@ 00825ee0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029f10 ??_C@_1IM@DFCIGOMA@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00825f10 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00029fb8 ?ConcRT_ProviderGuid@Concurrency@@3U_GUID@@B 00825fb8 libconcrtd:Trace.obj + 0003:00029fc8 ?ConcRTEventGuid@Concurrency@@3U_GUID@@B 00825fc8 libconcrtd:Trace.obj + 0003:00029fd8 ?SchedulerEventGuid@Concurrency@@3U_GUID@@B 00825fd8 libconcrtd:Trace.obj + 0003:00029fe8 ?ScheduleGroupEventGuid@Concurrency@@3U_GUID@@B 00825fe8 libconcrtd:Trace.obj + 0003:00029ff8 ?ContextEventGuid@Concurrency@@3U_GUID@@B 00825ff8 libconcrtd:Trace.obj + 0003:0002a008 ?ChoreEventGuid@Concurrency@@3U_GUID@@B 00826008 libconcrtd:Trace.obj + 0003:0002a018 ?VirtualProcessorEventGuid@Concurrency@@3U_GUID@@B 00826018 libconcrtd:Trace.obj + 0003:0002a028 ?LockEventGuid@Concurrency@@3U_GUID@@B 00826028 libconcrtd:Trace.obj + 0003:0002a038 ?ResourceManagerEventGuid@Concurrency@@3U_GUID@@B 00826038 libconcrtd:Trace.obj + 0003:0002a048 ?PPLParallelInvokeEventGuid@Concurrency@@3U_GUID@@B 00826048 libconcrtd:Trace.obj + 0003:0002a058 ?PPLParallelForEventGuid@Concurrency@@3U_GUID@@B 00826058 libconcrtd:Trace.obj + 0003:0002a068 ?PPLParallelForeachEventGuid@Concurrency@@3U_GUID@@B 00826068 libconcrtd:Trace.obj + 0003:0002a078 ?AgentEventGuid@Concurrency@@3U_GUID@@B 00826078 libconcrtd:Trace.obj + 0003:0002a0b4 ??_C@_0BE@FKJMGMF@RegisterTraceGuidsW@ 008260b4 libconcrtd:Trace.obj + 0003:0002a0cc ??_C@_0BF@OFMMALCC@UnregisterTraceGuids@ 008260cc libconcrtd:Trace.obj + 0003:0002a0e8 ??_C@_0L@EOLEDHLE@TraceEvent@ 008260e8 libconcrtd:Trace.obj + 0003:0002a0f8 ??_C@_0BF@OFCGPMKL@GetTraceLoggerHandle@ 008260f8 libconcrtd:Trace.obj + 0003:0002a114 ??_C@_0BE@JCHMKLLJ@GetTraceEnableLevel@ 00826114 libconcrtd:Trace.obj + 0003:0002a12c ??_C@_0BE@DNOHFPHI@GetTraceEnableFlags@ 0082612c libconcrtd:Trace.obj + 0003:0002a144 ??_C@_0DL@OJHMBPMF@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00826144 libconcrtd:Trace.obj + 0003:0002a190 ??_7InternalContextBase@details@Concurrency@@6BIExecutionContext@2@@ 00826190 libconcrtd:InternalContextBase.obj + 0003:0002a1c0 ??_7InternalContextBase@details@Concurrency@@6BContextBase@12@@ 008261c0 libconcrtd:InternalContextBase.obj + 0003:0002a21c ??_C@_0BD@EFMKKNNJ@m_pSegment?5?$CB?$DN?5NULL@ 0082621c libconcrtd:InternalContextBase.obj + 0003:0002a238 ??_C@_0EJ@IOEPHKPP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00826238 libconcrtd:InternalContextBase.obj + 0003:0002a290 ??_C@_0DB@DDJEDPDL@GetCriticalRegionType?$CI?$CJ?5?$DN?$DN?5Outs@ 00826290 libconcrtd:InternalContextBase.obj + 0003:0002a2d0 ??_C@_1FI@CKINOG@?$AAt?$AAh?$AAi?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl@ 008262d0 libconcrtd:InternalContextBase.obj + 0003:0002a340 ??_C@_1JC@FPGGAFHE@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00826340 libconcrtd:InternalContextBase.obj + 0003:0002a3f0 ??_C@_1DC@PAMPGHKM@?$AAm?$AA_?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe@ 008263f0 libconcrtd:InternalContextBase.obj + 0003:0002a42c ??_C@_0BB@FMFPHIFE@this?5?$CB?$DN?5pContext@ 0082642c libconcrtd:InternalContextBase.obj + 0003:0002a440 ??_C@_0CF@MLLHMHDC@pContext?9?$DOm_pAssociatedChore?5?$CB?$DN@ 00826440 libconcrtd:InternalContextBase.obj + 0003:0002a46c ??_C@_1BM@FBNGLFHG@?$AAn?$AAe?$AAw?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$DM?$AA?5?$AA?9?$AA1@ 0082646c libconcrtd:InternalContextBase.obj + 0003:0002a490 ??_C@_1CC@LPBDKNPF@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAt?$AAh?$AAi@ 00826490 libconcrtd:InternalContextBase.obj + 0003:0002a4b8 ??_C@_1GI@KENANOMD@?$AAw?$AAo?$AAr?$AAk?$AA?4?$AAG?$AAe?$AAt?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt@ 008264b8 libconcrtd:InternalContextBase.obj + 0003:0002a534 ??_C@_1DI@HJOPPMNF@?$AAm?$AA_?$AAp?$AAO?$AAv?$AAe?$AAr?$AAs?$AAu?$AAb?$AAs?$AAc?$AAr?$AAi?$AAb@ 00826534 libconcrtd:InternalContextBase.obj + 0003:0002a578 ??_C@_1FA@IGMGLPKF@?$AAp?$AAV?$AAP?$AAr?$AAo?$AAc?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 00826578 libconcrtd:InternalContextBase.obj + 0003:0002a5d8 ??_C@_1CA@MFPLBOLK@?$AAm?$AA_?$AAp?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 008265d8 libconcrtd:InternalContextBase.obj + 0003:0002a600 ??_C@_1CI@NDGCNNPL@?$AAm?$AA_?$AAp?$AAT?$AAh?$AAr?$AAe?$AAa?$AAd?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?5@ 00826600 libconcrtd:InternalContextBase.obj + 0003:0002a630 ??_C@_1FI@LGNIPHDH@?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAB?$AAa?$AAs?$AAe?$AA?3?$AA?3@ 00826630 libconcrtd:InternalContextBase.obj + 0003:0002a69c ??_C@_1BI@LEONCJOF@?$AAI?$AAs?$AAB?$AAl?$AAo?$AAc?$AAk?$AAe?$AAd?$AA?$CI?$AA?$CJ@ 0082669c libconcrtd:InternalContextBase.obj + 0003:0002a6b8 ??_C@_1CC@HODHLABL@?$AAp?$AAN?$AAe?$AAw?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 008266b8 libconcrtd:InternalContextBase.obj + 0003:0002a6e0 ??_C@_1FG@JPCJJEIF@?$AA?$CI?$AAp?$AAN?$AAe?$AAw?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?5?$AA?$CB?$AA?$DN@ 008266e0 libconcrtd:InternalContextBase.obj + 0003:0002a748 ??_C@_0BL@MDNLNDEM@m_pAssociatedChore?5?$DN?$DN?5NULL@ 00826748 libconcrtd:InternalContextBase.obj + 0003:0002a768 ??_C@_0BF@EGGFKGOF@pNextContext?5?$CB?$DN?5NULL@ 00826768 libconcrtd:InternalContextBase.obj + 0003:0002a784 ??_C@_0CH@LEMIAEON@switchState?5?$DN?$DN?5?3?3Concurrency?3?3B@ 00826784 libconcrtd:InternalContextBase.obj + 0003:0002a7b4 ??_C@_0N@DCFJDMJP@?$CBIsBlocked?$CI?$CJ@ 008267b4 libconcrtd:InternalContextBase.obj + 0003:0002a7c8 ??_C@_0HC@HLJMBODA@pDestination?5?$CB?$DN?5NULL?5?$HM?$HM?5m_pSche@ 008267c8 libconcrtd:InternalContextBase.obj + 0003:0002a850 ??_C@_1FC@PMFEIKBH@?$AAp?$AAD?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN@ 00826850 libconcrtd:InternalContextBase.obj + 0003:0002a8b4 ??_C@_0DN@BHFLPHJM@pNextContext?5?$DN?$DN?5NULL?5?$HM?$HM?5pNextCo@ 008268b4 libconcrtd:InternalContextBase.obj + 0003:0002a900 ??_C@_0DC@OAMBBCPP@pDestination?5?$DN?$DN?5pNextContext?5?$HM?$HM@ 00826900 libconcrtd:InternalContextBase.obj + 0003:0002a93c ??_C@_0CE@OFIOPOKH@?$CBm_pVirtualProcessor?9?$DOIsAvailab@ 0082693c libconcrtd:InternalContextBase.obj + 0003:0002a968 ??_C@_0EO@OFNKDEA@?$CBm_pScheduler?9?$DOInFinalizationSw@ 00826968 libconcrtd:InternalContextBase.obj + 0003:0002a9c8 ??_C@_1FC@LACPMOAG@?$AAr?$AAe?$AAa?$AAs?$AAo?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAB?$AAl?$AAo?$AAc?$AAk@ 008269c8 libconcrtd:InternalContextBase.obj + 0003:0002aa30 ??_C@_0FA@DLLAIOND@?$CBm_fCanceled?5?$HM?$HM?5?$CIm_pScheduler?9?$DO@ 00826a30 libconcrtd:InternalContextBase.obj + 0003:0002aa90 ??_C@_0BC@NDNCEKPP@reason?5?$DN?$DN?5Nesting@ 00826a90 libconcrtd:InternalContextBase.obj + 0003:0002aaa8 ??_C@_0M@CIBACOAC@IsBlocked?$CI?$CJ@ 00826aa8 libconcrtd:InternalContextBase.obj + 0003:0002aab8 ??_C@_0BE@EANKFJDF@reason?5?$DN?$DN?5GoingIdle@ 00826ab8 libconcrtd:InternalContextBase.obj + 0003:0002aad0 ??_C@_1CC@EPABJLGD@?$AAt?$AAh?$AAi?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx@ 00826ad0 libconcrtd:InternalContextBase.obj + 0003:0002aaf8 ??_C@_1DC@MNFNAGMK@?$AAm?$AA_?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe@ 00826af8 libconcrtd:InternalContextBase.obj + 0003:0002ab34 ??_C@_0BO@MJNOJINI@?$CBm_fIsVisibleVirtualProcessor@ 00826b34 libconcrtd:InternalContextBase.obj + 0003:0002ab58 ??_C@_0BB@EGOIAIAM@m_fCanceled?5?$DN?$DN?50@ 00826b58 libconcrtd:InternalContextBase.obj + 0003:0002ab6c ??_C@_0CB@FLPMDFHM@m_searchCount?5?$DN?$DN?5numSearches?5?$CL?5@ 00826b6c libconcrtd:InternalContextBase.obj + 0003:0002ab94 ??_C@_0BN@BPDGPIEH@m_fIsVisibleVirtualProcessor@ 00826b94 libconcrtd:InternalContextBase.obj + 0003:0002abb8 ??_C@_0FM@CGGKAMIF@?$CBm_fCanceled?5?$HM?$HM?5m_pScheduler?9?$DOI@ 00826bb8 libconcrtd:InternalContextBase.obj + 0003:0002ac28 ??_C@_0DD@NNBNBLMD@m_pVirtualProcessor?9?$DOGetExecuti@ 00826c28 libconcrtd:InternalContextBase.obj + 0003:0002ac68 ??_C@_1BI@CJEBLLOA@?$AAm?$AA_?$AAf?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAe?$AAd@ 00826c68 libconcrtd:InternalContextBase.obj + 0003:0002ac84 ??_C@_1CG@JLMOOFMG@?$AAp?$AAW?$AAo?$AAr?$AAk?$AA?9?$AA?$DO?$AAI?$AAs?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx@ 00826c84 libconcrtd:InternalContextBase.obj + 0003:0002acb4 ??_C@_1CI@HHCANADO@?$AA?$CB?$AAp?$AAW?$AAo?$AAr?$AAk?$AA?9?$AA?$DO?$AAI?$AAs?$AAC?$AAo?$AAn?$AAt?$AAe@ 00826cb4 libconcrtd:InternalContextBase.obj + 0003:0002ace4 ??_C@_0N@NODJNJHL@?$CBm_fCanceled@ 00826ce4 libconcrtd:InternalContextBase.obj + 0003:0002acf8 ??_C@_0GD@LAENOMPF@?$CISchedulerBase?3?3FastCurrentCont@ 00826cf8 libconcrtd:InternalContextBase.obj + 0003:0002ad70 ??_C@_0BJ@MDEHBLFD@IsInsideCriticalRegion?$CI?$CJ@ 00826d70 libconcrtd:InternalContextBase.obj + 0003:0002ad90 ??_C@_1BK@ENKENJNE@?$AA?$CB?$AAm?$AA_?$AAf?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAe?$AAd@ 00826d90 libconcrtd:InternalContextBase.obj + 0003:0002adb0 ??_C@_1EI@EHCPINCG@?$AAm?$AA_?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AA?9?$AA?$DO?$AAI@ 00826db0 libconcrtd:InternalContextBase.obj + 0003:0002ae08 ??_C@_1GG@CBKPLGIO@?$AAm?$AA_?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe@ 00826e08 libconcrtd:InternalContextBase.obj + 0003:0002ae84 ??_C@_1DK@MGBDMHBE@?$AAm?$AA_?$AAf?$AAI?$AAs?$AAV?$AAi?$AAs?$AAi?$AAb?$AAl?$AAe?$AAV?$AAi?$AAr@ 00826e84 libconcrtd:InternalContextBase.obj + 0003:0002aecc ??_C@_1CA@PIGJHPNM@?$AAm?$AA_?$AAp?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 00826ecc libconcrtd:InternalContextBase.obj + 0003:0002aef4 ??_C@_1DA@LGBBALDP@?$AAm?$AA_?$AAp?$AAA?$AAs?$AAs?$AAo?$AAc?$AAi?$AAa?$AAt?$AAe?$AAd?$AAC?$AAh@ 00826ef4 libconcrtd:InternalContextBase.obj + 0003:0002af30 ??_C@_1CE@PIGMHLOM@?$AAm?$AA_?$AAp?$AAW?$AAo?$AAr?$AAk?$AAQ?$AAu?$AAe?$AAu?$AAe?$AA?5?$AA?$DN?$AA?$DN@ 00826f30 libconcrtd:InternalContextBase.obj + 0003:0002af5c ??_C@_1CM@GLMPMNAC@?$AAm?$AA_?$AAp?$AAP?$AAa?$AAr?$AAe?$AAn?$AAt?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx@ 00826f5c libconcrtd:InternalContextBase.obj + 0003:0002af90 ??_C@_1BA@NAHPIHMM@?$AAm?$AA_?$AAf?$AAI?$AAd?$AAl?$AAe@ 00826f90 libconcrtd:InternalContextBase.obj + 0003:0002afa8 ??_C@_1FM@DJGLDHDH@?$AAm?$AA_?$AAp?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 00826fa8 libconcrtd:InternalContextBase.obj + 0003:0002b018 ??_C@_1BC@OJMLANAF@?$AA?$CB?$AAm?$AA_?$AAf?$AAI?$AAd?$AAl?$AAe@ 00827018 libconcrtd:InternalContextBase.obj + 0003:0002b030 ??_C@_1CC@IOIECEGM@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5@ 00827030 libconcrtd:InternalContextBase.obj + 0003:0002b05c ??_7VirtualProcessor@details@Concurrency@@6B@ 0082705c libconcrtd:VirtualProcessor.obj + 0003:0002b088 ??_C@_1FE@CGCEPKIE@?$AAm?$AA_?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa?$AAb?$AAi?$AAl?$AAi?$AAt?$AAy?$AAT@ 00827088 libconcrtd:VirtualProcessor.obj + 0003:0002b0f0 ??_C@_1EK@KEDHMOCL@?$AAm?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAR?$AAu?$AAn?$AAn?$AAa?$AAb?$AAl?$AAe@ 008270f0 libconcrtd:VirtualProcessor.obj + 0003:0002b148 ??_C@_1IM@EBICIBBG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00827148 libconcrtd:VirtualProcessor.obj + 0003:0002b1f0 ??_C@_0EG@NDLIGFGP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008271f0 libconcrtd:VirtualProcessor.obj + 0003:0002b244 ??_C@_0BM@PDKNNJDG@type?5?$CB?$DN?5AvailabilityClaimed@ 00827244 libconcrtd:VirtualProcessor.obj + 0003:0002b268 ??_C@_0BI@GFELCHNG@?$CBpContext?9?$DOIsPrepared?$CI?$CJ@ 00827268 libconcrtd:VirtualProcessor.obj + 0003:0002b284 ??_C@_0BB@BJGACNAO@pContext?5?$DN?$DN?5NULL@ 00827284 libconcrtd:VirtualProcessor.obj + 0003:0002b298 ??_C@_0BM@EHJDEOMN@m_pAvailableContext?5?$CB?$DN?5NULL@ 00827298 libconcrtd:VirtualProcessor.obj + 0003:0002b2bc ??_C@_0CB@MIDJGFOP@pVProc?5?$DN?$DN?5this?5?$HM?$HM?5pVProc?5?$DN?$DN?5NUL@ 008272bc libconcrtd:VirtualProcessor.obj + 0003:0002b2e4 ??_C@_0CK@HEDBOHLP@m_availabilityType?5?$DN?$DN?5Availabil@ 008272e4 libconcrtd:VirtualProcessor.obj + 0003:0002b318 ??_C@_1DC@MJDEOFNA@?$AAp?$AAO?$AAv?$AAe?$AAr?$AAs?$AAu?$AAb?$AAs?$AAc?$AAr?$AAi?$AAb?$AAe?$AAr@ 00827318 libconcrtd:VirtualProcessor.obj + 0003:0002b358 ??_C@_1MO@DAELCFGC@?$AAC?$AAl?$AAa?$AAi?$AAm?$AAa?$AAn?$AAt?$AAW?$AAa?$AAs?$AAI?$AAn?$AAa?$AAc@ 00827358 libconcrtd:VirtualProcessor.obj + 0003:0002b450 ??_C@_1BBG@DBAOMFHF@?$AAC?$AAl?$AAa?$AAi?$AAm?$AAa?$AAn?$AAt?$AAW?$AAa?$AAs?$AAI?$AAn?$AAa?$AAc@ 00827450 libconcrtd:VirtualProcessor.obj + 0003:0002b5a0 ??_C@_1BK@KHMPIKPH@?$AAm?$AA_?$AAp?$AAL?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 008275a0 libconcrtd:VirtualProcessor.obj + 0003:0002b5c0 ??_C@_1JO@GKPENNAK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008275c0 libconcrtd:VirtualProcessor.obj + 0003:0002b680 ??_C@_1GO@IHMKLJHI@?$AAp?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt@ 00827680 libconcrtd:SchedulingNode.obj + 0003:0002b708 ??_C@_1II@CBGGLDKL@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00827708 libconcrtd:SchedulingNode.obj + 0003:0002b7b0 ??_C@_1FA@JIICECBF@?$AAp?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt@ 008277b0 libconcrtd:SchedulingNode.obj + 0003:0002b810 ??_C@_1GC@CGLBAGJD@?$AA?$CB?$AAp?$AAB?$AAi?$AAa?$AAs?$AAP?$AAr?$AAo?$AAc?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAp@ 00827810 libconcrtd:SchedulingNode.obj + 0003:0002b888 ?s_bucketSizes@SubAllocator@details@Concurrency@@0QBHB 00827888 libconcrtd:SubAllocator.obj + 0003:0002ba08 ?GranularityShift@SubAllocator@details@Concurrency@@0HB 00827a08 libconcrtd:SubAllocator.obj + 0003:0002ba0c ?MaxAllocationSize@SubAllocator@details@Concurrency@@0HB 00827a0c libconcrtd:SubAllocator.obj + 0003:0002ba60 ??_C@_1BO@MGGCDFDO@?$AAb?$AAl?$AAo?$AAc?$AAk?$AAU?$AAn?$AAi?$AAt?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0@ 00827a60 libconcrtd:SubAllocator.obj + 0003:0002ba88 ??_C@_1IE@LECIMKDP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00827a88 libconcrtd:SubAllocator.obj + 0003:0002bb28 ??_C@_1BM@HKPHBBDN@?$AAs?$AAi?$AAz?$AAe?$AAC?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0@ 00827b28 libconcrtd:SubAllocator.obj + 0003:0002bb50 ??_C@_1GK@LJNBDMEM@?$AAa?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AAS?$AAi?$AAz?$AAe?$AA?5@ 00827b50 libconcrtd:SubAllocator.obj + 0003:0002bbd0 ??_C@_1JI@IDAEJNAD@?$AAb?$AAu?$AAc?$AAk?$AAe?$AAt?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 00827bd0 libconcrtd:SubAllocator.obj + 0003:0002bc88 ??_C@_1EI@BMJGPFO@?$AAb?$AAu?$AAc?$AAk?$AAe?$AAt?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DM?$AA?5?$AAs@ 00827c88 libconcrtd:SubAllocator.obj + 0003:0002bce0 ??_C@_0EC@CLLFLDH@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00827ce0 libconcrtd:SubAllocator.obj + 0003:0002bd30 ??_C@_1CM@OINIDODL@?$AAp?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AAE?$AAn?$AAt?$AAr@ 00827d30 libconcrtd:SubAllocator.obj + 0003:0002bd68 ??_C@_1HG@BIENIBKJ@?$AA?$CI?$AAb?$AAu?$AAc?$AAk?$AAe?$AAt?$AAI?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN@ 00827d68 libconcrtd:SubAllocator.obj + 0003:0002bdf8 ??_C@_1GO@NFPBKIMK@?$AA_?$AAC?$AAr?$AAt?$AAI?$AAs?$AAV?$AAa?$AAl?$AAi?$AAd?$AAH?$AAe?$AAa?$AAp@ 00827df8 libconcrtd:SubAllocator.obj + 0003:0002be80 ??_C@_1EG@CDDMKBNG@?$AAn?$AAu?$AAm?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AAs?$AAi?$AAz?$AAe@ 00827e80 libconcrtd:SubAllocator.obj + 0003:0002bed8 ??_C@_1GG@NAMHAAGP@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?$CI?$AAu?$AAs?$AAe?$AAr@ 00827ed8 libconcrtd:SubAllocator.obj + 0003:0002bf54 ??_C@_1BI@EJIHBPFK@?$AAm?$AA_?$AAd?$AAe?$AAp?$AAt?$AAh?$AA?5?$AA?$DO?$AA?5?$AA0@ 00827f54 libconcrtd:SubAllocator.obj + 0003:0002bf70 ??_C@_1DI@HKMOIKOA@?$AAm?$AA_?$AAd?$AAe?$AAp?$AAt?$AAh?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AA_?$AAm?$AAa@ 00827f70 libconcrtd:SubAllocator.obj + 0003:0002bfb4 ??_C@_1DC@IBLMKGBD@?$AAm?$AA_?$AAp?$AAA?$AAn?$AAo?$AAn?$AAy?$AAm?$AAo?$AAu?$AAs?$AAS?$AAe?$AAg@ 00827fb4 libconcrtd:SchedulingRing.obj + 0003:0002bff0 ??_C@_1II@HOKBLLFJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00827ff0 libconcrtd:SchedulingRing.obj + 0003:0002c098 ??_7ScheduleGroupSegmentBase@details@Concurrency@@6B@ 00828098 libconcrtd:ScheduleGroupBase.obj + 0003:0002c0ac ??_C@_1CA@IJBGDBOB@?$AAm?$AA_?$AAr?$AAe?$AAf?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 008280ac libconcrtd:ScheduleGroupBase.obj + 0003:0002c0d8 ??_C@_1IO@PJIBPKO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008280d8 libconcrtd:ScheduleGroupBase.obj + 0003:0002c188 ??_C@_1GI@EBBDLGAJ@?$AAp?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AAA?$AAf?$AAf?$AAi?$AAn?$AAi?$AAt@ 00828188 libconcrtd:ScheduleGroupBase.obj + 0003:0002c208 ??_C@_1FE@KJMBBHGL@?$AAp?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAS?$AAc@ 00828208 libconcrtd:ScheduleGroupBase.obj + 0003:0002c270 ??_C@_1FI@NKODAMFB@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAS?$AAc@ 00828270 libconcrtd:ScheduleGroupBase.obj + 0003:0002c2e0 ??_C@_0EH@MANHDEMM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008282e0 libconcrtd:ScheduleGroupBase.obj + 0003:0002c338 ??_C@_0DH@EAFDHMAO@?$CBm_pOwningGroup?9?$DOGetScheduler?$CI?$CJ@ 00828338 libconcrtd:ScheduleGroupBase.obj + 0003:0002c37c ??_C@_04MGCDEED@proc@ 0082837c libconcrtd:ScheduleGroupBase.obj + 0003:0002c388 ??_C@_1GM@KEFDFINJ@?$AAp?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AA?9?$AA?$DO?$AAm?$AA_?$AAe@ 00828388 libconcrtd:ScheduleGroupBase.obj + 0003:0002c40c ??_C@_1DA@KFJCFGCO@?$AAe?$AAx?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AAS?$AAt?$AAa?$AAt?$AAi?$AAs?$AAt@ 0082840c libconcrtd:ScheduleGroupBase.obj + 0003:0002c448 ??_C@_1EA@BBNHHIDC@?$AAm?$AA_?$AAw?$AAo?$AAr?$AAk?$AAQ?$AAu?$AAe?$AAu?$AAe?$AAs?$AA?4?$AAR?$AAe@ 00828448 libconcrtd:ScheduleGroupBase.obj + 0003:0002c498 ??_C@_1EE@DBJAFKPM@?$AAm?$AA_?$AAw?$AAo?$AAr?$AAk?$AAQ?$AAu?$AAe?$AAu?$AAe?$AAs?$AA?4?$AAI?$AAs@ 00828498 libconcrtd:ScheduleGroupBase.obj + 0003:0002c4f0 ??_C@_1FE@NBPFOJGD@?$AAm?$AA_?$AAd?$AAe?$AAt?$AAa?$AAc?$AAh?$AAe?$AAd?$AAW?$AAo?$AAr?$AAk?$AAQ@ 008284f0 libconcrtd:ScheduleGroupBase.obj + 0003:0002c554 ??_C@_0DL@JJJAKKDD@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00828554 libconcrtd:ScheduleGroupBase.obj + 0003:0002c59c ??_C@_0DB@DFNLFEPJ@pSegment?9?$DOm_baseIdx?5?$DO?$DN?5m_pHeadS@ 0082859c libconcrtd:ScheduleGroupBase.obj + 0003:0002c5d8 ??_C@_0BH@EJCGHFAK@m_pHeadSegment?5?$CB?$DN?5NULL@ 008285d8 libconcrtd:ScheduleGroupBase.obj + 0003:0002c5f4 ??_C@_1DK@DLHDNGCN@?$AAn?$AAu?$AAm?$AAE?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5@ 008285f4 libconcrtd:ScheduleGroupBase.obj + 0003:0002c640 ??_C@_1EO@IBFPGEEL@?$AA?$CI?$AAs?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$CG?$AA?5@ 00828640 libconcrtd:ScheduleGroupBase.obj + 0003:0002c6a0 ??_C@_1EG@EPPFBGHH@?$AAa?$AAb?$AAs?$AAo?$AAl?$AAu?$AAt?$AAe?$AAI?$AAd?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5@ 008286a0 libconcrtd:ScheduleGroupBase.obj + 0003:0002c6f4 ??_C@_1BG@JGHAOBGH@?$AAf?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAa?$AAi?$AAl@ 008286f4 libconcrtd:ScheduleGroupBase.obj + 0003:0002c710 ??_C@_1CK@HLIIPDJP@?$AAr?$AAh?$AAs?$AA?4?$AAm?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAm@ 00828710 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0002c744 ??_C@_1DA@HBOJODHK@?$AAm?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAb?$AAi?$AAt?$AAS?$AAe@ 00828744 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0002c780 ??_C@_1DC@NJKIPHFL@?$AA?$CB?$AAm?$AA_?$AAa?$AAf?$AAf?$AAi?$AAn?$AAi?$AAt?$AAy?$AA?4?$AA_?$AAI?$AAs@ 00828780 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0002c7c0 ??_C@_1JK@KKDIPMIM@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008287c0 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0002c878 ??_C@_1DA@MEJMHOKK@?$AA?$CB?$AAa?$AAf?$AAf?$AAi?$AAn?$AAi?$AAt?$AAy?$AAS?$AAl?$AAo?$AAt?$AA?4?$AAI@ 00828878 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0002c8b8 ??_7ExternalContextBase@details@Concurrency@@6B@ 008288b8 libconcrtd:ExternalContextBase.obj + 0003:0002c918 ??_C@_0EJ@NJPMCMCI@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00828918 libconcrtd:ExternalContextBase.obj + 0003:0002c970 ??_C@_1FM@PLFIEBIF@?$AAw?$AAa?$AAi?$AAt?$AAR?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?$CI@ 00828970 libconcrtd:ExternalContextBase.obj + 0003:0002c9e0 ??_C@_1JC@NFMGCJLK@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008289e0 libconcrtd:ExternalContextBase.obj + 0003:0002ca90 ??_C@_1BI@NDNLPHCP@?$AA?$CB?$AAi?$AAs?$AA_?$AAt?$AAi?$AAm?$AAe?$AAo?$AAu?$AAt@ 00828a90 libconcrtd:ExternalContextBase.obj + 0003:0002cab0 ??_C@_1FC@GDJODNFM@?$AAS?$AAc?$AAh?$AAe?$AAd?$AAu?$AAl?$AAe?$AAr?$AAB?$AAa?$AAs?$AAe?$AA?3?$AA?3@ 00828ab0 libconcrtd:ExternalContextBase.obj + 0003:0002cb18 ??_7IScheduler@Concurrency@@6B@ 00828b18 libconcrtd:ThreadScheduler.obj + 0003:0002cb40 ??_7ThreadInternalContext@details@Concurrency@@6BIExecutionContext@2@@ 00828b40 libconcrtd:ThreadScheduler.obj + 0003:0002cb70 ??_7ThreadInternalContext@details@Concurrency@@6BContextBase@12@@ 00828b70 libconcrtd:ThreadScheduler.obj + 0003:0002cbd0 ??_7ThreadScheduler@details@Concurrency@@6BIScheduler@2@@ 00828bd0 libconcrtd:ThreadScheduler.obj + 0003:0002cbf8 ??_7ThreadScheduler@details@Concurrency@@6BSchedulerBase@12@@ 00828bf8 libconcrtd:ThreadScheduler.obj + 0003:0002cc70 ??_C@_0EF@CLJDNMKE@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00828c70 libconcrtd:ThreadScheduler.obj + 0003:0002ccc8 ??_7IUMSScheduler@Concurrency@@6B@ 00828cc8 libconcrtd:UMSThreadScheduler.obj + 0003:0002ccf4 ??_7UMSThreadScheduler@details@Concurrency@@6BIUMSScheduler@2@@ 00828cf4 libconcrtd:UMSThreadScheduler.obj + 0003:0002cd20 ??_7UMSThreadScheduler@details@Concurrency@@6BSchedulerBase@12@@ 00828d20 libconcrtd:UMSThreadScheduler.obj + 0003:0002cd98 ??_C@_0EI@CLDPANLB@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00828d98 libconcrtd:UMSThreadScheduler.obj + 0003:0002cdf0 ??_C@_08PEGOKCDC@?$CBfActive@ 00828df0 libconcrtd:UMSThreadScheduler.obj + 0003:0002cdfc ??_C@_0DH@EIKGEDMP@blockingType?5?$CB?$DN?5UMSThreadIntern@ 00828dfc libconcrtd:UMSThreadScheduler.obj + 0003:0002ce44 ??_7UMSThreadVirtualProcessor@details@Concurrency@@6B@ 00828e44 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0002ce70 ??_C@_0EP@PAHBOEKN@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00828e70 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0002ced0 ??_C@_1DC@KFIFODIF@?$AAm?$AA_?$AAp?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAn?$AAg?$AAC?$AAo?$AAn@ 00828ed0 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0002cf10 ??_C@_1JO@BLANACCG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00828f10 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0002cfd0 ??_C@_0BP@EOHIDPNJ@ticket?4ExerciseWakesExisting?$CI?$CJ@ 00828fd0 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0002cffc ??_7UMSThreadInternalContext@details@Concurrency@@6BIExecutionContext@2@@ 00828ffc libconcrtd:UMSThreadInternalContext.obj + 0003:0002d02c ??_7UMSThreadInternalContext@details@Concurrency@@6BContextBase@12@@ 0082902c libconcrtd:UMSThreadInternalContext.obj + 0003:0002d088 ??_C@_0EM@NODEKFOD@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00829088 libconcrtd:UMSThreadInternalContext.obj + 0003:0002d0e8 ??_C@_1JM@JFIENPDG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 008290e8 libconcrtd:UMSThreadInternalContext.obj + 0003:0002d1a8 ??_C@_0EO@HPCALPNL@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008291a8 libconcrtd:UMSThreadInternalContext.obj + 0003:0002d20c ??_7TransmogrifiedPrimary@details@Concurrency@@6B@ 0082920c libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d220 ??_7CachedTransmogrifiedPrimary@details@Concurrency@@6B@ 00829220 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d230 ??_C@_0HC@HCPEEHKB@?$CIm_UMSDebugBits?5?$CG?5?$CIUMS_DEBUGBIT@ 00829230 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d2b8 ??_C@_0EL@EGHAFFFP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 008292b8 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d314 ??_C@_0P@IAMBIGKB@pProxy?5?$CB?$DN?5NULL@ 00829314 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d328 ??_C@_0BI@LKHHPIHJ@?$CBpProxy?9?$DOIsTerminated?$CI?$CJ@ 00829328 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d344 ??_C@_0BG@DHCJNOBD@m_pBoundProxy?5?$DN?$DN?5NULL@ 00829344 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d360 ??_C@_0BC@OFJLPNPK@count?5?$DN?$DN?5maxCount@ 00829360 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d378 ??_C@_0L@JEIACKHJ@index?5?$DN?$DN?51@ 00829378 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d388 ??_C@_0EK@FHIJPKBG@pCompletedProxy?5?$DN?$DN?5pProxy?5?$CG?$CG?5UM@ 00829388 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d3e0 ??_C@_0L@LPKNHJLK@index?5?$DN?$DN?52@ 008293e0 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d3f0 ??_C@_0BC@OIPDECGH@m_queueCount?5?$DN?$DN?50@ 008293f0 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d408 ??_C@_0BE@BFMHBGAM@timeout?5?$DN?$DN?5INFINITE@ 00829408 libconcrtd:TransmogrifiedPrimary.obj + 0003:0002d420 ??_C@_1DA@BMMAOIN@?$AAm?$AA_?$AAq?$AAu?$AAe?$AAu?$AAe?$AAd?$AAP?$AAr?$AAo?$AAx?$AAy?$AAC?$AAo@ 00829420 libconcrtd:Transmogrificator.obj + 0003:0002d460 ??_C@_1IO@PKIOCEHL@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829460 libconcrtd:Transmogrificator.obj + 0003:0002d510 ??_C@_0EH@CEBEEILM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00829510 libconcrtd:Transmogrificator.obj + 0003:0002d568 ??_C@_0EI@ILCCEONP@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 00829568 libconcrtd:TaskCollectionBase.obj + 0003:0002d5c0 ??_C@_1EG@EICPBKDB@?$AA_?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?$CI?$AA?$CJ?$AA?5@ 008295c0 libconcrtd:TaskCollectionBase.obj + 0003:0002d618 ??_C@_1JA@JJCPKKHE@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829618 libconcrtd:TaskCollectionBase.obj + 0003:0002d6c8 ??_C@_1JA@KGMIDGOK@?$AA_?$AAN?$AAe?$AAw?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAS?$AAt?$AAa?$AAt?$AAe@ 008296c8 libconcrtd:TaskCollectionBase.obj + 0003:0002d778 ??_C@_1IK@PICCAMKH@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829778 libconcrtd:WorkQueue.obj + 0003:0002d820 ??_C@_1EC@NJGLMMGL@?$AA_?$AAP?$AAC?$AAh?$AAo?$AAr?$AAe?$AA?9?$AA?$DO?$AA_?$AAM?$AA_?$AAf?$AAR?$AAu@ 00829820 libconcrtd:Chores.obj + 0003:0002d870 ??_C@_1HI@EAEBIGAN@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829870 libconcrtd:Chores.obj + 0003:0002d900 ??_C@_1LI@FPBGNNEI@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG@ 00829900 libconcrtd:Chores.obj + 0003:0002d9e0 ??_C@_1FA@BDLIIMAD@?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAG?$AAo@ 008299e0 libconcrtd:Chores.obj + 0003:0002da44 ??_7IVirtualProcessorRoot@Concurrency@@6B@ 00829a44 libconcrtd:VirtualProcessorRoot.obj + 0003:0002da6c ??_C@_1DK@LENBMFAH@?$AAm?$AA_?$AAp?$AAV?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AAP?$AAr?$AAo?$AAc?$AAe@ 00829a6c libconcrtd:VirtualProcessorRoot.obj + 0003:0002dab8 ??_7VirtualProcessorRoot@details@Concurrency@@6B@ 00829ab8 libconcrtd:VirtualProcessorRoot.obj + 0003:0002dae8 ??_C@_1EC@GNDKDNIC@?$AAs?$AAn?$AAa?$AAp?$AAF?$AAe?$AAn?$AAc?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5@ 00829ae8 libconcrtd:VirtualProcessorRoot.obj + 0003:0002db38 ??_C@_1JE@IMCAKJMJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829b38 libconcrtd:VirtualProcessorRoot.obj + 0003:0002dbec ??_C@_1BK@NIOGEHDI@?$AAn?$AAe?$AAw?$AAV?$AAa?$AAl?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?9?$AA1@ 00829bec libconcrtd:VirtualProcessorRoot.obj + 0003:0002dc10 ??_7FreeVirtualProcessorRoot@details@Concurrency@@6B@ 00829c10 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002dc40 ??_C@_1BK@KPHIJFMI@?$AAn?$AAe?$AAw?$AAV?$AAa?$AAl?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?9?$AA1@ 00829c40 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002dc60 ??_C@_1JM@IFCLOICE@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829c60 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002dd20 ??_C@_1EM@OMKOBBNO@?$AAn?$AAe?$AAw?$AAV?$AAa?$AAl?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG?$AA?$CG?$AA?5@ 00829d20 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002dd7c ??_C@_1DC@NHHAFCCO@?$AAm?$AA_?$AAp?$AAD?$AAe?$AAa?$AAc?$AAt?$AAi?$AAv?$AAa?$AAt?$AAe?$AAd?$AAP@ 00829d7c libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002ddb8 ??_C@_1BI@LOEGHIFA@?$AAn?$AAe?$AAw?$AAV?$AAa?$AAl?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1@ 00829db8 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002ddd8 ??_C@_1FC@HLACLNBG@?$AAm?$AA_?$AAp?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo@ 00829dd8 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002de3c ??_C@_1DI@FKHKLPAG@?$AAm?$AA_?$AAp?$AAE?$AAx?$AAe?$AAc?$AAu?$AAt?$AAi?$AAn?$AAg?$AAP?$AAr?$AAo@ 00829e3c libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002de80 ??_C@_1EO@KOIOAGCL@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAV?$AAi?$AAr?$AAt@ 00829e80 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002dee0 ??_C@_1EG@KHPEHIHA@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAG?$AAe?$AAt?$AAE?$AAx?$AAe?$AAc@ 00829ee0 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002df34 ??_C@_1DM@NNOJBNCB@?$AAp?$AAA?$AAc?$AAt?$AAi?$AAv?$AAa?$AAt?$AAe?$AAd?$AAC?$AAo?$AAn?$AAt?$AAe@ 00829f34 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:0002df7c ??_C@_1CA@HNBCGMAL@?$AAm?$AA_?$AAf?$AAB?$AAl?$AAo?$AAc?$AAk?$AAe?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0@ 00829f7c libconcrtd:FreeThreadProxy.obj + 0003:0002dfa8 ??_C@_1IK@HAAECOMG@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 00829fa8 libconcrtd:FreeThreadProxy.obj + 0003:0002e050 ??_C@_1CA@MFKOALGO@?$AAm?$AA_?$AAf?$AAB?$AAl?$AAo?$AAc?$AAk?$AAe?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1@ 0082a050 libconcrtd:FreeThreadProxy.obj + 0003:0002e078 ??_C@_1CK@GEGJCCOK@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAm?$AA_?$AAp?$AAR?$AAo?$AAo?$AAt@ 0082a078 libconcrtd:FreeThreadProxy.obj + 0003:0002e0ac ??_C@_1DA@NKNAIILL@?$AAp?$AAP?$AAr?$AAo?$AAx?$AAy?$AA?9?$AA?$DO?$AAm?$AA_?$AAp?$AAC?$AAo?$AAn?$AAt@ 0082a0ac libconcrtd:FreeThreadProxy.obj + 0003:0002e0e8 ??_C@_0M@CIMHMGAD@switchState@ 0082a0e8 libconcrtd:FreeThreadProxy.obj + 0003:0002e0f8 ??_C@_1EO@JOAOGLLB@?$AAm?$AA_?$AAp?$AAR?$AAo?$AAo?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM@ 0082a0f8 libconcrtd:FreeThreadProxy.obj + 0003:0002e158 ??_C@_1CA@GLIHGGIH@?$AAm?$AA_?$AAp?$AAF?$AAa?$AAc?$AAt?$AAo?$AAr?$AAy?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 0082a158 libconcrtd:FreeThreadProxy.obj + 0003:0002e180 ??_C@_1CA@GHDIOGBI@?$AAm?$AA_?$AAp?$AAC?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 0082a180 libconcrtd:FreeThreadProxy.obj + 0003:0002e1a8 ??_C@_1BK@MJPFDBOH@?$AAm?$AA_?$AAp?$AAR?$AAo?$AAo?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0@ 0082a1a8 libconcrtd:FreeThreadProxy.obj + 0003:0002e1cc ??_7ThreadProxy@details@Concurrency@@6B@ 0082a1cc libconcrtd:ThreadProxy.obj + 0003:0002e1f0 ??_C@_1IC@LIDLPMGF@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082a1f0 libconcrtd:ThreadProxy.obj + 0003:0002e28c ??_C@_1CK@FBDBHLJI@?$AAm?$AA_?$AAf?$AAC?$AAa?$AAn?$AAc?$AAe?$AAl?$AAe?$AAd?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 0082a28c libconcrtd:ThreadProxy.obj + 0003:0002e2c0 ??_C@_0EI@CFMIHBIM@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082a2c0 libconcrtd:UMSFreeThreadProxy.obj + 0003:0002e318 ??_C@_0EF@COEDMLLD@pContext?5?$CB?$DN?5NULL?5?$HM?$HM?5GetCritical@ 0082a318 libconcrtd:UMSFreeThreadProxy.obj + 0003:0002e370 ??_C@_1JA@IAMKAOOJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082a370 libconcrtd:UMSFreeThreadProxy.obj + 0003:0002e41c ??_C@_1CI@IGJBHIEL@?$AA?$CB?$AAm?$AA_?$AAf?$AAH?$AAa?$AAs?$AAD?$AAe?$AAq?$AAu?$AAe?$AAu?$AAe?$AAd@ 0082a41c libconcrtd:SearchAlgorithms.obj + 0003:0002e450 ??_C@_1IO@HBKDOOGP@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082a450 libconcrtd:SearchAlgorithms.obj + 0003:0002e4fc ??_C@_1DC@GKLJEEFG@?$AAm?$AA_?$AAn?$AAe?$AAx?$AAt?$AAA?$AAf?$AAf?$AAi?$AAn?$AAe?$AAS?$AAe?$AAg@ 0082a4fc libconcrtd:SearchAlgorithms.obj + 0003:0002e538 ??_C@_1IE@GGAJHGPO@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082a538 libconcrtd:SearchAlgorithms.obj + 0003:0002e5d8 ??_C@_1DI@DCFEFBHD@?$AAm?$AA_?$AAn?$AAe?$AAx?$AAt?$AAN?$AAo?$AAn?$AAA?$AAf?$AAf?$AAi?$AAn?$AAe@ 0082a5d8 libconcrtd:SearchAlgorithms.obj + 0003:0002e620 ??_C@_0EG@GOCMALFD@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082a620 libconcrtd:SearchAlgorithms.obj + 0003:0002e674 ??_C@_09IBGGIKOE@IsToken?$CI?$CJ@ 0082a674 libconcrtd:SearchAlgorithms.obj + 0003:0002e680 ??_C@_0EN@JBCIOJLG@m_type?5?$DN?$DN?5WorkItemTypeRealizedC@ 0082a680 libconcrtd:SearchAlgorithms.obj + 0003:0002e6e0 ??_C@_1JK@KLAMJODK@?$AAm?$AA_?$AAt?$AAy?$AAp?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAW?$AAo?$AAr?$AAk?$AAI@ 0082a6e0 libconcrtd:SearchAlgorithms.obj + 0003:0002e798 ??_C@_1IM@GBCNJMKD@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082a798 libconcrtd:SearchAlgorithms.obj + 0003:0002e840 ??_C@_1CM@ODFLLPPL@?$AA?$CB?$AAf?$AAF?$AAo?$AAr?$AAc?$AAe?$AAS?$AAt?$AAe?$AAa?$AAl?$AAL?$AAo?$AAc@ 0082a840 libconcrtd:SearchAlgorithms.obj + 0003:0002e874 ??_C@_0BH@LAKDKMPC@pOriginSegment?5?$CB?$DN?5NULL@ 0082a874 libconcrtd:SearchAlgorithms.obj + 0003:0002e890 ??_C@_1BO@LMCAJNPC@?$AAp?$AAO?$AAr?$AAi?$AAg?$AAi?$AAn?$AAS?$AAe?$AAg?$AAm?$AAe?$AAn?$AAt@ 0082a890 libconcrtd:SearchAlgorithms.obj + 0003:0002e8b8 ??_7ThreadVirtualProcessor@details@Concurrency@@6B@ 0082a8b8 libconcrtd:ThreadVirtualProcessor.obj + 0003:0002e8e8 ??_7IUMSCompletionList@Concurrency@@6B@ 0082a8e8 libconcrtd:UMSSchedulerProxy.obj + 0003:0002e8f4 ??_7UMSSchedulerProxy@details@Concurrency@@6BIUMSCompletionList@2@@ 0082a8f4 libconcrtd:UMSSchedulerProxy.obj + 0003:0002e900 ??_7UMSSchedulerProxy@details@Concurrency@@6BSchedulerProxy@12@@ 0082a900 libconcrtd:UMSSchedulerProxy.obj + 0003:0002e930 ??_C@_0EH@NDJCBEPJ@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082a930 libconcrtd:UMSSchedulerProxy.obj + 0003:0002e988 ??_C@_0P@KLNFKCMF@pProxy?5?$DN?$DN?5NULL@ 0082a988 libconcrtd:UMSSchedulerProxy.obj + 0003:0002e9a0 ??_C@_0FB@MLMKEDOH@?$CBpCompletion?9?$DOIsTerminated?$CI?$CJ?5?$HM?$HM@ 0082a9a0 libconcrtd:UMSSchedulerProxy.obj + 0003:0002ea04 ??_C@_0DE@KFMBDEKP@pCompletion?9?$DOm_UMSDebugBits?5?$CB?$DN?5@ 0082aa04 libconcrtd:UMSSchedulerProxy.obj + 0003:0002ea48 ??_C@_0HN@CMNJBIKD@?$CIpProxy?9?$DOm_UMSDebugBits?5?$CG?5?$CIUMS_@ 0082aa48 libconcrtd:UMSSchedulerProxy.obj + 0003:0002eae0 ??_C@_0EF@FHNOLMOL@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082aae0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eb34 ??_C@_0BA@LFLFLJHH@pPoller?5?$CB?$DN?5NULL@ 0082ab34 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eb4c ??_7UMSFreeVirtualProcessorRoot@details@Concurrency@@6BIThreadProxy@2@@ 0082ab4c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eb64 ??_7UMSFreeVirtualProcessorRoot@details@Concurrency@@6BUMSBaseObject@12@@ 0082ab64 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eb74 ??_7UMSFreeVirtualProcessorRoot@details@Concurrency@@6BVirtualProcessorRoot@12@@ 0082ab74 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eba8 ??_C@_0EP@BNKMJLBC@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082aba8 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ec08 ??_C@_0BE@FBNGBGLE@m_fStarted?5?$DN?$DN?5false@ 0082ac08 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ec20 ??_C@_0FB@LDOGLBBE@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082ac20 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ec84 ??_C@_0N@LICHENOJ@?$CBOnPrimary?$CI?$CJ@ 0082ac84 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ec94 ??_C@_0BD@PALLMILK@m_hPrimary?5?$DN?$DN?5NULL@ 0082ac94 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ecb0 ??_C@_1KC@BKGLABDE@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082acb0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ed74 ??_C@_0BK@FEBFPHIM@m_pExecutingProxy?5?$DN?$DN?5NULL@ 0082ad74 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ed98 ??_C@_0EL@JEDHII@pProxy?5?$DN?$DN?5NULL?5?$HM?$HM?5pProxy?9?$DOGetCr@ 0082ad98 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002edf8 ??_C@_1GC@KKKGPBCN@?$AAm?$AA_?$AAa?$AAc?$AAt?$AAi?$AAv?$AAa?$AAt?$AAi?$AAo?$AAn?$AAF?$AAe?$AAn@ 0082adf8 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ee70 ??_C@_0M@KCGOFPHE@OnPrimary?$CI?$CJ@ 0082ae70 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ee80 ??_C@_0CN@NIHEJFEN@count?5?$DM?$DN?5?$CIsizeof?$CIhObjects?$CJ?5?1?5si@ 0082ae80 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eeb8 ??_C@_0O@EIEEOCMN@index?5?$DM?5count@ 0082aeb8 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eec8 ??_C@_0DO@CJHFEOJI@hObjects?$FLindex?$FN?5?$DN?$DN?5SchedulerPro@ 0082aec8 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ef14 ??_C@_0DL@KGMPGCFN@?$CIpProxy?9?$DOm_UMSDebugBits?5?$CG?5UMS_D@ 0082af14 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ef5c ??_C@_0CP@NAIOOMNK@expectedPrimaryAffinity?5?$DN?$DN?5real@ 0082af5c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002ef94 ??_C@_0CD@BMKBFIIA@newAffinity?5?$DN?$DN?5realPrimaryAffin@ 0082af94 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002efc0 ??_C@_0BO@JBDPDOPP@newAffinity?5?$DN?$DN?5realUTAffinity@ 0082afc0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002efe4 ??_C@_0O@NKAEECEN@spinCount?5?$DO?50@ 0082afe4 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002eff4 ??_C@_0DJ@PDAHJNMK@pProxy?9?$DOGetCriticalRegionType?$CI?$CJ@ 0082aff4 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f038 ??_C@_0EE@GFMDLGNL@?$CBpBlockedProxy?9?$DOIsTerminated?$CI?$CJ?5@ 0082b038 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f08c ??_C@_0BO@JLBFCOGN@pBlockedProxy?9?$DOIsTerminated?$CI?$CJ@ 0082b08c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f0b0 ??_C@_0DE@GJIHFICL@pProxy?9?$DOm_yieldAction?5?$CB?$DN?5UMSThr@ 0082b0b0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f0f0 ??_C@_0EC@PJCHBDJJ@?$CIpNextProxy?9?$DOm_UMSDebugBits?5?$CG?5U@ 0082b0f0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f140 ??_C@_09HADGDCEC@m_fDelete@ 0082b140 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f14c ??_C@_0BM@FJNDALKF@pProxy?9?$DOm_pLastRoot?5?$DN?$DN?5this@ 0082b14c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f170 ??_C@_0DN@BOJIAMAA@pProxy?9?$DOGetCriticalRegionType?$CI?$CJ@ 0082b170 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f1bc ??_C@_0BI@GPMFJBLP@pPrimaryContext?5?$CB?$DN?5NULL@ 0082b1bc libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f1d8 ??_C@_0CL@HFCNDNCP@pProxy?9?$DOGetVirtualProcessorRoot@ 0082b1d8 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f20c ??_C@_0CE@HBPNGCNH@pRoot?9?$DOm_pSchedulingContext?5?$CB?$DN?5@ 0082b20c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f238 ??_C@_0BE@OBBOAAEF@pRoot?9?$DOm_fActivated@ 0082b238 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f250 ??_C@_0DE@DOEIEFME@reinterpret_cast?$DMUMSThreadProxy@ 0082b250 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f290 ??_C@_0DP@OHKBDKP@UMSFreeThreadProxy?3?3FromUMSCont@ 0082b290 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f2dc ??_C@_0BB@DLCOJJEC@pRoot?9?$DOm_fDelete@ 0082b2dc libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0002f318 ??_C@_1FK@OACNEHHA@?$AAt?$AAo?$AA?9?$AA?$DO?$AA_?$AAW?$AAh?$AAa?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu@ 0082b318 libvcruntimed:std_exception.obj + 0003:0002f388 ??_C@_1IM@JDJIHKNJ@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082b388 libvcruntimed:std_exception.obj + 0003:0002f430 ??_C@_0EG@JFCNJADL@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082b430 libvcruntimed:std_type_info.obj + 0003:0002f488 ??_7bad_typeid@std@@6B@ 0082b488 libvcruntimed:rtti.obj + 0003:0002f498 ??_7__non_rtti_object@std@@6B@ 0082b498 libvcruntimed:rtti.obj + 0003:0002f4a4 ??_C@_0CB@CGKGGDFI@Access?5violation?5?9?5no?5RTTI?5data@ 0082b4a4 libvcruntimed:rtti.obj + 0003:0002f4cc ??_C@_0CH@OLLMPELC@Attempted?5a?5typeid?5of?5nullptr?5p@ 0082b4cc libvcruntimed:rtti.obj + 0003:0002f4fc ??_C@_0CB@EEENAAHH@Bad?5read?5pointer?5?9?5no?5RTTI?5data@ 0082b4fc libvcruntimed:rtti.obj + 0003:0002f524 ??_C@_0BC@JNJNLHBP@Bad?5dynamic_cast?$CB@ 0082b524 libvcruntimed:rtti.obj + 0003:0002f540 ??_C@_0EO@OEGLKFCL@d?3?2agent?2_work?23?2s?2src?2vctools?2@ 0082b540 libvcruntimed:per_thread_data.obj + 0003:0002f5a4 ??_7bad_exception@std@@6B@ 0082b5a4 libvcruntimed:frame.obj + 0003:0002f5b0 ??_C@_0O@DPKOEFFH@bad?5exception@ 0082b5b0 libvcruntimed:frame.obj + 0003:0002f7b4 ??_C@_08EHJDFFNH@__based?$CI@ 0082b7b4 libvcruntimed:undname.obj + 0003:0002f7c0 ??_C@_07KOLFKCDI@__cdecl@ 0082b7c0 libvcruntimed:undname.obj + 0003:0002f7cc ??_C@_08GHMPAG@__pascal@ 0082b7cc libvcruntimed:undname.obj + 0003:0002f7d8 ??_C@_09IFJBGAPI@__stdcall@ 0082b7d8 libvcruntimed:undname.obj + 0003:0002f7e4 ??_C@_0L@NPHFGOKO@__thiscall@ 0082b7e4 libvcruntimed:undname.obj + 0003:0002f7f4 ??_C@_0L@JMKHOMEK@__fastcall@ 0082b7f4 libvcruntimed:undname.obj + 0003:0002f804 ??_C@_0N@BCKKPABJ@__vectorcall@ 0082b804 libvcruntimed:undname.obj + 0003:0002f814 ??_C@_09HIJEGCPM@__clrcall@ 0082b814 libvcruntimed:undname.obj + 0003:0002f820 ??_C@_06GHPCKEAG@__eabi@ 0082b820 libvcruntimed:undname.obj + 0003:0002f828 ??_C@_09IOPIDJLG@__swift_1@ 0082b828 libvcruntimed:undname.obj + 0003:0002f834 ??_C@_09KFNFGKHF@__swift_2@ 0082b834 libvcruntimed:undname.obj + 0003:0002f840 ??_C@_07JOMMBBKO@__ptr64@ 0082b840 libvcruntimed:undname.obj + 0003:0002f84c ??_C@_0L@PILCLIHE@__restrict@ 0082b84c libvcruntimed:undname.obj + 0003:0002f85c ??_C@_0M@GFIIJFMG@__unaligned@ 0082b85c libvcruntimed:undname.obj + 0003:0002f86c ??_C@_09DHDLOLLB@restrict?$CI@ 0082b86c libvcruntimed:undname.obj + 0003:0002f878 ??_C@_04NIHEBCM@?5new@ 0082b878 libvcruntimed:undname.obj + 0003:0002f880 ??_C@_07FPCDHGMM@?5delete@ 0082b880 libvcruntimed:undname.obj + 0003:0002f88c ??_C@_01NEMOKFLO@?$DN@ 0082b88c libvcruntimed:undname.obj + 0003:0002f890 ??_C@_02GPIOPFAK@?$DO?$DO@ 0082b890 libvcruntimed:undname.obj + 0003:0002f894 ??_C@_02FODMEDOG@?$DM?$DM@ 0082b894 libvcruntimed:undname.obj + 0003:0002f898 ??_C@_01DCLJPIOD@?$CB@ 0082b898 libvcruntimed:undname.obj + 0003:0002f89c ??_C@_02EGOFBIJA@?$DN?$DN@ 0082b89c libvcruntimed:undname.obj + 0003:0002f8a0 ??_C@_02FDNJECIE@?$CB?$DN@ 0082b8a0 libvcruntimed:undname.obj + 0003:0002f8a4 ??_C@_02GPECMEKF@?$FL?$FN@ 0082b8a4 libvcruntimed:undname.obj + 0003:0002f8a8 ??_C@_08LHJFAFGD@operator@ 0082b8a8 libvcruntimed:undname.obj + 0003:0002f8b4 ??_C@_02HBOOOICD@?9?$DO@ 0082b8b4 libvcruntimed:undname.obj + 0003:0002f8b8 ??_C@_02ECNGHCIF@?$CL?$CL@ 0082b8b8 libvcruntimed:undname.obj + 0003:0002f8bc ??_C@_02BAABKJLB@?9?9@ 0082b8bc libvcruntimed:undname.obj + 0003:0002f8c0 ??_C@_01MIFGBAGJ@?$CL@ 0082b8c0 libvcruntimed:undname.obj + 0003:0002f8c4 ??_C@_01HNPIGOCE@?$CG@ 0082b8c4 libvcruntimed:undname.obj + 0003:0002f8c8 ??_C@_03MNHNFDLC@?9?$DO?$CK@ 0082b8c8 libvcruntimed:undname.obj + 0003:0002f8cc ??_C@_01KMDKNFGN@?1@ 0082b8cc libvcruntimed:undname.obj + 0003:0002f8d0 ??_C@_01FGNFDNOH@?$CF@ 0082b8d0 libvcruntimed:undname.obj + 0003:0002f8d4 ??_C@_01MNNFJEPP@?$DM@ 0082b8d4 libvcruntimed:undname.obj + 0003:0002f8d8 ??_C@_02EHCHHCKH@?$DM?$DN@ 0082b8d8 libvcruntimed:undname.obj + 0003:0002f8dc ??_C@_01PPODPGHN@?$DO@ 0082b8dc libvcruntimed:undname.obj + 0003:0002f8e0 ??_C@_02EEKDKGMJ@?$DO?$DN@ 0082b8e0 libvcruntimed:undname.obj + 0003:0002f8e4 ??_C@_01IHBHIGKO@?0@ 0082b8e4 libvcruntimed:undname.obj + 0003:0002f8e8 ??_C@_02HCKGKOFO@?$CI?$CJ@ 0082b8e8 libvcruntimed:undname.obj + 0003:0002f8ec ??_C@_01PJKLJHI@?$HO@ 0082b8ec libvcruntimed:undname.obj + 0003:0002f8f0 ??_C@_01JKBOJNNK@?$FO@ 0082b8f0 libvcruntimed:undname.obj + 0003:0002f8f4 ??_C@_01DNKMNLPK@?$HM@ 0082b8f4 libvcruntimed:undname.obj + 0003:0002f8f8 ??_C@_02PPKAJPJL@?$CG?$CG@ 0082b8f8 libvcruntimed:undname.obj + 0003:0002f8fc ??_C@_02NONPIBCD@?$HM?$HM@ 0082b8fc libvcruntimed:undname.obj + 0003:0002f900 ??_C@_02FPIMKNGF@?$CK?$DN@ 0082b900 libvcruntimed:undname.obj + 0003:0002f904 ??_C@_02FOEOMHFC@?$CL?$DN@ 0082b904 libvcruntimed:undname.obj + 0003:0002f908 ??_C@_02FKMDLLOA@?9?$DN@ 0082b908 libvcruntimed:undname.obj + 0003:0002f90c ??_C@_02FJEHGPIO@?1?$DN@ 0082b90c libvcruntimed:undname.obj + 0003:0002f910 ??_C@_02FENAOKFI@?$CF?$DN@ 0082b910 libvcruntimed:undname.obj + 0003:0002f914 ??_C@_03IKFCCPFF@?$DO?$DO?$DN@ 0082b914 libvcruntimed:undname.obj + 0003:0002f918 ??_C@_03CDNPDDLA@?$DM?$DM?$DN@ 0082b918 libvcruntimed:undname.obj + 0003:0002f91c ??_C@_02FGJGFEAB@?$CG?$DN@ 0082b91c libvcruntimed:undname.obj + 0003:0002f920 ??_C@_02DHLNPPGH@?$HM?$DN@ 0082b920 libvcruntimed:undname.obj + 0003:0002f924 ??_C@_02MHEGNOJ@?$FO?$DN@ 0082b924 libvcruntimed:undname.obj + 0003:0002f928 ??_C@_09IFPLHPGF@?$GAvftable?8@ 0082b928 libvcruntimed:undname.obj + 0003:0002f934 ??_C@_09BLBHBJP@?$GAvbtable?8@ 0082b934 libvcruntimed:undname.obj + 0003:0002f940 ??_C@_07FEEIOKP@?$GAvcall?8@ 0082b940 libvcruntimed:undname.obj + 0003:0002f94c ??_C@_08LLFFHHDJ@?$GAtypeof?8@ 0082b94c libvcruntimed:undname.obj + 0003:0002f958 ??_C@_0BF@KDPPACIK@?$GAlocal?5static?5guard?8@ 0082b958 libvcruntimed:undname.obj + 0003:0002f974 ??_C@_08OBABFOLI@?$GAstring?8@ 0082b974 libvcruntimed:undname.obj + 0003:0002f980 ??_C@_0BD@JDLKDPAB@?$GAvbase?5destructor?8@ 0082b980 libvcruntimed:undname.obj + 0003:0002f998 ??_C@_0BN@DEGPLNFK@?$GAvector?5deleting?5destructor?8@ 0082b998 libvcruntimed:undname.obj + 0003:0002f9bc ??_C@_0BO@OBMKPJIG@?$GAdefault?5constructor?5closure?8@ 0082b9bc libvcruntimed:undname.obj + 0003:0002f9e0 ??_C@_0BN@IMDCHIKM@?$GAscalar?5deleting?5destructor?8@ 0082b9e0 libvcruntimed:undname.obj + 0003:0002fa04 ??_C@_0BO@PFGOCPJJ@?$GAvector?5constructor?5iterator?8@ 0082ba04 libvcruntimed:undname.obj + 0003:0002fa28 ??_C@_0BN@LFPFMEDL@?$GAvector?5destructor?5iterator?8@ 0082ba28 libvcruntimed:undname.obj + 0003:0002fa4c ??_C@_0CE@IKBNEHA@?$GAvector?5vbase?5constructor?5itera@ 0082ba4c libvcruntimed:undname.obj + 0003:0002fa78 ??_C@_0BL@NILFHHPC@?$GAvirtual?5displacement?5map?8@ 0082ba78 libvcruntimed:undname.obj + 0003:0002fa98 ??_C@_0CB@JONCMFFK@?$GAeh?5vector?5constructor?5iterator@ 0082ba98 libvcruntimed:undname.obj + 0003:0002fac0 ??_C@_0CA@GCEOPDGL@?$GAeh?5vector?5destructor?5iterator?8@ 0082bac0 libvcruntimed:undname.obj + 0003:0002fae8 ??_C@_0CH@OOJPLCPH@?$GAeh?5vector?5vbase?5constructor?5it@ 0082bae8 libvcruntimed:undname.obj + 0003:0002fb18 ??_C@_0BL@LLKPOHJI@?$GAcopy?5constructor?5closure?8@ 0082bb18 libvcruntimed:undname.obj + 0003:0002fb38 ??_C@_0BA@KBCDOMBN@?$GAudt?5returning?8@ 0082bb38 libvcruntimed:undname.obj + 0003:0002fb4c ??_C@_03KLGMFNMG@?$GAEH@ 0082bb4c libvcruntimed:undname.obj + 0003:0002fb50 ??_C@_05KHLCHHI@?$GARTTI@ 0082bb50 libvcruntimed:undname.obj + 0003:0002fb58 ??_C@_0BA@KKLDJDLB@?$GAlocal?5vftable?8@ 0082bb58 libvcruntimed:undname.obj + 0003:0002fb6c ??_C@_0CE@IIHCMGGL@?$GAlocal?5vftable?5constructor?5clos@ 0082bb6c libvcruntimed:undname.obj + 0003:0002fb98 ??_C@_06FHBGPFGH@?5new?$FL?$FN@ 0082bb98 libvcruntimed:undname.obj + 0003:0002fba0 ??_C@_09LBNFPBCA@?5delete?$FL?$FN@ 0082bba0 libvcruntimed:undname.obj + 0003:0002fbac ??_C@_0P@HJKNJFNN@?$GAomni?5callsig?8@ 0082bbac libvcruntimed:undname.obj + 0003:0002fbc0 ??_C@_0BL@CNOONJFP@?$GAplacement?5delete?5closure?8@ 0082bbc0 libvcruntimed:undname.obj + 0003:0002fbe0 ??_C@_0BN@CKNJLHMB@?$GAplacement?5delete?$FL?$FN?5closure?8@ 0082bbe0 libvcruntimed:undname.obj + 0003:0002fc04 ??_C@_0CG@CFDHKGGD@?$GAmanaged?5vector?5constructor?5ite@ 0082bc04 libvcruntimed:undname.obj + 0003:0002fc34 ??_C@_0CF@IMGKMJNO@?$GAmanaged?5vector?5destructor?5iter@ 0082bc34 libvcruntimed:undname.obj + 0003:0002fc60 ??_C@_0CG@HLDDJMAG@?$GAeh?5vector?5copy?5constructor?5ite@ 0082bc60 libvcruntimed:undname.obj + 0003:0002fc90 ??_C@_0CM@FCBBDIGB@?$GAeh?5vector?5vbase?5copy?5construct@ 0082bc90 libvcruntimed:undname.obj + 0003:0002fcc4 ??_C@_0BL@CLIPGLGB@?$GAdynamic?5initializer?5for?5?8@ 0082bcc4 libvcruntimed:undname.obj + 0003:0002fce4 ??_C@_0CB@PDBIFEP@?$GAdynamic?5atexit?5destructor?5for?5@ 0082bce4 libvcruntimed:undname.obj + 0003:0002fd0c ??_C@_0CD@CGAJBKEJ@?$GAvector?5copy?5constructor?5iterat@ 0082bd0c libvcruntimed:undname.obj + 0003:0002fd38 ??_C@_0CJ@GJELGAMM@?$GAvector?5vbase?5copy?5constructor?5@ 0082bd38 libvcruntimed:undname.obj + 0003:0002fd6c ??_C@_0CL@FGIJHLCE@?$GAmanaged?5vector?5copy?5constructo@ 0082bd6c libvcruntimed:undname.obj + 0003:0002fda0 ??_C@_0BM@PMGGMLDN@?$GAlocal?5static?5thread?5guard?8@ 0082bda0 libvcruntimed:undname.obj + 0003:0002fdc4 ??_C@_0N@BDNMDMOL@operator?5?$CC?$CC?5@ 0082bdc4 libvcruntimed:undname.obj + 0003:0002fdd4 ??_C@_0BC@GGEBGALA@operator?5co_await@ 0082bdd4 libvcruntimed:undname.obj + 0003:0002fdec ??_C@_0M@GAAIMMOH@operator?$DM?$DN?$DO@ 0082bdec libvcruntimed:undname.obj + 0003:0002fdfc ??_C@_0BC@DAFEJGAK@?5Type?5Descriptor?8@ 0082bdfc libvcruntimed:undname.obj + 0003:0002fe14 ??_C@_0BM@LDKODKLH@?5Base?5Class?5Descriptor?5at?5?$CI@ 0082be14 libvcruntimed:undname.obj + 0003:0002fe38 ??_C@_0BD@LGICGFMM@?5Base?5Class?5Array?8@ 0082be38 libvcruntimed:undname.obj + 0003:0002fe50 ??_C@_0BN@MECKDCOJ@?5Class?5Hierarchy?5Descriptor?8@ 0082be50 libvcruntimed:undname.obj + 0003:0002fe74 ??_C@_0BK@CFCOFLF@?5Complete?5Object?5Locator?8@ 0082be74 libvcruntimed:undname.obj + 0003:0002fe94 ??_C@_04HEJADOOB@CV?3?5@ 0082be94 libvcruntimed:undname.obj + 0003:0002fe9c ??_C@_03GDILBHBJ@$$h@ 0082be9c libvcruntimed:undname.obj + 0003:0002fea0 ??_C@_02MOLJINC@?3?3@ 0082bea0 libvcruntimed:undname.obj + 0003:0002fea4 ??_C@_0BE@JAEOCHPE@template?9parameter?9@ 0082bea4 libvcruntimed:undname.obj + 0003:0002febc ??_C@_0O@KHGCOMHP@generic?9type?9@ 0082bebc libvcruntimed:undname.obj + 0003:0002fecc ??_C@_01NLNLIGKH@?$GA@ 0082becc libvcruntimed:undname.obj + 0003:0002fed0 ??_C@_01GEODFPGF@?8@ 0082bed0 libvcruntimed:undname.obj + 0003:0002fed4 ??_C@_0BG@JNJLAMPM@?$GAanonymous?5namespace?8@ 0082bed4 libvcruntimed:undname.obj + 0003:0002fef0 ??_C@_02OHHJMEON@?8?8@ 0082bef0 libvcruntimed:undname.obj + 0003:0002fef4 ??_C@_0BN@IBLMMFAP@?$GAnon?9type?9template?9parameter@ 0082bef4 libvcruntimed:undname.obj + 0003:0002ff18 ??_C@_03KHICJKCI@?4?4?4@ 0082bf18 libvcruntimed:undname.obj + 0003:0002ff1c ??_C@_04HIBGFPH@NULL@ 0082bf1c libvcruntimed:undname.obj + 0003:0002ff24 ??_C@_0BK@IHCCFNEL@?$GAtemplate?9type?9parameter?9@ 0082bf24 libvcruntimed:undname.obj + 0003:0002ff44 ??_C@_0BK@OFCNNNKO@?$GAgeneric?9class?9parameter?9@ 0082bf44 libvcruntimed:undname.obj + 0003:0002ff64 ??_C@_0BL@NGJBLFIL@?$GAgeneric?9method?9parameter?9@ 0082bf64 libvcruntimed:undname.obj + 0003:0002ff84 ??_C@_04GKJNKENE@void@ 0082bf84 libvcruntimed:undname.obj + 0003:0002ff8c ??_C@_0BE@EODMJLIF@?$GAtemplate?9parameter@ 0082bf8c libvcruntimed:undname.obj + 0003:0002ffa4 ??_C@_03OPGICMGF@?$HN?8?5@ 0082bfa4 libvcruntimed:undname.obj + 0003:0002ffa8 ??_C@_02IGFCGPIL@?$HN?8@ 0082bfa8 libvcruntimed:undname.obj + 0003:0002ffac ??_C@_0N@CBHHHENL@?$GAvtordispex?$HL@ 0082bfac libvcruntimed:undname.obj + 0003:0002ffbc ??_C@_0L@GHPFDFH@?$GAvtordisp?$HL@ 0082bfbc libvcruntimed:undname.obj + 0003:0002ffcc ??_C@_0L@HNGCOGAE@?$GAadjustor?$HL@ 0082bfcc libvcruntimed:undname.obj + 0003:0002ffdc ??_C@_0CB@KJDOOODE@?$GAlocal?5static?5destructor?5helper@ 0082bfdc libvcruntimed:undname.obj + 0003:00030004 ??_C@_0DB@ILEFOCIJ@?$GAtemplate?5static?5data?5member?5co@ 0082c004 libvcruntimed:undname.obj + 0003:00030040 ??_C@_0DA@HGFJFBBE@?$GAtemplate?5static?5data?5member?5de@ 0082c040 libvcruntimed:undname.obj + 0003:0003007c ??_C@_07PGOEDBHP@static?5@ 0082c07c libvcruntimed:undname.obj + 0003:00030088 ??_C@_08NIEOINHE@virtual?5@ 0082c088 libvcruntimed:undname.obj + 0003:00030094 ??_C@_09LAPHOOG@private?3?5@ 0082c094 libvcruntimed:undname.obj + 0003:000300a0 ??_C@_0M@GAIFPFIP@protected?3?5@ 0082c0a0 libvcruntimed:undname.obj + 0003:000300b0 ??_C@_08GPDDCMKI@public?3?5@ 0082c0b0 libvcruntimed:undname.obj + 0003:000300bc ??_C@_08KJLFOPNE@?$FLthunk?$FN?3@ 0082c0bc libvcruntimed:undname.obj + 0003:000300c8 ??_C@_0M@DHNBOJMP@extern?5?$CCC?$CC?5@ 0082c0c8 libvcruntimed:undname.obj + 0003:000300d8 ??_C@_02KCKGHPCA@?$CJ?5@ 0082c0d8 libvcruntimed:undname.obj + 0003:000300dc ??_C@_05CIHEBHNO@char?5@ 0082c0dc libvcruntimed:undname.obj + 0003:000300e4 ??_C@_06EHJMALKF@short?5@ 0082c0e4 libvcruntimed:undname.obj + 0003:000300ec ??_C@_04LAHKHJMA@int?5@ 0082c0ec libvcruntimed:undname.obj + 0003:000300f4 ??_C@_05CJIMAING@long?5@ 0082c0f4 libvcruntimed:undname.obj + 0003:000300fc ??_C@_09EBBEKKIH@unsigned?5@ 0082c0fc libvcruntimed:undname.obj + 0003:00030108 ??_C@_05BEFAKPML@void?5@ 0082c108 libvcruntimed:undname.obj + 0003:00030110 ??_C@_08PABEKFH@volatile@ 0082c110 libvcruntimed:undname.obj + 0003:0003011c ??_C@_0BA@LKIJLKPP@std?3?3nullptr_t?5@ 0082c11c libvcruntimed:undname.obj + 0003:00030130 ??_C@_0P@GCOCNKDM@std?3?3nullptr_t@ 0082c130 libvcruntimed:undname.obj + 0003:00030144 ??_C@_0L@EGPHHEKN@?$DMellipsis?$DO@ 0082c144 libvcruntimed:undname.obj + 0003:00030154 ??_C@_04EENFHACM@?0?4?4?4@ 0082c154 libvcruntimed:undname.obj + 0003:0003015c ??_C@_0M@ELJOJFFH@?0?$DMellipsis?$DO@ 0082c15c libvcruntimed:undname.obj + 0003:0003016c ??_C@_09DNHFEOJI@?5noexcept@ 0082c16c libvcruntimed:undname.obj + 0003:00030178 ??_C@_03PBJBJNON@cpu@ 0082c178 libvcruntimed:undname.obj + 0003:0003017c ??_C@_03DCBBJBAA@amp@ 0082c17c libvcruntimed:undname.obj + 0003:00030180 ??_C@_02KEGNLNML@?0?5@ 0082c180 libvcruntimed:undname.obj + 0003:00030184 ??_C@_04ENMBGAPA@char@ 0082c184 libvcruntimed:undname.obj + 0003:0003018c ??_C@_05BFKKPKCG@short@ 0082c18c libvcruntimed:undname.obj + 0003:00030194 ??_C@_03JBIPMCLC@int@ 0082c194 libvcruntimed:undname.obj + 0003:00030198 ??_C@_04GOKPGOLB@long@ 0082c198 libvcruntimed:undname.obj + 0003:000301a0 ??_C@_05KNFBNCOH@float@ 0082c1a0 libvcruntimed:undname.obj + 0003:000301a8 ??_C@_06BNJCAIGJ@double@ 0082c1a8 libvcruntimed:undname.obj + 0003:000301b0 ??_C@_04DDKJGDCM@bool@ 0082c1b0 libvcruntimed:undname.obj + 0003:000301b8 ??_C@_06EBGKOKIG@__int8@ 0082c1b8 libvcruntimed:undname.obj + 0003:000301c0 ??_C@_07ICFHOGAF@__int16@ 0082c1c0 libvcruntimed:undname.obj + 0003:000301cc ??_C@_07OFLPPHGP@__int32@ 0082c1cc libvcruntimed:undname.obj + 0003:000301d8 ??_C@_07LFCOJCAC@__int64@ 0082c1d8 libvcruntimed:undname.obj + 0003:000301e4 ??_C@_08GAHOLHEO@__int128@ 0082c1e4 libvcruntimed:undname.obj + 0003:000301f0 ??_C@_09EEKGDCPH@?$DMunknown?$DO@ 0082c1f0 libvcruntimed:undname.obj + 0003:000301fc ??_C@_07CFHGOPCN@char8_t@ 0082c1fc libvcruntimed:undname.obj + 0003:00030208 ??_C@_08HBIPOFJB@char16_t@ 0082c208 libvcruntimed:undname.obj + 0003:00030214 ??_C@_08IECNCBKG@char32_t@ 0082c214 libvcruntimed:undname.obj + 0003:00030220 ??_C@_07CLGGIAMF@wchar_t@ 0082c220 libvcruntimed:undname.obj + 0003:0003022c ??_C@_06GCICPBLB@__w64?5@ 0082c22c libvcruntimed:undname.obj + 0003:00030234 ??_C@_07NFANNNEC@UNKNOWN@ 0082c234 libvcruntimed:undname.obj + 0003:00030240 ??_C@_07EDHNAJHC@signed?5@ 0082c240 libvcruntimed:undname.obj + 0003:0003024c ??_C@_05BNCCCJPP@const@ 0082c24c libvcruntimed:undname.obj + 0003:00030254 ??_C@_09EFNPDFFP@?5volatile@ 0082c254 libvcruntimed:undname.obj + 0003:00030260 ??_C@_0P@GCIFDJCJ@?$GAunknown?5ecsu?8@ 0082c260 libvcruntimed:undname.obj + 0003:00030274 ??_C@_06MOJHIBMG@union?5@ 0082c274 libvcruntimed:undname.obj + 0003:0003027c ??_C@_07DIBCDNGL@struct?5@ 0082c27c libvcruntimed:undname.obj + 0003:00030288 ??_C@_06LJBABKPM@class?5@ 0082c288 libvcruntimed:undname.obj + 0003:00030290 ??_C@_08KOFANOFK@coclass?5@ 0082c290 libvcruntimed:undname.obj + 0003:0003029c ??_C@_0N@DLIEFKNA@cointerface?5@ 0082c29c libvcruntimed:undname.obj + 0003:000302ac ??_C@_05LJGMCFOG@enum?5@ 0082c2ac libvcruntimed:undname.obj + 0003:000302b4 ??_C@_09GAIEOBLP@volatile?5@ 0082c2b4 libvcruntimed:undname.obj + 0003:000302c0 ??_C@_06LIJLOJAG@const?5@ 0082c2c0 libvcruntimed:undname.obj + 0003:000302c8 ??_C@_02KJPKDIBN@?$CG?5@ 0082c2c8 libvcruntimed:undname.obj + 0003:000302cc ??_C@_03PCKGMOPB@?$CG?$CG?5@ 0082c2cc libvcruntimed:undname.obj + 0003:000302d0 ??_C@_0M@EALIELKG@cli?3?3array?$DM@ 0082c2d0 libvcruntimed:undname.obj + 0003:000302e0 ??_C@_0O@GKABPPIF@cli?3?3pin_ptr?$DM@ 0082c2e0 libvcruntimed:undname.obj + 0003:000302f0 ??_C@_02GOGNNPBN@?$CJ?$FL@ 0082c2f0 libvcruntimed:undname.obj + 0003:000302f4 ??_C@_06EEGAIFAK@?$HLflat?$HN@ 0082c2f4 libvcruntimed:undname.obj + 0003:000302fc ??_C@_05JIBOFOHK@?$HLfor?5@ 0082c2fc libvcruntimed:undname.obj + 0003:00030304 ??_C@_02MDINNEEG@s?5@ 0082c304 libvcruntimed:undname.obj + 0003:0003030c ??_7DNameNode@@6B@ 0082c30c libvcruntimed:undname.obj + 0003:00030320 ??_7charNode@@6B@ 0082c320 libvcruntimed:undname.obj + 0003:00030334 ??_7pcharNode@@6B@ 0082c334 libvcruntimed:undname.obj + 0003:00030348 ??_7pDNameNode@@6B@ 0082c348 libvcruntimed:undname.obj + 0003:0003035c ??_7DNameStatusNode@@6B@ 0082c35c libvcruntimed:undname.obj + 0003:00030370 ??_7pairNode@@6B@ 0082c370 libvcruntimed:undname.obj + 0003:00030380 ??_C@_04OKOHEJBO@?5?$DP?$DP?5@ 0082c380 libvcruntimed:undname.obj + 0003:00030388 ?nodes@?1??make@DNameStatusNode@@SAPBV2@W4DNameStatus@@@Z@4QBV2@B 0082c388 libvcruntimed:undname.obj + 0003:000303d4 ??_C@_1DM@KHCHBNEB@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe@ 0082c3d4 libvcruntimed:winapi_downlevel.obj + 0003:0003041c ??_C@_1DK@LPPGFMPP@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe@ 0082c41c libvcruntimed:winapi_downlevel.obj + 0003:00030464 ??_C@_1BC@GDMECMAK@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2@ 0082c464 libvcruntimed:winapi_downlevel.obj + 0003:0003047c ??_C@_1BA@PFFKHIOG@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9@ 0082c47c libvcruntimed:winapi_downlevel.obj + 0003:00030490 ??_C@_1EM@LBIFGLGH@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AA?$DN@ 0082c490 libvcruntimed:winapi_downlevel.obj + 0003:000304f0 ??_C@_1JO@BBNDOBIB@?$AAd?$AA?3?$AA?2?$AAa?$AAg?$AAe?$AAn?$AAt?$AA?2?$AA_?$AAw?$AAo?$AAr?$AAk?$AA?2@ 0082c4f0 libvcruntimed:winapi_downlevel.obj + 0003:000305b0 ??_C@_1DI@MAHEDLDB@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AA?$DN@ 0082c5b0 libvcruntimed:winapi_downlevel.obj + 0003:000305f8 ??_C@_1FC@IBNCGNKL@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAf?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAi?$AAn@ 0082c5f8 libvcruntimed:winapi_downlevel.obj + 0003:0003065c ??_C@_1CI@GDJBAGLP@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAf?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAe@ 0082c65c libvcruntimed:winapi_downlevel.obj + 0003:000306c8 __pDestructExceptionObject 0082c6c8 libvcruntimed:ehhelpers.obj + 0003:000306dc ??_C@_1BA@GLMCNLEM@?$AAW?$AAa?$AAr?$AAn?$AAi?$AAn?$AAg?$AA?$AA@ 0082c6dc libucrtd:dbgrpt.obj + 0003:000306f0 ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 0082c6f0 libucrtd:dbgrpt.obj + 0003:00030700 ??_C@_1CC@CGHMNGDG@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@ 0082c700 libucrtd:dbgrpt.obj + 0003:00030730 ??_C@_1OG@PMPPFHAF@?$AA?6?$AA?6?$AAF?$AAo?$AAr?$AA?5?$AAi?$AAn?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAh?$AAo?$AAw?$AA?5?$AAy?$AAo?$AAu?$AAr?$AA?5?$AAp?$AAr@ 0082c730 libucrtd:dbgrpt.obj + 0003:00030844 ??_C@_17CNPHIMPH@?$AA?$CF?$AAl?$AAs?$AA?$AA@ 0082c844 libucrtd:dbgrpt.obj + 0003:00030850 ??_C@_1MG@LJLILFFD@?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AA?$CF?$AAl?$AAs?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$CF?$AAh?$AAs?$AA?$CF?$AAl?$AAs?$AA?$CF?$AAl?$AAs?$AA?$CF?$AAh@ 0082c850 libucrtd:dbgrpt.obj + 0003:00030940 ??_C@_1MG@OODCADGL@?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AA?$CF?$AAl?$AAs?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$CF?$AAl?$AAs?$AA?$CF?$AAl?$AAs?$AA?$CF?$AAl?$AAs?$AA?$CF?$AAl@ 0082c940 libucrtd:dbgrpt.obj + 0003:00030a30 ??_C@_0BH@DNAGHKFM@?$DMprogram?5name?5unknown?$DO?$AA@ 0082ca30 libucrtd:dbgrpt.obj + 0003:00030a4c ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 0082ca4c libucrtd:dbgrpt.obj + 0003:00030a88 ??_C@_1FK@BNNDOGMN@?$AA?$CI?$AA?$CC?$AAT?$AAh?$AAe?$AA?5?$AAh?$AAo?$AAo?$AAk?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh@ 0082ca88 libucrtd:dbgrpt.obj + 0003:00030af8 ??_C@_1FO@GMJDLAJD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAm@ 0082caf8 libucrtd:dbgrpt.obj + 0003:00030b68 ??_C@_0CP@HDJNPEFB@minkernel?2crts?2ucrt?2src?2appcrt?2m@ 0082cb68 libucrtd:dbgrpt.obj + 0003:00030ba0 ??_C@_1HI@OFEHGPPC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AA_?$AAR?$AAP?$AAT?$AAH?$AAO?$AAO?$AAK?$AA_?$AAI?$AAN?$AAS?$AAT?$AAA?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 0082cba0 libucrtd:dbgrpt.obj + 0003:00030c30 ??_C@_1CO@FFNKOJOG@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAe?$AAt?$AA_?$AAr?$AAe?$AAp?$AAo?$AAr?$AAt?$AA_?$AAh?$AAo?$AAo?$AAk?$AA?$AA@ 0082cc30 libucrtd:dbgrpt.obj + 0003:00030c68 ??_C@_1CI@ONEHFNHD@?$AAn?$AAe?$AAw?$AA_?$AAh?$AAo?$AAo?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0082cc68 libucrtd:dbgrpt.obj + 0003:00030c9c ??_C@_1CM@EHMOGBJJ@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAm?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA_?$AAw?$AAi?$AAn?$AAd?$AAo?$AAw?$AA?$AA@ 0082cc9c libucrtd:dbgrpt.obj + 0003:00030cd0 ??_C@_1PE@ECNALGCA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA_?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA?$CI@ 0082ccd0 libucrtd:dbgrpt.obj + 0003:00030df4 ??_C@_11LOCGONAA@?$AA?$AA@ 0082cdf4 libucrtd:dbgrpt.obj + 0003:00030df8 ??_C@_1BK@PEDCIPMA@?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?3?$AA?5?$AA?$AA@ 0082cdf8 libucrtd:dbgrpt.obj + 0003:00030e18 ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 0082ce18 libucrtd:dbgrpt.obj + 0003:00030e20 ??_C@_1BA@GLLGCPCK@?$AA?6?$AAL?$AAi?$AAn?$AAe?$AA?3?$AA?5?$AA?$AA@ 0082ce20 libucrtd:dbgrpt.obj + 0003:00030e34 ??_C@_1BA@LNHECFIM@?$AA?6?$AAF?$AAi?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 0082ce34 libucrtd:dbgrpt.obj + 0003:00030e48 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 0082ce48 libucrtd:dbgrpt.obj + 0003:00030e54 ??_C@_1BE@CGCJKGHI@?$AA?6?$AAM?$AAo?$AAd?$AAu?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 0082ce54 libucrtd:dbgrpt.obj + 0003:00030e6c ??_C@_1BI@KALLJECN@?$AA?$CI?$AA?$CK?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$CI?$AA?$CJ?$AA?$CJ?$AA?$AA@ 0082ce6c libucrtd:dbgrpt.obj + 0003:00030e88 ??_C@_1JM@IBOIJEOO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAm?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL@ 0082ce88 libucrtd:dbgrpt.obj + 0003:00030f48 ??_C@_1FG@BBOLDHGF@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 0082cf48 libucrtd:dbgrpt.obj + 0003:00030fb0 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 0082cfb0 libucrtd:dbgrpt.obj + 0003:0003100c ??_C@_0CP@GDJHIDC@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 0082d00c libucrtd:_file.obj + 0003:00031044 ??_C@_1DC@OGOLMDEL@?$AAp?$AAu?$AAb?$AAl?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0082d044 libucrtd:_file.obj + 0003:00031080 ??_C@_1FO@IEGKHABE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0082d080 libucrtd:_file.obj + 0003:000310f0 ??_C@_1DI@PJGMCDLC@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AAs?$AA?$AA@ 0082d0f0 libucrtd:_file.obj + 0003:00031138 _standard_lookup_table 0082d138 libucrtd:output.obj + 0003:000311a8 _format_validation_lookup_table 0082d1a8 libucrtd:output.obj + 0003:00031218 ??_C@_1BDG@MKBKGHOH@?$AA?$CI?$AA?5?$AA?$CI?$AA_?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?4?$AAi?$AAs?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAb?$AAa?$AAc?$AAk?$AAe?$AAd?$AA?$CI?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$HM@ 0082d218 libucrtd:output.obj + 0003:00031390 ??_C@_1GC@LCDLABEA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAi?$AAn?$AAc?$AA?2?$AAc?$AAo?$AAr?$AAe?$AAc?$AAr?$AAt?$AA_@ 0082d390 libucrtd:output.obj + 0003:00031408 ??_C@_1II@DIIMCJOK@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAc?$AAh?$AAa?$AAr?$AA_?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?$DM?$AAc?$AAh?$AAa?$AAr?$AA?$DO?$AA?3?$AA?3@ 0082d408 libucrtd:output.obj + 0003:000314ac ??_C@_1CE@JLIJLEKO@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0082d4ac libucrtd:output.obj + 0003:000314d8 ??_C@_1GA@MOBAPGIO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0082d4d8 libucrtd:output.obj + 0003:0003154c ??_C@_1CA@GELIJBMC@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAv?$AAf?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 0082d54c libucrtd:output.obj + 0003:00031574 ??_C@_1CE@EAKLPBKK@?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0082d574 libucrtd:output.obj + 0003:000315a0 ??_C@_1CA@PIMGHCEK@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 0082d5a0 libucrtd:output.obj + 0003:000315c8 ??_C@_1EO@EGEEFEFM@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn@ 0082d5c8 libucrtd:output.obj + 0003:00031628 ??_C@_1CE@JEILLNB@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA?$AA@ 0082d628 libucrtd:output.obj + 0003:00031658 ??_C@_1EM@OAFHAOLH@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn@ 0082d658 libucrtd:output.obj + 0003:000316b4 ??_C@_1DA@HPBFKMEB@?$AA?$CI?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 0082d6b4 libucrtd:output.obj + 0003:000316f0 ??_C@_1CG@LHFJHFBB@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA?$AA@ 0082d6f0 libucrtd:output.obj + 0003:00031720 ??_C@_1CM@JOIJBMEM@?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAi?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0082d720 libucrtd:output.obj + 0003:00031758 ??_C@_1HA@DMAAKIJP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAi?$AAn?$AAc?$AA?2?$AAc?$AAo?$AAr?$AAe?$AAc?$AAr?$AAt?$AA_@ 0082d758 libucrtd:output.obj + 0003:000317e0 ??_C@_1BNA@OIIAGHJI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082d7e0 libucrtd:output.obj + 0003:00031a10 ??_C@_1EE@DMAIGNBG@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAr?$AAr?$AAe?$AAc?$AAt?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0@ 0082da10 libucrtd:output.obj + 0003:00031a68 ??_C@_1BLI@EGFICANE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082da68 libucrtd:output.obj + 0003:00031c78 ??_C@_1BLI@IKDKMDHI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082dc78 libucrtd:output.obj + 0003:00031e88 ??_C@_1BKA@DNADAJMC@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082de88 libucrtd:output.obj + 0003:00032080 ??_C@_1BNA@HGLCOOBP@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082e080 libucrtd:output.obj + 0003:000322b0 ??_C@_1BLI@FOCNEPKJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082e2b0 libucrtd:output.obj + 0003:000324c0 ??_C@_1BMK@CPBKHDIH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082e4c0 libucrtd:output.obj + 0003:000326e8 ??_C@_1BLC@PMCLHHAE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082e6e8 libucrtd:output.obj + 0003:000328f0 ??_C@_1BLI@EEAAPJD@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082e8f0 libucrtd:output.obj + 0003:00032b00 ??_C@_1BKA@IIAAOGBO@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082eb00 libucrtd:output.obj + 0003:00032cf8 ??_C@_1FG@OBJBDPAC@?$AA?$CI?$AA?$CC?$AAN?$AA?5?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AAm?$AAo?$AAd?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe@ 0082ecf8 libucrtd:output.obj + 0003:00032d60 ??_C@_1BOA@BMEGDMHF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082ed60 libucrtd:output.obj + 0003:00032fa0 ??_C@_1EC@GJPNJDCN@?$AA_?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA_?$AAm?$AAo?$AAd?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?3?$AA?3?$AAn?$AAo?$AAn?$AAe@ 0082efa0 libucrtd:output.obj + 0003:00032ff0 ??_C@_1DG@CEJKFDMO@?$AAs?$AAt?$AAa?$AAt?$AAe?$AA_?$AAc?$AAa?$AAs?$AAe?$AA_?$AAn?$AAo?$AAr?$AAm?$AAa?$AAl?$AA_?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA?$CI?$AA?$CJ?$AA?$AA@ 0082eff0 libucrtd:output.obj + 0003:00033030 ??_C@_1BOE@IPKNNOEE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082f030 libucrtd:output.obj + 0003:00033278 ??_C@_1IC@NLEOMCDL@?$AA_?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr@ 0082f278 libucrtd:output.obj + 0003:00033318 ??_C@_1BFK@KNCMELHH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 0082f318 libucrtd:output.obj + 0003:000334b8 ??_C@_1FK@BCPANIEK@?$AA?$CI?$AA?$CC?$AAM?$AAi?$AAs?$AAs?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt@ 0082f4b8 libucrtd:output.obj + 0003:00033528 ??_C@_1BEI@IHLBHMLJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 0082f528 libucrtd:output.obj + 0003:000336b8 ??_C@_1BMI@LKDDDFDL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082f6b8 libucrtd:output.obj + 0003:000338e0 ??_C@_1BMM@JGEKEBKL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082f8e0 libucrtd:output.obj + 0003:00033b08 ??_C@_1BEO@ODGKIOAL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 0082fb08 libucrtd:output.obj + 0003:00033c98 ??_C@_1BDM@GFCGMNL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 0082fc98 libucrtd:output.obj + 0003:00033e18 ??_C@_1BMI@KBPJOJJI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 0082fe18 libucrtd:output.obj + 0003:00034040 ??_C@_1BMM@PGHHMNDM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00830040 libucrtd:output.obj + 0003:00034268 ??_C@_1CI@DDKMNCPP@?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00830268 libucrtd:output.obj + 0003:00034298 ??_C@_1HK@IIPGOADH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu@ 00830298 libucrtd:output.obj + 0003:00034330 ??_C@_1BLA@MEDMHIOH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00830330 libucrtd:output.obj + 0003:00034538 ??_C@_1BLE@LCKPBJON@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00830538 libucrtd:output.obj + 0003:00034748 ??_C@_1HE@IACOMEJF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu@ 00830748 libucrtd:output.obj + 0003:000347d8 ??_C@_1BOA@CBIEMBEE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008307d8 libucrtd:output.obj + 0003:00034a18 ??_C@_1BOE@NLICFINO@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00830a18 libucrtd:output.obj + 0003:00034c60 ??_C@_1BFK@IOIDDMPJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00830c60 libucrtd:output.obj + 0003:00034e00 ??_C@_1BEI@JNJAFAD@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00830e00 libucrtd:output.obj + 0003:00034f90 ??_C@_1BMI@PKGBOKJK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00830f90 libucrtd:output.obj + 0003:000351b8 ??_C@_1BMM@BLBJDDIA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008311b8 libucrtd:output.obj + 0003:000353e0 ??_C@_1BEO@JEHLMMKB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008313e0 libucrtd:output.obj + 0003:00035570 ??_C@_1BDM@FDOLKCHK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00831570 libucrtd:output.obj + 0003:000356f0 ??_C@_1BNK@ONPHCEAM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008316f0 libucrtd:output.obj + 0003:00035928 ??_C@_1BNO@LMMLJOOJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00831928 libucrtd:output.obj + 0003:00035b68 ??_C@_1GC@BNMHNGKM@?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?3?$AA?3?$AAn?$AAo?$AAr?$AAm?$AAa?$AAl?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA_?$AAs?$AAt?$AAa?$AAt@ 00831b68 libucrtd:output.obj + 0003:00035be0 ??_C@_1BEC@FNIGNBHI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAv?$AAa?$AAl?$AAi?$AAd@ 00831be0 libucrtd:output.obj + 0003:00035d68 ??_C@_1BMC@DAENMDAD@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00831d68 libucrtd:output.obj + 0003:00035f88 ??_C@_1BMG@KOENKAMB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00831f88 libucrtd:output.obj + 0003:000361a8 ??_C@_1BDG@PLANJEFE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAv?$AAa?$AAl?$AAi?$AAd@ 008321a8 libucrtd:output.obj + 0003:00036320 ??_C@_1BMI@DNMDMAAN@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00832320 libucrtd:output.obj + 0003:00036548 ??_C@_1BMM@JHGFKAND@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00832548 libucrtd:output.obj + 0003:00036770 ??_C@_1CA@ONEGMNAN@?$AA_?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?4?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?$CI?$AA?$CJ?$AA?$AA@ 00832770 libucrtd:output.obj + 0003:00036798 ??_C@_1HK@MPBCDOK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu@ 00832798 libucrtd:output.obj + 0003:00036830 ??_C@_1BLA@GJNGKGIK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00832830 libucrtd:output.obj + 0003:00036a38 ??_C@_1BLE@PAACOKDK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00832a38 libucrtd:output.obj + 0003:00036c48 ??_C@_1HE@FGKHNBNL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu@ 00832c48 libucrtd:output.obj + 0003:00036cd8 ??_C@_1BEC@NDOOKIMC@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAv?$AAa?$AAl?$AAi?$AAd@ 00832cd8 libucrtd:output.obj + 0003:00036e60 ??_C@_1EK@PNGFDECN@?$AA?$CI?$AA?$CC?$AA?8?$AAn?$AA?8?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?5?$AAd?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AAd?$AA?$CC@ 00832e60 libucrtd:output.obj + 0003:00036eb8 ??_C@_1BNI@OPBGCNOB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00832eb8 libucrtd:output.obj + 0003:000370f0 ??_C@_1EO@GHKFGFKL@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAn?$AAt?$AAe?$AAg?$AAe?$AAr?$AA?5?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AAm?$AAo?$AAd?$AAi?$AAf?$AAi?$AAe@ 008330f0 libucrtd:output.obj + 0003:00037150 ??_C@_1JC@PMCLKCOC@?$AAp?$AAr?$AAe?$AAc?$AAi?$AAs?$AAi?$AAo?$AAn?$AA_?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAi@ 00833150 libucrtd:output.obj + 0003:00037200 ??_C@_1BAG@GKCGGKOF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00833200 libucrtd:output.obj + 0003:00037340 ??_C@_1IC@KGDNLBNC@?$AAw?$AAi?$AAd?$AAt?$AAh?$AA_?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr@ 00833340 libucrtd:output.obj + 0003:000373e0 ??_C@_1BAK@CDLANFGA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008333e0 libucrtd:output.obj + 0003:00037520 ??_C@_1BDG@KOLEFKPF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAv?$AAa?$AAl?$AAi?$AAd@ 00833520 libucrtd:output.obj + 0003:00037698 ??_C@_1BMA@CBPCAOAB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00833698 libucrtd:output.obj + 0003:000378b8 ??_C@_1PK@KBJLALII@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008338b8 libucrtd:output.obj + 0003:000379e8 ??_C@_1PO@PODEJAGE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008339e8 libucrtd:output.obj + 0003:00037b18 ??_C@_1BMA@IHIBOLMD@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00833b18 libucrtd:output.obj + 0003:00037d38 ??_C@_1BKI@CJEIGDAI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00833d38 libucrtd:output.obj + 0003:00037f38 ??_C@_1BNI@IMOCDBNE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00833f38 libucrtd:output.obj + 0003:00038170 ??_C@_1BAG@DOFNHDMF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00834170 libucrtd:output.obj + 0003:000382b0 ??_C@_1BAK@DALINHHB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008342b0 libucrtd:output.obj + 0003:000383f0 ??_C@_1BMA@GACGPGHN@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008343f0 libucrtd:output.obj + 0003:00038610 ??_C@_1PK@KBJECIEM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00834610 libucrtd:output.obj + 0003:00038740 ??_C@_1PO@LKIIANED@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00834740 libucrtd:output.obj + 0003:00038870 ??_C@_1BNC@DONELHFF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00834870 libucrtd:output.obj + 0003:00038aa0 ??_C@_1BLK@BGFMMAPO@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00834aa0 libucrtd:output.obj + 0003:00038cb8 ??_C@_1BMA@PGOJAHFP@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00834cb8 libucrtd:output.obj + 0003:00038ed8 ??_C@_1BKI@NDKBCDGP@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00834ed8 libucrtd:output.obj + 0003:000390d4 ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 008350d4 libucrtd:output.obj + 0003:000390e4 ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 008350e4 libucrtd:output.obj + 0003:000390f0 ??_C@_1BOE@LIBLDKPN@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008350f0 libucrtd:output.obj + 0003:00039338 ??_C@_1LO@HECDHMMI@?$AAi?$AAs?$AA_?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AAe?$AAt?$AAe?$AAr?$AA_?$AAr?$AAe?$AAa?$AAp?$AAp?$AAe?$AAa?$AAr@ 00835338 libucrtd:output.obj + 0003:00039420 ??_C@_1BCI@OBMMNJKK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00835420 libucrtd:output.obj + 0003:00039588 ??_C@_1FE@IAFJEKN@?$AA_?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA_?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5@ 00835588 libucrtd:output.obj + 0003:000395f0 ??_C@_1BCC@GJLKCHIG@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008355f0 libucrtd:output.obj + 0003:00039750 ??_C@_1BMM@KBPMKFBC@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00835750 libucrtd:output.obj + 0003:00039978 ??_C@_1CK@LGDCECDH@?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAc?$AAh?$AAa?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?$AA@ 00835978 libucrtd:output.obj + 0003:000399b0 ??_C@_1BNI@EDCGAPJB@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008359b0 libucrtd:output.obj + 0003:00039be8 ??_C@_1BBM@CBBAFMPJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00835be8 libucrtd:output.obj + 0003:00039d40 ??_C@_1BBG@KIHCHFIM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00835d40 libucrtd:output.obj + 0003:00039e90 ??_C@_1BMM@MBMBCJIF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00835e90 libucrtd:output.obj + 0003:0003a0b8 ??_C@_1BLE@IFBJPNFE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008360b8 libucrtd:output.obj + 0003:0003a2c8 ??_C@_1BMA@FANDDEHK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008362c8 libucrtd:output.obj + 0003:0003a4e8 ??_C@_1BOE@OMDELMGH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008364e8 libucrtd:output.obj + 0003:0003a730 ??_C@_1BCI@ILAANKJG@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00836730 libucrtd:output.obj + 0003:0003a898 ??_C@_1BCC@PDNLFIHK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00836898 libucrtd:output.obj + 0003:0003a9f8 ??_C@_1BMM@CMKPNHDJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008369f8 libucrtd:output.obj + 0003:0003ac20 ??_C@_1BNI@EJPCEBAG@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00836c20 libucrtd:output.obj + 0003:0003ae58 ??_C@_1BBM@LLHBCDAF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00836e58 libucrtd:output.obj + 0003:0003afb0 ??_C@_1BBG@JLLDGFML@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00836fb0 libucrtd:output.obj + 0003:0003b100 ??_C@_1BNO@ILHNHKFA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00837100 libucrtd:output.obj + 0003:0003b340 ??_C@_1BMG@JJPLEEHI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00837340 libucrtd:output.obj + 0003:0003b560 ??_C@_1BNC@BAMNIOCM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00837560 libucrtd:output.obj + 0003:0003b790 ??_C@_1BMM@KANDEEGK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00837790 libucrtd:output.obj + 0003:0003b9b8 ??_C@_1BLE@MHLEAOID@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008379b8 libucrtd:output.obj + 0003:0003bbc8 ??_C@_1BMA@MEBEEDJE@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00837bc8 libucrtd:output.obj + 0003:0003bde8 ??_C@_1BCA@HCPCJFGA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00837de8 libucrtd:output.obj + 0003:0003bf44 ??_C@_0DI@KIFBHMNO@minkernel?2crts?2ucrt?2inc?2corecrt_@ 00837f44 libucrtd:output.obj + 0003:0003bf88 ??_C@_1BBE@IBPNPIIM@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00837f88 libucrtd:output.obj + 0003:0003c0d8 ??_C@_1BCA@FCGNBIN@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 008380d8 libucrtd:output.obj + 0003:0003c238 ??_C@_1BBE@FLKADCDA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA_?$AAp@ 00838238 libucrtd:output.obj + 0003:0003c388 ??_C@_1BMK@JGIBNIA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00838388 libucrtd:output.obj + 0003:0003c5b0 ??_C@_1BLC@INKIGOCN@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008385b0 libucrtd:output.obj + 0003:0003c7b8 ??_C@_1BNK@KHNJGCCP@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008387b8 libucrtd:output.obj + 0003:0003c9f0 ??_C@_1BNO@OHFFMOOJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008389f0 libucrtd:output.obj + 0003:0003cc30 ??_C@_1BMC@FAGJFBLI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00838c30 libucrtd:output.obj + 0003:0003ce50 ??_C@_1BMG@CGPDIFDK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00838e50 libucrtd:output.obj + 0003:0003d070 ??_C@_1BNC@OHPDPPJK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00839070 libucrtd:output.obj + 0003:0003d2a0 ??_C@_1BLK@FOLFMPJH@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008392a0 libucrtd:output.obj + 0003:0003d4b8 ??_C@_1BNO@NAODCKFA@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008394b8 libucrtd:output.obj + 0003:0003d6f8 ??_C@_1BMG@BBEFGBID@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 008396f8 libucrtd:output.obj + 0003:0003d918 ??_C@_1BNC@JPKLPOHO@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?3?$AA?3?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AAr?$AAo?$AAc?$AAe@ 00839918 libucrtd:output.obj + 0003:0003db48 ??_C@_0CK@CFPGFGGO@Assertion?5failed?3?5?$CFTs?0?5file?5?$CFTs?0@ 00839b48 libucrtd:assert.obj + 0003:0003db80 ??_C@_1FE@LHBLIKM@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5?$AA?$CF?$AAT?$AAs?$AA?0?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAT?$AAs?$AA?0@ 00839b80 libucrtd:assert.obj + 0003:0003dbe4 ??_C@_0CF@GOGNBNAK@Microsoft?5Visual?5C?$CL?$CL?5Runtime?5Lib@ 00839be4 libucrtd:assert.obj + 0003:0003dc10 ??_C@_0BC@LAIDCHCH@Assertion?5failed?$CB?$AA@ 00839c10 libucrtd:assert.obj + 0003:0003dc28 ??_C@_1CE@OJBNHDMO@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$CB?$AA?$AA@ 00839c28 libucrtd:assert.obj + 0003:0003dc54 ??_C@_09KLGCKDOD@Program?3?5?$AA@ 00839c54 libucrtd:assert.obj + 0003:0003dc60 ??_C@_1BE@PHKBBGE@?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 00839c60 libucrtd:assert.obj + 0003:0003dc78 ??_C@_06IGPBOHMJ@File?3?5?$AA@ 00839c78 libucrtd:assert.obj + 0003:0003dc80 ??_C@_1O@HEMHKNDC@?$AAF?$AAi?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 00839c80 libucrtd:assert.obj + 0003:0003dc90 ??_C@_06FIEBOLOH@Line?3?5?$AA@ 00839c90 libucrtd:assert.obj + 0003:0003dc98 ??_C@_1O@KCAFKHJE@?$AAL?$AAi?$AAn?$AAe?$AA?3?$AA?5?$AA?$AA@ 00839c98 libucrtd:assert.obj + 0003:0003dca8 ??_C@_0N@MEECIJGN@Expression?3?5?$AA@ 00839ca8 libucrtd:assert.obj + 0003:0003dcb8 ??_C@_0HA@OJHAGA@For?5information?5on?5how?5your?5prog@ 00839cb8 libucrtd:assert.obj + 0003:0003dd40 ??_C@_1OA@EGMLFBHJ@?$AAF?$AAo?$AAr?$AA?5?$AAi?$AAn?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAh?$AAo?$AAw?$AA?5?$AAy?$AAo?$AAu?$AAr?$AA?5?$AAp?$AAr?$AAo?$AAg@ 00839d40 libucrtd:assert.obj + 0003:0003de4c ??_C@_0DN@EBBNMLME@?$CIPress?5Retry?5to?5debug?5the?5applic@ 00839e4c libucrtd:assert.obj + 0003:0003de98 ??_C@_1HK@POCJMFGK@?$AA?$CI?$AAP?$AAr?$AAe?$AAs?$AAs?$AA?5?$AAR?$AAe?$AAt?$AAr?$AAy?$AA?5?$AAt?$AAo?$AA?5?$AAd?$AAe?$AAb?$AAu?$AAg?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAa?$AAp?$AAp?$AAl?$AAi?$AAc@ 00839e98 libucrtd:assert.obj + 0003:0003df2c ??_C@_03KHICJKCI@?4?4?4?$AA@ 00839f2c libucrtd:assert.obj + 0003:0003df30 ??_C@_01EEMJAFIK@?6?$AA@ 00839f30 libucrtd:assert.obj + 0003:0003df34 ??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@ 00839f34 libucrtd:assert.obj + 0003:0003df38 ??_C@_02PHMGELLB@?6?6?$AA@ 00839f38 libucrtd:assert.obj + 0003:0003df40 ??_C@_1GE@PMLOPPED@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00839f40 libucrtd:assert.obj + 0003:0003dfb8 ??_C@_1FE@LPBNNEBB@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAt?$AAo?$AA_?$AAm?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA_?$AAb?$AAo?$AAx?$AA_?$AAb?$AAu?$AAi@ 00839fb8 libucrtd:assert.obj + 0003:0003e020 ??_C@_1KC@PIMENJIN@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a020 libucrtd:assert.obj + 0003:0003e0e8 ??_C@_1KM@HGCBPADM@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a0e8 libucrtd:assert.obj + 0003:0003e1b8 ??_C@_1KK@KDENILFB@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a1b8 libucrtd:assert.obj + 0003:0003e288 ??_C@_1BCM@OLNPCNDL@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?5?$AAp?$AAc?$AAh?$AAP?$AAr?$AAo?$AAg?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAC?$AAh?$AAa?$AAr?$AAa?$AAc@ 0083a288 libucrtd:assert.obj + 0003:0003e3f0 ??_C@_1HM@LGKHMJCC@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a3f0 libucrtd:assert.obj + 0003:0003e488 ??_C@_1JO@KJEGDHLC@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a488 libucrtd:assert.obj + 0003:0003e548 ??_C@_1KE@NJCNOBGA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083a548 libucrtd:assert.obj + 0003:0003e610 ??_C@_1LC@HKLLCKBM@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083a610 libucrtd:assert.obj + 0003:0003e6e8 ??_C@_1KI@JBNHIIKF@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?5?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083a6e8 libucrtd:assert.obj + 0003:0003e7b8 ??_C@_1IK@KKBPPOFO@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?5?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083a7b8 libucrtd:assert.obj + 0003:0003e860 ??_C@_1LO@BFIEBOKI@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083a860 libucrtd:assert.obj + 0003:0003e948 ??_C@_1KE@OEANDPDB@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083a948 libucrtd:assert.obj + 0003:0003ea10 ??_C@_1LG@LMABGFBP@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?5?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0@ 0083aa10 libucrtd:assert.obj + 0003:0003eaf0 ??_C@_1IA@JPAKIPAA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083aaf0 libucrtd:assert.obj + 0003:0003eb90 ??_C@_1KE@PADDJOL@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083ab90 libucrtd:assert.obj + 0003:0003ec58 ??_C@_1BAK@NPHNFBPH@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAi?$AAt?$AAo?$AAt?$AA_?$AAs?$AA?$CI?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA_?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?0?$AA?5?$AAa?$AAs?$AAs@ 0083ac58 libucrtd:assert.obj + 0003:0003ed98 ??_C@_1LA@JOKMAPHG@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083ad98 libucrtd:assert.obj + 0003:0003ee70 ??_C@_1LA@IFFOJJCK@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AA?5?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr@ 0083ae70 libucrtd:assert.obj + 0003:0003ef48 ??_C@_1KG@MFCBNPOK@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083af48 libucrtd:assert.obj + 0003:0003f010 ??_C@_1IC@EDHOAOJ@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083b010 libucrtd:assert.obj + 0003:0003f0b0 ??_C@_1KE@NALOKOIG@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083b0b0 libucrtd:assert.obj + 0003:0003f178 ??_C@_1KE@GGOFBC@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAa?$AAs?$AAs?$AAe?$AAr?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5@ 0083b178 libucrtd:assert.obj + 0003:0003f240 ??_C@_1FO@CIJKACCM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083b240 libucrtd:fread.obj + 0003:0003f2b0 ??_C@_1BA@CMLCEIGG@?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAs?$AA?$AA@ 0083b2b0 libucrtd:fread.obj + 0003:0003f2c4 ??_C@_1CE@MCCHPLBM@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083b2c4 libucrtd:fread.obj + 0003:0003f2f0 ??_C@_1CA@IDPOGFL@?$AA_?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA_?$AAs?$AA?$AA@ 0083b2f0 libucrtd:fread.obj + 0003:0003f318 ??_C@_1BO@MHPFFFJJ@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?4?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?$CI?$AA?$CJ?$AA?$AA@ 0083b318 libucrtd:fread.obj + 0003:0003f340 ??_C@_1FG@KLKDPCLL@?$AAe?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAe?$AAl?$AAe@ 0083b340 libucrtd:fread.obj + 0003:0003f3a8 ??_C@_1LG@DCNDJCHK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?4?$AA?5?$AAF?$AAl?$AAu@ 0083b3a8 libucrtd:fread.obj + 0003:0003f484 ??_C@_1DA@DKEFLDMG@?$AA?$CI?$AA?$CC?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 0083b484 libucrtd:fread.obj + 0003:0003f4e0 ??_C@_1GG@LJIGDNNP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 0083b4e0 libucrtd:system.obj + 0003:0003f55c ??_C@_1BM@NCHJIBJC@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAy?$AAs?$AAt?$AAe?$AAm?$AA?$AA@ 0083b55c libucrtd:system.obj + 0003:0003f580 ??_C@_1JK@PAMMDFPO@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAd?$AAu?$AAp?$AAe?$AAn?$AAv?$AA_?$AAs?$AA_?$AAc?$AAr?$AAt?$AA?$CI?$AAc?$AAo?$AAm?$AAs?$AAp?$AAe?$AAc?$AA_?$AAv?$AAa@ 0083b580 libucrtd:system.obj + 0003:0003f638 ??_C@_1CG@IPGACMHA@?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd?$AA?$FL?$AA0?$AA?$FN?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?$AA@ 0083b638 libucrtd:system.obj + 0003:0003f698 ??_C@_0DC@GGIGALME@minkernel?2crts?2ucrt?2inc?2corecrt_@ 0083b698 libucrtd:system.obj + 0003:0003f6ec ??_C@_04HJMOFLDF@Free?$AA@ 0083b6ec libucrtd:debug_heap.obj + 0003:0003f6f4 ??_C@_06EFAGIKOH@Normal?$AA@ 0083b6f4 libucrtd:debug_heap.obj + 0003:0003f6fc ??_C@_03OGPFLFLO@CRT?$AA@ 0083b6fc libucrtd:debug_heap.obj + 0003:0003f700 ??_C@_06KMEJCCGM@Ignore?$AA@ 0083b700 libucrtd:debug_heap.obj + 0003:0003f708 ??_C@_06PJIGMIJB@Client?$AA@ 0083b708 libucrtd:debug_heap.obj + 0003:0003f710 ??_C@_1CE@LJFEPPMP@?$AA_?$AAC?$AAr?$AAt?$AAC?$AAh?$AAe?$AAc?$AAk?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?$CI?$AA?$CJ?$AA?$AA@ 0083b710 libucrtd:debug_heap.obj + 0003:0003f740 ??_C@_1GG@OCLHPJPK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAh@ 0083b740 libucrtd:debug_heap.obj + 0003:0003f7bc ??_C@_0DF@BBEGIFEK@Client?5hook?5allocation?5failure?5a@ 0083b7bc libucrtd:debug_heap.obj + 0003:0003f7fc ??_C@_0CB@CCLOLAHO@Client?5hook?5allocation?5failure?4?6@ 0083b7fc libucrtd:debug_heap.obj + 0003:0003f824 ??_C@_02DKCKIIND@?$CFs?$AA@ 0083b824 libucrtd:debug_heap.obj + 0003:0003f828 ??_C@_0DC@JEMAGEKG@Error?3?5memory?5allocation?3?5bad?5me@ 0083b828 libucrtd:debug_heap.obj + 0003:0003f864 ??_C@_0DI@KKJPDPGM@Client?5hook?5re?9allocation?5failur@ 0083b864 libucrtd:debug_heap.obj + 0003:0003f8a8 ??_C@_0CE@DOFMDOL@Client?5hook?5re?9allocation?5failur@ 0083b8a8 libucrtd:debug_heap.obj + 0003:0003f8d8 ??_C@_0FA@EFEIGJKG@Error?3?5memory?5allocation?3?5bad?5me@ 0083b8d8 libucrtd:debug_heap.obj + 0003:0003f938 ??_C@_0EM@LGFLMAGJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 0083b938 libucrtd:debug_heap.obj + 0003:0003f994 ??_C@_1DM@DEDLGNML@?$AA_?$AAC?$AAr?$AAt?$AAI?$AAs?$AAV?$AAa?$AAl?$AAi?$AAd?$AAH?$AAe?$AAa?$AAp?$AAP?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$CI?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?$CJ?$AA?$AA@ 0083b994 libucrtd:debug_heap.obj + 0003:0003f9e0 ??_C@_1PC@MCGKJLN@?$AAo?$AAl?$AAd?$AA_?$AAh?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AA_?$AAl?$AAi?$AAn?$AAe?$AA_?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA_?$AAn@ 0083b9e0 libucrtd:debug_heap.obj + 0003:0003fb04 ??_C@_0DA@HFBKENN@Error?3?5possible?5heap?5corruption?5@ 0083bb04 libucrtd:debug_heap.obj + 0003:0003fb40 ??_C@_1JM@MCMEPJEP@?$AAr?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAi?$AAo?$AAn?$AA_?$AAi?$AAs?$AA_?$AAa?$AAl?$AAl?$AAo?$AAw?$AAe?$AAd?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA?$CB?$AAr?$AAe?$AAa@ 0083bb40 libucrtd:debug_heap.obj + 0003:0003fbfc ??_C@_1DM@LNOPKAIJ@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAl?$AAa?$AAs?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAl?$AAd?$AA_?$AAh?$AAe?$AAa?$AAd?$AA?$AA@ 0083bbfc libucrtd:debug_heap.obj + 0003:0003fc44 ??_C@_1DO@HABCJBHO@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAf?$AAi?$AAr?$AAs?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAl?$AAd?$AA_?$AAh?$AAe?$AAa?$AAd?$AA?$AA@ 0083bc44 libucrtd:debug_heap.obj + 0003:0003fc90 ??_C@_1CC@CKEAHJPH@?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083bc90 libucrtd:debug_heap.obj + 0003:0003fcb8 ??_C@_1BI@HAPNGHDP@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083bcb8 libucrtd:debug_heap.obj + 0003:0003fcd8 ??_C@_0EJ@HEIBCIMJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 0083bcd8 libucrtd:debug_heap.obj + 0003:0003fd30 ??_C@_0BL@KEIPLFAC@Client?5hook?5free?5failure?4?6?$AA@ 0083bd30 libucrtd:debug_heap.obj + 0003:0003fd50 ??_C@_1FA@KDNEBILF@?$AAi?$AAs?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA_?$AAt?$AAy?$AAp?$AAe?$AA_?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?$CI?$AAh?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?9?$AA?$DO?$AA_?$AAb?$AAl?$AAo@ 0083bd50 libucrtd:debug_heap.obj + 0003:0003fdb0 ??_C@_0KI@JGFOHMEB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 0083bdb0 libucrtd:debug_heap.obj + 0003:0003fe80 ??_C@_0IK@PJCGLBOB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 0083be80 libucrtd:debug_heap.obj + 0003:0003ff28 ??_C@_0KE@MBMNHHHN@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 0083bf28 libucrtd:debug_heap.obj + 0003:0003fff0 ??_C@_0IG@LEMBDCJK@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 0083bff0 libucrtd:debug_heap.obj + 0003:00040090 ??_C@_1OK@GFEOEJAF@?$AAh?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?9?$AA?$DO?$AA_?$AAl?$AAi?$AAn?$AAe?$AA_?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA_?$AAn?$AAu?$AAm@ 0083c090 libucrtd:debug_heap.obj + 0003:000401a8 ??_C@_1ME@GFALMLNA@?$AAh?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?9?$AA?$DO?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA_?$AAu?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA_?$AAu?$AAs?$AAe?$AA?5@ 0083c1a8 libucrtd:debug_heap.obj + 0003:00040294 ??_C@_1DI@ILNOPEPI@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAl?$AAa?$AAs?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAh?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?$AA@ 0083c294 libucrtd:debug_heap.obj + 0003:000402d8 ??_C@_1DK@KEHFGDIJ@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAf?$AAi?$AAr?$AAs?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAh?$AAe?$AAa?$AAd?$AAe?$AAr?$AA?$AA@ 0083c2d8 libucrtd:debug_heap.obj + 0003:00040320 ??_C@_1BG@MBKOGDLD@?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083c320 libucrtd:debug_heap.obj + 0003:0004033c ??_C@_07OHKEFPKJ@DAMAGED?$AA@ 0083c33c libucrtd:debug_heap.obj + 0003:00040348 ??_C@_0KA@IHNJJKPL@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 0083c348 libucrtd:debug_heap.obj + 0003:00040408 ??_C@_0IC@BBJIOOJH@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 0083c408 libucrtd:debug_heap.obj + 0003:000404a8 ??_C@_0EG@DGJMPDBH@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 0083c4a8 libucrtd:debug_heap.obj + 0003:000404fc ??_C@_0CI@JMLBEDHJ@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 0083c4fc libucrtd:debug_heap.obj + 0003:00040530 ??_C@_0EG@GPFHANHO@Cycle?5in?5block?5list?5detected?5whi@ 0083c530 libucrtd:debug_heap.obj + 0003:00040584 ??_C@_0BJ@ELMAOCAJ@Heap?5validation?5failed?4?6?$AA@ 0083c584 libucrtd:debug_heap.obj + 0003:000405a8 ??_C@_1IE@BBIFDGEB@?$AAn?$AAe?$AAw?$AA_?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAF?$AAL?$AAA?$AAG?$AA?5@ 0083c5a8 libucrtd:debug_heap.obj + 0003:00040648 ??_C@_1BO@GJFDNMNF@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAD?$AAb?$AAg?$AAF?$AAl?$AAa?$AAg?$AA?$AA@ 0083c648 libucrtd:debug_heap.obj + 0003:0004066c ??_C@_1CI@CEIBPAIA@?$AAc?$AAa?$AAl?$AAl?$AAb?$AAa?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083c66c libucrtd:debug_heap.obj + 0003:0004069c ??_C@_1DE@GJCKCKEC@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAo?$AAF?$AAo?$AAr?$AAA?$AAl?$AAl?$AAC?$AAl?$AAi?$AAe?$AAn?$AAt?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AAs?$AA?$AA@ 0083c69c libucrtd:debug_heap.obj + 0003:000406dc ??_C@_1CC@BBKMONGA@?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083c6dc libucrtd:debug_heap.obj + 0003:00040704 ??_C@_1CE@NJJKELF@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAC?$AAh?$AAe?$AAc?$AAk?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?$AA@ 0083c704 libucrtd:debug_heap.obj + 0003:00040730 ??_C@_0DP@LEFMFBOD@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 0083c730 libucrtd:debug_heap.obj + 0003:0004077c ??_C@_0CB@EAAIGELO@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 0083c77c libucrtd:debug_heap.obj + 0003:000407a4 ??_C@_1CE@PDIENACM@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAi?$AAf?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAe?$AA?$AA@ 0083c7a4 libucrtd:debug_heap.obj + 0003:000407d0 ??_C@_1CK@FFKLBHMD@?$AAo?$AAl?$AAd?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083c7d0 libucrtd:debug_heap.obj + 0003:00040804 ??_C@_1CK@NJPPHDJP@?$AAn?$AAe?$AAw?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083c804 libucrtd:debug_heap.obj + 0003:00040838 ??_C@_05MKKEDADM@?$CF?42X?5?$AA@ 0083c838 libucrtd:debug_heap.obj + 0003:00040840 ??_C@_1CC@DIJAHFFJ@?$AAp?$AAr?$AAi?$AAn?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA_?$AAd?$AAa?$AAt?$AAa?$AA?$AA@ 0083c840 libucrtd:debug_heap.obj + 0003:00040868 ??_C@_0BA@HJBKCELP@?5Data?3?5?$DM?$CFs?$DO?5?$CFs?6?$AA@ 0083c868 libucrtd:debug_heap.obj + 0003:0004087c ??_C@_0BE@KCIPKCIA@Dumping?5objects?5?9?$DO?6?$AA@ 0083c87c libucrtd:debug_heap.obj + 0003:00040894 ??_C@_0BE@OIEFNFL@?$CDFile?5Error?$CD?$CI?$CFd?$CJ?5?3?5?$AA@ 0083c894 libucrtd:debug_heap.obj + 0003:000408ac ??_C@_0L@JMEFFCCJ@?$CFhs?$CI?$CFd?$CJ?5?3?5?$AA@ 0083c8ac libucrtd:debug_heap.obj + 0003:000408bc ??_C@_06PKLGBFGM@?$HL?$CFld?$HN?5?$AA@ 0083c8bc libucrtd:debug_heap.obj + 0003:000408c4 ??_C@_0DD@GHNAAKBB@client?5block?5at?50x?$CFp?0?5subtype?5?$CFx@ 0083c8c4 libucrtd:debug_heap.obj + 0003:00040904 ??_C@_0CH@FAGDDGPN@normal?5block?5at?50x?$CFp?0?5?$CFIu?5bytes?5@ 0083c904 libucrtd:debug_heap.obj + 0003:00040934 ??_C@_0DA@MDLBNIBM@crt?5block?5at?50x?$CFp?0?5subtype?5?$CFx?0?5?$CF@ 0083c934 libucrtd:debug_heap.obj + 0003:00040970 ??_C@_0BH@GFGKJDCO@Object?5dump?5complete?4?6?$AA@ 0083c970 libucrtd:debug_heap.obj + 0003:0004098c ??_C@_0BI@JBFPOEJA@Detected?5memory?5leaks?$CB?6?$AA@ 0083c98c libucrtd:debug_heap.obj + 0003:000409a8 ??_C@_1CM@MPNIBKGK@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAu?$AAm?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAs?$AAt?$AAi?$AAc?$AAs?$AA?$AA@ 0083c9a8 libucrtd:debug_heap.obj + 0003:000409dc ??_C@_0BO@DACNIABB@?$CFId?5bytes?5in?5?$CFId?5?$CFhs?5Blocks?4?6?$AA@ 0083c9dc libucrtd:debug_heap.obj + 0003:00040a00 ??_C@_0CB@BLHDAFNE@Largest?5number?5used?3?5?$CFId?5bytes?4?6@ 0083ca00 libucrtd:debug_heap.obj + 0003:00040a28 ??_C@_0BP@DEDHGGGI@Total?5allocations?3?5?$CFId?5bytes?4?6?$AA@ 0083ca28 libucrtd:debug_heap.obj + 0003:00040a50 ??_C@_1CM@JKMDHENJ@?$AAI?$AAS?$AA_?$AA2?$AA_?$AAP?$AAO?$AAW?$AA_?$AAN?$AA?$CI?$AAa?$AAl?$AAi?$AAg?$AAn?$AAm?$AAe?$AAn?$AAt?$AA?$CJ?$AA?$AA@ 0083ca50 libucrtd:debug_heap.obj + 0003:00040a84 ??_C@_1DG@DONCJBBJ@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAm?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083ca84 libucrtd:debug_heap.obj + 0003:00040ac4 ??_C@_1DK@LFLKFPDA@?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 0083cac4 libucrtd:debug_heap.obj + 0003:00040b10 ??_C@_0EI@NDNJMAJK@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 0083cb10 libucrtd:debug_heap.obj + 0003:00040b68 ??_C@_0DL@PGHMMKNE@Damage?5before?50x?$CFp?5which?5was?5all@ 0083cb68 libucrtd:debug_heap.obj + 0003:00040bb0 ??_C@_1DI@NINIKFFK@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAr?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083cbb0 libucrtd:debug_heap.obj + 0003:00040bf4 ??_C@_1CG@CEGMHIMN@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083cbf4 libucrtd:debug_heap.obj + 0003:00040c28 ??_C@_0EF@PGELACII@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 0083cc28 libucrtd:debug_heap.obj + 0003:00040c7c __Fenv1 0083cc7c libucrtd:atox.obj + 0003:00040c88 ??_C@_1GE@DPGDJKLM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAi?$AAn?$AAc?$AA?2?$AAc?$AAo?$AAr?$AAe?$AAc?$AAr?$AAt?$AA_@ 0083cc88 libucrtd:atox.obj + 0003:00040d00 ??_C@_1EO@MLJCKPIB@?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAa?$AAs?$AAe?$AA?5@ 0083cd00 libucrtd:atox.obj + 0003:00040d60 ??_C@_1DI@BANODKFL@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAp?$AAa?$AAr?$AAs?$AAe?$AA_?$AAi?$AAn?$AAt?$AAe?$AAg?$AAe?$AAr?$AA?$AA@ 0083cd60 libucrtd:atox.obj + 0003:00040da4 ??_C@_1CM@GJENOOEJ@?$AAc?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CK?$AA_?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAc?$AA?$AA@ 0083cda4 libucrtd:atox.obj + 0003:00040dd8 ??_C@_1HA@CONLANFI@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr@ 0083cdd8 libucrtd:atox.obj + 0003:00040e60 ??_C@_1BM@PNEBBBDO@?$AA_?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083ce60 libucrtd:atox.obj + 0003:00040e88 ??_C@_1HG@FCDBLOEG@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr@ 0083ce88 libucrtd:atox.obj + 0003:00040f18 ??_C@_1GK@MNHIDABG@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr@ 0083cf18 libucrtd:atox.obj + 0003:00040f98 ??_C@_1HA@MKKIHBHP@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAc?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA_?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr@ 0083cf98 libucrtd:atox.obj + 0003:00041020 ??_C@_1GA@DKNOMDCL@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d020 libucrtd:fclose.obj + 0003:00041094 ??_C@_1O@EGMJNCOI@?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 0083d094 libucrtd:fclose.obj + 0003:000410a4 ??_C@_1BO@JINCABEC@?$AA_?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0083d0a4 libucrtd:fclose.obj + 0003:000410c8 ??_C@_1FO@HEEKIEFN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d0c8 libucrtd:fgetc.obj + 0003:00041138 ??_C@_1BM@ODJEACKA@?$AA_?$AAf?$AAg?$AAe?$AAt?$AAc?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0083d138 libucrtd:fgetc.obj + 0003:0004115c ??_C@_1M@FBFFFGJE@?$AAf?$AAg?$AAe?$AAt?$AAc?$AA?$AA@ 0083d15c libucrtd:fgetc.obj + 0003:00041170 ??_C@_1GC@KIBACKPA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d170 libucrtd:fgetpos.obj + 0003:000411e8 ??_C@_1BA@PDKPGILH@?$AAf?$AAg?$AAe?$AAt?$AAp?$AAo?$AAs?$AA?$AA@ 0083d1e8 libucrtd:fgetpos.obj + 0003:000411fc ??_C@_1CI@HCABHFJ@?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083d1fc libucrtd:fgetpos.obj + 0003:00041230 ??_C@_1FO@FNOAOMLP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d230 libucrtd:fputc.obj + 0003:000412a0 ??_C@_1M@OIJMPNCO@?$AAf?$AAp?$AAu?$AAt?$AAc?$AA?$AA@ 0083d2a0 libucrtd:fputc.obj + 0003:000412b0 ??_C@_1GC@FNEGPDLB@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d2b0 libucrtd:fsetpos.obj + 0003:00041328 ??_C@_1BA@IMLBNLMA@?$AAf?$AAs?$AAe?$AAt?$AAp?$AAo?$AAs?$AA?$AA@ 0083d328 libucrtd:fsetpos.obj + 0003:00041340 ??_C@_1FO@KMPAKEKH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d340 libucrtd:fseek.obj + 0003:000413b0 ??_C@_1BK@HEPGDNON@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAf?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 0083d3b0 libucrtd:fseek.obj + 0003:000413d0 ??_C@_1HO@BJGCGJL@?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAE?$AAE?$AAK?$AA_?$AAS?$AAE?$AAT?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 0083d3d0 libucrtd:fseek.obj + 0003:00041468 ??_C@_1GA@JFCHAOOC@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d468 libucrtd:fwrite.obj + 0003:000414dc ??_C@_1O@KLNKIMAP@?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 0083d4dc libucrtd:fwrite.obj + 0003:000414ec ??_C@_1BO@JGPKCBCE@?$AA_?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0083d4ec libucrtd:fwrite.obj + 0003:00041510 ??_C@_1JG@PCJFJNAC@?$AA?$CI?$AA?$CC?$AAF?$AAl?$AAu?$AAs?$AAh?$AA?5?$AAb?$AAe?$AAt?$AAw?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAe?$AAc?$AAu?$AAt?$AAi?$AAv?$AAe?$AA?5?$AAr?$AAe?$AAa?$AAd@ 0083d510 libucrtd:fwrite.obj + 0003:000415c4 ??_C@_0DB@BJFCCEBD@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 0083d5c4 libucrtd:setvbuf.obj + 0003:00041600 ??_C@_1GC@NAMEPLDD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d600 libucrtd:setvbuf.obj + 0003:00041678 ??_C@_1BA@OGODIODK@?$AAs?$AAe?$AAt?$AAv?$AAb?$AAu?$AAf?$AA?$AA@ 0083d678 libucrtd:setvbuf.obj + 0003:00041690 ??_C@_1GG@CBGCKJPC@?$AAt?$AAy?$AAp?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAI?$AAO?$AAN?$AAB?$AAF?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAt?$AAy?$AAp?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAI?$AAO?$AAF?$AAB?$AAF@ 0083d690 libucrtd:setvbuf.obj + 0003:00041710 ??_C@_1HK@PBPJKDDM@?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA_?$AAi?$AAn?$AA_?$AAb?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAu?$AAf@ 0083d710 libucrtd:setvbuf.obj + 0003:000417a8 ??_C@_1GA@JPJEOEOF@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083d7a8 libucrtd:ungetc.obj + 0003:0004181c ??_C@_1O@JDPLECOK@?$AAu?$AAn?$AAg?$AAe?$AAt?$AAc?$AA?$AA@ 0083d81c libucrtd:ungetc.obj + 0003:0004182c ??_C@_1BO@OLMLKKEA@?$AA_?$AAu?$AAn?$AAg?$AAe?$AAt?$AAc?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0083d82c libucrtd:ungetc.obj + 0003:00041850 ??_C@_1BO@PPPMOAMP@?$AAp?$AAt?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083d850 libucrtd:localtime.obj + 0003:00041878 ??_C@_1GE@OILEOEKH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0083d878 libucrtd:localtime.obj + 0003:000418f0 ??_C@_1CG@MOPACJME@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAt?$AAi?$AAm?$AAe?$AA_?$AAs?$AA?$AA@ 0083d8f0 libucrtd:localtime.obj + 0003:00041920 ??_C@_1CC@FDBJMEBO@?$AAp?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083d920 libucrtd:localtime.obj + 0003:00041948 ??_C@_1DC@MEHEMOPB@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAa?$AAy?$AAl?$AAi?$AAg?$AAh?$AAt?$AA?$CI?$AA?$CG?$AAd?$AAa?$AAy?$AAl?$AAi?$AAg?$AAh?$AAt?$AA?$CJ?$AA?$AA@ 0083d948 libucrtd:localtime.obj + 0003:00041984 ??_C@_1DC@MDEOHNED@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?5?$AA?$CI?$AA?$CG?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?5?$AA?$CJ?$AA?$AA@ 0083d984 libucrtd:localtime.obj + 0003:000419c0 ??_C@_1DC@CMKCHHFC@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAt?$AAi?$AAm?$AAe?$AAz?$AAo?$AAn?$AAe?$AA?$CI?$AA?$CG?$AAt?$AAi?$AAm?$AAe?$AAz?$AAo?$AAn?$AAe?$AA?$CJ?$AA?$AA@ 0083d9c0 libucrtd:localtime.obj + 0003:000419fc ??_C@_1BM@DGNILAKJ@?$AAt?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083d9fc libucrtd:time.obj + 0003:00041a20 ??_C@_1FK@PHFCCLNI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0083da20 libucrtd:time.obj + 0003:00041a8c ??_C@_1CI@PADPINCL@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAt?$AAi?$AAm?$AAe?$AAs?$AAp?$AAe?$AAc?$AA_?$AAg?$AAe?$AAt?$AA?$AA@ 0083da8c libucrtd:time.obj + 0003:00041abc ??_C@_0CP@JIIONAG@minkernel?2crts?2ucrt?2src?2appcrt?2m@ 0083dabc libucrtd:signal.obj + 0003:00041af4 ??_C@_1DA@NBILLKNO@?$AAl?$AAo?$AAc?$AAa?$AAl?$AA_?$AAa?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083daf4 libucrtd:signal.obj + 0003:00041b30 ??_C@_1FO@CCGDPEKE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAm@ 0083db30 libucrtd:signal.obj + 0003:00041ba0 ??_C@_1M@DMJEIKHL@?$AAr?$AAa?$AAi?$AAs?$AAe?$AA?$AA@ 0083dba0 libucrtd:signal.obj + 0003:00041bb0 ??_C@_1DO@MLNEDKGB@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAo?$AAr?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 0083dbb0 libucrtd:signal.obj + 0003:00041c00 ??_C@_1GC@CMLBJHAF@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083dc00 libucrtd:feoferr.obj + 0003:00041c78 ??_C@_19LPGIFIDB@?$AAf?$AAe?$AAo?$AAf?$AA?$AA@ 0083dc78 libucrtd:feoferr.obj + 0003:00041c84 ??_C@_1O@MOPHEPGP@?$AAf?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 0083dc84 libucrtd:feoferr.obj + 0003:00041c94 ??_C@_1CK@LLOEFJJG@?$AAf?$AAi?$AAl?$AAe?$AA_?$AAn?$AAa?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083dc94 libucrtd:fopen.obj + 0003:00041cc8 ??_C@_1FO@JKHHBFCN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083dcc8 libucrtd:fopen.obj + 0003:00041d38 ??_C@_1BM@HBDCPLIA@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAf?$AAs?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 0083dd38 libucrtd:fopen.obj + 0003:00041d5c ??_C@_1CA@HJKPLBCC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083dd5c libucrtd:fopen.obj + 0003:00041d84 ??_C@_1BG@HEFEIBLN@?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 0083dd84 libucrtd:fopen.obj + 0003:00041da0 ??_C@_1CE@JMFACANE@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083dda0 libucrtd:fopen.obj + 0003:00041dcc ??_C@_1BO@JGGJAKB@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAf?$AAo?$AAp?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ 0083ddcc libucrtd:fopen.obj + 0003:00041df0 ??_C@_0DC@EOJDPMNN@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 0083ddf0 libucrtd:thread.obj + 0003:00041e2c ??_C@_1CK@GIFPKHHM@?$AAp?$AAr?$AAo?$AAc?$AAe?$AAd?$AAu?$AAr?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083de2c libucrtd:thread.obj + 0003:00041e60 ??_C@_1GE@DFONDADF@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083de60 libucrtd:thread.obj + 0003:00041ed8 ??_C@_1BK@LDJFDJGO@?$AA_?$AAb?$AAe?$AAg?$AAi?$AAn?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?$AA@ 0083ded8 libucrtd:thread.obj + 0003:00041ef8 ??_C@_1BO@FIKPNENM@?$AA_?$AAb?$AAe?$AAg?$AAi?$AAn?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAe?$AAx?$AA?$AA@ 0083def8 libucrtd:thread.obj + 0003:00041f1c ??_C@_1DA@LLLMNMKI@?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd?$AA?$AA@ 0083df1c libucrtd:abort.obj + 0003:00041f58 ??_C@_1CE@BLLJFLOH@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0083df58 libucrtd:fputs.obj + 0003:00041f88 ??_C@_1FO@FBPIABED@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083df88 libucrtd:fputs.obj + 0003:00041ff8 ??_C@_1M@LIIFKKLB@?$AAf?$AAp?$AAu?$AAt?$AAs?$AA?$AA@ 0083dff8 libucrtd:fputs.obj + 0003:00042008 ??_C@_1GI@BNKDKMPA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0083e008 libucrtd:setlocale.obj + 0003:00042084 ??_C@_1CA@DEKPAMPG@?$AAc?$AAa?$AAl?$AAl?$AA_?$AAw?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 0083e084 libucrtd:setlocale.obj + 0003:000420b0 ??_C@_1HC@ODOEFNJK@?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAs?$AAi?$AAz?$AAe?$AA?0?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?0?$AA?5?$AA0?$AA?0?$AA?5?$AAn?$AAa@ 0083e0b0 libucrtd:setlocale.obj + 0003:00042138 ??_C@_0DE@PCFEELDP@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0083e138 libucrtd:setlocale.obj + 0003:00042178 ??_C@_1JE@MHNHEPNK@?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?0?$AA?5?$AAw?$AAi?$AAd?$AAe?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?4@ 0083e178 libucrtd:setlocale.obj + 0003:00042230 ??_C@_1IE@OEGEIDGG@?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?3?$AA?3?$AA?$DM?$AAl?$AAa?$AAm?$AAb?$AAd?$AAa?$AA_?$AA8?$AA7?$AA8?$AA4?$AA9?$AAd?$AAb?$AAe?$AA5?$AA8?$AA1?$AAb?$AAd@ 0083e230 libucrtd:setlocale.obj + 0003:000422d0 ??_C@_1HC@PEEAAELA@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$CI?$AA?$CG?$AAs?$AAi?$AAz?$AAe?$AA?0?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?0?$AA?5?$AA0?$AA?0@ 0083e2d0 libucrtd:setlocale.obj + 0003:00042358 ??_C@_1JG@HLMJFODK@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?0?$AA?5?$AAo?$AAu?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe@ 0083e358 libucrtd:setlocale.obj + 0003:00042410 ??_C@_1BKK@KDHKGOLM@?$AA?$CI?$AAp?$AAt?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FL?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FN?$AA?4@ 0083e410 libucrtd:setlocale.obj + 0003:00042610 ??_C@_1GC@MIDGGPKO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0083e610 libucrtd:wcsdup.obj + 0003:00042688 ??_C@_1BI@JDKFAFNF@?$AA_?$AAw?$AAc?$AAs?$AAd?$AAu?$AAp?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 0083e688 libucrtd:wcsdup.obj + 0003:000426a8 ??_C@_1FG@LKKABMLN@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAm?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA_?$AAi?$AAn?$AA_?$AAe?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt@ 0083e6a8 libucrtd:wcsdup.obj + 0003:00042710 ___newctype 0083e710 libucrtd:ctype.obj + 0003:00042ab0 ___newclmap 0083eab0 libucrtd:ctype.obj + 0003:00042c80 ___newcumap 0083ec80 libucrtd:ctype.obj + 0003:00042e50 __wctype 0083ee50 libucrtd:ctype.obj + 0003:000430bc ??_C@_0DE@PKCHMIOF@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0083f0bc libucrtd:initctype.obj + 0003:00043100 ??_C@_1GI@DPHPBMAL@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0083f100 libucrtd:initctype.obj + 0003:0004317c ??_C@_1DG@NMBGBDM@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAc?$AAt?$AAy?$AAp?$AAe?$AA1?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 0083f17c libucrtd:initctype.obj + 0003:000431bc ??_C@_1BO@KGGHBFPG@?$AAe?$AAx?$AAp?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 0083f1bc libucrtd:frexp.obj + 0003:000431e0 ??_C@_1FI@OJDKKACH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0083f1e0 libucrtd:frexp.obj + 0003:0004324c ??_C@_1M@KFLMCEDC@?$AAf?$AAr?$AAe?$AAx?$AAp?$AA?$AA@ 0083f24c libucrtd:frexp.obj + 0003:00043260 __real@8000000000000000 0083f260 libucrtd:frexp.obj + 0003:00043420 ??_C@_1FM@MJJGEFKM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAm@ 0083f420 libucrtd:errno.obj + 0003:00043490 ??_C@_1BG@KCMPBBDK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 0083f490 libucrtd:errno.obj + 0003:000434ac ??_C@_1BM@INIPHHDD@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAo?$AAs?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 0083f4ac libucrtd:errno.obj + 0003:000434d0 ?large_power_data@?1??multiply_by_power_of_ten@__crt_strtox@@YA_NAAUbig_integer@2@I@Z@4QBIB 0083f4d0 libucrtd:strtod.obj + 0003:00043fa8 ?large_power_indices@?1??multiply_by_power_of_ten@__crt_strtox@@YA_NAAUbig_integer@2@I@Z@4QBUunpack_index@?1??12@YA_N0I@Z@B 0083ffa8 libucrtd:strtod.obj + 0003:00044060 ?small_powers_of_ten@?1??multiply_by_power_of_ten@__crt_strtox@@YA_NAAUbig_integer@2@I@Z@4QBIB 00840060 libucrtd:strtod.obj + 0003:0004408c ??_C@_1DI@GICAMMFM@?$AA?$CI?$AA?$CC?$AAD?$AAi?$AAv?$AAi?$AAs?$AAi?$AAo?$AAn?$AA?5?$AAb?$AAy?$AA?5?$AAz?$AAe?$AAr?$AAo?$AA?$CC?$AA?0?$AA?5?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$CJ?$AA?$AA@ 0084008c libucrtd:strtod.obj + 0003:000440d0 ??_C@_1GO@BFGDDONN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAi?$AAn?$AAc?$AA?2?$AAc?$AAo?$AAr?$AAe?$AAc?$AAr?$AAt?$AA_@ 008400d0 libucrtd:strtod.obj + 0003:00044154 ??_C@_1CC@MOAOAFND@?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00840154 libucrtd:strtod.obj + 0003:0004417c ??_C@_1BK@ICEICMHI@?$AA?$CI?$AA_?$AAi?$AAs?$AA_?$AAd?$AAo?$AAu?$AAb?$AAl?$AAe?$AA?$CJ?$AA?$AA@ 0084017c libucrtd:strtod.obj + 0003:000441a0 ??_C@_1FM@FELNCOBF@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AA_?$AAv?$AAa?$AAl@ 008401a0 libucrtd:strtod.obj + 0003:00044210 ??_C@_1BG@GEMHBGAF@?$AA_?$AAi?$AAs?$AA_?$AAd?$AAo?$AAu?$AAb?$AAl?$AAe?$AA?$AA@ 00840210 libucrtd:strtod.obj + 0003:0004422c ??_C@_1BM@CEPACFMA@?$AA?$CI?$AA?$CB?$AA_?$AAi?$AAs?$AA_?$AAd?$AAo?$AAu?$AAb?$AAl?$AAe?$AA?$CJ?$AA?$AA@ 0084022c libucrtd:strtod.obj + 0003:00044250 ??_C@_1FK@JOJELFFO@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AA_?$AAv?$AAa?$AAl@ 00840250 libucrtd:strtod.obj + 0003:000442bc ??_C@_1BI@BANMPGJI@?$AA?$CB?$AA_?$AAi?$AAs?$AA_?$AAd?$AAo?$AAu?$AAb?$AAl?$AAe?$AA?$AA@ 008402bc libucrtd:strtod.obj + 0003:000442d8 ??_C@_1EI@OBAKGPDD@?$AA?$CI?$AA?$CC?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAr?$AAo?$AAu?$AAn?$AAd?$AAi?$AAn?$AAg?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AAf?$AAa?$AAl@ 008402d8 libucrtd:strtod.obj + 0003:00044330 ??_C@_1GE@LDNEKBAL@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00840330 libucrtd:strtod.obj + 0003:000443a8 ??_C@_1CA@HBJOPDIL@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAd?$AA_?$AAl?$AA?$AA@ 008403a8 libucrtd:strtod.obj + 0003:000443d0 ??_C@_1EG@HNBONIDJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AA?3?$AA?3?$AAp?$AAa?$AAr?$AAs?$AAe?$AA_?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA_?$AAp?$AAo?$AAi@ 008403d0 libucrtd:strtod.obj + 0003:00044424 ??_C@_1CE@KDGPAKOD@?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00840424 libucrtd:strtod.obj + 0003:00044450 ??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@ 00840450 libucrtd:strtod.obj + 0003:00044460 ?inf_uppercase@?1???$parse_floating_point_possible_infinity@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 00840460 libucrtd:strtod.obj + 0003:00044464 ?inf_lowercase@?1???$parse_floating_point_possible_infinity@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 00840464 libucrtd:strtod.obj + 0003:00044468 ?inity_uppercase@?1???$parse_floating_point_possible_infinity@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 00840468 libucrtd:strtod.obj + 0003:00044470 ?inity_lowercase@?1???$parse_floating_point_possible_infinity@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 00840470 libucrtd:strtod.obj + 0003:00044478 ?uppercase@?1???$parse_floating_point_possible_nan@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 00840478 libucrtd:strtod.obj + 0003:0004447c ?lowercase@?1???$parse_floating_point_possible_nan@DV?$c_string_character_source@D@__crt_strtox@@PBD@__crt_strtox@@YA?AW4floating_point_parse_result@1@AADAAV?$c_string_character_source@D@1@PBD@Z@4QBDB 0084047c libucrtd:strtod.obj + 0003:00044480 ?inf_uppercase@?1???$parse_floating_point_possible_infinity@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 00840480 libucrtd:strtod.obj + 0003:00044488 ?inf_lowercase@?1???$parse_floating_point_possible_infinity@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 00840488 libucrtd:strtod.obj + 0003:00044490 ?inity_uppercase@?1???$parse_floating_point_possible_infinity@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 00840490 libucrtd:strtod.obj + 0003:0004449c ?inity_lowercase@?1???$parse_floating_point_possible_infinity@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 0084049c libucrtd:strtod.obj + 0003:000444a8 ?uppercase@?1???$parse_floating_point_possible_nan@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 008404a8 libucrtd:strtod.obj + 0003:000444b0 ?lowercase@?1???$parse_floating_point_possible_nan@_WV?$c_string_character_source@_W@__crt_strtox@@PB_W@__crt_strtox@@YA?AW4floating_point_parse_result@1@AA_WAAV?$c_string_character_source@_W@1@PB_W@Z@4QB_WB 008404b0 libucrtd:strtod.obj + 0003:000444b8 ?uppercase@?1???$parse_floating_point_possible_nan_is_snan@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@1@@Z@4QBDB 008404b8 libucrtd:strtod.obj + 0003:000444c0 ?lowercase@?1???$parse_floating_point_possible_nan_is_snan@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@1@@Z@4QBDB 008404c0 libucrtd:strtod.obj + 0003:000444c8 ?uppercase@?1???$parse_floating_point_possible_nan_is_ind@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@1@@Z@4QBDB 008404c8 libucrtd:strtod.obj + 0003:000444cc ?lowercase@?1???$parse_floating_point_possible_nan_is_ind@DV?$c_string_character_source@D@__crt_strtox@@@__crt_strtox@@YA_NAADAAV?$c_string_character_source@D@1@@Z@4QBDB 008404cc libucrtd:strtod.obj + 0003:000444d0 ?uppercase@?1???$parse_floating_point_possible_nan_is_snan@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@1@@Z@4QB_WB 008404d0 libucrtd:strtod.obj + 0003:000444dc ?lowercase@?1???$parse_floating_point_possible_nan_is_snan@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@1@@Z@4QB_WB 008404dc libucrtd:strtod.obj + 0003:000444e8 ?uppercase@?1???$parse_floating_point_possible_nan_is_ind@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@1@@Z@4QB_WB 008404e8 libucrtd:strtod.obj + 0003:000444f4 ?lowercase@?1???$parse_floating_point_possible_nan_is_ind@_WV?$c_string_character_source@_W@__crt_strtox@@@__crt_strtox@@YA_NAA_WAAV?$c_string_character_source@_W@1@@Z@4QB_WB 008404f4 libucrtd:strtod.obj + 0003:00044500 ??_C@_0DI@DNFGFCIK@minkernel?2crts?2ucrt?2inc?2corecrt_@ 00840500 libucrtd:strftime.obj + 0003:00044544 ??_C@_0DB@FHJDLBEI@minkernel?2crts?2ucrt?2src?2appcrt?2t@ 00840544 libucrtd:strftime.obj + 0003:00044580 ??_C@_1GC@LMFEEFAO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 00840580 libucrtd:strftime.obj + 0003:000445f8 ??_C@_1BG@LGACIFJI@?$AA_?$AAG?$AAe?$AAt?$AAd?$AAa?$AAy?$AAs?$AA_?$AAl?$AA?$AA@ 008405f8 libucrtd:strftime.obj + 0003:00044618 ??_C@_1JE@EOABCHAL@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840618 libucrtd:strftime.obj + 0003:000446d0 ??_C@_1IK@PMFBCNAB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 008406d0 libucrtd:strftime.obj + 0003:00044778 ??_C@_1BK@IDMELNCB@?$AA_?$AAG?$AAe?$AAt?$AAm?$AAo?$AAn?$AAt?$AAh?$AAs?$AA_?$AAl?$AA?$AA@ 00840778 libucrtd:strftime.obj + 0003:00044798 ??_C@_1JG@KINOFMEM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840798 libucrtd:strftime.obj + 0003:00044850 ??_C@_1IM@IEHGKIAE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840850 libucrtd:strftime.obj + 0003:000448f8 ??_C@_1BI@ONBMGNNA@?$AA_?$AAS?$AAt?$AAr?$AAf?$AAt?$AAi?$AAm?$AAe?$AA_?$AAl?$AA?$AA@ 008408f8 libucrtd:strftime.obj + 0003:00044914 ??_C@_1BK@IFBPBBBE@?$AAm?$AAa?$AAx?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 00840914 libucrtd:strftime.obj + 0003:00044934 ??_C@_1CG@DBOIPFHC@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00840934 libucrtd:strftime.obj + 0003:00044968 ??_C@_1FE@KNPCCODH@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAa?$AAs?$AAs?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AA_?$AAf@ 00840968 libucrtd:wcsftime.obj + 0003:000449d0 ??_C@_1HG@NGPLHMCI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAd?$AAe?$AAv?$AAd?$AAi?$AAv?$AA?2?$AAv?$AAc?$AAr?$AAu?$AAn@ 008409d0 libucrtd:wcsftime.obj + 0003:00044a60 ??_C@_0DB@COCEAAGN@minkernel?2crts?2ucrt?2src?2appcrt?2t@ 00840a60 libucrtd:wcsftime.obj + 0003:00044aa0 ??_C@_1GC@MPJLPPFK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 00840aa0 libucrtd:wcsftime.obj + 0003:00044b18 ??_C@_1BG@NDIBBIHN@?$AA_?$AAW?$AA_?$AAG?$AAe?$AAt?$AAd?$AAa?$AAy?$AAs?$AA?$AA@ 00840b18 libucrtd:wcsftime.obj + 0003:00044b38 ??_C@_1JK@KCBHGGBN@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840b38 libucrtd:wcsftime.obj + 0003:00044bf0 ??_C@_1JA@GIFINLIC@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840bf0 libucrtd:wcsftime.obj + 0003:00044c9c ??_C@_1BK@KDNPJNHO@?$AA_?$AAW?$AA_?$AAG?$AAe?$AAt?$AAm?$AAo?$AAn?$AAt?$AAh?$AAs?$AA?$AA@ 00840c9c libucrtd:wcsftime.obj + 0003:00044cc0 ??_C@_1JM@LFJNHEIL@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840cc0 libucrtd:wcsftime.obj + 0003:00044d80 ??_C@_1JC@MAAGKAKM@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAi?$AAt?$AA?0?$AA?5?$AA?$CI?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?9?$AA?5?$AA?$CI?$AAi?$AAt?$AA?5@ 00840d80 libucrtd:wcsftime.obj + 0003:00044e30 ??_C@_1BK@NOPPHAGO@?$AA_?$AAW?$AA_?$AAG?$AAe?$AAt?$AAt?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?$AA@ 00840e30 libucrtd:wcsftime.obj + 0003:00044e50 ??_C@_1LE@EPEEHFIO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAw?$AAd?$AAa?$AAy?$AA_?$AAa?$AAb?$AAb?$AAr?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI@ 00840e50 libucrtd:wcsftime.obj + 0003:00044f28 ??_C@_1KA@DNKADEMJ@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAw?$AAd?$AAa?$AAy?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt?$AAa?$AAl@ 00840f28 libucrtd:wcsftime.obj + 0003:00044fe8 ??_C@_1LI@LILLBJL@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAm?$AAo?$AAn?$AAt?$AAh?$AA_?$AAa?$AAb?$AAb?$AAr?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5@ 00840fe8 libucrtd:wcsftime.obj + 0003:000450c8 ??_C@_1KE@EGBDBCG@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAm?$AAo?$AAn?$AAt?$AAh?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt?$AAa@ 008410c8 libucrtd:wcsftime.obj + 0003:00045190 ??_C@_1KA@EAALKIBB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAa?$AAm?$AAp?$AAm?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt?$AAa?$AAl@ 00841190 libucrtd:wcsftime.obj + 0003:00045250 ??_C@_1KI@LLEJMBLB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAw?$AAw?$AA_?$AAs?$AAd?$AAa?$AAt?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt@ 00841250 libucrtd:wcsftime.obj + 0003:00045320 ??_C@_1KI@GIABBOIC@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAw?$AAw?$AA_?$AAl?$AAd?$AAa?$AAt?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt@ 00841320 libucrtd:wcsftime.obj + 0003:000453f0 ??_C@_1KE@KMENGKAI@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AAw?$AAw?$AA_?$AAt?$AAi?$AAm?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo?$AAt?$AAa@ 008413f0 libucrtd:wcsftime.obj + 0003:000454b8 ??_C@_1MG@MAEGINLA@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAd?$AAa?$AAy?$AA_?$AAa?$AAb?$AAb?$AAr?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN@ 008414b8 libucrtd:wcsftime.obj + 0003:000455a8 ??_C@_1LC@MJCDIPJF@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAd?$AAa?$AAy?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo@ 008415a8 libucrtd:wcsftime.obj + 0003:00045680 ??_C@_1MK@EOAFACEP@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAm?$AAo?$AAn?$AAt?$AAh?$AA_?$AAa?$AAb?$AAb?$AAr?$AA?$FL?$AAi?$AAd?$AAx@ 00841680 libucrtd:wcsftime.obj + 0003:00045778 ??_C@_1LG@LPOFFBCL@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAm?$AAo?$AAn?$AAt?$AAh?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt@ 00841778 libucrtd:wcsftime.obj + 0003:00045858 ??_C@_1LC@HNOGCLCC@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAa?$AAm?$AAp?$AAm?$AA?$FL?$AAi?$AAd?$AAx?$AA?$FN?$AA?0?$AA?5?$AA?$CI?$AAt?$AAo@ 00841858 libucrtd:wcsftime.obj + 0003:00045930 ??_C@_1LK@CAMBHKNN@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAw?$AA_?$AAs?$AAd?$AAa?$AAt?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI@ 00841930 libucrtd:wcsftime.obj + 0003:00045a10 ??_C@_1LK@KFLHCLNA@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAw?$AA_?$AAl?$AAd?$AAa?$AAt?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI@ 00841a10 libucrtd:wcsftime.obj + 0003:00045af0 ??_C@_1LG@IAIDKMAF@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAw?$AA_?$AAt?$AAi?$AAm?$AAe?$AAf?$AAm?$AAt?$AA?0?$AA?5?$AA?$CI?$AAt@ 00841af0 libucrtd:wcsftime.obj + 0003:00045bd0 ??_C@_1MG@JFPIJBHF@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AA?9?$AA?$DO?$AA_?$AAW?$AA_?$AAw?$AAw?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAa?$AAm?$AAe@ 00841bd0 libucrtd:wcsftime.obj + 0003:00045cc0 ??_C@_1M@PBPMMENC@?$AAa?$AAm?$AA?1?$AAp?$AAm?$AA?$AA@ 00841cc0 libucrtd:wcsftime.obj + 0003:00045cd0 ??_C@_17BLFJJHMM@?$AAa?$AA?1?$AAp?$AA?$AA@ 00841cd0 libucrtd:wcsftime.obj + 0003:00045ce0 ??_C@_1FO@DBKKAEEH@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAw?$AAd?$AAa?$AAy?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr@ 00841ce0 libucrtd:wcsftime.obj + 0003:00045d50 ??_C@_1BI@LDOAAJAA@?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAt?$AAi?$AAm?$AAe?$AA?$AA@ 00841d50 libucrtd:wcsftime.obj + 0003:00045d70 ??_C@_1FM@GHDMHKAF@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAm?$AAo?$AAn?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9@ 00841d70 libucrtd:wcsftime.obj + 0003:00045de0 ??_C@_13HOIJIPNN@?$AA?5?$AA?$AA@ 00841de0 libucrtd:wcsftime.obj + 0003:00045de8 ??_C@_1GM@MKLKFGDB@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAy?$AAe?$AAa?$AAr?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?9?$AA1?$AA9?$AA0?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm@ 00841de8 libucrtd:wcsftime.obj + 0003:00045e70 ??_C@_1GA@JEAPKENA@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAm?$AAd?$AAa?$AAy?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr@ 00841e70 libucrtd:wcsftime.obj + 0003:00045ee4 ??_C@_13CGOKJPIL@?$AA?1?$AA?$AA@ 00841ee4 libucrtd:wcsftime.obj + 0003:00045ee8 ??_C@_13IMODFHAA@?$AA?9?$AA?$AA@ 00841ee8 libucrtd:wcsftime.obj + 0003:00045ef0 ??_C@_1GA@IKFGJIKF@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAh?$AAo?$AAu?$AAr?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr@ 00841ef0 libucrtd:wcsftime.obj + 0003:00045f68 ??_C@_1GC@FCHCEOGN@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAy?$AAd?$AAa?$AAy?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr@ 00841f68 libucrtd:wcsftime.obj + 0003:00045fe0 ??_C@_1FM@FIGBEEHK@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAm?$AAi?$AAn?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9@ 00841fe0 libucrtd:wcsftime.obj + 0003:00046050 ??_C@_13EBCNDICG@?$AA?3?$AA?$AA@ 00842050 libucrtd:wcsftime.obj + 0003:00046058 ??_C@_1FM@BCBKJMBP@?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9?$AA?$DO?$AAt?$AAm?$AA_?$AAs?$AAe?$AAc?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAi?$AAm?$AAe?$AAp?$AAt?$AAr?$AA?9@ 00842058 libucrtd:wcsftime.obj + 0003:000460c8 ??_C@_13KDLDGPGJ@?$AA?7?$AA?$AA@ 008420c8 libucrtd:wcsftime.obj + 0003:000460cc ??_C@_1DI@PJPIDMEH@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAt?$AAi?$AAm?$AAe?$AAz?$AAo?$AAn?$AAe?$AA?$CI?$AA?$CG?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 008420cc libucrtd:wcsftime.obj + 0003:00046110 ??_C@_1DK@HAJPFEBK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?$CI?$AA?$CG?$AAd?$AAs?$AAt?$AA_?$AAb?$AAi?$AAa?$AAs?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 00842110 libucrtd:wcsftime.obj + 0003:00046158 ??_C@_13KJIIAINM@?$AA?$CL?$AA?$AA@ 00842158 libucrtd:wcsftime.obj + 0003:00046160 ??_C@_1II@GCMOLCJB@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$CI?$AA?$CG?$AAw?$AAn?$AAu?$AAm?$AA?0?$AA?5?$AA?$CK?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?0?$AA?5?$AA?$CK?$AAl@ 00842160 libucrtd:wcsftime.obj + 0003:00046204 ??_C@_13EJFHHPOP@?$AA?$CF?$AA?$AA@ 00842204 libucrtd:wcsftime.obj + 0003:00046208 ??_C@_1BI@FPGNEFIH@?$AA_?$AAW?$AAc?$AAs?$AAf?$AAt?$AAi?$AAm?$AAe?$AA_?$AAl?$AA?$AA@ 00842208 libucrtd:wcsftime.obj + 0003:00046224 ??_C@_1BM@EFDGOMOL@?$AAm?$AAa?$AAx?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 00842224 libucrtd:wcsftime.obj + 0003:00046248 ??_C@_1GI@BBAEIKL@?$AA?$CI?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz@ 00842248 libucrtd:wcscpy_s.obj + 0003:000462c8 ??_C@_1HI@PBJPCEBC@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAi?$AAn?$AAc?$AA?2?$AAc?$AAo?$AAr?$AAe?$AAc?$AAr?$AAt?$AA_@ 008422c8 libucrtd:wcscpy_s.obj + 0003:00046358 ??_C@_1CA@FHIAGDFH@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 00842358 libucrtd:wcscpy_s.obj + 0003:00046380 ??_C@_1CK@EIOKGPJL@?$AA?$CI?$AA?$CI?$AA?$CI?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?$CJ?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 00842380 libucrtd:wcscpy_s.obj + 0003:000463b4 ??_C@_1CI@HCPHDDLE@?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$AA@ 008423b4 libucrtd:wcscpy_s.obj + 0003:000463e4 ??_C@_1DM@MADKGDLO@?$AA?$CI?$AAL?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 008423e4 libucrtd:wcscpy_s.obj + 0003:0004642c ??_C@_1CC@LLFJPCJO@?$AAn?$AAe?$AAw?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AAr?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 0084242c libucrtd:new_handler.obj + 0003:00046458 ??_C@_1GI@GALDAPMM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAh@ 00842458 libucrtd:new_handler.obj + 0003:000464d4 ??_C@_1CA@EOJJMFA@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 008424d4 libucrtd:strcat_s.obj + 0003:000464fc ??_C@_1DM@FHLMIEG@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd?$AA?$AA@ 008424fc libucrtd:strcat_s.obj + 0003:00046548 ??_C@_1FA@MJKDNFFB@?$AA?$CI?$AAL?$AA?$CC?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd@ 00842548 libucrtd:strcat_s.obj + 0003:000465a8 ___acrt_exception_action_table 008425a8 libucrtd:exception_filter.obj + 0003:00046654 ___acrt_signal_action_table_count 00842654 libucrtd:exception_filter.obj + 0003:00046658 ___acrt_signal_action_table_size 00842658 libucrtd:exception_filter.obj + 0003:0004665c ___acrt_signal_action_first_fpe_index 0084265c libucrtd:exception_filter.obj + 0003:00046660 ___acrt_signal_action_fpe_count 00842660 libucrtd:exception_filter.obj + 0003:00046664 _RtlNtPathSeperatorString 00842664 libucrtd:exit.obj + 0003:00046670 ??_C@_13FPGAJAPJ@?$AA?2?$AA?$AA@ 00842670 libucrtd:exit.obj + 0003:00046674 _RtlDosPathSeperatorsString 00842674 libucrtd:exit.obj + 0003:00046680 ??_C@_15MNCACJLI@?$AA?2?$AA?1?$AA?$AA@ 00842680 libucrtd:exit.obj + 0003:00046688 _RtlAlternateDosPathSeperatorString 00842688 libucrtd:exit.obj + 0003:00046694 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 00842694 libucrtd:exit.obj + 0003:000466b0 ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 008426b0 libucrtd:exit.obj + 0003:000466c4 ??_C@_0DI@KNDIGDEP@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 008426c4 libucrtd:argv_parsing.obj + 0003:00046708 ??_C@_1JO@PGBIJBAM@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAc?$AAr?$AAt?$AA_?$AAa?$AAr?$AAg?$AAv?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AAe?$AAd?$AA_?$AAa?$AAr?$AAg?$AAu?$AAm@ 00842708 libucrtd:argv_parsing.obj + 0003:000467c8 ??_C@_1HA@JMLCANEE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 008427c8 libucrtd:argv_parsing.obj + 0003:00046850 ??_C@_1CM@LHOJELIC@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAu?$AAr?$AAe?$AA_?$AAa?$AAr?$AAg?$AAv?$AA?$AA@ 00842850 libucrtd:argv_parsing.obj + 0003:00046888 ??_C@_0EG@LEHKHOEH@minkernel?2crts?2ucrt?2src?2desktopc@ 00842888 libucrtd:environment_initialization.obj + 0003:000468e0 ??_C@_1IM@IMOFFPLG@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 008428e0 libucrtd:environment_initialization.obj + 0003:00046988 ??_C@_1CG@MNNNBNAK@?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA_?$AAe?$AAn?$AAv?$AAi?$AAr?$AAo?$AAn?$AAm?$AAe?$AAn?$AAt?$AA?$AA@ 00842988 libucrtd:environment_initialization.obj + 0003:000469b8 ??_C@_1HI@OOPIFFGA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAv?$AAa?$AAr?$AAi?$AAa?$AAb?$AAl?$AAe?$AA?4?$AAg?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?0@ 008429b8 libucrtd:environment_initialization.obj + 0003:00046a48 ??_C@_0DC@NBHMIIKL@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 00842a48 libucrtd:onexit.obj + 0003:00046b28 ??_C@_1IC@DCNEKBE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAi@ 00842b28 libucrtd:report_runtime_error.obj + 0003:00046bc4 ??_C@_1DI@BLFJHKKP@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAr?$AAe?$AAp?$AAo?$AAr?$AAt?$AA_?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 00842bc4 libucrtd:report_runtime_error.obj + 0003:00046c08 ??_C@_1LE@MHPGJGKE@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AA?$CK?$AA_?$AA_?$AAc?$AAo?$AAu?$AAn@ 00842c08 libucrtd:report_runtime_error.obj + 0003:00046ce0 ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 00842ce0 libucrtd:report_runtime_error.obj + 0003:00046d20 ??_C@_1HK@FJJNAABO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe@ 00842d20 libucrtd:report_runtime_error.obj + 0003:00046db8 ??_C@_1HI@FLHKGEBE@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?9?$AA?5?$AA?$CI@ 00842db8 libucrtd:report_runtime_error.obj + 0003:00046e48 ??_C@_1IG@MNNKBLBI@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AA?$CK?$AA_?$AA_?$AAc?$AAo?$AAu?$AAn@ 00842e48 libucrtd:report_runtime_error.obj + 0003:00046ee8 ??_C@_1IG@DFBBBDAN@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AA?$CK?$AA_?$AA_?$AAc?$AAo?$AAu?$AAn@ 00842ee8 libucrtd:report_runtime_error.obj + 0003:00046f88 ??_C@_1MI@PNMMBOIN@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAB?$AAI@ 00842f88 libucrtd:setmode.obj + 0003:00047078 ??_C@_1GC@CIJNGKLD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00843078 libucrtd:setmode.obj + 0003:000470f0 ??_C@_1BC@JBGGJDCM@?$AA_?$AAs?$AAe?$AAt?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 008430f0 libucrtd:setmode.obj + 0003:00047108 ??_C@_1FO@LPCLHKGE@?$AA?$CI?$AAf?$AAh?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAh?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi@ 00843108 libucrtd:setmode.obj + 0003:00047178 ??_C@_1CM@OKGMMMDH@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 00843178 libucrtd:setmode.obj + 0003:000471b0 ??_C@_1JE@ECKHFIFP@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?4?$AA?5?$AAF?$AAi?$AAl?$AAe?$AA?5@ 008431b0 libucrtd:setmode.obj + 0003:00047268 ??_C@_1HC@GNDCDMJL@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAB?$AAI@ 00843268 libucrtd:setmode.obj + 0003:000472f0 ??_C@_1BG@IEEHLOCL@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 008432f0 libucrtd:setmode.obj + 0003:0004730c ??_C@_1CC@ODGEBJBO@?$AAp?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084330c libucrtd:setmode.obj + 0003:00047334 ??_C@_1BG@CKGMPOFH@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 00843334 libucrtd:setmode.obj + 0003:00047350 ??_C@_1GK@EMNILMBI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00843350 libucrtd:argv_data.obj + 0003:000473d0 ??_C@_1BK@PNLDCCDP@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 008433d0 libucrtd:argv_data.obj + 0003:000473f0 ??_C@_1CI@ENCADPBF@?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 008433f0 libucrtd:argv_data.obj + 0003:00047420 ??_C@_1BI@COAAPHJK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 00843420 libucrtd:argv_data.obj + 0003:0004743c ??_C@_1CG@CKJHPBDG@?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084343c libucrtd:argv_data.obj + 0003:00047508 ___lc_category 00843508 libucrtd:wsetlocale.obj + 0003:00047560 ??_C@_1O@GIFLHMA@?$AAL?$AAC?$AA_?$AAA?$AAL?$AAL?$AA?$AA@ 00843560 libucrtd:wsetlocale.obj + 0003:00047570 ??_C@_1BG@PPOMIBNJ@?$AAL?$AAC?$AA_?$AAC?$AAO?$AAL?$AAL?$AAA?$AAT?$AAE?$AA?$AA@ 00843570 libucrtd:wsetlocale.obj + 0003:0004758c ??_C@_1BC@FFJGAPJM@?$AAL?$AAC?$AA_?$AAC?$AAT?$AAY?$AAP?$AAE?$AA?$AA@ 0084358c libucrtd:wsetlocale.obj + 0003:000475a4 ??_C@_1BI@PCKFNJFB@?$AAL?$AAC?$AA_?$AAM?$AAO?$AAN?$AAE?$AAT?$AAA?$AAR?$AAY?$AA?$AA@ 008435a4 libucrtd:wsetlocale.obj + 0003:000475c0 ??_C@_1BG@ENIEDKID@?$AAL?$AAC?$AA_?$AAN?$AAU?$AAM?$AAE?$AAR?$AAI?$AAC?$AA?$AA@ 008435c0 libucrtd:wsetlocale.obj + 0003:000475dc ??_C@_1BA@HAAOMIIG@?$AAL?$AAC?$AA_?$AAT?$AAI?$AAM?$AAE?$AA?$AA@ 008435dc libucrtd:wsetlocale.obj + 0003:000475f0 ??_C@_1GA@LDEGDKD@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAp?$AAa?$AAr?$AAa?$AAm?$AAe?$AAt?$AAe?$AAr?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt@ 008435f0 libucrtd:wsetlocale.obj + 0003:00047668 ??_C@_1GK@DPKNLBIE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00843668 libucrtd:wsetlocale.obj + 0003:000476e8 ??_C@_1CI@FGIONOJM@?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 008436e8 libucrtd:wsetlocale.obj + 0003:00047718 ??_C@_0DF@MKMHJGEJ@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 00843718 libucrtd:wsetlocale.obj + 0003:00047758 ??_C@_1FG@OHLFEKMC@?$AAL?$AAC?$AA_?$AAM?$AAI?$AAN?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy@ 00843758 libucrtd:wsetlocale.obj + 0003:000477c0 ??_C@_1BI@KJNPAEHL@?$AA_?$AAw?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 008437c0 libucrtd:wsetlocale.obj + 0003:000477dc ??_C@_15NBPDDFIP@?$AA?$DN?$AA?$DL?$AA?$AA@ 008437dc libucrtd:wsetlocale.obj + 0003:000477e4 ??_C@_13PJJBFPED@?$AA?$DL?$AA?$AA@ 008437e4 libucrtd:wsetlocale.obj + 0003:000477e8 ??_C@_1CG@DKJCBBPP@?$AA_?$AAw?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 008437e8 libucrtd:wsetlocale.obj + 0003:00047818 ??_C@_1IG@NGDCPCDE@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AA?$CK?$AA_?$AA_?$AAc?$AAo?$AAu@ 00843818 libucrtd:wsetlocale.obj + 0003:000478b8 ??_C@_1CI@ODOPEMNJ@?$AA_?$AAw?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAs?$AAe?$AAt?$AA_?$AAc?$AAa?$AAt?$AA?$AA@ 008438b8 libucrtd:wsetlocale.obj + 0003:000478e8 ??_C@_1EM@MHOCNIAA@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA_?$AAc?$AAa?$AAt?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?0?$AA?5?$AAl?$AAc@ 008438e8 libucrtd:wsetlocale.obj + 0003:00047944 ??_C@_13NMPKAAJP@?$AA?$DN?$AA?$AA@ 00843944 libucrtd:wsetlocale.obj + 0003:00047948 ??_C@_1CI@LKOPFFBD@?$AA_?$AAw?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAg?$AAe?$AAt?$AA_?$AAa?$AAl?$AAl?$AA?$AA@ 00843948 libucrtd:wsetlocale.obj + 0003:00047978 ??_C@_1DC@HMLJMODP@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?0?$AA?5?$AAL?$AA?$CC?$AA?$DL?$AA?$CC?$AA?$CJ?$AA?$AA@ 00843978 libucrtd:wsetlocale.obj + 0003:000479b4 ??_C@_1BM@OIIBLEFG@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 008439b4 libucrtd:wsetlocale.obj + 0003:000479d8 ??_C@_1BCM@BOFLACKH@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AAO?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAl?$AAo?$AAc?$AAa@ 008439d8 libucrtd:wsetlocale.obj + 0003:00047b40 ??_C@_1EI@OCINLCHN@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAL?$AA?$CC@ 00843b40 libucrtd:wsetlocale.obj + 0003:00047b98 ??_C@_13FHBKNHDA@?$AAC?$AA?$AA@ 00843b98 libucrtd:wsetlocale.obj + 0003:00047ba0 ??_C@_1MO@NNCNEOAP@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AAO?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAl?$AAo?$AAc?$AAa@ 00843ba0 libucrtd:wsetlocale.obj + 0003:00047c98 ??_C@_19MPDNHKDG@?$AAu?$AAt?$AAf?$AA8?$AA?$AA@ 00843c98 libucrtd:wsetlocale.obj + 0003:00047ca4 ??_C@_1M@FPEIIFAM@?$AAu?$AAt?$AAf?$AA?9?$AA8?$AA?$AA@ 00843ca4 libucrtd:wsetlocale.obj + 0003:00047cb8 ??_C@_1BDK@DHHMOMPJ@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA_?$AAp?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AA_?$AAd?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AA_?$AAc?$AAa?$AAc?$AAh?$AAe?$AAL@ 00843cb8 libucrtd:wsetlocale.obj + 0003:00047e30 ??_C@_1IG@MKDIEKFD@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAc?$AAa?$AAc?$AAh?$AAe?$AAo?$AAu?$AAt?$AA?0?$AA?5?$AAc?$AAa?$AAc?$AAh?$AAe?$AAo?$AAu?$AAt?$AAL?$AAe?$AAn?$AA?0@ 00843e30 libucrtd:wsetlocale.obj + 0003:00047ed0 ??_C@_1KK@KMIFPBBC@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AAO?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAl?$AAo?$AAc?$AAa@ 00843ed0 libucrtd:wsetlocale.obj + 0003:00047fa0 ??_C@_1BDG@HFEFKOM@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA_?$AAp?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AA_?$AAd?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AA_?$AAc?$AAa?$AAc?$AAh?$AAe?$AAL@ 00843fa0 libucrtd:wsetlocale.obj + 0003:00048118 ??_C@_1IC@FCCDBGLL@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AA?0?$AA?5?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AAL?$AAe?$AAn?$AA?0?$AA?5?$AAe@ 00844118 libucrtd:wsetlocale.obj + 0003:000481b8 ??_C@_1FA@HOOAAHFF@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAc?$AAa@ 008441b8 libucrtd:wsetlocale.obj + 0003:00048218 ??_C@_1BC@LEOKFFML@?$AA_?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AAs?$AA?$AA@ 00844218 libucrtd:wsetlocale.obj + 0003:00048230 ??_C@_1BHK@BGMBCJOP@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAs?$AAt?$AAr?$AA?0?$AA?5?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAO?$AAf?$AAE?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt@ 00844230 libucrtd:wsetlocale.obj + 0003:000483f8 ??_C@_1BK@GNCHCGCN@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAl?$AAc?$AA?$AA@ 008443f8 libucrtd:wsetlocale.obj + 0003:00048418 ??_C@_1MI@MGHKCMFH@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 00844418 libucrtd:wsetlocale.obj + 0003:00048508 ??_C@_17MBJJLFDM@?$AA_?$AA?4?$AA?0?$AA?$AA@ 00844508 libucrtd:wsetlocale.obj + 0003:00048518 ??_C@_1LO@GGCCDNLJ@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 00844518 libucrtd:wsetlocale.obj + 0003:00048600 ??_C@_1LK@JOIOCOID@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAu?$AAn?$AAt?$AAr?$AAy?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz@ 00844600 libucrtd:wsetlocale.obj + 0003:000486e0 ??_C@_1LO@OJICFEP@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 008446e0 libucrtd:wsetlocale.obj + 0003:000487c4 ??_C@_1BK@HEBMGPEK@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAl?$AAc?$AAt?$AAo?$AAw?$AAc?$AAs?$AA?$AA@ 008447c4 libucrtd:wsetlocale.obj + 0003:000487e8 ??_C@_1GM@FOFMGOEK@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?0?$AA?5?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AAO?$AAf?$AAE?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt@ 008447e8 libucrtd:wsetlocale.obj + 0003:0004886c ??_C@_13ENNFDPBH@?$AA_?$AA?$AA@ 0084486c libucrtd:wsetlocale.obj + 0003:00048870 ??_C@_13JOFGPIOO@?$AA?4?$AA?$AA@ 00844870 libucrtd:wsetlocale.obj + 0003:00048874 ??_C@_1DA@BBIOOKDN@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAc?$AAo?$AAp?$AAy?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAa?$AAm?$AAe?$AA?$AA@ 00844874 libucrtd:wsetlocale.obj + 0003:000488b0 ??_C@_1GI@HBNMCKGD@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AAC?$AAo?$AAp?$AAy?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?$CL?$AA1?$AA?0@ 008448b0 libucrtd:wsetlocale.obj + 0003:0004892c ??_C@_1CO@JKFLNGDK@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?$AA@ 0084492c libucrtd:new_mode.obj + 0003:00048968 ??_C@_1GC@PJMKBHEK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAh@ 00844968 libucrtd:new_mode.obj + 0003:000489e0 ??_C@_1BM@PDPAKJNF@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAn?$AAe?$AAw?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 008449e0 libucrtd:new_mode.obj + 0003:00048b20 ??_C@_03KHJOGHMM@exp?$AA@ 00844b20 libucrtd:fpexcept.obj + 0003:00048b24 ??_C@_03JGHBODFD@pow?$AA@ 00844b24 libucrtd:fpexcept.obj + 0003:00048b28 ??_C@_03MGHMBJCF@log?$AA@ 00844b28 libucrtd:fpexcept.obj + 0003:00048b2c ??_C@_05HGHHAHAP@log10?$AA@ 00844b2c libucrtd:fpexcept.obj + 0003:00048b34 ??_C@_04COOMCNPB@sinh?$AA@ 00844b34 libucrtd:fpexcept.obj + 0003:00048b3c ??_C@_04HPJJNFIM@cosh?$AA@ 00844b3c libucrtd:fpexcept.obj + 0003:00048b44 ??_C@_04FJHINJAO@tanh?$AA@ 00844b44 libucrtd:fpexcept.obj + 0003:00048b4c ??_C@_04FIHNOPOL@asin?$AA@ 00844b4c libucrtd:fpexcept.obj + 0003:00048b54 ??_C@_04PDIFKINK@acos?$AA@ 00844b54 libucrtd:fpexcept.obj + 0003:00048b5c ??_C@_04MLLJIGOK@atan?$AA@ 00844b5c libucrtd:fpexcept.obj + 0003:00048b64 ??_C@_05KNGEOGJB@atan2?$AA@ 00844b64 libucrtd:fpexcept.obj + 0003:00048b6c ??_C@_04EIAKFFMI@sqrt?$AA@ 00844b6c libucrtd:fpexcept.obj + 0003:00048b74 ??_C@_03BLEJJJBH@sin?$AA@ 00844b74 libucrtd:fpexcept.obj + 0003:00048b78 ??_C@_03LALBNOCG@cos?$AA@ 00844b78 libucrtd:fpexcept.obj + 0003:00048b7c ??_C@_03IIINPABG@tan?$AA@ 00844b7c libucrtd:fpexcept.obj + 0003:00048b80 ??_C@_04GFPJNGEK@ceil?$AA@ 00844b80 libucrtd:fpexcept.obj + 0003:00048b88 ??_C@_05PBJFFIGL@floor?$AA@ 00844b88 libucrtd:fpexcept.obj + 0003:00048b90 ??_C@_04ODHECPBC@fabs?$AA@ 00844b90 libucrtd:fpexcept.obj + 0003:00048b98 ??_C@_04EHEDPDJG@modf?$AA@ 00844b98 libucrtd:fpexcept.obj + 0003:00048ba0 ??_C@_05CEJMAHNP@ldexp?$AA@ 00844ba0 libucrtd:fpexcept.obj + 0003:00048ba8 ??_C@_05KBKMEMPO@_cabs?$AA@ 00844ba8 libucrtd:fpexcept.obj + 0003:00048bb0 ??_C@_06MEIMCGCF@_hypot?$AA@ 00844bb0 libucrtd:fpexcept.obj + 0003:00048bb8 ??_C@_04KEPJIHGP@fmod?$AA@ 00844bb8 libucrtd:fpexcept.obj + 0003:00048bc0 ??_C@_05GKKHEGJL@frexp?$AA@ 00844bc0 libucrtd:fpexcept.obj + 0003:00048bc8 ??_C@_03MJLDFKDL@_y0?$AA@ 00844bc8 libucrtd:fpexcept.obj + 0003:00048bcc ??_C@_03NAKIGLHK@_y1?$AA@ 00844bcc libucrtd:fpexcept.obj + 0003:00048bd0 ??_C@_03ONILCKOB@_yn?$AA@ 00844bd0 libucrtd:fpexcept.obj + 0003:00048bd4 ??_C@_05JGDBENOH@_logb?$AA@ 00844bd4 libucrtd:fpexcept.obj + 0003:00048bdc ??_C@_0L@KDOEJCKC@_nextafter?$AA@ 00844bdc libucrtd:fpexcept.obj + 0003:00048bf0 ??_C@_1GE@IHIGNC@?$AA?$CI?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AAr@ 00844bf0 libucrtd:makepath.obj + 0003:00048c68 ??_C@_1GO@CPMBDHKK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAf@ 00844c68 libucrtd:makepath.obj + 0003:00048cec ??_C@_1CE@GNNMAAIL@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAm?$AAa?$AAk?$AAe?$AAp?$AAa?$AAt?$AAh?$AA_?$AAs?$AA?$AA@ 00844cec libucrtd:makepath.obj + 0003:00048d18 ??_C@_1CI@KGHCCPCN@?$AAc?$AAl?$AAe?$AAa?$AAn?$AAu?$AAp?$AA_?$AAa?$AAf?$AAt?$AAe?$AAr?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 00844d18 libucrtd:makepath.obj + 0003:00048d48 ??_C@_1HA@BEJINBHO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAf@ 00844d48 libucrtd:splitpath.obj + 0003:00048dd0 ??_C@_1DE@EEECINKG@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAp?$AAl?$AAi?$AAt?$AAp?$AAa?$AAt?$AAh?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?$AA@ 00844dd0 libucrtd:splitpath.obj + 0003:00048e10 ??_C@_1DG@JNDMIEJL@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAi?$AAn?$AAp?$AAu?$AAt?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 00844e10 libucrtd:contrlfp.obj + 0003:00048e50 ??_C@_1FO@HHLKCIKB@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 00844e50 libucrtd:contrlfp.obj + 0003:00048ec0 ??_C@_1BK@CDOALEA@?$AA_?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAf?$AAp?$AA_?$AAs?$AA?$AA@ 00844ec0 libucrtd:contrlfp.obj + 0003:00048ee0 ??_C@_1CC@CHNFGJIC@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAt?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 00844ee0 libucrtd:wcsncpy_s.obj + 0003:00048f08 ??_C@_0DM@DKIFNNOL@minkernel?2crts?2ucrt?2src?2appcrt?2i@ 00844f08 libucrtd:per_thread_data.obj + 0003:00048f50 ??_C@_1FA@IFFFOLDJ@?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DM?$AA?5?$AA_?$AAC?$AAR?$AAT@ 00844f50 libucrtd:dbgrptt.obj + 0003:00048fb0 ??_C@_1GA@LFAOKOOP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAm@ 00844fb0 libucrtd:dbgrptt.obj + 0003:00049024 ??_C@_1CE@FIHIECNJ@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAM?$AAo?$AAd?$AAe?$AA?$AA@ 00845024 libucrtd:dbgrptt.obj + 0003:00049050 ??_C@_1NK@LOFHIHFC@?$AAf?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAM?$AAO?$AAD?$AAE?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 00845050 libucrtd:dbgrptt.obj + 0003:00049158 ??_C@_1CE@IKKEDCME@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAF?$AAi?$AAl?$AAe?$AA?$AA@ 00845158 libucrtd:dbgrptt.obj + 0003:00049184 ??_C@_1CA@KHJHLKA@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAA?$AA?$AA@ 00845184 libucrtd:dbgrptt.obj + 0003:000491b0 ??_C@_1FA@JPHJBHEM@?$AA_?$AAi?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 008451b0 libucrtd:dbgrptt.obj + 0003:00049210 ??_C@_0CG@BNGLOCEO@Second?5Chance?5Assertion?5Failed?3?5@ 00845210 libucrtd:dbgrptt.obj + 0003:00049240 ??_C@_0P@DFJNDPOP@?$DMfile?5unknown?$DO?$AA@ 00845240 libucrtd:dbgrptt.obj + 0003:00049254 ??_C@_07BHGABMGB@?0?5Line?5?$AA@ 00845254 libucrtd:dbgrptt.obj + 0003:00049260 ??_C@_1JI@GAALPGBM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 00845260 libucrtd:dbgrptt.obj + 0003:00049318 ??_C@_0CL@EACFGMNB@_CrtDbgReport?3?5String?5too?5long?5o@ 00845318 libucrtd:dbgrptt.obj + 0003:00049350 ??_C@_1KK@GIGAEDMO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 00845350 libucrtd:dbgrptt.obj + 0003:0004941c ??_C@_0BD@CAENFOHP@Assertion?5failed?3?5?$AA@ 0084541c libucrtd:dbgrptt.obj + 0003:00049438 ??_C@_1FK@NPGBPOFO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 00845438 libucrtd:dbgrptt.obj + 0003:000494a8 ??_C@_1EI@CACDLAFK@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 008454a8 libucrtd:dbgrptt.obj + 0003:00049500 ??_C@_01LIIJDEN@?$AN?$AA@ 00845500 libucrtd:dbgrptt.obj + 0003:00049508 ??_C@_1EI@LDHJEDO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 00845508 libucrtd:dbgrptt.obj + 0003:00049560 ??_C@_0M@IPILFDFN@?$CFs?$CI?$CFd?$CJ?5?3?5?$CFs?$AA@ 00845560 libucrtd:dbgrptt.obj + 0003:00049570 ??_C@_1JG@CPKCIOEE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_?$AAC@ 00845570 libucrtd:dbgrptt.obj + 0003:00049628 ??_C@_1FI@IBIOIHEG@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 00845628 libucrtd:dbgrptt.obj + 0003:00049698 ??_C@_1IM@OOKIFKOH@?$AAe?$AA?5?$AA?$DN?$AA?5?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg@ 00845698 libucrtd:dbgrptt.obj + 0003:00049740 ??_C@_1MC@IGEECMDB@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 00845740 libucrtd:dbgrptt.obj + 0003:00049828 ??_C@_1HO@PJOFIKFE@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 00845828 libucrtd:dbgrptt.obj + 0003:000498c0 ??_C@_1CA@HPALHDOD@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAW?$AA?$AA@ 008458c0 libucrtd:dbgrptt.obj + 0003:000498e8 ??_C@_1FA@CNLLOMHI@?$AA_?$AAi?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 008458e8 libucrtd:dbgrptt.obj + 0003:00049948 ??_C@_1EM@MJFLEDMB@?$AAS?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5@ 00845948 libucrtd:dbgrptt.obj + 0003:000499a4 ??_C@_1BO@OCHMLCAG@?$AA?$DM?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 008459a4 libucrtd:dbgrptt.obj + 0003:000499c8 ??_C@_1BA@ELMMDCFC@?$AA?0?$AA?5?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$AA@ 008459c8 libucrtd:dbgrptt.obj + 0003:000499e0 ??_C@_1JK@KHFABAEO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 008459e0 libucrtd:dbgrptt.obj + 0003:00049a98 ??_C@_1KO@DGAHENCH@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 00845a98 libucrtd:dbgrptt.obj + 0003:00049b68 ??_C@_1CG@FFFGGODN@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5?$AA?$AA@ 00845b68 libucrtd:dbgrptt.obj + 0003:00049b98 ??_C@_1FK@HPADHBBD@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 00845b98 libucrtd:dbgrptt.obj + 0003:00049c08 ??_C@_1EK@NMDFGHMF@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 00845c08 libucrtd:dbgrptt.obj + 0003:00049c60 ??_C@_13CMNBPIDO@?$AA?$AN?$AA?$AA@ 00845c60 libucrtd:dbgrptt.obj + 0003:00049c68 ??_C@_1EK@PHCBEDKB@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 00845c68 libucrtd:dbgrptt.obj + 0003:00049cc0 ??_C@_1BM@GIBPMLNL@?$AA?$CF?$AAl?$AAs?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?3?$AA?5?$AA?$CF?$AAl?$AAs?$AA?$AA@ 00845cc0 libucrtd:dbgrptt.obj + 0003:00049ce8 ??_C@_1JI@EACPGHID@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC?$AA_@ 00845ce8 libucrtd:dbgrptt.obj + 0003:00049da0 ??_C@_1FI@DBAIJPJE@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 00845da0 libucrtd:dbgrptt.obj + 0003:00049e10 ??_C@_1IK@LEBMBAP@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe@ 00845e10 libucrtd:dbgrptt.obj + 0003:00049eb8 ??_C@_1MA@LBAMNNOB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 00845eb8 libucrtd:dbgrptt.obj + 0003:00049fa0 ??_C@_0DP@GNPEPHJD@_CrtDbgReport?3?5String?5too?5long?5o@ 00845fa0 libucrtd:dbgrptt.obj + 0003:00049ff0 ??_C@_1IE@CPGKIAGP@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAa?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5@ 00845ff0 libucrtd:dbgrptt.obj + 0003:0004a0f0 ??_C@_1EA@JGEFHKEI@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAd?$AAa?$AAt?$AAe?$AAt?$AAi?$AAm?$AAe?$AA?9?$AAl?$AA1?$AA?9?$AA1?$AA?9?$AA1?$AA?$AA@ 008460f0 libucrtd:winapi_thunks.obj + 0003:0004a13c ??_C@_1DM@KHCHBNEB@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAf?$AAi?$AAb?$AAe?$AAr?$AAs?$AA?9?$AAl?$AA1?$AA?9?$AA1?$AA?9?$AA1?$AA?$AA@ 0084613c libucrtd:winapi_thunks.obj + 0003:0004a184 ??_C@_1DI@IJCEHOCB@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAf?$AAi?$AAl?$AAe?$AA?9?$AAl?$AA1?$AA?9?$AA2?$AA?9?$AA2?$AA?$AA@ 00846184 libucrtd:winapi_thunks.obj + 0003:0004a1c8 ??_C@_1EI@MPIAOHOC@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAl?$AAo?$AAc?$AAa?$AAl?$AAi?$AAz?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?9?$AAl?$AA1?$AA?9@ 008461c8 libucrtd:winapi_thunks.obj + 0003:0004a220 ??_C@_1FK@FPHCKFIE@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAl?$AAo?$AAc?$AAa?$AAl?$AAi?$AAz?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?9?$AAo?$AAb?$AAs@ 00846220 libucrtd:winapi_thunks.obj + 0003:0004a290 ??_C@_1EM@DILCGIIO@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAp?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAs?$AA?9?$AAl@ 00846290 libucrtd:winapi_thunks.obj + 0003:0004a2ec ??_C@_1DM@LNCGDDPN@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?9?$AAl?$AA1?$AA?9?$AA1?$AA?9?$AA0?$AA?$AA@ 008462ec libucrtd:winapi_thunks.obj + 0003:0004a334 ??_C@_1DK@LPPGFMPP@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAs?$AAy?$AAn?$AAc?$AAh?$AA?9?$AAl?$AA1?$AA?9?$AA2?$AA?9?$AA0?$AA?$AA@ 00846334 libucrtd:winapi_thunks.obj + 0003:0004a37c ??_C@_1DO@FPAPJEMD@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAs?$AAy?$AAs?$AAi?$AAn?$AAf?$AAo?$AA?9?$AAl?$AA1?$AA?9?$AA2?$AA?9?$AA1?$AA?$AA@ 0084637c libucrtd:winapi_thunks.obj + 0003:0004a3c8 ??_C@_1DK@NDHNAHIO@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAw?$AAi?$AAn?$AAr?$AAt?$AA?9?$AAl?$AA1?$AA?9?$AA1?$AA?9?$AA0?$AA?$AA@ 008463c8 libucrtd:winapi_thunks.obj + 0003:0004a410 ??_C@_1DM@KGHDGBCM@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAx?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?9?$AAl?$AA2?$AA?9?$AA1?$AA?9?$AA0?$AA?$AA@ 00846410 libucrtd:winapi_thunks.obj + 0003:0004a458 ??_C@_1EO@IJIOEFOH@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAr?$AAt?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAn?$AAt?$AAu?$AAs?$AAe?$AAr?$AA?9?$AAw?$AAi?$AAn?$AAd?$AAo?$AAw?$AA?9@ 00846458 libucrtd:winapi_thunks.obj + 0003:0004a4b8 ??_C@_1FG@HHGEKANL@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAs?$AAe?$AAc?$AAu?$AAr?$AAi?$AAt?$AAy?$AA?9?$AAs?$AAy?$AAs?$AAt?$AAe?$AAm?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi@ 008464b8 libucrtd:winapi_thunks.obj + 0003:0004a520 ??_C@_1EG@DBIOJECG@?$AAe?$AAx?$AAt?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAn?$AAt?$AAu?$AAs?$AAe?$AAr?$AA?9?$AAd?$AAi?$AAa?$AAl?$AAo?$AAg?$AAb?$AAo?$AAx?$AA?9?$AAl?$AA1?$AA?9?$AA1@ 00846520 libucrtd:winapi_thunks.obj + 0003:0004a578 ??_C@_1EO@FIHMJCLF@?$AAe?$AAx?$AAt?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAn?$AAt?$AAu?$AAs?$AAe?$AAr?$AA?9?$AAw?$AAi?$AAn?$AAd?$AAo?$AAw?$AAs?$AAt?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?9@ 00846578 libucrtd:winapi_thunks.obj + 0003:0004a5d8 ??_C@_1BC@DNHGCMLG@?$AAa?$AAd?$AAv?$AAa?$AAp?$AAi?$AA3?$AA2?$AA?$AA@ 008465d8 libucrtd:winapi_thunks.obj + 0003:0004a5f0 ??_C@_1BC@GDMECMAK@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?$AA@ 008465f0 libucrtd:winapi_thunks.obj + 0003:0004a608 ??_C@_1M@OAIMIKLP@?$AAn?$AAt?$AAd?$AAl?$AAl?$AA?$AA@ 00846608 libucrtd:winapi_thunks.obj + 0003:0004a618 ??_C@_1EG@DPGNFKGC@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAa?$AAp?$AAp?$AAm?$AAo?$AAd?$AAe?$AAl?$AA?9?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?9?$AAl?$AA1?$AA?9?$AA1@ 00846618 libucrtd:winapi_thunks.obj + 0003:0004a66c ??_C@_1O@BCCLBEOE@?$AAu?$AAs?$AAe?$AAr?$AA3?$AA2?$AA?$AA@ 0084666c libucrtd:winapi_thunks.obj + 0003:0004a67c ??_C@_1BA@PFFKHIOG@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AA?$AA@ 0084667c libucrtd:winapi_thunks.obj + 0003:0004a690 ??_C@_1BA@IAIFMGEF@?$AAe?$AAx?$AAt?$AA?9?$AAm?$AAs?$AA?9?$AA?$AA@ 00846690 libucrtd:winapi_thunks.obj + 0003:0004a6a8 ??_C@_1EM@LBIFGLGH@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAN?$AAV?$AAA?$AAL?$AAI?$AAD?$AA_?$AAH?$AAA?$AAN?$AAD?$AAL?$AAE?$AA_@ 008466a8 libucrtd:winapi_thunks.obj + 0003:0004a708 ??_C@_1HE@OILMBOBA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAi@ 00846708 libucrtd:winapi_thunks.obj + 0003:0004a794 ??_C@_1DI@MAHEDLDB@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAe?$AAw?$AA_?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?$AA@ 00846794 libucrtd:winapi_thunks.obj + 0003:0004a7d8 ??_C@_1FC@IBNCGNKL@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAf?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA_?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA_?$AAs?$AAe@ 008467d8 libucrtd:winapi_thunks.obj + 0003:0004a83c ??_C@_1CI@GDJBAGLP@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAf?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAe?$AAw?$AA_?$AAf?$AAp?$AA?$AA@ 0084683c libucrtd:winapi_thunks.obj + 0003:0004a870 ??_C@_0BA@FHFNEAED@AreFileApisANSI?$AA@ 00846870 libucrtd:winapi_thunks.obj + 0003:0004a890 ??_C@_0BA@IHGNDAEB@CompareStringEx?$AA@ 00846890 libucrtd:winapi_thunks.obj + 0003:0004a8b0 ??_C@_0BE@LJANKFHF@EnumSystemLocalesEx?$AA@ 008468b0 libucrtd:winapi_thunks.obj + 0003:0004a8d4 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 008468d4 libucrtd:winapi_thunks.obj + 0003:0004a8ec ??_C@_07PEJMOBNF@FlsFree?$AA@ 008468ec libucrtd:winapi_thunks.obj + 0003:0004a904 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 00846904 libucrtd:winapi_thunks.obj + 0003:0004a920 ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 00846920 libucrtd:winapi_thunks.obj + 0003:0004a93c ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 0084693c libucrtd:winapi_thunks.obj + 0003:0004a95c ??_C@_0BA@EPCJIIPD@GetDateFormatEx?$AA@ 0084695c libucrtd:winapi_thunks.obj + 0003:0004a97c ??_C@_0BJ@DIBIJBHA@GetEnabledXStateFeatures?$AA@ 0084697c libucrtd:winapi_thunks.obj + 0003:0004a9a8 ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 008469a8 libucrtd:winapi_thunks.obj + 0003:0004a9cc ??_C@_0BA@ONOKGCMP@GetLocaleInfoEx?$AA@ 008469cc libucrtd:winapi_thunks.obj + 0003:0004a9ec ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 008469ec libucrtd:winapi_thunks.obj + 0003:0004aa0c ??_C@_0BP@FPNJPEJC@GetSystemTimePreciseAsFileTime?$AA@ 00846a0c libucrtd:winapi_thunks.obj + 0003:0004aa40 ??_C@_0BA@CIJJKCJJ@GetTimeFormatEx?$AA@ 00846a40 libucrtd:winapi_thunks.obj + 0003:0004aa60 ??_C@_0BJ@PBCCBIPI@GetUserDefaultLocaleName?$AA@ 00846a60 libucrtd:winapi_thunks.obj + 0003:0004aa8c ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 00846a8c libucrtd:winapi_thunks.obj + 0003:0004aab8 ??_C@_0BG@IKLDMBLM@GetXStateFeaturesMask?$AA@ 00846ab8 libucrtd:winapi_thunks.obj + 0003:0004aae0 ??_C@_0BM@HCFOFFN@InitializeCriticalSectionEx?$AA@ 00846ae0 libucrtd:winapi_thunks.obj + 0003:0004ab10 ??_C@_0BC@CELBKLLA@IsValidLocaleName?$AA@ 00846b10 libucrtd:winapi_thunks.obj + 0003:0004ab34 ??_C@_0O@KKBNKAPF@LCMapStringEx?$AA@ 00846b34 libucrtd:winapi_thunks.obj + 0003:0004ab50 ??_C@_0BB@CDHDDLLP@LCIDToLocaleName?$AA@ 00846b50 libucrtd:winapi_thunks.obj + 0003:0004ab70 ??_C@_0BB@HBDEELFH@LocaleNameToLCID?$AA@ 00846b70 libucrtd:winapi_thunks.obj + 0003:0004ab90 ??_C@_0BE@KINNKFDA@LocateXStateFeature?$AA@ 00846b90 libucrtd:winapi_thunks.obj + 0003:0004abb4 ??_C@_0M@CHKKJDAI@MessageBoxA?$AA@ 00846bb4 libucrtd:winapi_thunks.obj + 0003:0004abd0 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 00846bd0 libucrtd:winapi_thunks.obj + 0003:0004abe4 ??_C@_0N@PPOMPGGK@RoInitialize?$AA@ 00846be4 libucrtd:winapi_thunks.obj + 0003:0004abf8 ??_C@_0P@LLFHBIJD@RoUninitialize?$AA@ 00846bf8 libucrtd:winapi_thunks.obj + 0003:0004ac10 ??_C@_0CF@OJOFEIGO@AppPolicyGetProcessTerminationMe@ 00846c10 libucrtd:winapi_thunks.obj + 0003:0004ac40 ??_C@_0CF@NNDFDCOC@AppPolicyGetThreadInitialization@ 00846c40 libucrtd:winapi_thunks.obj + 0003:0004ac70 ??_C@_0CE@OICFMIKE@AppPolicyGetShowDeveloperDiagnos@ 00846c70 libucrtd:winapi_thunks.obj + 0003:0004aca0 ??_C@_0BL@ODDJNEDA@AppPolicyGetWindowingModel?$AA@ 00846ca0 libucrtd:winapi_thunks.obj + 0003:0004accc ??_C@_0BI@BKLFFAPO@SetThreadStackGuarantee?$AA@ 00846ccc libucrtd:winapi_thunks.obj + 0003:0004acf4 ??_C@_0BC@JEAENNKH@SystemFunction036?$AA@ 00846cf4 libucrtd:winapi_thunks.obj + 0003:0004ad10 ??_C@_1GE@GPOPIOIG@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00846d10 libucrtd:_freebuf.obj + 0003:0004ad88 ??_C@_1BBC@DECGKMGJ@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 00846d88 libucrtd:mbtowc.obj + 0003:0004aed0 ??_C@_1GE@CGIHMDEJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00846ed0 libucrtd:mbtowc.obj + 0003:0004af48 ??_C@_1HA@KNBGJAIN@?$AAU?$AAT?$AAF?$AA?9?$AA8?$AA?5?$AAi?$AAs?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh?$AAi?$AAs?$AA?5?$AA_?$AAm@ 00846f48 libucrtd:mbtowc.obj + 0003:0004afd0 ??_C@_1BBA@EIIJPPL@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 00846fd0 libucrtd:mbtowc.obj + 0003:0004b118 ??_C@_1IE@CDCHDACI@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 00847118 libucrtd:mbtowc.obj + 0003:0004b1b8 ??_C@_1DK@NBNOAGKB@?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 008471b8 libucrtd:wctomb.obj + 0003:0004b200 ??_C@_1GE@FCCEPHFG@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00847200 libucrtd:wctomb.obj + 0003:0004b278 ??_C@_1BI@IEADNOHF@?$AA_?$AAw?$AAc?$AAt?$AAo?$AAm?$AAb?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 00847278 libucrtd:wctomb.obj + 0003:0004b294 ??_C@_1CM@ENFEGCNE@?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 00847294 libucrtd:wctomb.obj + 0003:0004b2c8 ??_C@_03OEIAHPBN@INF?$AA@ 008472c8 libucrtd:cvt.obj + 0003:0004b2cc ??_C@_03OJHLLCGB@inf?$AA@ 008472cc libucrtd:cvt.obj + 0003:0004b2d0 ??_C@_03LKNCIKJB@NAN?$AA@ 008472d0 libucrtd:cvt.obj + 0003:0004b2d4 ??_C@_03LHCJEHON@nan?$AA@ 008472d4 libucrtd:cvt.obj + 0003:0004b2d8 ??_C@_09OFJJIMPC@NAN?$CISNAN?$CJ?$AA@ 008472d8 libucrtd:cvt.obj + 0003:0004b2e4 ??_C@_09IPFBKMDL@nan?$CIsnan?$CJ?$AA@ 008472e4 libucrtd:cvt.obj + 0003:0004b2f0 ??_C@_08IKHNHAJ@NAN?$CIIND?$CJ?$AA@ 008472f0 libucrtd:cvt.obj + 0003:0004b2fc ??_C@_08OFCDMILK@nan?$CIind?$CJ?$AA@ 008472fc libucrtd:cvt.obj + 0003:0004b308 ??_C@_1FO@GKAKAPLI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00847308 libucrtd:cvt.obj + 0003:0004b378 ??_C@_1DE@EHGIGIDK@?$AAf?$AAp?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAn?$AAa?$AAn?$AA_?$AAo?$AAr?$AA_?$AAi?$AAn?$AAf?$AAi?$AAn?$AAi?$AAt?$AAy?$AA?$AA@ 00847378 libucrtd:cvt.obj + 0003:0004b3b8 ??_C@_1LI@PCMLJPCO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_@ 008473b8 libucrtd:cvt.obj + 0003:0004b498 ??_C@_1KO@LJHOFBCD@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs@ 00847498 libucrtd:cvt.obj + 0003:0004b568 ??_C@_1CK@BOLHOMFO@?$AAf?$AAp?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAe?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?$AA@ 00847568 libucrtd:cvt.obj + 0003:0004b5a0 ??_C@_1BBA@FHDJNBGM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?5?$AAp?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt@ 008475a0 libucrtd:cvt.obj + 0003:0004b6e8 ??_C@_05KLBDPFGC@e?$CL000?$AA@ 008476e8 libucrtd:cvt.obj + 0003:0004b6f0 ??_C@_1IC@FILKPBAB@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs@ 008476f0 libucrtd:cvt.obj + 0003:0004b78c ??_C@_1BI@PNBDLNBB@?$AAf?$AAp?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA_?$AAa?$AA?$AA@ 0084778c libucrtd:cvt.obj + 0003:0004b7a8 ??_C@_1DC@MGKAFPFD@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 008477a8 libucrtd:cvt.obj + 0003:0004b7e4 ??_C@_1CC@LDAHJAKK@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAf?$AAp?$AA_?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?$AA@ 008477e4 libucrtd:cvt.obj + 0003:0004b80c ??_C@_1DA@NMLJJOCO@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 0084780c libucrtd:cvt.obj + 0003:0004b848 ??_C@_1DE@MNOPBCOK@?$AAs?$AAc?$AAr?$AAa?$AAt?$AAc?$AAh?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00847848 libucrtd:cvt.obj + 0003:0004b888 ??_C@_1DC@CKBKNFKH@?$AAs?$AAc?$AAr?$AAa?$AAt?$AAc?$AAh?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 00847888 libucrtd:cvt.obj + 0003:0004b8c8 ??_C@_1EI@JAHBOGIM@?$AA?$CI?$AA?$CC?$AAU?$AAn?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?$CC?$AA?0@ 008478c8 libucrtd:cvt.obj + 0003:0004b920 ??_C@_1GA@OJHMFOOJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00847920 libucrtd:fputwc.obj + 0003:0004b994 ??_C@_1O@HJNPHHHB@?$AAf?$AAp?$AAu?$AAt?$AAw?$AAc?$AA?$AA@ 00847994 libucrtd:fputwc.obj + 0003:0004b9a8 ??_C@_1GA@KCAHHNGP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 008479a8 libucrtd:fileno.obj + 0003:0004ba1c ??_C@_1BA@JGHIEKKM@?$AA_?$AAf?$AAi?$AAl?$AAe?$AAn?$AAo?$AA?$AA@ 00847a1c libucrtd:fileno.obj + 0003:0004ba30 ??_C@_1GC@GBMDABED@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00847a30 libucrtd:_sftbuf.obj + 0003:0004baa8 ??_C@_0DB@EPIHMFLB@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 00847aa8 libucrtd:_sftbuf.obj + 0003:0004bae8 ___lc_time_c 00847ae8 libucrtd:nlsdata.obj + 0003:0004bc94 ??_C@_03KOEHGMDN@Sun?$AA@ 00847c94 libucrtd:nlsdata.obj + 0003:0004bc98 ??_C@_03PDAGKDH@Mon?$AA@ 00847c98 libucrtd:nlsdata.obj + 0003:0004bc9c ??_C@_03NAGEINEP@Tue?$AA@ 00847c9c libucrtd:nlsdata.obj + 0003:0004bca0 ??_C@_03MHOMLAJA@Wed?$AA@ 00847ca0 libucrtd:nlsdata.obj + 0003:0004bca4 ??_C@_03IOFIKPDN@Thu?$AA@ 00847ca4 libucrtd:nlsdata.obj + 0003:0004bca8 ??_C@_03IDIOELNC@Fri?$AA@ 00847ca8 libucrtd:nlsdata.obj + 0003:0004bcac ??_C@_03FEFJNEK@Sat?$AA@ 00847cac libucrtd:nlsdata.obj + 0003:0004bcb0 ??_C@_06OOPIFAJ@Sunday?$AA@ 00847cb0 libucrtd:nlsdata.obj + 0003:0004bcb8 ??_C@_06JLEDEDGH@Monday?$AA@ 00847cb8 libucrtd:nlsdata.obj + 0003:0004bcc0 ??_C@_07BAAGCFCM@Tuesday?$AA@ 00847cc0 libucrtd:nlsdata.obj + 0003:0004bccc ??_C@_09DLIGFAKA@Wednesday?$AA@ 00847ccc libucrtd:nlsdata.obj + 0003:0004bcd8 ??_C@_08HACCIKIA@Thursday?$AA@ 00847cd8 libucrtd:nlsdata.obj + 0003:0004bce4 ??_C@_06JECMNKMI@Friday?$AA@ 00847ce4 libucrtd:nlsdata.obj + 0003:0004bcec ??_C@_08INBOOONO@Saturday?$AA@ 00847cec libucrtd:nlsdata.obj + 0003:0004bcf8 ??_C@_03JIHJHPIE@Jan?$AA@ 00847cf8 libucrtd:nlsdata.obj + 0003:0004bcfc ??_C@_03HJBDCHOM@Feb?$AA@ 00847cfc libucrtd:nlsdata.obj + 0003:0004bd00 ??_C@_03ODNJBKGA@Mar?$AA@ 00847d00 libucrtd:nlsdata.obj + 0003:0004bd04 ??_C@_03LEOLGMJP@Apr?$AA@ 00847d04 libucrtd:nlsdata.obj + 0003:0004bd08 ??_C@_03CNMDKL@May?$AA@ 00847d08 libucrtd:nlsdata.obj + 0003:0004bd0c ??_C@_03IDFGHECI@Jun?$AA@ 00847d0c libucrtd:nlsdata.obj + 0003:0004bd10 ??_C@_03LBGABGKK@Jul?$AA@ 00847d10 libucrtd:nlsdata.obj + 0003:0004bd14 ??_C@_03IFJFEIGA@Aug?$AA@ 00847d14 libucrtd:nlsdata.obj + 0003:0004bd18 ??_C@_03GGCAPAJC@Sep?$AA@ 00847d18 libucrtd:nlsdata.obj + 0003:0004bd1c ??_C@_03BMAOKBAD@Oct?$AA@ 00847d1c libucrtd:nlsdata.obj + 0003:0004bd20 ??_C@_03JPJOFNIA@Nov?$AA@ 00847d20 libucrtd:nlsdata.obj + 0003:0004bd24 ??_C@_03MKABNOCG@Dec?$AA@ 00847d24 libucrtd:nlsdata.obj + 0003:0004bd28 ??_C@_07CGJPFGJA@January?$AA@ 00847d28 libucrtd:nlsdata.obj + 0003:0004bd34 ??_C@_08GNJGEPFN@February?$AA@ 00847d34 libucrtd:nlsdata.obj + 0003:0004bd40 ??_C@_05HPCKOFNC@March?$AA@ 00847d40 libucrtd:nlsdata.obj + 0003:0004bd48 ??_C@_05DMJDNLEJ@April?$AA@ 00847d48 libucrtd:nlsdata.obj + 0003:0004bd50 ??_C@_04CNLMGBGM@June?$AA@ 00847d50 libucrtd:nlsdata.obj + 0003:0004bd58 ??_C@_04MIEPOIFP@July?$AA@ 00847d58 libucrtd:nlsdata.obj + 0003:0004bd60 ??_C@_06LBBHFDDG@August?$AA@ 00847d60 libucrtd:nlsdata.obj + 0003:0004bd68 ??_C@_09BHHEALKD@September?$AA@ 00847d68 libucrtd:nlsdata.obj + 0003:0004bd74 ??_C@_07JJNFCEND@October?$AA@ 00847d74 libucrtd:nlsdata.obj + 0003:0004bd80 ??_C@_08HCHEGEOA@November?$AA@ 00847d80 libucrtd:nlsdata.obj + 0003:0004bd8c ??_C@_08EDHMEBNP@December?$AA@ 00847d8c libucrtd:nlsdata.obj + 0003:0004bd98 ??_C@_02DEDBPAFC@AM?$AA@ 00847d98 libucrtd:nlsdata.obj + 0003:0004bd9c ??_C@_02CJNFDJBF@PM?$AA@ 00847d9c libucrtd:nlsdata.obj + 0003:0004bda0 ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 00847da0 libucrtd:nlsdata.obj + 0003:0004bdac ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 00847dac libucrtd:nlsdata.obj + 0003:0004bdc4 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 00847dc4 libucrtd:nlsdata.obj + 0003:0004bdd0 ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 00847dd0 libucrtd:nlsdata.obj + 0003:0004bddc ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 00847ddc libucrtd:nlsdata.obj + 0003:0004bde8 ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 00847de8 libucrtd:nlsdata.obj + 0003:0004bdf4 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 00847df4 libucrtd:nlsdata.obj + 0003:0004be00 ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 00847e00 libucrtd:nlsdata.obj + 0003:0004be0c ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 00847e0c libucrtd:nlsdata.obj + 0003:0004be18 ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 00847e18 libucrtd:nlsdata.obj + 0003:0004be24 ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 00847e24 libucrtd:nlsdata.obj + 0003:0004be34 ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 00847e34 libucrtd:nlsdata.obj + 0003:0004be44 ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 00847e44 libucrtd:nlsdata.obj + 0003:0004be58 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 00847e58 libucrtd:nlsdata.obj + 0003:0004be70 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 00847e70 libucrtd:nlsdata.obj + 0003:0004be88 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 00847e88 libucrtd:nlsdata.obj + 0003:0004be98 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 00847e98 libucrtd:nlsdata.obj + 0003:0004beb0 ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 00847eb0 libucrtd:nlsdata.obj + 0003:0004bebc ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 00847ebc libucrtd:nlsdata.obj + 0003:0004bec8 ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 00847ec8 libucrtd:nlsdata.obj + 0003:0004bed4 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 00847ed4 libucrtd:nlsdata.obj + 0003:0004bee0 ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 00847ee0 libucrtd:nlsdata.obj + 0003:0004beec ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 00847eec libucrtd:nlsdata.obj + 0003:0004bef8 ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 00847ef8 libucrtd:nlsdata.obj + 0003:0004bf04 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 00847f04 libucrtd:nlsdata.obj + 0003:0004bf10 ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 00847f10 libucrtd:nlsdata.obj + 0003:0004bf1c ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 00847f1c libucrtd:nlsdata.obj + 0003:0004bf28 ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 00847f28 libucrtd:nlsdata.obj + 0003:0004bf34 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 00847f34 libucrtd:nlsdata.obj + 0003:0004bf40 ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 00847f40 libucrtd:nlsdata.obj + 0003:0004bf54 ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 00847f54 libucrtd:nlsdata.obj + 0003:0004bf6c ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 00847f6c libucrtd:nlsdata.obj + 0003:0004bf7c ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 00847f7c libucrtd:nlsdata.obj + 0003:0004bf8c ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 00847f8c libucrtd:nlsdata.obj + 0003:0004bf98 ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 00847f98 libucrtd:nlsdata.obj + 0003:0004bfa4 ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 00847fa4 libucrtd:nlsdata.obj + 0003:0004bfb4 ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 00847fb4 libucrtd:nlsdata.obj + 0003:0004bfcc ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 00847fcc libucrtd:nlsdata.obj + 0003:0004bfe0 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 00847fe0 libucrtd:nlsdata.obj + 0003:0004bff8 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 00847ff8 libucrtd:nlsdata.obj + 0003:0004c010 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 00848010 libucrtd:nlsdata.obj + 0003:0004c018 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 00848018 libucrtd:nlsdata.obj + 0003:0004c020 ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 00848020 libucrtd:nlsdata.obj + 0003:0004c038 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 00848038 libucrtd:nlsdata.obj + 0003:0004c068 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 00848068 libucrtd:nlsdata.obj + 0003:0004c080 ??_C@_1M@BMHNFIME@?$AAe?$AAn?$AA?9?$AAU?$AAS?$AA?$AA@ 00848080 libucrtd:nlsdata.obj + 0003:0004c090 ??_C@_1GA@HBEFGMHK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00848090 libucrtd:xtoa.obj + 0003:0004c104 ??_C@_1BM@HMPEMLNP@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAx?$AAt?$AAo?$AAx?$AA_?$AAs?$AA?$AA@ 00848104 libucrtd:xtoa.obj + 0003:0004c128 ??_C@_1CC@ONIJBMJF@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 00848128 libucrtd:xtoa.obj + 0003:0004c150 ??_C@_1HA@JFIOFNKD@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs?$AAt?$AA?$DM?$AAs?$AAi?$AAz?$AAe?$AA_@ 00848150 libucrtd:xtoa.obj + 0003:0004c1d8 ??_C@_1DE@PCJGDBBD@?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA3?$AA6?$AA?$AA@ 008481d8 libucrtd:xtoa.obj + 0003:0004c218 ??_C@_1CM@LONILNIJ@?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DM?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?$AA@ 00848218 libucrtd:xtoa.obj + 0003:0004c24c ??_C@_1BI@OLPLFKOE@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAx?$AAt?$AAo?$AAx?$AA?$AA@ 0084824c libucrtd:xtoa.obj + 0003:0004c268 ??_C@_1DE@BCNCAIK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 00848268 libucrtd:set_error_mode.obj + 0003:0004c2a8 ??_C@_1GO@EBFPMMIJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAm@ 008482a8 libucrtd:set_error_mode.obj + 0003:0004c32c ??_C@_1CA@LFDHAMEM@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 0084832c libucrtd:set_error_mode.obj + 0003:0004c354 ??_C@_1CC@HELMJGIF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAt?$AAc?$AAs?$AAn?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 00848354 libucrtd:wcsncat_s.obj + 0003:0004c384 __half 00848384 libucrtd:pow_impl.obj + 0003:0004c488 __DEFAULT_CW_in_mem 00848488 libucrtd:common.obj + 0003:0004c48a __pi_by_2_to_61 0084848a libucrtd:common.obj + 0003:0004c4f0 ??_C@_1FK@MGHFJLAL@?$AAf?$AAh?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAh?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg@ 008484f0 libucrtd:read.obj + 0003:0004c560 ??_C@_1FM@PHKGHLIO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00848560 libucrtd:read.obj + 0003:0004c5d0 ??_C@_1M@NHJOLLDM@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA?$AA@ 008485d0 libucrtd:read.obj + 0003:0004c5e0 ??_C@_1CI@ILOIOBLM@?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$AA@ 008485e0 libucrtd:read.obj + 0003:0004c610 ??_C@_1CO@OPEPDLLF@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 00848610 libucrtd:read.obj + 0003:0004c648 ??_C@_1BK@JJBHNDKJ@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00848648 libucrtd:read.obj + 0003:0004c668 ??_C@_1DM@JEAHBMKI@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 00848668 libucrtd:read.obj + 0003:0004c6b0 ??_C@_1DI@CDGOMPDO@?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$CF?$AA?5?$AA2?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 008486b0 libucrtd:read.obj + 0003:0004c6f4 ??_C@_0CO@JFNFJHLC@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 008486f4 libucrtd:read.obj + 0003:0004c72c ??_C@_1DM@HGBOAKPP@?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$CF?$AA?5?$AA2?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 0084872c libucrtd:read.obj + 0003:0004c778 ??_C@_1GC@MGNADOPH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00848778 libucrtd:_filbuf.obj + 0003:0004c7f0 ??_C@_1DM@MPDNIFLF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAr?$AAe?$AAf?$AAi?$AAl?$AAl?$AA_?$AAa?$AAn?$AAd?$AA_?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 008487f0 libucrtd:_filbuf.obj + 0003:0004c838 ??_C@_1CA@NJOPIFJ@?$AAn?$AAa?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00848838 libucrtd:getenv.obj + 0003:0004c860 ??_C@_1GE@DJLBMNJO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 00848860 libucrtd:getenv.obj + 0003:0004c8d8 ??_C@_1BM@BLGHJIAJ@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAg?$AAe?$AAt?$AAe?$AAn?$AAv?$AA?$AA@ 008488d8 libucrtd:getenv.obj + 0003:0004c900 ??_C@_1FG@CANGEKNF@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAl?$AAe?$AAn?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA_?$AAM?$AAA?$AAX?$AA_?$AAE?$AAN?$AAV?$AA?$CJ?$AA?5@ 00848900 libucrtd:getenv.obj + 0003:0004c968 ??_C@_1IC@PEEDPIJE@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAl?$AAe?$AAn?$AA?$CI?$AA?$CK?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5?$AA?$CL?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA_@ 00848968 libucrtd:getenv.obj + 0003:0004ca04 ??_C@_1DE@LLCEPHKC@?$AAr?$AAe?$AAq?$AAu?$AAi?$AAr?$AAe?$AAd?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00848a04 libucrtd:getenv.obj + 0003:0004ca44 ??_C@_1CO@JMMLKGAM@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAg?$AAe?$AAt?$AAe?$AAn?$AAv?$AA_?$AAs?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00848a44 libucrtd:getenv.obj + 0003:0004ca80 ??_C@_1KI@FAGLHDFF@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu@ 00848a80 libucrtd:getenv.obj + 0003:0004cb50 ??_C@_1FM@PFPBILLI@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_@ 00848b50 libucrtd:getenv.obj + 0003:0004cbc0 ??_C@_1DE@DFBNADNF@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00848bc0 libucrtd:getenv.obj + 0003:0004cc00 ??_C@_1CO@CDOPGGMF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAd?$AAu?$AAp?$AAe?$AAn?$AAv?$AA_?$AAs?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00848c00 libucrtd:getenv.obj + 0003:0004cc38 ??_C@_1GM@ELJFOHM@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr@ 00848c38 libucrtd:getenv.obj + 0003:0004ccbc ??_C@_0DD@EEPIEICB@minkernel?2crts?2ucrt?2src?2desktopc@ 00848cbc libucrtd:spawnv.obj + 0003:0004cd18 ??_C@_1GG@HBDHCBFN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 00848d18 libucrtd:spawnv.obj + 0003:0004cd94 ??_C@_1BM@PNLMNGI@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAp?$AAa?$AAw?$AAn?$AAv?$AA?$AA@ 00848d94 libucrtd:spawnv.obj + 0003:0004cdb8 ??_C@_1CK@EAMJNHLM@?$AAf?$AAi?$AAl?$AAe?$AA_?$AAn?$AAa?$AAm?$AAe?$AA?$FL?$AA0?$AA?$FN?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?$AA@ 00848db8 libucrtd:spawnv.obj + 0003:0004cdec ??_C@_1CK@NHACCAAN@?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00848dec libucrtd:spawnv.obj + 0003:0004ce20 ??_C@_1DA@COHBDGKD@?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AAs?$AA?$FL?$AA0?$AA?$FN?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00848e20 libucrtd:spawnv.obj + 0003:0004ce5c ??_C@_1DA@NFFMLIIJ@?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AAs?$AA?$FL?$AA0?$AA?$FN?$AA?$FL?$AA0?$AA?$FN?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?$AA@ 00848e5c libucrtd:spawnv.obj + 0003:0004ce98 ??_C@_1HE@PDOMPPGE@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?4?$AAg?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?0?$AA?5?$AAf@ 00848e98 libucrtd:spawnv.obj + 0003:0004cf28 ??_C@_1HE@NNAOLDNK@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?4?$AAg?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?0?$AA?5?$AAf@ 00848f28 libucrtd:spawnv.obj + 0003:0004cfb8 ??_C@_1HO@CPNNGPID@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?4?$AAg?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?0?$AA?5?$AAb@ 00848fb8 libucrtd:spawnv.obj + 0003:0004d050 ??_C@_1FG@NOEOCDJI@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAe?$AAx?$AAt?$AAe?$AAn?$AAs?$AAi?$AAo?$AAn?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe@ 00849050 libucrtd:spawnv.obj + 0003:0004d0f0 ??_C@_1CA@CBMOKGAD@?$AAe?$AAx?$AAe?$AAc?$AAu?$AAt?$AAe?$AA_?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd?$AA?$AA@ 008490f0 libucrtd:spawnv.obj + 0003:0004d118 ??_C@_1DO@MLHCLAOA@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA_?$AAP?$AA_?$AAD?$AAE?$AAT?$AAA?$AAC?$AAH?$AA?$AA@ 00849118 libucrtd:spawnv.obj + 0003:0004d168 ??_C@_1GI@GEHJNBCG@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 00849168 libucrtd:spawnvp.obj + 0003:0004d1e4 ??_C@_1BO@CDMOPAOF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAp?$AAa?$AAw?$AAn?$AAv?$AAp?$AA?$AA@ 008491e4 libucrtd:spawnvp.obj + 0003:0004d208 ??_C@_1IO@HPGIPPPF@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAd?$AAu?$AAp?$AAe?$AAn?$AAv?$AA_?$AAs?$AA_?$AAc?$AAr?$AAt?$AA?$CI?$AAp?$AAa?$AAt?$AAh?$AA_?$AAv?$AAa?$AAl?$AAu?$AAe@ 00849208 libucrtd:spawnvp.obj + 0003:0004d2b4 ??_C@_0DE@LHFJJMOO@minkernel?2crts?2ucrt?2src?2desktopc@ 008492b4 libucrtd:spawnvp.obj + 0003:0004d2f8 ??_C@_1GK@DAAANMIF@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AA2?$AA6@ 008492f8 libucrtd:spawnvp.obj + 0003:0004d378 ??_C@_1FM@KAJIDENI@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AA2?$AA6@ 00849378 libucrtd:spawnvp.obj + 0003:0004d3e8 ??_C@_1CA@DFHJGMAL@?$AAp?$AAa?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 008493e8 libucrtd:waccess.obj + 0003:0004d410 ??_C@_1GM@JJMGMIIN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAf@ 00849410 libucrtd:waccess.obj + 0003:0004d494 ??_C@_1BG@CFNNCJOE@?$AA_?$AAw?$AAa?$AAc?$AAc?$AAe?$AAs?$AAs?$AA_?$AAs?$AA?$AA@ 00849494 libucrtd:waccess.obj + 0003:0004d4b0 ??_C@_1DE@HCFIPAKB@?$AA?$CI?$AAa?$AAc?$AAc?$AAe?$AAs?$AAs?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA?$HO?$AA6?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 008494b0 libucrtd:waccess.obj + 0003:0004d4f0 ??_C@_1CI@JELMFMDH@?$AAc?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA?9?$AA1?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA2?$AA5?$AA5?$AA?$AA@ 008494f0 libucrtd:isctype.obj + 0003:0004d520 ??_C@_1GG@KPBGDFHJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00849520 libucrtd:isctype.obj + 0003:0004d5a0 ??_C@_1FO@GEKPJHID@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAh@ 008495a0 libucrtd:expand.obj + 0003:0004d610 ??_C@_1BK@JMCGJOCC@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 00849610 libucrtd:expand.obj + 0003:0004d630 ??_C@_1CO@HCPPKOH@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAh?$AAe?$AAa?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00849630 libucrtd:heap_handle.obj + 0003:0004d668 ??_C@_1GI@OADBAEGE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAh@ 00849668 libucrtd:heap_handle.obj + 0003:0004d6e8 ??_C@_1FO@IPDGALOE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 008496e8 libucrtd:close.obj + 0003:0004d758 ??_C@_1O@EDEJGJBM@?$AA_?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 00849758 libucrtd:close.obj + 0003:0004d768 ??_C@_0DA@OGKFKCBE@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 00849768 libucrtd:stream.obj + 0003:0004d7a8 ??_C@_1GA@MPOOLHCO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 008497a8 libucrtd:commit.obj + 0003:0004d81c ??_C@_1BA@FLNMBBIM@?$AA_?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AA?$AA@ 0084981c libucrtd:commit.obj + 0003:0004d830 ??_C@_1FO@CAMPMGCN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00849830 libucrtd:write.obj + 0003:0004d8a0 ??_C@_1O@KOFKDHPL@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 008498a0 libucrtd:write.obj + 0003:0004d8b0 ??_C@_1CK@MMEFCHHN@?$AA?$CB?$AA_?$AAd?$AAb?$AAc?$AAs?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AAU?$AAs?$AAe?$AAd?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?$AA@ 008498b0 libucrtd:write.obj + 0003:0004d8e8 ??_C@_1EG@LICJGLJJ@?$AA1?$AA?5?$AA?$DM?$AA?5?$AAm?$AAb?$AA_?$AAl?$AAe?$AAn?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAm?$AAb?$AA_?$AAb?$AAu?$AAf?$AA_?$AAu?$AAs?$AAe?$AAd?$AA?5?$AA?$DM?$AA?5?$AAm?$AAb?$AA_?$AAl@ 008498e8 libucrtd:write.obj + 0003:0004d940 ??_C@_1FC@NFILPJB@?$AAm?$AAb?$AA_?$AAb?$AAu?$AAf?$AA_?$AAu?$AAs?$AAe?$AAd?$AA?5?$AA?$CL?$AA?5?$AAb?$AAy?$AAt?$AAe?$AAs?$AA_?$AAt?$AAo?$AA_?$AAa?$AAd?$AAd?$AA?5?$AA?$DM?$AA?5?$AAm?$AAb?$AA_@ 00849940 libucrtd:write.obj + 0003:0004d9a8 ??_C@_1FC@HEJOPHLA@?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa?$AAb?$AAl?$AAe?$AA_?$AAb?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AA_?$AAm?$AAb?$AAB?$AAu?$AAf@ 008499a8 libucrtd:write.obj + 0003:0004da0c ??_C@_1DI@CNMHHHLG@?$AAi?$AAs?$AAl?$AAe?$AAa?$AAd?$AAb?$AAy?$AAt?$AAe?$AA?$CI?$AA_?$AAd?$AAb?$AAc?$AAs?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?$CJ?$AA?$AA@ 00849a0c libucrtd:write.obj + 0003:0004da50 ??_C@_1BM@NCANHCIP@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00849a50 libucrtd:write.obj + 0003:0004da74 ??_C@_1CK@CPEAGIIP@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$CF?$AA?5?$AA2?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 00849a74 libucrtd:write.obj + 0003:0004daa8 ??_C@_1CO@LBNDLIPC@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?4?$AAp?$AAu?$AAb?$AAl?$AAi?$AAc?$AA_?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?$CI?$AA?$CJ?$AA?$AA@ 00849aa8 libucrtd:ftell.obj + 0003:0004dae0 ??_C@_1FO@JHBALIAM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00849ae0 libucrtd:ftell.obj + 0003:0004db50 ??_C@_1CI@MOKEPKDC@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00849b50 libucrtd:ftell.obj + 0003:0004db80 ??_C@_1GM@EDHJGDLB@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAl?$AAa?$AAs?$AAt?$AA?5?$AA?9?$AA?5?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAf?$AAi?$AAr?$AAs?$AAt?$AA?$CJ?$AA?5?$AA?$CF?$AA?5?$AAs@ 00849b80 libucrtd:ftell.obj + 0003:0004dc04 ??_C@_1BK@CMPCEPOF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AA?$AA@ 00849c04 libucrtd:ftell.obj + 0003:0004dc28 ??_C@_1GC@DFIGBGJI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00849c28 libucrtd:_flsbuf.obj + 0003:0004dca0 ??_C@_1HO@MLMGPAFH@?$AA?$CI?$AA?$CC?$AAi?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAI?$AAO?$AAB?$AA?5?$AAf?$AAi?$AAe?$AAl?$AAd?$AAs?$AA?$CC?$AA?0?$AA?5?$AAs?$AAt?$AAr?$AAe@ 00849ca0 libucrtd:_flsbuf.obj + 0003:0004dd38 ??_C@_1FO@KIIHJNFN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00849d38 libucrtd:lseek.obj + 0003:0004dda8 ??_C@_1BK@JOMBNFIM@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 00849da8 libucrtd:lseek.obj + 0003:0004ddc8 ??_C@_1DM@LMLOLGJ@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 00849dc8 libucrtd:lseek.obj + 0003:0004de10 ??_C@_1GC@DLDMJFMI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00849e10 libucrtd:_getbuf.obj + 0003:0004de88 ??_C@_0DB@LKJPMJPL@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 00849e88 libucrtd:_getbuf.obj + 0003:0004e320 ___dnames 0084a320 libucrtd:timeset.obj + 0003:0004e33c ___mnames 0084a33c libucrtd:timeset.obj + 0003:0004e368 ??_C@_1GA@DKIAGECB@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0084a368 libucrtd:timeset.obj + 0003:0004e3dc ??_C@_1BM@FIMHBHEB@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAa?$AAy?$AAl?$AAi?$AAg?$AAh?$AAt?$AA?$AA@ 0084a3dc libucrtd:timeset.obj + 0003:0004e400 ??_C@_1BK@EMODDHEE@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?$AA@ 0084a400 libucrtd:timeset.obj + 0003:0004e420 ??_C@_1BM@MGEAKPEJ@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAt?$AAi?$AAm?$AAe?$AAz?$AAo?$AAn?$AAe?$AA?$AA@ 0084a420 libucrtd:timeset.obj + 0003:0004e448 ??_C@_1KM@BFLODGGL@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA_?$AAi?$AAn?$AA_?$AAb?$AAy@ 0084a448 libucrtd:timeset.obj + 0003:0004e518 ??_C@_1BI@BHCKCCFA@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAt?$AAz?$AAn?$AAa?$AAm?$AAe?$AA?$AA@ 0084a518 libucrtd:timeset.obj + 0003:0004e534 ??_C@_1CE@HBFOGCFH@?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084a534 libucrtd:timeset.obj + 0003:0004e560 ??_C@_1DC@BDANNIGD@?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?$AA@ 0084a560 libucrtd:timeset.obj + 0003:0004e59c ??_C@_0CP@FHPLDAFF@minkernel?2crts?2ucrt?2src?2appcrt?2t@ 0084a59c libucrtd:gmtime.obj + 0003:0004e5d8 ??_C@_1FO@DEFNKBNP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0084a5d8 libucrtd:gmtime.obj + 0003:0004e648 ??_C@_1CA@MFJJHIBL@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAg?$AAm?$AAt?$AAi?$AAm?$AAe?$AA_?$AAs?$AA?$AA@ 0084a648 libucrtd:gmtime.obj + 0003:0004e670 ??_C@_1CA@JELLNKMB@?$AAt?$AAi?$AAm?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084a670 libucrtd:gmtime.obj + 0003:0004e698 ??_C@_02CLFPBFFP@TZ?$AA@ 0084a698 libucrtd:tzset.obj + 0003:0004e69c ??_C@_0CO@HGDJNALE@minkernel?2crts?2ucrt?2src?2appcrt?2t@ 0084a69c libucrtd:tzset.obj + 0003:0004e6d8 ??_C@_1FM@MDNOKAGD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0084a6d8 libucrtd:tzset.obj + 0003:0004e748 ??_C@_1DC@MADCMBHA@?$AAt?$AAz?$AAs?$AAe?$AAt?$AA_?$AAf?$AAr?$AAo?$AAm?$AA_?$AAs?$AAy?$AAs?$AAt?$AAe?$AAm?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0084a748 libucrtd:tzset.obj + 0003:0004e784 ??_C@_1DM@PDIFNGHB@?$AAt?$AAz?$AAs?$AAe?$AAt?$AA_?$AAf?$AAr?$AAo?$AAm?$AA_?$AAe?$AAn?$AAv?$AAi?$AAr?$AAo?$AAn?$AAm?$AAe?$AAn?$AAt?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0084a784 libucrtd:tzset.obj + 0003:0004e7d0 ??_C@_1FM@FKGLLBKA@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAa?$AAs?$AAt?$AA_?$AAt?$AAz?$AA?0?$AA?5?$AAs?$AAt?$AAr?$AAl?$AAe?$AAn?$AA?$CI?$AAt?$AAz?$AA_?$AAe?$AAn?$AAv?$AA?$CJ@ 0084a7d0 libucrtd:tzset.obj + 0003:0004e840 ??_C@_1GC@LDOKJLO@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAt?$AAz?$AAn?$AAa?$AAm?$AAe?$AA?$FL?$AA0?$AA?$FN?$AA?0?$AA?5?$AA6?$AA4?$AA?0?$AA?5?$AAt?$AAz?$AA_?$AAe?$AAn?$AAv?$AA?0@ 0084a840 libucrtd:tzset.obj + 0003:0004e8b8 ??_C@_1EI@MGFBHDFD@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAt?$AAz?$AAn?$AAa?$AAm?$AAe?$AA?$FL?$AA1?$AA?$FN?$AA?0?$AA?5?$AA6?$AA4?$AA?0?$AA?5?$AAt?$AAz?$AA_?$AAe?$AAn?$AAv?$AA?0@ 0084a8b8 libucrtd:tzset.obj + 0003:0004e910 ??_C@_1BA@GOCKIDGO@?$AAc?$AAv?$AAt?$AAd?$AAa?$AAt?$AAe?$AA?$AA@ 0084a910 libucrtd:tzset.obj + 0003:0004e924 ??_C@_1CO@IMMOMMCB@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?$CI?$AA?$CG?$AAd?$AAs?$AAt?$AAb?$AAi?$AAa?$AAs?$AA?$CJ?$AA?$AA@ 0084a924 libucrtd:tzset.obj + 0003:0004e95c ??_C@_1CA@GOLIIEDM@?$AA_?$AAi?$AAs?$AAi?$AAn?$AAd?$AAs?$AAt?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 0084a95c libucrtd:tzset.obj + 0003:0004e988 ??_C@_1GE@HEEFEAFI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0084a988 libucrtd:openfile.obj + 0003:0004ea00 ?ccs@?1???$__acrt_stdio_parse_mode@D@@YA?AU__acrt_stdio_stream_mode@@QBD@Z@4QBDB 0084aa00 libucrtd:openfile.obj + 0003:0004ea04 ?utf8_encoding@?1???$__acrt_stdio_parse_mode@D@@YA?AU__acrt_stdio_stream_mode@@QBD@Z@4QBDB 0084aa04 libucrtd:openfile.obj + 0003:0004ea0c ?utf16_encoding@?1???$__acrt_stdio_parse_mode@D@@YA?AU__acrt_stdio_stream_mode@@QBD@Z@4QBDB 0084aa0c libucrtd:openfile.obj + 0003:0004ea18 ?unicode_encoding@?1???$__acrt_stdio_parse_mode@D@@YA?AU__acrt_stdio_stream_mode@@QBD@Z@4QBDB 0084aa18 libucrtd:openfile.obj + 0003:0004ea20 ??_C@_1DM@FOFGGBBM@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 0084aa20 libucrtd:openfile.obj + 0003:0004ea68 ??_C@_1DA@KPIHAHGC@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAs?$AAt?$AAd?$AAi?$AAo?$AA_?$AAp?$AAa?$AAr?$AAs?$AAe?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 0084aa68 libucrtd:openfile.obj + 0003:0004eaa4 ??_C@_1BI@PDNFEGCG@?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA0?$AA?8?$AA?$AA@ 0084aaa4 libucrtd:openfile.obj + 0003:0004eac0 ?ccs@?1???$__acrt_stdio_parse_mode@_W@@YA?AU__acrt_stdio_stream_mode@@QB_W@Z@4QB_WB 0084aac0 libucrtd:openfile.obj + 0003:0004eac8 ?utf8_encoding@?1???$__acrt_stdio_parse_mode@_W@@YA?AU__acrt_stdio_stream_mode@@QB_W@Z@4QB_WB 0084aac8 libucrtd:openfile.obj + 0003:0004ead4 ?utf16_encoding@?1???$__acrt_stdio_parse_mode@_W@@YA?AU__acrt_stdio_stream_mode@@QB_W@Z@4QB_WB 0084aad4 libucrtd:openfile.obj + 0003:0004eae8 ?unicode_encoding@?1???$__acrt_stdio_parse_mode@_W@@YA?AU__acrt_stdio_stream_mode@@QB_W@Z@4QB_WB 0084aae8 libucrtd:openfile.obj + 0003:0004eaf8 ??_C@_0DH@IKPCBLP@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084aaf8 libucrtd:lcmapstringa.obj + 0003:0004eb40 ??_C@_1FO@NMANMHOD@?$AAc?$AAa?$AAc?$AAh?$AAe?$AAd?$AA_?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs?$AAt?$AA?$DM?$AAl?$AAo?$AAn?$AAg@ 0084ab40 libucrtd:win_policies.obj + 0003:0004ebb0 ??_C@_1HC@GHLNKBJK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAi@ 0084abb0 libucrtd:win_policies.obj + 0003:0004ec38 ??_C@_1BK@FPAMLIDG@?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084ac38 libucrtd:mbstowcs.obj + 0003:0004ec58 ??_C@_1GI@KABMHNPH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 0084ac58 libucrtd:mbstowcs.obj + 0003:0004ecd4 ??_C@_1CG@JEHFHLNG@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 0084acd4 libucrtd:mbstowcs.obj + 0003:0004ed08 ??_C@_1JM@MEKBACIG@?$AA?$CI?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5@ 0084ad08 libucrtd:mbstowcs.obj + 0003:0004edc4 ??_C@_1BM@PHENIGHD@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 0084adc4 libucrtd:mbstowcs.obj + 0003:0004ede8 ??_C@_1CM@LLECFMFH@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 0084ade8 libucrtd:mbstowcs.obj + 0003:0004ee1c ??_C@_1CO@JNPEPJAL@?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?$AA@ 0084ae1c libucrtd:mbstowcs.obj + 0003:0004ee54 ??_C@_1CA@NOKNKDIG@?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084ae54 libucrtd:wcstombs.obj + 0003:0004ee80 ??_C@_1GI@EEJDEALP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 0084ae80 libucrtd:wcstombs.obj + 0003:0004eefc ??_C@_1CG@LLJCAOHF@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 0084aefc libucrtd:wcstombs.obj + 0003:0004ef30 ??_C@_1JI@DFNKFCLG@?$AA?$CI?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO@ 0084af30 libucrtd:wcstombs.obj + 0003:0004efe8 ??_C@_1BM@BDMCLLDL@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 0084afe8 libucrtd:wcstombs.obj + 0003:0004f00c ??_C@_1CM@KEOGBFLI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 0084b00c libucrtd:wcstombs.obj + 0003:0004f040 ??_C@_0DJ@JBBOOIAE@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084b040 libucrtd:getlocaleinfoa.obj + 0003:0004f088 ??_C@_1HC@KAIIOBKJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084b088 libucrtd:getlocaleinfoa.obj + 0003:0004f110 ??_C@_1CM@LGLMFNOK@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAI?$AAn?$AAf?$AAo?$AAA?$AA?$AA@ 0084b110 libucrtd:getlocaleinfoa.obj + 0003:0004f148 ??_C@_1IM@HJPPDDKJ@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAc?$AAh?$AAa?$AAr?$AA_?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAl?$AAo?$AAc?$AAa?$AAl?$AA_?$AAl?$AAe@ 0084b148 libucrtd:getlocaleinfoa.obj + 0003:0004f1f0 ??_C@_0DJ@HCPJODDK@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084b1f0 libucrtd:getstringtypea.obj + 0003:0004f238 __d_inf 0084b238 libucrtd:util.obj + 0003:0004f248 __d_ind 0084b248 libucrtd:util.obj + 0003:0004f258 __d_max 0084b258 libucrtd:util.obj + 0003:0004f268 __d_min 0084b268 libucrtd:util.obj + 0003:0004f278 __d_mzero 0084b278 libucrtd:util.obj + 0003:0004f2a4 ??_C@_1BO@GCPMHDON@?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084b2a4 libucrtd:wcsicmp.obj + 0003:0004f2c8 ??_C@_1GE@FNNJGCGI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0084b2c8 libucrtd:wcsicmp.obj + 0003:0004f340 ??_C@_1BG@EELGPCPD@?$AA_?$AAw?$AAc?$AAs?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 0084b340 libucrtd:wcsicmp.obj + 0003:0004f35c ??_C@_1BO@NEBGDLJE@?$AAs?$AAr?$AAc?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084b35c libucrtd:wcsicmp.obj + 0003:0004f380 ??_C@_1BC@NHIBDOMC@?$AA_?$AAw?$AAc?$AAs?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 0084b380 libucrtd:wcsicmp.obj + 0003:0004f398 ??_C@_1HE@CEMHPOHH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 0084b398 libucrtd:argv_wildcards.obj + 0003:0004f424 ??_C@_1DK@IBFFOJGB@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAa?$AAr?$AAg?$AAv?$AA_?$AAw?$AAi?$AAl?$AAd?$AAc?$AAa?$AAr?$AAd?$AAs?$AA?$AA@ 0084b424 libucrtd:argv_wildcards.obj + 0003:0004f470 ??_C@_1MC@FLPKOFON@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?5?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr?$AA_?$AAi?$AAt?$AA?0@ 0084b470 libucrtd:argv_wildcards.obj + 0003:0004f558 ??_C@_0DK@FPFMIIJB@minkernel?2crts?2ucrt?2src?2appcrt?2s@ 0084b558 libucrtd:argv_wildcards.obj + 0003:0004f5a0 ??_C@_1EA@KOCCBLAD@?$AAc?$AAo?$AAp?$AAy?$AA_?$AAa?$AAn?$AAd?$AA_?$AAa?$AAd?$AAd?$AA_?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA_?$AAt?$AAo?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$AA@ 0084b5a0 libucrtd:argv_wildcards.obj + 0003:0004f5f0 ??_C@_1KM@GDJIGAGL@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe@ 0084b5f0 libucrtd:argv_wildcards.obj + 0003:0004f6c0 ??_C@_1PI@FGFLAGCC@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe?$AAn?$AAt?$AA_?$AAb?$AAu?$AAf?$AAf@ 0084b6c0 libucrtd:argv_wildcards.obj + 0003:0004f800 ??_C@_1M@HPNHIDJI@?$AAj?$AAa?$AA?9?$AAJ?$AAP?$AA?$AA@ 0084b800 libucrtd:mbctype.obj + 0003:0004f810 ??_C@_1M@BIBDDEMK@?$AAz?$AAh?$AA?9?$AAC?$AAN?$AA?$AA@ 0084b810 libucrtd:mbctype.obj + 0003:0004f820 ??_C@_1M@JLOOOEGK@?$AAk?$AAo?$AA?9?$AAK?$AAR?$AA?$AA@ 0084b820 libucrtd:mbctype.obj + 0003:0004f830 ??_C@_1M@CLNBBOPM@?$AAz?$AAh?$AA?9?$AAT?$AAW?$AA?$AA@ 0084b830 libucrtd:mbctype.obj + 0003:0004f840 ??_C@_0DE@HGDKNBFD@minkernel?2crts?2ucrt?2src?2appcrt?2m@ 0084b840 libucrtd:mbctype.obj + 0003:0004f880 ??_C@_0ED@BLPEHJAI@minkernel?2crts?2ucrt?2src?2desktopc@ 0084b880 libucrtd:get_environment_from_os.obj + 0003:0004f8d0 ??_C@_1DO@PANKIJNP@?$AAe?$AAq?$AAu?$AAa?$AAl?$AA_?$AAs?$AAi?$AAg?$AAn?$AA?5?$AA?9?$AA?5?$AAo?$AAp?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$DM?$AA?5?$AA_?$AAM?$AAA?$AAX?$AA_?$AAE?$AAN?$AAV?$AA?$AA@ 0084b8d0 libucrtd:setenv.obj + 0003:0004f920 ??_C@_1GE@MMOHBENP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 0084b920 libucrtd:setenv.obj + 0003:0004f998 ??_C@_1GK@KBABANDM@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAn?$AAl?$AAe?$AAn?$AA?$CI?$AAe?$AAq?$AAu?$AAa?$AAl?$AA_?$AAs?$AAi?$AAg?$AAn?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?0?$AA?5@ 0084b998 libucrtd:setenv.obj + 0003:0004fa18 ??_C@_0DC@NJKMKCIL@minkernel?2crts?2ucrt?2src?2desktopc@ 0084ba18 libucrtd:setenv.obj + 0003:0004fa58 ??_C@_1EC@IKJPFBIM@?$AA?$CI?$AA?$CC?$AAC?$AAR?$AAT?$AA?5?$AAl?$AAo?$AAg?$AAi?$AAc?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAi?$AAn?$AA?5?$AAs?$AAe?$AAt?$AAe?$AAn?$AAv?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ@ 0084ba58 libucrtd:setenv.obj + 0003:0004faa8 ??_C@_1FE@KHMDCEEJ@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAe?$AAt?$AA_?$AAv?$AAa?$AAr?$AAi?$AAa?$AAb?$AAl?$AAe?$AA_?$AAi?$AAn?$AA_?$AAe?$AAn?$AAv?$AAi?$AAr?$AAo?$AAn?$AAm?$AAe@ 0084baa8 libucrtd:setenv.obj + 0003:0004fb10 ??_C@_1EM@NIOJJLEA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AAo?$AAp@ 0084bb10 libucrtd:setenv.obj + 0003:0004fb6c ??_C@_1CC@PIMGMDJH@?$AAc?$AAo?$AAp?$AAy?$AA_?$AAe?$AAn?$AAv?$AAi?$AAr?$AAo?$AAn?$AAm?$AAe?$AAn?$AAt?$AA?$AA@ 0084bb6c libucrtd:setenv.obj + 0003:0004fb98 ??_C@_1GG@EDHOMIDL@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAn?$AAe?$AAw?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAq?$AAu?$AAi?$AAr@ 0084bb98 libucrtd:setenv.obj + 0003:0004fc14 ??_C@_0DB@JFFPGLDM@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084bc14 libucrtd:osfinfo.obj + 0003:0004fc50 ??_C@_1EM@BPODPNEJ@?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs?$AAt?$AA?$DM?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$DO?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$DM?$AA?5?$AA_?$AAN?$AAH?$AAA@ 0084bc50 libucrtd:osfinfo.obj + 0003:0004fcb0 ??_C@_1GC@LDGKBAFM@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084bcb0 libucrtd:osfinfo.obj + 0003:0004fd28 ??_C@_1DM@JELNOMLN@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAl?$AAo?$AAw?$AAi?$AAo?$AA_?$AAe?$AAn?$AAs?$AAu?$AAr?$AAe?$AA_?$AAf?$AAh?$AA_?$AAe?$AAx?$AAi?$AAs?$AAt?$AAs?$AA?$AA@ 0084bd28 libucrtd:osfinfo.obj + 0003:0004fd70 ??_C@_1BO@EMBOBGKE@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAo?$AAs?$AAf?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?$AA@ 0084bd70 libucrtd:osfinfo.obj + 0003:0004fd94 ??_C@_0DC@GMDOHFAP@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084bd94 libucrtd:initmon.obj + 0003:0004fdd0 ??_C@_1DM@GKAPAMDO@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAm?$AAo?$AAn?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 0084bdd0 libucrtd:initmon.obj + 0003:0004fe18 ??_C@_1GE@IEFGCKMH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084be18 libucrtd:initmon.obj + 0003:0004fe90 ??_C@_0DC@KHILMDMC@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084be90 libucrtd:initnum.obj + 0003:0004fecc ??_C@_1DM@IFKAINNE@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAn?$AAu?$AAm?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 0084becc libucrtd:initnum.obj + 0003:0004ff18 ??_C@_1GE@GOIFKKDC@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084bf18 libucrtd:initnum.obj + 0003:0004ff90 ??_C@_0DD@MPFICDAE@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 0084bf90 libucrtd:inittime.obj + 0003:0004ffd0 ??_C@_1HK@HACABKKK@?$AA?$CI?$AA?$CC?$AAl?$AAc?$AA_?$AAt?$AAi?$AAm?$AAe?$AA_?$AAc?$AAu?$AAr?$AAr?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AAl?$AAy?$AA?5?$AAh?$AAa?$AAs?$AA?5@ 0084bfd0 libucrtd:inittime.obj + 0003:00050068 ??_C@_1GG@BFOOANHJ@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084c068 libucrtd:inittime.obj + 0003:000500e8 ??_C@_1BKC@NBNHJIDM@?$AA?$CI?$AAp?$AAt?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FL?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FN?$AA?4?$AAl@ 0084c0e8 libucrtd:locale_refcounting.obj + 0003:000502e0 ??_C@_1HK@HCNMEOLA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084c2e0 libucrtd:locale_refcounting.obj + 0003:00050378 ___acrt_rg_language 0084c378 libucrtd:get_qualified_locale.obj + 0003:00050720 ___acrt_rg_language_count 0084c720 libucrtd:get_qualified_locale.obj + 0003:00050728 ___acrt_rg_country 0084c728 libucrtd:get_qualified_locale.obj + 0003:00050874 ___acrt_rg_country_count 0084c874 libucrtd:get_qualified_locale.obj + 0003:00050878 ??_C@_1BC@LLOKLNP@?$AAa?$AAm?$AAe?$AAr?$AAi?$AAc?$AAa?$AAn?$AA?$AA@ 0084c878 libucrtd:get_qualified_locale.obj + 0003:00050890 ??_C@_1CC@HEIGCDGG@?$AAa?$AAm?$AAe?$AAr?$AAi?$AAc?$AAa?$AAn?$AA?5?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?$AA@ 0084c890 libucrtd:get_qualified_locale.obj + 0003:000508b8 ??_C@_1CC@IHCNOMIN@?$AAa?$AAm?$AAe?$AAr?$AAi?$AAc?$AAa?$AAn?$AA?9?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?$AA@ 0084c8b8 libucrtd:get_qualified_locale.obj + 0003:000508e0 ??_C@_1BG@GKAGPCGG@?$AAa?$AAu?$AAs?$AAt?$AAr?$AAa?$AAl?$AAi?$AAa?$AAn?$AA?$AA@ 0084c8e0 libucrtd:get_qualified_locale.obj + 0003:000508fc ??_C@_1BA@GMENCENF@?$AAb?$AAe?$AAl?$AAg?$AAi?$AAa?$AAn?$AA?$AA@ 0084c8fc libucrtd:get_qualified_locale.obj + 0003:00050910 ??_C@_1BC@PJMIIAAN@?$AAc?$AAa?$AAn?$AAa?$AAd?$AAi?$AAa?$AAn?$AA?$AA@ 0084c910 libucrtd:get_qualified_locale.obj + 0003:00050928 ??_C@_17NOIMNFBF@?$AAc?$AAh?$AAh?$AA?$AA@ 0084c928 libucrtd:get_qualified_locale.obj + 0003:00050934 ??_C@_17GGDALCHA@?$AAc?$AAh?$AAi?$AA?$AA@ 0084c934 libucrtd:get_qualified_locale.obj + 0003:00050940 ??_C@_1BA@NPNJKIBL@?$AAc?$AAh?$AAi?$AAn?$AAe?$AAs?$AAe?$AA?$AA@ 0084c940 libucrtd:get_qualified_locale.obj + 0003:00050954 ??_C@_1CC@DINBAMMJ@?$AAc?$AAh?$AAi?$AAn?$AAe?$AAs?$AAe?$AA?9?$AAh?$AAo?$AAn?$AAg?$AAk?$AAo?$AAn?$AAg?$AA?$AA@ 0084c954 libucrtd:get_qualified_locale.obj + 0003:0005097c ??_C@_1CG@IOBJPACO@?$AAc?$AAh?$AAi?$AAn?$AAe?$AAs?$AAe?$AA?9?$AAs?$AAi?$AAm?$AAp?$AAl?$AAi?$AAf?$AAi?$AAe?$AAd?$AA?$AA@ 0084c97c libucrtd:get_qualified_locale.obj + 0003:000509ac ??_C@_1CE@GAJNDCKG@?$AAc?$AAh?$AAi?$AAn?$AAe?$AAs?$AAe?$AA?9?$AAs?$AAi?$AAn?$AAg?$AAa?$AAp?$AAo?$AAr?$AAe?$AA?$AA@ 0084c9ac libucrtd:get_qualified_locale.obj + 0003:000509d8 ??_C@_1CI@PAJPIOOD@?$AAc?$AAh?$AAi?$AAn?$AAe?$AAs?$AAe?$AA?9?$AAt?$AAr?$AAa?$AAd?$AAi?$AAt?$AAi?$AAo?$AAn?$AAa?$AAl?$AA?$AA@ 0084c9d8 libucrtd:get_qualified_locale.obj + 0003:00050a08 ??_C@_1BM@NILJBMMD@?$AAd?$AAu?$AAt?$AAc?$AAh?$AA?9?$AAb?$AAe?$AAl?$AAg?$AAi?$AAa?$AAn?$AA?$AA@ 0084ca08 libucrtd:get_qualified_locale.obj + 0003:00050a2c ??_C@_1CC@OOJPJNEJ@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAa?$AAm?$AAe?$AAr?$AAi?$AAc?$AAa?$AAn?$AA?$AA@ 0084ca2c libucrtd:get_qualified_locale.obj + 0003:00050a54 ??_C@_1BI@IOLFEEM@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAa?$AAu?$AAs?$AA?$AA@ 0084ca54 libucrtd:get_qualified_locale.obj + 0003:00050a70 ??_C@_1BO@HFFNLENJ@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAb?$AAe?$AAl?$AAi?$AAz?$AAe?$AA?$AA@ 0084ca70 libucrtd:get_qualified_locale.obj + 0003:00050a94 ??_C@_1BI@HAPKJMPO@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAc?$AAa?$AAn?$AA?$AA@ 0084ca94 libucrtd:get_qualified_locale.obj + 0003:00050ab0 ??_C@_1CE@HLNDMIOJ@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAc?$AAa?$AAr?$AAi?$AAb?$AAb?$AAe?$AAa?$AAn?$AA?$AA@ 0084cab0 libucrtd:get_qualified_locale.obj + 0003:00050adc ??_C@_1BI@LDHJHHAC@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAi?$AAr?$AAe?$AA?$AA@ 0084cadc libucrtd:get_qualified_locale.obj + 0003:00050af8 ??_C@_1CA@NJMMCFOC@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAj?$AAa?$AAm?$AAa?$AAi?$AAc?$AAa?$AA?$AA@ 0084caf8 libucrtd:get_qualified_locale.obj + 0003:00050b20 ??_C@_1BG@BHJEBBGG@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAn?$AAz?$AA?$AA@ 0084cb20 libucrtd:get_qualified_locale.obj + 0003:00050b3c ??_C@_1CK@FGOEJJCO@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAs?$AAo?$AAu?$AAt?$AAh?$AA?5?$AAa?$AAf?$AAr?$AAi?$AAc?$AAa?$AA?$AA@ 0084cb3c libucrtd:get_qualified_locale.obj + 0003:00050b70 ??_C@_1DE@PDBJPCJ@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAt?$AAr?$AAi?$AAn?$AAi?$AAd?$AAa?$AAd?$AA?5?$AAy?$AA?5?$AAt?$AAo?$AAb?$AAa?$AAg?$AAo?$AA?$AA@ 0084cb70 libucrtd:get_qualified_locale.obj + 0003:00050bb0 ??_C@_1BG@JGCANDME@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAu?$AAk?$AA?$AA@ 0084cbb0 libucrtd:get_qualified_locale.obj + 0003:00050bcc ??_C@_1BG@DINKMLE@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAu?$AAs?$AA?$AA@ 0084cbcc libucrtd:get_qualified_locale.obj + 0003:00050be8 ??_C@_1BI@NMFDBHJE@?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?9?$AAu?$AAs?$AAa?$AA?$AA@ 0084cbe8 libucrtd:get_qualified_locale.obj + 0003:00050c04 ??_C@_1BO@OIHKJKII@?$AAf?$AAr?$AAe?$AAn?$AAc?$AAh?$AA?9?$AAb?$AAe?$AAl?$AAg?$AAi?$AAa?$AAn?$AA?$AA@ 0084cc04 libucrtd:get_qualified_locale.obj + 0003:00050c28 ??_C@_1CA@NKAELJKI@?$AAf?$AAr?$AAe?$AAn?$AAc?$AAh?$AA?9?$AAc?$AAa?$AAn?$AAa?$AAd?$AAi?$AAa?$AAn?$AA?$AA@ 0084cc28 libucrtd:get_qualified_locale.obj + 0003:00050c50 ??_C@_1CE@MGKCNLGN@?$AAf?$AAr?$AAe?$AAn?$AAc?$AAh?$AA?9?$AAl?$AAu?$AAx?$AAe?$AAm?$AAb?$AAo?$AAu?$AAr?$AAg?$AA?$AA@ 0084cc50 libucrtd:get_qualified_locale.obj + 0003:00050c7c ??_C@_1BK@CEGEAILM@?$AAf?$AAr?$AAe?$AAn?$AAc?$AAh?$AA?9?$AAs?$AAw?$AAi?$AAs?$AAs?$AA?$AA@ 0084cc7c libucrtd:get_qualified_locale.obj + 0003:00050c9c ??_C@_1CA@PAFKEOCC@?$AAg?$AAe?$AAr?$AAm?$AAa?$AAn?$AA?9?$AAa?$AAu?$AAs?$AAt?$AAr?$AAi?$AAa?$AAn?$AA?$AA@ 0084cc9c libucrtd:get_qualified_locale.obj + 0003:00050cc4 ??_C@_1CI@HCFHGOFD@?$AAg?$AAe?$AAr?$AAm?$AAa?$AAn?$AA?9?$AAl?$AAi?$AAc?$AAh?$AAt?$AAe?$AAn?$AAs?$AAt?$AAe?$AAi?$AAn?$AA?$AA@ 0084ccc4 libucrtd:get_qualified_locale.obj + 0003:00050cf4 ??_C@_1CE@FEDDNPDG@?$AAg?$AAe?$AAr?$AAm?$AAa?$AAn?$AA?9?$AAl?$AAu?$AAx?$AAe?$AAm?$AAb?$AAo?$AAu?$AAr?$AAg?$AA?$AA@ 0084ccf4 libucrtd:get_qualified_locale.obj + 0003:00050d20 ??_C@_1BK@LIMINNMN@?$AAg?$AAe?$AAr?$AAm?$AAa?$AAn?$AA?9?$AAs?$AAw?$AAi?$AAs?$AAs?$AA?$AA@ 0084cd20 libucrtd:get_qualified_locale.obj + 0003:00050d40 ??_C@_1BM@LGMDBEPD@?$AAi?$AAr?$AAi?$AAs?$AAh?$AA?9?$AAe?$AAn?$AAg?$AAl?$AAi?$AAs?$AAh?$AA?$AA@ 0084cd40 libucrtd:get_qualified_locale.obj + 0003:00050d64 ??_C@_1BM@NNCFBAEE@?$AAi?$AAt?$AAa?$AAl?$AAi?$AAa?$AAn?$AA?9?$AAs?$AAw?$AAi?$AAs?$AAs?$AA?$AA@ 0084cd64 libucrtd:get_qualified_locale.obj + 0003:00050d88 ??_C@_1BE@FEDJNPIB@?$AAn?$AAo?$AAr?$AAw?$AAe?$AAg?$AAi?$AAa?$AAn?$AA?$AA@ 0084cd88 libucrtd:get_qualified_locale.obj + 0003:00050da0 ??_C@_1CC@CILKDEIE@?$AAn?$AAo?$AAr?$AAw?$AAe?$AAg?$AAi?$AAa?$AAn?$AA?9?$AAb?$AAo?$AAk?$AAm?$AAa?$AAl?$AA?$AA@ 0084cda0 libucrtd:get_qualified_locale.obj + 0003:00050dc8 ??_C@_1CE@DHMMHEPL@?$AAn?$AAo?$AAr?$AAw?$AAe?$AAg?$AAi?$AAa?$AAn?$AA?9?$AAn?$AAy?$AAn?$AAo?$AAr?$AAs?$AAk?$AA?$AA@ 0084cdc8 libucrtd:get_qualified_locale.obj + 0003:00050df4 ??_C@_1CK@OPNMHECD@?$AAp?$AAo?$AAr?$AAt?$AAu?$AAg?$AAu?$AAe?$AAs?$AAe?$AA?9?$AAb?$AAr?$AAa?$AAz?$AAi?$AAl?$AAi?$AAa?$AAn?$AA?$AA@ 0084cdf4 libucrtd:get_qualified_locale.obj + 0003:00050e28 ??_C@_1CE@KEEHCDB@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAa?$AAr?$AAg?$AAe?$AAn?$AAt?$AAi?$AAn?$AAa?$AA?$AA@ 0084ce28 libucrtd:get_qualified_locale.obj + 0003:00050e54 ??_C@_1CA@GIAOLHJD@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAb?$AAo?$AAl?$AAi?$AAv?$AAi?$AAa?$AA?$AA@ 0084ce54 libucrtd:get_qualified_locale.obj + 0003:00050e7c ??_C@_1BM@OJNDFNPD@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAc?$AAh?$AAi?$AAl?$AAe?$AA?$AA@ 0084ce7c libucrtd:get_qualified_locale.obj + 0003:00050ea0 ??_C@_1CC@OCOLPALL@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAc?$AAo?$AAl?$AAo?$AAm?$AAb?$AAi?$AAa?$AA?$AA@ 0084cea0 libucrtd:get_qualified_locale.obj + 0003:00050ec8 ??_C@_1CG@BPOFMKBB@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAc?$AAo?$AAs?$AAt?$AAa?$AA?5?$AAr?$AAi?$AAc?$AAa?$AA?$AA@ 0084cec8 libucrtd:get_qualified_locale.obj + 0003:00050ef8 ??_C@_1DG@IGOBAPBB@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAd?$AAo?$AAm?$AAi?$AAn?$AAi?$AAc?$AAa?$AAn?$AA?5?$AAr?$AAe?$AAp?$AAu?$AAb?$AAl?$AAi?$AAc?$AA?$AA@ 0084cef8 libucrtd:get_qualified_locale.obj + 0003:00050f38 ??_C@_1CA@JHAPGEGI@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAe?$AAc?$AAu?$AAa?$AAd?$AAo?$AAr?$AA?$AA@ 0084cf38 libucrtd:get_qualified_locale.obj + 0003:00050f60 ??_C@_1CI@LAPALJPP@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAe?$AAl?$AA?5?$AAs?$AAa?$AAl?$AAv?$AAa?$AAd?$AAo?$AAr?$AA?$AA@ 0084cf60 libucrtd:get_qualified_locale.obj + 0003:00050f90 ??_C@_1CE@PDGBOFOM@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAg?$AAu?$AAa?$AAt?$AAe?$AAm?$AAa?$AAl?$AAa?$AA?$AA@ 0084cf90 libucrtd:get_qualified_locale.obj + 0003:00050fbc ??_C@_1CC@NBEBAODI@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAh?$AAo?$AAn?$AAd?$AAu?$AAr?$AAa?$AAs?$AA?$AA@ 0084cfbc libucrtd:get_qualified_locale.obj + 0003:00050fe4 ??_C@_1CA@LLKGHBMF@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAm?$AAe?$AAx?$AAi?$AAc?$AAa?$AAn?$AA?$AA@ 0084cfe4 libucrtd:get_qualified_locale.obj + 0003:0005100c ??_C@_1BO@LKNDOIGD@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAm?$AAo?$AAd?$AAe?$AAr?$AAn?$AA?$AA@ 0084d00c libucrtd:get_qualified_locale.obj + 0003:00051030 ??_C@_1CE@NMDMOEEB@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAn?$AAi?$AAc?$AAa?$AAr?$AAa?$AAg?$AAu?$AAa?$AA?$AA@ 0084d030 libucrtd:get_qualified_locale.obj + 0003:0005105c ??_C@_1BO@LLCBEJGB@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAp?$AAa?$AAn?$AAa?$AAm?$AAa?$AA?$AA@ 0084d05c libucrtd:get_qualified_locale.obj + 0003:00051080 ??_C@_1CC@FKPGGIHO@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAp?$AAa?$AAr?$AAa?$AAg?$AAu?$AAa?$AAy?$AA?$AA@ 0084d080 libucrtd:get_qualified_locale.obj + 0003:000510a8 ??_C@_1BK@CDEIHOOP@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAp?$AAe?$AAr?$AAu?$AA?$AA@ 0084d0a8 libucrtd:get_qualified_locale.obj + 0003:000510c8 ??_C@_1CI@GAHAKKGP@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAp?$AAu?$AAe?$AAr?$AAt?$AAo?$AA?5?$AAr?$AAi?$AAc?$AAo?$AA?$AA@ 0084d0c8 libucrtd:get_qualified_locale.obj + 0003:000510f8 ??_C@_1CA@NKJBCAGP@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAu?$AAr?$AAu?$AAg?$AAu?$AAa?$AAy?$AA?$AA@ 0084d0f8 libucrtd:get_qualified_locale.obj + 0003:00051120 ??_C@_1CE@ODILCONM@?$AAs?$AAp?$AAa?$AAn?$AAi?$AAs?$AAh?$AA?9?$AAv?$AAe?$AAn?$AAe?$AAz?$AAu?$AAe?$AAl?$AAa?$AA?$AA@ 0084d120 libucrtd:get_qualified_locale.obj + 0003:0005114c ??_C@_1CA@OBNMCGFO@?$AAs?$AAw?$AAe?$AAd?$AAi?$AAs?$AAh?$AA?9?$AAf?$AAi?$AAn?$AAl?$AAa?$AAn?$AAd?$AA?$AA@ 0084d14c libucrtd:get_qualified_locale.obj + 0003:00051174 ??_C@_1M@PIPDDPPI@?$AAs?$AAw?$AAi?$AAs?$AAs?$AA?$AA@ 0084d174 libucrtd:get_qualified_locale.obj + 0003:00051184 ??_C@_15PJPFLCCM@?$AAu?$AAk?$AA?$AA@ 0084d184 libucrtd:get_qualified_locale.obj + 0003:0005118c ??_C@_15GMFIMNFM@?$AAu?$AAs?$AA?$AA@ 0084d18c libucrtd:get_qualified_locale.obj + 0003:00051194 ??_C@_17HAEBFAGL@?$AAu?$AAs?$AAa?$AA?$AA@ 0084d194 libucrtd:get_qualified_locale.obj + 0003:000511a0 ??_C@_1BA@DPFJEPHB@?$AAa?$AAm?$AAe?$AAr?$AAi?$AAc?$AAa?$AA?$AA@ 0084d1a0 libucrtd:get_qualified_locale.obj + 0003:000511b4 ??_C@_1BA@ELOGGFK@?$AAb?$AAr?$AAi?$AAt?$AAa?$AAi?$AAn?$AA?$AA@ 0084d1b4 libucrtd:get_qualified_locale.obj + 0003:000511c8 ??_C@_1M@GHBGIGDA@?$AAc?$AAh?$AAi?$AAn?$AAa?$AA?$AA@ 0084d1c8 libucrtd:get_qualified_locale.obj + 0003:000511d8 ??_C@_1M@NCHEJOPO@?$AAc?$AAz?$AAe?$AAc?$AAh?$AA?$AA@ 0084d1d8 libucrtd:get_qualified_locale.obj + 0003:000511e8 ??_C@_1BA@BKPAPBLA@?$AAe?$AAn?$AAg?$AAl?$AAa?$AAn?$AAd?$AA?$AA@ 0084d1e8 libucrtd:get_qualified_locale.obj + 0003:000511fc ??_C@_1BM@HKBCKIPC@?$AAg?$AAr?$AAe?$AAa?$AAt?$AA?5?$AAb?$AAr?$AAi?$AAt?$AAa?$AAi?$AAn?$AA?$AA@ 0084d1fc libucrtd:get_qualified_locale.obj + 0003:00051220 ??_C@_1BA@PPCHPGJB@?$AAh?$AAo?$AAl?$AAl?$AAa?$AAn?$AAd?$AA?$AA@ 0084d220 libucrtd:get_qualified_locale.obj + 0003:00051234 ??_C@_1BE@JBMPEGDG@?$AAh?$AAo?$AAn?$AAg?$AA?9?$AAk?$AAo?$AAn?$AAg?$AA?$AA@ 0084d234 libucrtd:get_qualified_locale.obj + 0003:0005124c ??_C@_1BI@KOELBBPJ@?$AAn?$AAe?$AAw?$AA?9?$AAz?$AAe?$AAa?$AAl?$AAa?$AAn?$AAd?$AA?$AA@ 0084d24c libucrtd:get_qualified_locale.obj + 0003:00051268 ??_C@_15HIEBHAIO@?$AAn?$AAz?$AA?$AA@ 0084d268 libucrtd:get_qualified_locale.obj + 0003:00051270 ??_C@_1BC@CHBCPFPI@?$AAp?$AAr?$AA?5?$AAc?$AAh?$AAi?$AAn?$AAa?$AA?$AA@ 0084d270 libucrtd:get_qualified_locale.obj + 0003:00051288 ??_C@_1BC@JAOIIFKD@?$AAp?$AAr?$AA?9?$AAc?$AAh?$AAi?$AAn?$AAa?$AA?$AA@ 0084d288 libucrtd:get_qualified_locale.obj + 0003:000512a0 ??_C@_1BI@BEHPPHKC@?$AAp?$AAu?$AAe?$AAr?$AAt?$AAo?$AA?9?$AAr?$AAi?$AAc?$AAo?$AA?$AA@ 0084d2a0 libucrtd:get_qualified_locale.obj + 0003:000512bc ??_C@_1O@PAEOFKDI@?$AAs?$AAl?$AAo?$AAv?$AAa?$AAk?$AA?$AA@ 0084d2bc libucrtd:get_qualified_locale.obj + 0003:000512cc ??_C@_1BK@FIHMCKAM@?$AAs?$AAo?$AAu?$AAt?$AAh?$AA?5?$AAa?$AAf?$AAr?$AAi?$AAc?$AAa?$AA?$AA@ 0084d2cc libucrtd:get_qualified_locale.obj + 0003:000512ec ??_C@_1BI@NAEOODKB@?$AAs?$AAo?$AAu?$AAt?$AAh?$AA?5?$AAk?$AAo?$AAr?$AAe?$AAa?$AA?$AA@ 0084d2ec libucrtd:get_qualified_locale.obj + 0003:00051308 ??_C@_1BK@FBDGGIFF@?$AAs?$AAo?$AAu?$AAt?$AAh?$AA?9?$AAa?$AAf?$AAr?$AAi?$AAc?$AAa?$AA?$AA@ 0084d308 libucrtd:get_qualified_locale.obj + 0003:00051328 ??_C@_1BI@GHLEJDPK@?$AAs?$AAo?$AAu?$AAt?$AAh?$AA?9?$AAk?$AAo?$AAr?$AAe?$AAa?$AA?$AA@ 0084d328 libucrtd:get_qualified_locale.obj + 0003:00051344 ??_C@_1CE@PLHLOMJF@?$AAt?$AAr?$AAi?$AAn?$AAi?$AAd?$AAa?$AAd?$AA?5?$AA?$CG?$AA?5?$AAt?$AAo?$AAb?$AAa?$AAg?$AAo?$AA?$AA@ 0084d344 libucrtd:get_qualified_locale.obj + 0003:00051370 ??_C@_1BO@MODIMHHI@?$AAu?$AAn?$AAi?$AAt?$AAe?$AAd?$AA?9?$AAk?$AAi?$AAn?$AAg?$AAd?$AAo?$AAm?$AA?$AA@ 0084d370 libucrtd:get_qualified_locale.obj + 0003:00051394 ??_C@_1BM@FFHJONBJ@?$AAu?$AAn?$AAi?$AAt?$AAe?$AAd?$AA?9?$AAs?$AAt?$AAa?$AAt?$AAe?$AAs?$AA?$AA@ 0084d394 libucrtd:get_qualified_locale.obj + 0003:000513b8 ??_C@_1HO@CKHMGCFN@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 0084d3b8 libucrtd:get_qualified_locale.obj + 0003:00051450 ??_C@_1DI@HCPCNHHP@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAg?$AAe?$AAt?$AA_?$AAq?$AAu?$AAa?$AAl?$AAi?$AAf?$AAi?$AAe?$AAd?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 0084d450 libucrtd:get_qualified_locale.obj + 0003:00051498 ??_C@_1BFC@DEALMEIM@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAp?$AAO?$AAu?$AAt?$AAS?$AAt?$AAr?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe@ 0084d498 libucrtd:get_qualified_locale.obj + 0003:00051630 ??_C@_1MG@JCGKALNH@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAp?$AAO?$AAu?$AAt?$AAS?$AAt?$AAr?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5@ 0084d630 libucrtd:get_qualified_locale.obj + 0003:00051720 ??_C@_1CM@OGEMFJNJ@?$AAL?$AAa?$AAn?$AAg?$AAC?$AAo?$AAu?$AAn?$AAt?$AAr?$AAy?$AAE?$AAn?$AAu?$AAm?$AAP?$AAr?$AAo?$AAc?$AAE?$AAx?$AA?$AA@ 0084d720 libucrtd:get_qualified_locale.obj + 0003:00051758 ??_C@_1BDC@CGCEDIGP@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA_?$AAp?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AA_?$AAd?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AA_?$AAc?$AAa?$AAc?$AAh?$AAe?$AAL@ 0084d758 libucrtd:get_qualified_locale.obj + 0003:000518c8 ??_C@_1CG@PGLLICHO@?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AAE?$AAn?$AAu?$AAm?$AAP?$AAr?$AAo?$AAc?$AAE?$AAx?$AA?$AA@ 0084d8c8 libucrtd:get_qualified_locale.obj + 0003:000518f8 ??_C@_1DC@CPKFANGP@?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AAF?$AAr?$AAo?$AAm?$AAD?$AAe?$AAf?$AAa?$AAu?$AAl?$AAt?$AA?$AA@ 0084d8f8 libucrtd:get_qualified_locale.obj + 0003:00051938 ??_C@_1BCC@GMJIFDHO@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA_?$AAp?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AA_?$AAd?$AAa?$AAt?$AAa?$AA?9?$AA?$DO?$AA_?$AAc?$AAa?$AAc?$AAh?$AAe?$AAL@ 0084d938 libucrtd:get_qualified_locale.obj + 0003:00051a94 ??_C@_17DNCLJFIF@?$AAA?$AAC?$AAP?$AA?$AA@ 0084da94 libucrtd:get_qualified_locale.obj + 0003:00051aa0 ??_C@_17CIKBIHLH@?$AAO?$AAC?$AAP?$AA?$AA@ 0084daa0 libucrtd:get_qualified_locale.obj + 0003:00051aac ___rglangidNotDefault 0084daac libucrtd:getqloc_downlevel.obj + 0003:00051ac8 ??_C@_1GO@DDOMFNGF@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 0084dac8 libucrtd:mbsdec.obj + 0003:00051b4c ??_C@_1BE@KLNCOLCD@?$AA_?$AAm?$AAb?$AAs?$AAd?$AAe?$AAc?$AA_?$AAl?$AA?$AA@ 0084db4c libucrtd:mbsdec.obj + 0003:00051b64 ??_C@_1CG@CMGPGAOD@?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0084db64 libucrtd:mbsdec.obj + 0003:00051b98 ??_C@_1GE@KFPKEKCH@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAt@ 0084db98 libucrtd:ieee87.obj + 0003:00051c10 ??_C@_1BO@OFDNCLL@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAf?$AAp?$AA?$AA@ 0084dc10 libucrtd:ieee87.obj + 0003:00051c38 ??_C@_1GO@OKJGOMCB@?$AA_?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAf?$AAp?$AA_?$AAs?$AA?$CI?$AA?$CI?$AA?$CI?$AAv?$AAo?$AAi?$AAd?$AA?5?$AA?$CK?$AA?$CJ?$AA0?$AA?$CJ?$AA?0?$AA?5?$AAn?$AAe?$AAw?$AAc?$AAt?$AAr@ 0084dc38 libucrtd:ieee87.obj + 0003:00052684 ??_C@_15EMKDOKLE@?$AAa?$AAr?$AA?$AA@ 0084e684 libucrtd:lcidtoname_downlevel.obj + 0003:0005268c ??_C@_15KNPADPLH@?$AAb?$AAg?$AA?$AA@ 0084e68c libucrtd:lcidtoname_downlevel.obj + 0003:00052694 ??_C@_15EDMHLDMO@?$AAc?$AAa?$AA?$AA@ 0084e694 libucrtd:lcidtoname_downlevel.obj + 0003:0005269c ??_C@_1O@BPEAJADD@?$AAz?$AAh?$AA?9?$AAC?$AAH?$AAS?$AA?$AA@ 0084e69c libucrtd:lcidtoname_downlevel.obj + 0003:000526ac ??_C@_15LJNHCMNK@?$AAc?$AAs?$AA?$AA@ 0084e6ac libucrtd:lcidtoname_downlevel.obj + 0003:000526b4 ??_C@_15FOMCIDHG@?$AAd?$AAa?$AA?$AA@ 0084e6b4 libucrtd:lcidtoname_downlevel.obj + 0003:000526bc ??_C@_15NBKABECB@?$AAd?$AAe?$AA?$AA@ 0084e6bc libucrtd:lcidtoname_downlevel.obj + 0003:000526c4 ??_C@_15GHPEIIAO@?$AAe?$AAl?$AA?$AA@ 0084e6c4 libucrtd:lcidtoname_downlevel.obj + 0003:000526cc ??_C@_15MNPNEAIF@?$AAe?$AAn?$AA?$AA@ 0084e6cc libucrtd:lcidtoname_downlevel.obj + 0003:000526d4 ??_C@_15GPIOMPMH@?$AAe?$AAs?$AA?$AA@ 0084e6d4 libucrtd:lcidtoname_downlevel.obj + 0003:000526dc ??_C@_15NGLOAKJC@?$AAf?$AAi?$AA?$AA@ 0084e6dc libucrtd:lcidtoname_downlevel.obj + 0003:000526e4 ??_C@_15FBKGNKAM@?$AAf?$AAr?$AA?$AA@ 0084e6e4 libucrtd:lcidtoname_downlevel.obj + 0003:000526ec ??_C@_15KGGCNEFK@?$AAh?$AAe?$AA?$AA@ 0084e6ec libucrtd:lcidtoname_downlevel.obj + 0003:000526f4 ??_C@_15PGHLIDMF@?$AAh?$AAu?$AA?$AA@ 0084e6f4 libucrtd:lcidtoname_downlevel.obj + 0003:000526fc ??_C@_15BIEMAPLM@?$AAi?$AAs?$AA?$AA@ 0084e6fc libucrtd:lcidtoname_downlevel.obj + 0003:00052704 ??_C@_15IFJLDHAF@?$AAi?$AAt?$AA?$AA@ 0084e704 libucrtd:lcidtoname_downlevel.obj + 0003:0005270c ??_C@_15GEMIOCAG@?$AAj?$AAa?$AA?$AA@ 0084e70c libucrtd:lcidtoname_downlevel.obj + 0003:00052714 ??_C@_15EPELEGJA@?$AAk?$AAo?$AA?$AA@ 0084e714 libucrtd:lcidtoname_downlevel.obj + 0003:0005271c ??_C@_15NDDHIMN@?$AAn?$AAl?$AA?$AA@ 0084e71c libucrtd:lcidtoname_downlevel.obj + 0003:00052724 ??_C@_15BPIGNHCD@?$AAn?$AAo?$AA?$AA@ 0084e724 libucrtd:lcidtoname_downlevel.obj + 0003:0005272c ??_C@_15DEOPBLCG@?$AAp?$AAl?$AA?$AA@ 0084e72c libucrtd:lcidtoname_downlevel.obj + 0003:00052734 ??_C@_15KBECGEFG@?$AAp?$AAt?$AA?$AA@ 0084e734 libucrtd:lcidtoname_downlevel.obj + 0003:0005273c ??_C@_15GLJCBFMD@?$AAr?$AAo?$AA?$AA@ 0084e73c libucrtd:lcidtoname_downlevel.obj + 0003:00052744 ??_C@_15FEDGKCDI@?$AAr?$AAu?$AA?$AA@ 0084e744 libucrtd:lcidtoname_downlevel.obj + 0003:0005274c ??_C@_15GLKMLLHM@?$AAh?$AAr?$AA?$AA@ 0084e74c libucrtd:lcidtoname_downlevel.obj + 0003:00052754 ??_C@_15CPKMFBDB@?$AAs?$AAk?$AA?$AA@ 0084e754 libucrtd:lcidtoname_downlevel.obj + 0003:0005275c ??_C@_15BAAIOGMK@?$AAs?$AAq?$AA?$AA@ 0084e75c libucrtd:lcidtoname_downlevel.obj + 0003:00052764 ??_C@_15INNPNOHD@?$AAs?$AAv?$AA?$AA@ 0084e764 libucrtd:lcidtoname_downlevel.obj + 0003:0005276c ??_C@_15CABMMOGH@?$AAt?$AAh?$AA?$AA@ 0084e76c libucrtd:lcidtoname_downlevel.obj + 0003:00052774 ??_C@_15BPLIHJJM@?$AAt?$AAr?$AA?$AA@ 0084e774 libucrtd:lcidtoname_downlevel.obj + 0003:0005277c ??_C@_15NEOEKKDJ@?$AAu?$AAr?$AA?$AA@ 0084e77c libucrtd:lcidtoname_downlevel.obj + 0003:00052784 ??_C@_15NFICGAJK@?$AAi?$AAd?$AA?$AA@ 0084e784 libucrtd:lcidtoname_downlevel.obj + 0003:0005278c ??_C@_15HPJPHDM@?$AAb?$AAe?$AA?$AA@ 0084e78c libucrtd:lcidtoname_downlevel.obj + 0003:00052794 ??_C@_15LCHLGJII@?$AAs?$AAl?$AA?$AA@ 0084e794 libucrtd:lcidtoname_downlevel.obj + 0003:0005279c ??_C@_15PCFJPHHO@?$AAe?$AAt?$AA?$AA@ 0084e79c libucrtd:lcidtoname_downlevel.obj + 0003:000527a4 ??_C@_15HPFPGODN@?$AAl?$AAv?$AA?$AA@ 0084e7a4 libucrtd:lcidtoname_downlevel.obj + 0003:000527ac ??_C@_15NFFGKGLG@?$AAl?$AAt?$AA?$AA@ 0084e7ac libucrtd:lcidtoname_downlevel.obj + 0003:000527b4 ??_C@_15BDAKCCHN@?$AAf?$AAa?$AA?$AA@ 0084e7b4 libucrtd:lcidtoname_downlevel.obj + 0003:000527bc ??_C@_15NFGIAIAJ@?$AAv?$AAi?$AA?$AA@ 0084e7bc libucrtd:lcidtoname_downlevel.obj + 0003:000527c4 ??_C@_15LMKNDMHN@?$AAh?$AAy?$AA?$AA@ 0084e7c4 libucrtd:lcidtoname_downlevel.obj + 0003:000527cc ??_C@_15IJBHMCFL@?$AAa?$AAz?$AA?$AA@ 0084e7cc libucrtd:lcidtoname_downlevel.obj + 0003:000527d4 ??_C@_15EKOFJABL@?$AAe?$AAu?$AA?$AA@ 0084e7d4 libucrtd:lcidtoname_downlevel.obj + 0003:000527dc ??_C@_15BGHADCNK@?$AAm?$AAk?$AA?$AA@ 0084e7dc libucrtd:lcidtoname_downlevel.obj + 0003:000527e4 ??_C@_15JDNICKHM@?$AAa?$AAf?$AA?$AA@ 0084e7e4 libucrtd:lcidtoname_downlevel.obj + 0003:000527ec ??_C@_15KPJEDBKD@?$AAk?$AAa?$AA?$AA@ 0084e7ec libucrtd:lcidtoname_downlevel.obj + 0003:000527f4 ??_C@_15PDNFFFEO@?$AAf?$AAo?$AA?$AA@ 0084e7f4 libucrtd:lcidtoname_downlevel.obj + 0003:000527fc ??_C@_15OMLEGLOC@?$AAh?$AAi?$AA?$AA@ 0084e7fc libucrtd:lcidtoname_downlevel.obj + 0003:00052804 ??_C@_15IDNNENKK@?$AAm?$AAs?$AA?$AA@ 0084e804 libucrtd:lcidtoname_downlevel.obj + 0003:0005280c ??_C@_15MACJNBMH@?$AAk?$AAk?$AA?$AA@ 0084e80c libucrtd:lcidtoname_downlevel.obj + 0003:00052814 ??_C@_15DKDJEOND@?$AAk?$AAy?$AA?$AA@ 0084e814 libucrtd:lcidtoname_downlevel.obj + 0003:0005281c ??_C@_15DFGDLJBG@?$AAs?$AAw?$AA?$AA@ 0084e81c libucrtd:lcidtoname_downlevel.obj + 0003:00052824 ??_C@_15BBFAICNG@?$AAu?$AAz?$AA?$AA@ 0084e824 libucrtd:lcidtoname_downlevel.obj + 0003:0005282c ??_C@_15DKNDCGEA@?$AAt?$AAt?$AA?$AA@ 0084e82c libucrtd:lcidtoname_downlevel.obj + 0003:00052834 ??_C@_15MGIFMDPL@?$AAp?$AAa?$AA?$AA@ 0084e834 libucrtd:lcidtoname_downlevel.obj + 0003:0005283c ??_C@_15HCNDBBA@?$AAg?$AAu?$AA?$AA@ 0084e83c libucrtd:lcidtoname_downlevel.obj + 0003:00052844 ??_C@_15FNBEIBON@?$AAt?$AAa?$AA?$AA@ 0084e844 libucrtd:lcidtoname_downlevel.obj + 0003:0005284c ??_C@_15NCHGBGLK@?$AAt?$AAe?$AA?$AA@ 0084e84c libucrtd:lcidtoname_downlevel.obj + 0003:00052854 ??_C@_15PHPHCBPF@?$AAk?$AAn?$AA?$AA@ 0084e854 libucrtd:lcidtoname_downlevel.obj + 0003:0005285c ??_C@_15DLGBCKMP@?$AAm?$AAr?$AA?$AA@ 0084e85c libucrtd:lcidtoname_downlevel.obj + 0003:00052864 ??_C@_15EABBLBFF@?$AAs?$AAa?$AA?$AA@ 0084e864 libucrtd:lcidtoname_downlevel.obj + 0003:0005286c ??_C@_15CBKOMCOI@?$AAm?$AAn?$AA?$AA@ 0084e86c libucrtd:lcidtoname_downlevel.obj + 0003:00052874 ??_C@_15CKDMCJAF@?$AAg?$AAl?$AA?$AA@ 0084e874 libucrtd:lcidtoname_downlevel.obj + 0003:0005287c ??_C@_17CNJFBPG@?$AAk?$AAo?$AAk?$AA?$AA@ 0084e87c libucrtd:lcidtoname_downlevel.obj + 0003:00052888 ??_C@_17FFBJICPL@?$AAs?$AAy?$AAr?$AA?$AA@ 0084e888 libucrtd:lcidtoname_downlevel.obj + 0003:00052894 ??_C@_17KPNDCPAF@?$AAd?$AAi?$AAv?$AA?$AA@ 0084e894 libucrtd:lcidtoname_downlevel.obj + 0003:000528a0 ??_C@_1M@OKAHONE@?$AAa?$AAr?$AA?9?$AAS?$AAA?$AA?$AA@ 0084e8a0 libucrtd:lcidtoname_downlevel.obj + 0003:000528b0 ??_C@_1M@FFFIGIGK@?$AAb?$AAg?$AA?9?$AAB?$AAG?$AA?$AA@ 0084e8b0 libucrtd:lcidtoname_downlevel.obj + 0003:000528c0 ??_C@_1M@BJNKEDC@?$AAc?$AAa?$AA?9?$AAE?$AAS?$AA?$AA@ 0084e8c0 libucrtd:lcidtoname_downlevel.obj + 0003:000528d0 ??_C@_1M@IJJHFJHA@?$AAc?$AAs?$AA?9?$AAC?$AAZ?$AA?$AA@ 0084e8d0 libucrtd:lcidtoname_downlevel.obj + 0003:000528e0 ??_C@_1M@CLPEOBGI@?$AAd?$AAa?$AA?9?$AAD?$AAK?$AA?$AA@ 0084e8e0 libucrtd:lcidtoname_downlevel.obj + 0003:000528f0 ??_C@_1M@MCMADGCB@?$AAd?$AAe?$AA?9?$AAD?$AAE?$AA?$AA@ 0084e8f0 libucrtd:lcidtoname_downlevel.obj + 0003:00052900 ??_C@_1M@OOCKEMAM@?$AAe?$AAl?$AA?9?$AAG?$AAR?$AA?$AA@ 0084e900 libucrtd:lcidtoname_downlevel.obj + 0003:00052910 ??_C@_1M@DDNJFGID@?$AAf?$AAi?$AA?9?$AAF?$AAI?$AA?$AA@ 0084e910 libucrtd:lcidtoname_downlevel.obj + 0003:00052920 ??_C@_1M@GLIPPMAC@?$AAf?$AAr?$AA?9?$AAF?$AAR?$AA?$AA@ 0084e920 libucrtd:lcidtoname_downlevel.obj + 0003:00052930 ??_C@_1M@GFMCHPE@?$AAh?$AAe?$AA?9?$AAI?$AAL?$AA?$AA@ 0084e930 libucrtd:lcidtoname_downlevel.obj + 0003:00052940 ??_C@_1M@MHLPGNKM@?$AAh?$AAu?$AA?9?$AAH?$AAU?$AA?$AA@ 0084e940 libucrtd:lcidtoname_downlevel.obj + 0003:00052950 ??_C@_1M@LPDDNNPN@?$AAi?$AAs?$AA?9?$AAI?$AAS?$AA?$AA@ 0084e950 libucrtd:lcidtoname_downlevel.obj + 0003:00052960 ??_C@_1M@MADIPODN@?$AAi?$AAt?$AA?9?$AAI?$AAT?$AA?$AA@ 0084e960 libucrtd:lcidtoname_downlevel.obj + 0003:00052970 ??_C@_1M@IHBJJGG@?$AAn?$AAl?$AA?9?$AAN?$AAL?$AA?$AA@ 0084e970 libucrtd:lcidtoname_downlevel.obj + 0003:00052980 ??_C@_1M@EANAGDL@?$AAn?$AAb?$AA?9?$AAN?$AAO?$AA?$AA@ 0084e980 libucrtd:lcidtoname_downlevel.obj + 0003:00052990 ??_C@_1M@NEIEMEGP@?$AAp?$AAl?$AA?9?$AAP?$AAL?$AA?$AA@ 0084e990 libucrtd:lcidtoname_downlevel.obj + 0003:000529a0 ??_C@_1M@BOCFIGEP@?$AAp?$AAt?$AA?9?$AAB?$AAR?$AA?$AA@ 0084e9a0 libucrtd:lcidtoname_downlevel.obj + 0003:000529b0 ??_C@_1M@IMPFOPBG@?$AAr?$AAo?$AA?9?$AAR?$AAO?$AA?$AA@ 0084e9b0 libucrtd:lcidtoname_downlevel.obj + 0003:000529c0 ??_C@_1M@IDNNEJMM@?$AAr?$AAu?$AA?9?$AAR?$AAU?$AA?$AA@ 0084e9c0 libucrtd:lcidtoname_downlevel.obj + 0003:000529d0 ??_C@_1M@LILEEOGM@?$AAh?$AAr?$AA?9?$AAH?$AAR?$AA?$AA@ 0084e9d0 libucrtd:lcidtoname_downlevel.obj + 0003:000529e0 ??_C@_1M@FKIFEHPB@?$AAs?$AAk?$AA?9?$AAS?$AAK?$AA?$AA@ 0084e9e0 libucrtd:lcidtoname_downlevel.obj + 0003:000529f0 ??_C@_1M@LJMAMNPJ@?$AAs?$AAq?$AA?9?$AAA?$AAL?$AA?$AA@ 0084e9f0 libucrtd:lcidtoname_downlevel.obj + 0003:00052a00 ??_C@_1M@GIAKDKJK@?$AAs?$AAv?$AA?9?$AAS?$AAE?$AA?$AA@ 0084ea00 libucrtd:lcidtoname_downlevel.obj + 0003:00052a10 ??_C@_1M@MKJKIKCL@?$AAt?$AAh?$AA?9?$AAT?$AAH?$AA?$AA@ 0084ea10 libucrtd:lcidtoname_downlevel.obj + 0003:00052a20 ??_C@_1M@MFLCCMPB@?$AAt?$AAr?$AA?9?$AAT?$AAR?$AA?$AA@ 0084ea20 libucrtd:lcidtoname_downlevel.obj + 0003:00052a30 ??_C@_1M@OIJHDKJN@?$AAu?$AAr?$AA?9?$AAP?$AAK?$AA?$AA@ 0084ea30 libucrtd:lcidtoname_downlevel.obj + 0003:00052a40 ??_C@_1M@LHIPCIEK@?$AAi?$AAd?$AA?9?$AAI?$AAD?$AA?$AA@ 0084ea40 libucrtd:lcidtoname_downlevel.obj + 0003:00052a50 ??_C@_1M@MFMOBGI@?$AAu?$AAk?$AA?9?$AAU?$AAA?$AA?$AA@ 0084ea50 libucrtd:lcidtoname_downlevel.obj + 0003:00052a60 ??_C@_1M@OBGLJIPL@?$AAb?$AAe?$AA?9?$AAB?$AAY?$AA?$AA@ 0084ea60 libucrtd:lcidtoname_downlevel.obj + 0003:00052a70 ??_C@_1M@BCFAJEAD@?$AAs?$AAl?$AA?9?$AAS?$AAI?$AA?$AA@ 0084ea70 libucrtd:lcidtoname_downlevel.obj + 0003:00052a80 ??_C@_1M@FKFFEDDN@?$AAe?$AAt?$AA?9?$AAE?$AAE?$AA?$AA@ 0084ea80 libucrtd:lcidtoname_downlevel.obj + 0003:00052a90 ??_C@_1M@KGKKAACI@?$AAl?$AAv?$AA?9?$AAL?$AAV?$AA?$AA@ 0084ea90 libucrtd:lcidtoname_downlevel.obj + 0003:00052aa0 ??_C@_1M@IFGBIJO@?$AAl?$AAt?$AA?9?$AAL?$AAT?$AA?$AA@ 0084eaa0 libucrtd:lcidtoname_downlevel.obj + 0003:00052ab0 ??_C@_1M@FGEAHEDM@?$AAf?$AAa?$AA?9?$AAI?$AAR?$AA?$AA@ 0084eab0 libucrtd:lcidtoname_downlevel.obj + 0003:00052ac0 ??_C@_1M@KBMAIBFN@?$AAv?$AAi?$AA?9?$AAV?$AAN?$AA?$AA@ 0084eac0 libucrtd:lcidtoname_downlevel.obj + 0003:00052ad0 ??_C@_1M@GPCBKDJK@?$AAh?$AAy?$AA?9?$AAA?$AAM?$AA?$AA@ 0084ead0 libucrtd:lcidtoname_downlevel.obj + 0003:00052ae0 ??_C@_1BG@BECMDDJB@?$AAa?$AAz?$AA?9?$AAA?$AAZ?$AA?9?$AAL?$AAa?$AAt?$AAn?$AA?$AA@ 0084eae0 libucrtd:lcidtoname_downlevel.obj + 0003:00052afc ??_C@_1M@MAOFCAEA@?$AAe?$AAu?$AA?9?$AAE?$AAS?$AA?$AA@ 0084eafc libucrtd:lcidtoname_downlevel.obj + 0003:00052b0c ??_C@_1M@IGHABKPI@?$AAm?$AAk?$AA?9?$AAM?$AAK?$AA?$AA@ 0084eb0c libucrtd:lcidtoname_downlevel.obj + 0003:00052b1c ??_C@_1M@IAIGNEJG@?$AAt?$AAn?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084eb1c libucrtd:lcidtoname_downlevel.obj + 0003:00052b2c ??_C@_1M@IIJCOJFA@?$AAx?$AAh?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084eb2c libucrtd:lcidtoname_downlevel.obj + 0003:00052b3c ??_C@_1M@LGPJHNJH@?$AAz?$AAu?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084eb3c libucrtd:lcidtoname_downlevel.obj + 0003:00052b4c ??_C@_1M@HOKAOIO@?$AAa?$AAf?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084eb4c libucrtd:lcidtoname_downlevel.obj + 0003:00052b5c ??_C@_1M@DPCLHLIE@?$AAk?$AAa?$AA?9?$AAG?$AAE?$AA?$AA@ 0084eb5c libucrtd:lcidtoname_downlevel.obj + 0003:00052b6c ??_C@_1M@BLKMHJBI@?$AAf?$AAo?$AA?9?$AAF?$AAO?$AA?$AA@ 0084eb6c libucrtd:lcidtoname_downlevel.obj + 0003:00052b7c ??_C@_1M@LGGJAPPB@?$AAh?$AAi?$AA?9?$AAI?$AAN?$AA?$AA@ 0084eb7c libucrtd:lcidtoname_downlevel.obj + 0003:00052b8c ??_C@_1M@FIKPIHFE@?$AAm?$AAt?$AA?9?$AAM?$AAT?$AA?$AA@ 0084eb8c libucrtd:lcidtoname_downlevel.obj + 0003:00052b9c ??_C@_1M@HEGGPBFA@?$AAs?$AAe?$AA?9?$AAN?$AAO?$AA?$AA@ 0084eb9c libucrtd:lcidtoname_downlevel.obj + 0003:00052bac ??_C@_1M@EIBJEEPA@?$AAm?$AAs?$AA?9?$AAM?$AAY?$AA?$AA@ 0084ebac libucrtd:lcidtoname_downlevel.obj + 0003:00052bbc ??_C@_1M@FHLBGMPP@?$AAk?$AAk?$AA?9?$AAK?$AAZ?$AA?$AA@ 0084ebbc libucrtd:lcidtoname_downlevel.obj + 0003:00052bcc ??_C@_1M@NGJJLCGI@?$AAk?$AAy?$AA?9?$AAK?$AAG?$AA?$AA@ 0084ebcc libucrtd:lcidtoname_downlevel.obj + 0003:00052bdc ??_C@_1M@GIENNBFC@?$AAs?$AAw?$AA?9?$AAK?$AAE?$AA?$AA@ 0084ebdc libucrtd:lcidtoname_downlevel.obj + 0003:00052bec ??_C@_1BG@NDGMJIMJ@?$AAu?$AAz?$AA?9?$AAU?$AAZ?$AA?9?$AAL?$AAa?$AAt?$AAn?$AA?$AA@ 0084ebec libucrtd:lcidtoname_downlevel.obj + 0003:00052c08 ??_C@_1M@IDCCIHBC@?$AAt?$AAt?$AA?9?$AAR?$AAU?$AA?$AA@ 0084ec08 libucrtd:lcidtoname_downlevel.obj + 0003:00052c18 ??_C@_1M@LOICPMOJ@?$AAb?$AAn?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec18 libucrtd:lcidtoname_downlevel.obj + 0003:00052c28 ??_C@_1M@KPKKNEAH@?$AAp?$AAa?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec28 libucrtd:lcidtoname_downlevel.obj + 0003:00052c38 ??_C@_1M@PJGPPBOG@?$AAg?$AAu?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec38 libucrtd:lcidtoname_downlevel.obj + 0003:00052c48 ??_C@_1M@KMKMOPHI@?$AAt?$AAa?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec48 libucrtd:lcidtoname_downlevel.obj + 0003:00052c58 ??_C@_1M@KFEHEPAC@?$AAt?$AAe?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec58 libucrtd:lcidtoname_downlevel.obj + 0003:00052c68 ??_C@_1M@CDCLMGHI@?$AAk?$AAn?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec68 libucrtd:lcidtoname_downlevel.obj + 0003:00052c78 ??_C@_1M@MIODLDKF@?$AAm?$AAl?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec78 libucrtd:lcidtoname_downlevel.obj + 0003:00052c88 ??_C@_1M@PBIEACPO@?$AAm?$AAr?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec88 libucrtd:lcidtoname_downlevel.obj + 0003:00052c98 ??_C@_1M@NIDEAGPH@?$AAs?$AAa?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ec98 libucrtd:lcidtoname_downlevel.obj + 0003:00052ca8 ??_C@_1M@FHIHCBIO@?$AAm?$AAn?$AA?9?$AAM?$AAN?$AA?$AA@ 0084eca8 libucrtd:lcidtoname_downlevel.obj + 0003:00052cb8 ??_C@_1M@JAIJPENP@?$AAc?$AAy?$AA?9?$AAG?$AAB?$AA?$AA@ 0084ecb8 libucrtd:lcidtoname_downlevel.obj + 0003:00052cc8 ??_C@_1M@PHGFBEPN@?$AAg?$AAl?$AA?9?$AAE?$AAS?$AA?$AA@ 0084ecc8 libucrtd:lcidtoname_downlevel.obj + 0003:00052cd8 ??_C@_1O@KPIPDNCP@?$AAk?$AAo?$AAk?$AA?9?$AAI?$AAN?$AA?$AA@ 0084ecd8 libucrtd:lcidtoname_downlevel.obj + 0003:00052ce8 ??_C@_1O@KNHJLDJA@?$AAs?$AAy?$AAr?$AA?9?$AAS?$AAY?$AA?$AA@ 0084ece8 libucrtd:lcidtoname_downlevel.obj + 0003:00052cf8 ??_C@_1O@MKEKBLAH@?$AAd?$AAi?$AAv?$AA?9?$AAM?$AAV?$AA?$AA@ 0084ecf8 libucrtd:lcidtoname_downlevel.obj + 0003:00052d08 ??_C@_1O@OHDCKDDF@?$AAq?$AAu?$AAz?$AA?9?$AAB?$AAO?$AA?$AA@ 0084ed08 libucrtd:lcidtoname_downlevel.obj + 0003:00052d18 ??_C@_1M@LEPJNLFD@?$AAn?$AAs?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084ed18 libucrtd:lcidtoname_downlevel.obj + 0003:00052d28 ??_C@_1M@OMLEIIJB@?$AAm?$AAi?$AA?9?$AAN?$AAZ?$AA?$AA@ 0084ed28 libucrtd:lcidtoname_downlevel.obj + 0003:00052d38 ??_C@_1M@PMPEAILG@?$AAa?$AAr?$AA?9?$AAI?$AAQ?$AA?$AA@ 0084ed38 libucrtd:lcidtoname_downlevel.obj + 0003:00052d48 ??_C@_1M@CNKPNOEE@?$AAd?$AAe?$AA?9?$AAC?$AAH?$AA?$AA@ 0084ed48 libucrtd:lcidtoname_downlevel.obj + 0003:00052d58 ??_C@_1M@LKMGMLKO@?$AAe?$AAn?$AA?9?$AAG?$AAB?$AA?$AA@ 0084ed58 libucrtd:lcidtoname_downlevel.obj + 0003:00052d68 ??_C@_1M@PGKJFFGL@?$AAe?$AAs?$AA?9?$AAM?$AAX?$AA?$AA@ 0084ed68 libucrtd:lcidtoname_downlevel.obj + 0003:00052d78 ??_C@_1M@DNNANBDC@?$AAf?$AAr?$AA?9?$AAB?$AAE?$AA?$AA@ 0084ed78 libucrtd:lcidtoname_downlevel.obj + 0003:00052d88 ??_C@_1M@HLGMDFHM@?$AAi?$AAt?$AA?9?$AAC?$AAH?$AA?$AA@ 0084ed88 libucrtd:lcidtoname_downlevel.obj + 0003:00052d98 ??_C@_1M@CLLBGJH@?$AAn?$AAl?$AA?9?$AAB?$AAE?$AA?$AA@ 0084ed98 libucrtd:lcidtoname_downlevel.obj + 0003:00052da8 ??_C@_1M@BODBOGLF@?$AAn?$AAn?$AA?9?$AAN?$AAO?$AA?$AA@ 0084eda8 libucrtd:lcidtoname_downlevel.obj + 0003:00052db8 ??_C@_1M@HFFAHKAD@?$AAp?$AAt?$AA?9?$AAP?$AAT?$AA?$AA@ 0084edb8 libucrtd:lcidtoname_downlevel.obj + 0003:00052dc8 ??_C@_1BG@LNOAKHIE@?$AAs?$AAr?$AA?9?$AAS?$AAP?$AA?9?$AAL?$AAa?$AAt?$AAn?$AA?$AA@ 0084edc8 libucrtd:lcidtoname_downlevel.obj + 0003:00052de4 ??_C@_1M@HBMHBGAK@?$AAs?$AAv?$AA?9?$AAF?$AAI?$AA?$AA@ 0084ede4 libucrtd:lcidtoname_downlevel.obj + 0003:00052df4 ??_C@_1BG@DGCJGJBE@?$AAa?$AAz?$AA?9?$AAA?$AAZ?$AA?9?$AAC?$AAy?$AAr?$AAl?$AA?$AA@ 0084edf4 libucrtd:lcidtoname_downlevel.obj + 0003:00052e10 ??_C@_1M@KEJDAAHB@?$AAs?$AAe?$AA?9?$AAS?$AAE?$AA?$AA@ 0084ee10 libucrtd:lcidtoname_downlevel.obj + 0003:00052e20 ??_C@_1M@HEIBJJAD@?$AAm?$AAs?$AA?9?$AAB?$AAN?$AA?$AA@ 0084ee20 libucrtd:lcidtoname_downlevel.obj + 0003:00052e30 ??_C@_1BG@PBGJMCEM@?$AAu?$AAz?$AA?9?$AAU?$AAZ?$AA?9?$AAC?$AAy?$AAr?$AAl?$AA?$AA@ 0084ee30 libucrtd:lcidtoname_downlevel.obj + 0003:00052e4c ??_C@_1O@LAOBCMDF@?$AAq?$AAu?$AAz?$AA?9?$AAE?$AAC?$AA?$AA@ 0084ee4c libucrtd:lcidtoname_downlevel.obj + 0003:00052e5c ??_C@_1M@POEEMAIO@?$AAa?$AAr?$AA?9?$AAE?$AAG?$AA?$AA@ 0084ee5c libucrtd:lcidtoname_downlevel.obj + 0003:00052e6c ??_C@_1M@EFAKDEDL@?$AAz?$AAh?$AA?9?$AAH?$AAK?$AA?$AA@ 0084ee6c libucrtd:lcidtoname_downlevel.obj + 0003:00052e7c ??_C@_1M@HKKIJHGI@?$AAd?$AAe?$AA?9?$AAA?$AAT?$AA?$AA@ 0084ee7c libucrtd:lcidtoname_downlevel.obj + 0003:00052e8c ??_C@_1M@KBFBEHJF@?$AAe?$AAn?$AA?9?$AAA?$AAU?$AA?$AA@ 0084ee8c libucrtd:lcidtoname_downlevel.obj + 0003:00052e9c ??_C@_1M@MNPLFAAH@?$AAe?$AAs?$AA?9?$AAE?$AAS?$AA?$AA@ 0084ee9c libucrtd:lcidtoname_downlevel.obj + 0003:00052eac ??_C@_1M@HJOOJFMA@?$AAf?$AAr?$AA?9?$AAC?$AAA?$AA?$AA@ 0084eeac libucrtd:lcidtoname_downlevel.obj + 0003:00052ebc ??_C@_1BG@JPOFPNAB@?$AAs?$AAr?$AA?9?$AAS?$AAP?$AA?9?$AAC?$AAy?$AAr?$AAl?$AA?$AA@ 0084eebc libucrtd:lcidtoname_downlevel.obj + 0003:00052ed8 ??_C@_1M@LNFOCMOB@?$AAs?$AAe?$AA?9?$AAF?$AAI?$AA?$AA@ 0084eed8 libucrtd:lcidtoname_downlevel.obj + 0003:00052ee8 ??_C@_1O@MGJBOAMB@?$AAq?$AAu?$AAz?$AA?9?$AAP?$AAE?$AA?$AA@ 0084eee8 libucrtd:lcidtoname_downlevel.obj + 0003:00052ef8 ??_C@_1M@GJINLBOK@?$AAa?$AAr?$AA?9?$AAL?$AAY?$AA?$AA@ 0084eef8 libucrtd:lcidtoname_downlevel.obj + 0003:00052f08 ??_C@_1M@GGMNHJNL@?$AAz?$AAh?$AA?9?$AAS?$AAG?$AA?$AA@ 0084ef08 libucrtd:lcidtoname_downlevel.obj + 0003:00052f18 ??_C@_1M@HOIKODND@?$AAd?$AAe?$AA?9?$AAL?$AAU?$AA?$AA@ 0084ef18 libucrtd:lcidtoname_downlevel.obj + 0003:00052f28 ??_C@_1M@DDOCCGFG@?$AAe?$AAn?$AA?9?$AAC?$AAA?$AA?$AA@ 0084ef28 libucrtd:lcidtoname_downlevel.obj + 0003:00052f38 ??_C@_1M@BNOEMJLF@?$AAe?$AAs?$AA?9?$AAG?$AAT?$AA?$AA@ 0084ef38 libucrtd:lcidtoname_downlevel.obj + 0003:00052f48 ??_C@_1M@EOGNKEK@?$AAf?$AAr?$AA?9?$AAC?$AAH?$AA?$AA@ 0084ef48 libucrtd:lcidtoname_downlevel.obj + 0003:00052f58 ??_C@_1M@FLIDJFHL@?$AAh?$AAr?$AA?9?$AAB?$AAA?$AA?$AA@ 0084ef58 libucrtd:lcidtoname_downlevel.obj + 0003:00052f68 ??_C@_1O@FMCELNAJ@?$AAs?$AAm?$AAj?$AA?9?$AAN?$AAO?$AA?$AA@ 0084ef68 libucrtd:lcidtoname_downlevel.obj + 0003:00052f78 ??_C@_1M@JHGLJMGJ@?$AAa?$AAr?$AA?9?$AAD?$AAZ?$AA?$AA@ 0084ef78 libucrtd:lcidtoname_downlevel.obj + 0003:00052f88 ??_C@_1M@JKKFDCNP@?$AAz?$AAh?$AA?9?$AAM?$AAO?$AA?$AA@ 0084ef88 libucrtd:lcidtoname_downlevel.obj + 0003:00052f98 ??_C@_1M@GEEFALPE@?$AAd?$AAe?$AA?9?$AAL?$AAI?$AA?$AA@ 0084ef98 libucrtd:lcidtoname_downlevel.obj + 0003:00052fa8 ??_C@_1M@IGEOFBG@?$AAe?$AAn?$AA?9?$AAN?$AAZ?$AA?$AA@ 0084efa8 libucrtd:lcidtoname_downlevel.obj + 0003:00052fb8 ??_C@_1M@KDBONEHP@?$AAe?$AAs?$AA?9?$AAC?$AAR?$AA?$AA@ 0084efb8 libucrtd:lcidtoname_downlevel.obj + 0003:00052fc8 ??_C@_1M@FHMDOHNN@?$AAf?$AAr?$AA?9?$AAL?$AAU?$AA?$AA@ 0084efc8 libucrtd:lcidtoname_downlevel.obj + 0003:00052fd8 ??_C@_1BG@NFKKMAFG@?$AAb?$AAs?$AA?9?$AAB?$AAA?$AA?9?$AAL?$AAa?$AAt?$AAn?$AA?$AA@ 0084efd8 libucrtd:lcidtoname_downlevel.obj + 0003:00052ff4 ??_C@_1O@IMNBEMCI@?$AAs?$AAm?$AAj?$AA?9?$AAS?$AAE?$AA?$AA@ 0084eff4 libucrtd:lcidtoname_downlevel.obj + 0003:00053004 ??_C@_1M@DHHMBNDP@?$AAa?$AAr?$AA?9?$AAM?$AAA?$AA?$AA@ 0084f004 libucrtd:lcidtoname_downlevel.obj + 0003:00053014 ??_C@_1M@BNBLJCGH@?$AAe?$AAn?$AA?9?$AAI?$AAE?$AA?$AA@ 0084f014 libucrtd:lcidtoname_downlevel.obj + 0003:00053024 ??_C@_1M@GEPAFMDL@?$AAe?$AAs?$AA?9?$AAP?$AAA?$AA?$AA@ 0084f024 libucrtd:lcidtoname_downlevel.obj + 0003:00053034 ??_C@_1M@OJONDMDL@?$AAf?$AAr?$AA?9?$AAM?$AAC?$AA?$AA@ 0084f034 libucrtd:lcidtoname_downlevel.obj + 0003:00053044 ??_C@_1BG@OBCNFJB@?$AAs?$AAr?$AA?9?$AAB?$AAA?$AA?9?$AAL?$AAa?$AAt?$AAn?$AA?$AA@ 0084f044 libucrtd:lcidtoname_downlevel.obj + 0003:00053060 ??_C@_1O@KEMEEGPO@?$AAs?$AAm?$AAa?$AA?9?$AAN?$AAO?$AA?$AA@ 0084f060 libucrtd:lcidtoname_downlevel.obj + 0003:00053070 ??_C@_1M@ELMGFODK@?$AAa?$AAr?$AA?9?$AAT?$AAN?$AA?$AA@ 0084f070 libucrtd:lcidtoname_downlevel.obj + 0003:00053080 ??_C@_1M@BHDLHFAF@?$AAe?$AAn?$AA?9?$AAZ?$AAA?$AA?$AA@ 0084f080 libucrtd:lcidtoname_downlevel.obj + 0003:00053090 ??_C@_1M@BMGIGLIF@?$AAe?$AAs?$AA?9?$AAD?$AAO?$AA?$AA@ 0084f090 libucrtd:lcidtoname_downlevel.obj + 0003:000530a0 ??_C@_1BG@CMBHIPBE@?$AAs?$AAr?$AA?9?$AAB?$AAA?$AA?9?$AAC?$AAy?$AAr?$AAl?$AA?$AA@ 0084f0a0 libucrtd:lcidtoname_downlevel.obj + 0003:000530bc ??_C@_1O@HEDBLHNP@?$AAs?$AAm?$AAa?$AA?9?$AAS?$AAE?$AA?$AA@ 0084f0bc libucrtd:lcidtoname_downlevel.obj + 0003:000530cc ??_C@_1M@DAGCADIM@?$AAa?$AAr?$AA?9?$AAO?$AAM?$AA?$AA@ 0084f0cc libucrtd:lcidtoname_downlevel.obj + 0003:000530dc ??_C@_1M@FODLMICG@?$AAe?$AAn?$AA?9?$AAJ?$AAM?$AA?$AA@ 0084f0dc libucrtd:lcidtoname_downlevel.obj + 0003:000530ec ??_C@_1M@DNMLCIHB@?$AAe?$AAs?$AA?9?$AAV?$AAE?$AA?$AA@ 0084f0ec libucrtd:lcidtoname_downlevel.obj + 0003:000530fc ??_C@_1O@EOKHMKJK@?$AAs?$AAm?$AAs?$AA?9?$AAF?$AAI?$AA?$AA@ 0084f0fc libucrtd:lcidtoname_downlevel.obj + 0003:0005310c ??_C@_1M@CAFJMKOF@?$AAa?$AAr?$AA?9?$AAY?$AAE?$AA?$AA@ 0084f10c libucrtd:lcidtoname_downlevel.obj + 0003:0005311c ??_C@_1M@CBFHIJLI@?$AAe?$AAn?$AA?9?$AAC?$AAB?$AA?$AA@ 0084f11c libucrtd:lcidtoname_downlevel.obj + 0003:0005312c ??_C@_1M@BGNFLDN@?$AAe?$AAs?$AA?9?$AAC?$AAO?$AA?$AA@ 0084f12c libucrtd:lcidtoname_downlevel.obj + 0003:0005313c ??_C@_1O@JMPHMAMC@?$AAs?$AAm?$AAn?$AA?9?$AAF?$AAI?$AA?$AA@ 0084f13c libucrtd:lcidtoname_downlevel.obj + 0003:0005314c ??_C@_1M@JLANABKE@?$AAa?$AAr?$AA?9?$AAS?$AAY?$AA?$AA@ 0084f14c libucrtd:lcidtoname_downlevel.obj + 0003:0005315c ??_C@_1M@HPKGCFGN@?$AAe?$AAn?$AA?9?$AAB?$AAZ?$AA?$AA@ 0084f15c libucrtd:lcidtoname_downlevel.obj + 0003:0005316c ??_C@_1M@OLJCMLGM@?$AAe?$AAs?$AA?9?$AAP?$AAE?$AA?$AA@ 0084f16c libucrtd:lcidtoname_downlevel.obj + 0003:0005317c ??_C@_1M@MKKGFKLE@?$AAa?$AAr?$AA?9?$AAJ?$AAO?$AA?$AA@ 0084f17c libucrtd:lcidtoname_downlevel.obj + 0003:0005318c ??_C@_1M@EKPGLDNI@?$AAe?$AAn?$AA?9?$AAT?$AAT?$AA?$AA@ 0084f18c libucrtd:lcidtoname_downlevel.obj + 0003:0005319c ??_C@_1M@OONGHFHE@?$AAe?$AAs?$AA?9?$AAA?$AAR?$AA?$AA@ 0084f19c libucrtd:lcidtoname_downlevel.obj + 0003:000531ac ??_C@_1M@OOJFGBHE@?$AAa?$AAr?$AA?9?$AAL?$AAB?$AA?$AA@ 0084f1ac libucrtd:lcidtoname_downlevel.obj + 0003:000531bc ??_C@_1M@GCEJHNEG@?$AAe?$AAn?$AA?9?$AAZ?$AAW?$AA?$AA@ 0084f1bc libucrtd:lcidtoname_downlevel.obj + 0003:000531cc ??_C@_1M@JNOCAHJI@?$AAe?$AAs?$AA?9?$AAE?$AAC?$AA?$AA@ 0084f1cc libucrtd:lcidtoname_downlevel.obj + 0003:000531dc ??_C@_1M@JEFHPGGB@?$AAa?$AAr?$AA?9?$AAK?$AAW?$AA?$AA@ 0084f1dc libucrtd:lcidtoname_downlevel.obj + 0003:000531ec ??_C@_1M@MLKIBJOJ@?$AAe?$AAn?$AA?9?$AAP?$AAH?$AA?$AA@ 0084f1ec libucrtd:lcidtoname_downlevel.obj + 0003:000531fc ??_C@_1M@BDNIPEND@?$AAe?$AAs?$AA?9?$AAC?$AAL?$AA?$AA@ 0084f1fc libucrtd:lcidtoname_downlevel.obj + 0003:0005320c ??_C@_1M@MPNMEKBD@?$AAa?$AAr?$AA?9?$AAA?$AAE?$AA?$AA@ 0084f20c libucrtd:lcidtoname_downlevel.obj + 0003:0005321c ??_C@_1M@KBJALCPI@?$AAe?$AAs?$AA?9?$AAU?$AAY?$AA?$AA@ 0084f21c libucrtd:lcidtoname_downlevel.obj + 0003:0005322c ??_C@_1M@LLCCOAGA@?$AAa?$AAr?$AA?9?$AAB?$AAH?$AA?$AA@ 0084f22c libucrtd:lcidtoname_downlevel.obj + 0003:0005323c ??_C@_1M@PBFNCDEL@?$AAe?$AAs?$AA?9?$AAP?$AAY?$AA?$AA@ 0084f23c libucrtd:lcidtoname_downlevel.obj + 0003:0005324c ??_C@_1M@EDGINPNP@?$AAa?$AAr?$AA?9?$AAQ?$AAA?$AA?$AA@ 0084f24c libucrtd:lcidtoname_downlevel.obj + 0003:0005325c ??_C@_1M@MKDBIIJI@?$AAe?$AAs?$AA?9?$AAB?$AAO?$AA?$AA@ 0084f25c libucrtd:lcidtoname_downlevel.obj + 0003:0005326c ??_C@_1M@CPKKEBLD@?$AAe?$AAs?$AA?9?$AAS?$AAV?$AA?$AA@ 0084f26c libucrtd:lcidtoname_downlevel.obj + 0003:0005327c ??_C@_1M@NDBGMMJL@?$AAe?$AAs?$AA?9?$AAH?$AAN?$AA?$AA@ 0084f27c libucrtd:lcidtoname_downlevel.obj + 0003:0005328c ??_C@_1M@JIJIBHDP@?$AAe?$AAs?$AA?9?$AAN?$AAI?$AA?$AA@ 0084f28c libucrtd:lcidtoname_downlevel.obj + 0003:0005329c ??_C@_1M@CGFMKEEK@?$AAe?$AAs?$AA?9?$AAP?$AAR?$AA?$AA@ 0084f29c libucrtd:lcidtoname_downlevel.obj + 0003:000532ac ??_C@_1O@ICJHKIIK@?$AAz?$AAh?$AA?9?$AAC?$AAH?$AAT?$AA?$AA@ 0084f2ac libucrtd:lcidtoname_downlevel.obj + 0003:000532bc ??_C@_15CLNEJCE@?$AAs?$AAr?$AA?$AA@ 0084f2bc libucrtd:lcidtoname_downlevel.obj + 0003:00053b54 ??_C@_1M@KAHEKEIG@?$AAa?$AAf?$AA?9?$AAz?$AAa?$AA?$AA@ 0084fb54 libucrtd:lcidtoname_downlevel.obj + 0003:00053b64 ??_C@_1M@GIECOABL@?$AAa?$AAr?$AA?9?$AAa?$AAe?$AA?$AA@ 0084fb64 libucrtd:lcidtoname_downlevel.obj + 0003:00053b74 ??_C@_1M@BMLMEKGI@?$AAa?$AAr?$AA?9?$AAb?$AAh?$AA?$AA@ 0084fb74 libucrtd:lcidtoname_downlevel.obj + 0003:00053b84 ??_C@_1M@DAPFDGGB@?$AAa?$AAr?$AA?9?$AAd?$AAz?$AA?$AA@ 0084fb84 libucrtd:lcidtoname_downlevel.obj + 0003:00053b94 ??_C@_1M@FJNKGKIG@?$AAa?$AAr?$AA?9?$AAe?$AAg?$AA?$AA@ 0084fb94 libucrtd:lcidtoname_downlevel.obj + 0003:00053ba4 ??_C@_1M@FLGKKCLO@?$AAa?$AAr?$AA?9?$AAi?$AAq?$AA?$AA@ 0084fba4 libucrtd:lcidtoname_downlevel.obj + 0003:00053bb4 ??_C@_1M@GNDIPALM@?$AAa?$AAr?$AA?9?$AAj?$AAo?$AA?$AA@ 0084fbb4 libucrtd:lcidtoname_downlevel.obj + 0003:00053bc4 ??_C@_1M@DDMJFMGJ@?$AAa?$AAr?$AA?9?$AAk?$AAw?$AA?$AA@ 0084fbc4 libucrtd:lcidtoname_downlevel.obj + 0003:00053bd4 ??_C@_1M@EJALMLHM@?$AAa?$AAr?$AA?9?$AAl?$AAb?$AA?$AA@ 0084fbd4 libucrtd:lcidtoname_downlevel.obj + 0003:00053be4 ??_C@_1M@MOBDBLOC@?$AAa?$AAr?$AA?9?$AAl?$AAy?$AA?$AA@ 0084fbe4 libucrtd:lcidtoname_downlevel.obj + 0003:00053bf4 ??_C@_1M@JAOCLHDH@?$AAa?$AAr?$AA?9?$AAm?$AAa?$AA?$AA@ 0084fbf4 libucrtd:lcidtoname_downlevel.obj + 0003:00053c04 ??_C@_1M@JHPMKJIE@?$AAa?$AAr?$AA?9?$AAo?$AAm?$AA?$AA@ 0084fc04 libucrtd:lcidtoname_downlevel.obj + 0003:00053c14 ??_C@_1M@OEPGHFNH@?$AAa?$AAr?$AA?9?$AAq?$AAa?$AA?$AA@ 0084fc14 libucrtd:lcidtoname_downlevel.obj + 0003:00053c24 ??_C@_1M@KJDONENM@?$AAa?$AAr?$AA?9?$AAs?$AAa?$AA?$AA@ 0084fc24 libucrtd:lcidtoname_downlevel.obj + 0003:00053c34 ??_C@_1M@DMJDKLKM@?$AAa?$AAr?$AA?9?$AAs?$AAy?$AA?$AA@ 0084fc34 libucrtd:lcidtoname_downlevel.obj + 0003:00053c44 ??_C@_1M@OMFIPEDC@?$AAa?$AAr?$AA?9?$AAt?$AAn?$AA?$AA@ 0084fc44 libucrtd:lcidtoname_downlevel.obj + 0003:00053c54 ??_C@_1M@IHMHGAON@?$AAa?$AAr?$AA?9?$AAy?$AAe?$AA?$AA@ 0084fc54 libucrtd:lcidtoname_downlevel.obj + 0003:00053c64 ??_C@_1BG@KDCPGJGB@?$AAa?$AAz?$AA?9?$AAa?$AAz?$AA?9?$AAc?$AAy?$AAr?$AAl?$AA?$AA@ 0084fc64 libucrtd:lcidtoname_downlevel.obj + 0003:00053c80 ??_C@_1BG@IBCKDDOE@?$AAa?$AAz?$AA?9?$AAa?$AAz?$AA?9?$AAl?$AAa?$AAt?$AAn?$AA?$AA@ 0084fc80 libucrtd:lcidtoname_downlevel.obj + 0003:00053c9c ??_C@_1M@EGPFDCPD@?$AAb?$AAe?$AA?9?$AAb?$AAy?$AA?$AA@ 0084fc9c libucrtd:lcidtoname_downlevel.obj + 0003:00053cac ??_C@_1M@PCMGMCGC@?$AAb?$AAg?$AA?9?$AAb?$AAg?$AA?$AA@ 0084fcac libucrtd:lcidtoname_downlevel.obj + 0003:00053cbc ??_C@_1M@BJBMFGOB@?$AAb?$AAn?$AA?9?$AAi?$AAn?$AA?$AA@ 0084fcbc libucrtd:lcidtoname_downlevel.obj + 0003:00053ccc ??_C@_1BG@EAKMMACD@?$AAb?$AAs?$AA?9?$AAb?$AAa?$AA?9?$AAl?$AAa?$AAt?$AAn?$AA?$AA@ 0084fccc libucrtd:lcidtoname_downlevel.obj + 0003:00053ce8 ??_C@_1M@KGADAODK@?$AAc?$AAa?$AA?9?$AAe?$AAs?$AA?$AA@ 0084fce8 libucrtd:lcidtoname_downlevel.obj + 0003:00053cf8 ??_C@_1M@COAJPDHI@?$AAc?$AAs?$AA?9?$AAc?$AAz?$AA?$AA@ 0084fcf8 libucrtd:lcidtoname_downlevel.obj + 0003:00053d08 ??_C@_1M@DHBHFONH@?$AAc?$AAy?$AA?9?$AAg?$AAb?$AA?$AA@ 0084fd08 libucrtd:lcidtoname_downlevel.obj + 0003:00053d18 ??_C@_1M@IMGKELGA@?$AAd?$AAa?$AA?9?$AAd?$AAk?$AA?$AA@ 0084fd18 libucrtd:lcidtoname_downlevel.obj + 0003:00053d28 ??_C@_1M@NNDGDNGA@?$AAd?$AAe?$AA?9?$AAa?$AAt?$AA?$AA@ 0084fd28 libucrtd:lcidtoname_downlevel.obj + 0003:00053d38 ??_C@_1M@IKDBHEEM@?$AAd?$AAe?$AA?9?$AAc?$AAh?$AA?$AA@ 0084fd38 libucrtd:lcidtoname_downlevel.obj + 0003:00053d48 ??_C@_1M@GFFOJMCJ@?$AAd?$AAe?$AA?9?$AAd?$AAe?$AA?$AA@ 0084fd48 libucrtd:lcidtoname_downlevel.obj + 0003:00053d58 ??_C@_1M@MDNLKBPM@?$AAd?$AAe?$AA?9?$AAl?$AAi?$AA?$AA@ 0084fd58 libucrtd:lcidtoname_downlevel.obj + 0003:00053d68 ??_C@_1M@NJBEEJNL@?$AAd?$AAe?$AA?9?$AAl?$AAu?$AA?$AA@ 0084fd68 libucrtd:lcidtoname_downlevel.obj + 0003:00053d78 ??_C@_1O@GNNELBAP@?$AAd?$AAi?$AAv?$AA?9?$AAm?$AAv?$AA?$AA@ 0084fd78 libucrtd:lcidtoname_downlevel.obj + 0003:00053d88 ??_C@_1M@EJLEOGAE@?$AAe?$AAl?$AA?9?$AAg?$AAr?$AA?$AA@ 0084fd88 libucrtd:lcidtoname_downlevel.obj + 0003:00053d98 ??_C@_1M@GMPONJN@?$AAe?$AAn?$AA?9?$AAa?$AAu?$AA?$AA@ 0084fd98 libucrtd:lcidtoname_downlevel.obj + 0003:00053da8 ??_C@_1M@NIDIIPGF@?$AAe?$AAn?$AA?9?$AAb?$AAz?$AA?$AA@ 0084fda8 libucrtd:lcidtoname_downlevel.obj + 0003:00053db8 ??_C@_1M@JEHMIMFO@?$AAe?$AAn?$AA?9?$AAc?$AAa?$AA?$AA@ 0084fdb8 libucrtd:lcidtoname_downlevel.obj + 0003:00053dc8 ??_C@_1M@IGMJCDLA@?$AAe?$AAn?$AA?9?$AAc?$AAb?$AA?$AA@ 0084fdc8 libucrtd:lcidtoname_downlevel.obj + 0003:00053dd8 ??_C@_1M@BNFIGBKG@?$AAe?$AAn?$AA?9?$AAg?$AAb?$AA?$AA@ 0084fdd8 libucrtd:lcidtoname_downlevel.obj + 0003:00053de8 ??_C@_1M@LKIFDIGP@?$AAe?$AAn?$AA?9?$AAi?$AAe?$AA?$AA@ 0084fde8 libucrtd:lcidtoname_downlevel.obj + 0003:00053df8 ??_C@_1M@PJKFGCCO@?$AAe?$AAn?$AA?9?$AAj?$AAm?$AA?$AA@ 0084fdf8 libucrtd:lcidtoname_downlevel.obj + 0003:00053e08 ??_C@_1M@KPPKEPBO@?$AAe?$AAn?$AA?9?$AAn?$AAz?$AA?$AA@ 0084fe08 libucrtd:lcidtoname_downlevel.obj + 0003:00053e18 ??_C@_1M@GMDGLDOB@?$AAe?$AAn?$AA?9?$AAp?$AAh?$AA?$AA@ 0084fe18 libucrtd:lcidtoname_downlevel.obj + 0003:00053e28 ??_C@_1M@ONGIBJNA@?$AAe?$AAn?$AA?9?$AAt?$AAt?$AA?$AA@ 0084fe28 libucrtd:lcidtoname_downlevel.obj + 0003:00053e38 ??_C@_1M@LLODPCMM@?$AAe?$AAn?$AA?9?$AAu?$AAs?$AA?$AA@ 0084fe38 libucrtd:lcidtoname_downlevel.obj + 0003:00053e48 ??_C@_1M@LAKFNPAN@?$AAe?$AAn?$AA?9?$AAz?$AAa?$AA?$AA@ 0084fe48 libucrtd:lcidtoname_downlevel.obj + 0003:00053e58 ??_C@_1M@MFNHNHEO@?$AAe?$AAn?$AA?9?$AAz?$AAw?$AA?$AA@ 0084fe58 libucrtd:lcidtoname_downlevel.obj + 0003:00053e68 ??_C@_1M@EJEINPHM@?$AAe?$AAs?$AA?9?$AAa?$AAr?$AA?$AA@ 0084fe68 libucrtd:lcidtoname_downlevel.obj + 0003:00053e78 ??_C@_1M@GNKPCCJA@?$AAe?$AAs?$AA?9?$AAb?$AAo?$AA?$AA@ 0084fe78 libucrtd:lcidtoname_downlevel.obj + 0003:00053e88 ??_C@_1M@LEEGFONL@?$AAe?$AAs?$AA?9?$AAc?$AAl?$AA?$AA@ 0084fe88 libucrtd:lcidtoname_downlevel.obj + 0003:00053e98 ??_C@_1M@KGPDPBDF@?$AAe?$AAs?$AA?9?$AAc?$AAo?$AA?$AA@ 0084fe98 libucrtd:lcidtoname_downlevel.obj + 0003:00053ea8 ??_C@_1M@EIAHOHH@?$AAe?$AAs?$AA?9?$AAc?$AAr?$AA?$AA@ 0084fea8 libucrtd:lcidtoname_downlevel.obj + 0003:00053eb8 ??_C@_1M@LLPGMBIN@?$AAe?$AAs?$AA?9?$AAd?$AAo?$AA?$AA@ 0084feb8 libucrtd:lcidtoname_downlevel.obj + 0003:00053ec8 ??_C@_1M@DKHMKNJA@?$AAe?$AAs?$AA?9?$AAe?$AAc?$AA?$AA@ 0084fec8 libucrtd:lcidtoname_downlevel.obj + 0003:00053ed8 ??_C@_1M@GKGFPKAP@?$AAe?$AAs?$AA?9?$AAe?$AAs?$AA?$AA@ 0084fed8 libucrtd:lcidtoname_downlevel.obj + 0003:00053ee8 ??_C@_1M@LKHKGDLN@?$AAe?$AAs?$AA?9?$AAg?$AAt?$AA?$AA@ 0084fee8 libucrtd:lcidtoname_downlevel.obj + 0003:00053ef8 ??_C@_1M@HEIIGGJD@?$AAe?$AAs?$AA?9?$AAh?$AAn?$AA?$AA@ 0084fef8 libucrtd:lcidtoname_downlevel.obj + 0003:00053f08 ??_C@_1M@FBDHPPGD@?$AAe?$AAs?$AA?9?$AAm?$AAx?$AA?$AA@ 0084ff08 libucrtd:lcidtoname_downlevel.obj + 0003:00053f18 ??_C@_1M@DPAGLNDH@?$AAe?$AAs?$AA?9?$AAn?$AAi?$AA?$AA@ 0084ff18 libucrtd:lcidtoname_downlevel.obj + 0003:00053f28 ??_C@_1M@MDGOPGDD@?$AAe?$AAs?$AA?9?$AAp?$AAa?$AA?$AA@ 0084ff28 libucrtd:lcidtoname_downlevel.obj + 0003:00053f38 ??_C@_1M@EMAMGBGE@?$AAe?$AAs?$AA?9?$AAp?$AAe?$AA?$AA@ 0084ff38 libucrtd:lcidtoname_downlevel.obj + 0003:00053f48 ??_C@_1M@IBMCAOEC@?$AAe?$AAs?$AA?9?$AAp?$AAr?$AA?$AA@ 0084ff48 libucrtd:lcidtoname_downlevel.obj + 0003:00053f58 ??_C@_1M@FGMDIJED@?$AAe?$AAs?$AA?9?$AAp?$AAy?$AA?$AA@ 0084ff58 libucrtd:lcidtoname_downlevel.obj + 0003:00053f68 ??_C@_1M@IIDEOLLL@?$AAe?$AAs?$AA?9?$AAs?$AAv?$AA?$AA@ 0084ff68 libucrtd:lcidtoname_downlevel.obj + 0003:00053f78 ??_C@_1M@GAOBIPA@?$AAe?$AAs?$AA?9?$AAu?$AAy?$AA?$AA@ 0084ff78 libucrtd:lcidtoname_downlevel.obj + 0003:00053f88 ??_C@_1M@JKFFICHJ@?$AAe?$AAs?$AA?9?$AAv?$AAe?$AA?$AA@ 0084ff88 libucrtd:lcidtoname_downlevel.obj + 0003:00053f98 ??_C@_1M@PNMLOJDF@?$AAe?$AAt?$AA?9?$AAe?$AAe?$AA?$AA@ 0084ff98 libucrtd:lcidtoname_downlevel.obj + 0003:00053fa8 ??_C@_1M@GHHLIKEI@?$AAe?$AAu?$AA?9?$AAe?$AAs?$AA?$AA@ 0084ffa8 libucrtd:lcidtoname_downlevel.obj + 0003:00053fb8 ??_C@_1M@PBNONODE@?$AAf?$AAa?$AA?9?$AAi?$AAr?$AA?$AA@ 0084ffb8 libucrtd:lcidtoname_downlevel.obj + 0003:00053fc8 ??_C@_1M@JEEHPMIL@?$AAf?$AAi?$AA?9?$AAf?$AAi?$AA?$AA@ 0084ffc8 libucrtd:lcidtoname_downlevel.obj + 0003:00053fd8 ??_C@_1M@LMDCNDBA@?$AAf?$AAo?$AA?9?$AAf?$AAo?$AA?$AA@ 0084ffd8 libucrtd:lcidtoname_downlevel.obj + 0003:00053fe8 ??_C@_1M@JKEOHLDK@?$AAf?$AAr?$AA?9?$AAb?$AAe?$AA?$AA@ 0084ffe8 libucrtd:lcidtoname_downlevel.obj + 0003:00053ff8 ??_C@_1M@NOHADPMI@?$AAf?$AAr?$AA?9?$AAc?$AAa?$AA?$AA@ 0084fff8 libucrtd:lcidtoname_downlevel.obj + 0003:00054008 ??_C@_1M@KDHIHAEC@?$AAf?$AAr?$AA?9?$AAc?$AAh?$AA?$AA@ 00850008 libucrtd:lcidtoname_downlevel.obj + 0003:00054018 ??_C@_1M@MMBBFGAK@?$AAf?$AAr?$AA?9?$AAf?$AAr?$AA?$AA@ 00850018 libucrtd:lcidtoname_downlevel.obj + 0003:00054028 ??_C@_1M@PAFNENNF@?$AAf?$AAr?$AA?9?$AAl?$AAu?$AA?$AA@ 00850028 libucrtd:lcidtoname_downlevel.obj + 0003:00054038 ??_C@_1M@EOHDJGDD@?$AAf?$AAr?$AA?9?$AAm?$AAc?$AA?$AA@ 00850038 libucrtd:lcidtoname_downlevel.obj + 0003:00054048 ??_C@_1M@FAPLLOPF@?$AAg?$AAl?$AA?9?$AAe?$AAs?$AA?$AA@ 00850048 libucrtd:lcidtoname_downlevel.obj + 0003:00054058 ??_C@_1M@FOPBFLOO@?$AAg?$AAu?$AA?9?$AAi?$AAn?$AA?$AA@ 00850058 libucrtd:lcidtoname_downlevel.obj + 0003:00054068 ??_C@_1M@KBMCINPM@?$AAh?$AAe?$AA?9?$AAi?$AAl?$AA?$AA@ 00850068 libucrtd:lcidtoname_downlevel.obj + 0003:00054078 ??_C@_1M@BBPHKFPJ@?$AAh?$AAi?$AA?9?$AAi?$AAn?$AA?$AA@ 00850078 libucrtd:lcidtoname_downlevel.obj + 0003:00054088 ??_C@_1M@PMBNDPHD@?$AAh?$AAr?$AA?9?$AAb?$AAa?$AA?$AA@ 00850088 libucrtd:lcidtoname_downlevel.obj + 0003:00054098 ??_C@_1M@BPCKOEGE@?$AAh?$AAr?$AA?9?$AAh?$AAr?$AA?$AA@ 00850098 libucrtd:lcidtoname_downlevel.obj + 0003:000540a8 ??_C@_1M@GACBMHKE@?$AAh?$AAu?$AA?9?$AAh?$AAu?$AA?$AA@ 008500a8 libucrtd:lcidtoname_downlevel.obj + 0003:000540b8 ??_C@_1M@MILPAJJC@?$AAh?$AAy?$AA?9?$AAa?$AAm?$AA?$AA@ 008500b8 libucrtd:lcidtoname_downlevel.obj + 0003:000540c8 ??_C@_1M@BABBICEC@?$AAi?$AAd?$AA?9?$AAi?$AAd?$AA?$AA@ 008500c8 libucrtd:lcidtoname_downlevel.obj + 0003:000540d8 ??_C@_1M@BIKNHHPF@?$AAi?$AAs?$AA?9?$AAi?$AAs?$AA?$AA@ 008500d8 libucrtd:lcidtoname_downlevel.obj + 0003:000540e8 ??_C@_1M@NMPCJPHE@?$AAi?$AAt?$AA?9?$AAc?$AAh?$AA?$AA@ 008500e8 libucrtd:lcidtoname_downlevel.obj + 0003:000540f8 ??_C@_1M@GHKGFEDF@?$AAi?$AAt?$AA?9?$AAi?$AAt?$AA?$AA@ 008500f8 libucrtd:lcidtoname_downlevel.obj + 0003:00054108 ??_C@_1M@NIEJCJJA@?$AAj?$AAa?$AA?9?$AAj?$AAp?$AA?$AA@ 00850108 libucrtd:lcidtoname_downlevel.obj + 0003:00054118 ??_C@_1M@JILFNBIM@?$AAk?$AAa?$AA?9?$AAg?$AAe?$AA?$AA@ 00850118 libucrtd:lcidtoname_downlevel.obj + 0003:00054128 ??_C@_1M@PACPMGPH@?$AAk?$AAk?$AA?9?$AAk?$AAz?$AA?$AA@ 00850128 libucrtd:lcidtoname_downlevel.obj + 0003:00054138 ??_C@_1M@IELFGMHA@?$AAk?$AAn?$AA?9?$AAi?$AAn?$AA?$AA@ 00850138 libucrtd:lcidtoname_downlevel.obj + 0003:00054148 ??_C@_1O@IBBJHCH@?$AAk?$AAo?$AAk?$AA?9?$AAi?$AAn?$AA?$AA@ 00850148 libucrtd:lcidtoname_downlevel.obj + 0003:00054158 ??_C@_1M@DMHAEOGC@?$AAk?$AAo?$AA?9?$AAk?$AAr?$AA?$AA@ 00850158 libucrtd:lcidtoname_downlevel.obj + 0003:00054168 ??_C@_1M@HBAHBIGA@?$AAk?$AAy?$AA?9?$AAk?$AAg?$AA?$AA@ 00850168 libucrtd:lcidtoname_downlevel.obj + 0003:00054178 ??_C@_1M@KPMILCJG@?$AAl?$AAt?$AA?9?$AAl?$AAt?$AA?$AA@ 00850178 libucrtd:lcidtoname_downlevel.obj + 0003:00054188 ??_C@_1M@BDEKKCA@?$AAl?$AAv?$AA?9?$AAl?$AAv?$AA?$AA@ 00850188 libucrtd:lcidtoname_downlevel.obj + 0003:00054198 ??_C@_1M@ELCKCCJJ@?$AAm?$AAi?$AA?9?$AAn?$AAz?$AA?$AA@ 00850198 libucrtd:lcidtoname_downlevel.obj + 0003:000541a8 ??_C@_1M@CBOOLAPA@?$AAm?$AAk?$AA?9?$AAm?$AAk?$AA?$AA@ 008501a8 libucrtd:lcidtoname_downlevel.obj + 0003:000541b8 ??_C@_1M@GPHNBJKN@?$AAm?$AAl?$AA?9?$AAi?$AAn?$AA?$AA@ 008501b8 libucrtd:lcidtoname_downlevel.obj + 0003:000541c8 ??_C@_1M@PABJILIG@?$AAm?$AAn?$AA?9?$AAm?$AAn?$AA?$AA@ 008501c8 libucrtd:lcidtoname_downlevel.obj + 0003:000541d8 ??_C@_1M@FGBKKIPG@?$AAm?$AAr?$AA?9?$AAi?$AAn?$AA?$AA@ 008501d8 libucrtd:lcidtoname_downlevel.obj + 0003:000541e8 ??_C@_1M@NDBPDDAL@?$AAm?$AAs?$AA?9?$AAb?$AAn?$AA?$AA@ 008501e8 libucrtd:lcidtoname_downlevel.obj + 0003:000541f8 ??_C@_1M@OPIHOOPI@?$AAm?$AAs?$AA?9?$AAm?$AAy?$AA?$AA@ 008501f8 libucrtd:lcidtoname_downlevel.obj + 0003:00054208 ??_C@_1M@PPDBCNFM@?$AAm?$AAt?$AA?9?$AAm?$AAt?$AA?$AA@ 00850208 libucrtd:lcidtoname_downlevel.obj + 0003:00054218 ??_C@_1M@KDJDKMDD@?$AAn?$AAb?$AA?9?$AAn?$AAo?$AA?$AA@ 00850218 libucrtd:lcidtoname_downlevel.obj + 0003:00054228 ??_C@_1M@KFCFLMJP@?$AAn?$AAl?$AA?9?$AAb?$AAe?$AA?$AA@ 00850228 libucrtd:lcidtoname_downlevel.obj + 0003:00054238 ??_C@_1M@KPOPDDGO@?$AAn?$AAl?$AA?9?$AAn?$AAl?$AA?$AA@ 00850238 libucrtd:lcidtoname_downlevel.obj + 0003:00054248 ??_C@_1M@LJKPEMLN@?$AAn?$AAn?$AA?9?$AAn?$AAo?$AA?$AA@ 00850248 libucrtd:lcidtoname_downlevel.obj + 0003:00054258 ??_C@_1M@BDGHHBFL@?$AAn?$AAs?$AA?9?$AAz?$AAa?$AA?$AA@ 00850258 libucrtd:lcidtoname_downlevel.obj + 0003:00054268 ??_C@_1M@IDEHOAP@?$AAp?$AAa?$AA?9?$AAi?$AAn?$AA?$AA@ 00850268 libucrtd:lcidtoname_downlevel.obj + 0003:00054278 ??_C@_1M@HDBKGOGH@?$AAp?$AAl?$AA?9?$AAp?$AAl?$AA?$AA@ 00850278 libucrtd:lcidtoname_downlevel.obj + 0003:00054288 ??_C@_1M@LJLLCMEH@?$AAp?$AAt?$AA?9?$AAb?$AAr?$AA?$AA@ 00850288 libucrtd:lcidtoname_downlevel.obj + 0003:00054298 ??_C@_1M@NCMONAAL@?$AAp?$AAt?$AA?9?$AAp?$AAt?$AA?$AA@ 00850298 libucrtd:lcidtoname_downlevel.obj + 0003:000542a8 ??_C@_1O@EAKMAJDN@?$AAq?$AAu?$AAz?$AA?9?$AAb?$AAo?$AA?$AA@ 008502a8 libucrtd:lcidtoname_downlevel.obj + 0003:000542b8 ??_C@_1O@BHHPIGDN@?$AAq?$AAu?$AAz?$AA?9?$AAe?$AAc?$AA?$AA@ 008502b8 libucrtd:lcidtoname_downlevel.obj + 0003:000542c8 ??_C@_1O@GBAPEKMJ@?$AAq?$AAu?$AAz?$AA?9?$AAp?$AAe?$AA?$AA@ 008502c8 libucrtd:lcidtoname_downlevel.obj + 0003:000542d8 ??_C@_1M@CLGLEFBO@?$AAr?$AAo?$AA?9?$AAr?$AAo?$AA?$AA@ 008502d8 libucrtd:lcidtoname_downlevel.obj + 0003:000542e8 ??_C@_1M@CEEDODME@?$AAr?$AAu?$AA?9?$AAr?$AAu?$AA?$AA@ 008502e8 libucrtd:lcidtoname_downlevel.obj + 0003:000542f8 ??_C@_1M@HPKKKMPP@?$AAs?$AAa?$AA?9?$AAi?$AAn?$AA?$AA@ 008502f8 libucrtd:lcidtoname_downlevel.obj + 0003:00054308 ??_C@_1M@BKMAIGOJ@?$AAs?$AAe?$AA?9?$AAf?$AAi?$AA?$AA@ 00850308 libucrtd:lcidtoname_downlevel.obj + 0003:00054318 ??_C@_1M@NDPIFLFI@?$AAs?$AAe?$AA?9?$AAn?$AAo?$AA?$AA@ 00850318 libucrtd:lcidtoname_downlevel.obj + 0003:00054328 ??_C@_1M@DANKKHJ@?$AAs?$AAe?$AA?9?$AAs?$AAe?$AA?$AA@ 00850328 libucrtd:lcidtoname_downlevel.obj + 0003:00054338 ??_C@_1M@PNBLONPJ@?$AAs?$AAk?$AA?9?$AAs?$AAk?$AA?$AA@ 00850338 libucrtd:lcidtoname_downlevel.obj + 0003:00054348 ??_C@_1M@LFMODOAL@?$AAs?$AAl?$AA?9?$AAs?$AAi?$AA?$AA@ 00850348 libucrtd:lcidtoname_downlevel.obj + 0003:00054358 ??_C@_1O@DFKOMPG@?$AAs?$AAm?$AAa?$AA?9?$AAn?$AAo?$AA?$AA@ 00850358 libucrtd:lcidtoname_downlevel.obj + 0003:00054368 ??_C@_1O@NDKPBNNH@?$AAs?$AAm?$AAa?$AA?9?$AAs?$AAe?$AA?$AA@ 00850368 libucrtd:lcidtoname_downlevel.obj + 0003:00054378 ??_C@_1O@PLLKBHAB@?$AAs?$AAm?$AAj?$AA?9?$AAn?$AAo?$AA?$AA@ 00850378 libucrtd:lcidtoname_downlevel.obj + 0003:00054388 ??_C@_1O@CLEPOGCA@?$AAs?$AAm?$AAj?$AA?9?$AAs?$AAe?$AA?$AA@ 00850388 libucrtd:lcidtoname_downlevel.obj + 0003:00054398 ??_C@_1O@DLGJGKMK@?$AAs?$AAm?$AAn?$AA?9?$AAf?$AAi?$AA?$AA@ 00850398 libucrtd:lcidtoname_downlevel.obj + 0003:000543a8 ??_C@_1O@OJDJGAJC@?$AAs?$AAm?$AAs?$AA?9?$AAf?$AAi?$AA?$AA@ 008503a8 libucrtd:lcidtoname_downlevel.obj + 0003:000543b8 ??_C@_1M@BOFOGHPB@?$AAs?$AAq?$AA?9?$AAa?$AAl?$AA?$AA@ 008503b8 libucrtd:lcidtoname_downlevel.obj + 0003:000543c8 ??_C@_1BG@LJBBIPGB@?$AAs?$AAr?$AA?9?$AAb?$AAa?$AA?9?$AAc?$AAy?$AAr?$AAl?$AA?$AA@ 008503c8 libucrtd:lcidtoname_downlevel.obj + 0003:000543e4 ??_C@_1BG@JLBENFOE@?$AAs?$AAr?$AA?9?$AAb?$AAa?$AA?9?$AAl?$AAa?$AAt?$AAn?$AA?$AA@ 008503e4 libucrtd:lcidtoname_downlevel.obj + 0003:00054400 ??_C@_1BG@KODPNHE@?$AAs?$AAr?$AA?9?$AAs?$AAp?$AA?9?$AAc?$AAy?$AAr?$AAl?$AA?$AA@ 00850400 libucrtd:lcidtoname_downlevel.obj + 0003:0005441c ??_C@_1BG@CIOGKHPB@?$AAs?$AAr?$AA?9?$AAs?$AAp?$AA?9?$AAl?$AAa?$AAt?$AAn?$AA?$AA@ 0085041c libucrtd:lcidtoname_downlevel.obj + 0003:00054438 ??_C@_1M@NGFJLMAC@?$AAs?$AAv?$AA?9?$AAf?$AAi?$AA?$AA@ 00850438 libucrtd:lcidtoname_downlevel.obj + 0003:00054448 ??_C@_1M@MPJEJAJC@?$AAs?$AAv?$AA?9?$AAs?$AAe?$AA?$AA@ 00850448 libucrtd:lcidtoname_downlevel.obj + 0003:00054458 ??_C@_1M@MPNDHLFK@?$AAs?$AAw?$AA?9?$AAk?$AAe?$AA?$AA@ 00850458 libucrtd:lcidtoname_downlevel.obj + 0003:00054468 ??_C@_1O@KOHBJJI@?$AAs?$AAy?$AAr?$AA?9?$AAs?$AAy?$AA?$AA@ 00850468 libucrtd:lcidtoname_downlevel.obj + 0003:00054478 ??_C@_1M@LDCEFHA@?$AAt?$AAa?$AA?9?$AAi?$AAn?$AA?$AA@ 00850478 libucrtd:lcidtoname_downlevel.obj + 0003:00054488 ??_C@_1M@CNJOFAK@?$AAt?$AAe?$AA?9?$AAi?$AAn?$AA?$AA@ 00850488 libucrtd:lcidtoname_downlevel.obj + 0003:00054498 ??_C@_1M@GNAECACD@?$AAt?$AAh?$AA?9?$AAt?$AAh?$AA?$AA@ 00850498 libucrtd:lcidtoname_downlevel.obj + 0003:000544a8 ??_C@_1M@CHBIHOJO@?$AAt?$AAn?$AA?9?$AAz?$AAa?$AA?$AA@ 008504a8 libucrtd:lcidtoname_downlevel.obj + 0003:000544b8 ??_C@_1M@GCCMIGPJ@?$AAt?$AAr?$AA?9?$AAt?$AAr?$AA?$AA@ 008504b8 libucrtd:lcidtoname_downlevel.obj + 0003:000544c8 ??_C@_1M@CELMCNBK@?$AAt?$AAt?$AA?9?$AAr?$AAu?$AA?$AA@ 008504c8 libucrtd:lcidtoname_downlevel.obj + 0003:000544d8 ??_C@_1M@KLMCELGA@?$AAu?$AAk?$AA?9?$AAu?$AAa?$AA?$AA@ 008504d8 libucrtd:lcidtoname_downlevel.obj + 0003:000544e8 ??_C@_1M@EPAJJAJF@?$AAu?$AAr?$AA?9?$AAp?$AAk?$AA?$AA@ 008504e8 libucrtd:lcidtoname_downlevel.obj + 0003:000544f8 ??_C@_1BG@GEGPMCDJ@?$AAu?$AAz?$AA?9?$AAu?$AAz?$AA?9?$AAc?$AAy?$AAr?$AAl?$AA?$AA@ 008504f8 libucrtd:lcidtoname_downlevel.obj + 0003:00054514 ??_C@_1BG@EGGKJILM@?$AAu?$AAz?$AA?9?$AAu?$AAz?$AA?9?$AAl?$AAa?$AAt?$AAn?$AA?$AA@ 00850514 libucrtd:lcidtoname_downlevel.obj + 0003:00054530 ??_C@_1M@GFOCLFF@?$AAv?$AAi?$AA?9?$AAv?$AAn?$AA?$AA@ 00850530 libucrtd:lcidtoname_downlevel.obj + 0003:00054540 ??_C@_1M@CPAMEDFI@?$AAx?$AAh?$AA?9?$AAz?$AAa?$AA?$AA@ 00850540 libucrtd:lcidtoname_downlevel.obj + 0003:00054550 ??_C@_1O@EBKIFIGN@?$AAz?$AAh?$AA?9?$AAc?$AAh?$AAs?$AA?$AA@ 00850550 libucrtd:lcidtoname_downlevel.obj + 0003:00054560 ??_C@_1O@NMHPGANE@?$AAz?$AAh?$AA?9?$AAc?$AAh?$AAt?$AA?$AA@ 00850560 libucrtd:lcidtoname_downlevel.obj + 0003:00054570 ??_C@_1M@LPINJOMC@?$AAz?$AAh?$AA?9?$AAc?$AAn?$AA?$AA@ 00850570 libucrtd:lcidtoname_downlevel.obj + 0003:00054580 ??_C@_1M@OCJEJODD@?$AAz?$AAh?$AA?9?$AAh?$AAk?$AA?$AA@ 00850580 libucrtd:lcidtoname_downlevel.obj + 0003:00054590 ??_C@_1M@DNDLJINH@?$AAz?$AAh?$AA?9?$AAm?$AAo?$AA?$AA@ 00850590 libucrtd:lcidtoname_downlevel.obj + 0003:000545a0 ??_C@_1M@MBFDNDND@?$AAz?$AAh?$AA?9?$AAs?$AAg?$AA?$AA@ 008505a0 libucrtd:lcidtoname_downlevel.obj + 0003:000545b0 ??_C@_1M@IMEPLEPE@?$AAz?$AAh?$AA?9?$AAt?$AAw?$AA?$AA@ 008505b0 libucrtd:lcidtoname_downlevel.obj + 0003:000545c0 ??_C@_1M@BBGHNHJP@?$AAz?$AAu?$AA?9?$AAz?$AAa?$AA?$AA@ 008505c0 libucrtd:lcidtoname_downlevel.obj + 0003:000545d0 ??_C@_1HO@KHHMOCBO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 008505d0 libucrtd:lcidtoname_downlevel.obj + 0003:00054668 ??_C@_1EC@MDFDCHIL@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAD?$AAo?$AAw?$AAn?$AAl?$AAe?$AAv?$AAe?$AAl?$AAL?$AAC?$AAI?$AAD?$AAT?$AAo?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe@ 00850668 libucrtd:lcidtoname_downlevel.obj + 0003:000546b8 ??_C@_1FO@LFACCMJH@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AAL?$AAo?$AAc?$AAa?$AAl@ 008506b8 libucrtd:lcidtoname_downlevel.obj + 0003:00054728 ??_C@_1CC@HOFKGKIJ@?$AAp?$AAm?$AAb?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00850728 libucrtd:mbrtowc.obj + 0003:00054750 ??_C@_1GG@MCCIENJO@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00850750 libucrtd:mbrtowc.obj + 0003:000547d0 ??_C@_1GC@GKDIDINO@?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAm?$AAb?$AA_?$AAc?$AAu?$AAr?$AA_?$AAm?$AAa?$AAx?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe@ 008507d0 libucrtd:mbrtowc.obj + 0003:00054845 ??_C@_00CNPNBAHC@?$AA@ 00850845 libucrtd:mbrtowc.obj + 0003:00054848 ??_C@_1BM@DAAPEENN@?$AAp?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00850848 libucrtd:mbrtowc.obj + 0003:0005486c ??_C@_1CE@GMDJEGCL@?$AA_?$AAm?$AAb?$AAs?$AAr?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 0085086c libucrtd:mbrtowc.obj + 0003:00054898 ??_C@_1JI@OGEJMCOI@?$AA?$CI?$AAd?$AAs?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DN@ 00850898 libucrtd:mbrtowc.obj + 0003:00054950 ??_C@_1BI@GDNNFHAB@?$AAm?$AAb?$AAs?$AAr?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$AA@ 00850950 libucrtd:mbrtowc.obj + 0003:0005496c ??_C@_1CO@EPBLOHBA@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 0085096c libucrtd:mbrtowc.obj + 0003:000549a8 ??_C@_1EK@MCEFBPIK@?$AAr?$AAe?$AAt?$AAv?$AAa?$AAl?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AA_?$AAc?$AAr?$AAt?$AA_?$AAm?$AAb?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?3?$AA?3?$AAI?$AAN?$AAC?$AAO?$AAM?$AAP@ 008509a8 libucrtd:mbrtowc.obj + 0003:00054a00 ??_C@_1EK@OANGPA@?$AA1?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAt?$AAr?$AAa?$AAi?$AAl?$AA_?$AAb?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAt?$AAr?$AAa?$AAi?$AAl?$AA_?$AAb?$AAy?$AAt?$AAe?$AAs?$AA?5@ 00850a00 libucrtd:c32rtomb.obj + 0003:00054a58 ??_C@_1GI@FBFKMNDD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00850a58 libucrtd:c32rtomb.obj + 0003:00054ad8 ??_C@_1EA@DDDCIHI@?$AAc?$AA3?$AA2?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AA1?$AAu?$AA?5?$AA?$DM?$AA?$DM?$AA?5?$AA?$CI?$AA7?$AA?5?$AA?9?$AA?5?$AAt?$AAr?$AAa?$AAi?$AAl?$AA_?$AAb?$AAy?$AAt?$AAe?$AAs?$AA?$CJ?$AA?$CJ?$AA?$AA@ 00850ad8 libucrtd:c32rtomb.obj + 0003:00054b28 ??_C@_1GI@IMEEHIAK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00850b28 libucrtd:_fptostr.obj + 0003:00054ba4 ??_C@_1DG@NMGBKPMI@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAf?$AAp?$AA_?$AAs?$AAt?$AAr?$AAf?$AAl?$AAt?$AA_?$AAt?$AAo?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@ 00850ba4 libucrtd:_fptostr.obj + 0003:00054be8 ??_C@_1IE@EAOKIIFP@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAi?$AAc?$AA_?$AAc?$AAa?$AAs?$AAt?$AA?$DM?$AAs?$AAi?$AAz?$AAe?$AA_@ 00850be8 libucrtd:_fptostr.obj + 0003:00054c88 ??_C@_1CA@EDEEBMBB@?$AAp?$AAf?$AAl?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00850c88 libucrtd:_fptostr.obj + 0003:00054cb0 ??_C@_1GC@DDAKNBNC@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00850cb0 libucrtd:cfout.obj + 0003:00054d28 ??_C@_1BM@FAAOAKKO@?$AA_?$AA_?$AAa?$AAc?$AAr?$AAt?$AA_?$AAf?$AAl?$AAt?$AAo?$AAu?$AAt?$AA?$AA@ 00850d28 libucrtd:cfout.obj + 0003:00054d50 ??_C@_1EI@OACEJKEP@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AA?$CC@ 00850d50 libucrtd:cfout.obj + 0003:00054da8 ??_C@_01GBGANLPD@0?$AA@ 00850da8 libucrtd:cfout.obj + 0003:00054db0 ??_C@_1FC@KIECGFMP@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AA?$CC@ 00850db0 libucrtd:cfout.obj + 0003:00054e14 ??_C@_05DNEBIAHO@1?$CDINF?$AA@ 00850e14 libucrtd:cfout.obj + 0003:00054e20 ??_C@_1FC@NFPJEIBD@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AA?$CC@ 00850e20 libucrtd:cfout.obj + 0003:00054e84 ??_C@_06IMKFLFPG@1?$CDQNAN?$AA@ 00850e84 libucrtd:cfout.obj + 0003:00054e90 ??_C@_1FC@DEJHIMLO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AA?$CC@ 00850e90 libucrtd:cfout.obj + 0003:00054ef4 ??_C@_06PGGFOGJG@1?$CDSNAN?$AA@ 00850ef4 libucrtd:cfout.obj + 0003:00054f00 ??_C@_1FC@KMLHLFPC@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?0?$AA?5?$AA?$CC@ 00850f00 libucrtd:cfout.obj + 0003:00054f64 ??_C@_05PHHOCPM@1?$CDIND?$AA@ 00850f64 libucrtd:cfout.obj + 0003:00054f6c ??_C@_1DE@KHKADFOO@?$AAm?$AAa?$AAn?$AAt?$AAi?$AAs?$AAs?$AAa?$AA_?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 00850f6c libucrtd:cfout.obj + 0003:00054fb0 ??_C@_1FI@LFKLOPAC@?$AA?$CI?$AA?$CC?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAi?$AAn?$AAp?$AAu?$AAt?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?$DL?$AA?5?$AAl?$AAo?$AAg?$AA1?$AA0?$AA?5@ 00850fb0 libucrtd:cfout.obj + 0003:00055020 ??_C@_1FG@MLHBDPBG@?$AAq?$AAu?$AAo?$AAt?$AAi?$AAe?$AAn?$AAt?$AA?5?$AA?$DM?$AA?5?$AAd?$AAi?$AAg?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA_@ 00851020 libucrtd:cfout.obj + 0003:00055088 ??_C@_1GA@DEPMKPD@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00851088 libucrtd:isatty.obj + 0003:000550fc ??_C@_1BA@LEBDGIHM@?$AA_?$AAi?$AAs?$AAa?$AAt?$AAt?$AAy?$AA?$AA@ 008510fc libucrtd:isatty.obj + 0003:00055110 __infinity 00851110 libucrtd:87tran.obj + 0003:0005511a __minfinity 0085111a libucrtd:87tran.obj + 0003:00055124 __logemax 00851124 libucrtd:87tran.obj + 0003:0005514a __OP_EXPjmptab 0085114a libucrtd:87tran.obj + 0003:00055180 __indefinite 00851180 libucrtd:87disp.obj + 0003:0005518a __piby2 0085118a libucrtd:87disp.obj + 0003:00055194 __piby4 00851194 libucrtd:87disp.obj + 0003:000551d0 __real@4000000000000000 008511d0 libucrtd:powhlp.obj + 0003:00055270 ___acrt_pow_rcp_t1 00851270 libucrtd:pow_tables.obj + 0003:00055750 ___acrt_pow_log2_t1 00851750 libucrtd:pow_tables.obj + 0003:00056100 ___acrt_pow_rcp_t2 00852100 libucrtd:pow_tables.obj + 0003:000565e0 ___acrt_pow_log2_t2 008525e0 libucrtd:pow_tables.obj + 0003:00056f90 ___acrt_pow_rcp_t3 00852f90 libucrtd:pow_tables.obj + 0003:00057940 ___acrt_pow_log2_t3 00853940 libucrtd:pow_tables.obj + 0003:00058c90 ___acrt_pow_clv 00854c90 libucrtd:pow_tables.obj + 0003:00058cc0 ___acrt_pow_exp2_tbl 00854cc0 libucrtd:pow_tables.obj + 0003:0005965c ??_C@_1CI@CCKDLILB@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA1?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0085565c libucrtd:wcsnicol.obj + 0003:00059690 ??_C@_1GG@MDOKJCAE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00855690 libucrtd:wcsnicol.obj + 0003:0005970c ??_C@_1BK@EONLMOKH@?$AA_?$AAw?$AAc?$AAs?$AAn?$AAi?$AAc?$AAo?$AAl?$AAl?$AA_?$AAl?$AA?$AA@ 0085570c libucrtd:wcsnicol.obj + 0003:0005972c ??_C@_1CI@NAPEFFEJ@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA2?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0085572c libucrtd:wcsnicol.obj + 0003:0005975c ??_C@_1CC@JLPHKJPH@?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 0085575c libucrtd:wcsnicol.obj + 0003:00059784 ??_C@_1BG@PCPANGGF@?$AA_?$AAw?$AAc?$AAs?$AAn?$AAi?$AAc?$AAo?$AAl?$AAl?$AA?$AA@ 00855784 libucrtd:wcsnicol.obj + 0003:000597a0 ??_C@_1GG@LACFCIFA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 008557a0 libucrtd:strnicol.obj + 0003:0005981c ??_C@_1BK@IOJEBPLP@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAo?$AAl?$AAl?$AA_?$AAl?$AA?$AA@ 0085581c libucrtd:strnicol.obj + 0003:0005983c ??_C@_0DE@LBCMFCMJ@minkernel?2crts?2ucrt?2src?2desktopc@ 0085583c libucrtd:cenvarg.obj + 0003:00059880 ??_C@_1GI@IFGHDJAI@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAd?$AAe?$AAs?$AAk?$AAt?$AAo?$AAp?$AAc@ 00855880 libucrtd:cenvarg.obj + 0003:000598fc ??_C@_1CI@LDGAJMAO@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAc?$AAa?$AAp?$AAt?$AAu?$AAr?$AAe?$AA_?$AAa?$AAr?$AAg?$AAv?$AA?$AA@ 008558fc libucrtd:cenvarg.obj + 0003:00059930 ??_C@_1JM@GGJNDEJB@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AA_?$AAa?$AAr?$AAr?$AAa?$AAy?$AA?4?$AAg?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?0?$AA?5?$AAa?$AAr?$AAg?$AAv@ 00855930 libucrtd:cenvarg.obj + 0003:000599ec ??_C@_1CO@OPKAENKK@?$AAc?$AAo?$AAn?$AAs?$AAt?$AAr?$AAu?$AAc?$AAt?$AA_?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd?$AA_?$AAl?$AAi?$AAn?$AAe?$AA?$AA@ 008559ec libucrtd:cenvarg.obj + 0003:00059a28 ??_C@_1LO@KDGLCMID@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAc?$AAo?$AAm?$AAm@ 00855a28 libucrtd:cenvarg.obj + 0003:00059b10 ??_C@_1DI@JNKPCIE@?$AAc?$AAo?$AAn?$AAs?$AAt?$AAr?$AAu?$AAc?$AAt?$AA_?$AAe?$AAn?$AAv?$AAi?$AAr?$AAo?$AAn?$AAm?$AAe?$AAn?$AAt?$AA_?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 00855b10 libucrtd:cenvarg.obj + 0003:00059b58 ??_C@_1KK@KLLDKJJA@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAd?$AAu?$AAp?$AAe?$AAn?$AAv?$AA_?$AAs?$AA_?$AAc?$AAr?$AAt?$AA?$CI?$AAs?$AAy?$AAs?$AAt?$AAe?$AAm?$AA_?$AAr?$AAo?$AAo@ 00855b58 libucrtd:cenvarg.obj + 0003:00059c28 ??_C@_1GO@NNFBBPOH@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAr?$AAe?$AAm?$AAa@ 00855c28 libucrtd:cenvarg.obj + 0003:00059cb0 ??_C@_1IC@HGJOAFLN@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAs?$AAy?$AAs?$AAt@ 00855cb0 libucrtd:cenvarg.obj + 0003:00059d50 ??_C@_1HG@GAHCBHKK@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAs?$AAy?$AAs?$AAt@ 00855d50 libucrtd:cenvarg.obj + 0003:00059de0 ??_C@_1JA@HNNIMJMK@?$AAt?$AAr?$AAa?$AAi?$AAt?$AAs?$AA?3?$AA?3?$AAt?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAr?$AAe?$AAs?$AAu?$AAl?$AAt?$AA_?$AAi?$AAt?$AA?0?$AA?5?$AAs?$AAy?$AAs?$AAt@ 00855de0 libucrtd:cenvarg.obj + 0003:00059e90 ___acrt_acos_asin_tbl_addr 00855e90 libucrtd:acos_asin_tbl_addr.obj + 0003:0005b090 ___acrt_acos_asin_t_table 00857090 libucrtd:acos_asin_t_table.obj + 0003:0005ba30 ___acrt_cos_sin_ctable 00857a30 libucrtd:cos_sin_ctable.obj + 0003:0005c3cc __days 008583cc libucrtd:days.obj + 0003:0005c40c __lpdays 0085840c libucrtd:days.obj + 0003:0005c44c ??_C@_1CC@IBIHLDLG@?$AAf?$AAi?$AAr?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0085844c libucrtd:wcsnicmp.obj + 0003:0005c478 ??_C@_1GG@CLJGPGNE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00858478 libucrtd:wcsnicmp.obj + 0003:0005c4f4 ??_C@_1BI@KLMFNDBC@?$AA_?$AAw?$AAc?$AAs?$AAn?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 008584f4 libucrtd:wcsnicmp.obj + 0003:0005c510 ??_C@_1CA@GLFIDPNF@?$AAl?$AAa?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00858510 libucrtd:wcsnicmp.obj + 0003:0005c538 ??_C@_1BE@JKOKKFEL@?$AA_?$AAw?$AAc?$AAs?$AAn?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 00858538 libucrtd:wcsnicmp.obj + 0003:0005c550 ??_C@_1GG@FIFJEMIA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 00858550 libucrtd:strnicmp.obj + 0003:0005c5cc ??_C@_1BI@BJLEPLEF@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 008585cc libucrtd:strnicmp.obj + 0003:0005c5e8 ??_C@_1BE@BHJDFFNA@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 008585e8 libucrtd:strnicmp.obj + 0003:0005c600 ??_C@_1DC@MDAAFACM@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 00858600 libucrtd:open.obj + 0003:0005c640 ??_C@_1FM@EFELGMIP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00858640 libucrtd:open.obj + 0003:0005c6b0 ??_C@_1CI@CBNKIJOA@?$AAd?$AAe?$AAc?$AAo?$AAd?$AAe?$AA_?$AAa?$AAc?$AAc?$AAe?$AAs?$AAs?$AA_?$AAf?$AAl?$AAa?$AAg?$AAs?$AA?$AA@ 008586b0 libucrtd:open.obj + 0003:0005c6e0 ??_C@_1DC@MNGJFJEL@?$AAd?$AAe?$AAc?$AAo?$AAd?$AAe?$AA_?$AAo?$AAp?$AAe?$AAn?$AA_?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA_?$AAf?$AAl?$AAa?$AAg?$AAs?$AA?$AA@ 008586e0 libucrtd:open.obj + 0003:0005c71c ??_C@_1DI@OAOBKLOM@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAh?$AAa?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 0085871c libucrtd:open.obj + 0003:0005c760 ??_C@_1CK@LFHOGGAL@?$AAd?$AAe?$AAc?$AAo?$AAd?$AAe?$AA_?$AAs?$AAh?$AAa?$AAr?$AAi?$AAn?$AAg?$AA_?$AAf?$AAl?$AAa?$AAg?$AAs?$AA?$AA@ 00858760 libucrtd:open.obj + 0003:0005c794 ??_C@_1BK@MIHMAFGB@?$AAi?$AAs?$AA_?$AAt?$AAe?$AAx?$AAt?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 00858794 libucrtd:open.obj + 0003:0005c7b4 ??_C@_1CG@ICBEBDJJ@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CI?$AA?$CG?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@ 008587b4 libucrtd:open.obj + 0003:0005c7e4 ??_C@_1CI@FIBMFMKJ@?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAu?$AAr?$AAe?$AA_?$AAt?$AAe?$AAx?$AAt?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 008587e4 libucrtd:open.obj + 0003:0005c814 ??_C@_1DM@GAGCJPHI@?$AA?$CI?$AAo?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AAt?$AAe?$AAx?$AAt?$AA_?$AAm?$AAo?$AAd?$AAe?$AA_?$AAm?$AAa?$AAs?$AAk?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 00858814 libucrtd:open.obj + 0003:0005c85c ??_C@_1CM@IDLMKMPG@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAI?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?$AA@ 0085885c libucrtd:open.obj + 0003:0005c890 ??_C@_1IA@IENOJNJF@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAO?$AAn?$AAl?$AAy?$AA?5?$AAU?$AAT?$AAF?$AA?9?$AA1?$AA6?$AA?5?$AAl?$AAi?$AAt?$AAt?$AAl?$AAe?$AA?5?$AAe?$AAn?$AAd?$AAi?$AAa?$AAn?$AA?5@ 00858890 libucrtd:open.obj + 0003:0005c92c ??_C@_1BI@HOCKOFKK@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 0085892c libucrtd:open.obj + 0003:0005c948 ??_C@_1BO@CKEBPLGM@?$AAp?$AAf?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00858948 libucrtd:open.obj + 0003:0005c96c ??_C@_1CM@DJGGMBLF@?$AAc?$AAo?$AAm?$AAm?$AAo?$AAn?$AA_?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAd?$AAi?$AAs?$AAp?$AAa?$AAt?$AAc?$AAh?$AA?$AA@ 0085896c libucrtd:open.obj + 0003:0005c9a0 ??_C@_1FC@KMHFBDGJ@?$AA?$CI?$AAp?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA?$HO?$AA?$CI?$AA_?$AAS?$AA_?$AAI?$AAR?$AAE?$AAA?$AAD?$AA?5?$AA?$HM?$AA?5?$AA_?$AAS?$AA_?$AAI?$AAW?$AAR?$AAI?$AAT?$AAE@ 008589a0 libucrtd:open.obj + 0003:0005ca08 ??_C@_1GA@KCKCPAEB@?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn@ 00858a08 libucrtd:wcrtomb.obj + 0003:0005ca80 ??_C@_1GG@IOHNAMEK@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAc@ 00858a80 libucrtd:wcrtomb.obj + 0003:0005cb00 ??_C@_1BLI@DMHDAJEI@?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi@ 00858b00 libucrtd:wcrtomb.obj + 0003:0005cd10 ??_C@_1JO@PEAMJHLL@?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAi@ 00858d10 libucrtd:wcrtomb.obj + 0003:0005cdd0 ??_C@_1BE@BAKHEIOA@?$AAw?$AAc?$AAr?$AAt?$AAo?$AAm?$AAb?$AA_?$AAs?$AA?$AA@ 00858dd0 libucrtd:wcrtomb.obj + 0003:0005cde8 ??_C@_1CE@HMDIBIP@?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00858de8 libucrtd:wcrtomb.obj + 0003:0005ce14 ??_C@_1CG@BMBAINBL@?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA_?$AAw?$AAc?$AAs?$AAr?$AAt?$AAo?$AAm?$AAb?$AAs?$AA?$AA@ 00858e14 libucrtd:wcrtomb.obj + 0003:0005ce48 ??_C@_1NA@NLPIAHDO@?$AA?$CI?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAi@ 00858e48 libucrtd:wcrtomb.obj + 0003:0005cf44 ??_C@_1BI@JEFNCOO@?$AAw?$AAc?$AAs?$AAr?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$AA@ 00858f44 libucrtd:wcrtomb.obj + 0003:0005cf60 ??_C@_1DK@PNOJMGLM@?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAd?$AAe?$AAs?$AAt?$AAi?$AAn?$AAa?$AAt?$AAi?$AAo?$AAn?$AA_?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?$AA@ 00858f60 libucrtd:wcrtomb.obj + 0003:0005d018 __Denorm_C 00859018 libucrtd:_values.obj + 0003:0005d028 __Inf_C 00859028 libucrtd:_values.obj + 0003:0005d038 __Nan_C 00859038 libucrtd:_values.obj + 0003:0005d048 __Snan_C 00859048 libucrtd:_values.obj + 0003:0005d058 __Hugeval_C 00859058 libucrtd:_values.obj + 0003:0005d068 __FDenorm_C 00859068 libucrtd:_values.obj + 0003:0005d078 __FInf_C 00859078 libucrtd:_values.obj + 0003:0005d088 __FNan_C 00859088 libucrtd:_values.obj + 0003:0005d098 __FSnan_C 00859098 libucrtd:_values.obj + 0003:0005d0a8 __LDenorm_C 008590a8 libucrtd:_values.obj + 0003:0005d0b8 __LInf_C 008590b8 libucrtd:_values.obj + 0003:0005d0c8 __LNan_C 008590c8 libucrtd:_values.obj + 0003:0005d0d8 __LSnan_C 008590d8 libucrtd:_values.obj + 0003:0005d0e8 __Eps_C 008590e8 libucrtd:_values.obj + 0003:0005d0f8 __Rteps_C 008590f8 libucrtd:_values.obj + 0003:0005d108 __FEps_C 00859108 libucrtd:_values.obj + 0003:0005d118 __FRteps_C 00859118 libucrtd:_values.obj + 0003:0005d128 __LEps_C 00859128 libucrtd:_values.obj + 0003:0005d138 __LRteps_C 00859138 libucrtd:_values.obj + 0003:0005d148 __Zero_C 00859148 libucrtd:_values.obj + 0003:0005d158 __Xbig_C 00859158 libucrtd:_values.obj + 0003:0005d164 __FZero_C 00859164 libucrtd:_values.obj + 0003:0005d168 __FXbig_C 00859168 libucrtd:_values.obj + 0003:0005d170 __LZero_C 00859170 libucrtd:_values.obj + 0003:0005d180 __LXbig_C 00859180 libucrtd:_values.obj + 0003:0005d18c ??_C@_1DI@OOEEHOBJ@?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAn?$AAu?$AAm?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 0085918c libucrtd:qsort.obj + 0003:0005d1d0 ??_C@_1GA@KPPCKKGE@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAs@ 008591d0 libucrtd:qsort.obj + 0003:0005d244 ??_C@_1M@INMHODIG@?$AAq?$AAs?$AAo?$AAr?$AAt?$AA?$AA@ 00859244 libucrtd:qsort.obj + 0003:0005d254 ??_C@_1BE@NJBEBBME@?$AAw?$AAi?$AAd?$AAt?$AAh?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 00859254 libucrtd:qsort.obj + 0003:0005d26c ??_C@_1CA@LIDFOMIN@?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 0085926c libucrtd:qsort.obj + 0003:0005d2e0 ___acrt_exp_tbl_addr 008592e0 libucrtd:exp_tables.obj + 0003:0005d808 ??_C@_1HK@ELDMAMK@?$AAc?$AAc?$AAh?$AAC?$AAo?$AAu?$AAn?$AAt?$AA1?$AA?$DN?$AA?$DN?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AAc?$AAh?$AAC?$AAo?$AAu?$AAn?$AAt?$AA2?$AA?$DN?$AA?$DN?$AA1?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 00859808 libucrtd:comparestringa.obj + 0003:0005d8a0 ??_C@_1HC@NLKDIKED@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 008598a0 libucrtd:comparestringa.obj + 0003:0005d928 ??_C@_0DJ@MBLHFEOE@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 00859928 libucrtd:comparestringa.obj + 0003:0005d96c ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 0085996c libucrtd:initcon.obj + 0003:0005d980 ??_C@_1JG@NNMLFIDG@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?4?$AA?5?$AAF?$AAi?$AAl?$AAe?$AA?5@ 00859980 libucrtd:chsize.obj + 0003:0005da38 ??_C@_1GA@EAHLKLIP@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00859a38 libucrtd:chsize.obj + 0003:0005daac ??_C@_1BE@MAFDNGED@?$AA_?$AAc?$AAh?$AAs?$AAi?$AAz?$AAe?$AA_?$AAs?$AA?$AA@ 00859aac libucrtd:chsize.obj + 0003:0005dac4 ??_C@_1BI@GALBKMKE@?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 00859ac4 libucrtd:chsize.obj + 0003:0005dae0 ??_C@_0DA@IEKPAGFB@minkernel?2crts?2ucrt?2src?2appcrt?2l@ 00859ae0 libucrtd:chsize.obj + 0003:0005db1c ??_C@_1CI@BIJNNBKA@?$AAo?$AAl?$AAd?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAn?$AAu?$AAl?$AAl?$AAp?$AAt?$AAr?$AA?$AA@ 00859b1c libucrtd:umask.obj + 0003:0005db50 ??_C@_1FO@MNDCKOEA@?$AAm?$AAi?$AAn?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA?2?$AAc?$AAr?$AAt?$AAs?$AA?2?$AAu?$AAc?$AAr?$AAt?$AA?2?$AAs?$AAr?$AAc?$AA?2?$AAa?$AAp?$AAp?$AAc?$AAr?$AAt?$AA?2?$AAl@ 00859b50 libucrtd:umask.obj + 0003:0005dbc0 ??_C@_1BC@MDPHDOJO@?$AA_?$AAu?$AAm?$AAa?$AAs?$AAk?$AA_?$AAs?$AA?$AA@ 00859bc0 libucrtd:umask.obj + 0003:0005dbd8 ??_C@_1EM@IJPIKCNL@?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$HO?$AA?$CI?$AA_?$AAS?$AA_?$AAI?$AAR?$AAE?$AAA?$AAD?$AA?5?$AA?$HM?$AA?5?$AA_?$AAS?$AA_?$AAI?$AAW?$AAR?$AAI?$AAT?$AAE?$AA?$CJ?$AA?$CJ@ 00859bd8 libucrtd:umask.obj + 0003:0005dd90 ___acrt_log10_table_t 00859d90 libucrtd:log10_tables.obj + 0003:0005e270 ___acrt_log10_table_cb 0085a270 libucrtd:log10_tables.obj + 0003:0005e754 ??_7?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@6B@ 0085a754 libcpmtd:excptptr.obj + 0003:0005e76c ??_7?$_Ref_count_obj@V__ExceptionPtr@@@std@@6B@ 0085a76c libcpmtd:excptptr.obj + 0003:0005e7b8 __load_config_used 0085a7b8 LIBCMTD:loadcfg.obj + 0003:0005f7cc __tls_used 0085b7cc LIBCMTD:tlssup.obj + 0003:0005f8e8 ??_R4ByteBuffer@@6B@ 0085b8e8 MagicProcess.obj + 0003:0005f900 ??_R3ByteBuffer@@8 0085b900 MagicProcess.obj + 0003:0005f914 ??_R2ByteBuffer@@8 0085b914 MagicProcess.obj + 0003:0005f91c ??_R1A@?0A@EA@ByteBuffer@@8 0085b91c MagicProcess.obj + 0003:0005f940 ??_R4Packet@@6B@ 0085b940 MagicProcess.obj + 0003:0005f958 ??_R3Packet@@8 0085b958 MagicProcess.obj + 0003:0005f96c ??_R2Packet@@8 0085b96c MagicProcess.obj + 0003:0005f978 ??_R1A@?0A@EA@Packet@@8 0085b978 MagicProcess.obj + 0003:0005f99c ??_R4Unit@@6B@ 0085b99c Unit.obj + 0003:0005f9b4 ??_R3Unit@@8 0085b9b4 Unit.obj + 0003:0005f9c8 ??_R2Unit@@8 0085b9c8 Unit.obj + 0003:0005f9d4 ??_R1A@?0A@EA@Unit@@8 0085b9d4 Unit.obj + 0003:0005f9f8 ??_R1A@?0A@EA@ReferenceObject@@8 0085b9f8 Unit.obj + 0003:0005fa1c ??_R3ReferenceObject@@8 0085ba1c Unit.obj + 0003:0005fa30 ??_R2ReferenceObject@@8 0085ba30 Unit.obj + 0003:0005fa38 ??_R4ReferenceObject@@6B@ 0085ba38 Unit.obj + 0003:0005fa50 ??_R4CN3ShapeMgr@@6B@ 0085ba50 N3ShapeMgr.obj + 0003:0005fa68 ??_R3CN3ShapeMgr@@8 0085ba68 N3ShapeMgr.obj + 0003:0005fa7c ??_R2CN3ShapeMgr@@8 0085ba7c N3ShapeMgr.obj + 0003:0005fa84 ??_R1A@?0A@EA@CN3ShapeMgr@@8 0085ba84 N3ShapeMgr.obj + 0003:0005faa8 ??_R4CGameSocket@@6B@ 0085baa8 GameSocket.obj + 0003:0005fac0 ??_R3CGameSocket@@8 0085bac0 GameSocket.obj + 0003:0005fad4 ??_R2CGameSocket@@8 0085bad4 GameSocket.obj + 0003:0005fae4 ??_R1A@?0A@EA@CGameSocket@@8 0085bae4 GameSocket.obj + 0003:0005fb08 ??_R1A@?0A@EA@KOSocket@@8 0085bb08 GameSocket.obj + 0003:0005fb2c ??_R3KOSocket@@8 0085bb2c GameSocket.obj + 0003:0005fb40 ??_R2KOSocket@@8 0085bb40 GameSocket.obj + 0003:0005fb4c ??_R1A@?0A@EA@Socket@@8 0085bb4c GameSocket.obj + 0003:0005fb70 ??_R3Socket@@8 0085bb70 GameSocket.obj + 0003:0005fb84 ??_R2Socket@@8 0085bb84 GameSocket.obj + 0003:0005fb8c ??_R4exception@std@@6B@ 0085bb8c MAP.obj + 0003:0005fba4 ??_R3exception@std@@8 0085bba4 MAP.obj + 0003:0005fbb8 ??_R2exception@std@@8 0085bbb8 MAP.obj + 0003:0005fbc0 ??_R1A@?0A@EA@exception@std@@8 0085bbc0 MAP.obj + 0003:0005fbe4 ??_R4bad_cast@std@@6B@ 0085bbe4 MAP.obj + 0003:0005fbfc ??_R3bad_cast@std@@8 0085bbfc MAP.obj + 0003:0005fc10 ??_R2bad_cast@std@@8 0085bc10 MAP.obj + 0003:0005fc1c ??_R1A@?0A@EA@bad_cast@std@@8 0085bc1c MAP.obj + 0003:0005fc40 ??_R4runtime_error@std@@6B@ 0085bc40 MAP.obj + 0003:0005fc58 ??_R3runtime_error@std@@8 0085bc58 MAP.obj + 0003:0005fc6c ??_R2runtime_error@std@@8 0085bc6c MAP.obj + 0003:0005fc78 ??_R1A@?0A@EA@runtime_error@std@@8 0085bc78 MAP.obj + 0003:0005fc9c ??_R3error_category@std@@8 0085bc9c MAP.obj + 0003:0005fcb0 ??_R2error_category@std@@8 0085bcb0 MAP.obj + 0003:0005fcb8 ??_R1A@?0A@EA@error_category@std@@8 0085bcb8 MAP.obj + 0003:0005fcdc ??_R4_System_error@std@@6B@ 0085bcdc MAP.obj + 0003:0005fcf4 ??_R3_System_error@std@@8 0085bcf4 MAP.obj + 0003:0005fd08 ??_R2_System_error@std@@8 0085bd08 MAP.obj + 0003:0005fd18 ??_R1A@?0A@EA@_System_error@std@@8 0085bd18 MAP.obj + 0003:0005fd3c ??_R4system_error@std@@6B@ 0085bd3c MAP.obj + 0003:0005fd54 ??_R3system_error@std@@8 0085bd54 MAP.obj + 0003:0005fd68 ??_R2system_error@std@@8 0085bd68 MAP.obj + 0003:0005fd7c ??_R1A@?0A@EA@system_error@std@@8 0085bd7c MAP.obj + 0003:0005fda0 ??_R4_Generic_error_category@std@@6B@ 0085bda0 MAP.obj + 0003:0005fdb8 ??_R3_Generic_error_category@std@@8 0085bdb8 MAP.obj + 0003:0005fdcc ??_R2_Generic_error_category@std@@8 0085bdcc MAP.obj + 0003:0005fdd8 ??_R1A@?0A@EA@_Generic_error_category@std@@8 0085bdd8 MAP.obj + 0003:0005fdfc ??_R4_Iostream_error_category@std@@6B@ 0085bdfc MAP.obj + 0003:0005fe14 ??_R3_Iostream_error_category@std@@8 0085be14 MAP.obj + 0003:0005fe28 ??_R2_Iostream_error_category@std@@8 0085be28 MAP.obj + 0003:0005fe38 ??_R1A@?0A@EA@_Iostream_error_category@std@@8 0085be38 MAP.obj + 0003:0005fe5c ??_R4ios_base@std@@6B@ 0085be5c MAP.obj + 0003:0005fe74 ??_R3ios_base@std@@8 0085be74 MAP.obj + 0003:0005fe88 ??_R2ios_base@std@@8 0085be88 MAP.obj + 0003:0005fe94 ??_R1A@?0A@EA@ios_base@std@@8 0085be94 MAP.obj + 0003:0005feb8 ??_R17?0A@EA@?$_Iosb@H@std@@8 0085beb8 MAP.obj + 0003:0005fedc ??_R3?$_Iosb@H@std@@8 0085bedc MAP.obj + 0003:0005fef0 ??_R2?$_Iosb@H@std@@8 0085bef0 MAP.obj + 0003:0005fef8 ??_R1A@?0A@EA@?$_Iosb@H@std@@8 0085bef8 MAP.obj + 0003:0005ff1c ??_R4?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ 0085bf1c MAP.obj + 0003:0005ff34 ??_R3?$basic_ios@DU?$char_traits@D@std@@@std@@8 0085bf34 MAP.obj + 0003:0005ff48 ??_R2?$basic_ios@DU?$char_traits@D@std@@@std@@8 0085bf48 MAP.obj + 0003:0005ff58 ??_R1A@?0A@EA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 0085bf58 MAP.obj + 0003:0005ff7c ??_R4?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ 0085bf7c MAP.obj + 0003:0005ff94 ??_R3?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 0085bf94 MAP.obj + 0003:0005ffa8 ??_R2?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 0085bfa8 MAP.obj + 0003:0005ffb0 ??_R1A@?0A@EA@?$basic_streambuf@DU?$char_traits@D@std@@@std@@8 0085bfb0 MAP.obj + 0003:0005ffd4 ??_R4?$basic_istream@DU?$char_traits@D@std@@@std@@6B@ 0085bfd4 MAP.obj + 0003:0005ffec ??_R3?$basic_istream@DU?$char_traits@D@std@@@std@@8 0085bfec MAP.obj + 0003:00060000 ??_R2?$basic_istream@DU?$char_traits@D@std@@@std@@8 0085c000 MAP.obj + 0003:00060014 ??_R1A@?0A@EA@?$basic_istream@DU?$char_traits@D@std@@@std@@8 0085c014 MAP.obj + 0003:00060038 ??_R1A@A@3FA@?$basic_ios@DU?$char_traits@D@std@@@std@@8 0085c038 MAP.obj + 0003:0006005c ??_R1A@A@3EA@ios_base@std@@8 0085c05c MAP.obj + 0003:00060080 ??_R17A@3EA@?$_Iosb@H@std@@8 0085c080 MAP.obj + 0003:000600a4 ??_R4?$basic_filebuf@DU?$char_traits@D@std@@@std@@6B@ 0085c0a4 MAP.obj + 0003:000600bc ??_R3?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 0085c0bc MAP.obj + 0003:000600d0 ??_R2?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 0085c0d0 MAP.obj + 0003:000600dc ??_R1A@?0A@EA@?$basic_filebuf@DU?$char_traits@D@std@@@std@@8 0085c0dc MAP.obj + 0003:00060100 ??_R4?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@ 0085c100 MAP.obj + 0003:00060118 ??_R3?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 0085c118 MAP.obj + 0003:0006012c ??_R2?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 0085c12c MAP.obj + 0003:00060148 ??_R1A@?0A@EA@?$basic_ifstream@DU?$char_traits@D@std@@@std@@8 0085c148 MAP.obj + 0003:0006016c ??_R4MAP@@6B@ 0085c16c MAP.obj + 0003:00060184 ??_R3MAP@@8 0085c184 MAP.obj + 0003:00060198 ??_R2MAP@@8 0085c198 MAP.obj + 0003:000601a0 ??_R1A@?0A@EA@MAP@@8 0085c1a0 MAP.obj + 0003:000601c4 ??_R4_Facet_base@std@@6B@ 0085c1c4 MAP.obj + 0003:000601dc ??_R3_Facet_base@std@@8 0085c1dc MAP.obj + 0003:000601f0 ??_R2_Facet_base@std@@8 0085c1f0 MAP.obj + 0003:000601f8 ??_R1A@?0A@EA@_Facet_base@std@@8 0085c1f8 MAP.obj + 0003:0006021c ??_R1A@?0A@EA@facet@locale@std@@8 0085c21c MAP.obj + 0003:00060240 ??_R3facet@locale@std@@8 0085c240 MAP.obj + 0003:00060254 ??_R2facet@locale@std@@8 0085c254 MAP.obj + 0003:00060264 ??_R13?0A@EA@_Crt_new_delete@std@@8 0085c264 MAP.obj + 0003:00060288 ??_R3_Crt_new_delete@std@@8 0085c288 MAP.obj + 0003:0006029c ??_R2_Crt_new_delete@std@@8 0085c29c MAP.obj + 0003:000602a4 ??_R1A@?0A@EA@_Crt_new_delete@std@@8 0085c2a4 MAP.obj + 0003:000602c8 ??_R4facet@locale@std@@6B@ 0085c2c8 MAP.obj + 0003:000602e0 ??_R4codecvt_base@std@@6B@ 0085c2e0 MAP.obj + 0003:000602f8 ??_R3codecvt_base@std@@8 0085c2f8 MAP.obj + 0003:0006030c ??_R2codecvt_base@std@@8 0085c30c MAP.obj + 0003:00060320 ??_R1A@?0A@EA@codecvt_base@std@@8 0085c320 MAP.obj + 0003:00060344 ??_R4ctype_base@std@@6B@ 0085c344 MAP.obj + 0003:0006035c ??_R3ctype_base@std@@8 0085c35c MAP.obj + 0003:00060370 ??_R2ctype_base@std@@8 0085c370 MAP.obj + 0003:00060384 ??_R1A@?0A@EA@ctype_base@std@@8 0085c384 MAP.obj + 0003:000603a8 ??_R4?$ctype@D@std@@6B@ 0085c3a8 MAP.obj + 0003:000603c0 ??_R3?$ctype@D@std@@8 0085c3c0 MAP.obj + 0003:000603d4 ??_R2?$ctype@D@std@@8 0085c3d4 MAP.obj + 0003:000603f0 ??_R1A@?0A@EA@?$ctype@D@std@@8 0085c3f0 MAP.obj + 0003:00060414 ??_R4failure@ios_base@std@@6B@ 0085c414 MAP.obj + 0003:0006042c ??_R3failure@ios_base@std@@8 0085c42c MAP.obj + 0003:00060440 ??_R2failure@ios_base@std@@8 0085c440 MAP.obj + 0003:0006045c ??_R1A@?0A@EA@failure@ios_base@std@@8 0085c45c MAP.obj + 0003:00060480 ??_R4?$codecvt@DDU_Mbstatet@@@std@@6B@ 0085c480 MAP.obj + 0003:00060498 ??_R3?$codecvt@DDU_Mbstatet@@@std@@8 0085c498 MAP.obj + 0003:000604ac ??_R2?$codecvt@DDU_Mbstatet@@@std@@8 0085c4ac MAP.obj + 0003:000604c8 ??_R1A@?0A@EA@?$codecvt@DDU_Mbstatet@@@std@@8 0085c4c8 MAP.obj + 0003:000604ec ??_R4CNpc@@6B@ 0085c4ec Npc.obj + 0003:00060504 ??_R3CNpc@@8 0085c504 Npc.obj + 0003:00060518 ??_R2CNpc@@8 0085c518 Npc.obj + 0003:00060528 ??_R1A@?0A@EA@CNpc@@8 0085c528 Npc.obj + 0003:0006054c ??_R4Thread@@6B@ 0085c54c NpcThread.obj + 0003:00060564 ??_R3Thread@@8 0085c564 NpcThread.obj + 0003:00060578 ??_R2Thread@@8 0085c578 NpcThread.obj + 0003:00060580 ??_R1A@?0A@EA@Thread@@8 0085c580 NpcThread.obj + 0003:000605a4 ??_R4CNpcThread@@6B@ 0085c5a4 NpcThread.obj + 0003:000605bc ??_R3CNpcThread@@8 0085c5bc NpcThread.obj + 0003:000605d0 ??_R2CNpcThread@@8 0085c5d0 NpcThread.obj + 0003:000605d8 ??_R1A@?0A@EA@CNpcThread@@8 0085c5d8 NpcThread.obj + 0003:000605fc ??_R4CParty@@6B@ 0085c5fc Party.obj + 0003:00060614 ??_R3CParty@@8 0085c614 Party.obj + 0003:00060628 ??_R2CParty@@8 0085c628 Party.obj + 0003:00060630 ??_R1A@?0A@EA@CParty@@8 0085c630 Party.obj + 0003:00060654 ??_R4CPathFind@@6B@ 0085c654 PathFind.obj + 0003:0006066c ??_R3CPathFind@@8 0085c66c PathFind.obj + 0003:00060680 ??_R2CPathFind@@8 0085c680 PathFind.obj + 0003:00060688 ??_R1A@?0A@EA@CPathFind@@8 0085c688 PathFind.obj + 0003:000606ac ??_R4CRoomEvent@@6B@ 0085c6ac RoomEvent.obj + 0003:000606c4 ??_R3CRoomEvent@@8 0085c6c4 RoomEvent.obj + 0003:000606d8 ??_R2CRoomEvent@@8 0085c6d8 RoomEvent.obj + 0003:000606e0 ??_R1A@?0A@EA@CRoomEvent@@8 0085c6e0 RoomEvent.obj + 0003:00060704 ??_R4?$KOSocketMgr@VCGameSocket@@@@6B@ 0085c704 ServerDlg.obj + 0003:0006071c ??_R3?$KOSocketMgr@VCGameSocket@@@@8 0085c71c ServerDlg.obj + 0003:00060730 ??_R2?$KOSocketMgr@VCGameSocket@@@@8 0085c730 ServerDlg.obj + 0003:0006073c ??_R1A@?0A@EA@?$KOSocketMgr@VCGameSocket@@@@8 0085c73c ServerDlg.obj + 0003:00060760 ??_R1A@?0A@EA@SocketMgr@@8 0085c760 ServerDlg.obj + 0003:00060784 ??_R3SocketMgr@@8 0085c784 ServerDlg.obj + 0003:00060798 ??_R2SocketMgr@@8 0085c798 ServerDlg.obj + 0003:000607a0 ??_R4CMagicTableSet@@6B@ 0085c7a0 ServerDlg.obj + 0003:000607b8 ??_R3CMagicTableSet@@8 0085c7b8 ServerDlg.obj + 0003:000607cc ??_R2CMagicTableSet@@8 0085c7cc ServerDlg.obj + 0003:000607d8 ??_R1A@?0A@EA@CMagicTableSet@@8 0085c7d8 ServerDlg.obj + 0003:000607fc ??_R1A@?0A@EA@OdbcRecordset@@8 0085c7fc ServerDlg.obj + 0003:00060820 ??_R3OdbcRecordset@@8 0085c820 ServerDlg.obj + 0003:00060834 ??_R2OdbcRecordset@@8 0085c834 ServerDlg.obj + 0003:0006083c ??_R4CMagicType1Set@@6B@ 0085c83c ServerDlg.obj + 0003:00060854 ??_R3CMagicType1Set@@8 0085c854 ServerDlg.obj + 0003:00060868 ??_R2CMagicType1Set@@8 0085c868 ServerDlg.obj + 0003:00060874 ??_R1A@?0A@EA@CMagicType1Set@@8 0085c874 ServerDlg.obj + 0003:00060898 ??_R4CMagicType2Set@@6B@ 0085c898 ServerDlg.obj + 0003:000608b0 ??_R3CMagicType2Set@@8 0085c8b0 ServerDlg.obj + 0003:000608c4 ??_R2CMagicType2Set@@8 0085c8c4 ServerDlg.obj + 0003:000608d0 ??_R1A@?0A@EA@CMagicType2Set@@8 0085c8d0 ServerDlg.obj + 0003:000608f4 ??_R4CMagicType4Set@@6B@ 0085c8f4 ServerDlg.obj + 0003:0006090c ??_R3CMagicType4Set@@8 0085c90c ServerDlg.obj + 0003:00060920 ??_R2CMagicType4Set@@8 0085c920 ServerDlg.obj + 0003:0006092c ??_R1A@?0A@EA@CMagicType4Set@@8 0085c92c ServerDlg.obj + 0003:00060950 ??_R4CObjectPosSet@@6B@ 0085c950 ServerDlg.obj + 0003:00060968 ??_R3CObjectPosSet@@8 0085c968 ServerDlg.obj + 0003:0006097c ??_R2CObjectPosSet@@8 0085c97c ServerDlg.obj + 0003:00060988 ??_R1A@?0A@EA@CObjectPosSet@@8 0085c988 ServerDlg.obj + 0003:000609ac ??_R4CNpcPosSet@@6B@ 0085c9ac ServerDlg.obj + 0003:000609c4 ??_R3CNpcPosSet@@8 0085c9c4 ServerDlg.obj + 0003:000609d8 ??_R2CNpcPosSet@@8 0085c9d8 ServerDlg.obj + 0003:000609e4 ??_R1A@?0A@EA@CNpcPosSet@@8 0085c9e4 ServerDlg.obj + 0003:00060a08 ??_R4CZoneInfoSet@@6B@ 0085ca08 ServerDlg.obj + 0003:00060a20 ??_R3CZoneInfoSet@@8 0085ca20 ServerDlg.obj + 0003:00060a34 ??_R2CZoneInfoSet@@8 0085ca34 ServerDlg.obj + 0003:00060a40 ??_R1A@?0A@EA@CZoneInfoSet@@8 0085ca40 ServerDlg.obj + 0003:00060a64 ??_R4CNpcItemSet@@6B@ 0085ca64 ServerDlg.obj + 0003:00060a7c ??_R3CNpcItemSet@@8 0085ca7c ServerDlg.obj + 0003:00060a90 ??_R2CNpcItemSet@@8 0085ca90 ServerDlg.obj + 0003:00060a9c ??_R1A@?0A@EA@CNpcItemSet@@8 0085ca9c ServerDlg.obj + 0003:00060ac0 ??_R4CMakeItemGroupSet@@6B@ 0085cac0 ServerDlg.obj + 0003:00060ad8 ??_R3CMakeItemGroupSet@@8 0085cad8 ServerDlg.obj + 0003:00060aec ??_R2CMakeItemGroupSet@@8 0085caec ServerDlg.obj + 0003:00060af8 ??_R1A@?0A@EA@CMakeItemGroupSet@@8 0085caf8 ServerDlg.obj + 0003:00060b1c ??_R4CNpcTableSet@@6B@ 0085cb1c ServerDlg.obj + 0003:00060b34 ??_R3CNpcTableSet@@8 0085cb34 ServerDlg.obj + 0003:00060b48 ??_R2CNpcTableSet@@8 0085cb48 ServerDlg.obj + 0003:00060b54 ??_R1A@?0A@EA@CNpcTableSet@@8 0085cb54 ServerDlg.obj + 0003:00060b78 ??_R4CMonTableSet@@6B@ 0085cb78 ServerDlg.obj + 0003:00060b90 ??_R3CMonTableSet@@8 0085cb90 ServerDlg.obj + 0003:00060ba4 ??_R2CMonTableSet@@8 0085cba4 ServerDlg.obj + 0003:00060bb4 ??_R1A@?0A@EA@CMonTableSet@@8 0085cbb4 ServerDlg.obj + 0003:00060bd8 ??_R4CMakeWeaponTableSet@@6B@ 0085cbd8 ServerDlg.obj + 0003:00060bf0 ??_R3CMakeWeaponTableSet@@8 0085cbf0 ServerDlg.obj + 0003:00060c04 ??_R2CMakeWeaponTableSet@@8 0085cc04 ServerDlg.obj + 0003:00060c10 ??_R1A@?0A@EA@CMakeWeaponTableSet@@8 0085cc10 ServerDlg.obj + 0003:00060c34 ??_R4CMakeDefensiveTableSet@@6B@ 0085cc34 ServerDlg.obj + 0003:00060c4c ??_R3CMakeDefensiveTableSet@@8 0085cc4c ServerDlg.obj + 0003:00060c60 ??_R2CMakeDefensiveTableSet@@8 0085cc60 ServerDlg.obj + 0003:00060c6c ??_R1A@?0A@EA@CMakeDefensiveTableSet@@8 0085cc6c ServerDlg.obj + 0003:00060c90 ??_R4CMakeGradeItemTableSet@@6B@ 0085cc90 ServerDlg.obj + 0003:00060ca8 ??_R3CMakeGradeItemTableSet@@8 0085cca8 ServerDlg.obj + 0003:00060cbc ??_R2CMakeGradeItemTableSet@@8 0085ccbc ServerDlg.obj + 0003:00060cc8 ??_R1A@?0A@EA@CMakeGradeItemTableSet@@8 0085ccc8 ServerDlg.obj + 0003:00060cec ??_R4CMakeLareItemTableSet@@6B@ 0085ccec ServerDlg.obj + 0003:00060d04 ??_R3CMakeLareItemTableSet@@8 0085cd04 ServerDlg.obj + 0003:00060d18 ??_R2CMakeLareItemTableSet@@8 0085cd18 ServerDlg.obj + 0003:00060d24 ??_R1A@?0A@EA@CMakeLareItemTableSet@@8 0085cd24 ServerDlg.obj + 0003:00060d48 ??_R4CServerResourceSet@@6B@ 0085cd48 ServerDlg.obj + 0003:00060d60 ??_R3CServerResourceSet@@8 0085cd60 ServerDlg.obj + 0003:00060d74 ??_R2CServerResourceSet@@8 0085cd74 ServerDlg.obj + 0003:00060d80 ??_R1A@?0A@EA@CServerResourceSet@@8 0085cd80 ServerDlg.obj + 0003:00060da4 ??_R4CUser@@6B@ 0085cda4 AIUser.obj + 0003:00060dbc ??_R3CUser@@8 0085cdbc AIUser.obj + 0003:00060dd0 ??_R2CUser@@8 0085cdd0 AIUser.obj + 0003:00060de0 ??_R1A@?0A@EA@CUser@@8 0085cde0 AIUser.obj + 0003:00060e04 ??_R4SocketMgr@@6B@ 0085ce04 shared:SocketMgr.obj + 0003:00060e1c ??_R4Socket@@6B@ 0085ce1c shared:Socket.obj + 0003:00060e34 ??_R4KOSocket@@6B@ 0085ce34 shared:KOSocket.obj + 0003:00060e4c ??_R4SMDFile@@6B@ 0085ce4c shared:SMDFile.obj + 0003:00060e64 ??_R3SMDFile@@8 0085ce64 shared:SMDFile.obj + 0003:00060e78 ??_R2SMDFile@@8 0085ce78 shared:SMDFile.obj + 0003:00060e84 ??_R1A@?0A@EA@SMDFile@@8 0085ce84 shared:SMDFile.obj + 0003:00060ea8 ??_R4OdbcRecordset@@6B@ 0085cea8 shared:OdbcRecordset.obj + 0003:00060ec0 ??_R4bad_alloc@std@@6B@ 0085cec0 libcpmtd:xthrow.obj + 0003:00060ed8 ??_R3bad_alloc@std@@8 0085ced8 libcpmtd:xthrow.obj + 0003:00060eec ??_R2bad_alloc@std@@8 0085ceec libcpmtd:xthrow.obj + 0003:00060ef8 ??_R1A@?0A@EA@bad_alloc@std@@8 0085cef8 libcpmtd:xthrow.obj + 0003:00060f1c ??_R4logic_error@std@@6B@ 0085cf1c libcpmtd:xthrow.obj + 0003:00060f34 ??_R3logic_error@std@@8 0085cf34 libcpmtd:xthrow.obj + 0003:00060f48 ??_R2logic_error@std@@8 0085cf48 libcpmtd:xthrow.obj + 0003:00060f54 ??_R1A@?0A@EA@logic_error@std@@8 0085cf54 libcpmtd:xthrow.obj + 0003:00060f78 ??_R4invalid_argument@std@@6B@ 0085cf78 libcpmtd:xthrow.obj + 0003:00060f90 ??_R3invalid_argument@std@@8 0085cf90 libcpmtd:xthrow.obj + 0003:00060fa4 ??_R2invalid_argument@std@@8 0085cfa4 libcpmtd:xthrow.obj + 0003:00060fb4 ??_R1A@?0A@EA@invalid_argument@std@@8 0085cfb4 libcpmtd:xthrow.obj + 0003:00060fd8 ??_R4length_error@std@@6B@ 0085cfd8 libcpmtd:xthrow.obj + 0003:00060ff0 ??_R3length_error@std@@8 0085cff0 libcpmtd:xthrow.obj + 0003:00061004 ??_R2length_error@std@@8 0085d004 libcpmtd:xthrow.obj + 0003:00061014 ??_R1A@?0A@EA@length_error@std@@8 0085d014 libcpmtd:xthrow.obj + 0003:00061038 ??_R4out_of_range@std@@6B@ 0085d038 libcpmtd:xthrow.obj + 0003:00061050 ??_R3out_of_range@std@@8 0085d050 libcpmtd:xthrow.obj + 0003:00061064 ??_R2out_of_range@std@@8 0085d064 libcpmtd:xthrow.obj + 0003:00061074 ??_R1A@?0A@EA@out_of_range@std@@8 0085d074 libcpmtd:xthrow.obj + 0003:00061098 ??_R4overflow_error@std@@6B@ 0085d098 libcpmtd:xthrow.obj + 0003:000610b0 ??_R3overflow_error@std@@8 0085d0b0 libcpmtd:xthrow.obj + 0003:000610c4 ??_R2overflow_error@std@@8 0085d0c4 libcpmtd:xthrow.obj + 0003:000610d4 ??_R1A@?0A@EA@overflow_error@std@@8 0085d0d4 libcpmtd:xthrow.obj + 0003:000610f8 ??_R4bad_function_call@std@@6B@ 0085d0f8 libcpmtd:xthrow.obj + 0003:00061110 ??_R3bad_function_call@std@@8 0085d110 libcpmtd:xthrow.obj + 0003:00061124 ??_R2bad_function_call@std@@8 0085d124 libcpmtd:xthrow.obj + 0003:00061130 ??_R1A@?0A@EA@bad_function_call@std@@8 0085d130 libcpmtd:xthrow.obj + 0003:00061154 ??_R4regex_error@std@@6B@ 0085d154 libcpmtd:xthrow.obj + 0003:0006116c ??_R3regex_error@std@@8 0085d16c libcpmtd:xthrow.obj + 0003:00061180 ??_R2regex_error@std@@8 0085d180 libcpmtd:xthrow.obj + 0003:00061190 ??_R1A@?0A@EA@regex_error@std@@8 0085d190 libcpmtd:xthrow.obj + 0003:000611b4 ??_R3stl_critical_section_interface@details@Concurrency@@8 0085d1b4 libcpmtd:mutex.obj + 0003:000611c8 ??_R2stl_critical_section_interface@details@Concurrency@@8 0085d1c8 libcpmtd:mutex.obj + 0003:000611d0 ??_R1A@?0A@EA@stl_critical_section_interface@details@Concurrency@@8 0085d1d0 libcpmtd:mutex.obj + 0003:000611f4 ??_R4stl_critical_section_vista@details@Concurrency@@6B@ 0085d1f4 libcpmtd:mutex.obj + 0003:0006120c ??_R3stl_critical_section_vista@details@Concurrency@@8 0085d20c libcpmtd:mutex.obj + 0003:00061220 ??_R2stl_critical_section_vista@details@Concurrency@@8 0085d220 libcpmtd:mutex.obj + 0003:0006122c ??_R1A@?0A@EA@stl_critical_section_vista@details@Concurrency@@8 0085d22c libcpmtd:mutex.obj + 0003:00061250 ??_R4stl_critical_section_win7@details@Concurrency@@6B@ 0085d250 libcpmtd:mutex.obj + 0003:00061268 ??_R3stl_critical_section_win7@details@Concurrency@@8 0085d268 libcpmtd:mutex.obj + 0003:0006127c ??_R2stl_critical_section_win7@details@Concurrency@@8 0085d27c libcpmtd:mutex.obj + 0003:00061288 ??_R1A@?0A@EA@stl_critical_section_win7@details@Concurrency@@8 0085d288 libcpmtd:mutex.obj + 0003:000612ac ??_R4stl_critical_section_concrt@details@Concurrency@@6B@ 0085d2ac libcpmtd:mutex.obj + 0003:000612c4 ??_R3stl_critical_section_concrt@details@Concurrency@@8 0085d2c4 libcpmtd:mutex.obj + 0003:000612d8 ??_R2stl_critical_section_concrt@details@Concurrency@@8 0085d2d8 libcpmtd:mutex.obj + 0003:000612e4 ??_R1A@?0A@EA@stl_critical_section_concrt@details@Concurrency@@8 0085d2e4 libcpmtd:mutex.obj + 0003:00061308 ??_R4_System_error_category@std@@6B@ 0085d308 libcpmtd:xonce.obj + 0003:00061320 ??_R3_System_error_category@std@@8 0085d320 libcpmtd:xonce.obj + 0003:00061334 ??_R2_System_error_category@std@@8 0085d334 libcpmtd:xonce.obj + 0003:00061340 ??_R1A@?0A@EA@_System_error_category@std@@8 0085d340 libcpmtd:xonce.obj + 0003:00061364 ??_R4_Locimp@locale@std@@6B@ 0085d364 libcpmtd:locale0.obj + 0003:0006137c ??_R3_Locimp@locale@std@@8 0085d37c libcpmtd:locale0.obj + 0003:00061390 ??_R2_Locimp@locale@std@@8 0085d390 libcpmtd:locale0.obj + 0003:000613a4 ??_R1A@?0A@EA@_Locimp@locale@std@@8 0085d3a4 libcpmtd:locale0.obj + 0003:000613c8 ??_R3stl_condition_variable_interface@details@Concurrency@@8 0085d3c8 libcpmtd:cond.obj + 0003:000613dc ??_R2stl_condition_variable_interface@details@Concurrency@@8 0085d3dc libcpmtd:cond.obj + 0003:000613e4 ??_R1A@?0A@EA@stl_condition_variable_interface@details@Concurrency@@8 0085d3e4 libcpmtd:cond.obj + 0003:00061408 ??_R4stl_condition_variable_vista@details@Concurrency@@6B@ 0085d408 libcpmtd:cond.obj + 0003:00061420 ??_R3stl_condition_variable_vista@details@Concurrency@@8 0085d420 libcpmtd:cond.obj + 0003:00061434 ??_R2stl_condition_variable_vista@details@Concurrency@@8 0085d434 libcpmtd:cond.obj + 0003:00061440 ??_R1A@?0A@EA@stl_condition_variable_vista@details@Concurrency@@8 0085d440 libcpmtd:cond.obj + 0003:00061464 ??_R4stl_condition_variable_win7@details@Concurrency@@6B@ 0085d464 libcpmtd:cond.obj + 0003:0006147c ??_R3stl_condition_variable_win7@details@Concurrency@@8 0085d47c libcpmtd:cond.obj + 0003:00061490 ??_R2stl_condition_variable_win7@details@Concurrency@@8 0085d490 libcpmtd:cond.obj + 0003:0006149c ??_R1A@?0A@EA@stl_condition_variable_win7@details@Concurrency@@8 0085d49c libcpmtd:cond.obj + 0003:000614c0 ??_R4stl_condition_variable_concrt@details@Concurrency@@6B@ 0085d4c0 libcpmtd:cond.obj + 0003:000614d8 ??_R3stl_condition_variable_concrt@details@Concurrency@@8 0085d4d8 libcpmtd:cond.obj + 0003:000614ec ??_R2stl_condition_variable_concrt@details@Concurrency@@8 0085d4ec libcpmtd:cond.obj + 0003:000614f8 ??_R1A@?0A@EA@stl_condition_variable_concrt@details@Concurrency@@8 0085d4f8 libcpmtd:cond.obj + 0003:0006151c ??_R4?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085d51c libcpmtd:locale.obj + 0003:00061534 ??_R3?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d534 libcpmtd:locale.obj + 0003:00061548 ??_R2?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d548 libcpmtd:locale.obj + 0003:0006155c ??_R1A@?0A@EA@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d55c libcpmtd:locale.obj + 0003:00061580 ??_R4?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085d580 libcpmtd:locale.obj + 0003:00061598 ??_R3?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d598 libcpmtd:locale.obj + 0003:000615ac ??_R2?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d5ac libcpmtd:locale.obj + 0003:000615c0 ??_R1A@?0A@EA@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085d5c0 libcpmtd:locale.obj + 0003:000615e4 ??_R4?$numpunct@D@std@@6B@ 0085d5e4 libcpmtd:locale.obj + 0003:000615fc ??_R3?$numpunct@D@std@@8 0085d5fc libcpmtd:locale.obj + 0003:00061610 ??_R2?$numpunct@D@std@@8 0085d610 libcpmtd:locale.obj + 0003:00061624 ??_R1A@?0A@EA@?$numpunct@D@std@@8 0085d624 libcpmtd:locale.obj + 0003:00061648 ??_R4?$codecvt@_WDU_Mbstatet@@@std@@6B@ 0085d648 libcpmtd:wlocale.obj + 0003:00061660 ??_R3?$codecvt@_WDU_Mbstatet@@@std@@8 0085d660 libcpmtd:wlocale.obj + 0003:00061674 ??_R2?$codecvt@_WDU_Mbstatet@@@std@@8 0085d674 libcpmtd:wlocale.obj + 0003:00061690 ??_R1A@?0A@EA@?$codecvt@_WDU_Mbstatet@@@std@@8 0085d690 libcpmtd:wlocale.obj + 0003:000616b4 ??_R4?$codecvt@GDU_Mbstatet@@@std@@6B@ 0085d6b4 libcpmtd:wlocale.obj + 0003:000616cc ??_R3?$codecvt@GDU_Mbstatet@@@std@@8 0085d6cc libcpmtd:wlocale.obj + 0003:000616e0 ??_R2?$codecvt@GDU_Mbstatet@@@std@@8 0085d6e0 libcpmtd:wlocale.obj + 0003:000616fc ??_R1A@?0A@EA@?$codecvt@GDU_Mbstatet@@@std@@8 0085d6fc libcpmtd:wlocale.obj + 0003:00061720 ??_R4?$ctype@_W@std@@6B@ 0085d720 libcpmtd:wlocale.obj + 0003:00061738 ??_R3?$ctype@_W@std@@8 0085d738 libcpmtd:wlocale.obj + 0003:0006174c ??_R2?$ctype@_W@std@@8 0085d74c libcpmtd:wlocale.obj + 0003:00061768 ??_R1A@?0A@EA@?$ctype@_W@std@@8 0085d768 libcpmtd:wlocale.obj + 0003:0006178c ??_R4?$ctype@G@std@@6B@ 0085d78c libcpmtd:wlocale.obj + 0003:000617a4 ??_R3?$ctype@G@std@@8 0085d7a4 libcpmtd:wlocale.obj + 0003:000617b8 ??_R2?$ctype@G@std@@8 0085d7b8 libcpmtd:wlocale.obj + 0003:000617d4 ??_R1A@?0A@EA@?$ctype@G@std@@8 0085d7d4 libcpmtd:wlocale.obj + 0003:000617f8 ??_R4messages_base@std@@6B@ 0085d7f8 libcpmtd:wlocale.obj + 0003:00061810 ??_R3messages_base@std@@8 0085d810 libcpmtd:wlocale.obj + 0003:00061824 ??_R2messages_base@std@@8 0085d824 libcpmtd:wlocale.obj + 0003:00061838 ??_R1A@?0A@EA@messages_base@std@@8 0085d838 libcpmtd:wlocale.obj + 0003:0006185c ??_R4money_base@std@@6B@ 0085d85c libcpmtd:wlocale.obj + 0003:00061874 ??_R3money_base@std@@8 0085d874 libcpmtd:wlocale.obj + 0003:00061888 ??_R2money_base@std@@8 0085d888 libcpmtd:wlocale.obj + 0003:0006189c ??_R1A@?0A@EA@money_base@std@@8 0085d89c libcpmtd:wlocale.obj + 0003:000618c0 ??_R4time_base@std@@6B@ 0085d8c0 libcpmtd:wlocale.obj + 0003:000618d8 ??_R3time_base@std@@8 0085d8d8 libcpmtd:wlocale.obj + 0003:000618ec ??_R2time_base@std@@8 0085d8ec libcpmtd:wlocale.obj + 0003:00061900 ??_R1A@?0A@EA@time_base@std@@8 0085d900 libcpmtd:wlocale.obj + 0003:00061924 ??_R4?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085d924 libcpmtd:wlocale.obj + 0003:0006193c ??_R3?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d93c libcpmtd:wlocale.obj + 0003:00061950 ??_R2?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d950 libcpmtd:wlocale.obj + 0003:00061964 ??_R1A@?0A@EA@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d964 libcpmtd:wlocale.obj + 0003:00061988 ??_R4?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085d988 libcpmtd:wlocale.obj + 0003:000619a0 ??_R3?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d9a0 libcpmtd:wlocale.obj + 0003:000619b4 ??_R2?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d9b4 libcpmtd:wlocale.obj + 0003:000619c8 ??_R1A@?0A@EA@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085d9c8 libcpmtd:wlocale.obj + 0003:000619ec ??_R4?$numpunct@_W@std@@6B@ 0085d9ec libcpmtd:wlocale.obj + 0003:00061a04 ??_R3?$numpunct@_W@std@@8 0085da04 libcpmtd:wlocale.obj + 0003:00061a18 ??_R2?$numpunct@_W@std@@8 0085da18 libcpmtd:wlocale.obj + 0003:00061a2c ??_R1A@?0A@EA@?$numpunct@_W@std@@8 0085da2c libcpmtd:wlocale.obj + 0003:00061a50 ??_R4?$collate@_W@std@@6B@ 0085da50 libcpmtd:wlocale.obj + 0003:00061a68 ??_R3?$collate@_W@std@@8 0085da68 libcpmtd:wlocale.obj + 0003:00061a7c ??_R2?$collate@_W@std@@8 0085da7c libcpmtd:wlocale.obj + 0003:00061a90 ??_R1A@?0A@EA@?$collate@_W@std@@8 0085da90 libcpmtd:wlocale.obj + 0003:00061ab4 ??_R4?$messages@_W@std@@6B@ 0085dab4 libcpmtd:wlocale.obj + 0003:00061acc ??_R3?$messages@_W@std@@8 0085dacc libcpmtd:wlocale.obj + 0003:00061ae0 ??_R2?$messages@_W@std@@8 0085dae0 libcpmtd:wlocale.obj + 0003:00061afc ??_R1A@?0A@EA@?$messages@_W@std@@8 0085dafc libcpmtd:wlocale.obj + 0003:00061b20 ??_R4?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085db20 libcpmtd:wlocale.obj + 0003:00061b38 ??_R3?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085db38 libcpmtd:wlocale.obj + 0003:00061b4c ??_R2?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085db4c libcpmtd:wlocale.obj + 0003:00061b60 ??_R1A@?0A@EA@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085db60 libcpmtd:wlocale.obj + 0003:00061b84 ??_R4?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085db84 libcpmtd:wlocale.obj + 0003:00061b9c ??_R3?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085db9c libcpmtd:wlocale.obj + 0003:00061bb0 ??_R2?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dbb0 libcpmtd:wlocale.obj + 0003:00061bc4 ??_R1A@?0A@EA@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dbc4 libcpmtd:wlocale.obj + 0003:00061be8 ??_R4?$moneypunct@_W$0A@@std@@6B@ 0085dbe8 libcpmtd:wlocale.obj + 0003:00061c00 ??_R3?$moneypunct@_W$0A@@std@@8 0085dc00 libcpmtd:wlocale.obj + 0003:00061c14 ??_R2?$moneypunct@_W$0A@@std@@8 0085dc14 libcpmtd:wlocale.obj + 0003:00061c34 ??_R1A@?0A@EA@?$moneypunct@_W$0A@@std@@8 0085dc34 libcpmtd:wlocale.obj + 0003:00061c58 ??_R1A@?0A@EA@?$_Mpunct@_W@std@@8 0085dc58 libcpmtd:wlocale.obj + 0003:00061c7c ??_R3?$_Mpunct@_W@std@@8 0085dc7c libcpmtd:wlocale.obj + 0003:00061c90 ??_R2?$_Mpunct@_W@std@@8 0085dc90 libcpmtd:wlocale.obj + 0003:00061cac ??_R4?$moneypunct@_W$00@std@@6B@ 0085dcac libcpmtd:wlocale.obj + 0003:00061cc4 ??_R3?$moneypunct@_W$00@std@@8 0085dcc4 libcpmtd:wlocale.obj + 0003:00061cd8 ??_R2?$moneypunct@_W$00@std@@8 0085dcd8 libcpmtd:wlocale.obj + 0003:00061cf8 ??_R1A@?0A@EA@?$moneypunct@_W$00@std@@8 0085dcf8 libcpmtd:wlocale.obj + 0003:00061d1c ??_R4?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085dd1c libcpmtd:wlocale.obj + 0003:00061d34 ??_R3?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dd34 libcpmtd:wlocale.obj + 0003:00061d48 ??_R2?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dd48 libcpmtd:wlocale.obj + 0003:00061d64 ??_R1A@?0A@EA@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dd64 libcpmtd:wlocale.obj + 0003:00061d88 ??_R4?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@ 0085dd88 libcpmtd:wlocale.obj + 0003:00061da0 ??_R3?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085dda0 libcpmtd:wlocale.obj + 0003:00061db4 ??_R2?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085ddb4 libcpmtd:wlocale.obj + 0003:00061dc8 ??_R1A@?0A@EA@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@8 0085ddc8 libcpmtd:wlocale.obj + 0003:00061dec ??_R4?$_Mpunct@_W@std@@6B@ 0085ddec libcpmtd:wlocale.obj + 0003:00061e04 ??_R4?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085de04 libcpmtd:wlocale.obj + 0003:00061e1c ??_R3?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085de1c libcpmtd:wlocale.obj + 0003:00061e30 ??_R2?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085de30 libcpmtd:wlocale.obj + 0003:00061e44 ??_R1A@?0A@EA@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085de44 libcpmtd:wlocale.obj + 0003:00061e68 ??_R4?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085de68 libcpmtd:wlocale.obj + 0003:00061e80 ??_R3?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085de80 libcpmtd:wlocale.obj + 0003:00061e94 ??_R2?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085de94 libcpmtd:wlocale.obj + 0003:00061ea8 ??_R1A@?0A@EA@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085dea8 libcpmtd:wlocale.obj + 0003:00061ecc ??_R4?$numpunct@G@std@@6B@ 0085decc libcpmtd:wlocale.obj + 0003:00061ee4 ??_R3?$numpunct@G@std@@8 0085dee4 libcpmtd:wlocale.obj + 0003:00061ef8 ??_R2?$numpunct@G@std@@8 0085def8 libcpmtd:wlocale.obj + 0003:00061f0c ??_R1A@?0A@EA@?$numpunct@G@std@@8 0085df0c libcpmtd:wlocale.obj + 0003:00061f30 ??_R4?$collate@G@std@@6B@ 0085df30 libcpmtd:wlocale.obj + 0003:00061f48 ??_R3?$collate@G@std@@8 0085df48 libcpmtd:wlocale.obj + 0003:00061f5c ??_R2?$collate@G@std@@8 0085df5c libcpmtd:wlocale.obj + 0003:00061f70 ??_R1A@?0A@EA@?$collate@G@std@@8 0085df70 libcpmtd:wlocale.obj + 0003:00061f94 ??_R4?$messages@G@std@@6B@ 0085df94 libcpmtd:wlocale.obj + 0003:00061fac ??_R3?$messages@G@std@@8 0085dfac libcpmtd:wlocale.obj + 0003:00061fc0 ??_R2?$messages@G@std@@8 0085dfc0 libcpmtd:wlocale.obj + 0003:00061fdc ??_R1A@?0A@EA@?$messages@G@std@@8 0085dfdc libcpmtd:wlocale.obj + 0003:00062000 ??_R4?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085e000 libcpmtd:wlocale.obj + 0003:00062018 ??_R3?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e018 libcpmtd:wlocale.obj + 0003:0006202c ??_R2?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e02c libcpmtd:wlocale.obj + 0003:00062040 ??_R1A@?0A@EA@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e040 libcpmtd:wlocale.obj + 0003:00062064 ??_R4?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085e064 libcpmtd:wlocale.obj + 0003:0006207c ??_R3?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e07c libcpmtd:wlocale.obj + 0003:00062090 ??_R2?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e090 libcpmtd:wlocale.obj + 0003:000620a4 ??_R1A@?0A@EA@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e0a4 libcpmtd:wlocale.obj + 0003:000620c8 ??_R4?$moneypunct@G$0A@@std@@6B@ 0085e0c8 libcpmtd:wlocale.obj + 0003:000620e0 ??_R3?$moneypunct@G$0A@@std@@8 0085e0e0 libcpmtd:wlocale.obj + 0003:000620f4 ??_R2?$moneypunct@G$0A@@std@@8 0085e0f4 libcpmtd:wlocale.obj + 0003:00062114 ??_R1A@?0A@EA@?$moneypunct@G$0A@@std@@8 0085e114 libcpmtd:wlocale.obj + 0003:00062138 ??_R1A@?0A@EA@?$_Mpunct@G@std@@8 0085e138 libcpmtd:wlocale.obj + 0003:0006215c ??_R3?$_Mpunct@G@std@@8 0085e15c libcpmtd:wlocale.obj + 0003:00062170 ??_R2?$_Mpunct@G@std@@8 0085e170 libcpmtd:wlocale.obj + 0003:0006218c ??_R4?$moneypunct@G$00@std@@6B@ 0085e18c libcpmtd:wlocale.obj + 0003:000621a4 ??_R3?$moneypunct@G$00@std@@8 0085e1a4 libcpmtd:wlocale.obj + 0003:000621b8 ??_R2?$moneypunct@G$00@std@@8 0085e1b8 libcpmtd:wlocale.obj + 0003:000621d8 ??_R1A@?0A@EA@?$moneypunct@G$00@std@@8 0085e1d8 libcpmtd:wlocale.obj + 0003:000621fc ??_R4?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085e1fc libcpmtd:wlocale.obj + 0003:00062214 ??_R3?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e214 libcpmtd:wlocale.obj + 0003:00062228 ??_R2?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e228 libcpmtd:wlocale.obj + 0003:00062244 ??_R1A@?0A@EA@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e244 libcpmtd:wlocale.obj + 0003:00062268 ??_R4?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ 0085e268 libcpmtd:wlocale.obj + 0003:00062280 ??_R3?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e280 libcpmtd:wlocale.obj + 0003:00062294 ??_R2?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e294 libcpmtd:wlocale.obj + 0003:000622a8 ??_R1A@?0A@EA@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@8 0085e2a8 libcpmtd:wlocale.obj + 0003:000622cc ??_R4?$_Mpunct@G@std@@6B@ 0085e2cc libcpmtd:wlocale.obj + 0003:000622e4 ??_R4?$collate@D@std@@6B@ 0085e2e4 libcpmtd:xlocale.obj + 0003:000622fc ??_R3?$collate@D@std@@8 0085e2fc libcpmtd:xlocale.obj + 0003:00062310 ??_R2?$collate@D@std@@8 0085e310 libcpmtd:xlocale.obj + 0003:00062324 ??_R1A@?0A@EA@?$collate@D@std@@8 0085e324 libcpmtd:xlocale.obj + 0003:00062348 ??_R4?$messages@D@std@@6B@ 0085e348 libcpmtd:xlocale.obj + 0003:00062360 ??_R3?$messages@D@std@@8 0085e360 libcpmtd:xlocale.obj + 0003:00062374 ??_R2?$messages@D@std@@8 0085e374 libcpmtd:xlocale.obj + 0003:00062390 ??_R1A@?0A@EA@?$messages@D@std@@8 0085e390 libcpmtd:xlocale.obj + 0003:000623b4 ??_R4?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085e3b4 libcpmtd:xlocale.obj + 0003:000623cc ??_R3?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e3cc libcpmtd:xlocale.obj + 0003:000623e0 ??_R2?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e3e0 libcpmtd:xlocale.obj + 0003:000623f4 ??_R1A@?0A@EA@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e3f4 libcpmtd:xlocale.obj + 0003:00062418 ??_R4?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085e418 libcpmtd:xlocale.obj + 0003:00062430 ??_R3?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e430 libcpmtd:xlocale.obj + 0003:00062444 ??_R2?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e444 libcpmtd:xlocale.obj + 0003:00062458 ??_R1A@?0A@EA@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e458 libcpmtd:xlocale.obj + 0003:0006247c ??_R4?$moneypunct@D$0A@@std@@6B@ 0085e47c libcpmtd:xlocale.obj + 0003:00062494 ??_R3?$moneypunct@D$0A@@std@@8 0085e494 libcpmtd:xlocale.obj + 0003:000624a8 ??_R2?$moneypunct@D$0A@@std@@8 0085e4a8 libcpmtd:xlocale.obj + 0003:000624c8 ??_R1A@?0A@EA@?$moneypunct@D$0A@@std@@8 0085e4c8 libcpmtd:xlocale.obj + 0003:000624ec ??_R1A@?0A@EA@?$_Mpunct@D@std@@8 0085e4ec libcpmtd:xlocale.obj + 0003:00062510 ??_R3?$_Mpunct@D@std@@8 0085e510 libcpmtd:xlocale.obj + 0003:00062524 ??_R2?$_Mpunct@D@std@@8 0085e524 libcpmtd:xlocale.obj + 0003:00062540 ??_R4?$moneypunct@D$00@std@@6B@ 0085e540 libcpmtd:xlocale.obj + 0003:00062558 ??_R3?$moneypunct@D$00@std@@8 0085e558 libcpmtd:xlocale.obj + 0003:0006256c ??_R2?$moneypunct@D$00@std@@8 0085e56c libcpmtd:xlocale.obj + 0003:0006258c ??_R1A@?0A@EA@?$moneypunct@D$00@std@@8 0085e58c libcpmtd:xlocale.obj + 0003:000625b0 ??_R4?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085e5b0 libcpmtd:xlocale.obj + 0003:000625c8 ??_R3?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e5c8 libcpmtd:xlocale.obj + 0003:000625dc ??_R2?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e5dc libcpmtd:xlocale.obj + 0003:000625f8 ??_R1A@?0A@EA@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e5f8 libcpmtd:xlocale.obj + 0003:0006261c ??_R4?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ 0085e61c libcpmtd:xlocale.obj + 0003:00062634 ??_R3?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e634 libcpmtd:xlocale.obj + 0003:00062648 ??_R2?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e648 libcpmtd:xlocale.obj + 0003:0006265c ??_R1A@?0A@EA@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@8 0085e65c libcpmtd:xlocale.obj + 0003:00062680 ??_R4?$_Mpunct@D@std@@6B@ 0085e680 libcpmtd:xlocale.obj + 0003:00062698 ??_R4type_info@@6B@ 0085e698 LIBCMTD:std_type_info_static.obj + 0003:000626b0 ??_R3type_info@@8 0085e6b0 LIBCMTD:std_type_info_static.obj + 0003:000626c4 ??_R2type_info@@8 0085e6c4 LIBCMTD:std_type_info_static.obj + 0003:000626cc ??_R1A@?0A@EA@type_info@@8 0085e6cc LIBCMTD:std_type_info_static.obj + 0003:000626f0 ??_R4bad_array_new_length@std@@6B@ 0085e6f0 LIBCMTD:throw_bad_alloc.obj + 0003:00062708 ??_R3bad_array_new_length@std@@8 0085e708 LIBCMTD:throw_bad_alloc.obj + 0003:0006271c ??_R2bad_array_new_length@std@@8 0085e71c LIBCMTD:throw_bad_alloc.obj + 0003:0006272c ??_R1A@?0A@EA@bad_array_new_length@std@@8 0085e72c LIBCMTD:throw_bad_alloc.obj + 0003:00062750 ??_R4improper_lock@Concurrency@@6B@ 0085e750 libconcrtd:rtlocks.obj + 0003:00062768 ??_R3improper_lock@Concurrency@@8 0085e768 libconcrtd:rtlocks.obj + 0003:0006277c ??_R2improper_lock@Concurrency@@8 0085e77c libconcrtd:rtlocks.obj + 0003:00062788 ??_R1A@?0A@EA@improper_lock@Concurrency@@8 0085e788 libconcrtd:rtlocks.obj + 0003:000627ac ??_R4WaitBlock@details@Concurrency@@6B@ 0085e7ac libconcrtd:event.obj + 0003:000627c4 ??_R3WaitBlock@details@Concurrency@@8 0085e7c4 libconcrtd:event.obj + 0003:000627d8 ??_R2WaitBlock@details@Concurrency@@8 0085e7d8 libconcrtd:event.obj + 0003:000627e0 ??_R1A@?0A@EA@WaitBlock@details@Concurrency@@8 0085e7e0 libconcrtd:event.obj + 0003:00062804 ??_R4SingleWaitBlock@details@Concurrency@@6B@ 0085e804 libconcrtd:event.obj + 0003:0006281c ??_R3SingleWaitBlock@details@Concurrency@@8 0085e81c libconcrtd:event.obj + 0003:00062830 ??_R2SingleWaitBlock@details@Concurrency@@8 0085e830 libconcrtd:event.obj + 0003:0006283c ??_R1A@?0A@EA@SingleWaitBlock@details@Concurrency@@8 0085e83c libconcrtd:event.obj + 0003:00062860 ??_R4MultiWaitBlock@details@Concurrency@@6B@ 0085e860 libconcrtd:event.obj + 0003:00062878 ??_R3MultiWaitBlock@details@Concurrency@@8 0085e878 libconcrtd:event.obj + 0003:0006288c ??_R2MultiWaitBlock@details@Concurrency@@8 0085e88c libconcrtd:event.obj + 0003:00062898 ??_R1A@?0A@EA@MultiWaitBlock@details@Concurrency@@8 0085e898 libconcrtd:event.obj + 0003:000628bc ??_R4WaitAllBlock@details@Concurrency@@6B@ 0085e8bc libconcrtd:event.obj + 0003:000628d4 ??_R3WaitAllBlock@details@Concurrency@@8 0085e8d4 libconcrtd:event.obj + 0003:000628e8 ??_R2WaitAllBlock@details@Concurrency@@8 0085e8e8 libconcrtd:event.obj + 0003:000628f8 ??_R1A@?0A@EA@WaitAllBlock@details@Concurrency@@8 0085e8f8 libconcrtd:event.obj + 0003:0006291c ??_R4WaitAnyBlock@details@Concurrency@@6B@ 0085e91c libconcrtd:event.obj + 0003:00062934 ??_R3WaitAnyBlock@details@Concurrency@@8 0085e934 libconcrtd:event.obj + 0003:00062948 ??_R2WaitAnyBlock@details@Concurrency@@8 0085e948 libconcrtd:event.obj + 0003:00062958 ??_R1A@?0A@EA@WaitAnyBlock@details@Concurrency@@8 0085e958 libconcrtd:event.obj + 0003:0006297c ??_R4TimedSingleWaitBlock@details@Concurrency@@6B@ 0085e97c libconcrtd:event.obj + 0003:00062994 ??_R3TimedSingleWaitBlock@details@Concurrency@@8 0085e994 libconcrtd:event.obj + 0003:000629a8 ??_R2TimedSingleWaitBlock@details@Concurrency@@8 0085e9a8 libconcrtd:event.obj + 0003:000629b8 ??_R1A@?0A@EA@TimedSingleWaitBlock@details@Concurrency@@8 0085e9b8 libconcrtd:event.obj + 0003:000629dc ??_R4?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@6B@ 0085e9dc libconcrtd:event.obj + 0003:000629f4 ??_R3?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@8 0085e9f4 libconcrtd:event.obj + 0003:00062a08 ??_R2?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@8 0085ea08 libconcrtd:event.obj + 0003:00062a10 ??_R1A@?0A@EA@?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@8 0085ea10 libconcrtd:event.obj + 0003:00062a34 ??_R4scheduler_resource_allocation_error@Concurrency@@6B@ 0085ea34 libconcrtd:Platform.obj + 0003:00062a4c ??_R3scheduler_resource_allocation_error@Concurrency@@8 0085ea4c libconcrtd:Platform.obj + 0003:00062a60 ??_R2scheduler_resource_allocation_error@Concurrency@@8 0085ea60 libconcrtd:Platform.obj + 0003:00062a6c ??_R1A@?0A@EA@scheduler_resource_allocation_error@Concurrency@@8 0085ea6c libconcrtd:Platform.obj + 0003:00062a90 ??_R4scheduler_worker_creation_error@Concurrency@@6B@ 0085ea90 libconcrtd:Exceptions.obj + 0003:00062aa8 ??_R3scheduler_worker_creation_error@Concurrency@@8 0085eaa8 libconcrtd:Exceptions.obj + 0003:00062abc ??_R2scheduler_worker_creation_error@Concurrency@@8 0085eabc libconcrtd:Exceptions.obj + 0003:00062acc ??_R1A@?0A@EA@scheduler_worker_creation_error@Concurrency@@8 0085eacc libconcrtd:Exceptions.obj + 0003:00062af0 ??_R4unsupported_os@Concurrency@@6B@ 0085eaf0 libconcrtd:Exceptions.obj + 0003:00062b08 ??_R3unsupported_os@Concurrency@@8 0085eb08 libconcrtd:Exceptions.obj + 0003:00062b1c ??_R2unsupported_os@Concurrency@@8 0085eb1c libconcrtd:Exceptions.obj + 0003:00062b28 ??_R1A@?0A@EA@unsupported_os@Concurrency@@8 0085eb28 libconcrtd:Exceptions.obj + 0003:00062b4c ??_R4scheduler_not_attached@Concurrency@@6B@ 0085eb4c libconcrtd:Exceptions.obj + 0003:00062b64 ??_R3scheduler_not_attached@Concurrency@@8 0085eb64 libconcrtd:Exceptions.obj + 0003:00062b78 ??_R2scheduler_not_attached@Concurrency@@8 0085eb78 libconcrtd:Exceptions.obj + 0003:00062b84 ??_R1A@?0A@EA@scheduler_not_attached@Concurrency@@8 0085eb84 libconcrtd:Exceptions.obj + 0003:00062ba8 ??_R4improper_scheduler_attach@Concurrency@@6B@ 0085eba8 libconcrtd:Exceptions.obj + 0003:00062bc0 ??_R3improper_scheduler_attach@Concurrency@@8 0085ebc0 libconcrtd:Exceptions.obj + 0003:00062bd4 ??_R2improper_scheduler_attach@Concurrency@@8 0085ebd4 libconcrtd:Exceptions.obj + 0003:00062be0 ??_R1A@?0A@EA@improper_scheduler_attach@Concurrency@@8 0085ebe0 libconcrtd:Exceptions.obj + 0003:00062c04 ??_R4improper_scheduler_detach@Concurrency@@6B@ 0085ec04 libconcrtd:Exceptions.obj + 0003:00062c1c ??_R3improper_scheduler_detach@Concurrency@@8 0085ec1c libconcrtd:Exceptions.obj + 0003:00062c30 ??_R2improper_scheduler_detach@Concurrency@@8 0085ec30 libconcrtd:Exceptions.obj + 0003:00062c3c ??_R1A@?0A@EA@improper_scheduler_detach@Concurrency@@8 0085ec3c libconcrtd:Exceptions.obj + 0003:00062c60 ??_R4improper_scheduler_reference@Concurrency@@6B@ 0085ec60 libconcrtd:Exceptions.obj + 0003:00062c78 ??_R3improper_scheduler_reference@Concurrency@@8 0085ec78 libconcrtd:Exceptions.obj + 0003:00062c8c ??_R2improper_scheduler_reference@Concurrency@@8 0085ec8c libconcrtd:Exceptions.obj + 0003:00062c98 ??_R1A@?0A@EA@improper_scheduler_reference@Concurrency@@8 0085ec98 libconcrtd:Exceptions.obj + 0003:00062cbc ??_R4default_scheduler_exists@Concurrency@@6B@ 0085ecbc libconcrtd:Exceptions.obj + 0003:00062cd4 ??_R3default_scheduler_exists@Concurrency@@8 0085ecd4 libconcrtd:Exceptions.obj + 0003:00062ce8 ??_R2default_scheduler_exists@Concurrency@@8 0085ece8 libconcrtd:Exceptions.obj + 0003:00062cf4 ??_R1A@?0A@EA@default_scheduler_exists@Concurrency@@8 0085ecf4 libconcrtd:Exceptions.obj + 0003:00062d18 ??_R4context_unblock_unbalanced@Concurrency@@6B@ 0085ed18 libconcrtd:Exceptions.obj + 0003:00062d30 ??_R3context_unblock_unbalanced@Concurrency@@8 0085ed30 libconcrtd:Exceptions.obj + 0003:00062d44 ??_R2context_unblock_unbalanced@Concurrency@@8 0085ed44 libconcrtd:Exceptions.obj + 0003:00062d50 ??_R1A@?0A@EA@context_unblock_unbalanced@Concurrency@@8 0085ed50 libconcrtd:Exceptions.obj + 0003:00062d74 ??_R4context_self_unblock@Concurrency@@6B@ 0085ed74 libconcrtd:Exceptions.obj + 0003:00062d8c ??_R3context_self_unblock@Concurrency@@8 0085ed8c libconcrtd:Exceptions.obj + 0003:00062da0 ??_R2context_self_unblock@Concurrency@@8 0085eda0 libconcrtd:Exceptions.obj + 0003:00062dac ??_R1A@?0A@EA@context_self_unblock@Concurrency@@8 0085edac libconcrtd:Exceptions.obj + 0003:00062dd0 ??_R4missing_wait@Concurrency@@6B@ 0085edd0 libconcrtd:Exceptions.obj + 0003:00062de8 ??_R3missing_wait@Concurrency@@8 0085ede8 libconcrtd:Exceptions.obj + 0003:00062dfc ??_R2missing_wait@Concurrency@@8 0085edfc libconcrtd:Exceptions.obj + 0003:00062e08 ??_R1A@?0A@EA@missing_wait@Concurrency@@8 0085ee08 libconcrtd:Exceptions.obj + 0003:00062e2c ??_R4bad_target@Concurrency@@6B@ 0085ee2c libconcrtd:Exceptions.obj + 0003:00062e44 ??_R3bad_target@Concurrency@@8 0085ee44 libconcrtd:Exceptions.obj + 0003:00062e58 ??_R2bad_target@Concurrency@@8 0085ee58 libconcrtd:Exceptions.obj + 0003:00062e64 ??_R1A@?0A@EA@bad_target@Concurrency@@8 0085ee64 libconcrtd:Exceptions.obj + 0003:00062e88 ??_R4message_not_found@Concurrency@@6B@ 0085ee88 libconcrtd:Exceptions.obj + 0003:00062ea0 ??_R3message_not_found@Concurrency@@8 0085eea0 libconcrtd:Exceptions.obj + 0003:00062eb4 ??_R2message_not_found@Concurrency@@8 0085eeb4 libconcrtd:Exceptions.obj + 0003:00062ec0 ??_R1A@?0A@EA@message_not_found@Concurrency@@8 0085eec0 libconcrtd:Exceptions.obj + 0003:00062ee4 ??_R4invalid_link_target@Concurrency@@6B@ 0085eee4 libconcrtd:Exceptions.obj + 0003:00062efc ??_R3invalid_link_target@Concurrency@@8 0085eefc libconcrtd:Exceptions.obj + 0003:00062f10 ??_R2invalid_link_target@Concurrency@@8 0085ef10 libconcrtd:Exceptions.obj + 0003:00062f1c ??_R1A@?0A@EA@invalid_link_target@Concurrency@@8 0085ef1c libconcrtd:Exceptions.obj + 0003:00062f40 ??_R4invalid_scheduler_policy_key@Concurrency@@6B@ 0085ef40 libconcrtd:Exceptions.obj + 0003:00062f58 ??_R3invalid_scheduler_policy_key@Concurrency@@8 0085ef58 libconcrtd:Exceptions.obj + 0003:00062f6c ??_R2invalid_scheduler_policy_key@Concurrency@@8 0085ef6c libconcrtd:Exceptions.obj + 0003:00062f78 ??_R1A@?0A@EA@invalid_scheduler_policy_key@Concurrency@@8 0085ef78 libconcrtd:Exceptions.obj + 0003:00062f9c ??_R4invalid_scheduler_policy_value@Concurrency@@6B@ 0085ef9c libconcrtd:Exceptions.obj + 0003:00062fb4 ??_R3invalid_scheduler_policy_value@Concurrency@@8 0085efb4 libconcrtd:Exceptions.obj + 0003:00062fc8 ??_R2invalid_scheduler_policy_value@Concurrency@@8 0085efc8 libconcrtd:Exceptions.obj + 0003:00062fd4 ??_R1A@?0A@EA@invalid_scheduler_policy_value@Concurrency@@8 0085efd4 libconcrtd:Exceptions.obj + 0003:00062ff8 ??_R4invalid_scheduler_policy_thread_specification@Concurrency@@6B@ 0085eff8 libconcrtd:Exceptions.obj + 0003:00063010 ??_R3invalid_scheduler_policy_thread_specification@Concurrency@@8 0085f010 libconcrtd:Exceptions.obj + 0003:00063024 ??_R2invalid_scheduler_policy_thread_specification@Concurrency@@8 0085f024 libconcrtd:Exceptions.obj + 0003:00063030 ??_R1A@?0A@EA@invalid_scheduler_policy_thread_specification@Concurrency@@8 0085f030 libconcrtd:Exceptions.obj + 0003:00063054 ??_R4nested_scheduler_missing_detach@Concurrency@@6B@ 0085f054 libconcrtd:Exceptions.obj + 0003:0006306c ??_R3nested_scheduler_missing_detach@Concurrency@@8 0085f06c libconcrtd:Exceptions.obj + 0003:00063080 ??_R2nested_scheduler_missing_detach@Concurrency@@8 0085f080 libconcrtd:Exceptions.obj + 0003:0006308c ??_R1A@?0A@EA@nested_scheduler_missing_detach@Concurrency@@8 0085f08c libconcrtd:Exceptions.obj + 0003:000630b0 ??_R4operation_timed_out@Concurrency@@6B@ 0085f0b0 libconcrtd:Exceptions.obj + 0003:000630c8 ??_R3operation_timed_out@Concurrency@@8 0085f0c8 libconcrtd:Exceptions.obj + 0003:000630dc ??_R2operation_timed_out@Concurrency@@8 0085f0dc libconcrtd:Exceptions.obj + 0003:000630e8 ??_R1A@?0A@EA@operation_timed_out@Concurrency@@8 0085f0e8 libconcrtd:Exceptions.obj + 0003:0006310c ??_R4invalid_multiple_scheduling@Concurrency@@6B@ 0085f10c libconcrtd:Exceptions.obj + 0003:00063124 ??_R3invalid_multiple_scheduling@Concurrency@@8 0085f124 libconcrtd:Exceptions.obj + 0003:00063138 ??_R2invalid_multiple_scheduling@Concurrency@@8 0085f138 libconcrtd:Exceptions.obj + 0003:00063144 ??_R1A@?0A@EA@invalid_multiple_scheduling@Concurrency@@8 0085f144 libconcrtd:Exceptions.obj + 0003:00063168 ??_R4invalid_oversubscribe_operation@Concurrency@@6B@ 0085f168 libconcrtd:Exceptions.obj + 0003:00063180 ??_R3invalid_oversubscribe_operation@Concurrency@@8 0085f180 libconcrtd:Exceptions.obj + 0003:00063194 ??_R2invalid_oversubscribe_operation@Concurrency@@8 0085f194 libconcrtd:Exceptions.obj + 0003:000631a0 ??_R1A@?0A@EA@invalid_oversubscribe_operation@Concurrency@@8 0085f1a0 libconcrtd:Exceptions.obj + 0003:000631c4 ??_R4invalid_operation@Concurrency@@6B@ 0085f1c4 libconcrtd:ResourceManager.obj + 0003:000631dc ??_R3invalid_operation@Concurrency@@8 0085f1dc libconcrtd:ResourceManager.obj + 0003:000631f0 ??_R2invalid_operation@Concurrency@@8 0085f1f0 libconcrtd:ResourceManager.obj + 0003:000631fc ??_R1A@?0A@EA@invalid_operation@Concurrency@@8 0085f1fc libconcrtd:ResourceManager.obj + 0003:00063220 ??_R4ITopologyExecutionResource@Concurrency@@6B@ 0085f220 libconcrtd:ResourceManager.obj + 0003:00063238 ??_R3ITopologyExecutionResource@Concurrency@@8 0085f238 libconcrtd:ResourceManager.obj + 0003:0006324c ??_R2ITopologyExecutionResource@Concurrency@@8 0085f24c libconcrtd:ResourceManager.obj + 0003:00063254 ??_R1A@?0A@EA@ITopologyExecutionResource@Concurrency@@8 0085f254 libconcrtd:ResourceManager.obj + 0003:00063278 ??_R4ITopologyNode@Concurrency@@6B@ 0085f278 libconcrtd:ResourceManager.obj + 0003:00063290 ??_R3ITopologyNode@Concurrency@@8 0085f290 libconcrtd:ResourceManager.obj + 0003:000632a4 ??_R2ITopologyNode@Concurrency@@8 0085f2a4 libconcrtd:ResourceManager.obj + 0003:000632ac ??_R1A@?0A@EA@ITopologyNode@Concurrency@@8 0085f2ac libconcrtd:ResourceManager.obj + 0003:000632d0 ??_R4TopologyObject@GlobalCore@details@Concurrency@@6B@ 0085f2d0 libconcrtd:ResourceManager.obj + 0003:000632e8 ??_R3TopologyObject@GlobalCore@details@Concurrency@@8 0085f2e8 libconcrtd:ResourceManager.obj + 0003:000632fc ??_R2TopologyObject@GlobalCore@details@Concurrency@@8 0085f2fc libconcrtd:ResourceManager.obj + 0003:00063308 ??_R1A@?0A@EA@TopologyObject@GlobalCore@details@Concurrency@@8 0085f308 libconcrtd:ResourceManager.obj + 0003:0006332c ??_R4TopologyObject@GlobalNode@details@Concurrency@@6B@ 0085f32c libconcrtd:ResourceManager.obj + 0003:00063344 ??_R3TopologyObject@GlobalNode@details@Concurrency@@8 0085f344 libconcrtd:ResourceManager.obj + 0003:00063358 ??_R2TopologyObject@GlobalNode@details@Concurrency@@8 0085f358 libconcrtd:ResourceManager.obj + 0003:00063364 ??_R1A@?0A@EA@TopologyObject@GlobalNode@details@Concurrency@@8 0085f364 libconcrtd:ResourceManager.obj + 0003:00063388 ??_R4ResourceManager@details@Concurrency@@6B@ 0085f388 libconcrtd:ResourceManager.obj + 0003:000633a0 ??_R3ResourceManager@details@Concurrency@@8 0085f3a0 libconcrtd:ResourceManager.obj + 0003:000633b4 ??_R2ResourceManager@details@Concurrency@@8 0085f3b4 libconcrtd:ResourceManager.obj + 0003:000633c0 ??_R1A@?0A@EA@ResourceManager@details@Concurrency@@8 0085f3c0 libconcrtd:ResourceManager.obj + 0003:000633e4 ??_R1A@?0A@EA@IResourceManager@Concurrency@@8 0085f3e4 libconcrtd:ResourceManager.obj + 0003:00063408 ??_R3IResourceManager@Concurrency@@8 0085f408 libconcrtd:ResourceManager.obj + 0003:0006341c ??_R2IResourceManager@Concurrency@@8 0085f41c libconcrtd:ResourceManager.obj + 0003:00063424 ??_R4IResourceManager@Concurrency@@6B@ 0085f424 libconcrtd:ResourceManager.obj + 0003:0006343c ??_R4ScheduleGroupBase@details@Concurrency@@6B@ 0085f43c libconcrtd:SchedulerBase.obj + 0003:00063454 ??_R3ScheduleGroupBase@details@Concurrency@@8 0085f454 libconcrtd:SchedulerBase.obj + 0003:00063468 ??_R2ScheduleGroupBase@details@Concurrency@@8 0085f468 libconcrtd:SchedulerBase.obj + 0003:00063474 ??_R1A@?0A@EA@ScheduleGroupBase@details@Concurrency@@8 0085f474 libconcrtd:SchedulerBase.obj + 0003:00063498 ??_R1A@?0A@EA@ScheduleGroup@Concurrency@@8 0085f498 libconcrtd:SchedulerBase.obj + 0003:000634bc ??_R3ScheduleGroup@Concurrency@@8 0085f4bc libconcrtd:SchedulerBase.obj + 0003:000634d0 ??_R2ScheduleGroup@Concurrency@@8 0085f4d0 libconcrtd:SchedulerBase.obj + 0003:000634d8 ??_R4CacheLocalScheduleGroup@details@Concurrency@@6B@ 0085f4d8 libconcrtd:SchedulerBase.obj + 0003:000634f0 ??_R3CacheLocalScheduleGroup@details@Concurrency@@8 0085f4f0 libconcrtd:SchedulerBase.obj + 0003:00063504 ??_R2CacheLocalScheduleGroup@details@Concurrency@@8 0085f504 libconcrtd:SchedulerBase.obj + 0003:00063514 ??_R1A@?0A@EA@CacheLocalScheduleGroup@details@Concurrency@@8 0085f514 libconcrtd:SchedulerBase.obj + 0003:00063538 ??_R4FairScheduleGroup@details@Concurrency@@6B@ 0085f538 libconcrtd:SchedulerBase.obj + 0003:00063550 ??_R3FairScheduleGroup@details@Concurrency@@8 0085f550 libconcrtd:SchedulerBase.obj + 0003:00063564 ??_R2FairScheduleGroup@details@Concurrency@@8 0085f564 libconcrtd:SchedulerBase.obj + 0003:00063574 ??_R1A@?0A@EA@FairScheduleGroup@details@Concurrency@@8 0085f574 libconcrtd:SchedulerBase.obj + 0003:00063598 ??_R1A@?0A@EA@_Chore@details@Concurrency@@8 0085f598 libconcrtd:SchedulerBase.obj + 0003:000635bc ??_R3_Chore@details@Concurrency@@8 0085f5bc libconcrtd:SchedulerBase.obj + 0003:000635d0 ??_R2_Chore@details@Concurrency@@8 0085f5d0 libconcrtd:SchedulerBase.obj + 0003:000635d8 ??_R4Scheduler@Concurrency@@6B@ 0085f5d8 libconcrtd:SchedulerBase.obj + 0003:000635f0 ??_R3Scheduler@Concurrency@@8 0085f5f0 libconcrtd:SchedulerBase.obj + 0003:00063604 ??_R2Scheduler@Concurrency@@8 0085f604 libconcrtd:SchedulerBase.obj + 0003:0006360c ??_R1A@?0A@EA@Scheduler@Concurrency@@8 0085f60c libconcrtd:SchedulerBase.obj + 0003:00063630 ??_R4ScheduleGroup@Concurrency@@6B@ 0085f630 libconcrtd:SchedulerBase.obj + 0003:00063648 ??_R4_Chore@details@Concurrency@@6B@ 0085f648 libconcrtd:SchedulerBase.obj + 0003:00063660 ??_R4RealizedChore@details@Concurrency@@6B@ 0085f660 libconcrtd:SchedulerBase.obj + 0003:00063678 ??_R3RealizedChore@details@Concurrency@@8 0085f678 libconcrtd:SchedulerBase.obj + 0003:0006368c ??_R2RealizedChore@details@Concurrency@@8 0085f68c libconcrtd:SchedulerBase.obj + 0003:00063698 ??_R1A@?0A@EA@RealizedChore@details@Concurrency@@8 0085f698 libconcrtd:SchedulerBase.obj + 0003:000636bc ??_R4CacheLocalScheduleGroupSegment@details@Concurrency@@6B@ 0085f6bc libconcrtd:SchedulerBase.obj + 0003:000636d4 ??_R3CacheLocalScheduleGroupSegment@details@Concurrency@@8 0085f6d4 libconcrtd:SchedulerBase.obj + 0003:000636e8 ??_R2CacheLocalScheduleGroupSegment@details@Concurrency@@8 0085f6e8 libconcrtd:SchedulerBase.obj + 0003:000636f4 ??_R1A@?0A@EA@CacheLocalScheduleGroupSegment@details@Concurrency@@8 0085f6f4 libconcrtd:SchedulerBase.obj + 0003:00063718 ??_R1A@?0A@EA@ScheduleGroupSegmentBase@details@Concurrency@@8 0085f718 libconcrtd:SchedulerBase.obj + 0003:0006373c ??_R3ScheduleGroupSegmentBase@details@Concurrency@@8 0085f73c libconcrtd:SchedulerBase.obj + 0003:00063750 ??_R2ScheduleGroupSegmentBase@details@Concurrency@@8 0085f750 libconcrtd:SchedulerBase.obj + 0003:00063758 ??_R4FairScheduleGroupSegment@details@Concurrency@@6B@ 0085f758 libconcrtd:SchedulerBase.obj + 0003:00063770 ??_R3FairScheduleGroupSegment@details@Concurrency@@8 0085f770 libconcrtd:SchedulerBase.obj + 0003:00063784 ??_R2FairScheduleGroupSegment@details@Concurrency@@8 0085f784 libconcrtd:SchedulerBase.obj + 0003:00063790 ??_R1A@?0A@EA@FairScheduleGroupSegment@details@Concurrency@@8 0085f790 libconcrtd:SchedulerBase.obj + 0003:000637b4 ??_R4SchedulerBase@details@Concurrency@@6B@ 0085f7b4 libconcrtd:SchedulerBase.obj + 0003:000637cc ??_R3SchedulerBase@details@Concurrency@@8 0085f7cc libconcrtd:SchedulerBase.obj + 0003:000637e0 ??_R2SchedulerBase@details@Concurrency@@8 0085f7e0 libconcrtd:SchedulerBase.obj + 0003:000637ec ??_R1A@?0A@EA@SchedulerBase@details@Concurrency@@8 0085f7ec libconcrtd:SchedulerBase.obj + 0003:00063810 ??_R1A@?0A@EA@IExecutionContext@Concurrency@@8 0085f810 libconcrtd:UMSSchedulingContext.obj + 0003:00063834 ??_R3IExecutionContext@Concurrency@@8 0085f834 libconcrtd:UMSSchedulingContext.obj + 0003:00063848 ??_R2IExecutionContext@Concurrency@@8 0085f848 libconcrtd:UMSSchedulingContext.obj + 0003:00063850 ??_R4UMSSchedulingContext@details@Concurrency@@6B@ 0085f850 libconcrtd:UMSSchedulingContext.obj + 0003:00063868 ??_R3UMSSchedulingContext@details@Concurrency@@8 0085f868 libconcrtd:UMSSchedulingContext.obj + 0003:0006387c ??_R2UMSSchedulingContext@details@Concurrency@@8 0085f87c libconcrtd:UMSSchedulingContext.obj + 0003:00063888 ??_R1A@?0A@EA@UMSSchedulingContext@details@Concurrency@@8 0085f888 libconcrtd:UMSSchedulingContext.obj + 0003:000638ac ??_R4IExecutionContext@Concurrency@@6B@ 0085f8ac libconcrtd:UMSSchedulingContext.obj + 0003:000638c4 ??_R1A@?0A@EA@IThreadProxy@Concurrency@@8 0085f8c4 libconcrtd:UMSThreadProxy.obj + 0003:000638e8 ??_R3IThreadProxy@Concurrency@@8 0085f8e8 libconcrtd:UMSThreadProxy.obj + 0003:000638fc ??_R2IThreadProxy@Concurrency@@8 0085f8fc libconcrtd:UMSThreadProxy.obj + 0003:00063904 ??_R1A@?0A@EA@UMSThreadProxy@details@Concurrency@@8 0085f904 libconcrtd:UMSThreadProxy.obj + 0003:00063928 ??_R3UMSThreadProxy@details@Concurrency@@8 0085f928 libconcrtd:UMSThreadProxy.obj + 0003:0006393c ??_R2UMSThreadProxy@details@Concurrency@@8 0085f93c libconcrtd:UMSThreadProxy.obj + 0003:00063958 ??_R1A@?0A@EA@UMSBaseObject@details@Concurrency@@8 0085f958 libconcrtd:UMSThreadProxy.obj + 0003:0006397c ??_R3UMSBaseObject@details@Concurrency@@8 0085f97c libconcrtd:UMSThreadProxy.obj + 0003:00063990 ??_R2UMSBaseObject@details@Concurrency@@8 0085f990 libconcrtd:UMSThreadProxy.obj + 0003:00063998 ??_R13?0A@EA@IUMSThreadProxy@Concurrency@@8 0085f998 libconcrtd:UMSThreadProxy.obj + 0003:000639bc ??_R3IUMSThreadProxy@Concurrency@@8 0085f9bc libconcrtd:UMSThreadProxy.obj + 0003:000639d0 ??_R2IUMSThreadProxy@Concurrency@@8 0085f9d0 libconcrtd:UMSThreadProxy.obj + 0003:000639dc ??_R1A@?0A@EA@IUMSThreadProxy@Concurrency@@8 0085f9dc libconcrtd:UMSThreadProxy.obj + 0003:00063a00 ??_R13?0A@EA@IThreadProxy@Concurrency@@8 0085fa00 libconcrtd:UMSThreadProxy.obj + 0003:00063a24 ??_R17?0A@EA@IUMSUnblockNotification@Concurrency@@8 0085fa24 libconcrtd:UMSThreadProxy.obj + 0003:00063a48 ??_R3IUMSUnblockNotification@Concurrency@@8 0085fa48 libconcrtd:UMSThreadProxy.obj + 0003:00063a5c ??_R2IUMSUnblockNotification@Concurrency@@8 0085fa5c libconcrtd:UMSThreadProxy.obj + 0003:00063a64 ??_R1A@?0A@EA@IUMSUnblockNotification@Concurrency@@8 0085fa64 libconcrtd:UMSThreadProxy.obj + 0003:00063a88 ??_R4UMSThreadProxy@details@Concurrency@@6BUMSBaseObject@12@@ 0085fa88 libconcrtd:UMSThreadProxy.obj + 0003:00063aa0 ??_R4UMSThreadProxy@details@Concurrency@@6BIUMSThreadProxy@2@@ 0085faa0 libconcrtd:UMSThreadProxy.obj + 0003:00063ab8 ??_R4UMSThreadProxy@details@Concurrency@@6BIUMSUnblockNotification@2@@ 0085fab8 libconcrtd:UMSThreadProxy.obj + 0003:00063ad0 ??_R4IThreadProxy@Concurrency@@6B@ 0085fad0 libconcrtd:UMSThreadProxy.obj + 0003:00063ae8 ??_R4IUMSThreadProxy@Concurrency@@6B@ 0085fae8 libconcrtd:UMSThreadProxy.obj + 0003:00063b00 ??_R4IUMSUnblockNotification@Concurrency@@6B@ 0085fb00 libconcrtd:UMSThreadProxy.obj + 0003:00063b18 ??_R4UMSBaseObject@details@Concurrency@@6B@ 0085fb18 libconcrtd:UMSThreadProxy.obj + 0003:00063b30 ??_R4Context@Concurrency@@6B@ 0085fb30 libconcrtd:ContextBase.obj + 0003:00063b48 ??_R3Context@Concurrency@@8 0085fb48 libconcrtd:ContextBase.obj + 0003:00063b5c ??_R2Context@Concurrency@@8 0085fb5c libconcrtd:ContextBase.obj + 0003:00063b64 ??_R1A@?0A@EA@Context@Concurrency@@8 0085fb64 libconcrtd:ContextBase.obj + 0003:00063b88 ??_R3ContextBase@details@Concurrency@@8 0085fb88 libconcrtd:ContextBase.obj + 0003:00063b9c ??_R2ContextBase@details@Concurrency@@8 0085fb9c libconcrtd:ContextBase.obj + 0003:00063ba8 ??_R1A@?0A@EA@ContextBase@details@Concurrency@@8 0085fba8 libconcrtd:ContextBase.obj + 0003:00063bcc ??_R4ContextBase@details@Concurrency@@6B@ 0085fbcc libconcrtd:ContextBase.obj + 0003:00063be4 ??_R4_Interruption_exception@details@Concurrency@@6B@ 0085fbe4 libconcrtd:TaskCollection.obj + 0003:00063bfc ??_R3_Interruption_exception@details@Concurrency@@8 0085fbfc libconcrtd:TaskCollection.obj + 0003:00063c10 ??_R2_Interruption_exception@details@Concurrency@@8 0085fc10 libconcrtd:TaskCollection.obj + 0003:00063c1c ??_R1A@?0A@EA@_Interruption_exception@details@Concurrency@@8 0085fc1c libconcrtd:TaskCollection.obj + 0003:00063c40 ??_R4_RefCounterBase@details@Concurrency@@6B@ 0085fc40 libconcrtd:TaskCollection.obj + 0003:00063c58 ??_R3_RefCounterBase@details@Concurrency@@8 0085fc58 libconcrtd:TaskCollection.obj + 0003:00063c6c ??_R2_RefCounterBase@details@Concurrency@@8 0085fc6c libconcrtd:TaskCollection.obj + 0003:00063c74 ??_R1A@?0A@EA@_RefCounterBase@details@Concurrency@@8 0085fc74 libconcrtd:TaskCollection.obj + 0003:00063c98 ??_R1A@?0A@EA@_RefCounter@details@Concurrency@@8 0085fc98 libconcrtd:TaskCollection.obj + 0003:00063cbc ??_R3_RefCounter@details@Concurrency@@8 0085fcbc libconcrtd:TaskCollection.obj + 0003:00063cd0 ??_R2_RefCounter@details@Concurrency@@8 0085fcd0 libconcrtd:TaskCollection.obj + 0003:00063cd8 ??_R4_CancellationTokenRegistration@details@Concurrency@@6B@ 0085fcd8 libconcrtd:TaskCollection.obj + 0003:00063cf0 ??_R3_CancellationTokenRegistration@details@Concurrency@@8 0085fcf0 libconcrtd:TaskCollection.obj + 0003:00063d04 ??_R2_CancellationTokenRegistration@details@Concurrency@@8 0085fd04 libconcrtd:TaskCollection.obj + 0003:00063d10 ??_R1A@?0A@EA@_CancellationTokenRegistration@details@Concurrency@@8 0085fd10 libconcrtd:TaskCollection.obj + 0003:00063d34 ??_R4_RefCounter@details@Concurrency@@6B@ 0085fd34 libconcrtd:TaskCollection.obj + 0003:00063d4c ??_R4CancellationTokenRegistration_TaskProc@details@Concurrency@@6B@ 0085fd4c libconcrtd:TaskCollection.obj + 0003:00063d64 ??_R3CancellationTokenRegistration_TaskProc@details@Concurrency@@8 0085fd64 libconcrtd:TaskCollection.obj + 0003:00063d78 ??_R2CancellationTokenRegistration_TaskProc@details@Concurrency@@8 0085fd78 libconcrtd:TaskCollection.obj + 0003:00063d88 ??_R1A@?0A@EA@CancellationTokenRegistration_TaskProc@details@Concurrency@@8 0085fd88 libconcrtd:TaskCollection.obj + 0003:00063dac ??_R4_AsyncTaskCollection@details@Concurrency@@6B@ 0085fdac libconcrtd:TaskCollection.obj + 0003:00063dc4 ??_R3_AsyncTaskCollection@details@Concurrency@@8 0085fdc4 libconcrtd:TaskCollection.obj + 0003:00063dd8 ??_R2_AsyncTaskCollection@details@Concurrency@@8 0085fdd8 libconcrtd:TaskCollection.obj + 0003:00063de4 ??_R1A@?0A@EA@_AsyncTaskCollection@details@Concurrency@@8 0085fde4 libconcrtd:TaskCollection.obj + 0003:00063e08 ??_R4?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@6B@ 0085fe08 libconcrtd:TaskCollection.obj + 0003:00063e20 ??_R3?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@8 0085fe20 libconcrtd:TaskCollection.obj + 0003:00063e34 ??_R2?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@8 0085fe34 libconcrtd:TaskCollection.obj + 0003:00063e3c ??_R1A@?0A@EA@?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@8 0085fe3c libconcrtd:TaskCollection.obj + 0003:00063e60 ??_R4ExecutionResource@details@Concurrency@@6B@ 0085fe60 libconcrtd:ExecutionResource.obj + 0003:00063e78 ??_R3ExecutionResource@details@Concurrency@@8 0085fe78 libconcrtd:ExecutionResource.obj + 0003:00063e8c ??_R2ExecutionResource@details@Concurrency@@8 0085fe8c libconcrtd:ExecutionResource.obj + 0003:00063e98 ??_R1A@?0A@EA@ExecutionResource@details@Concurrency@@8 0085fe98 libconcrtd:ExecutionResource.obj + 0003:00063ebc ??_R1A@?0A@EA@IExecutionResource@Concurrency@@8 0085febc libconcrtd:ExecutionResource.obj + 0003:00063ee0 ??_R3IExecutionResource@Concurrency@@8 0085fee0 libconcrtd:ExecutionResource.obj + 0003:00063ef4 ??_R2IExecutionResource@Concurrency@@8 0085fef4 libconcrtd:ExecutionResource.obj + 0003:00063efc ??_R4IExecutionResource@Concurrency@@6B@ 0085fefc libconcrtd:ExecutionResource.obj + 0003:00063f14 ??_R4SchedulerProxy@details@Concurrency@@6B@ 0085ff14 libconcrtd:SchedulerProxy.obj + 0003:00063f2c ??_R3SchedulerProxy@details@Concurrency@@8 0085ff2c libconcrtd:SchedulerProxy.obj + 0003:00063f40 ??_R2SchedulerProxy@details@Concurrency@@8 0085ff40 libconcrtd:SchedulerProxy.obj + 0003:00063f4c ??_R1A@?0A@EA@SchedulerProxy@details@Concurrency@@8 0085ff4c libconcrtd:SchedulerProxy.obj + 0003:00063f70 ??_R1A@?0A@EA@ISchedulerProxy@Concurrency@@8 0085ff70 libconcrtd:SchedulerProxy.obj + 0003:00063f94 ??_R3ISchedulerProxy@Concurrency@@8 0085ff94 libconcrtd:SchedulerProxy.obj + 0003:00063fa8 ??_R2ISchedulerProxy@Concurrency@@8 0085ffa8 libconcrtd:SchedulerProxy.obj + 0003:00063fb0 ??_R4ISchedulerProxy@Concurrency@@6B@ 0085ffb0 libconcrtd:SchedulerProxy.obj + 0003:00063fc8 ??_R4FreeThreadProxy@details@Concurrency@@6B@ 0085ffc8 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00063fe0 ??_R3FreeThreadProxy@details@Concurrency@@8 0085ffe0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00063ff4 ??_R2FreeThreadProxy@details@Concurrency@@8 0085fff4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064004 ??_R1A@?0A@EA@FreeThreadProxy@details@Concurrency@@8 00860004 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064028 ??_R1A@?0A@EA@ThreadProxy@details@Concurrency@@8 00860028 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0006404c ??_R3ThreadProxy@details@Concurrency@@8 0086004c libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064060 ??_R2ThreadProxy@details@Concurrency@@8 00860060 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0006406c ??_R4IThreadProxyFactory@details@Concurrency@@6B@ 0086006c libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064084 ??_R3IThreadProxyFactory@details@Concurrency@@8 00860084 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064098 ??_R2IThreadProxyFactory@details@Concurrency@@8 00860098 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000640a0 ??_R1A@?0A@EA@IThreadProxyFactory@details@Concurrency@@8 008600a0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000640c4 ??_R4FreeThreadProxyFactory@details@Concurrency@@6B@ 008600c4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000640dc ??_R3FreeThreadProxyFactory@details@Concurrency@@8 008600dc libconcrtd:ThreadProxyFactoryManager.obj + 0003:000640f0 ??_R2FreeThreadProxyFactory@details@Concurrency@@8 008600f0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064100 ??_R1A@?0A@EA@FreeThreadProxyFactory@details@Concurrency@@8 00860100 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064124 ??_R1A@?0A@EA@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 00860124 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064148 ??_R3?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 00860148 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0006415c ??_R2?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 0086015c libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064168 ??_R4UMSFreeThreadProxy@details@Concurrency@@6BUMSBaseObject@12@@ 00860168 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064180 ??_R3UMSFreeThreadProxy@details@Concurrency@@8 00860180 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064194 ??_R2UMSFreeThreadProxy@details@Concurrency@@8 00860194 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000641b4 ??_R1A@?0A@EA@UMSFreeThreadProxy@details@Concurrency@@8 008601b4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000641d8 ??_R4UMSFreeThreadProxy@details@Concurrency@@6BIUMSThreadProxy@2@@ 008601d8 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000641f0 ??_R4UMSFreeThreadProxy@details@Concurrency@@6BIUMSUnblockNotification@2@@ 008601f0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064208 ??_R4UMSFreeThreadProxyFactory@details@Concurrency@@6B@ 00860208 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064220 ??_R3UMSFreeThreadProxyFactory@details@Concurrency@@8 00860220 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064234 ??_R2UMSFreeThreadProxyFactory@details@Concurrency@@8 00860234 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064244 ??_R1A@?0A@EA@UMSFreeThreadProxyFactory@details@Concurrency@@8 00860244 libconcrtd:ThreadProxyFactoryManager.obj + 0003:00064268 ??_R1A@?0A@EA@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 00860268 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0006428c ??_R3?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 0086028c libconcrtd:ThreadProxyFactoryManager.obj + 0003:000642a0 ??_R2?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@8 008602a0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000642ac ??_R4?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@6B@ 008602ac libconcrtd:ThreadProxyFactoryManager.obj + 0003:000642c4 ??_R4?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@6B@ 008602c4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:000642dc ??_R1A@?0A@EA@InternalContextBase@details@Concurrency@@8 008602dc libconcrtd:InternalContextBase.obj + 0003:00064300 ??_R3InternalContextBase@details@Concurrency@@8 00860300 libconcrtd:InternalContextBase.obj + 0003:00064314 ??_R2InternalContextBase@details@Concurrency@@8 00860314 libconcrtd:InternalContextBase.obj + 0003:00064328 ??_R13?0A@EA@ContextBase@details@Concurrency@@8 00860328 libconcrtd:InternalContextBase.obj + 0003:0006434c ??_R13?0A@EA@Context@Concurrency@@8 0086034c libconcrtd:InternalContextBase.obj + 0003:00064370 ??_R4InternalContextBase@details@Concurrency@@6BIExecutionContext@2@@ 00860370 libconcrtd:InternalContextBase.obj + 0003:00064388 ??_R4InternalContextBase@details@Concurrency@@6BContextBase@12@@ 00860388 libconcrtd:InternalContextBase.obj + 0003:000643a0 ??_R4VirtualProcessor@details@Concurrency@@6B@ 008603a0 libconcrtd:VirtualProcessor.obj + 0003:000643b8 ??_R3VirtualProcessor@details@Concurrency@@8 008603b8 libconcrtd:VirtualProcessor.obj + 0003:000643cc ??_R2VirtualProcessor@details@Concurrency@@8 008603cc libconcrtd:VirtualProcessor.obj + 0003:000643d4 ??_R1A@?0A@EA@VirtualProcessor@details@Concurrency@@8 008603d4 libconcrtd:VirtualProcessor.obj + 0003:000643f8 ??_R4ScheduleGroupSegmentBase@details@Concurrency@@6B@ 008603f8 libconcrtd:ScheduleGroupBase.obj + 0003:00064410 ??_R4ExternalContextBase@details@Concurrency@@6B@ 00860410 libconcrtd:ExternalContextBase.obj + 0003:00064428 ??_R3ExternalContextBase@details@Concurrency@@8 00860428 libconcrtd:ExternalContextBase.obj + 0003:0006443c ??_R2ExternalContextBase@details@Concurrency@@8 0086043c libconcrtd:ExternalContextBase.obj + 0003:0006444c ??_R1A@?0A@EA@ExternalContextBase@details@Concurrency@@8 0086044c libconcrtd:ExternalContextBase.obj + 0003:00064470 ??_R4ThreadInternalContext@details@Concurrency@@6BIExecutionContext@2@@ 00860470 libconcrtd:ThreadScheduler.obj + 0003:00064488 ??_R3ThreadInternalContext@details@Concurrency@@8 00860488 libconcrtd:ThreadScheduler.obj + 0003:0006449c ??_R2ThreadInternalContext@details@Concurrency@@8 0086049c libconcrtd:ThreadScheduler.obj + 0003:000644b8 ??_R1A@?0A@EA@ThreadInternalContext@details@Concurrency@@8 008604b8 libconcrtd:ThreadScheduler.obj + 0003:000644dc ??_R4ThreadInternalContext@details@Concurrency@@6BContextBase@12@@ 008604dc libconcrtd:ThreadScheduler.obj + 0003:000644f4 ??_R4ThreadScheduler@details@Concurrency@@6BIScheduler@2@@ 008604f4 libconcrtd:ThreadScheduler.obj + 0003:0006450c ??_R3ThreadScheduler@details@Concurrency@@8 0086050c libconcrtd:ThreadScheduler.obj + 0003:00064520 ??_R2ThreadScheduler@details@Concurrency@@8 00860520 libconcrtd:ThreadScheduler.obj + 0003:00064534 ??_R1A@?0A@EA@ThreadScheduler@details@Concurrency@@8 00860534 libconcrtd:ThreadScheduler.obj + 0003:00064558 ??_R1A@?0A@EA@IScheduler@Concurrency@@8 00860558 libconcrtd:ThreadScheduler.obj + 0003:0006457c ??_R3IScheduler@Concurrency@@8 0086057c libconcrtd:ThreadScheduler.obj + 0003:00064590 ??_R2IScheduler@Concurrency@@8 00860590 libconcrtd:ThreadScheduler.obj + 0003:00064598 ??_R17?0A@EA@SchedulerBase@details@Concurrency@@8 00860598 libconcrtd:ThreadScheduler.obj + 0003:000645bc ??_R17?0A@EA@Scheduler@Concurrency@@8 008605bc libconcrtd:ThreadScheduler.obj + 0003:000645e0 ??_R4ThreadScheduler@details@Concurrency@@6BSchedulerBase@12@@ 008605e0 libconcrtd:ThreadScheduler.obj + 0003:000645f8 ??_R4IScheduler@Concurrency@@6B@ 008605f8 libconcrtd:ThreadScheduler.obj + 0003:00064610 ??_R4UMSThreadScheduler@details@Concurrency@@6BIUMSScheduler@2@@ 00860610 libconcrtd:UMSThreadScheduler.obj + 0003:00064628 ??_R3UMSThreadScheduler@details@Concurrency@@8 00860628 libconcrtd:UMSThreadScheduler.obj + 0003:0006463c ??_R2UMSThreadScheduler@details@Concurrency@@8 0086063c libconcrtd:UMSThreadScheduler.obj + 0003:00064658 ??_R1A@?0A@EA@UMSThreadScheduler@details@Concurrency@@8 00860658 libconcrtd:UMSThreadScheduler.obj + 0003:0006467c ??_R1A@?0A@EA@IUMSScheduler@Concurrency@@8 0086067c libconcrtd:UMSThreadScheduler.obj + 0003:000646a0 ??_R3IUMSScheduler@Concurrency@@8 008606a0 libconcrtd:UMSThreadScheduler.obj + 0003:000646b4 ??_R2IUMSScheduler@Concurrency@@8 008606b4 libconcrtd:UMSThreadScheduler.obj + 0003:000646c0 ??_R4UMSThreadScheduler@details@Concurrency@@6BSchedulerBase@12@@ 008606c0 libconcrtd:UMSThreadScheduler.obj + 0003:000646d8 ??_R4IUMSScheduler@Concurrency@@6B@ 008606d8 libconcrtd:UMSThreadScheduler.obj + 0003:000646f0 ??_R4UMSThreadVirtualProcessor@details@Concurrency@@6B@ 008606f0 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:00064708 ??_R3UMSThreadVirtualProcessor@details@Concurrency@@8 00860708 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0006471c ??_R2UMSThreadVirtualProcessor@details@Concurrency@@8 0086071c libconcrtd:UMSThreadVirtualProcessor.obj + 0003:00064728 ??_R1A@?0A@EA@UMSThreadVirtualProcessor@details@Concurrency@@8 00860728 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0006474c ??_R4UMSThreadInternalContext@details@Concurrency@@6BIExecutionContext@2@@ 0086074c libconcrtd:UMSThreadInternalContext.obj + 0003:00064764 ??_R3UMSThreadInternalContext@details@Concurrency@@8 00860764 libconcrtd:UMSThreadInternalContext.obj + 0003:00064778 ??_R2UMSThreadInternalContext@details@Concurrency@@8 00860778 libconcrtd:UMSThreadInternalContext.obj + 0003:00064794 ??_R1A@?0A@EA@UMSThreadInternalContext@details@Concurrency@@8 00860794 libconcrtd:UMSThreadInternalContext.obj + 0003:000647b8 ??_R4UMSThreadInternalContext@details@Concurrency@@6BContextBase@12@@ 008607b8 libconcrtd:UMSThreadInternalContext.obj + 0003:000647d0 ??_R4TransmogrifiedPrimary@details@Concurrency@@6B@ 008607d0 libconcrtd:TransmogrifiedPrimary.obj + 0003:000647e8 ??_R3TransmogrifiedPrimary@details@Concurrency@@8 008607e8 libconcrtd:TransmogrifiedPrimary.obj + 0003:000647fc ??_R2TransmogrifiedPrimary@details@Concurrency@@8 008607fc libconcrtd:TransmogrifiedPrimary.obj + 0003:00064808 ??_R1A@?0A@EA@TransmogrifiedPrimary@details@Concurrency@@8 00860808 libconcrtd:TransmogrifiedPrimary.obj + 0003:0006482c ??_R4CachedTransmogrifiedPrimary@details@Concurrency@@6B@ 0086082c libconcrtd:TransmogrifiedPrimary.obj + 0003:00064844 ??_R3CachedTransmogrifiedPrimary@details@Concurrency@@8 00860844 libconcrtd:TransmogrifiedPrimary.obj + 0003:00064858 ??_R2CachedTransmogrifiedPrimary@details@Concurrency@@8 00860858 libconcrtd:TransmogrifiedPrimary.obj + 0003:00064868 ??_R1A@?0A@EA@CachedTransmogrifiedPrimary@details@Concurrency@@8 00860868 libconcrtd:TransmogrifiedPrimary.obj + 0003:0006488c ??_R4VirtualProcessorRoot@details@Concurrency@@6B@ 0086088c libconcrtd:VirtualProcessorRoot.obj + 0003:000648a4 ??_R3VirtualProcessorRoot@details@Concurrency@@8 008608a4 libconcrtd:VirtualProcessorRoot.obj + 0003:000648b8 ??_R2VirtualProcessorRoot@details@Concurrency@@8 008608b8 libconcrtd:VirtualProcessorRoot.obj + 0003:000648c8 ??_R1A@?0A@EA@VirtualProcessorRoot@details@Concurrency@@8 008608c8 libconcrtd:VirtualProcessorRoot.obj + 0003:000648ec ??_R1A@?0A@EA@IVirtualProcessorRoot@Concurrency@@8 008608ec libconcrtd:VirtualProcessorRoot.obj + 0003:00064910 ??_R3IVirtualProcessorRoot@Concurrency@@8 00860910 libconcrtd:VirtualProcessorRoot.obj + 0003:00064924 ??_R2IVirtualProcessorRoot@Concurrency@@8 00860924 libconcrtd:VirtualProcessorRoot.obj + 0003:00064930 ??_R4IVirtualProcessorRoot@Concurrency@@6B@ 00860930 libconcrtd:VirtualProcessorRoot.obj + 0003:00064948 ??_R4FreeVirtualProcessorRoot@details@Concurrency@@6B@ 00860948 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:00064960 ??_R3FreeVirtualProcessorRoot@details@Concurrency@@8 00860960 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:00064974 ??_R2FreeVirtualProcessorRoot@details@Concurrency@@8 00860974 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:00064988 ??_R1A@?0A@EA@FreeVirtualProcessorRoot@details@Concurrency@@8 00860988 libconcrtd:FreeVirtualProcessorRoot.obj + 0003:000649ac ??_R4ThreadProxy@details@Concurrency@@6B@ 008609ac libconcrtd:ThreadProxy.obj + 0003:000649c4 ??_R4ThreadVirtualProcessor@details@Concurrency@@6B@ 008609c4 libconcrtd:ThreadVirtualProcessor.obj + 0003:000649dc ??_R3ThreadVirtualProcessor@details@Concurrency@@8 008609dc libconcrtd:ThreadVirtualProcessor.obj + 0003:000649f0 ??_R2ThreadVirtualProcessor@details@Concurrency@@8 008609f0 libconcrtd:ThreadVirtualProcessor.obj + 0003:000649fc ??_R1A@?0A@EA@ThreadVirtualProcessor@details@Concurrency@@8 008609fc libconcrtd:ThreadVirtualProcessor.obj + 0003:00064a20 ??_R4UMSSchedulerProxy@details@Concurrency@@6BIUMSCompletionList@2@@ 00860a20 libconcrtd:UMSSchedulerProxy.obj + 0003:00064a38 ??_R3UMSSchedulerProxy@details@Concurrency@@8 00860a38 libconcrtd:UMSSchedulerProxy.obj + 0003:00064a4c ??_R2UMSSchedulerProxy@details@Concurrency@@8 00860a4c libconcrtd:UMSSchedulerProxy.obj + 0003:00064a60 ??_R1A@?0A@EA@UMSSchedulerProxy@details@Concurrency@@8 00860a60 libconcrtd:UMSSchedulerProxy.obj + 0003:00064a84 ??_R1A@?0A@EA@IUMSCompletionList@Concurrency@@8 00860a84 libconcrtd:UMSSchedulerProxy.obj + 0003:00064aa8 ??_R3IUMSCompletionList@Concurrency@@8 00860aa8 libconcrtd:UMSSchedulerProxy.obj + 0003:00064abc ??_R2IUMSCompletionList@Concurrency@@8 00860abc libconcrtd:UMSSchedulerProxy.obj + 0003:00064ac4 ??_R17?0A@EA@SchedulerProxy@details@Concurrency@@8 00860ac4 libconcrtd:UMSSchedulerProxy.obj + 0003:00064ae8 ??_R17?0A@EA@ISchedulerProxy@Concurrency@@8 00860ae8 libconcrtd:UMSSchedulerProxy.obj + 0003:00064b0c ??_R4UMSSchedulerProxy@details@Concurrency@@6BSchedulerProxy@12@@ 00860b0c libconcrtd:UMSSchedulerProxy.obj + 0003:00064b24 ??_R4IUMSCompletionList@Concurrency@@6B@ 00860b24 libconcrtd:UMSSchedulerProxy.obj + 0003:00064b3c ??_R4UMSFreeVirtualProcessorRoot@details@Concurrency@@6BIThreadProxy@2@@ 00860b3c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064b54 ??_R3UMSFreeVirtualProcessorRoot@details@Concurrency@@8 00860b54 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064b68 ??_R2UMSFreeVirtualProcessorRoot@details@Concurrency@@8 00860b68 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064b88 ??_R1A@?0A@EA@UMSFreeVirtualProcessorRoot@details@Concurrency@@8 00860b88 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064bac ??_R13?0A@EA@UMSBaseObject@details@Concurrency@@8 00860bac libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064bd0 ??_R17?0A@EA@VirtualProcessorRoot@details@Concurrency@@8 00860bd0 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064bf4 ??_R17?0A@EA@IVirtualProcessorRoot@Concurrency@@8 00860bf4 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064c18 ??_R17?0A@EA@IExecutionResource@Concurrency@@8 00860c18 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064c3c ??_R4UMSFreeVirtualProcessorRoot@details@Concurrency@@6BUMSBaseObject@12@@ 00860c3c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064c54 ??_R4UMSFreeVirtualProcessorRoot@details@Concurrency@@6BVirtualProcessorRoot@12@@ 00860c54 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:00064c6c ??_R4bad_typeid@std@@6B@ 00860c6c libvcruntimed:rtti.obj + 0003:00064c84 ??_R3bad_typeid@std@@8 00860c84 libvcruntimed:rtti.obj + 0003:00064c98 ??_R2bad_typeid@std@@8 00860c98 libvcruntimed:rtti.obj + 0003:00064ca4 ??_R1A@?0A@EA@bad_typeid@std@@8 00860ca4 libvcruntimed:rtti.obj + 0003:00064cc8 ??_R4__non_rtti_object@std@@6B@ 00860cc8 libvcruntimed:rtti.obj + 0003:00064ce0 ??_R3__non_rtti_object@std@@8 00860ce0 libvcruntimed:rtti.obj + 0003:00064cf4 ??_R2__non_rtti_object@std@@8 00860cf4 libvcruntimed:rtti.obj + 0003:00064d04 ??_R1A@?0A@EA@__non_rtti_object@std@@8 00860d04 libvcruntimed:rtti.obj + 0003:00064d28 ??_R4bad_exception@std@@6B@ 00860d28 libvcruntimed:frame.obj + 0003:00064d40 ??_R3bad_exception@std@@8 00860d40 libvcruntimed:frame.obj + 0003:00064d54 ??_R2bad_exception@std@@8 00860d54 libvcruntimed:frame.obj + 0003:00064d60 ??_R1A@?0A@EA@bad_exception@std@@8 00860d60 libvcruntimed:frame.obj + 0003:00064d84 ??_R4DNameNode@@6B@ 00860d84 libvcruntimed:undname.obj + 0003:00064d9c ??_R3DNameNode@@8 00860d9c libvcruntimed:undname.obj + 0003:00064db0 ??_R2DNameNode@@8 00860db0 libvcruntimed:undname.obj + 0003:00064db8 ??_R1A@?0A@EA@DNameNode@@8 00860db8 libvcruntimed:undname.obj + 0003:00064ddc ??_R4charNode@@6B@ 00860ddc libvcruntimed:undname.obj + 0003:00064df4 ??_R3charNode@@8 00860df4 libvcruntimed:undname.obj + 0003:00064e08 ??_R2charNode@@8 00860e08 libvcruntimed:undname.obj + 0003:00064e14 ??_R1A@?0A@EA@charNode@@8 00860e14 libvcruntimed:undname.obj + 0003:00064e38 ??_R4pcharNode@@6B@ 00860e38 libvcruntimed:undname.obj + 0003:00064e50 ??_R3pcharNode@@8 00860e50 libvcruntimed:undname.obj + 0003:00064e64 ??_R2pcharNode@@8 00860e64 libvcruntimed:undname.obj + 0003:00064e70 ??_R1A@?0A@EA@pcharNode@@8 00860e70 libvcruntimed:undname.obj + 0003:00064e94 ??_R4pDNameNode@@6B@ 00860e94 libvcruntimed:undname.obj + 0003:00064eac ??_R3pDNameNode@@8 00860eac libvcruntimed:undname.obj + 0003:00064ec0 ??_R2pDNameNode@@8 00860ec0 libvcruntimed:undname.obj + 0003:00064ecc ??_R1A@?0A@EA@pDNameNode@@8 00860ecc libvcruntimed:undname.obj + 0003:00064ef0 ??_R4DNameStatusNode@@6B@ 00860ef0 libvcruntimed:undname.obj + 0003:00064f08 ??_R3DNameStatusNode@@8 00860f08 libvcruntimed:undname.obj + 0003:00064f1c ??_R2DNameStatusNode@@8 00860f1c libvcruntimed:undname.obj + 0003:00064f28 ??_R1A@?0A@EA@DNameStatusNode@@8 00860f28 libvcruntimed:undname.obj + 0003:00064f4c ??_R4pairNode@@6B@ 00860f4c libvcruntimed:undname.obj + 0003:00064f64 ??_R3pairNode@@8 00860f64 libvcruntimed:undname.obj + 0003:00064f78 ??_R2pairNode@@8 00860f78 libvcruntimed:undname.obj + 0003:00064f84 ??_R1A@?0A@EA@pairNode@@8 00860f84 libvcruntimed:undname.obj + 0003:00064fa8 ??_R3_Ref_count_base@std@@8 00860fa8 libcpmtd:excptptr.obj + 0003:00064fbc ??_R2_Ref_count_base@std@@8 00860fbc libcpmtd:excptptr.obj + 0003:00064fc4 ??_R1A@?0A@EA@_Ref_count_base@std@@8 00860fc4 libcpmtd:excptptr.obj + 0003:00064fe8 ??_R4?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@6B@ 00860fe8 libcpmtd:excptptr.obj + 0003:00065000 ??_R3?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@8 00861000 libcpmtd:excptptr.obj + 0003:00065014 ??_R2?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@8 00861014 libcpmtd:excptptr.obj + 0003:00065020 ??_R1A@?0A@EA@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@8 00861020 libcpmtd:excptptr.obj + 0003:00065044 ??_R4?$_Ref_count_obj@V__ExceptionPtr@@@std@@6B@ 00861044 libcpmtd:excptptr.obj + 0003:0006505c ??_R3?$_Ref_count_obj@V__ExceptionPtr@@@std@@8 0086105c libcpmtd:excptptr.obj + 0003:00065070 ??_R2?$_Ref_count_obj@V__ExceptionPtr@@@std@@8 00861070 libcpmtd:excptptr.obj + 0003:0006507c ??_R1A@?0A@EA@?$_Ref_count_obj@V__ExceptionPtr@@@std@@8 0086107c libcpmtd:excptptr.obj + 0003:00065538 ___rtc_iaa 00861538 LIBCMTD:initsect.obj + 0003:000657f0 ___rtc_izz 008617f0 LIBCMTD:initsect.obj + 0003:000658f4 ___rtc_taa 008618f4 LIBCMTD:initsect.obj + 0003:00065bac ___rtc_tzz 00861bac LIBCMTD:initsect.obj + 0003:00068540 __CT??_R0?AVsystem_error@std@@@8??0system_error@std@@QAE@ABV01@@Z20 00864540 MAP.obj + 0003:00068560 __CT??_R0?AV_System_error@std@@@8??0_System_error@std@@QAE@ABV01@@Z20 00864560 MAP.obj + 0003:00068580 __CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12 00864580 MAP.obj + 0003:000685a0 __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 008645a0 MAP.obj + 0003:000685c0 __TI5?AVfailure@ios_base@std@@ 008645c0 MAP.obj + 0003:000685d4 __CTA5?AVfailure@ios_base@std@@ 008645d4 MAP.obj + 0003:000685f0 __CT??_R0?AVfailure@ios_base@std@@@8??0failure@ios_base@std@@QAE@ABV012@@Z20 008645f0 MAP.obj + 0003:00068610 __TI2?AVbad_cast@std@@ 00864610 MAP.obj + 0003:00068624 __CTA2?AVbad_cast@std@@ 00864624 MAP.obj + 0003:00068634 __CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 00864634 MAP.obj + 0003:00074300 __TI2?AVbad_alloc@std@@ 00870300 libcpmtd:xthrow.obj + 0003:00074314 __CTA2?AVbad_alloc@std@@ 00870314 libcpmtd:xthrow.obj + 0003:00074324 __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 00870324 libcpmtd:xthrow.obj + 0003:00074344 __TI3?AVinvalid_argument@std@@ 00870344 libcpmtd:xthrow.obj + 0003:00074358 __CTA3?AVinvalid_argument@std@@ 00870358 libcpmtd:xthrow.obj + 0003:0007436c __CT??_R0?AVinvalid_argument@std@@@8??0invalid_argument@std@@QAE@ABV01@@Z12 0087036c libcpmtd:xthrow.obj + 0003:0007438c __CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12 0087038c libcpmtd:xthrow.obj + 0003:000743ac __TI3?AVlength_error@std@@ 008703ac libcpmtd:xthrow.obj + 0003:000743c0 __CTA3?AVlength_error@std@@ 008703c0 libcpmtd:xthrow.obj + 0003:000743d4 __CT??_R0?AVlength_error@std@@@8??0length_error@std@@QAE@ABV01@@Z12 008703d4 libcpmtd:xthrow.obj + 0003:000743f4 __TI3?AVout_of_range@std@@ 008703f4 libcpmtd:xthrow.obj + 0003:00074408 __CTA3?AVout_of_range@std@@ 00870408 libcpmtd:xthrow.obj + 0003:0007441c __CT??_R0?AVout_of_range@std@@@8??0out_of_range@std@@QAE@ABV01@@Z12 0087041c libcpmtd:xthrow.obj + 0003:0007443c __TI3?AVoverflow_error@std@@ 0087043c libcpmtd:xthrow.obj + 0003:00074450 __CTA3?AVoverflow_error@std@@ 00870450 libcpmtd:xthrow.obj + 0003:00074464 __CT??_R0?AVoverflow_error@std@@@8??0overflow_error@std@@QAE@ABV01@@Z12 00870464 libcpmtd:xthrow.obj + 0003:00074484 __TI2?AVruntime_error@std@@ 00870484 libcpmtd:xthrow.obj + 0003:00074498 __CTA2?AVruntime_error@std@@ 00870498 libcpmtd:xthrow.obj + 0003:000744a8 __TI2?AVbad_function_call@std@@ 008704a8 libcpmtd:xthrow.obj + 0003:000744bc __CTA2?AVbad_function_call@std@@ 008704bc libcpmtd:xthrow.obj + 0003:000744cc __CT??_R0?AVbad_function_call@std@@@8??0bad_function_call@std@@QAE@ABV01@@Z12 008704cc libcpmtd:xthrow.obj + 0003:000744ec __TI3?AVregex_error@std@@ 008704ec libcpmtd:xthrow.obj + 0003:00074500 __CTA3?AVregex_error@std@@ 00870500 libcpmtd:xthrow.obj + 0003:00074514 __CT??_R0?AVregex_error@std@@@8??0regex_error@std@@QAE@ABV01@@Z16 00870514 libcpmtd:xthrow.obj + 0003:000745b4 __TI4?AVsystem_error@std@@ 008705b4 libcpmtd:thread0.obj + 0003:000745c8 __CTA4?AVsystem_error@std@@ 008705c8 libcpmtd:thread0.obj + 0003:000784c0 __TI3?AVbad_array_new_length@std@@ 008744c0 LIBCMTD:throw_bad_alloc.obj + 0003:000784d4 __CTA3?AVbad_array_new_length@std@@ 008744d4 LIBCMTD:throw_bad_alloc.obj + 0003:000784e8 __CT??_R0?AVbad_array_new_length@std@@@8??0bad_array_new_length@std@@QAE@ABV01@@Z12 008744e8 LIBCMTD:throw_bad_alloc.obj + 0003:00078600 __TI2?AVimproper_lock@Concurrency@@ 00874600 libconcrtd:rtlocks.obj + 0003:00078614 __CTA2?AVimproper_lock@Concurrency@@ 00874614 libconcrtd:rtlocks.obj + 0003:00078624 __CT??_R0?AVimproper_lock@Concurrency@@@8??0improper_lock@Concurrency@@QAE@ABV01@@Z12 00874624 libconcrtd:rtlocks.obj + 0003:00078858 __TI2?AVscheduler_resource_allocation_error@Concurrency@@ 00874858 libconcrtd:Platform.obj + 0003:0007886c __CTA2?AVscheduler_resource_allocation_error@Concurrency@@ 0087486c libconcrtd:Platform.obj + 0003:0007887c __CT??_R0?AVscheduler_resource_allocation_error@Concurrency@@@8??0scheduler_resource_allocation_error@Concurrency@@QAE@ABV01@@Z16 0087487c libconcrtd:Platform.obj + 0003:00078d6c __TI2?AVinvalid_operation@Concurrency@@ 00874d6c libconcrtd:ResourceManager.obj + 0003:00078d80 __CTA2?AVinvalid_operation@Concurrency@@ 00874d80 libconcrtd:ResourceManager.obj + 0003:00078d90 __CT??_R0?AVinvalid_operation@Concurrency@@@8??0invalid_operation@Concurrency@@QAE@ABV01@@Z12 00874d90 libconcrtd:ResourceManager.obj + 0003:00078db0 __TI2?AVunsupported_os@Concurrency@@ 00874db0 libconcrtd:ResourceManager.obj + 0003:00078dc4 __CTA2?AVunsupported_os@Concurrency@@ 00874dc4 libconcrtd:ResourceManager.obj + 0003:00078dd4 __CT??_R0?AVunsupported_os@Concurrency@@@8??0unsupported_os@Concurrency@@QAE@ABV01@@Z12 00874dd4 libconcrtd:ResourceManager.obj + 0003:0007967c __TI2?AVdefault_scheduler_exists@Concurrency@@ 0087567c libconcrtd:SchedulerBase.obj + 0003:00079690 __CTA2?AVdefault_scheduler_exists@Concurrency@@ 00875690 libconcrtd:SchedulerBase.obj + 0003:000796a0 __CT??_R0?AVdefault_scheduler_exists@Concurrency@@@8??0default_scheduler_exists@Concurrency@@QAE@ABV01@@Z12 008756a0 libconcrtd:SchedulerBase.obj + 0003:000796c0 __TI2?AVimproper_scheduler_reference@Concurrency@@ 008756c0 libconcrtd:SchedulerBase.obj + 0003:000796d4 __CTA2?AVimproper_scheduler_reference@Concurrency@@ 008756d4 libconcrtd:SchedulerBase.obj + 0003:000796e4 __CT??_R0?AVimproper_scheduler_reference@Concurrency@@@8??0improper_scheduler_reference@Concurrency@@QAE@ABV01@@Z12 008756e4 libconcrtd:SchedulerBase.obj + 0003:00079704 __TI2?AVimproper_scheduler_attach@Concurrency@@ 00875704 libconcrtd:SchedulerBase.obj + 0003:00079718 __CTA2?AVimproper_scheduler_attach@Concurrency@@ 00875718 libconcrtd:SchedulerBase.obj + 0003:00079728 __CT??_R0?AVimproper_scheduler_attach@Concurrency@@@8??0improper_scheduler_attach@Concurrency@@QAE@ABV01@@Z12 00875728 libconcrtd:SchedulerBase.obj + 0003:00079748 __TI2?AVimproper_scheduler_detach@Concurrency@@ 00875748 libconcrtd:SchedulerBase.obj + 0003:0007975c __CTA2?AVimproper_scheduler_detach@Concurrency@@ 0087575c libconcrtd:SchedulerBase.obj + 0003:0007976c __CT??_R0?AVimproper_scheduler_detach@Concurrency@@@8??0improper_scheduler_detach@Concurrency@@QAE@ABV01@@Z12 0087576c libconcrtd:SchedulerBase.obj + 0003:000797e4 __TI3?AVscheduler_worker_creation_error@Concurrency@@ 008757e4 libconcrtd:UMSThreadProxy.obj + 0003:000797f8 __CTA3?AVscheduler_worker_creation_error@Concurrency@@ 008757f8 libconcrtd:UMSThreadProxy.obj + 0003:0007980c __CT??_R0?AVscheduler_worker_creation_error@Concurrency@@@8??0scheduler_worker_creation_error@Concurrency@@QAE@ABV01@@Z16 0087580c libconcrtd:UMSThreadProxy.obj + 0003:0007a058 __TI2?AVmissing_wait@Concurrency@@ 00876058 libconcrtd:TaskCollection.obj + 0003:0007a06c __CTA2?AVmissing_wait@Concurrency@@ 0087606c libconcrtd:TaskCollection.obj + 0003:0007a07c __CT??_R0?AVmissing_wait@Concurrency@@@8??0missing_wait@Concurrency@@QAE@ABV01@@Z12 0087607c libconcrtd:TaskCollection.obj + 0003:0007a09c __TI2?AVinvalid_multiple_scheduling@Concurrency@@ 0087609c libconcrtd:TaskCollection.obj + 0003:0007a0b0 __CTA2?AVinvalid_multiple_scheduling@Concurrency@@ 008760b0 libconcrtd:TaskCollection.obj + 0003:0007a0c0 __CT??_R0?AVinvalid_multiple_scheduling@Concurrency@@@8??0invalid_multiple_scheduling@Concurrency@@QAE@ABV01@@Z12 008760c0 libconcrtd:TaskCollection.obj + 0003:0007a0e0 __TI2?AV_Interruption_exception@details@Concurrency@@ 008760e0 libconcrtd:TaskCollection.obj + 0003:0007a0f4 __CTA2?AV_Interruption_exception@details@Concurrency@@ 008760f4 libconcrtd:TaskCollection.obj + 0003:0007a104 __CT??_R0?AV_Interruption_exception@details@Concurrency@@@8??0_Interruption_exception@details@Concurrency@@QAE@ABV012@@Z12 00876104 libconcrtd:TaskCollection.obj + 0003:0007a184 __TI2?AVinvalid_scheduler_policy_key@Concurrency@@ 00876184 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a198 __CTA2?AVinvalid_scheduler_policy_key@Concurrency@@ 00876198 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a1a8 __CT??_R0?AVinvalid_scheduler_policy_key@Concurrency@@@8??0invalid_scheduler_policy_key@Concurrency@@QAE@ABV01@@Z12 008761a8 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a1c8 __TI2?AVinvalid_scheduler_policy_value@Concurrency@@ 008761c8 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a1dc __CTA2?AVinvalid_scheduler_policy_value@Concurrency@@ 008761dc libconcrtd:SchedulerPolicyBase.obj + 0003:0007a1ec __CT??_R0?AVinvalid_scheduler_policy_value@Concurrency@@@8??0invalid_scheduler_policy_value@Concurrency@@QAE@ABV01@@Z12 008761ec libconcrtd:SchedulerPolicyBase.obj + 0003:0007a20c __TI2?AVinvalid_scheduler_policy_thread_specification@Concurrency@@ 0087620c libconcrtd:SchedulerPolicyBase.obj + 0003:0007a220 __CTA2?AVinvalid_scheduler_policy_thread_specification@Concurrency@@ 00876220 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a230 __CT??_R0?AVinvalid_scheduler_policy_thread_specification@Concurrency@@@8??0invalid_scheduler_policy_thread_specification@Concurrency@@QAE@ABV01@@Z12 00876230 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a8dc __TI2?AVcontext_unblock_unbalanced@Concurrency@@ 008768dc libconcrtd:InternalContextBase.obj + 0003:0007a8f0 __CTA2?AVcontext_unblock_unbalanced@Concurrency@@ 008768f0 libconcrtd:InternalContextBase.obj + 0003:0007a900 __CT??_R0?AVcontext_unblock_unbalanced@Concurrency@@@8??0context_unblock_unbalanced@Concurrency@@QAE@ABV01@@Z12 00876900 libconcrtd:InternalContextBase.obj + 0003:0007a920 __TI2?AVcontext_self_unblock@Concurrency@@ 00876920 libconcrtd:InternalContextBase.obj + 0003:0007a934 __CTA2?AVcontext_self_unblock@Concurrency@@ 00876934 libconcrtd:InternalContextBase.obj + 0003:0007a944 __CT??_R0?AVcontext_self_unblock@Concurrency@@@8??0context_self_unblock@Concurrency@@QAE@ABV01@@Z12 00876944 libconcrtd:InternalContextBase.obj + 0003:0007a964 __TI2?AVinvalid_oversubscribe_operation@Concurrency@@ 00876964 libconcrtd:InternalContextBase.obj + 0003:0007a978 __CTA2?AVinvalid_oversubscribe_operation@Concurrency@@ 00876978 libconcrtd:InternalContextBase.obj + 0003:0007a988 __CT??_R0?AVinvalid_oversubscribe_operation@Concurrency@@@8??0invalid_oversubscribe_operation@Concurrency@@QAE@ABV01@@Z12 00876988 libconcrtd:InternalContextBase.obj + 0003:0007a9a8 __TI2?AVnested_scheduler_missing_detach@Concurrency@@ 008769a8 libconcrtd:InternalContextBase.obj + 0003:0007a9bc __CTA2?AVnested_scheduler_missing_detach@Concurrency@@ 008769bc libconcrtd:InternalContextBase.obj + 0003:0007a9cc __CT??_R0?AVnested_scheduler_missing_detach@Concurrency@@@8??0nested_scheduler_missing_detach@Concurrency@@QAE@ABV01@@Z12 008769cc libconcrtd:InternalContextBase.obj + 0003:0007bc28 __TI3?AV__non_rtti_object@std@@ 00877c28 libvcruntimed:rtti.obj + 0003:0007bc3c __CTA3?AV__non_rtti_object@std@@ 00877c3c libvcruntimed:rtti.obj + 0003:0007bc50 __CT??_R0?AV__non_rtti_object@std@@@8??0__non_rtti_object@std@@QAE@ABV01@@Z12 00877c50 libvcruntimed:rtti.obj + 0003:0007bc70 __CT??_R0?AVbad_typeid@std@@@8??0bad_typeid@std@@QAE@ABV01@@Z12 00877c70 libvcruntimed:rtti.obj + 0003:0007bc90 __TI2?AVbad_typeid@std@@ 00877c90 libvcruntimed:rtti.obj + 0003:0007bca4 __CTA2?AVbad_typeid@std@@ 00877ca4 libvcruntimed:rtti.obj + 0003:0007bdb8 __TI2?AVbad_exception@std@@ 00877db8 libvcruntimed:frame.obj + 0003:0007bdcc __CTA2?AVbad_exception@std@@ 00877dcc libvcruntimed:frame.obj + 0003:0007bddc __CT??_R0?AVbad_exception@std@@@8??0bad_exception@std@@QAE@ABV01@@Z12 00877ddc libvcruntimed:frame.obj + 0004:00000000 ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAAPAXAAI@Z@4JA 0087c000 MagicProcess.obj + 0004:00000004 ?__LINE__Var@?0??GetDistance@Unit@@QAEMPAV2@@Z@4JA 0087c004 Unit.obj + 0004:00000008 ?__LINE__Var@?0??GetDistanceSqrt@Unit@@QAEMPAV2@@Z@4JA 0087c008 Unit.obj + 0004:0000000c ?__LINE__Var@?0??LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z@4JA 0087c00c N3ShapeMgr.obj + 0004:00000010 ?g_bRunning@@3_NA 0087c010 main.obj + 0004:000000ac ?s_bRunningCleanupThread@SocketMgr@@2_NA 0087c0ac shared:SocketMgr.obj + 0004:000000c0 ?__LINE__Var@?0??OnInvalidMap@SMDFile@@QAEXXZ@4JA 0087c0c0 shared:SMDFile.obj + 0004:000000c4 ?__LINE__Var@?0??start@Thread@@QAE_NP6GIPAX@Z0@Z@4JA 0087c0c4 shared:Thread.obj + 0004:000000c8 ?__LINE__Var@?0??waitForExit@Thread@@QAE_NXZ@4JA 0087c0c8 shared:Thread.obj + 0004:000000cc ?__LINE__Var@?0??_Check_memory_order@std@@YAXW4memory_order@2@@Z@4JA 0087c0cc shared:SocketWin32.obj + 0004:000005a0 ?_Sync@ios_base@std@@0_NA 0087c5a0 libcpmtd:ios.obj + 0004:000005a8 ?_PJP_CPP_Copyright@@3PADA 0087c5a8 libcpmtd:iosptrs.obj + 0004:00000614 ?_RTC_ErrorLevels@@3PAHA 0087c614 LIBCMTD:error.obj + 0004:0000062c ___security_cookie_complement 0087c62c LIBCMTD:gs_cookie.obj + 0004:00000630 ___security_cookie 0087c630 LIBCMTD:gs_cookie.obj + 0004:00000638 __fltused 0087c638 LIBCMTD:fltused.obj + 0004:0000063c ___scrt_native_dllmain_reason 0087c63c LIBCMTD:utility.obj + 0004:00000640 __Init_global_epoch 0087c640 LIBCMTD:thread_safe_statics.obj + 0004:00000650 ___isa_enabled 0087c650 LIBCMTD:cpu_disp.obj + 0004:00000654 ___scrt_default_matherr 0087c654 LIBCMTD:matherr.obj + 0004:00000658 ?_S_spinCount@_SpinCount@details@Concurrency@@2IA 0087c658 libconcrtd:rtlocks.obj + 0004:00000660 ?s_schedulerIdCount@ResourceManager@details@Concurrency@@0JC 0087c660 libconcrtd:ResourceManager.obj + 0004:00000664 ?s_executionContextIdCount@ResourceManager@details@Concurrency@@0JC 0087c664 libconcrtd:ResourceManager.obj + 0004:00000668 ?s_threadProxyIdCount@ResourceManager@details@Concurrency@@0JC 0087c668 libconcrtd:ResourceManager.obj + 0004:00000670 ?s_oneShotInitializationState@SchedulerBase@details@Concurrency@@0JA 0087c670 libconcrtd:SchedulerBase.obj + 0004:00000674 ?PolicyDefaults@details@Concurrency@@3PAIA 0087c674 libconcrtd:SchedulerPolicyBase.obj + 0004:0000069c ?PolicyElementKeyStrings@details@Concurrency@@3PAPADA 0087c69c libconcrtd:SchedulerPolicyBase.obj + 0004:00000730 __NLG_Destination 0087c730 libvcruntimed:exsup.obj + 0004:00000748 __iob 0087c748 libucrtd:_file.obj + 0004:00000824 __crtDbgFlag 0087c824 libucrtd:debug_heap.obj + 0004:00000828 __crtBreakAlloc 0087c828 libucrtd:debug_heap.obj + 0004:00000830 ___abort_behavior 0087c830 libucrtd:abort.obj + 0004:00000834 __pctype 0087c834 libucrtd:ctype.obj + 0004:00000838 __pwctype 0087c838 libucrtd:ctype.obj + 0004:00000850 ___acrt_lconv_c 0087c850 libucrtd:localeconv.obj + 0004:000008b0 ___acrt_lconv 0087c8b0 libucrtd:localeconv.obj + 0004:000008b4 ___acrt_lconv_static_decimal 0087c8b4 libucrtd:localeconv.obj + 0004:000008b8 ___acrt_lconv_static_W_decimal 0087c8b8 libucrtd:localeconv.obj + 0004:000008c4 __crtAssertBusy 0087c8c4 libucrtd:dbgrptt.obj + 0004:000008c8 __CrtDbgMode 0087c8c8 libucrtd:dbgrptt.obj + 0004:000008d8 __CrtDbgFile 0087c8d8 libucrtd:dbgrptt.obj + 0004:000008e8 ___badioinfo 0087c8e8 libucrtd:ioinit.obj + 0004:00000930 ___mb_cur_max 0087c930 libucrtd:nlsdata.obj + 0004:00000938 ___acrt_initial_locale_data 0087c938 libucrtd:nlsdata.obj + 0004:00000a14 ___acrt_initial_locale_pointers 0087ca14 libucrtd:nlsdata.obj + 0004:00000a20 ___acrt_wide_c_locale_string 0087ca20 libucrtd:nlsdata.obj + 0004:00000a30 __lookuptrailbytes 0087ca30 libucrtd:read.obj + 0004:00000b64 __pfnAllocHook 0087cb64 libucrtd:debug_heap_hook.obj + 0004:00000c38 ___globallocalestatus 0087cc38 libucrtd:glstatus.obj + 0004:00000fd0 ___acrt_initial_multibyte_data 0087cfd0 libucrtd:mbctype.obj + 0004:000013d0 ??_R0?AVByteBuffer@@@8 0087d3d0 MagicProcess.obj + 0004:000013f0 ??_R0?AVPacket@@@8 0087d3f0 MagicProcess.obj + 0004:0000140c ??_R0?AVUnit@@@8 0087d40c Unit.obj + 0004:00001424 ??_R0?AVReferenceObject@@@8 0087d424 Unit.obj + 0004:00001448 ??_R0?AVCN3ShapeMgr@@@8 0087d448 N3ShapeMgr.obj + 0004:00001468 ??_R0?AVCGameSocket@@@8 0087d468 GameSocket.obj + 0004:00001488 ??_R0?AVKOSocket@@@8 0087d488 GameSocket.obj + 0004:000014a4 ??_R0?AVSocket@@@8 0087d4a4 GameSocket.obj + 0004:000014c0 ??_R0?AVsystem_error@std@@@8 0087d4c0 MAP.obj + 0004:000014e8 ??_R0?AV_System_error@std@@@8 0087d4e8 MAP.obj + 0004:00001510 ??_R0?AVruntime_error@std@@@8 0087d510 MAP.obj + 0004:00001538 ??_R0?AVexception@std@@@8 0087d538 MAP.obj + 0004:0000155c ??_R0?AVbad_cast@std@@@8 0087d55c MAP.obj + 0004:0000157c ??_R0?AVerror_category@std@@@8 0087d57c MAP.obj + 0004:000015a4 ??_R0?AV_Generic_error_category@std@@@8 0087d5a4 MAP.obj + 0004:000015d8 ??_R0?AV_Iostream_error_category@std@@@8 0087d5d8 MAP.obj + 0004:0000160c ??_R0?AVfailure@ios_base@std@@@8 0087d60c MAP.obj + 0004:00001638 ??_R0?AVios_base@std@@@8 0087d638 MAP.obj + 0004:00001658 ??_R0?AV?$_Iosb@H@std@@@8 0087d658 MAP.obj + 0004:0000167c ??_R0?AV?$basic_ios@DU?$char_traits@D@std@@@std@@@8 0087d67c MAP.obj + 0004:000016bc ??_R0?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@@8 0087d6bc MAP.obj + 0004:00001704 ??_R0?AV?$basic_istream@DU?$char_traits@D@std@@@std@@@8 0087d704 MAP.obj + 0004:0000174c ??_R0?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@@8 0087d74c MAP.obj + 0004:00001794 ??_R0?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@8 0087d794 MAP.obj + 0004:000017dc ??_R0?AVMAP@@@8 0087d7dc MAP.obj + 0004:000017f4 ??_R0?AV_Facet_base@std@@@8 0087d7f4 MAP.obj + 0004:00001818 ??_R0?AVfacet@locale@std@@@8 0087d818 MAP.obj + 0004:00001840 ??_R0?AU_Crt_new_delete@std@@@8 0087d840 MAP.obj + 0004:00001868 ??_R0?AVcodecvt_base@std@@@8 0087d868 MAP.obj + 0004:00001890 ??_R0?AUctype_base@std@@@8 0087d890 MAP.obj + 0004:000018b4 ??_R0?AV?$ctype@D@std@@@8 0087d8b4 MAP.obj + 0004:000018d8 ??_R0?AV?$codecvt@DDU_Mbstatet@@@std@@@8 0087d8d8 MAP.obj + 0004:0000190c ??_R0?AVCNpc@@@8 0087d90c Npc.obj + 0004:00001924 ??_R0?AVThread@@@8 0087d924 NpcThread.obj + 0004:00001940 ??_R0?AVCNpcThread@@@8 0087d940 NpcThread.obj + 0004:00001960 ??_R0?AVCParty@@@8 0087d960 Party.obj + 0004:0000197c ??_R0?AVCPathFind@@@8 0087d97c PathFind.obj + 0004:00001998 ??_R0?AVCRoomEvent@@@8 0087d998 RoomEvent.obj + 0004:000019b8 ??_R0?AV?$KOSocketMgr@VCGameSocket@@@@@8 0087d9b8 ServerDlg.obj + 0004:000019ec ??_R0?AVSocketMgr@@@8 0087d9ec ServerDlg.obj + 0004:00001a08 ??_R0?AVCMagicTableSet@@@8 0087da08 ServerDlg.obj + 0004:00001a2c ??_R0?AVOdbcRecordset@@@8 0087da2c ServerDlg.obj + 0004:00001a50 ??_R0?AVCMagicType1Set@@@8 0087da50 ServerDlg.obj + 0004:00001a74 ??_R0?AVCMagicType2Set@@@8 0087da74 ServerDlg.obj + 0004:00001a98 ??_R0?AVCMagicType4Set@@@8 0087da98 ServerDlg.obj + 0004:00001abc ??_R0?AVCObjectPosSet@@@8 0087dabc ServerDlg.obj + 0004:00001ae0 ??_R0?AVCNpcPosSet@@@8 0087dae0 ServerDlg.obj + 0004:00001b00 ??_R0?AVCZoneInfoSet@@@8 0087db00 ServerDlg.obj + 0004:00001b20 ??_R0?AVCNpcItemSet@@@8 0087db20 ServerDlg.obj + 0004:00001b40 ??_R0?AVCMakeItemGroupSet@@@8 0087db40 ServerDlg.obj + 0004:00001b68 ??_R0?AVCNpcTableSet@@@8 0087db68 ServerDlg.obj + 0004:00001b88 ??_R0?AVCMonTableSet@@@8 0087db88 ServerDlg.obj + 0004:00001ba8 ??_R0?AVCMakeWeaponTableSet@@@8 0087dba8 ServerDlg.obj + 0004:00001bd0 ??_R0?AVCMakeDefensiveTableSet@@@8 0087dbd0 ServerDlg.obj + 0004:00001bfc ??_R0?AVCMakeGradeItemTableSet@@@8 0087dbfc ServerDlg.obj + 0004:00001c28 ??_R0?AVCMakeLareItemTableSet@@@8 0087dc28 ServerDlg.obj + 0004:00001c54 ??_R0?AVCServerResourceSet@@@8 0087dc54 ServerDlg.obj + 0004:00001c7c ??_R0?AVCUser@@@8 0087dc7c AIUser.obj + 0004:00001c94 ??_R0?AVSMDFile@@@8 0087dc94 shared:SMDFile.obj + 0004:00001cb0 ??_R0?AVbad_alloc@std@@@8 0087dcb0 libcpmtd:xthrow.obj + 0004:00001cd4 ??_R0?AVinvalid_argument@std@@@8 0087dcd4 libcpmtd:xthrow.obj + 0004:00001d00 ??_R0?AVlogic_error@std@@@8 0087dd00 libcpmtd:xthrow.obj + 0004:00001d24 ??_R0?AVlength_error@std@@@8 0087dd24 libcpmtd:xthrow.obj + 0004:00001d4c ??_R0?AVout_of_range@std@@@8 0087dd4c libcpmtd:xthrow.obj + 0004:00001d74 ??_R0?AVoverflow_error@std@@@8 0087dd74 libcpmtd:xthrow.obj + 0004:00001d9c ??_R0?AVbad_function_call@std@@@8 0087dd9c libcpmtd:xthrow.obj + 0004:00001dc8 ??_R0?AVregex_error@std@@@8 0087ddc8 libcpmtd:xthrow.obj + 0004:00001df0 ??_R0?AVstl_critical_section_interface@details@Concurrency@@@8 0087ddf0 libcpmtd:mutex.obj + 0004:00001e40 ??_R0?AVstl_critical_section_vista@details@Concurrency@@@8 0087de40 libcpmtd:mutex.obj + 0004:00001e8c ??_R0?AVstl_critical_section_win7@details@Concurrency@@@8 0087de8c libcpmtd:mutex.obj + 0004:00001ed4 ??_R0?AVstl_critical_section_concrt@details@Concurrency@@@8 0087ded4 libcpmtd:mutex.obj + 0004:00001f20 ??_R0?AV_System_error_category@std@@@8 0087df20 libcpmtd:xonce.obj + 0004:00001f54 ??_R0?AV_Locimp@locale@std@@@8 0087df54 libcpmtd:locale0.obj + 0004:00001f80 ??_R0?AVstl_condition_variable_interface@details@Concurrency@@@8 0087df80 libcpmtd:cond.obj + 0004:00001fd0 ??_R0?AVstl_condition_variable_vista@details@Concurrency@@@8 0087dfd0 libcpmtd:cond.obj + 0004:0000201c ??_R0?AVstl_condition_variable_win7@details@Concurrency@@@8 0087e01c libcpmtd:cond.obj + 0004:00002068 ??_R0?AVstl_condition_variable_concrt@details@Concurrency@@@8 0087e068 libcpmtd:cond.obj + 0004:000020b8 ??_R0?AV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087e0b8 libcpmtd:locale.obj + 0004:00002120 ??_R0?AV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087e120 libcpmtd:locale.obj + 0004:00002184 ??_R0?AV?$numpunct@D@std@@@8 0087e184 libcpmtd:locale.obj + 0004:000021ac ??_R0?AV?$codecvt@_WDU_Mbstatet@@@std@@@8 0087e1ac libcpmtd:wlocale.obj + 0004:000021e0 ??_R0?AV?$codecvt@GDU_Mbstatet@@@std@@@8 0087e1e0 libcpmtd:wlocale.obj + 0004:00002214 ??_R0?AV?$ctype@_W@std@@@8 0087e214 libcpmtd:wlocale.obj + 0004:00002238 ??_R0?AV?$ctype@G@std@@@8 0087e238 libcpmtd:wlocale.obj + 0004:0000225c ??_R0?AUmessages_base@std@@@8 0087e25c libcpmtd:wlocale.obj + 0004:00002284 ??_R0?AUmoney_base@std@@@8 0087e284 libcpmtd:wlocale.obj + 0004:000022a8 ??_R0?AUtime_base@std@@@8 0087e2a8 libcpmtd:wlocale.obj + 0004:000022d0 ??_R0?AV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e2d0 libcpmtd:wlocale.obj + 0004:00002338 ??_R0?AV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e338 libcpmtd:wlocale.obj + 0004:000023a0 ??_R0?AV?$numpunct@_W@std@@@8 0087e3a0 libcpmtd:wlocale.obj + 0004:000023c8 ??_R0?AV?$collate@_W@std@@@8 0087e3c8 libcpmtd:wlocale.obj + 0004:000023f0 ??_R0?AV?$messages@_W@std@@@8 0087e3f0 libcpmtd:wlocale.obj + 0004:00002418 ??_R0?AV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e418 libcpmtd:wlocale.obj + 0004:00002480 ??_R0?AV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e480 libcpmtd:wlocale.obj + 0004:000024e8 ??_R0?AV?$moneypunct@_W$0A@@std@@@8 0087e4e8 libcpmtd:wlocale.obj + 0004:00002518 ??_R0?AV?$_Mpunct@_W@std@@@8 0087e518 libcpmtd:wlocale.obj + 0004:00002540 ??_R0?AV?$moneypunct@_W$00@std@@@8 0087e540 libcpmtd:wlocale.obj + 0004:00002570 ??_R0?AV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e570 libcpmtd:wlocale.obj + 0004:000025d8 ??_R0?AV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@8 0087e5d8 libcpmtd:wlocale.obj + 0004:00002640 ??_R0?AV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e640 libcpmtd:wlocale.obj + 0004:000026a8 ??_R0?AV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e6a8 libcpmtd:wlocale.obj + 0004:0000270c ??_R0?AV?$numpunct@G@std@@@8 0087e70c libcpmtd:wlocale.obj + 0004:00002734 ??_R0?AV?$collate@G@std@@@8 0087e734 libcpmtd:wlocale.obj + 0004:00002758 ??_R0?AV?$messages@G@std@@@8 0087e758 libcpmtd:wlocale.obj + 0004:00002780 ??_R0?AV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e780 libcpmtd:wlocale.obj + 0004:000027e8 ??_R0?AV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e7e8 libcpmtd:wlocale.obj + 0004:0000284c ??_R0?AV?$moneypunct@G$0A@@std@@@8 0087e84c libcpmtd:wlocale.obj + 0004:00002878 ??_R0?AV?$_Mpunct@G@std@@@8 0087e878 libcpmtd:wlocale.obj + 0004:0000289c ??_R0?AV?$moneypunct@G$00@std@@@8 0087e89c libcpmtd:wlocale.obj + 0004:000028c8 ??_R0?AV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e8c8 libcpmtd:wlocale.obj + 0004:00002930 ??_R0?AV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@8 0087e930 libcpmtd:wlocale.obj + 0004:00002994 ??_R0?AV?$collate@D@std@@@8 0087e994 libcpmtd:xlocale.obj + 0004:000029b8 ??_R0?AV?$messages@D@std@@@8 0087e9b8 libcpmtd:xlocale.obj + 0004:000029e0 ??_R0?AV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087e9e0 libcpmtd:xlocale.obj + 0004:00002a48 ??_R0?AV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087ea48 libcpmtd:xlocale.obj + 0004:00002aac ??_R0?AV?$moneypunct@D$0A@@std@@@8 0087eaac libcpmtd:xlocale.obj + 0004:00002ad8 ??_R0?AV?$_Mpunct@D@std@@@8 0087ead8 libcpmtd:xlocale.obj + 0004:00002afc ??_R0?AV?$moneypunct@D$00@std@@@8 0087eafc libcpmtd:xlocale.obj + 0004:00002b28 ??_R0?AV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087eb28 libcpmtd:xlocale.obj + 0004:00002b90 ??_R0?AV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@8 0087eb90 libcpmtd:xlocale.obj + 0004:00002bf4 ??_R0?AVtype_info@@@8 0087ebf4 LIBCMTD:std_type_info_static.obj + 0004:00002c10 ??_R0?AVbad_array_new_length@std@@@8 0087ec10 LIBCMTD:throw_bad_alloc.obj + 0004:00002c40 ??_R0?AVimproper_lock@Concurrency@@@8 0087ec40 libconcrtd:rtlocks.obj + 0004:00002c70 ??_R0?AVWaitBlock@details@Concurrency@@@8 0087ec70 libconcrtd:event.obj + 0004:00002ca4 ??_R0?AVSingleWaitBlock@details@Concurrency@@@8 0087eca4 libconcrtd:event.obj + 0004:00002ce0 ??_R0?AVMultiWaitBlock@details@Concurrency@@@8 0087ece0 libconcrtd:event.obj + 0004:00002d1c ??_R0?AVWaitAllBlock@details@Concurrency@@@8 0087ed1c libconcrtd:event.obj + 0004:00002d54 ??_R0?AVWaitAnyBlock@details@Concurrency@@@8 0087ed54 libconcrtd:event.obj + 0004:00002d8c ??_R0?AVTimedSingleWaitBlock@details@Concurrency@@@8 0087ed8c libconcrtd:event.obj + 0004:00002dd0 ??_R0?AV?$_MallocaArrayHolder@PAVContext@Concurrency@@@details@Concurrency@@@8 0087edd0 libconcrtd:event.obj + 0004:00002e34 ??_R0?AVscheduler_resource_allocation_error@Concurrency@@@8 0087ee34 libconcrtd:Platform.obj + 0004:00002e80 ??_R0?AVscheduler_worker_creation_error@Concurrency@@@8 0087ee80 libconcrtd:Exceptions.obj + 0004:00002ec8 ??_R0?AVunsupported_os@Concurrency@@@8 0087eec8 libconcrtd:Exceptions.obj + 0004:00002efc ??_R0?AVscheduler_not_attached@Concurrency@@@8 0087eefc libconcrtd:Exceptions.obj + 0004:00002f38 ??_R0?AVimproper_scheduler_attach@Concurrency@@@8 0087ef38 libconcrtd:Exceptions.obj + 0004:00002f78 ??_R0?AVimproper_scheduler_detach@Concurrency@@@8 0087ef78 libconcrtd:Exceptions.obj + 0004:00002fb8 ??_R0?AVimproper_scheduler_reference@Concurrency@@@8 0087efb8 libconcrtd:Exceptions.obj + 0004:00002ffc ??_R0?AVdefault_scheduler_exists@Concurrency@@@8 0087effc libconcrtd:Exceptions.obj + 0004:0000303c ??_R0?AVcontext_unblock_unbalanced@Concurrency@@@8 0087f03c libconcrtd:Exceptions.obj + 0004:0000307c ??_R0?AVcontext_self_unblock@Concurrency@@@8 0087f07c libconcrtd:Exceptions.obj + 0004:000030b4 ??_R0?AVmissing_wait@Concurrency@@@8 0087f0b4 libconcrtd:Exceptions.obj + 0004:000030e4 ??_R0?AVbad_target@Concurrency@@@8 0087f0e4 libconcrtd:Exceptions.obj + 0004:00003110 ??_R0?AVmessage_not_found@Concurrency@@@8 0087f110 libconcrtd:Exceptions.obj + 0004:00003144 ??_R0?AVinvalid_link_target@Concurrency@@@8 0087f144 libconcrtd:Exceptions.obj + 0004:0000317c ??_R0?AVinvalid_scheduler_policy_key@Concurrency@@@8 0087f17c libconcrtd:Exceptions.obj + 0004:000031c0 ??_R0?AVinvalid_scheduler_policy_value@Concurrency@@@8 0087f1c0 libconcrtd:Exceptions.obj + 0004:00003208 ??_R0?AVinvalid_scheduler_policy_thread_specification@Concurrency@@@8 0087f208 libconcrtd:Exceptions.obj + 0004:00003260 ??_R0?AVnested_scheduler_missing_detach@Concurrency@@@8 0087f260 libconcrtd:Exceptions.obj + 0004:000032a8 ??_R0?AVoperation_timed_out@Concurrency@@@8 0087f2a8 libconcrtd:Exceptions.obj + 0004:000032e0 ??_R0?AVinvalid_multiple_scheduling@Concurrency@@@8 0087f2e0 libconcrtd:Exceptions.obj + 0004:00003320 ??_R0?AVinvalid_oversubscribe_operation@Concurrency@@@8 0087f320 libconcrtd:Exceptions.obj + 0004:00003368 ??_R0?AVinvalid_operation@Concurrency@@@8 0087f368 libconcrtd:ResourceManager.obj + 0004:0000339c ??_R0?AUITopologyExecutionResource@Concurrency@@@8 0087f39c libconcrtd:ResourceManager.obj + 0004:000033dc ??_R0?AUITopologyNode@Concurrency@@@8 0087f3dc libconcrtd:ResourceManager.obj + 0004:0000340c ??_R0?AUTopologyObject@GlobalCore@details@Concurrency@@@8 0087f40c libconcrtd:ResourceManager.obj + 0004:00003454 ??_R0?AUTopologyObject@GlobalNode@details@Concurrency@@@8 0087f454 libconcrtd:ResourceManager.obj + 0004:0000349c ??_R0?AVResourceManager@details@Concurrency@@@8 0087f49c libconcrtd:ResourceManager.obj + 0004:000034d8 ??_R0?AUIResourceManager@Concurrency@@@8 0087f4d8 libconcrtd:ResourceManager.obj + 0004:0000350c ??_R0?AVScheduleGroupBase@details@Concurrency@@@8 0087f50c libconcrtd:SchedulerBase.obj + 0004:0000354c ??_R0?AVScheduleGroup@Concurrency@@@8 0087f54c libconcrtd:SchedulerBase.obj + 0004:0000357c ??_R0?AVCacheLocalScheduleGroup@details@Concurrency@@@8 0087f57c libconcrtd:SchedulerBase.obj + 0004:000035c4 ??_R0?AVFairScheduleGroup@details@Concurrency@@@8 0087f5c4 libconcrtd:SchedulerBase.obj + 0004:00003604 ??_R0?AU_Chore@details@Concurrency@@@8 0087f604 libconcrtd:SchedulerBase.obj + 0004:00003638 ??_R0?AVScheduler@Concurrency@@@8 0087f638 libconcrtd:SchedulerBase.obj + 0004:00003664 ??_R0?AVRealizedChore@details@Concurrency@@@8 0087f664 libconcrtd:SchedulerBase.obj + 0004:000036a0 ??_R0?AVCacheLocalScheduleGroupSegment@details@Concurrency@@@8 0087f6a0 libconcrtd:SchedulerBase.obj + 0004:000036f0 ??_R0?AVScheduleGroupSegmentBase@details@Concurrency@@@8 0087f6f0 libconcrtd:SchedulerBase.obj + 0004:00003738 ??_R0?AVFairScheduleGroupSegment@details@Concurrency@@@8 0087f738 libconcrtd:SchedulerBase.obj + 0004:00003780 ??_R0?AVSchedulerBase@details@Concurrency@@@8 0087f780 libconcrtd:SchedulerBase.obj + 0004:000037bc ??_R0?AUIExecutionContext@Concurrency@@@8 0087f7bc libconcrtd:UMSSchedulingContext.obj + 0004:000037f0 ??_R0?AVUMSSchedulingContext@details@Concurrency@@@8 0087f7f0 libconcrtd:UMSSchedulingContext.obj + 0004:00003834 ??_R0?AUIThreadProxy@Concurrency@@@8 0087f834 libconcrtd:UMSThreadProxy.obj + 0004:00003864 ??_R0?AVUMSThreadProxy@details@Concurrency@@@8 0087f864 libconcrtd:UMSThreadProxy.obj + 0004:000038a0 ??_R0?AVUMSBaseObject@details@Concurrency@@@8 0087f8a0 libconcrtd:UMSThreadProxy.obj + 0004:000038dc ??_R0?AUIUMSThreadProxy@Concurrency@@@8 0087f8dc libconcrtd:UMSThreadProxy.obj + 0004:00003910 ??_R0?AUIUMSUnblockNotification@Concurrency@@@8 0087f910 libconcrtd:UMSThreadProxy.obj + 0004:0000394c ??_R0?AVContext@Concurrency@@@8 0087f94c libconcrtd:ContextBase.obj + 0004:00003974 ??_R0?AVContextBase@details@Concurrency@@@8 0087f974 libconcrtd:ContextBase.obj + 0004:000039ac ??_R0?AV_Interruption_exception@details@Concurrency@@@8 0087f9ac libconcrtd:TaskCollection.obj + 0004:000039f4 ??_R0?AV_RefCounterBase@details@Concurrency@@@8 0087f9f4 libconcrtd:TaskCollection.obj + 0004:00003a30 ??_R0?AV_RefCounter@details@Concurrency@@@8 0087fa30 libconcrtd:TaskCollection.obj + 0004:00003a68 ??_R0?AV_CancellationTokenRegistration@details@Concurrency@@@8 0087fa68 libconcrtd:TaskCollection.obj + 0004:00003ab8 ??_R0?AVCancellationTokenRegistration_TaskProc@details@Concurrency@@@8 0087fab8 libconcrtd:TaskCollection.obj + 0004:00003b10 ??_R0?AV_AsyncTaskCollection@details@Concurrency@@@8 0087fb10 libconcrtd:TaskCollection.obj + 0004:00003b58 ??_R0?AV?$_MallocaArrayHolder@PAVevent@Concurrency@@@details@Concurrency@@@8 0087fb58 libconcrtd:TaskCollection.obj + 0004:00003bb8 ??_R0?AVExecutionResource@details@Concurrency@@@8 0087fbb8 libconcrtd:ExecutionResource.obj + 0004:00003bf8 ??_R0?AUIExecutionResource@Concurrency@@@8 0087fbf8 libconcrtd:ExecutionResource.obj + 0004:00003c30 ??_R0?AVSchedulerProxy@details@Concurrency@@@8 0087fc30 libconcrtd:SchedulerProxy.obj + 0004:00003c6c ??_R0?AUISchedulerProxy@Concurrency@@@8 0087fc6c libconcrtd:SchedulerProxy.obj + 0004:00003ca0 ??_R0?AVFreeThreadProxy@details@Concurrency@@@8 0087fca0 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003cdc ??_R0?AVThreadProxy@details@Concurrency@@@8 0087fcdc libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003d14 ??_R0?AUIThreadProxyFactory@details@Concurrency@@@8 0087fd14 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003d54 ??_R0?AVFreeThreadProxyFactory@details@Concurrency@@@8 0087fd54 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003d98 ??_R0?AV?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@@8 0087fd98 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003e08 ??_R0?AVUMSFreeThreadProxy@details@Concurrency@@@8 0087fe08 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003e48 ??_R0?AVUMSFreeThreadProxyFactory@details@Concurrency@@@8 0087fe48 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003e90 ??_R0?AV?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@@8 0087fe90 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00003f04 ??_R0?AVInternalContextBase@details@Concurrency@@@8 0087ff04 libconcrtd:InternalContextBase.obj + 0004:00003f44 ??_R0?AVVirtualProcessor@details@Concurrency@@@8 0087ff44 libconcrtd:VirtualProcessor.obj + 0004:00003f84 ??_R0?AVExternalContextBase@details@Concurrency@@@8 0087ff84 libconcrtd:ExternalContextBase.obj + 0004:00003fc4 ??_R0?AVThreadInternalContext@details@Concurrency@@@8 0087ffc4 libconcrtd:ThreadScheduler.obj + 0004:00004008 ??_R0?AVThreadScheduler@details@Concurrency@@@8 00880008 libconcrtd:ThreadScheduler.obj + 0004:00004044 ??_R0?AUIScheduler@Concurrency@@@8 00880044 libconcrtd:ThreadScheduler.obj + 0004:00004070 ??_R0?AVUMSThreadScheduler@details@Concurrency@@@8 00880070 libconcrtd:UMSThreadScheduler.obj + 0004:000040b0 ??_R0?AUIUMSScheduler@Concurrency@@@8 008800b0 libconcrtd:UMSThreadScheduler.obj + 0004:000040e0 ??_R0?AVUMSThreadVirtualProcessor@details@Concurrency@@@8 008800e0 libconcrtd:UMSThreadVirtualProcessor.obj + 0004:00004128 ??_R0?AVUMSThreadInternalContext@details@Concurrency@@@8 00880128 libconcrtd:UMSThreadInternalContext.obj + 0004:00004170 ??_R0?AVTransmogrifiedPrimary@details@Concurrency@@@8 00880170 libconcrtd:TransmogrifiedPrimary.obj + 0004:000041b4 ??_R0?AVCachedTransmogrifiedPrimary@details@Concurrency@@@8 008801b4 libconcrtd:TransmogrifiedPrimary.obj + 0004:00004200 ??_R0?AVVirtualProcessorRoot@details@Concurrency@@@8 00880200 libconcrtd:VirtualProcessorRoot.obj + 0004:00004244 ??_R0?AUIVirtualProcessorRoot@Concurrency@@@8 00880244 libconcrtd:VirtualProcessorRoot.obj + 0004:00004280 ??_R0?AVFreeVirtualProcessorRoot@details@Concurrency@@@8 00880280 libconcrtd:FreeVirtualProcessorRoot.obj + 0004:000042c8 ??_R0?AVThreadVirtualProcessor@details@Concurrency@@@8 008802c8 libconcrtd:ThreadVirtualProcessor.obj + 0004:0000430c ??_R0?AVUMSSchedulerProxy@details@Concurrency@@@8 0088030c libconcrtd:UMSSchedulerProxy.obj + 0004:0000434c ??_R0?AUIUMSCompletionList@Concurrency@@@8 0088034c libconcrtd:UMSSchedulerProxy.obj + 0004:00004384 ??_R0?AVUMSFreeVirtualProcessorRoot@details@Concurrency@@@8 00880384 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0004:000043d0 ??_R0?AV__non_rtti_object@std@@@8 008803d0 libvcruntimed:rtti.obj + 0004:000043fc ??_R0?AVbad_typeid@std@@@8 008803fc libvcruntimed:rtti.obj + 0004:00004420 ??_R0?AVbad_exception@std@@@8 00880420 libvcruntimed:frame.obj + 0004:00004448 ??_R0?AVDNameNode@@@8 00880448 libvcruntimed:undname.obj + 0004:00004464 ??_R0?AVcharNode@@@8 00880464 libvcruntimed:undname.obj + 0004:00004480 ??_R0?AVpcharNode@@@8 00880480 libvcruntimed:undname.obj + 0004:0000449c ??_R0?AVpDNameNode@@@8 0088049c libvcruntimed:undname.obj + 0004:000044bc ??_R0?AVDNameStatusNode@@@8 008804bc libvcruntimed:undname.obj + 0004:000044e0 ??_R0?AVpairNode@@@8 008804e0 libvcruntimed:undname.obj + 0004:000044fc ??_R0?AV_Ref_count_base@std@@@8 008804fc libcpmtd:excptptr.obj + 0004:00004528 ??_R0?AV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@8 00880528 libcpmtd:excptptr.obj + 0004:0000458c ??_R0?AV?$_Ref_count_obj@V__ExceptionPtr@@@std@@@8 0088058c libcpmtd:excptptr.obj + 0004:00004778 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA 00880778 MagicProcess.obj + 0004:00004788 ?g_pMain@@3PAVCServerDlg@@A 00880788 main.obj + 0004:00004800 ?_Flag@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4PAXA 00880800 MAP.obj + 0004:00004804 ?_Storage@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4T?$_Align_type@H$07@1@A 00880804 MAP.obj + 0004:00004810 ?id@?$codecvt@DDU_Mbstatet@@@std@@2V0locale@2@A 00880810 MAP.obj + 0004:00004814 ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4U_Mbstatet@@A 00880814 MAP.obj + 0004:00004820 ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B 00880820 MAP.obj + 0004:00004824 ?_Psave@?$_Facetptr@V?$codecvt@DDU_Mbstatet@@@std@@@std@@2PBVfacet@locale@2@B 00880824 MAP.obj + 0004:00004828 ?pGetTickCount64@?1??getMSTime@@YA_JXZ@4P6G_KXZA 00880828 Npc.obj + 0004:0000482c ?vTmp@?1???X__Vector3@@QAEXABU_D3DMATRIX@@@Z@4U1@A 0088082c Npc.obj + 0004:0000483c ?$TSS0@?1???X__Vector3@@QAEXABU_D3DMATRIX@@@Z@4HA 0088083c Npc.obj + 0004:00004840 ?vTmp@?1???G__Vector3@@QBE?AU1@ABU_D3DVECTOR@@@Z@4U1@A 00880840 Npc.obj + 0004:00004850 ?$TSS0@?1???G__Vector3@@QBE?AU1@ABU_D3DVECTOR@@@Z@4HA 00880850 Npc.obj + 0004:00004858 ?g_bNpcExit@@3_NA 00880858 ServerDlg.obj + 0004:0000485c ?g_arZone@@3V?$CSTLMapOnlyLoad@VMAP@@@@A 0088085c ServerDlg.obj + 0004:00004898 ?g_timerThreads@@3V?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@A 00880898 ServerDlg.obj + 0004:00004b7c ?t@?1???$to_ptr@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@@foreach_detail_@boost@@YAAAPAV?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@ABV34@@Z@4PAV34@A 00880b7c ServerDlg.obj + 0004:00004b80 ___@@_PchSym_@00@UAAFhvieviUhvieviLhlfixvUzrhvieviUwvyftUhgwzucOlyq@4B2008FD98C1DD4 00880b80 StdAfx.obj + 0004:00004b88 ?UNIXTIME@@3_JA 00880b88 shared:TimeThread.obj + 0004:00004b90 ?g_localTime@@3Utm@@A 00880b90 shared:TimeThread.obj + 0004:0000637c ?s_cleanupThread@SocketMgr@@1VThread@@A 0088237c shared:SocketMgr.obj + 0004:00006388 ?s_disconnectionQueue@SocketMgr@@2V?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@A 00882388 shared:SocketMgr.obj + 0004:0000639c ?s_disconnectionQueueLock@SocketMgr@@2Vrecursive_mutex@std@@A 0088239c shared:SocketMgr.obj + 0004:000063cc ?s_refCounter@SocketMgr@@1V?$Atomic@I@@A 008823cc shared:SocketMgr.obj + 0004:000063e4 ?g_hNotifier@@3PAVCondition@@A 008823e4 shared:signal_handler.obj + 0004:000063e8 ?s_loadedMaps@SMDFile@@0V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@A 008823e8 shared:SMDFile.obj + 0004:00006494 ___@@_PchSym_@00@UAAFhvieviUhvieviLhlfixvUhszivwUwvyftUhgwzucOlyq@4B2008FD98C1DD4 00882494 shared:stdafx.obj + 0004:00006588 ?__stl_sync_api_impl_mode@@3W4__stl_sync_api_modes_enum@@A 00882588 libcpmtd:mutex.obj + 0004:0000658c ?_Flag@?1???$_Immortalize@V_Generic_error_category@std@@@std@@YAAAV_Generic_error_category@1@XZ@4PAXA 0088258c libcpmtd:thread0.obj + 0004:00006590 ?_Storage@?1???$_Immortalize@V_Generic_error_category@std@@@std@@YAAAV_Generic_error_category@1@XZ@4T?$_Align_type@H$07@1@A 00882590 libcpmtd:thread0.obj + 0004:0000659c ?_Flag@?1???$_Immortalize@V_System_error_category@std@@@std@@YAAAV_System_error_category@1@XZ@4PAXA 0088259c libcpmtd:xonce.obj + 0004:000065a0 ?_Storage@?1???$_Immortalize@V_System_error_category@std@@@std@@YAAAV_System_error_category@1@XZ@4T?$_Align_type@H$07@1@A 008825a0 libcpmtd:xonce.obj + 0004:000065ac ?_Id_cnt@id@locale@std@@0HA 008825ac libcpmtd:locale0.obj + 0004:000065b0 ?_Clocptr@_Locimp@locale@std@@0PAV123@A 008825b0 libcpmtd:locale0.obj + 0004:000065b4 ?id@?$ctype@G@std@@2V0locale@2@A 008825b4 libcpmtd:locale0.obj + 0004:000065b8 ?id@?$codecvt@_WDU_Mbstatet@@@std@@2V0locale@2@A 008825b8 libcpmtd:locale0.obj + 0004:000065bc ?id@?$codecvt@GDU_Mbstatet@@@std@@2V0locale@2@A 008825bc libcpmtd:locale0.obj + 0004:000065c0 ?id@?$ctype@_W@std@@2V0locale@2@A 008825c0 libcpmtd:locale0.obj + 0004:000065c4 ?id@?$ctype@D@std@@2V0locale@2@A 008825c4 libcpmtd:locale0.obj + 0004:000065e8 ?_Index@ios_base@std@@0HA 008825e8 libcpmtd:ios.obj + 0004:00006628 ?nothrow@std@@3Unothrow_t@1@B 00882628 libcpmtd:nothrow.obj + 0004:00006820 ___KERNEL32Functions 00882820 libcpmtd:winapisupp.obj + 0004:000068e0 ?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 008828e0 libcpmtd:locale.obj + 0004:000068e4 ?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 008828e4 libcpmtd:locale.obj + 0004:000068e8 ?id@?$numpunct@D@std@@2V0locale@2@A 008828e8 libcpmtd:locale.obj + 0004:000068ec ?_Psave@?$_Facetptr@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008828ec libcpmtd:locale.obj + 0004:000068f0 ?_Psave@?$_Facetptr@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008828f0 libcpmtd:locale.obj + 0004:000068f4 ?_Psave@?$_Facetptr@V?$numpunct@D@std@@@std@@2PBVfacet@locale@2@B 008828f4 libcpmtd:locale.obj + 0004:000068f8 ?_Ptr_cin@std@@3PAV?$basic_istream@DU?$char_traits@D@std@@@1@A 008828f8 libcpmtd:iosptrs.obj + 0004:000068fc ?_Ptr_cout@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A 008828fc libcpmtd:iosptrs.obj + 0004:00006900 ?_Ptr_cerr@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A 00882900 libcpmtd:iosptrs.obj + 0004:00006904 ?_Ptr_clog@std@@3PAV?$basic_ostream@DU?$char_traits@D@std@@@1@A 00882904 libcpmtd:iosptrs.obj + 0004:00006908 ?_Ptr_wcin@std@@3PAV?$basic_istream@_WU?$char_traits@_W@std@@@1@A 00882908 libcpmtd:iosptrs.obj + 0004:0000690c ?_Ptr_wcout@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A 0088290c libcpmtd:iosptrs.obj + 0004:00006910 ?_Ptr_wcerr@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A 00882910 libcpmtd:iosptrs.obj + 0004:00006914 ?_Ptr_wclog@std@@3PAV?$basic_ostream@_WU?$char_traits@_W@std@@@1@A 00882914 libcpmtd:iosptrs.obj + 0004:00006954 ?id@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 00882954 libcpmtd:wlocale.obj + 0004:00006958 ?id@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 00882958 libcpmtd:wlocale.obj + 0004:0000695c ?id@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 0088295c libcpmtd:wlocale.obj + 0004:00006960 ?id@?$numpunct@_W@std@@2V0locale@2@A 00882960 libcpmtd:wlocale.obj + 0004:00006964 ?id@?$collate@_W@std@@2V0locale@2@A 00882964 libcpmtd:wlocale.obj + 0004:00006968 ?id@?$messages@_W@std@@2V0locale@2@A 00882968 libcpmtd:wlocale.obj + 0004:0000696c ?id@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 0088296c libcpmtd:wlocale.obj + 0004:00006970 ?id@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 00882970 libcpmtd:wlocale.obj + 0004:00006974 ?id@?$moneypunct@_W$0A@@std@@2V0locale@2@A 00882974 libcpmtd:wlocale.obj + 0004:00006978 ?id@?$moneypunct@_W$00@std@@2V0locale@2@A 00882978 libcpmtd:wlocale.obj + 0004:0000697c ?id@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A 0088297c libcpmtd:wlocale.obj + 0004:00006980 ?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 00882980 libcpmtd:wlocale.obj + 0004:00006984 ?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 00882984 libcpmtd:wlocale.obj + 0004:00006988 ?id@?$numpunct@G@std@@2V0locale@2@A 00882988 libcpmtd:wlocale.obj + 0004:0000698c ?id@?$collate@G@std@@2V0locale@2@A 0088298c libcpmtd:wlocale.obj + 0004:00006990 ?id@?$messages@G@std@@2V0locale@2@A 00882990 libcpmtd:wlocale.obj + 0004:00006994 ?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 00882994 libcpmtd:wlocale.obj + 0004:00006998 ?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 00882998 libcpmtd:wlocale.obj + 0004:0000699c ?id@?$moneypunct@G$0A@@std@@2V0locale@2@A 0088299c libcpmtd:wlocale.obj + 0004:000069a0 ?id@?$moneypunct@G$00@std@@2V0locale@2@A 008829a0 libcpmtd:wlocale.obj + 0004:000069a4 ?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 008829a4 libcpmtd:wlocale.obj + 0004:000069a8 ?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A 008829a8 libcpmtd:wlocale.obj + 0004:000069ac ?_Psave@?$_Facetptr@V?$ctype@_W@std@@@std@@2PBVfacet@locale@2@B 008829ac libcpmtd:wlocale.obj + 0004:000069b0 ?_Psave@?$_Facetptr@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829b0 libcpmtd:wlocale.obj + 0004:000069b4 ?_Psave@?$_Facetptr@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829b4 libcpmtd:wlocale.obj + 0004:000069b8 ?_Psave@?$_Facetptr@V?$numpunct@_W@std@@@std@@2PBVfacet@locale@2@B 008829b8 libcpmtd:wlocale.obj + 0004:000069bc ?_Psave@?$_Facetptr@V?$collate@_W@std@@@std@@2PBVfacet@locale@2@B 008829bc libcpmtd:wlocale.obj + 0004:000069c0 ?_Psave@?$_Facetptr@V?$messages@_W@std@@@std@@2PBVfacet@locale@2@B 008829c0 libcpmtd:wlocale.obj + 0004:000069c4 ?_Psave@?$_Facetptr@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829c4 libcpmtd:wlocale.obj + 0004:000069c8 ?_Psave@?$_Facetptr@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829c8 libcpmtd:wlocale.obj + 0004:000069cc ?_Psave@?$_Facetptr@V?$moneypunct@_W$0A@@std@@@std@@2PBVfacet@locale@2@B 008829cc libcpmtd:wlocale.obj + 0004:000069d0 ?_Psave@?$_Facetptr@V?$moneypunct@_W$00@std@@@std@@2PBVfacet@locale@2@B 008829d0 libcpmtd:wlocale.obj + 0004:000069d4 ?_Psave@?$_Facetptr@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829d4 libcpmtd:wlocale.obj + 0004:000069d8 ?_Psave@?$_Facetptr@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829d8 libcpmtd:wlocale.obj + 0004:000069dc ?_Psave@?$_Facetptr@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@2PBVfacet@locale@2@B 008829dc libcpmtd:wlocale.obj + 0004:000069e0 ?_Psave@?$_Facetptr@V?$ctype@G@std@@@std@@2PBVfacet@locale@2@B 008829e0 libcpmtd:wlocale.obj + 0004:000069e4 ?_Psave@?$_Facetptr@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829e4 libcpmtd:wlocale.obj + 0004:000069e8 ?_Psave@?$_Facetptr@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829e8 libcpmtd:wlocale.obj + 0004:000069ec ?_Psave@?$_Facetptr@V?$numpunct@G@std@@@std@@2PBVfacet@locale@2@B 008829ec libcpmtd:wlocale.obj + 0004:000069f0 ?_Psave@?$_Facetptr@V?$collate@G@std@@@std@@2PBVfacet@locale@2@B 008829f0 libcpmtd:wlocale.obj + 0004:000069f4 ?_Psave@?$_Facetptr@V?$messages@G@std@@@std@@2PBVfacet@locale@2@B 008829f4 libcpmtd:wlocale.obj + 0004:000069f8 ?_Psave@?$_Facetptr@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829f8 libcpmtd:wlocale.obj + 0004:000069fc ?_Psave@?$_Facetptr@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 008829fc libcpmtd:wlocale.obj + 0004:00006a00 ?_Psave@?$_Facetptr@V?$moneypunct@G$0A@@std@@@std@@2PBVfacet@locale@2@B 00882a00 libcpmtd:wlocale.obj + 0004:00006a04 ?_Psave@?$_Facetptr@V?$moneypunct@G$00@std@@@std@@2PBVfacet@locale@2@B 00882a04 libcpmtd:wlocale.obj + 0004:00006a08 ?_Psave@?$_Facetptr@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a08 libcpmtd:wlocale.obj + 0004:00006a0c ?_Psave@?$_Facetptr@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a0c libcpmtd:wlocale.obj + 0004:00006a10 ?_Psave@?$_Facetptr@V?$codecvt@GDU_Mbstatet@@@std@@@std@@2PBVfacet@locale@2@B 00882a10 libcpmtd:wlocale.obj + 0004:00006a14 ?id@?$collate@D@std@@2V0locale@2@A 00882a14 libcpmtd:xlocale.obj + 0004:00006a18 ?id@?$messages@D@std@@2V0locale@2@A 00882a18 libcpmtd:xlocale.obj + 0004:00006a1c ?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 00882a1c libcpmtd:xlocale.obj + 0004:00006a20 ?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 00882a20 libcpmtd:xlocale.obj + 0004:00006a24 ?id@?$moneypunct@D$0A@@std@@2V0locale@2@A 00882a24 libcpmtd:xlocale.obj + 0004:00006a28 ?id@?$moneypunct@D$00@std@@2V0locale@2@A 00882a28 libcpmtd:xlocale.obj + 0004:00006a2c ?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 00882a2c libcpmtd:xlocale.obj + 0004:00006a30 ?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A 00882a30 libcpmtd:xlocale.obj + 0004:00006a34 ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B 00882a34 libcpmtd:xlocale.obj + 0004:00006a38 ?_Psave@?$_Facetptr@V?$messages@D@std@@@std@@2PBVfacet@locale@2@B 00882a38 libcpmtd:xlocale.obj + 0004:00006a3c ?_Psave@?$_Facetptr@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a3c libcpmtd:xlocale.obj + 0004:00006a40 ?_Psave@?$_Facetptr@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a40 libcpmtd:xlocale.obj + 0004:00006a44 ?_Psave@?$_Facetptr@V?$moneypunct@D$0A@@std@@@std@@2PBVfacet@locale@2@B 00882a44 libcpmtd:xlocale.obj + 0004:00006a48 ?_Psave@?$_Facetptr@V?$moneypunct@D$00@std@@@std@@2PBVfacet@locale@2@B 00882a48 libcpmtd:xlocale.obj + 0004:00006a4c ?_Psave@?$_Facetptr@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a4c libcpmtd:xlocale.obj + 0004:00006a50 ?_Psave@?$_Facetptr@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@2PBVfacet@locale@2@B 00882a50 libcpmtd:xlocale.obj + 0004:00006a58 ___scrt_current_native_startup_state 00882a58 LIBCMTD:utility.obj + 0004:00006a5c ___scrt_native_startup_lock 00882a5c LIBCMTD:utility.obj + 0004:00006e74 __tls_index 00882e74 LIBCMTD:tlssup.obj + 0004:00006e8c ___isa_available 00882e8c LIBCMTD:cpu_disp.obj + 0004:00006e90 ___favor 00882e90 LIBCMTD:cpu_disp.obj + 0004:00006e98 ___scrt_debugger_hook_flag 00882e98 LIBCMTD:utility_desktop.obj + 0004:00006ea0 ?__type_info_root_node@@3U__type_info_node@@A 00882ea0 LIBCMTD:tncleanup.obj + 0004:00006eb0 ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA 00882eb0 LIBCMTD:default_local_stdio_options.obj + 0004:00006ebc ?g_TimerQueueDemandInit@details@Concurrency@@3JC 00882ebc libconcrtd:event.obj + 0004:00006ec0 ?g_hTimerQueue@details@Concurrency@@3RAXA 00882ec0 libconcrtd:event.obj + 0004:00006ee0 ?LoadLibraryCount@details@Concurrency@@3JC 00882ee0 libconcrtd:utils.obj + 0004:00006ee4 ?HostModule@details@Concurrency@@3PAUHINSTANCE__@@A 00882ee4 libconcrtd:utils.obj + 0004:00006efc ?s_pResourceManager@ResourceManager@details@Concurrency@@0PAV123@A 00882efc libconcrtd:ResourceManager.obj + 0004:00006f00 ?s_processAffinityMask@ResourceManager@details@Concurrency@@0KA 00882f00 libconcrtd:ResourceManager.obj + 0004:00006f04 ?s_systemAffinityMask@ResourceManager@details@Concurrency@@0KA 00882f04 libconcrtd:ResourceManager.obj + 0004:00006f08 ?s_pUserAffinityRestriction@ResourceManager@details@Concurrency@@0PAUAffinityRestriction@123@A 00882f08 libconcrtd:ResourceManager.obj + 0004:00006f0c ?s_pProcessAffinityRestriction@ResourceManager@details@Concurrency@@0PAUAffinityRestriction@123@A 00882f0c libconcrtd:ResourceManager.obj + 0004:00006f10 ?s_coreCount@ResourceManager@details@Concurrency@@0IA 00882f10 libconcrtd:ResourceManager.obj + 0004:00006f14 ?s_countProcessorPackages@ResourceManager@details@Concurrency@@0_NA 00882f14 libconcrtd:ResourceManager.obj + 0004:00006f18 ?s_nodeCount@ResourceManager@details@Concurrency@@0IA 00882f18 libconcrtd:ResourceManager.obj + 0004:00006f1c ?s_numaNodeCount@ResourceManager@details@Concurrency@@0IA 00882f1c libconcrtd:ResourceManager.obj + 0004:00006f20 ?s_version@ResourceManager@details@Concurrency@@0W4OSVersion@IResourceManager@3@A 00882f20 libconcrtd:ResourceManager.obj + 0004:00006f24 ?s_logicalProcessorInformationLength@ResourceManager@details@Concurrency@@0KA 00882f24 libconcrtd:ResourceManager.obj + 0004:00006f28 ?s_pSysInfo@ResourceManager@details@Concurrency@@0PAU_SYSTEM_LOGICAL_PROCESSOR_INFORMATION@@A 00882f28 libconcrtd:ResourceManager.obj + 0004:00006f38 ?s_pDefaultScheduler@SchedulerBase@details@Concurrency@@1PAV123@A 00882f38 libconcrtd:SchedulerBase.obj + 0004:00006f3c ?s_pDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@1PAVSchedulerPolicy@3@A 00882f3c libconcrtd:SchedulerBase.obj + 0004:00006f40 ?t_dwContextIndex@SchedulerBase@details@Concurrency@@1KA 00882f40 libconcrtd:SchedulerBase.obj + 0004:00006f44 ?s_workQueueIdCounter@SchedulerBase@details@Concurrency@@0JC 00882f44 libconcrtd:SchedulerBase.obj + 0004:00006f48 ?s_initializedCount@SchedulerBase@details@Concurrency@@0JA 00882f48 libconcrtd:SchedulerBase.obj + 0004:00006f4c ?s_numExternalAllocators@SchedulerBase@details@Concurrency@@0JC 00882f4c libconcrtd:SchedulerBase.obj + 0004:00006f54 ?s_pfn_CreateUmsCompletionList@UMS@details@Concurrency@@0P6GHPAPAX@ZA 00882f54 libconcrtd:UMSWrapper.obj + 0004:00006f58 ?s_pfn_DequeueUmsCompletionListItems@UMS@details@Concurrency@@0P6GHPAXKPAPAX@ZA 00882f58 libconcrtd:UMSWrapper.obj + 0004:00006f5c ?s_pfn_GetUmsCompletionListEvent@UMS@details@Concurrency@@0P6GHPAXPAPAX@ZA 00882f5c libconcrtd:UMSWrapper.obj + 0004:00006f60 ?s_pfn_ExecuteUmsThread@UMS@details@Concurrency@@0P6GHPAX@ZA 00882f60 libconcrtd:UMSWrapper.obj + 0004:00006f64 ?s_pfn_UmsThreadYield@UMS@details@Concurrency@@0P6GHPAX@ZA 00882f64 libconcrtd:UMSWrapper.obj + 0004:00006f68 ?s_pfn_DeleteUmsCompletionList@UMS@details@Concurrency@@0P6GHPAX@ZA 00882f68 libconcrtd:UMSWrapper.obj + 0004:00006f6c ?s_pfn_GetCurrentUmsThread@UMS@details@Concurrency@@0P6GPAXXZA 00882f6c libconcrtd:UMSWrapper.obj + 0004:00006f70 ?s_pfn_GetNextUmsListItem@UMS@details@Concurrency@@0P6GPAXPAX@ZA 00882f70 libconcrtd:UMSWrapper.obj + 0004:00006f74 ?s_pfn_QueryUmsThreadInformation@UMS@details@Concurrency@@0P6GHPAXW4_RTL_UMS_THREAD_INFO_CLASS@@0KPAK@ZA 00882f74 libconcrtd:UMSWrapper.obj + 0004:00006f78 ?s_pfn_SetUmsThreadInformation@UMS@details@Concurrency@@0P6GHPAXW4_RTL_UMS_THREAD_INFO_CLASS@@0K@ZA 00882f78 libconcrtd:UMSWrapper.obj + 0004:00006f7c ?s_pfn_DeleteUmsThreadContext@UMS@details@Concurrency@@0P6GHPAX@ZA 00882f7c libconcrtd:UMSWrapper.obj + 0004:00006f80 ?s_pfn_CreateUmsThreadContext@UMS@details@Concurrency@@0P6GHPAPAX@ZA 00882f80 libconcrtd:UMSWrapper.obj + 0004:00006f84 ?s_pfn_EnterUmsSchedulingMode@UMS@details@Concurrency@@0P6GHPAU_UMS_SCHEDULER_STARTUP_INFO@@@ZA 00882f84 libconcrtd:UMSWrapper.obj + 0004:00006f88 ?s_pfn_CreateRemoteThreadEx@UMS@details@Concurrency@@0P6GPAXPAXPAU_SECURITY_ATTRIBUTES@@KP6GK0@Z0KPAU_PROC_THREAD_ATTRIBUTE_LIST@@PAK@ZA 00882f88 libconcrtd:UMSWrapper.obj + 0004:00006f8c ?s_pfn_InitializeProcThreadAttributeList@UMS@details@Concurrency@@0P6GHPAU_PROC_THREAD_ATTRIBUTE_LIST@@KKPAK@ZA 00882f8c libconcrtd:UMSWrapper.obj + 0004:00006f90 ?s_pfn_UpdateProcThreadAttribute@UMS@details@Concurrency@@0P6GHPAU_PROC_THREAD_ATTRIBUTE_LIST@@KKPAXK1PAK@ZA 00882f90 libconcrtd:UMSWrapper.obj + 0004:00006f94 ?s_pfn_DeleteProcThreadAttributeList@UMS@details@Concurrency@@0P6GXPAU_PROC_THREAD_ATTRIBUTE_LIST@@@ZA 00882f94 libconcrtd:UMSWrapper.obj + 0004:00006f98 ?s_fInitialized@UMS@details@Concurrency@@0JC 00882f98 libconcrtd:UMSWrapper.obj + 0004:00006fac ___@@_PchSym_@00@UztvmgUPdlipUDUhUrmgvinvwrzgvUexgllohUoryxlmxigOmzgrevkilqPPBEICGFBAJEUlyqwUcIGUkxsOlyq@4B2008FD98C1DD4 00882fac libconcrtd:pch.obj + 0004:00006fb0 ?s_initialized@Security@details@Concurrency@@2JC 00882fb0 libconcrtd:staticinits.obj + 0004:00006fb4 ?s_cookie@Security@details@Concurrency@@2KA 00882fb4 libconcrtd:staticinits.obj + 0004:00006fb8 ?s_schedulerLock@SchedulerBase@details@Concurrency@@0V_NonReentrantLock@23@A 00882fb8 libconcrtd:staticinits.obj + 0004:00006fbc ?s_defaultSchedulerLock@SchedulerBase@details@Concurrency@@1V_NonReentrantLock@23@A 00882fbc libconcrtd:staticinits.obj + 0004:00006fc0 ?s_subAllocatorFreePool@SchedulerBase@details@Concurrency@@0V?$LockFreeStack@VSubAllocator@details@Concurrency@@@23@A 00882fc0 libconcrtd:staticinits.obj + 0004:00006fc8 ?s_lock@ResourceManager@details@Concurrency@@0V_NonReentrantLock@23@A 00882fc8 libconcrtd:staticinits.obj + 0004:00006fcc ?s_lock@Etw@details@Concurrency@@0V_NonReentrantLock@23@A 00882fcc libconcrtd:staticinits.obj + 0004:00006fd8 ?s_pfn_RoInitialize@WinRT@details@Concurrency@@0P6GJW4RO_INIT_TYPE@@@ZA 00882fd8 libconcrtd:WinRTWrapper.obj + 0004:00006fdc ?s_pfn_RoUninitialize@WinRT@details@Concurrency@@0P6GXXZA 00882fdc libconcrtd:WinRTWrapper.obj + 0004:00006fe0 ?m_hModule@WinRT@details@Concurrency@@0PAUHINSTANCE__@@A 00882fe0 libconcrtd:WinRTWrapper.obj + 0004:00006fe4 ?s_fInitialized@WinRT@details@Concurrency@@0JC 00882fe4 libconcrtd:WinRTWrapper.obj + 0004:00006fec ?s_bucketSize@?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@1HA 00882fec libconcrtd:ThreadProxyFactoryManager.obj + 0004:00006ff0 ?s_bucketSize@?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@1HA 00882ff0 libconcrtd:ThreadProxyFactoryManager.obj + 0004:00006ff8 ?g_ConcRTPRoviderHandle@details@Concurrency@@3_KA 00882ff8 libconcrtd:Trace.obj + 0004:00007000 ?g_TraceInfo@details@Concurrency@@3U_CONCRT_TRACE_INFO@12@A 00883000 libconcrtd:Trace.obj + 0004:00007008 ?g_ConcRTSessionHandle@details@Concurrency@@3_KA 00883008 libconcrtd:Trace.obj + 0004:00007010 ?g_pEtw@details@Concurrency@@3PAVEtw@12@A 00883010 libconcrtd:Trace.obj + 0004:0000701c ?t_dwSchedulingContextIndex@UMSThreadScheduler@details@Concurrency@@0KA 0088301c libconcrtd:UMSThreadScheduler.obj + 0004:00007020 ?s_currentId@VirtualProcessorRoot@details@Concurrency@@0JA 00883020 libconcrtd:VirtualProcessorRoot.obj + 0004:00007024 ?g_InfiniteSpinOnExecuteFailure@details@Concurrency@@3HA 00883024 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0004:00007058 ___pPurecall 00883058 libvcruntimed:purevirt_data.obj + 0004:00007080 ?pArgList@UnDecorator@@0PAVReplicator@@A 00883080 libvcruntimed:undname.obj + 0004:00007084 ?pZNameList@UnDecorator@@0PAVReplicator@@A 00883084 libvcruntimed:undname.obj + 0004:00007088 ?pTemplateArgList@UnDecorator@@0PAVReplicator@@A 00883088 libvcruntimed:undname.obj + 0004:0000708c ?gName@UnDecorator@@0PBDB 0088308c libvcruntimed:undname.obj + 0004:00007090 ?name@UnDecorator@@0PBDB 00883090 libvcruntimed:undname.obj + 0004:00007094 ?disableFlags@UnDecorator@@0KA 00883094 libvcruntimed:undname.obj + 0004:00007098 ?fExplicitTemplateParams@UnDecorator@@0_NA 00883098 libvcruntimed:undname.obj + 0004:00007099 ?fGetTemplateArgumentList@UnDecorator@@0_NA 00883099 libvcruntimed:undname.obj + 0004:0000709c ?m_pGetParameter@UnDecorator@@0P6APADJ@ZA 0088309c libvcruntimed:undname.obj + 0004:000070a0 ?m_CHPENameOffset@UnDecorator@@0KA 008830a0 libvcruntimed:undname.obj + 0004:000070a4 ?m_recursionLevel@UnDecorator@@0KA 008830a4 libvcruntimed:undname.obj + 0004:00007150 ?__WinRTOutOfMemoryExceptionCallback@@3P6GPAXXZA 00883150 libvcruntimed:ehhelpers.obj + 0004:00007158 __nstream 00883158 libucrtd:_file.obj + 0004:0000715c ___piob 0088315c libucrtd:_file.obj + 0004:00007164 __cflush 00883164 libucrtd:_file.obj + 0004:00007184 __pfnDumpClient 00883184 libucrtd:debug_heap.obj + 0004:00007338 ___acrt_lconv_static_null 00883338 libucrtd:localeconv.obj + 0004:0000733c ___acrt_lconv_static_W_null 0088333c libucrtd:localeconv.obj + 0004:0000734c ?c_exit_complete@?1???R@@QBE@XZ@4_NA 0088334c libucrtd:exit.obj + 0004:00007704 __environ_table 00883704 libucrtd:environment_initialization.obj + 0004:00007708 __wenviron_table 00883708 libucrtd:environment_initialization.obj + 0004:00007710 ___dcrt_initial_wide_environment 00883710 libucrtd:environment_initialization.obj + 0004:00007714 ___dcrt_initial_narrow_environment 00883714 libucrtd:environment_initialization.obj + 0004:00007718 ___acrt_atexit_table 00883718 libucrtd:onexit.obj + 0004:00007728 ___acrt_at_quick_exit_table 00883728 libucrtd:onexit.obj + 0004:00007ea8 __pgmptr 00883ea8 libucrtd:argv_data.obj + 0004:00007eac __wpgmptr 00883eac libucrtd:argv_data.obj + 0004:00007eb0 ___argc 00883eb0 libucrtd:argv_data.obj + 0004:00007eb4 ___argv 00883eb4 libucrtd:argv_data.obj + 0004:00007eb8 ___wargv 00883eb8 libucrtd:argv_data.obj + 0004:00007ebc __acmdln 00883ebc libucrtd:argv_data.obj + 0004:00007ec0 __wcmdln 00883ec0 libucrtd:argv_data.obj + 0004:00007ec4 ___acrt_locale_changed_data 00883ec4 libucrtd:wsetlocale.obj + 0004:00007ecc __commode 00883ecc libucrtd:ncommode.obj + 0004:00007ed0 __pfnReportHook 00883ed0 libucrtd:dbgrptt.obj + 0004:00007ed4 __pReportHookList 00883ed4 libucrtd:dbgrptt.obj + 0004:00007ed8 __pReportHookListW 00883ed8 libucrtd:dbgrptt.obj + 0004:00007fe8 ___pioinfo 00883fe8 libucrtd:ioinit.obj + 0004:00008250 __nhandle 00884250 libucrtd:ioinit.obj + 0004:00008264 ___acrt_stdout_buffer 00884264 libucrtd:_sftbuf.obj + 0004:00008268 ___acrt_stderr_buffer 00884268 libucrtd:_sftbuf.obj + 0004:0000826c ___acrt_current_locale_data 0088426c libucrtd:nlsdata.obj + 0004:00008274 ___acrt_heap 00884274 libucrtd:heap_handle.obj + 0004:00008278 ?_timezone@@3V?$dual_state_global@J@__crt_state_management@@A 00884278 libucrtd:timeset.obj + 0004:0000827c ?_daylight@@3V?$dual_state_global@H@__crt_state_management@@A 0088427c libucrtd:timeset.obj + 0004:00008280 ?_dstbias@@3V?$dual_state_global@J@__crt_state_management@@A 00884280 libucrtd:timeset.obj + 0004:00008378 __mbctype 00884378 libucrtd:mbctype.obj + 0004:0000837c __mbcasemap 0088437c libucrtd:mbctype.obj + 0004:00008380 ___acrt_current_multibyte_data 00884380 libucrtd:mbctype.obj + 0004:0000838c __fmode 0088438c libucrtd:txtmode.obj + 0004:000083b4 ___fastflag 008843b4 libucrtd:fp_flags.obj + 0004:000083d4 __umaskval 008843d4 libucrtd:umask.obj + 0004:000084ec ___dyn_tls_dtor_callback 008844ec + 0004:000084f8 ___dyn_tls_init_callback 008844f8 + 0004:00008504 ___scrt_ucrt_dll_is_in_use 00884504 + 0004:00008510 ___DebuggerCurrentSteppingThreadId 00884510 + 0004:0000851c __pmatherr 0088451c + 0004:00008528 ___use_sse2_mathfcns 00884528 + 0005:00000000 __imp__ResetEvent@4 00885000 kernel32:KERNEL32.dll + 0005:00000004 __imp__SetEndOfFile@4 00885004 kernel32:KERNEL32.dll + 0005:00000008 __imp__CreateFileW@28 00885008 kernel32:KERNEL32.dll + 0005:0000000c __imp__SetStdHandle@8 0088500c kernel32:KERNEL32.dll + 0005:00000010 __imp__SetEnvironmentVariableW@8 00885010 kernel32:KERNEL32.dll + 0005:00000014 __imp__FreeEnvironmentStringsW@4 00885014 kernel32:KERNEL32.dll + 0005:00000018 __imp__GetEnvironmentStringsW@0 00885018 kernel32:KERNEL32.dll + 0005:0000001c __imp__GetOEMCP@0 0088501c kernel32:KERNEL32.dll + 0005:00000020 __imp__Sleep@4 00885020 kernel32:KERNEL32.dll + 0005:00000024 __imp__SetConsoleCtrlHandler@8 00885024 kernel32:KERNEL32.dll + 0005:00000028 __imp__SetConsoleTitleA@4 00885028 kernel32:KERNEL32.dll + 0005:0000002c __imp__GetTickCount@0 0088502c kernel32:KERNEL32.dll + 0005:00000030 __imp__FreeLibrary@4 00885030 kernel32:KERNEL32.dll + 0005:00000034 __imp__GetProcAddress@8 00885034 kernel32:KERNEL32.dll + 0005:00000038 __imp__LoadLibraryA@4 00885038 kernel32:KERNEL32.dll + 0005:0000003c __imp__CreateIoCompletionPort@16 0088503c kernel32:KERNEL32.dll + 0005:00000040 __imp__GetQueuedCompletionStatus@20 00885040 kernel32:KERNEL32.dll + 0005:00000044 __imp__PostQueuedCompletionStatus@16 00885044 kernel32:KERNEL32.dll + 0005:00000048 __imp__GetSystemInfo@4 00885048 kernel32:KERNEL32.dll + 0005:0000004c __imp__OutputDebugStringA@4 0088504c kernel32:KERNEL32.dll + 0005:00000050 __imp__GetACP@0 00885050 kernel32:KERNEL32.dll + 0005:00000054 __imp__IsValidCodePage@4 00885054 kernel32:KERNEL32.dll + 0005:00000058 __imp__FindNextFileW@8 00885058 kernel32:KERNEL32.dll + 0005:0000005c __imp__FindFirstFileExW@24 0088505c kernel32:KERNEL32.dll + 0005:00000060 __imp__FindClose@4 00885060 kernel32:KERNEL32.dll + 0005:00000064 __imp__GetTimeZoneInformation@4 00885064 kernel32:KERNEL32.dll + 0005:00000068 __imp__SetFilePointerEx@20 00885068 kernel32:KERNEL32.dll + 0005:0000006c __imp__GetFileSizeEx@8 0088506c kernel32:KERNEL32.dll + 0005:00000070 __imp__GetConsoleCP@0 00885070 kernel32:KERNEL32.dll + 0005:00000074 __imp__FlushFileBuffers@4 00885074 kernel32:KERNEL32.dll + 0005:00000078 __imp__HeapQueryInformation@20 00885078 kernel32:KERNEL32.dll + 0005:0000007c __imp__HeapSize@12 0088507c kernel32:KERNEL32.dll + 0005:00000080 __imp__HeapReAlloc@16 00885080 kernel32:KERNEL32.dll + 0005:00000084 __imp__GetFileAttributesExW@12 00885084 kernel32:KERNEL32.dll + 0005:00000088 __imp__CreateProcessW@40 00885088 kernel32:KERNEL32.dll + 0005:0000008c __imp__GetExitCodeProcess@8 0088508c kernel32:KERNEL32.dll + 0005:00000090 __imp__ReadConsoleW@20 00885090 kernel32:KERNEL32.dll + 0005:00000094 __imp__GetConsoleMode@8 00885094 kernel32:KERNEL32.dll + 0005:00000098 __imp__ReadFile@20 00885098 kernel32:KERNEL32.dll + 0005:0000009c __imp__EnumSystemLocalesW@8 0088509c kernel32:KERNEL32.dll + 0005:000000a0 __imp__GetUserDefaultLCID@0 008850a0 kernel32:KERNEL32.dll + 0005:000000a4 __imp__IsValidLocale@8 008850a4 kernel32:KERNEL32.dll + 0005:000000a8 __imp__GetTimeFormatW@24 008850a8 kernel32:KERNEL32.dll + 0005:000000ac __imp__GetDateFormatW@24 008850ac kernel32:KERNEL32.dll + 0005:000000b0 __imp__GetCommandLineW@0 008850b0 kernel32:KERNEL32.dll + 0005:000000b4 __imp__GetCommandLineA@0 008850b4 kernel32:KERNEL32.dll + 0005:000000b8 __imp__WriteFile@20 008850b8 kernel32:KERNEL32.dll + 0005:000000bc __imp__ExitProcess@4 008850bc kernel32:KERNEL32.dll + 0005:000000c0 __imp__EnterCriticalSection@4 008850c0 kernel32:KERNEL32.dll + 0005:000000c4 __imp__LeaveCriticalSection@4 008850c4 kernel32:KERNEL32.dll + 0005:000000c8 __imp__TryEnterCriticalSection@4 008850c8 kernel32:KERNEL32.dll + 0005:000000cc __imp__DeleteCriticalSection@4 008850cc kernel32:KERNEL32.dll + 0005:000000d0 __imp__GetCurrentThreadId@0 008850d0 kernel32:KERNEL32.dll + 0005:000000d4 __imp__GetLastError@0 008850d4 kernel32:KERNEL32.dll + 0005:000000d8 __imp__FormatMessageW@28 008850d8 kernel32:KERNEL32.dll + 0005:000000dc __imp__WideCharToMultiByte@32 008850dc kernel32:KERNEL32.dll + 0005:000000e0 __imp__QueryPerformanceCounter@4 008850e0 kernel32:KERNEL32.dll + 0005:000000e4 __imp__QueryPerformanceFrequency@4 008850e4 kernel32:KERNEL32.dll + 0005:000000e8 __imp__CloseHandle@4 008850e8 kernel32:KERNEL32.dll + 0005:000000ec __imp__WaitForSingleObjectEx@12 008850ec kernel32:KERNEL32.dll + 0005:000000f0 __imp__SwitchToThread@0 008850f0 kernel32:KERNEL32.dll + 0005:000000f4 __imp__GetExitCodeThread@8 008850f4 kernel32:KERNEL32.dll + 0005:000000f8 __imp__GetNativeSystemInfo@4 008850f8 kernel32:KERNEL32.dll + 0005:000000fc __imp__SetLastError@4 008850fc kernel32:KERNEL32.dll + 0005:00000100 __imp__InitializeCriticalSectionAndSpinCount@8 00885100 kernel32:KERNEL32.dll + 0005:00000104 __imp__CreateEventW@16 00885104 kernel32:KERNEL32.dll + 0005:00000108 __imp__TlsAlloc@0 00885108 kernel32:KERNEL32.dll + 0005:0000010c __imp__TlsGetValue@4 0088510c kernel32:KERNEL32.dll + 0005:00000110 __imp__TlsSetValue@8 00885110 kernel32:KERNEL32.dll + 0005:00000114 __imp__TlsFree@4 00885114 kernel32:KERNEL32.dll + 0005:00000118 __imp__GetSystemTimeAsFileTime@4 00885118 kernel32:KERNEL32.dll + 0005:0000011c __imp__GetModuleHandleW@4 0088511c kernel32:KERNEL32.dll + 0005:00000120 __imp__EncodePointer@4 00885120 kernel32:KERNEL32.dll + 0005:00000124 __imp__DecodePointer@4 00885124 kernel32:KERNEL32.dll + 0005:00000128 __imp__MultiByteToWideChar@24 00885128 kernel32:KERNEL32.dll + 0005:0000012c __imp__CompareStringW@24 0088512c kernel32:KERNEL32.dll + 0005:00000130 __imp__LCMapStringW@24 00885130 kernel32:KERNEL32.dll + 0005:00000134 __imp__GetLocaleInfoW@16 00885134 kernel32:KERNEL32.dll + 0005:00000138 __imp__GetStringTypeW@16 00885138 kernel32:KERNEL32.dll + 0005:0000013c __imp__GetCPInfo@8 0088513c kernel32:KERNEL32.dll + 0005:00000140 __imp__IsDebuggerPresent@0 00885140 kernel32:KERNEL32.dll + 0005:00000144 __imp__RaiseException@16 00885144 kernel32:KERNEL32.dll + 0005:00000148 __imp__UnhandledExceptionFilter@4 00885148 kernel32:KERNEL32.dll + 0005:0000014c __imp__SetUnhandledExceptionFilter@4 0088514c kernel32:KERNEL32.dll + 0005:00000150 __imp__GetCurrentProcess@0 00885150 kernel32:KERNEL32.dll + 0005:00000154 __imp__TerminateProcess@8 00885154 kernel32:KERNEL32.dll + 0005:00000158 __imp__IsProcessorFeaturePresent@4 00885158 kernel32:KERNEL32.dll + 0005:0000015c __imp__SetEvent@4 0088515c kernel32:KERNEL32.dll + 0005:00000160 __imp__RtlCaptureStackBackTrace@16 00885160 kernel32:KERNEL32.dll + 0005:00000164 __imp__HeapAlloc@12 00885164 kernel32:KERNEL32.dll + 0005:00000168 __imp__HeapFree@12 00885168 kernel32:KERNEL32.dll + 0005:0000016c __imp__GetProcessHeap@0 0088516c kernel32:KERNEL32.dll + 0005:00000170 __imp__VirtualQuery@12 00885170 kernel32:KERNEL32.dll + 0005:00000174 __imp__GetStartupInfoW@4 00885174 kernel32:KERNEL32.dll + 0005:00000178 __imp__GetCurrentProcessId@0 00885178 kernel32:KERNEL32.dll + 0005:0000017c __imp__InitializeSListHead@4 0088517c kernel32:KERNEL32.dll + 0005:00000180 __imp__CreateTimerQueue@0 00885180 kernel32:KERNEL32.dll + 0005:00000184 __imp__SignalObjectAndWait@16 00885184 kernel32:KERNEL32.dll + 0005:00000188 __imp__CreateThread@24 00885188 kernel32:KERNEL32.dll + 0005:0000018c __imp__SetThreadPriority@8 0088518c kernel32:KERNEL32.dll + 0005:00000190 __imp__GetThreadPriority@4 00885190 kernel32:KERNEL32.dll + 0005:00000194 __imp__GetLogicalProcessorInformation@8 00885194 kernel32:KERNEL32.dll + 0005:00000198 __imp__CreateTimerQueueTimer@28 00885198 kernel32:KERNEL32.dll + 0005:0000019c __imp__ChangeTimerQueueTimer@16 0088519c kernel32:KERNEL32.dll + 0005:000001a0 __imp__DeleteTimerQueueTimer@12 008851a0 kernel32:KERNEL32.dll + 0005:000001a4 __imp__GetNumaHighestNodeNumber@4 008851a4 kernel32:KERNEL32.dll + 0005:000001a8 __imp__GetProcessAffinityMask@12 008851a8 kernel32:KERNEL32.dll + 0005:000001ac __imp__SetThreadAffinityMask@8 008851ac kernel32:KERNEL32.dll + 0005:000001b0 __imp__RegisterWaitForSingleObject@24 008851b0 kernel32:KERNEL32.dll + 0005:000001b4 __imp__UnregisterWait@4 008851b4 kernel32:KERNEL32.dll + 0005:000001b8 __imp__OutputDebugStringW@4 008851b8 kernel32:KERNEL32.dll + 0005:000001bc __imp__GetCurrentThread@0 008851bc kernel32:KERNEL32.dll + 0005:000001c0 __imp__GetThreadTimes@20 008851c0 kernel32:KERNEL32.dll + 0005:000001c4 __imp__FreeLibraryAndExitThread@8 008851c4 kernel32:KERNEL32.dll + 0005:000001c8 __imp__GetModuleFileNameW@12 008851c8 kernel32:KERNEL32.dll + 0005:000001cc __imp__GetModuleHandleA@4 008851cc kernel32:KERNEL32.dll + 0005:000001d0 __imp__LoadLibraryExW@12 008851d0 kernel32:KERNEL32.dll + 0005:000001d4 __imp__GetVersionExW@4 008851d4 kernel32:KERNEL32.dll + 0005:000001d8 __imp__VirtualAlloc@16 008851d8 kernel32:KERNEL32.dll + 0005:000001dc __imp__VirtualProtect@16 008851dc kernel32:KERNEL32.dll + 0005:000001e0 __imp__VirtualFree@12 008851e0 kernel32:KERNEL32.dll + 0005:000001e4 __imp__SetProcessAffinityMask@8 008851e4 kernel32:KERNEL32.dll + 0005:000001e8 __imp__DuplicateHandle@28 008851e8 kernel32:KERNEL32.dll + 0005:000001ec __imp__ReleaseSemaphore@12 008851ec kernel32:KERNEL32.dll + 0005:000001f0 __imp__InterlockedPopEntrySList@4 008851f0 kernel32:KERNEL32.dll + 0005:000001f4 __imp__InterlockedPushEntrySList@8 008851f4 kernel32:KERNEL32.dll + 0005:000001f8 __imp__InterlockedFlushSList@4 008851f8 kernel32:KERNEL32.dll + 0005:000001fc __imp__QueryDepthSList@4 008851fc kernel32:KERNEL32.dll + 0005:00000200 __imp__UnregisterWaitEx@8 00885200 kernel32:KERNEL32.dll + 0005:00000204 __imp__WaitForMultipleObjectsEx@20 00885204 kernel32:KERNEL32.dll + 0005:00000208 __imp__LoadLibraryW@4 00885208 kernel32:KERNEL32.dll + 0005:0000020c __imp__WaitForSingleObject@8 0088520c kernel32:KERNEL32.dll + 0005:00000210 __imp__RtlUnwind@16 00885210 kernel32:KERNEL32.dll + 0005:00000214 __imp__GetModuleHandleExW@12 00885214 kernel32:KERNEL32.dll + 0005:00000218 __imp__GetStdHandle@4 00885218 kernel32:KERNEL32.dll + 0005:0000021c __imp__GetFileType@4 0088521c kernel32:KERNEL32.dll + 0005:00000220 __imp__WriteConsoleW@20 00885220 kernel32:KERNEL32.dll + 0005:00000224 __imp__HeapValidate@12 00885224 kernel32:KERNEL32.dll + 0005:00000228 __imp__ExitThread@4 00885228 kernel32:KERNEL32.dll + 0005:0000022c __imp__ResumeThread@4 0088522c kernel32:KERNEL32.dll + 0005:00000230 \177KERNEL32_NULL_THUNK_DATA 00885230 kernel32:KERNEL32.dll + 0005:000002cc __imp__SQLAllocHandle@12 008852cc odbc32:ODBC32.dll + 0005:000002d0 __imp__SQLCloseCursor@4 008852d0 odbc32:ODBC32.dll + 0005:000002d4 __imp__SQLExecDirect@12 008852d4 odbc32:ODBC32.dll + 0005:000002d8 __imp__SQLExecute@4 008852d8 odbc32:ODBC32.dll + 0005:000002dc __imp__SQLFetch@4 008852dc odbc32:ODBC32.dll + 0005:000002e0 __imp__SQLFreeHandle@8 008852e0 odbc32:ODBC32.dll + 0005:000002e4 __imp__SQLGetData@24 008852e4 odbc32:ODBC32.dll + 0005:000002e8 __imp__SQLPrepare@12 008852e8 odbc32:ODBC32.dll + 0005:000002ec __imp__SQLBindParameter@40 008852ec odbc32:ODBC32.dll + 0005:000002f0 __imp__SQLDisconnect@4 008852f0 odbc32:ODBC32.dll + 0005:000002f4 __imp__SQLGetDiagRec@32 008852f4 odbc32:ODBC32.dll + 0005:000002f8 __imp__SQLDriverConnect@32 008852f8 odbc32:ODBC32.dll + 0005:000002fc __imp__SQLSetEnvAttr@16 008852fc odbc32:ODBC32.dll + 0005:00000300 __imp__SQLSetConnectAttr@16 00885300 odbc32:ODBC32.dll + 0005:00000304 __imp__SQLMoreResults@4 00885304 odbc32:ODBC32.dll + 0005:00000308 \177ODBC32_NULL_THUNK_DATA 00885308 odbc32:ODBC32.dll + 0005:00000340 __imp__WSACleanup@0 00885340 ws2_32:WS2_32.dll + 0005:00000344 __imp__WSASend@28 00885344 ws2_32:WS2_32.dll + 0005:00000348 __imp__connect@12 00885348 ws2_32:WS2_32.dll + 0005:0000034c __imp__inet_ntoa@4 0088534c ws2_32:WS2_32.dll + 0005:00000350 __imp__WSAStartup@8 00885350 ws2_32:WS2_32.dll + 0005:00000354 __imp__ioctlsocket@12 00885354 ws2_32:WS2_32.dll + 0005:00000358 __imp__setsockopt@20 00885358 ws2_32:WS2_32.dll + 0005:0000035c __imp__shutdown@8 0088535c ws2_32:WS2_32.dll + 0005:00000360 __imp__WSAGetLastError@0 00885360 ws2_32:WS2_32.dll + 0005:00000364 __imp__WSARecv@28 00885364 ws2_32:WS2_32.dll + 0005:00000368 __imp__closesocket@4 00885368 ws2_32:WS2_32.dll + 0005:0000036c __imp__htonl@4 0088536c ws2_32:WS2_32.dll + 0005:00000370 __imp__WSASocketA@24 00885370 ws2_32:WS2_32.dll + 0005:00000374 __imp__WSAAccept@20 00885374 ws2_32:WS2_32.dll + 0005:00000378 __imp__gethostbyname@4 00885378 ws2_32:WS2_32.dll + 0005:0000037c __imp__ntohs@4 0088537c ws2_32:WS2_32.dll + 0005:00000380 __imp__listen@8 00885380 ws2_32:WS2_32.dll + 0005:00000384 __imp__bind@12 00885384 ws2_32:WS2_32.dll + 0005:00000388 \177WS2_32_NULL_THUNK_DATA 00885388 ws2_32:WS2_32.dll + 0005:000003c0 __IMPORT_DESCRIPTOR_WS2_32 008853c0 ws2_32:WS2_32.dll + 0005:000003d4 __IMPORT_DESCRIPTOR_KERNEL32 008853d4 kernel32:KERNEL32.dll + 0005:000003e8 __IMPORT_DESCRIPTOR_ODBC32 008853e8 odbc32:ODBC32.dll + 0005:000003fc __NULL_IMPORT_DESCRIPTOR 008853fc ws2_32:WS2_32.dll + 0007:00000000 __tls_start 00888000 LIBCMTD:tlssup.obj + 0007:00000104 __Init_thread_epoch 00888104 LIBCMTD:thread_safe_statics.obj + 0007:00000208 __tls_end 00888208 LIBCMTD:tlssup.obj + 0008:00000000 ___guard_check_icall_fptr 00889000 LIBCMTD:guard_support.obj + + entry point at 0002:0000a3ac + + Static symbols + + 0003:ffc04000 __catchsym$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z$2 00400000 shared:SocketMgr.obj + 0000:ffb76000 _volmd 00400000 libucrtd:new_mode.obj + 0000:ffb76000 _volmd 00400000 libucrtd:new_mode.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wsetlocale.obj + 0003:ffc04000 __unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??1_Locinfo@std@@QAE@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:wsetlocale.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 libcpmtd:xlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setmode.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setmode.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 f libcpmtd:xlocale.obj + 0003:ffc04000 __unwindtable$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@XZ 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 f libcpmtd:xlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:report_runtime_error.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z$0 00400000 f libcpmtd:xlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initialization.obj + 0002:ffebc000 __ehhandler$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXH@Z 00400000 f libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:initialization.obj + 0002:ffebc000 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1_Locinfo@std@@QAE@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0 00400000 f libcpmtd:xlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:onexit.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids____dcrt_uninitialize_environments_nolock 00400000 libucrtd:environment_initialization.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@2@AAU32@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@AAV10@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$addressof@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@0@AAU10@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:exit.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@ABV10@@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:exit.obj + 0000:ffb76000 _volmd 00400000 libucrtd:exit.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$forward@AAI@std@@YAAAIAAI@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcsftime.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strftime.obj + 0003:ffc04000 __ehfuncinfo$??1_Locinfo@std@@QAE@XZ 00400000 libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strftime.obj + 0003:ffc04000 __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$forward@ABU?$less@I@std@@@std@@YAABU?$less@I@0@ABU10@@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f libcpmtd:wlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$0BI@@std@@YAII@Z 00400000 f shared:SMDFile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0000:ffb76000 _volmd 00400000 libucrtd:strtod.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ldexp.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initctype.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fputs.obj + 0000:ffb76000 _volmd 00400000 libucrtd:thread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:thread.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids___beginthreadex 00400000 libucrtd:thread.obj + 0000:ffb79000 __guard_fids___beginthread 00400000 libucrtd:thread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:feoferr.obj + 0000:ffb79000 __guard_fids__signal 00400000 libucrtd:signal.obj + 0000:ffb76000 _volmd 00400000 libucrtd:time.obj + 0002:ffebc000 __ehhandler$??1_Locinfo@std@@QAE@XZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0 00400000 f libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids_?get_terminate_or_default@@YAP6AXXZQBU__acrt_ptd@@@Z 00400000 libucrtd:terminate.obj + 0000:ffb76000 _volmd 00400000 libucrtd:terminate.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ungetc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ungetc.obj + 0002:ffebc000 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 00400000 f shared:SMDFile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ungetc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setvbuf.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setvbuf.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fwrite.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fwrite.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:wlocale.obj + 0003:ffc04000 __catchsym$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z$2 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f NpcMagicProcess.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fseek.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fseek.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f libcpmtd:wlocale.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fputc.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f libcpmtd:wlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fgetc.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f libcpmtd:wlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:iosptrs.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fflush.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fflush.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fflush.obj + 0000:ffb79000 __guard_fids_??__Einit_atexit@@YAXXZ 00400000 libcpmtd:iosptrs.obj + 0000:ffb79000 __guard_fids_??__Einitlocks@std@@YAXXZ 00400000 libcpmtd:iosptrs.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0003:ffc04000 ??id$initializer$@?$codecvt@DDU_Mbstatet@@@std@@2P6AXXZA@@3P6AXXZA 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$0BE@@std@@YAII@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __catchsym$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z$2 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0002:ffebc000 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 00400000 ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??$forward@I@std@@YA$$QAIAAI@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU32@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cfout.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:sse2_initializer.obj + 0000:ffb79000 __guard_fids____libm_error_support 00400000 libucrtd:libm_error.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU32@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??1ReferenceObject@@UAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fclose.obj + 0000:ffb76000 _volmd 00400000 libucrtd:free.obj + 0000:ffb76000 _volmd 00400000 libucrtd:debug_heap.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:debug_heap.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400000 libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:debug_heap.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:tstring.obj + 0003:ffc04000 __unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??0locale@std@@QAE@XZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??1_Locinfo@std@@QAE@XZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 f libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:system.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?size@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?empty@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00400000 shared:SMDFile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:system.obj + 0000:ffb76000 _volmd 00400000 libucrtd:system.obj + 0000:ffb76000 _volmd 00400000 libucrtd:system.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fread.obj + 0002:ffebc000 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z$0 00400000 f libcpmtd:locale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:assert.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z$0 00400000 f libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??0locale@std@@QAE@XZ 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??1_Locinfo@std@@QAE@XZ 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:locale.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f libcpmtd:locale.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f libcpmtd:locale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:winapisupp.obj + 0000:ffb79000 __guard_fids___Thrd_create 00400000 libcpmtd:cthread.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:cond.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:cond.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:cond.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libcpmtd:cond.obj + 0000:ffb79000 __guard_fids_??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libcpmtd:cond.obj + 0002:ffebc000 __ehhandler$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 f libcpmtd:cond.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:nothrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale0.obj + 0003:ffc04000 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@2@AAU32@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@AAV10@@Z 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale0.obj + 0003:ffc04000 __ehfuncinfo$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_OBJECT_EVENT@@@0@AAU10@@Z 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:locale0.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids_??__Eclassic_locale@std@@YAXXZ 00400000 libcpmtd:locale0.obj + 0000:ffb79000 __guard_fids_?_Setgloballocale@locale@std@@CAXPAX@Z 00400000 libcpmtd:locale0.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@0@ABV10@@Z 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids_??__E_Fac_tidy_reg@std@@YAXXZ 00400000 libcpmtd:locale0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AAI@std@@YAAAIAAI@Z 00400000 shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABU?$less@I@std@@@std@@YAABU?$less@I@0@ABU10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids_??$_Immortalize@V_System_error_category@std@@@std@@YAAAV_System_error_category@0@XZ 00400000 libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids_??$_Immortalize@V_Generic_error_category@std@@@std@@YAAAV_Generic_error_category@0@XZ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __unwindtable$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?generic_category@std@@YAABVerror_category@1@XZ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$0BI@@std@@YAII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __unwindfunclet$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$1 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$0 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$?generic_category@std@@YAABVerror_category@1@XZ 00400000 f libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@0@AAPAU10@@Z 00400000 shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f libcpmtd:xonce.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f libcpmtd:xonce.obj + 0003:ffc04000 __ehfuncinfo$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f libcpmtd:xonce.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids_??$_Immortalize@V_Generic_error_category@std@@@std@@YAAAV_Generic_error_category@0@XZ 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __unwindtable$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __unwindtable$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$0BE@@std@@YAII@Z 00400000 shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f libcpmtd:thread0.obj + 0003:ffc04000 __ehfuncinfo$??$forward@I@std@@YA$$QAIAAI@Z 00400000 shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$1 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$0 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f libcpmtd:thread0.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f libcpmtd:thread0.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:mutex.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:mutex.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:mutex.obj + 0000:ffb79000 __guard_fids_??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libcpmtd:mutex.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrpt.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrpt.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrpt.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrpt.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xthrow.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlock.obj + 0000:ffb79000 __guard_fids_??__Einitlocks@std@@YAXXZ 00400000 libcpmtd:xlock.obj + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb76000 _volmd 00400000 libucrtd:invalid_parameter.obj + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0003:ffc04000 __unwindtable$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cenvarg.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cenvarg.obj + 0003:ffc04000 __unwindtable$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 00400000 ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cenvarg.obj + 0003:ffc04000 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU32@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:ehhelpers.obj + 0000:ffb79000 __guard_fids_?get_unexpected_or_default@@YAP6AXXZQBU__vcrt_ptd@@@Z 00400000 libvcruntimed:unexpected.obj + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0003:ffc04000 __unwindtable$??0Packet@@QAE@EE@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Traits_equal@U?$char_traits@D@std@@@std@@YA_NQBDI0I@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?clear@?$vector@EV?$allocator@E@std@@@std@@QAEXXZ 00400000 ServerDlg.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@I@Z 00400000 ServerDlg.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f NpcMagicProcess.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@IV?$allocator@I@std@@@std@@AAEXXZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 odbc32:ODBC32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??1thread@std@@QAE@XZ 00400000 f shared:Thread.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?joinable@thread@std@@QBE_NXZ 00400000 f shared:Thread.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __unwindfunclet$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z$0 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f NpcMagicProcess.obj + 0002:ffebc000 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@XZ 00400000 f ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??1Thread@@UAE@XZ 00400000 f shared:Thread.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids____except_validate_jump_buffer 00400000 libvcruntimed:jbcxrval.obj + 0000:ffb79000 __guard_fids___guard_icall_checks_enforced 00400000 libvcruntimed:jbcxrval.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:jbcxrval.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:frame.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:frame.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:frame.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:frame.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:frame.obj + 0000:ffb79000 __guard_fids____vcrt_initialize_ptd 00400000 libvcruntimed:per_thread_data.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:rtti.obj + 0000:ffb79000 __guard_fids_??B_Closure_wrapper_b3626920_2@@QBEP6AXQAX@ZXZ 00400000 libvcruntimed:std_type_info.obj + 0000:ffb79000 __guard_fids_??B_Closure_wrapper_b3626920_1@@QBEP6APAXI@ZXZ 00400000 libvcruntimed:std_type_info.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:ffebc000 __ehhandler$??$?0U_Exact_args_t@std@@$0A@@?$tuple@$$V@std@@QAE@U_Exact_args_t@1@@Z 00400000 f shared:Thread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:ffc04000 __ehfuncinfo$??1thread@std@@QAE@XZ 00400000 shared:Thread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:ffc04000 __ehfuncinfo$?joinable@thread@std@@QBE_NXZ 00400000 shared:Thread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:ffc04000 __ehfuncinfo$??1Thread@@UAE@XZ 00400000 shared:Thread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:ffc04000 __ehfuncinfo$??$?0U_Exact_args_t@std@@$0A@@?$tuple@$$V@std@@QAE@U_Exact_args_t@1@@Z 00400000 shared:Thread.obj + 0000:ffb79000 __guard_fids_?PrimaryMain@UMSFreeVirtualProcessorRoot@details@Concurrency@@CGKPAX@Z 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids_?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids_?AcquireActivatedContext@VirtualProcessorRoot@details@Concurrency@@QAEPAUIExecutionContext@3@XZ 00400000 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0003:ffc04000 __unwindtable$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400000 libconcrtd:UMSBackgroundPoller.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:UMSBackgroundPoller.obj + 0002:ffebc000 __unwindfunclet$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 00400000 f libconcrtd:UMSBackgroundPoller.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:UMSBackgroundPoller.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadVirtualProcessor.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:location.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:location.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:location.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:location.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:location.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:SearchAlgorithms.obj + 0003:ffc04000 __unwindtable$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00400000 libconcrtd:SearchAlgorithms.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:SearchAlgorithms.obj + 0003:ffc04000 __unwindtable$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00400000 libconcrtd:SearchAlgorithms.obj + 0000:ffb79000 __guard_fids_?Reset@WorkSearchContext@details@Concurrency@@QAEXPAVVirtualProcessor@23@W4Algorithm@123@@Z 00400000 libconcrtd:SearchAlgorithms.obj + 0003:ffc04000 __unwindtable$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400000 libconcrtd:SearchAlgorithms.obj + 0000:ffb79000 __guard_fids_?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400000 libconcrtd:SearchAlgorithms.obj + 0003:ffc04000 __unwindtable$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00400000 libconcrtd:SearchAlgorithms.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SearchAlgorithms.obj + 0002:ffebc000 __unwindfunclet$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z$0 00400000 f libconcrtd:SearchAlgorithms.obj + 0002:ffebc000 __unwindfunclet$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z$0 00400000 f libconcrtd:SearchAlgorithms.obj + 0002:ffebc000 __unwindfunclet$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ$0 00400000 f libconcrtd:SearchAlgorithms.obj + 0002:ffebc000 __unwindfunclet$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z$0 00400000 f libconcrtd:SearchAlgorithms.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:SearchAlgorithms.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSFreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids_?SpinUntilBlocked@ThreadProxy@details@Concurrency@@QAEXXZ 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids_??0ThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 00400000 libconcrtd:ThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids_?SpinUntilIdle@FreeVirtualProcessorRoot@details@Concurrency@@IAEXXZ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids_?AcquireActivatedContext@VirtualProcessorRoot@details@Concurrency@@QAEPAUIExecutionContext@3@XZ 00400000 libconcrtd:FreeVirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:KOSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessorRoot.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __unwindtable$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __ehfuncinfo$??1?$lock_guard@Vmutex@std@@@std@@QAE@XZ 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __ehfuncinfo$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __ehfuncinfo$?notify_all@condition_variable@std@@QAEXXZ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids_?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids_?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids_?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ 00400000 libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids_?_PrepareSteal@_UnrealizedChore@details@Concurrency@@QAEXPAVContextBase@23@@Z 00400000 libconcrtd:Chores.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __unwindfunclet$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z$0 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __ehhandler$??1?$lock_guard@Vmutex@std@@@std@@QAE@XZ 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __ehhandler$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __ehhandler$?notify_all@condition_variable@std@@QAEXXZ 00400000 f libconcrtd:Chores.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:Chores.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:WorkQueue.obj + 0000:ffb79000 __guard_fids_??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 00400000 libconcrtd:WorkQueue.obj + 0000:ffb79000 __guard_fids_??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 00400000 libconcrtd:WorkQueue.obj + 0000:ffb79000 __guard_fids_?RedetachFromScheduleGroupAtSafePoint@WorkQueue@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@@Z 00400000 libconcrtd:WorkQueue.obj + 0000:ffb79000 __guard_fids_?RetireAtSafePoint@WorkQueue@details@Concurrency@@QAEXPAVScheduleGroupSegmentBase@23@@Z 00400000 libconcrtd:WorkQueue.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:WorkQueue.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __unwindfunclet$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z$0 00400000 f ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cenvarg.obj + 0002:ffebc000 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Destroy_range@V?$allocator@E@std@@@std@@YAXPAEQAEAAV?$allocator@E@0@@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:WorkQueue.obj + 0003:ffc04000 __ehfuncinfo$??1exception_ptr@std@@QAE@XZ 00400000 libconcrtd:TaskCollectionBase.obj + 0002:ffebc000 __ehhandler$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1exception_ptr@std@@QAE@XZ 00400000 f libconcrtd:TaskCollectionBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids_??0Transmogrificator@details@Concurrency@@QAE@XZ 00400000 libconcrtd:Transmogrificator.obj + 0003:ffc04000 __unwindtable$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400000 libconcrtd:Transmogrificator.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:Transmogrificator.obj + 0002:ffebc000 __unwindfunclet$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 00400000 f libconcrtd:Transmogrificator.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:Transmogrificator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids_?PrimaryMain@TransmogrifiedPrimary@details@Concurrency@@CGKPAX@Z 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids_?Initialize@TransmogrifiedPrimary@details@Concurrency@@AAEXXZ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:TransmogrifiedPrimary.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:TransmogrifiedPrimary.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids_?SpinOnAndReturnBlockingType@UMSThreadInternalContext@details@Concurrency@@AAE?AW4BlockingType@123@XZ 00400000 libconcrtd:UMSThreadInternalContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadVirtualProcessor.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadVirtualProcessor.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadScheduler.obj + 0003:ffc04000 __unwindtable$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400000 libconcrtd:UMSThreadScheduler.obj + 0003:ffc04000 __unwindtable$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400000 libconcrtd:UMSThreadScheduler.obj + 0003:ffc04000 __unwindtable$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400000 libconcrtd:UMSThreadScheduler.obj + 0002:ffebc000 __unwindfunclet$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 00400000 f libconcrtd:UMSThreadScheduler.obj + 0002:ffebc000 __unwindfunclet$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 00400000 f libconcrtd:UMSThreadScheduler.obj + 0002:ffebc000 __unwindfunclet$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ$0 00400000 f libconcrtd:UMSThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadScheduler.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadScheduler.obj + 0003:ffc04000 __unwindtable$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400000 libconcrtd:ThreadScheduler.obj + 0003:ffc04000 __unwindtable$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400000 libconcrtd:ThreadScheduler.obj + 0002:ffebc000 __unwindfunclet$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 00400000 f libconcrtd:ThreadScheduler.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ$0 00400000 f libconcrtd:ThreadScheduler.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:tstring.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExternalContextBase.obj + 0000:ffb79000 __guard_fids_?PrepareForUse@ExternalContextBase@details@Concurrency@@QAEX_N@Z 00400000 libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f ServerDlg.obj + 0003:ffc04000 __unwindtable$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00400000 libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:tstring.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00400000 libconcrtd:ExternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 00400000 libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z$0 00400000 f libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:ExternalContextBase.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:tstring.obj + 0003:ffc04000 __unwindtable$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00400000 libconcrtd:FairScheduleGroup.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:FairScheduleGroup.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z$0 00400000 f libconcrtd:FairScheduleGroup.obj + 0002:ffebc000 __ehhandler$?_Clamp_suffix_size@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEIII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:FairScheduleGroup.obj + 0003:ffc04000 __unwindtable$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00400000 libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 f shared:tstring.obj + 0003:ffc04000 __unwindtable$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400000 libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f shared:tstring.obj + 0000:ffb79000 __guard_fids_?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400000 libconcrtd:CacheLocalScheduleGroup.obj + 0003:ffc04000 __unwindtable$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00400000 libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __unwindfunclet$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z$0 00400000 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __ehhandler$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ$0 00400000 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __unwindfunclet$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z$0 00400000 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:CacheLocalScheduleGroup.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:tstring.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE_NPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@H_N@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE_NPAVWorkQueue@23@H_N@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$forward@I@std@@YA$$QAIAAI@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:tstring.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0003:ffc04000 __unwindtable$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??$forward@ABU?$less@I@std@@@std@@YAABU?$less@I@0@ABU10@@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 f shared:OdbcCommand.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fpexcept.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids_?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$0BI@@std@@YAII@Z 00400000 f shared:OdbcCommand.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fpexcept.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:ScheduleGroupBase.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:tstring.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 f shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 f shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:OdbcCommand.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:OdbcCommand.obj + 0002:ffebc000 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ$0 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:OdbcCommand.obj + 0002:ffebc000 __ehhandler$??1?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:tstring.obj + 0000:ffb79000 __guard_fids__ 00400000 libvcruntimed:undname.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 00400000 f libconcrtd:ScheduleGroupBase.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:ScheduleGroupBase.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:ScheduleGroupBase.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@H_N@Z 00400000 libconcrtd:SchedulingRing.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Clamp_suffix_size@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEIII@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:tstring.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SubAllocator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SubAllocator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SubAllocator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SubAllocator.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SubAllocator.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:tstring.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:SchedulingNode.obj + 0003:ffc04000 __ehfuncinfo$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:tstring.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z 00400000 libconcrtd:SchedulingNode.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEAAV?$allocator@PAVThread@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@ABEABV?$allocator@PAVThread@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVThread@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1?$Hash@II@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SchedulingNode.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$0 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:tstring.obj + 0000:ffb79000 __guard_fids_?SpinUntilClear@QuickBitSet@details@Concurrency@@QBEXI@Z 00400000 libconcrtd:SchedulingNode.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SchedulingNode.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??1?$Hash@II@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:SchedulingNode.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:SchedulingNode.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@VInternalContextBase@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE_NPAVVirtualProcessor@23@H_N@Z 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_?StartupWorkerContext@VirtualProcessor@details@Concurrency@@EAE_NPAVScheduleGroupSegmentBase@23@PAVInternalContextBase@23@@Z 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_?SpinUntilSet@QuickBitSet@details@Concurrency@@QBEXI@Z 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids_?SpinUntilClear@QuickBitSet@details@Concurrency@@QBEXI@Z 00400000 libconcrtd:VirtualProcessor.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXH@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 shared:OdbcCommand.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@I@std@@YA$$QAIAAI@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __unwindtable$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QBEABV?$allocator@PAVThread@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$??E?$_Atomic_integral@I$03@std@@QAEIXZ 00400000 f shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABU?$less@I@std@@@std@@YAABU?$less@I@0@ABU10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$0BI@@std@@YAII@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0002:ffebc000 __ehhandler$??F?$_Atomic_integral@I$03@std@@QAEIXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 f RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 shared:OdbcCommand.obj + 0003:ffc04000 __ehfuncinfo$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 shared:OdbcCommand.obj + 0000:ffb79000 __guard_fids_?SpinUntilBlocked@InternalContextBase@details@Concurrency@@IAEXXZ 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __unwindtable$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids_?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids_?SpinUntilSet@QuickBitSet@details@Concurrency@@QBEXI@Z 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids_?SpinUntilClear@QuickBitSet@details@Concurrency@@QBEXI@Z 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:InternalContextBase.obj + 0000:ffb79000 __guard_fids_?SpinUntilValueEquals@details@Concurrency@@YAXPCJJ@Z 00400000 libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU32@@Z 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 shared:tstring.obj + 0002:ffebc000 __unwindfunclet$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 00400000 f libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:tstring.obj + 0002:ffebc000 __ehhandler$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:tstring.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __unwindtable$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:InternalContextBase.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:Trace.obj + 0000:ffb79000 __guard_fids_?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ 00400000 libconcrtd:Trace.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:Trace.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0003:ffc04000 __unwindtable$??0Packet@@QAE@EE@Z 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids_??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0000:ffb79000 __guard_fids_??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:ThreadProxyFactoryManager.obj + 0003:ffc04000 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 RoomEvent.obj + 0003:ffc04000 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 00400000 RoomEvent.obj + 0003:ffc04000 __unwindtable$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00400000 RoomEvent.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:WinRTWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:WinRTWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:WinRTWrapper.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:WinRTWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:WinRTWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0003:ffc04000 __ehfuncinfo$??1?$CSTLMap@H@@QAE@XZ 00400000 RoomEvent.obj + 0003:ffc04000 __unwindtable$??0?$CSTLMap@H@@QAE@XZ 00400000 RoomEvent.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base0@std@@QAEXPBX@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __unwindfunclet$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@YAPAV?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@0@AAV10@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$move@AAPAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$forward@PAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??$?0PAVThread@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVThread@@@1@@Z 00400000 f shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 RoomEvent.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Atomic_address_as@JU?$_Atomic_padded@I@std@@@std@@YAPCJAAU?$_Atomic_padded@I@0@@Z 00400000 f shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 RoomEvent.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 RoomEvent.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU32@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$03@std@@YAII@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Destroy_range@V?$allocator@PAVThread@@@std@@@std@@YAXPAPAVThread@@QAPAV1@AAV?$allocator@PAVThread@@@0@@Z 00400000 f shared:SocketMgr.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00400000 RoomEvent.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerProxy.obj + 0000:ffb79000 __guard_fids_??0HillClimbing@details@Concurrency@@QAE@IIPAVSchedulerProxy@12@@Z 00400000 libconcrtd:HillClimbing.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00400000 RoomEvent.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ExecutionResource.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:SocketMgr.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerPolicyBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??1thread@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?joinable@thread@std@@QBE_NXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??1Thread@@UAE@XZ 00400000 shared:SocketMgr.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:TaskCollection.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 00400000 libconcrtd:TaskCollection.obj + 0003:ffc04000 __ehfuncinfo$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 00400000 libconcrtd:TaskCollection.obj + 0003:ffc04000 __ehfuncinfo$?notify_all@condition_variable@std@@QAEXXZ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_AbortiveSweep@_TaskCollection@details@Concurrency@@AAEXPAX@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Reset@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Initialize@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Abort@_StructuredTaskCollection@details@Concurrency@@AAEXXZ 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 00400000 libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids_??0_StructuredTaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 00400000 libconcrtd:TaskCollection.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:TaskCollection.obj + 0002:ffebc000 __ehhandler$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 00400000 f libconcrtd:TaskCollection.obj + 0002:ffebc000 __ehhandler$?notify_all@condition_variable@std@@QAEXXZ 00400000 f libconcrtd:TaskCollection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:staticinits.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?Expire@Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAEXXZ 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE_NPAVWorkQueue@23@H_N@Z 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?DetachStealers@ContextBase@details@Concurrency@@QAEXXZ 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 00400000 libconcrtd:ContextBase.obj + 0000:ffb79000 __guard_fids_?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 00400000 libconcrtd:ContextBase.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:ContextBase.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:ContextBase.obj + 0003:ffc04000 __ehfuncinfo$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:pch.obj + 0000:ffb79000 __guard_fids_??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:pch.obj + 0002:ffebc000 __ehhandler$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 f libconcrtd:pch.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids_?SpinOnAndReturnBlockingType@UMSThreadProxy@details@Concurrency@@IAE?AW4BlockingType@123@XZ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids_?SpinUntilBlocked@UMSThreadProxy@details@Concurrency@@IAEXXZ 00400000 libconcrtd:UMSThreadProxy.obj + 0000:ffb79000 __guard_fids_??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 00400000 libconcrtd:UMSThreadProxy.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSSchedulingContext.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:UMSWrapper.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$swap@DX@std@@YAXAAD0@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __ehhandler$??$move@AAD@std@@YA$$QADAAD@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$0BE@@std@@YAII@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$03@std@@YAII@Z 00400000 f shared:OdbcConnection.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@PAVThread@@@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@PAVThread@@@std@@@std@@SAIABV?$allocator@PAVThread@@@2@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?end@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?capacity@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEAAV?$allocator@PAVThread@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@ABEABV?$allocator@PAVThread@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVThread@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAVThread@@@std@@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@2@$00@std@@QBEABV?$allocator@PAVThread@@@2@XZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??E?$_Atomic_integral@I$03@std@@QAEIXZ 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??F?$_Atomic_integral@I$03@std@@QAEIXZ 00400000 shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 f shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 f shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base0@std@@QAEXPBX@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __unwindtable$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@YAPAV?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@0@AAV10@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAPAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAVThread@@@std@@YA$$QAPAVThread@@AAPAV1@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$?0PAVThread@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVThread@@@1@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Atomic_address_as@JU?$_Atomic_padded@I@std@@@std@@YAPCJAAU?$_Atomic_padded@I@0@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$03@std@@YAII@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Destroy_range@V?$allocator@PAVThread@@@std@@@std@@YAXPAPAVThread@@QAPAV1@AAV?$allocator@PAVThread@@@0@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:tstring.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$swap@DX@std@@YAXAAD0@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$move@AAD@std@@YA$$QADAAD@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$0BE@@std@@YAII@Z 00400000 shared:OdbcConnection.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$03@std@@YAII@Z 00400000 shared:OdbcConnection.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 shared:OdbcConnection.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??4?$atomic@_N@std@@QAE_N_N@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 00400000 f shared:Socket.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??4?$atomic@_N@std@@QAE_N_N@Z 00400000 shared:Socket.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:Socket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:Socket.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:Socket.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:OdbcRecordset.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:OdbcRecordset.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:OdbcRecordset.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 Npc.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0003:ffc04000 __unwindtable$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 Npc.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0exception@std@@QAE@QBD@Z 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??0exception@std@@QAE@QBDH@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0exception@std@@QAE@ABV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1exception@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:Ini.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0bad_cast@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0?$tuple@$$V@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0?$tuple@$$V@std@@QAE@ABV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?to_char_type@?$_Narrow_char_traits@DH@std@@SADABH@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?to_int_type@?$_Narrow_char_traits@DH@std@@SAHABD@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NABH0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?not_eof@?$_Narrow_char_traits@DH@std@@SAHABH@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Clamp_suffix_size@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEIII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __unwindtable$??0Packet@@QAE@EE@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 Npc.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Equal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NQBD@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:KOSocket.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@I@Z$0 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1ByteBuffer@@UAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??0?$allocator@E@std@@QAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 f shared:Ini.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@I@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@E@std@@@std@@SAIABV?$allocator@E@2@@Z 00400000 f shared:KOSocket.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?iostream_category@std@@YAABVerror_category@1@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0error_category@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1error_category@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??8error_category@std@@QBE_NABV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0error_code@std@@QAE@HABVerror_category@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?value@error_code@std@@QBEHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?category@error_code@std@@QBEABVerror_category@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0error_condition@std@@QAE@HABVerror_category@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?value@error_condition@std@@QBEHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?category@error_condition@std@@QBEABVerror_category@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??8std@@YA_NABVerror_condition@0@0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?max_size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?capacity@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$1 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Getal@?$vector@EV?$allocator@E@std@@@std@@AAEAAV?$allocator@E@2@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0system_error@std@@QAE@Verror_code@1@PBD@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0_Generic_error_category@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?name@_Generic_error_category@std@@UBEPBDXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0_Iostream_error_category@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?name@_Iostream_error_category@std@@UBEPBDXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Getal@?$vector@EV?$allocator@E@std@@@std@@ABEABV?$allocator@E@2@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QAEAAV?$allocator@E@2@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QBEABV?$allocator@E@2@XZ 00400000 f shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 Npc.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$??$_Verify_range@D@std@@YAXQBD0@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 Npc.obj + 0000:ffb59000 .debug$S 00400000 ws2_32:WS2_32.dll + 0002:ffebc000 __ehhandler$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:console_output_initializer.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initcon.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initcon.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initcon.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initcon.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initcon.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:comparestringa.obj + 0000:ffb76000 _volmd 00400000 libucrtd:87except.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbrtoc32.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenvironmentvariablea.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 libucrtd:setenvironmentvariablea.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 f libucrtd:setenvironmentvariablea.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:multibyte_initializer.obj + 0000:ffb76000 _volmd 00400000 libucrtd:qsort.obj + 0000:ffb76000 _volmd 00400000 libucrtd:qsort.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_fenvutils.obj + 0000:ffb79000 __guard_fids_??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_??_ENumaInformation@SchedulerBase@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_??1SubAllocator@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SchedulerBase.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 Npc.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f Npc.obj + 0000:ffb79000 __guard_fids_??0SubAllocator@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcrtomb.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcrtomb.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcrtomb.obj + 0002:ffebc000 __ehhandler$??$?0E@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@E@1@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Destroy_range@V?$allocator@E@std@@@std@@YAXPAEQAEAAV?$allocator@E@0@@Z 00400000 f shared:KOSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcrtomb.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Traits_equal@U?$char_traits@D@std@@@std@@YA_NQBDI0I@Z 00400000 f shared:KOSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcrtomb.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:open.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f Npc.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1_Facet_base@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __unwindfunclet$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU32@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1_Locinfo@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$_Yarn@D@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$_Yarn@D@std@@AAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$_Yarn@_W@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$_Yarn@_W@std@@AAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??2_Crt_new_delete@std@@SAPAXIABUnothrow_t@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??3_Crt_new_delete@std@@SAXPAX@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Equal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NQBD@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Incref@facet@locale@std@@UAEXXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1facet@locale@std@@MAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0locale@std@@QAE@ABV01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??0locale@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1locale@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?always_noconv@codecvt_base@std@@QBE_NXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1codecvt_base@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?do_always_noconv@codecvt_base@std@@MBE_NXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?do_max_length@codecvt_base@std@@MBEHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?do_encoding@codecvt_base@std@@MBEHXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Min_value@H@std@@YAABHABH0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1ctype_base@std@@UAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$ctype@D@std@@MAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$ctype@D@std@@IAEXXZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f Npc.obj + 0002:ffebc000 __unwindfunclet$??0Packet@@QAE@EE@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?clear@?$vector@EV?$allocator@E@std@@@std@@QAEXXZ 00400000 f ServerDlg.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1ios_base@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@I@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1ByteBuffer@@UAE@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@I@Z$0 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@E@std@@QAE@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@IV?$allocator@I@std@@@std@@AAEXXZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0002:ffebc000 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$0 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??1?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??0?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$2 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@E@std@@@std@@SAIABV?$allocator@E@2@@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?capacity@?$vector@EV?$allocator@E@std@@@std@@QBEIXZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z$0 00400000 f shared:Ini.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f ServerDlg.obj + 0002:ffebc000 __ehhandler$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __unwindfunclet$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$vector@EV?$allocator@E@std@@@std@@AAEAAV?$allocator@E@2@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$vector@EV?$allocator@E@std@@@std@@ABEABV?$allocator@E@2@XZ 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 f Npc.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QAEAAV?$allocator@E@2@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@E@std@@V?$_Vector_val@U?$_Simple_types@E@std@@@2@$00@std@@QBEABV?$allocator@E@2@XZ 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 libucrtd:open.obj + 0000:ffb76000 _volmd 00400000 libucrtd:open.obj + 0000:ffb76000 _volmd 00400000 libucrtd:open.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 f libucrtd:open.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f ServerDlg.obj + 0002:ffebc000 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$0 00400000 f Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f ServerDlg.obj + 0003:ffc04000 __ehfuncinfo$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 libconcrtd:SchedulerBase.obj + 0002:ffebc000 __unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$0 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 Npc.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f ServerDlg.obj + 0000:ffb79000 __guard_fids_?SpinUntilBitsReset@details@Concurrency@@YAJPCJJ@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?SpinUntilBitsSet@details@Concurrency@@YAJPCJJ@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:timeset_initializer.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f ServerDlg.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getpath.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getpath.obj + 0000:ffb76000 _volmd 00400000 libucrtd:createprocessa.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 libucrtd:createprocessa.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 f libucrtd:createprocessa.obj + 0003:ffc04000 __ehfuncinfo$??$?0E@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@E@1@@Z 00400000 shared:KOSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:KOSocket.obj + 0002:ffebc000 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?capacity@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?max_size@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QBEIXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?end@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?begin@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@PAVThread@@@std@@@std@@SAIABV?$allocator@PAVThread@@@2@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0?$allocator@PAVThread@@@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$?empty@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?size@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f RoomEvent.obj + 0003:ffc04000 __ehfuncinfo$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids_?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE_NPAVScheduleGroupBase@23@H_N@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?Remove@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE_NPAVExternalStatistics@23@H_N@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?RemoveVirtualProcessors@SchedulerBase@details@Concurrency@@IAEXPAPAUIVirtualProcessorRoot@3@I@Z 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids_?_BadAllocException@__ExceptionPtr@@SAABV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:excptptr.obj + 0002:ffebc000 __ehhandler$??1Thread@@UAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?joinable@thread@std@@QBE_NXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??1thread@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:SocketMgr.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 libcpmtd:xlocale.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids____acrt_initialize_ptd 00400000 libucrtd:per_thread_data.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:SocketMgr.obj + 0000:ffb76000 _volmd 00400000 libucrtd:per_thread_data.obj + 0000:ffb76000 _volmd 00400000 libucrtd:per_thread_data.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:SocketMgr.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrptt.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb76000 _volmd 00400000 libucrtd:dbgrptt.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:SocketMgr.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:SocketMgr.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb59000 .debug$S 00400000 kernel32:KERNEL32.dll + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:SchedulerBase.obj + 0000:ffb76000 _volmd 00400000 libucrtd:access.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@XZ 00400000 f libucrtd:getmodulefilenamea.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getmodulefilenamea.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@XZ 00400000 libucrtd:getmodulefilenamea.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f Unit.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getmodulefilenamea.obj + 0002:ffebc000 __unwindfunclet$??0?$CSTLMap@H@@QAE@XZ$0 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1?$CSTLMap@H@@QAE@XZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$0 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f Unit.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f Unit.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ$0 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0002:ffebc000 __unwindfunclet$??0Packet@@QAE@EE@Z$0 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids__ 00400000 libcpmtd:xlocale.obj + 0000:ffb79000 __guard_fids___CRT_RTC_INIT 00400000 LIBCMTD:init.obj + 0000:ffb79000 __guard_fids___CRT_RTC_INITW 00400000 LIBCMTD:init.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:std_type_info_static.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:thread_safe_statics.obj + 0000:ffb79000 __guard_fids_?__scrt_initialize_thread_safe_statics@@YAHXZ 00400000 LIBCMTD:thread_safe_statics.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:exe_main.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f RoomEvent.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids_?pre_c_initialization@@YAHXZ 00400000 LIBCMTD:exe_main.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:guard_support.obj + 0000:ffb79000 __guard_fids___guard_icall_checks_enforced 00400000 LIBCMTD:guard_support.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f RoomEvent.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0000:ffb79000 __guard_fids__ 00400000 LIBCMTD:throw_bad_alloc.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f RoomEvent.obj + 0000:ffb76000 _volmd 00400000 libucrtd:winapi_thunks.obj + 0000:ffb76000 _volmd 00400000 libucrtd:winapi_thunks.obj + 0000:ffb76000 _volmd 00400000 libucrtd:winapi_thunks.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f RoomEvent.obj + 0000:ffb76000 _volmd 00400000 libucrtd:winapi_thunks.obj + 0000:ffb76000 _volmd 00400000 libucrtd:winapi_thunks.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:SocketWin32.obj + 0000:ffb79000 __guard_fids_??B@@QBEP6GHPA_W@ZXZ 00400000 libucrtd:winapi_thunks.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f RoomEvent.obj + 0000:ffb79000 __guard_fids____scrt_set_unhandled_exception_filter 00400000 LIBCMTD:utility_desktop.obj + 0000:ffb79000 __guard_fids_?_Acquire@_ReentrantLock@details@Concurrency@@QAEXXZ 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$??4?$atomic@_N@std@@QAE_N_N@Z 00400000 shared:SocketWin32.obj + 0000:ffb79000 __guard_fids_?_DebugAcquire@_NonReentrantLock@details@Concurrency@@AAEXXZ 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:SocketWin32.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:SocketWin32.obj + 0000:ffb79000 __guard_fids_??0LockQueueNode@details@Concurrency@@QAE@I@Z 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 00400000 f shared:SocketWin32.obj + 0000:ffb79000 __guard_fids_?Block@LockQueueNode@details@Concurrency@@QAEXI@Z 00400000 libconcrtd:rtlocks.obj + 0000:ffb79000 __guard_fids_?WaitForNextNode@LockQueueNode@details@Concurrency@@QAEPAV123@XZ 00400000 libconcrtd:rtlocks.obj + 0002:ffebc000 __ehhandler$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f Unit.obj + 0003:ffc04000 __unwindtable$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00400000 Party.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 Party.obj + 0003:ffc04000 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 00400000 Party.obj + 0003:ffc04000 __ehfuncinfo$??1ReferenceObject@@UAE@XZ 00400000 shared:ReferenceObject.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 Party.obj + 0003:ffc04000 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@XZ 00400000 Party.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??1ReferenceObject@@UAE@XZ 00400000 f shared:ReferenceObject.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 Party.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f Unit.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0002:ffebc000 __ehhandler$??4?$atomic@_N@std@@QAE_N_N@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:SocketWin32.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0002:ffebc000 __ehhandler$??1ReferenceObject@@UAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:SocketWin32.obj + 0002:ffebc000 __ehhandler$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:SocketWin32.obj + 0003:ffc04000 __unwindtable$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 00400000 Party.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00400000 Party.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f Unit.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 Party.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 Party.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 Party.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 Party.obj + 0002:ffebc000 __unwindfunclet$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z$0 00400000 f Party.obj + 0002:ffebc000 __ehhandler$??$_Max_value@I@std@@YAABIABI0@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f Party.obj + 0002:ffebc000 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z$0 00400000 f Party.obj + 0002:ffebc000 __ehhandler$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00400000 f Party.obj + 0002:ffebc000 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@XZ 00400000 f Party.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??$_Min_value@I@std@@YAABIABI0@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f Party.obj + 0002:ffebc000 __ehhandler$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 f shared:SMDFile.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:rtlocks.obj + 0002:ffebc000 __ehhandler$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Unit.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f Unit.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 Unit.obj + 0002:ffebc000 __unwindfunclet$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z$0 00400000 f Party.obj + 0002:ffebc000 __ehhandler$?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:closeall.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_freebuf.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_freebuf.obj + 0002:ffebc000 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00400000 f Party.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 Unit.obj + 0002:ffebc000 __ehhandler$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f Party.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f Party.obj + 0002:ffebc000 __ehhandler$??0?$allocator@D@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f Party.obj + 0002:ffebc000 __ehhandler$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f Party.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 shared:globals.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:globals.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:globals.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:globals.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Unit.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 Unit.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0_Iterator_base12@std@@QAE@XZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 f shared:SMDFile.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 NpcThread.obj + 0002:ffebc000 __ehhandler$??$_Convert_size@I@std@@YAII@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$?max@?$numeric_limits@H@std@@SAHXZ 00400000 f shared:SMDFile.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f shared:globals.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:globals.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:globals.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:globals.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??2@YAPAXIPAX@Z 00400000 f shared:SMDFile.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f GameSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:stdio_initializer.obj + 0000:ffb79000 __guard_fids_?wait@event@Concurrency@@QAEII@Z 00400000 libconcrtd:event.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cvt.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f GameSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:cvt.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f GameSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fputwc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fputwc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fileno.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_sftbuf.obj + 0002:ffebc000 __unwindfunclet$??0Packet@@QAE@EE@Z$0 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f GameSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_sftbuf.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 f GameSocket.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_sftbuf.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 NpcThread.obj + 0000:ffb79000 __guard_fids_?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids_?Wait@StructuredEvent@details@Concurrency@@QAEXXZ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids_?GetSharedTimerQueue@details@Concurrency@@YAPAXXZ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids_?createTimer@TimedSingleWaitBlock@details@Concurrency@@QAE_NI@Z 00400000 libconcrtd:event.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 NpcThread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 NpcThread.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 NpcThread.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f GameSocket.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f GameSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 GameSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 GameSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 GameSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __unwindtable$??0Packet@@QAE@EE@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 GameSocket.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAEXXZ 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 GameSocket.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 GameSocket.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f MAP.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f MAP.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0003:ffc04000 __ehfuncinfo$??1Thread@@UAE@XZ 00400000 shared:TimeThread.obj + 0003:ffc04000 __ehfuncinfo$?joinable@thread@std@@QBE_NXZ 00400000 shared:TimeThread.obj + 0003:ffc04000 __ehfuncinfo$??1thread@std@@QAE@XZ 00400000 shared:TimeThread.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f MAP.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f NpcThread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0002:ffebc000 __ehhandler$??1Thread@@UAE@XZ 00400000 f shared:TimeThread.obj + 0002:ffebc000 __ehhandler$?joinable@thread@std@@QBE_NXZ 00400000 f shared:TimeThread.obj + 0002:ffebc000 __ehhandler$??1thread@std@@QAE@XZ 00400000 f shared:TimeThread.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:event.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_filbuf.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_filbuf.obj + 0000:ffb79000 __guard_fids_??__Es_defaultWaiterPool@platform@details@Concurrency@@YAXXZ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f MAP.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Platform.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0002:ffebc000 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 00400000 f MAP.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 AIUser.obj + 0003:ffc04000 ??id$initializer$@?$codecvt@DDU_Mbstatet@@@std@@2P6AXXZA@@3P6AXXZA 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$?0U_Exact_args_t@std@@$0A@@?$tuple@$$V@std@@QAE@U_Exact_args_t@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 00400000 AIUser.obj + 0003:ffc04000 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400000 AIUser.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0003:ffc04000 __ehfuncinfo$??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f MAP.obj + 0003:ffc04000 __ehfuncinfo$??$forward@U_One_then_variadic_args_t@std@@@std@@YA$$QAU_One_then_variadic_args_t@0@AAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 AIUser.obj + 0003:ffc04000 __unwindtable$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 00400000 AIUser.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AAPAV_Facet_base@std@@@std@@YAAAPAV_Facet_base@0@AAPAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getenv.obj + 0003:ffc04000 __ehfuncinfo$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 AIUser.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 AIUser.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00400000 f AIUser.obj + 0003:ffc04000 __unwindtable$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0003:ffc04000 __catchsym$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ$2 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 f libconcrtd:utils.obj + 0000:ffb79000 __guard_fids_??0_SpinLock@details@Concurrency@@QAE@ACJ@Z 00400000 libconcrtd:utils.obj + 0000:ffb79000 __guard_fids_??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:utils.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:utils.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$tuple@$$V@std@@@std@@YA$$QAV?$tuple@$$V@0@AAV10@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABUpiecewise_construct_t@std@@@std@@YAABUpiecewise_construct_t@0@ABU10@@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 00400000 f AIUser.obj + 0002:ffebc000 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 00400000 f AIUser.obj + 0003:ffc04000 __unwindtable$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0003:ffc04000 __ehfuncinfo$??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:utils.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABU10@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f MAP.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f MAP.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnv.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??$forward_as_tuple@$$V@std@@YA?AV?$tuple@$$V@0@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f MAP.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0003:ffc04000 __ehfuncinfo$??$forward@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$default_delete@V_Facet_base@std@@@std@@PAV_Facet_base@2@$00@std@@QAEAAU?$default_delete@V_Facet_base@std@@@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??R?$default_delete@V_Facet_base@std@@@std@@QBEXPAV_Facet_base@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$codecvt@DDU_Mbstatet@@@std@@@std@@YAPBV?$codecvt@DDU_Mbstatet@@@0@ABV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@0@AAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?do_always_noconv@?$codecvt@DDU_Mbstatet@@@std@@MBE_NXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$codecvt@DDU_Mbstatet@@@std@@MAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0003:ffc04000 __unwindtable$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:spawnvp.obj + 0000:ffb76000 _volmd 00400000 libucrtd:waccess.obj + 0003:ffc04000 __ehfuncinfo$??$_Traits_compare@U?$char_traits@D@std@@@std@@YAHQBDI0I@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f AIUser.obj + 0002:ffebc000 __unwindfunclet$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z$0 00400000 f AIUser.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 f libucrtd:access.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 libucrtd:access.obj + 0000:ffb76000 _volmd 00400000 libucrtd:output.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f AIUser.obj + 0000:ffb76000 _volmd 00400000 libucrtd:isctype.obj + 0003:ffc04000 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:debug_heap_hook.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f AIUser.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f AIUser.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f AIUser.obj + 0003:ffc04000 __unwindtable$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __unwindtable$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_ifstream@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:stream.obj + 0003:ffc04000 __catchsym$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$3 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:stream.obj + 0000:ffb76000 _volmd 00400000 libucrtd:stream.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:Exceptions.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_istream@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 f libconcrtd:ResourceManager.obj + 0003:ffc04000 __unwindtable$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1ios_base@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$ctype@D@std@@IAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$ctype@D@std@@MAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0003:ffc04000 __unwindtable$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0003:ffc04000 __ehfuncinfo$??1ctype_base@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@H@std@@YAABHABH0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?do_encoding@codecvt_base@std@@MBEHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?do_max_length@codecvt_base@std@@MBEHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?do_always_noconv@codecvt_base@std@@MBE_NXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1codecvt_base@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?always_noconv@codecvt_base@std@@QBE_NXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1locale@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0locale@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0locale@std@@QAE@ABV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1facet@locale@std@@MAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Incref@facet@locale@std@@UAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??3_Crt_new_delete@std@@SAXPAX@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??2_Crt_new_delete@std@@SAPAXIABUnothrow_t@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$_Yarn@_W@std@@AAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Yarn@_W@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$_Yarn@D@std@@AAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Yarn@D@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1_Locinfo@std@@QAE@XZ 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0003:ffc04000 __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1_Facet_base@std@@UAE@XZ 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0000:ffb76000 _volmd 00400000 libucrtd:write.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ftell.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f AIUser.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f MAP.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f MAP.obj + 0000:ffb76000 _volmd 00400000 libucrtd:ftell.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f MAP.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f MAP.obj + 0003:ffc04000 __ehfuncinfo$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 shared:Condition.obj + 0003:ffc04000 __ehfuncinfo$??1_Mutex_base@std@@QAE@XZ 00400000 shared:Condition.obj + 0003:ffc04000 __ehfuncinfo$??0_Mutex_base@std@@QAE@H@Z 00400000 shared:Condition.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids_??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??$_Verify_range@D@std@@YAXQBD0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 MAP.obj + 0003:ffc04000 __ehfuncinfo$??$forward@ABQAD@std@@YAABQADABQAD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$forward@PAU_Container_base12@std@@@std@@YA$$QAPAU_Container_base12@0@AAPAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@$$CBV?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPBV?$_String_val@U?$_Simple_types@D@std@@@0@ABV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@YAPAV?$_String_val@U?$_Simple_types@D@std@@@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$07@std@@YAII@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Max_value@I@std@@YAABIABI0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@PAD@std@@YAPAPADAAPAD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$addressof@U_Container_base12@std@@@std@@YAPAU_Container_base12@0@AAU10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$?0D@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@D@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Min_value@I@std@@YAABIABI0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$_Container_proxy_ptr12@V?$allocator@U_Container_proxy@std@@@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?name@_Iostream_error_category@std@@UBEPBDXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Iostream_error_category@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?name@_Generic_error_category@std@@UBEPBDXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Generic_error_category@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0system_error@std@@QAE@Verror_code@1@PBD@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_flsbuf.obj + 0003:ffc04000 __unwindtable$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_flsbuf.obj + 0003:ffc04000 __unwindtable$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_flsbuf.obj + 0003:ffc04000 __ehfuncinfo$??8std@@YA_NABVerror_condition@0@0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?category@error_condition@std@@QBEABVerror_category@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?value@error_condition@std@@QBEHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0error_condition@std@@QAE@HABVerror_category@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?category@error_code@std@@QBEABVerror_category@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?value@error_code@std@@QBEHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0error_code@std@@QAE@HABVerror_category@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??8error_category@std@@QBE_NABV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1error_category@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0error_category@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?iostream_category@std@@YAABVerror_category@1@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$allocator@D@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@D@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$allocator@D@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Get_data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEABV?$allocator@D@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Getal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEAAV?$allocator@D@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy_init@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABEII@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Calculate_growth@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAIIII@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f Npc.obj + 0003:ffc04000 __ehfuncinfo$?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids_??_EGlobalNode@details@Concurrency@@QAEPAXI@Z 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids_?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$?empty@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Memcpy_val_from@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXABV12@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400000 shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:_getbuf.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f Npc.obj + 0000:ffb79000 __guard_fids_?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids_?CreateDynamicRMWorker@ResourceManager@details@Concurrency@@AAEXXZ 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$??1_Bxty@?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Clamp_suffix_size@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEIII@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$allocator@D@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?not_eof@?$_Narrow_char_traits@DH@std@@SAHABH@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NABH0@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?to_int_type@?$_Narrow_char_traits@DH@std@@SAHABD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?to_char_type@?$_Narrow_char_traits@DH@std@@SADABH@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$?assign@?$_Narrow_char_traits@DH@std@@SAXAADABD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?move@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0003:ffc04000 __ehfuncinfo$?copy@?$_Narrow_char_traits@DH@std@@SAPADQADQBDI@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?length@?$_Narrow_char_traits@DH@std@@SAIQBD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?compare@?$_Narrow_char_traits@DH@std@@SAHQBD0I@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$tuple@$$V@std@@QAE@ABV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0?$tuple@$$V@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0bad_cast@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Release@_Basic_container_proxy_ptr12@std@@QAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_me@_Iterator_base12@std@@QAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Getcont@_Iterator_base12@std@@QBEPBU_Container_base12@2@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@ABU01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Iterator_base12@std@@QAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0_Container_proxy@std@@QAE@PAU_Container_base12@1@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Convert_size@I@std@@YAII@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Get_size_of_n@$00@std@@YAII@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??1exception@std@@UAE@XZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0exception@std@@QAE@ABV01@@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0exception@std@@QAE@QBDH@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??0exception@std@@QAE@QBD@Z 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$?max@?$numeric_limits@H@std@@SAHXZ 00400000 shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??2@YAPAXIPAX@Z 00400000 shared:Ini.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$?0U_Exact_args_t@std@@$0A@@?$tuple@$$V@std@@QAE@U_Exact_args_t@1@@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$forward@U_One_then_variadic_args_t@std@@@std@@YA$$QAU_One_then_variadic_args_t@0@AAU10@@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$forward@AB_N@std@@YAAB_NAB_N@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00400000 f Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00400000 f Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$forward@AAPAV_Facet_base@std@@@std@@YAAAPAV_Facet_base@0@AAPAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __unwindfunclet$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z$0 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$?_Mymtx@_Mutex_base@std@@AAEPAU_Mtx_internal_imp_t@@XZ 00400000 f shared:Condition.obj + 0002:ffebc000 __ehhandler$??1_Mutex_base@std@@QAE@XZ 00400000 f shared:Condition.obj + 0002:ffebc000 __ehhandler$??0_Mutex_base@std@@QAE@H@Z 00400000 f shared:Condition.obj + 0002:ffebc000 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f Npc.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 00400000 f Npc.obj + 0002:ffebc000 __unwindfunclet$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ$0 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0000:ffb79000 __guard_fids__ 00400000 libconcrtd:ResourceManager.obj + 0002:ffebc000 __ehhandler$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 00400000 f libconcrtd:SchedulerBase.obj + 0000:ffb76000 _volmd 00400000 libucrtd:tzset.obj + 0002:ffebc000 __ehhandler$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:tzset.obj + 0002:ffebc000 __unwindfunclet$??0ByteBuffer@@QAE@I@Z$0 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:tzset.obj + 0000:ffb76000 _volmd 00400000 libucrtd:openfile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:openfile.obj + 0002:ffebc000 __ehhandler$??$forward@V?$tuple@$$V@std@@@std@@YA$$QAV?$tuple@$$V@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$forward@ABUpiecewise_construct_t@std@@@std@@YAABUpiecewise_construct_t@0@ABU10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:openfile.obj + 0002:ffebc000 __ehhandler$??$forward@_N@std@@YA$$QA_NAA_N@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f Npc.obj + 0000:ffb76000 _volmd 00400000 libucrtd:openfile.obj + 0000:ffb76000 _volmd 00400000 libucrtd:openfile.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$??1Guard@@QAE@XZ 00400000 f NpcThread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:win_policies.obj + 0000:ffb76000 _volmd 00400000 libucrtd:win_policies.obj + 0000:ffb76000 _volmd 00400000 libucrtd:win_policies.obj + 0000:ffb76000 _volmd 00400000 libucrtd:win_policies.obj + 0002:ffebc000 __unwindfunclet$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z$0 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:win_policies.obj + 0002:ffebc000 __ehhandler$??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcstombs.obj + 0002:ffebc000 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 f NpcThread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:wcstombs.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getlocaleinfoa.obj + 0002:ffebc000 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@U_Zero_then_variadic_args_t@std@@@std@@YA$$QAU_Zero_then_variadic_args_t@0@AAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$forward@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABU10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:fpctrl.obj + 0002:ffebc000 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 00400000 f NpcThread.obj + 0002:ffebc000 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 f libucrtd:argv_wildcards.obj + 0003:ffc04000 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00400000 libucrtd:argv_wildcards.obj + 0002:ffebc000 __ehhandler$??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:argv_wildcards.obj + 0002:ffebc000 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00400000 f NpcThread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:argv_wildcards.obj + 0000:ffb76000 _volmd 00400000 libucrtd:argv_wildcards.obj + 0000:ffb76000 _volmd 00400000 libucrtd:argv_wildcards.obj + 0002:ffebc000 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 f NpcThread.obj + 0000:ffb76000 _volmd 00400000 libucrtd:argv_wildcards.obj + 0002:ffebc000 __unwindfunclet$??0Packet@@QAE@EE@Z$0 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$forward_as_tuple@$$V@std@@YA?AV?$tuple@$$V@0@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00400000 f Npc.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 NpcMagicProcess.obj + 0003:ffc04000 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00400000 NpcMagicProcess.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids_??B@@QBEP6AHPBX0@ZXZ 00400000 libucrtd:argv_wildcards.obj + 0000:ffb79000 __guard_fids_??B@@QBEP6AHPBX0@ZXZ 00400000 libucrtd:argv_wildcards.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbctype.obj + 0002:ffebc000 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 00400000 f shared:Ini.obj + 0003:ffc04000 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 NpcMagicProcess.obj + 0003:ffc04000 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00400000 NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbctype.obj + 0003:ffc04000 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __unwindtable$??0Packet@@QAE@EE@Z 00400000 NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbctype.obj + 0003:ffc04000 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00400000 NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbctype.obj + 0000:ffb76000 _volmd 00400000 libucrtd:mbctype.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_environment_from_os.obj + 0003:ffc04000 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __unwindtable$??0ByteBuffer@@QAE@XZ 00400000 NpcMagicProcess.obj + 0002:ffebc000 __ehhandler$??$forward@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_environment_from_os.obj + 0003:ffc04000 __ehfuncinfo$??1Guard@@QAE@XZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00400000 NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00400000 NpcMagicProcess.obj + 0003:ffc04000 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00400000 NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_environment_from_os.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_environment_from_os.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_environment_from_os.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0002:ffebc000 __ehhandler$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?_Get_first@?$_Compressed_pair@U?$default_delete@V_Facet_base@std@@@std@@PAV_Facet_base@2@$00@std@@QAEAAU?$default_delete@V_Facet_base@std@@@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@XZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??R?$default_delete@V_Facet_base@std@@@std@@QBEXPAV_Facet_base@1@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0000:ffb76000 _volmd 00400000 libucrtd:setenv.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00400000 f Npc.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$codecvt@DDU_Mbstatet@@@std@@@std@@YAPBV?$codecvt@DDU_Mbstatet@@@0@ABV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Pocca@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@ABV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@0@AAU10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initmon.obj + 0000:ffb76000 _volmd 00400000 libucrtd:initnum.obj + 0000:ffb76000 _volmd 00400000 libucrtd:locale_refcounting.obj + 0002:ffebc000 __ehhandler$?do_always_noconv@?$codecvt@DDU_Mbstatet@@@std@@MBE_NXZ 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??1?$codecvt@DDU_Mbstatet@@@std@@MAE@XZ 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:locale_refcounting.obj + 0002:ffebc000 __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:locale_refcounting.obj + 0002:ffebc000 __unwindfunclet$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z$0 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:locale_refcounting.obj + 0000:ffb76000 _volmd 00400000 libucrtd:locale_refcounting.obj + 0002:ffebc000 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$0 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__GetLocaleNameFromLangCountry 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400000 f NpcMagicProcess.obj + 0002:ffebc000 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00400000 f NpcMagicProcess.obj + 0000:ffb79000 __guard_fids__GetLocaleNameFromLanguage 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __ehhandler$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$addressof@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __ehhandler$??$_Traits_compare@U?$char_traits@D@std@@@std@@YAHQBDI0I@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$0 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:get_qualified_locale.obj + 0002:ffebc000 __ehhandler$??$move@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00400000 f shared:Ini.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getqloc_downlevel.obj + 0000:ffb79000 __guard_fids__GetLcidFromLangCountry 00400000 libucrtd:getqloc_downlevel.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getqloc_downlevel.obj + 0002:ffebc000 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__GetLcidFromLanguage 00400000 libucrtd:getqloc_downlevel.obj + 0002:ffebc000 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00400000 f NpcMagicProcess.obj + 0002:ffebc000 __unwindfunclet$??0Packet@@QAE@EE@Z$0 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getqloc_downlevel.obj + 0002:ffebc000 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00400000 f shared:Ini.obj + 0002:ffebc000 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 00400000 f shared:Ini.obj + 0000:ffb79000 __guard_fids__GetLcidFromCountry 00400000 libucrtd:getqloc_downlevel.obj + 0000:ffb76000 _volmd 00400000 libucrtd:getqloc_downlevel.obj + 0000:ffb79000 __guard_fids__ 00400000 libucrtd:locale_initializer.obj + 0002:ffebc000 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00400000 f NpcMagicProcess.obj + 0000:ffb76000 _volmd 00400000 libucrtd:outputdebugstringa.obj + 0000:ffb79004 __guard_fids__ 00400004 libucrtd:stdio_initializer.obj + 0000:ffb79004 __guard_fids__ 00400004 LIBCMTD:exe_main.obj + 0000:ffb79004 __guard_fids__ 00400004 libcpmtd:locale0.obj + 0000:ffb79004 __guard_fids__ 00400004 libconcrtd:utils.obj + 0000:ffb79004 __guard_fids__ 00400004 libconcrtd:staticinits.obj + 0000:ffb79004 __guard_fids__ 00400004 libcpmtd:iosptrs.obj + 0003:ffc04008 __ehfuncinfo$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00400008 libconcrtd:SearchAlgorithms.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 NpcMagicProcess.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 NpcThread.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 libcpmtd:xlocale.obj + 0002:ffebc008 __ehhandler$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 f libcpmtd:locale.obj + 0003:ffc04008 __ehfuncinfo$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400008 libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 ServerDlg.obj + 0002:ffebc008 __ehhandler$??0Packet@@QAE@EE@Z 00400008 f GameSocket.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 Npc.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 GameSocket.obj + 0003:ffc04008 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400008 ServerDlg.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f Npc.obj + 0003:ffc04008 __ehfuncinfo$??0Packet@@QAE@EE@Z 00400008 GameSocket.obj + 0003:ffc04008 __ehfuncinfo$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0Packet@@QAE@EE@Z 00400008 ServerDlg.obj + 0002:ffebc008 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1 00400008 f shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 libconcrtd:Transmogrificator.obj + 0002:ffebc008 __ehhandler$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 f shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@I@Z 00400008 ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 ServerDlg.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f NpcThread.obj + 0002:ffebc008 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$1 00400008 f Npc.obj + 0002:ffebc008 __ehhandler$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 00400008 f libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400008 libconcrtd:UMSThreadScheduler.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 libconcrtd:UMSThreadScheduler.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 AIUser.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f MAP.obj + 0002:ffebc008 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 00400008 shared:Ini.obj + 0002:ffebc008 __ehhandler$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??0Packet@@QAE@EE@Z 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 00400008 shared:Ini.obj + 0002:ffebc008 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$1 00400008 f ServerDlg.obj + 0002:ffebc008 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$1 00400008 f shared:Ini.obj + 0002:ffebc008 __ehhandler$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400008 f libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 00400008 shared:Ini.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f ServerDlg.obj + 0002:ffebc008 __ehhandler$??0Packet@@QAE@EE@Z 00400008 f RoomEvent.obj + 0003:ffc04008 __ehfuncinfo$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 libconcrtd:UMSThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$1 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 libconcrtd:ScheduleGroupBase.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f ServerDlg.obj + 0003:ffc04008 __ehfuncinfo$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 libconcrtd:UMSBackgroundPoller.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f shared:SMDFile.obj + 0002:ffebc008 __ehhandler$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 00400008 f shared:Ini.obj + 0002:ffebc008 __ehhandler$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 f libconcrtd:UMSBackgroundPoller.obj + 0003:ffc04008 __ehfuncinfo$??0Packet@@QAE@EE@Z 00400008 NpcMagicProcess.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f AIUser.obj + 0003:ffc04008 __ehfuncinfo$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 00400008 libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 00400008 libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 RoomEvent.obj + 0002:ffebc008 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f RoomEvent.obj + 0002:ffebc008 __ehhandler$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 f libcpmtd:xlocale.obj + 0002:ffebc008 __ehhandler$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00400008 f shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00400008 libconcrtd:CacheLocalScheduleGroup.obj + 0003:ffc04008 __ehfuncinfo$??0Packet@@QAE@EE@Z 00400008 RoomEvent.obj + 0003:ffc04008 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 00400008 RoomEvent.obj + 0003:ffc04008 __ehfuncinfo$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400008 libconcrtd:CacheLocalScheduleGroup.obj + 0003:ffc04008 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400008 shared:SMDFile.obj + 0003:ffc04008 __ehfuncinfo$??0?$CSTLMap@H@@QAE@XZ 00400008 RoomEvent.obj + 0002:ffebc008 __ehhandler$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 f shared:SocketMgr.obj + 0003:ffc04008 __ehfuncinfo$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 libconcrtd:InternalContextBase.obj + 0002:ffebc008 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$1 00400008 f libcpmtd:locale.obj + 0002:ffebc008 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$1 00400008 f Npc.obj + 0003:ffc04008 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00400008 shared:SMDFile.obj + 0003:ffc04008 __ehfuncinfo$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00400008 libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 RoomEvent.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f libcpmtd:thread0.obj + 0002:ffebc008 __ehhandler$??0?$CSTLMap@H@@QAE@XZ 00400008 f RoomEvent.obj + 0002:ffebc008 __ehhandler$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 f libconcrtd:InternalContextBase.obj + 0002:ffebc008 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$1 00400008 f RoomEvent.obj + 0002:ffebc008 __ehhandler$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 00400008 f shared:Ini.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f shared:SMDFile.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f libcpmtd:thread0.obj + 0002:ffebc008 __ehhandler$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 f libconcrtd:Chores.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f shared:SMDFile.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 shared:KOSocket.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@I@Z 00400008 shared:KOSocket.obj + 0002:ffebc008 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00400008 f shared:SMDFile.obj + 0003:ffc04008 __ehfuncinfo$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400008 libcpmtd:locale.obj + 0002:ffebc008 __ehhandler$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 f libconcrtd:Chores.obj + 0002:ffebc008 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$1 00400008 f libcpmtd:thread0.obj + 0002:ffebc008 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 00400008 f RoomEvent.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 shared:SocketMgr.obj + 0002:ffebc008 __ehhandler$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400008 f libcpmtd:thread0.obj + 0002:ffebc008 __unwindfunclet$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$1 00400008 f libconcrtd:Chores.obj + 0002:ffebc008 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$1 00400008 f shared:SMDFile.obj + 0003:ffc04008 __ehfuncinfo$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400008 shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400008 libcpmtd:thread0.obj + 0002:ffebc008 __ehhandler$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00400008 f shared:SMDFile.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f libcpmtd:xonce.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f libcpmtd:xonce.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f shared:tstring.obj + 0002:ffebc008 __ehhandler$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400008 f libconcrtd:UMSThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$1 00400008 f libcpmtd:xonce.obj + 0002:ffebc008 __ehhandler$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 f libconcrtd:UMSThreadScheduler.obj + 0002:ffebc008 __ehhandler$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 f libconcrtd:UMSThreadScheduler.obj + 0003:ffc04008 __ehfuncinfo$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00400008 libconcrtd:SearchAlgorithms.obj + 0002:ffebc008 __ehhandler$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400008 f libcpmtd:xonce.obj + 0003:ffc04008 __ehfuncinfo$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400008 libcpmtd:xonce.obj + 0000:ffb79008 __guard_fids__ 00400008 LIBCMTD:exe_main.obj + 0002:ffebc008 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1 00400008 f libcpmtd:wlocale.obj + 0002:ffebc008 __ehhandler$??0Packet@@QAE@EE@Z 00400008 f Npc.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f libcpmtd:xlocale.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f shared:OdbcRecordset.obj + 0003:ffc04008 __ehfuncinfo$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 00400008 shared:Ini.obj + 0002:ffebc008 __ehhandler$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 f libconcrtd:Transmogrificator.obj + 0003:ffc04008 __ehfuncinfo$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 00400008 shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00400008 shared:Ini.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f libcpmtd:xlocale.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$1 00400008 f libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00400008 Party.obj + 0003:ffc04008 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 00400008 Party.obj + 0003:ffc04008 __ehfuncinfo$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 00400008 shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 00400008 shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 shared:Ini.obj + 0002:ffebc008 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1 00400008 f libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00400008 libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc008 __ehhandler$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00400008 f libconcrtd:FairScheduleGroup.obj + 0000:ffb79008 __guard_fids__ 00400008 libcpmtd:locale0.obj + 0003:ffc04008 __ehfuncinfo$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00400008 libconcrtd:FairScheduleGroup.obj + 0003:ffc04008 __ehfuncinfo$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 00400008 libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 00400008 libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 00400008 Party.obj + 0000:ffb79008 __guard_fids__ 00400008 libconcrtd:staticinits.obj + 0003:ffc04008 __ehfuncinfo$??0system_error@std@@QAE@Verror_code@1@PBD@Z 00400008 shared:Ini.obj + 0002:ffebc008 __ehhandler$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00400008 f Party.obj + 0002:ffebc008 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 00400008 f Party.obj + 0003:ffc04008 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00400008 shared:SMDFile.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f shared:Socket.obj + 0003:ffc04008 __ehfuncinfo$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 00400008 shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 00400008 libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00400008 libconcrtd:ExternalContextBase.obj + 0002:ffebc008 __ehhandler$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 00400008 f libconcrtd:Chores.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$??0Packet@@QAE@EE@Z 00400008 Npc.obj + 0003:ffc04008 __ehfuncinfo$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00400008 libcpmtd:locale.obj + 0002:ffebc008 __ehhandler$??0Packet@@QAE@EE@Z 00400008 f NpcMagicProcess.obj + 0002:ffebc008 __ehhandler$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400008 f libconcrtd:ThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$1 00400008 f libcpmtd:wlocale.obj + 0002:ffebc008 __ehhandler$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 f libconcrtd:ThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f shared:Ini.obj + 0003:ffc04008 __ehfuncinfo$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00400008 libconcrtd:ThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f libcpmtd:wlocale.obj + 0003:ffc04008 __ehfuncinfo$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 libconcrtd:Chores.obj + 0003:ffc04008 __ehfuncinfo$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 libconcrtd:ThreadScheduler.obj + 0002:ffebc008 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$1 00400008 f libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 00400008 AIUser.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 00400008 f shared:OdbcConnection.obj + 0003:ffc04008 __ehfuncinfo$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00400008 libconcrtd:Chores.obj + 0002:ffebc008 __ehhandler$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 00400008 f Party.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@I@Z 00400008 Npc.obj + 0002:ffebc008 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$1 00400008 f libcpmtd:locale.obj + 0003:ffc04008 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00400008 Npc.obj + 0002:ffebc008 __ehhandler$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 00400008 f shared:Ini.obj + 0002:ffebc008 __ehhandler$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00400008 f libconcrtd:SearchAlgorithms.obj + 0002:ffebc008 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$1 00400008 f NpcMagicProcess.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f shared:OdbcConnection.obj + 0002:ffebc008 __ehhandler$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400008 f libcpmtd:locale.obj + 0002:ffebc008 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$1 00400008 f shared:Ini.obj + 0002:ffebc008 __ehhandler$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00400008 f shared:Ini.obj + 0002:ffebc008 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$1 00400008 f shared:Ini.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 00400008 f libcpmtd:locale.obj + 0002:ffebc008 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$1 00400008 f libcpmtd:locale.obj + 0002:ffebc008 __ehhandler$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00400008 f libconcrtd:ScheduleGroupBase.obj + 0002:ffebc008 __ehhandler$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 00400008 f shared:Ini.obj + 0002:ffebc008 __ehhandler$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 00400008 f libcpmtd:xlocale.obj + 0003:ffc04008 __ehfuncinfo$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00400008 libconcrtd:SearchAlgorithms.obj + 0002:ffebc008 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1 00400008 f libcpmtd:locale.obj + 0003:ffc04008 __ehfuncinfo$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00400008 libconcrtd:SearchAlgorithms.obj + 0002:ffebc00b __ehhandler$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0040000b f shared:Ini.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f shared:KOSocket.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@I@Z 0040000b f shared:KOSocket.obj + 0002:ffebc00b __ehhandler$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 0040000b f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc00b __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 0040000b f libcpmtd:locale.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f Npc.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f RoomEvent.obj + 0002:ffebc00b __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 0040000b f libcpmtd:locale.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f GameSocket.obj + 0002:ffebc00b __ehhandler$??0system_error@std@@QAE@Verror_code@1@PBD@Z 0040000b f shared:Ini.obj + 0002:ffebc00b __ehhandler$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 0040000b f shared:Ini.obj + 0002:ffebc00b __ehhandler$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 0040000b f shared:Ini.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f NpcMagicProcess.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@I@Z 0040000b f Npc.obj + 0002:ffebc00b __ehhandler$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 0040000b f libconcrtd:SearchAlgorithms.obj + 0002:ffebc00b __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 0040000b f libcpmtd:xlocale.obj + 0002:ffebc00b __ehhandler$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 0040000b f shared:Ini.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@I@Z 0040000b f ServerDlg.obj + 0002:ffebc00b __ehhandler$??0ByteBuffer@@QAE@XZ 0040000b f ServerDlg.obj + 0002:ffebc00c __ehhandler$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 0040000c f AIUser.obj + 0000:ffb7900c __guard_fids__ 0040000c libcpmtd:locale0.obj + 0000:ffb7900c __guard_fids__ 0040000c libconcrtd:staticinits.obj + 0002:ffebc00e __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 0040000e f shared:Ini.obj + 0002:ffebc00e __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 0040000e f shared:Ini.obj + 0002:ffebc00f __ehhandler$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 0040000f f libconcrtd:Chores.obj + 0002:ffebc00f __ehhandler$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 0040000f f libconcrtd:Chores.obj + 0003:ffc04010 __unwindtable$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00400010 ServerDlg.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f libcpmtd:xlocale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f MAP.obj + 0003:ffc04010 __unwindtable$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00400010 ServerDlg.obj + 0002:ffebc010 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$2 00400010 f Npc.obj + 0003:ffc04010 __tryblocktable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 00400010 shared:Ini.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 ServerDlg.obj + 0002:ffebc010 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$2 00400010 f NpcMagicProcess.obj + 0002:ffebc010 __ehhandler$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400010 f shared:Ini.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 shared:OdbcConnection.obj + 0003:ffc04010 __ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 shared:Ini.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 ServerDlg.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f shared:OdbcConnection.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 ServerDlg.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 ServerDlg.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 NpcMagicProcess.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 RoomEvent.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 shared:Socket.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 RoomEvent.obj + 0003:ffc04010 __unwindtable$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 00400010 shared:Ini.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f ServerDlg.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f ServerDlg.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 shared:SMDFile.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 NpcMagicProcess.obj + 0002:ffebc010 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$3 00400010 f ServerDlg.obj + 0002:ffebc010 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$2 00400010 f ServerDlg.obj + 0002:ffebc010 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$3 00400010 f shared:SMDFile.obj + 0002:ffebc010 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$3 00400010 f RoomEvent.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f shared:SMDFile.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f shared:OdbcRecordset.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f shared:SMDFile.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 shared:SMDFile.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 shared:KOSocket.obj + 0003:ffc04010 __unwindtable$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00400010 shared:SocketMgr.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 GameSocket.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 shared:KOSocket.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 shared:OdbcRecordset.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 libcpmtd:xonce.obj + 0002:ffebc010 __ehhandler$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400010 f libcpmtd:xonce.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f libcpmtd:xonce.obj + 0002:ffebc010 __ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 f libcpmtd:locale.obj + 0003:ffc04010 __ehfuncinfo$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400010 libcpmtd:thread0.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 libcpmtd:thread0.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 libcpmtd:thread0.obj + 0002:ffebc010 __ehhandler$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400010 f libcpmtd:thread0.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f libcpmtd:thread0.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f shared:Socket.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f libcpmtd:thread0.obj + 0003:ffc04010 __ehfuncinfo$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400010 libcpmtd:locale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f shared:Ini.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 libcpmtd:wlocale.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 libcpmtd:wlocale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f shared:tstring.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f libcpmtd:wlocale.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 Npc.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f shared:Ini.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 f libcpmtd:wlocale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 f libcpmtd:locale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f libcpmtd:locale.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 libcpmtd:xlocale.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 shared:tstring.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 libcpmtd:xlocale.obj + 0002:ffebc010 __ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 f libcpmtd:xlocale.obj + 0003:ffc04010 __ehfuncinfo$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400010 libconcrtd:Chores.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 libcpmtd:xlocale.obj + 0002:ffebc010 __ehhandler$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00400010 f libconcrtd:Chores.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 f shared:OdbcConnection.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 Unit.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f libcpmtd:xonce.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 Unit.obj + 0003:ffc04010 __ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 libcpmtd:xlocale.obj + 0003:ffc04010 __ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 libcpmtd:locale.obj + 0000:ffb79010 __guard_fids__ 00400010 libconcrtd:staticinits.obj + 0000:ffb79010 __guard_fids__ 00400010 libcpmtd:locale0.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 libcpmtd:locale.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 libcpmtd:locale.obj + 0002:ffebc010 __ehhandler$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400010 f libcpmtd:locale.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 00400010 f libcpmtd:xlocale.obj + 0003:ffc04010 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400010 Npc.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 MAP.obj + 0003:ffc04010 __ehfuncinfo$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00400010 shared:Ini.obj + 0003:ffc04010 __ehfuncinfo$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400010 shared:Ini.obj + 0003:ffc04010 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400010 GameSocket.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 shared:Ini.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 shared:Ini.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 00400010 libcpmtd:xonce.obj + 0003:ffc04010 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 shared:OdbcConnection.obj + 0002:ffebc010 __ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00400010 f shared:Ini.obj + 0002:ffebc010 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$2 00400010 f Npc.obj + 0003:ffc04010 __ehfuncinfo$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400010 libcpmtd:xonce.obj + 0002:ffebc010 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00400010 f libcpmtd:xlocale.obj + 0002:ffebc013 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2 00400013 f libcpmtd:locale.obj + 0002:ffebc013 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2 00400013 f libcpmtd:wlocale.obj + 0002:ffebc013 __ehhandler$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00400013 f shared:Ini.obj + 0002:ffebc013 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2 00400013 f shared:Ini.obj + 0002:ffebc013 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2 00400013 f libcpmtd:xlocale.obj + 0000:ffb79014 __guard_fids__ 00400014 libconcrtd:staticinits.obj + 0000:ffb79014 __guard_fids__ 00400014 libcpmtd:locale0.obj + 0003:ffc04018 __ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400018 libcpmtd:xlocale.obj + 0003:ffc04018 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00400018 NpcMagicProcess.obj + 0003:ffc04018 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 00400018 shared:SMDFile.obj + 0003:ffc04018 __ehfuncinfo$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00400018 RoomEvent.obj + 0003:ffc04018 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00400018 ServerDlg.obj + 0003:ffc04018 __ehfuncinfo$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00400018 ServerDlg.obj + 0003:ffc04018 __ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400018 shared:Ini.obj + 0003:ffc04018 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00400018 Npc.obj + 0000:ffb79018 __guard_fids__ 00400018 libcpmtd:locale0.obj + 0003:ffc04018 __ehfuncinfo$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400018 libcpmtd:locale.obj + 0003:ffc04018 __ehfuncinfo$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400018 shared:Ini.obj + 0003:ffc04018 __ehfuncinfo$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 00400018 shared:Ini.obj + 0003:ffc04018 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00400018 Npc.obj + 0003:ffc04018 __ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400018 libcpmtd:locale.obj + 0002:ffebc019 __ehhandler$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 00400019 f libcpmtd:xlocale.obj + 0002:ffebc01b __ehhandler$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 0040001b f Npc.obj + 0002:ffebc01b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 0040001b f NpcMagicProcess.obj + 0002:ffebc01b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 0040001b f shared:SMDFile.obj + 0002:ffebc01b __ehhandler$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 0040001b f RoomEvent.obj + 0002:ffebc01b __ehhandler$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 0040001b f ServerDlg.obj + 0002:ffebc01b __ehhandler$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 0040001b f ServerDlg.obj + 0002:ffebc01b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 0040001b f Npc.obj + 0002:ffebc01e __ehhandler$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 0040001e f libconcrtd:ExternalContextBase.obj + 0002:ffebc01e __ehhandler$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 0040001e f libconcrtd:SearchAlgorithms.obj + 0002:ffebc01e __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3 0040001e f libcpmtd:locale.obj + 0002:ffebc01e __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3 0040001e f shared:Ini.obj + 0002:ffebc01e __ehhandler$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 0040001e f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc01e __ehhandler$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 0040001e f libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc01e __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3 0040001e f libcpmtd:xlocale.obj + 0002:ffebc01e __ehhandler$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 0040001e f libconcrtd:SearchAlgorithms.obj + 0002:ffebc01e __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3 0040001e f libcpmtd:wlocale.obj + 0003:ffc04020 __tryblocktable$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00400020 ServerDlg.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 Npc.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 ServerDlg.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 shared:KOSocket.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 ServerDlg.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 NpcMagicProcess.obj + 0003:ffc04020 __tryblocktable$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 00400020 shared:Ini.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 GameSocket.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 Unit.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 GameSocket.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 Npc.obj + 0003:ffc04020 __tryblocktable$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00400020 ServerDlg.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 RoomEvent.obj + 0003:ffc04020 __tryblocktable$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00400020 shared:SocketMgr.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 RoomEvent.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 shared:KOSocket.obj + 0003:ffc04020 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400020 NpcMagicProcess.obj + 0003:ffc04020 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400020 Unit.obj + 0002:ffebc022 __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$1 00400022 f shared:Ini.obj + 0002:ffebc022 __ehhandler$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 00400022 f shared:Ini.obj + 0003:ffc04024 __unwindtable$??0_Locinfo@std@@QAE@PBD@Z 00400024 libcpmtd:locale.obj + 0002:ffebc024 __ehhandler$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400024 f libcpmtd:locale.obj + 0002:ffebc024 __ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400024 f libcpmtd:locale.obj + 0003:ffc04024 __unwindtable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 00400024 shared:Ini.obj + 0003:ffc04024 __unwindtable$??0_Locinfo@std@@QAE@PBD@Z 00400024 libcpmtd:wlocale.obj + 0003:ffc04024 __unwindtable$??0_Locinfo@std@@QAE@PBD@Z 00400024 libcpmtd:xlocale.obj + 0003:ffc04024 __unwindtable$??0_Locinfo@std@@QAE@PBD@Z 00400024 shared:Ini.obj + 0002:ffebc024 __ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400024 f libcpmtd:xlocale.obj + 0002:ffebc029 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4 00400029 f shared:Ini.obj + 0002:ffebc029 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4 00400029 f libcpmtd:locale.obj + 0002:ffebc029 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4 00400029 f libcpmtd:wlocale.obj + 0002:ffebc029 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4 00400029 f libcpmtd:xlocale.obj + 0002:ffebc02d __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$2 0040002d f shared:Ini.obj + 0002:ffebc030 __ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400030 f shared:Ini.obj + 0002:ffebc030 __ehhandler$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00400030 f shared:Ini.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 ServerDlg.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 ServerDlg.obj + 0002:ffebc034 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5 00400034 f shared:Ini.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 NpcMagicProcess.obj + 0002:ffebc034 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5 00400034 f libcpmtd:xlocale.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 Npc.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 GameSocket.obj + 0003:ffc04034 __ehfuncinfo$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00400034 ServerDlg.obj + 0003:ffc04034 __ehfuncinfo$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00400034 ServerDlg.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 NpcMagicProcess.obj + 0002:ffebc034 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5 00400034 f libcpmtd:wlocale.obj + 0002:ffebc034 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5 00400034 f libcpmtd:locale.obj + 0003:ffc04034 __ehfuncinfo$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 00400034 shared:Ini.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 Unit.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 shared:KOSocket.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 Npc.obj + 0003:ffc04034 __ehfuncinfo$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00400034 shared:SocketMgr.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 RoomEvent.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 GameSocket.obj + 0003:ffc04034 __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00400034 shared:KOSocket.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 RoomEvent.obj + 0003:ffc04034 __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00400034 Unit.obj + 0002:ffebc038 __ehhandler$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 00400038 f shared:Ini.obj + 0003:ffc0403c __ehfuncinfo$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 0040003c shared:Ini.obj + 0002:ffebc03f __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$6 0040003f f shared:Ini.obj + 0002:ffebc03f __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$6 0040003f f libcpmtd:xlocale.obj + 0002:ffebc03f __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$6 0040003f f libcpmtd:locale.obj + 0002:ffebc03f __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$6 0040003f f libcpmtd:wlocale.obj + 0002:ffebc04a __ehhandler$??0_Locinfo@std@@QAE@PBD@Z 0040004a f libcpmtd:locale.obj + 0002:ffebc04a __ehhandler$??0_Locinfo@std@@QAE@PBD@Z 0040004a f libcpmtd:xlocale.obj + 0002:ffebc04a __ehhandler$??0_Locinfo@std@@QAE@PBD@Z 0040004a f shared:Ini.obj + 0002:ffebc04a __ehhandler$??0_Locinfo@std@@QAE@PBD@Z 0040004a f libcpmtd:wlocale.obj + 0002:ffebc074 $LN6 00400074 Npc.obj + 0002:ffebc074 $LN6 00400074 AIUser.obj + 0002:ffebc074 $LN6 00400074 RoomEvent.obj + 0002:ffebc07c $LN5 0040007c ServerDlg.obj + 0002:ffebc07c $LN5 0040007c NpcThread.obj + 0002:ffebc07c $LN5 0040007c MAP.obj + 0002:ffebc07c $LN5 0040007c RoomEvent.obj + 0002:ffebc07c $LN5 0040007c AIUser.obj + 0002:ffebc07c $LN5 0040007c Npc.obj + 0002:ffebc07c $LN5 0040007c Party.obj + 0002:ffebc084 $LN6 00400084 ServerDlg.obj + 0002:ffebc084 $LN6 00400084 ServerDlg.obj + 0002:ffebc084 $LN6 00400084 ServerDlg.obj + 0002:ffebc084 $LN4 00400084 ServerDlg.obj + 0002:ffebc084 $LN6 00400084 NpcMagicProcess.obj + 0002:ffebc084 $LN6 00400084 Unit.obj + 0002:ffebc084 $LN4 00400084 NpcThread.obj + 0002:ffebc084 $LN4 00400084 Party.obj + 0002:ffebc084 $LN6 00400084 Npc.obj + 0002:ffebc084 $LN6 00400084 Npc.obj + 0002:ffebc084 $LN4 00400084 MAP.obj + 0002:ffebc088 $LN4 00400088 Npc.obj + 0002:ffebc088 $LN4 00400088 RoomEvent.obj + 0002:ffebc088 $LN4 00400088 AIUser.obj + 0002:ffebc08c $LN5 0040008c NpcMagicProcess.obj + 0002:ffebc08c $LN5 0040008c Unit.obj + 0002:ffebc08c $LN6 0040008c Npc.obj + 0002:ffebc08c $LN6 0040008c Unit.obj + 0002:ffebc08c $LN5 0040008c ServerDlg.obj + 0002:ffebc08c $LN6 0040008c ServerDlg.obj + 0002:ffebc08c $LN5 0040008c Npc.obj + 0002:ffebc08c $LN6 0040008c NpcMagicProcess.obj + 0002:ffebc08c $LN6 0040008c GameSocket.obj + 0002:ffebc08c $LN6 0040008c Party.obj + 0002:ffebc08c $LN5 0040008c ServerDlg.obj + 0002:ffebc08c $LN6 0040008c RoomEvent.obj + 0002:ffebc08c $LN5 0040008c ServerDlg.obj + 0002:ffebc08c $LN5 0040008c Npc.obj + 0002:ffebc08c $LN6 0040008c AIUser.obj + 0002:ffebc08c $LN6 0040008c MAP.obj + 0002:ffebc08c $LN6 0040008c NpcThread.obj + 0002:ffebc090 $LN7 00400090 MAP.obj + 0002:ffebc090 $LN7 00400090 ServerDlg.obj + 0002:ffebc090 $LN5 00400090 AIUser.obj + 0002:ffebc090 $LN5 00400090 Npc.obj + 0002:ffebc090 $LN5 00400090 Npc.obj + 0002:ffebc090 $LN3 00400090 ServerDlg.obj + 0002:ffebc090 $LN5 00400090 ServerDlg.obj + 0002:ffebc090 $LN5 00400090 AIUser.obj + 0002:ffebc090 $LN5 00400090 Npc.obj + 0002:ffebc090 $LN3 00400090 NpcThread.obj + 0002:ffebc090 $LN5 00400090 GameSocket.obj + 0002:ffebc090 $LN5 00400090 Npc.obj + 0002:ffebc090 $LN5 00400090 AIUser.obj + 0002:ffebc090 $LN7 00400090 Npc.obj + 0002:ffebc090 $LN5 00400090 AIUser.obj + 0002:ffebc090 $LN3 00400090 MAP.obj + 0002:ffebc090 $LN3 00400090 Party.obj + 0002:ffebc090 $LN5 00400090 RoomEvent.obj + 0002:ffebc094 $LN5 00400094 MAP.obj + 0002:ffebc094 $LN5 00400094 GameSocket.obj + 0002:ffebc094 $LN5 00400094 ServerDlg.obj + 0002:ffebc094 $LN5 00400094 Unit.obj + 0002:ffebc094 $LN5 00400094 Party.obj + 0002:ffebc094 $LN5 00400094 Npc.obj + 0002:ffebc094 $LN5 00400094 NpcMagicProcess.obj + 0002:ffebc094 $LN5 00400094 AIUser.obj + 0002:ffebc094 $LN5 00400094 NpcThread.obj + 0002:ffebc094 $LN5 00400094 RoomEvent.obj + 0002:ffebc098 $LN4 00400098 ServerDlg.obj + 0002:ffebc098 $LN6 00400098 ServerDlg.obj + 0002:ffebc098 $LN4 00400098 ServerDlg.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN7 00400098 ServerDlg.obj + 0002:ffebc098 $LN4 00400098 AIUser.obj + 0002:ffebc098 $LN4 00400098 RoomEvent.obj + 0002:ffebc098 $LN6 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 GameSocket.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 NpcMagicProcess.obj + 0002:ffebc098 $LN4 00400098 AIUser.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 ServerDlg.obj + 0002:ffebc098 $LN4 00400098 Unit.obj + 0002:ffebc098 $LN4 00400098 AIUser.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 Npc.obj + 0002:ffebc098 $LN4 00400098 ServerDlg.obj + 0002:ffebc098 $LN4 00400098 AIUser.obj + 0002:ffebc098 $LN6 00400098 MAP.obj + 0002:ffebc0a0 $LN3 004000a0 ServerDlg.obj + 0002:ffebc0a0 $LN3 004000a0 NpcMagicProcess.obj + 0002:ffebc0a0 $LN3 004000a0 Unit.obj + 0002:ffebc0a0 $LN3 004000a0 MAP.obj + 0002:ffebc0a0 $LN6 004000a0 ServerDlg.obj + 0002:ffebc0a0 $LN3 004000a0 NpcThread.obj + 0002:ffebc0a0 $LN3 004000a0 GameSocket.obj + 0002:ffebc0a0 $LN3 004000a0 Party.obj + 0002:ffebc0a0 $LN3 004000a0 RoomEvent.obj + 0002:ffebc0a0 $LN3 004000a0 Npc.obj + 0002:ffebc0a0 $LN3 004000a0 AIUser.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f RoomEvent.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f Unit.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f Npc.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f NpcMagicProcess.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f GameSocket.obj + 0002:ffebc0a2 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000a2 f ServerDlg.obj + 0002:ffebc0a4 $LN5 004000a4 ServerDlg.obj + 0002:ffebc0a4 $LN3 004000a4 Npc.obj + 0002:ffebc0a4 $LN3 004000a4 ServerDlg.obj + 0002:ffebc0a4 $LN6 004000a4 shared:OdbcCommand.obj + 0002:ffebc0a4 $LN3 004000a4 AIUser.obj + 0002:ffebc0a4 $LN3 004000a4 AIUser.obj + 0002:ffebc0a4 $LN3 004000a4 Npc.obj + 0002:ffebc0a4 $LN5 004000a4 Npc.obj + 0002:ffebc0a4 $LN5 004000a4 MAP.obj + 0002:ffebc0a4 $LN3 004000a4 AIUser.obj + 0002:ffebc0a4 $LN3 004000a4 Npc.obj + 0002:ffebc0a4 $LN3 004000a4 GameSocket.obj + 0002:ffebc0a4 $LN6 004000a4 shared:SocketMgr.obj + 0002:ffebc0a4 $LN6 004000a4 shared:SMDFile.obj + 0002:ffebc0a4 $LN3 004000a4 Npc.obj + 0002:ffebc0a4 $LN3 004000a4 RoomEvent.obj + 0002:ffebc0a4 $LN6 004000a4 shared:OdbcConnection.obj + 0002:ffebc0a4 $LN3 004000a4 AIUser.obj + 0002:ffebc0a4 $LN6 004000a4 shared:tstring.obj + 0002:ffebc0a4 $LN6 004000a4 shared:Ini.obj + 0002:ffebc0a8 $LN8 004000a8 shared:Ini.obj + 0002:ffebc0a8 $LN6 004000a8 shared:SocketWin32.obj + 0002:ffebc0a8 $LN6 004000a8 shared:Socket.obj + 0002:ffebc0ac $LN5 004000ac ServerDlg.obj + 0002:ffebc0ac __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 004000ac f shared:KOSocket.obj + 0002:ffebc0ac $LN5 004000ac shared:SMDFile.obj + 0002:ffebc0ac $LN5 004000ac shared:OdbcCommand.obj + 0002:ffebc0ac $LN5 004000ac shared:Ini.obj + 0002:ffebc0ac $LN5 004000ac shared:tstring.obj + 0002:ffebc0ac $LN5 004000ac shared:OdbcConnection.obj + 0002:ffebc0ac $LN5 004000ac shared:SocketMgr.obj + 0002:ffebc0ac $LN5 004000ac shared:Ini.obj + 0002:ffebc0b0 $LN5 004000b0 shared:Socket.obj + 0002:ffebc0b0 $LN5 004000b0 shared:SocketWin32.obj + 0002:ffebc0b0 $LN5 004000b0 MAP.obj + 0002:ffebc0b0 $LN5 004000b0 Npc.obj + 0002:ffebc0b0 $LN5 004000b0 ServerDlg.obj + 0002:ffebc0b0 $LN7 004000b0 shared:Ini.obj + 0002:ffebc0b4 $LN11 004000b4 ServerDlg.obj + 0002:ffebc0b4 $LN11 004000b4 ServerDlg.obj + 0002:ffebc0b4 $LN11 004000b4 RoomEvent.obj + 0002:ffebc0b4 $LN8 004000b4 ServerDlg.obj + 0002:ffebc0b4 $LN11 004000b4 GameSocket.obj + 0002:ffebc0b4 $LN11 004000b4 Unit.obj + 0002:ffebc0b4 $LN11 004000b4 NpcMagicProcess.obj + 0002:ffebc0b4 $LN11 004000b4 Npc.obj + 0002:ffebc0b4 $LN4 004000b4 shared:Ini.obj + 0002:ffebc0b4 $LN11 004000b4 ServerDlg.obj + 0002:ffebc0b8 $LN4 004000b8 MAP.obj + 0002:ffebc0b8 $LN9 004000b8 ServerDlg.obj + 0002:ffebc0b8 $LN3 004000b8 shared:OdbcCommand.obj + 0002:ffebc0b8 $LN9 004000b8 Unit.obj + 0002:ffebc0b8 $LN4 004000b8 Npc.obj + 0002:ffebc0b8 $LN9 004000b8 MAP.obj + 0002:ffebc0b8 $LN9 004000b8 NpcThread.obj + 0002:ffebc0b8 $LN4 004000b8 ServerDlg.obj + 0002:ffebc0b8 $LN3 004000b8 shared:SocketMgr.obj + 0002:ffebc0b8 $LN3 004000b8 shared:OdbcConnection.obj + 0002:ffebc0b8 $LN9 004000b8 GameSocket.obj + 0002:ffebc0b8 $LN3 004000b8 shared:SMDFile.obj + 0002:ffebc0b8 $LN9 004000b8 Npc.obj + 0002:ffebc0b8 $LN9 004000b8 RoomEvent.obj + 0002:ffebc0b8 $LN3 004000b8 shared:Ini.obj + 0002:ffebc0b8 $LN3 004000b8 shared:tstring.obj + 0002:ffebc0b8 $LN9 004000b8 Party.obj + 0002:ffebc0b8 $LN9 004000b8 AIUser.obj + 0002:ffebc0bc $LN10 004000bc RoomEvent.obj + 0002:ffebc0bc $LN11 004000bc ServerDlg.obj + 0002:ffebc0bc $LN3 004000bc shared:Socket.obj + 0002:ffebc0bc $LN10 004000bc ServerDlg.obj + 0002:ffebc0bc $LN8 004000bc Party.obj + 0002:ffebc0bc $LN6 004000bc shared:Ini.obj + 0002:ffebc0bc $LN7 004000bc ServerDlg.obj + 0002:ffebc0bc $LN6 004000bc ServerDlg.obj + 0002:ffebc0bc $LN8 004000bc ServerDlg.obj + 0002:ffebc0bc $LN6 004000bc RoomEvent.obj + 0002:ffebc0bc $LN6 004000bc NpcMagicProcess.obj + 0002:ffebc0bc $LN11 004000bc ServerDlg.obj + 0002:ffebc0bc $LN10 004000bc Unit.obj + 0002:ffebc0bc $LN11 004000bc ServerDlg.obj + 0002:ffebc0bc $LN10 004000bc ServerDlg.obj + 0002:ffebc0bc $LN11 004000bc GameSocket.obj + 0002:ffebc0bc $LN11 004000bc RoomEvent.obj + 0002:ffebc0bc $LN10 004000bc Npc.obj + 0002:ffebc0bc $LN6 004000bc Npc.obj + 0002:ffebc0bc $LN10 004000bc NpcMagicProcess.obj + 0002:ffebc0bc $LN6 004000bc GameSocket.obj + 0002:ffebc0bc $LN6 004000bc ServerDlg.obj + 0002:ffebc0bc $LN11 004000bc Unit.obj + 0002:ffebc0bc $LN10 004000bc GameSocket.obj + 0002:ffebc0bc $LN10 004000bc ServerDlg.obj + 0002:ffebc0bc $LN6 004000bc Unit.obj + 0002:ffebc0bc $LN3 004000bc shared:SocketWin32.obj + 0002:ffebc0bc $LN6 004000bc shared:OdbcConnection.obj + 0002:ffebc0c0 $LN8 004000c0 NpcThread.obj + 0002:ffebc0c0 $LN8 004000c0 RoomEvent.obj + 0002:ffebc0c0 $LN3 004000c0 shared:Ini.obj + 0002:ffebc0c0 $LN8 004000c0 Unit.obj + 0002:ffebc0c0 $LN5 004000c0 RoomEvent.obj + 0002:ffebc0c0 $LN8 004000c0 GameSocket.obj + 0002:ffebc0c0 $LN8 004000c0 Party.obj + 0002:ffebc0c0 $LN8 004000c0 AIUser.obj + 0002:ffebc0c0 $LN8 004000c0 ServerDlg.obj + 0002:ffebc0c0 $LN8 004000c0 Npc.obj + 0002:ffebc0c0 $LN5 004000c0 ServerDlg.obj + 0002:ffebc0c0 $LN8 004000c0 MAP.obj + 0002:ffebc0c4 $LN10 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN6 004000c4 shared:Ini.obj + 0002:ffebc0c4 $LN7 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN3 004000c4 MAP.obj + 0002:ffebc0c4 $LN5 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN3 004000c4 Npc.obj + 0002:ffebc0c4 $LN5 004000c4 NpcMagicProcess.obj + 0002:ffebc0c4 $LN10 004000c4 RoomEvent.obj + 0002:ffebc0c4 $LN5 004000c4 Npc.obj + 0002:ffebc0c4 $LN5 004000c4 GameSocket.obj + 0002:ffebc0c4 $LN10 004000c4 Unit.obj + 0002:ffebc0c4 $LN7 004000c4 Party.obj + 0002:ffebc0c4 $LN10 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN10 004000c4 GameSocket.obj + 0002:ffebc0c4 $LN3 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN5 004000c4 RoomEvent.obj + 0002:ffebc0c4 $LN5 004000c4 Unit.obj + 0002:ffebc0c4 $LN5 004000c4 shared:OdbcConnection.obj + 0002:ffebc0c4 $LN5 004000c4 ServerDlg.obj + 0002:ffebc0c4 $LN10 004000c4 ServerDlg.obj + 0002:ffebc0c8 $LN10 004000c8 AIUser.obj + 0002:ffebc0c8 $LN10 004000c8 NpcMagicProcess.obj + 0002:ffebc0c8 $LN10 004000c8 Npc.obj + 0002:ffebc0c8 $LN6 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN9 004000c8 NpcThread.obj + 0002:ffebc0c8 $LN4 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN10 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN6 004000c8 RoomEvent.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN6 004000c8 AIUser.obj + 0002:ffebc0c8 $LN10 004000c8 MAP.obj + 0002:ffebc0c8 $LN9 004000c8 Unit.obj + 0002:ffebc0c8 $LN9 004000c8 RoomEvent.obj + 0002:ffebc0c8 $LN9 004000c8 GameSocket.obj + 0002:ffebc0c8 $LN9 004000c8 AIUser.obj + 0002:ffebc0c8 $LN9 004000c8 RoomEvent.obj + 0002:ffebc0c8 $LN4 004000c8 RoomEvent.obj + 0002:ffebc0c8 $LN9 004000c8 Npc.obj + 0002:ffebc0c8 $LN9 004000c8 Npc.obj + 0002:ffebc0c8 $LN6 004000c8 Npc.obj + 0002:ffebc0c8 $LN10 004000c8 RoomEvent.obj + 0002:ffebc0c8 $LN10 004000c8 GameSocket.obj + 0002:ffebc0c8 $LN6 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN10 004000c8 Unit.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN9 004000c8 NpcMagicProcess.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN6 004000c8 MAP.obj + 0002:ffebc0c8 $LN9 004000c8 ServerDlg.obj + 0002:ffebc0c8 $LN10 004000c8 NpcThread.obj + 0002:ffebc0cc $LN6 004000cc Party.obj + 0002:ffebc0cc $LN6 004000cc GameSocket.obj + 0002:ffebc0cc $LN6 004000cc MAP.obj + 0002:ffebc0cc $LN6 004000cc AIUser.obj + 0002:ffebc0cc $LN6 004000cc Npc.obj + 0002:ffebc0cc $LN5 004000cc shared:Ini.obj + 0002:ffebc0cc $LN6 004000cc RoomEvent.obj + 0002:ffebc0cc $LN6 004000cc ServerDlg.obj + 0002:ffebc0cc $LN6 004000cc NpcThread.obj + 0002:ffebc0cc $LN6 004000cc Unit.obj + 0002:ffebc0d0 $LN9 004000d0 NpcMagicProcess.obj + 0002:ffebc0d0 $LN9 004000d0 shared:OdbcConnection.obj + 0002:ffebc0d0 $LN9 004000d0 shared:SMDFile.obj + 0002:ffebc0d0 $LN8 004000d0 AIUser.obj + 0002:ffebc0d0 $LN9 004000d0 shared:tstring.obj + 0002:ffebc0d0 $LN9 004000d0 MAP.obj + 0002:ffebc0d0 $LN8 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN8 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN3 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN3 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 GameSocket.obj + 0002:ffebc0d0 $LN6 004000d0 shared:Ini.obj + 0002:ffebc0d0 $LN9 004000d0 shared:Ini.obj + 0002:ffebc0d0 $LN6 004000d0 shared:Ini.obj + 0002:ffebc0d0 $LN3 004000d0 GameSocket.obj + 0002:ffebc0d0 $LN5 004000d0 MAP.obj + 0002:ffebc0d0 $LN5 004000d0 AIUser.obj + 0002:ffebc0d0 $LN5 004000d0 RoomEvent.obj + 0002:ffebc0d0 $LN9 004000d0 Unit.obj + 0002:ffebc0d0 $LN9 004000d0 AIUser.obj + 0002:ffebc0d0 $LN9 004000d0 Npc.obj + 0002:ffebc0d0 $LN8 004000d0 Npc.obj + 0002:ffebc0d0 $LN9 004000d0 RoomEvent.obj + 0002:ffebc0d0 $LN6 004000d0 Party.obj + 0002:ffebc0d0 $LN11 004000d0 shared:KOSocket.obj + 0002:ffebc0d0 $LN5 004000d0 Npc.obj + 0002:ffebc0d0 $LN3 004000d0 RoomEvent.obj + 0002:ffebc0d0 $LN9 004000d0 shared:OdbcCommand.obj + 0002:ffebc0d0 $LN3 004000d0 NpcMagicProcess.obj + 0002:ffebc0d0 $LN3 004000d0 Npc.obj + 0002:ffebc0d0 $LN11 004000d0 shared:SocketMgr.obj + 0002:ffebc0d0 $LN3 004000d0 Unit.obj + 0002:ffebc0d0 $LN8 004000d0 RoomEvent.obj + 0002:ffebc0d0 $LN9 004000d0 NpcThread.obj + 0002:ffebc0d0 $LN9 004000d0 shared:SocketMgr.obj + 0002:ffebc0d0 $LN9 004000d0 Unit.obj + 0002:ffebc0d0 $LN5 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN8 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN8 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 RoomEvent.obj + 0002:ffebc0d0 $LN6 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN9 004000d0 GameSocket.obj + 0002:ffebc0d0 $LN8 004000d0 NpcThread.obj + 0002:ffebc0d0 $LN9 004000d0 ServerDlg.obj + 0002:ffebc0d0 $LN3 004000d0 shared:OdbcConnection.obj + 0002:ffebc0d0 $LN6 004000d0 shared:SMDFile.obj + 0002:ffebc0d4 $LN8 004000d4 shared:OdbcCommand.obj + 0002:ffebc0d4 $LN6 004000d4 shared:KOSocket.obj + 0002:ffebc0d4 $LN3 004000d4 RoomEvent.obj + 0002:ffebc0d4 $LN3 004000d4 ServerDlg.obj + 0002:ffebc0d4 $LN8 004000d4 shared:tstring.obj + 0002:ffebc0d4 $LN6 004000d4 shared:SocketMgr.obj + 0002:ffebc0d4 $LN8 004000d4 shared:OdbcRecordset.obj + 0002:ffebc0d4 $LN8 004000d4 shared:OdbcConnection.obj + 0002:ffebc0d4 $LN8 004000d4 shared:Socket.obj + 0002:ffebc0d4 $LN8 004000d4 shared:SMDFile.obj + 0002:ffebc0d4 $LN8 004000d4 shared:Ini.obj + 0002:ffebc0d8 $LN11 004000d8 shared:SMDFile.obj + 0002:ffebc0d8 $LN5 004000d8 shared:Ini.obj + 0002:ffebc0d8 $LN10 004000d8 shared:KOSocket.obj + 0002:ffebc0d8 $LN8 004000d8 shared:OdbcCommand.obj + 0002:ffebc0d8 $LN8 004000d8 shared:SocketMgr.obj + 0002:ffebc0d8 $LN3 004000d8 shared:Ini.obj + 0002:ffebc0d8 $LN10 004000d8 shared:SocketMgr.obj + 0002:ffebc0d8 $LN5 004000d8 shared:SMDFile.obj + 0002:ffebc0d8 $LN5 004000d8 shared:Ini.obj + 0002:ffebc0d8 $LN8 004000d8 shared:tstring.obj + 0002:ffebc0d8 $LN8 004000d8 shared:Ini.obj + 0002:ffebc0d8 $LN8 004000d8 shared:SMDFile.obj + 0002:ffebc0d8 $LN8 004000d8 shared:OdbcConnection.obj + 0002:ffebc0dc $LN7 004000dc shared:OdbcRecordset.obj + 0002:ffebc0dc $LN7 004000dc MAP.obj + 0002:ffebc0dc $LN6 004000dc NpcThread.obj + 0002:ffebc0dc $LN6 004000dc RoomEvent.obj + 0002:ffebc0dc $LN7 004000dc AIUser.obj + 0002:ffebc0dc $LN3 004000dc RoomEvent.obj + 0002:ffebc0dc $LN7 004000dc RoomEvent.obj + 0002:ffebc0dc $LN8 004000dc shared:tstring.obj + 0002:ffebc0dc $LN3 004000dc AIUser.obj + 0002:ffebc0dc $LN3 004000dc ServerDlg.obj + 0002:ffebc0dc $LN7 004000dc Unit.obj + 0002:ffebc0dc $LN8 004000dc shared:SMDFile.obj + 0002:ffebc0dc $LN8 004000dc shared:Ini.obj + 0002:ffebc0dc $LN7 004000dc shared:SMDFile.obj + 0002:ffebc0dc $LN6 004000dc AIUser.obj + 0002:ffebc0dc $LN7 004000dc shared:Ini.obj + 0002:ffebc0dc $LN3 004000dc MAP.obj + 0002:ffebc0dc $LN7 004000dc ServerDlg.obj + 0002:ffebc0dc $LN8 004000dc ServerDlg.obj + 0002:ffebc0dc $LN6 004000dc ServerDlg.obj + 0002:ffebc0dc $LN6 004000dc ServerDlg.obj + 0002:ffebc0dc $LN6 004000dc ServerDlg.obj + 0002:ffebc0dc $LN7 004000dc Npc.obj + 0002:ffebc0dc $LN6 004000dc ServerDlg.obj + 0002:ffebc0dc $LN7 004000dc NpcThread.obj + 0002:ffebc0dc $LN8 004000dc RoomEvent.obj + 0002:ffebc0dc $LN8 004000dc shared:OdbcConnection.obj + 0002:ffebc0dc $LN5 004000dc shared:SocketMgr.obj + 0002:ffebc0dc $LN7 004000dc shared:Socket.obj + 0002:ffebc0dc $LN7 004000dc shared:OdbcConnection.obj + 0002:ffebc0dc $LN5 004000dc shared:SMDFile.obj + 0002:ffebc0dc $LN3 004000dc Npc.obj + 0002:ffebc0dc $LN8 004000dc shared:OdbcCommand.obj + 0002:ffebc0dc $LN7 004000dc shared:tstring.obj + 0002:ffebc0dc $LN7 004000dc shared:OdbcCommand.obj + 0002:ffebc0dc $LN7 004000dc NpcMagicProcess.obj + 0002:ffebc0dc $LN6 004000dc Npc.obj + 0002:ffebc0dc $LN5 004000dc shared:KOSocket.obj + 0002:ffebc0dc $LN7 004000dc GameSocket.obj + 0002:ffebc0e0 $LN10 004000e0 shared:tstring.obj + 0002:ffebc0e0 $LN6 004000e0 shared:OdbcRecordset.obj + 0002:ffebc0e0 $LN6 004000e0 shared:OdbcCommand.obj + 0002:ffebc0e0 $LN10 004000e0 shared:OdbcRecordset.obj + 0002:ffebc0e0 $LN6 004000e0 shared:tstring.obj + 0002:ffebc0e0 $LN10 004000e0 GameSocket.obj + 0002:ffebc0e0 $LN10 004000e0 shared:SMDFile.obj + 0002:ffebc0e0 $LN10 004000e0 Npc.obj + 0002:ffebc0e0 $LN10 004000e0 AIUser.obj + 0002:ffebc0e0 $LN6 004000e0 shared:SMDFile.obj + 0002:ffebc0e0 $LN10 004000e0 RoomEvent.obj + 0002:ffebc0e0 $LN10 004000e0 shared:Ini.obj + 0002:ffebc0e0 $LN10 004000e0 NpcMagicProcess.obj + 0002:ffebc0e0 $LN10 004000e0 ServerDlg.obj + 0002:ffebc0e0 $LN10 004000e0 shared:SMDFile.obj + 0002:ffebc0e0 $LN10 004000e0 shared:SocketMgr.obj + 0002:ffebc0e0 $LN10 004000e0 NpcThread.obj + 0002:ffebc0e0 $LN10 004000e0 Party.obj + 0002:ffebc0e0 $LN10 004000e0 MAP.obj + 0002:ffebc0e0 $LN10 004000e0 shared:OdbcCommand.obj + 0002:ffebc0e0 $LN10 004000e0 shared:KOSocket.obj + 0002:ffebc0e0 $LN6 004000e0 shared:OdbcConnection.obj + 0002:ffebc0e0 $LN6 004000e0 shared:KOSocket.obj + 0002:ffebc0e0 $LN6 004000e0 shared:Ini.obj + 0002:ffebc0e0 $LN10 004000e0 Unit.obj + 0002:ffebc0e0 $LN10 004000e0 shared:OdbcConnection.obj + 0002:ffebc0e0 $LN10 004000e0 shared:Socket.obj + 0002:ffebc0e0 $LN6 004000e0 shared:SocketWin32.obj + 0002:ffebc0e0 $LN10 004000e0 shared:SocketWin32.obj + 0002:ffebc0e4 $LN6 004000e4 shared:tstring.obj + 0002:ffebc0e4 $LN9 004000e4 shared:SocketMgr.obj + 0002:ffebc0e4 $LN7 004000e4 shared:tstring.obj + 0002:ffebc0e4 $LN3 004000e4 shared:SMDFile.obj + 0002:ffebc0e4 $LN3 004000e4 shared:Ini.obj + 0002:ffebc0e4 $LN7 004000e4 shared:OdbcCommand.obj + 0002:ffebc0e4 $LN6 004000e4 shared:OdbcCommand.obj + 0002:ffebc0e4 $LN7 004000e4 shared:Ini.obj + 0002:ffebc0e4 $LN7 004000e4 shared:SMDFile.obj + 0002:ffebc0e4 $LN7 004000e4 shared:OdbcConnection.obj + 0002:ffebc0e4 $LN6 004000e4 shared:Ini.obj + 0002:ffebc0e4 $LN4 004000e4 shared:SMDFile.obj + 0002:ffebc0e4 $LN7 004000e4 RoomEvent.obj + 0002:ffebc0e4 $LN3 004000e4 shared:Ini.obj + 0002:ffebc0e4 $LN6 004000e4 shared:OdbcConnection.obj + 0002:ffebc0e4 $LN7 004000e4 ServerDlg.obj + 0002:ffebc0e4 $LN6 004000e4 shared:SMDFile.obj + 0002:ffebc0e4 $LN9 004000e4 shared:KOSocket.obj + 0002:ffebc0e4 $LN6 004000e4 shared:SocketMgr.obj + 0002:ffebc0e7 __catch$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ$0 004000e7 f shared:Ini.obj + 0002:ffebc0e8 $LN9 004000e8 shared:Ini.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcRecordset.obj + 0002:ffebc0e8 $LN9 004000e8 MAP.obj + 0002:ffebc0e8 $LN9 004000e8 shared:SocketMgr.obj + 0002:ffebc0e8 $LN5 004000e8 shared:KOSocket.obj + 0002:ffebc0e8 $LN9 004000e8 RoomEvent.obj + 0002:ffebc0e8 $LN9 004000e8 Unit.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcCommand.obj + 0002:ffebc0e8 $LN5 004000e8 shared:SMDFile.obj + 0002:ffebc0e8 $LN9 004000e8 Party.obj + 0002:ffebc0e8 $LN5 004000e8 shared:SocketWin32.obj + 0002:ffebc0e8 $LN9 004000e8 shared:tstring.obj + 0002:ffebc0e8 $LN9 004000e8 GameSocket.obj + 0002:ffebc0e8 $LN9 004000e8 shared:SocketWin32.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcConnection.obj + 0002:ffebc0e8 $LN9 004000e8 shared:SocketMgr.obj + 0002:ffebc0e8 $LN3 004000e8 shared:SocketMgr.obj + 0002:ffebc0e8 $LN9 004000e8 AIUser.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcCommand.obj + 0002:ffebc0e8 $LN9 004000e8 shared:OdbcCommand.obj + 0002:ffebc0e8 $LN9 004000e8 NpcThread.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcRecordset.obj + 0002:ffebc0e8 $LN5 004000e8 shared:Socket.obj + 0002:ffebc0e8 $LN5 004000e8 shared:SMDFile.obj + 0002:ffebc0e8 $LN9 004000e8 shared:Socket.obj + 0002:ffebc0e8 $LN5 004000e8 shared:OdbcConnection.obj + 0002:ffebc0e8 $LN5 004000e8 shared:Ini.obj + 0002:ffebc0e8 $LN9 004000e8 shared:SMDFile.obj + 0002:ffebc0e8 $LN5 004000e8 shared:Ini.obj + 0002:ffebc0e8 $LN9 004000e8 NpcMagicProcess.obj + 0002:ffebc0e8 $LN9 004000e8 shared:KOSocket.obj + 0002:ffebc0e8 $LN8 004000e8 ServerDlg.obj + 0002:ffebc0e8 $LN9 004000e8 shared:OdbcConnection.obj + 0002:ffebc0e8 $LN9 004000e8 shared:SMDFile.obj + 0002:ffebc0e8 $LN5 004000e8 shared:tstring.obj + 0002:ffebc0e8 $LN8 004000e8 Party.obj + 0002:ffebc0e8 $LN9 004000e8 Npc.obj + 0002:ffebc0e8 $LN3 004000e8 shared:KOSocket.obj + 0002:ffebc0e8 $LN9 004000e8 shared:OdbcRecordset.obj + 0002:ffebc0e8 $LN5 004000e8 shared:tstring.obj + 0002:ffebc0e8 $LN9 004000e8 ServerDlg.obj + 0002:ffebc0ec $LN9 004000ec shared:SMDFile.obj + 0002:ffebc0f0 $LN8 004000f0 shared:SMDFile.obj + 0002:ffebc0f0 $LN6 004000f0 shared:OdbcConnection.obj + 0002:ffebc0f0 $LN7 004000f0 Party.obj + 0002:ffebc0f0 $LN5 004000f0 shared:tstring.obj + 0002:ffebc0f0 $LN7 004000f0 ServerDlg.obj + 0002:ffebc0f0 $LN9 004000f0 ServerDlg.obj + 0002:ffebc0f0 $LN8 004000f0 shared:SocketMgr.obj + 0002:ffebc0f0 $LN5 004000f0 shared:OdbcCommand.obj + 0002:ffebc0f0 $LN6 004000f0 shared:Ini.obj + 0002:ffebc0f0 $LN5 004000f0 shared:OdbcConnection.obj + 0002:ffebc0f0 $LN3 004000f0 shared:SMDFile.obj + 0002:ffebc0f0 $LN6 004000f0 shared:OdbcRecordset.obj + 0002:ffebc0f0 $LN6 004000f0 shared:Socket.obj + 0002:ffebc0f0 $LN6 004000f0 shared:OdbcCommand.obj + 0002:ffebc0f0 $LN8 004000f0 shared:SMDFile.obj + 0002:ffebc0f0 $LN5 004000f0 shared:SMDFile.obj + 0002:ffebc0f0 $LN6 004000f0 shared:tstring.obj + 0002:ffebc0f0 $LN6 004000f0 shared:SMDFile.obj + 0002:ffebc0f0 $LN5 004000f0 shared:Ini.obj + 0002:ffebc0f4 $LN3 004000f4 shared:Ini.obj + 0002:ffebc0f4 $LN7 004000f4 shared:Socket.obj + 0002:ffebc0f4 $LN7 004000f4 shared:SMDFile.obj + 0002:ffebc0f4 $LN3 004000f4 shared:OdbcCommand.obj + 0002:ffebc0f4 $LN3 004000f4 shared:OdbcRecordset.obj + 0002:ffebc0f4 $LN7 004000f4 shared:tstring.obj + 0002:ffebc0f4 $LN7 004000f4 shared:KOSocket.obj + 0002:ffebc0f4 $LN7 004000f4 shared:OdbcCommand.obj + 0002:ffebc0f4 $LN9 004000f4 Npc.obj + 0002:ffebc0f4 $LN9 004000f4 NpcMagicProcess.obj + 0002:ffebc0f4 $LN3 004000f4 shared:SMDFile.obj + 0002:ffebc0f4 $LN3 004000f4 shared:tstring.obj + 0002:ffebc0f4 $LN3 004000f4 shared:KOSocket.obj + 0002:ffebc0f4 $LN7 004000f4 shared:SocketMgr.obj + 0002:ffebc0f4 $LN7 004000f4 shared:SocketWin32.obj + 0002:ffebc0f4 $LN9 004000f4 Unit.obj + 0002:ffebc0f4 $LN9 004000f4 Npc.obj + 0002:ffebc0f4 $LN9 004000f4 Party.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN7 004000f4 shared:OdbcConnection.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN3 004000f4 shared:SocketWin32.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN7 004000f4 shared:Ini.obj + 0002:ffebc0f4 $LN9 004000f4 ServerDlg.obj + 0002:ffebc0f4 $LN7 004000f4 shared:OdbcRecordset.obj + 0002:ffebc0f4 $LN3 004000f4 shared:OdbcConnection.obj + 0002:ffebc0f8 $LN5 004000f8 shared:SMDFile.obj + 0002:ffebc0f8 $LN5 004000f8 shared:OdbcRecordset.obj + 0002:ffebc0f8 $LN5 004000f8 shared:OdbcCommand.obj + 0002:ffebc0f8 $LN7 004000f8 shared:SMDFile.obj + 0002:ffebc0f8 $LN10 004000f8 shared:Ini.obj + 0002:ffebc0f8 $LN10 004000f8 shared:tstring.obj + 0002:ffebc0f8 $LN5 004000f8 shared:Ini.obj + 0002:ffebc0f8 $LN8 004000f8 ServerDlg.obj + 0002:ffebc0f8 $LN5 004000f8 shared:tstring.obj + 0002:ffebc0f8 $LN10 004000f8 shared:OdbcCommand.obj + 0002:ffebc0f8 $LN10 004000f8 shared:SocketMgr.obj + 0002:ffebc0f8 $LN5 004000f8 shared:Socket.obj + 0002:ffebc0f8 $LN10 004000f8 shared:OdbcConnection.obj + 0002:ffebc0f8 $LN5 004000f8 shared:OdbcConnection.obj + 0002:ffebc0f8 $LN10 004000f8 shared:SMDFile.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f GameSocket.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f ServerDlg.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f NpcMagicProcess.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f Unit.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f Npc.obj + 0002:ffebc0fb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 004000fb f RoomEvent.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN6 004000fc shared:SocketMgr.obj + 0002:ffebc0fc $LN8 004000fc Npc.obj + 0002:ffebc0fc $LN8 004000fc Npc.obj + 0002:ffebc0fc $LN7 004000fc shared:Ini.obj + 0002:ffebc0fc $LN6 004000fc shared:SMDFile.obj + 0002:ffebc0fc $LN5 004000fc RoomEvent.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc Party.obj + 0002:ffebc0fc $LN8 004000fc Unit.obj + 0002:ffebc0fc $LN5 004000fc Party.obj + 0002:ffebc0fc $LN8 004000fc NpcMagicProcess.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN5 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN8 004000fc ServerDlg.obj + 0002:ffebc0fc $LN5 004000fc ServerDlg.obj + 0002:ffebc100 $LN7 00400100 Unit.obj + 0002:ffebc100 $LN7 00400100 NpcThread.obj + 0002:ffebc100 $LN7 00400100 ServerDlg.obj + 0002:ffebc100 $LN7 00400100 RoomEvent.obj + 0002:ffebc100 $LN9 00400100 shared:tstring.obj + 0002:ffebc100 $LN7 00400100 NpcMagicProcess.obj + 0002:ffebc100 $LN9 00400100 shared:Ini.obj + 0002:ffebc100 $LN7 00400100 Npc.obj + 0002:ffebc100 $LN9 00400100 shared:OdbcCommand.obj + 0002:ffebc100 $LN9 00400100 shared:SocketMgr.obj + 0002:ffebc100 $LN9 00400100 shared:OdbcConnection.obj + 0002:ffebc100 $LN9 00400100 shared:Ini.obj + 0002:ffebc100 $LN7 00400100 GameSocket.obj + 0002:ffebc100 $LN9 00400100 shared:SMDFile.obj + 0002:ffebc100 $LN9 00400100 ServerDlg.obj + 0002:ffebc100 $LN7 00400100 MAP.obj + 0002:ffebc100 $LN7 00400100 Party.obj + 0002:ffebc100 $LN7 00400100 AIUser.obj + 0002:ffebc100 $LN9 00400100 MAP.obj + 0002:ffebc103 $LN4 00400103 ServerDlg.obj + 0002:ffebc103 $LN4 00400103 RoomEvent.obj + 0002:ffebc104 $LN3 00400104 shared:Ini.obj + 0002:ffebc104 $LN9 00400104 shared:SMDFile.obj + 0002:ffebc104 $LN3 00400104 shared:SMDFile.obj + 0002:ffebc104 $LN9 00400104 shared:OdbcRecordset.obj + 0002:ffebc104 $LN3 00400104 shared:OdbcRecordset.obj + 0002:ffebc104 $LN3 00400104 shared:Socket.obj + 0002:ffebc104 $LN3 00400104 shared:OdbcConnection.obj + 0002:ffebc104 $LN9 00400104 shared:Socket.obj + 0002:ffebc104 $LN3 00400104 shared:tstring.obj + 0002:ffebc104 $LN3 00400104 shared:OdbcCommand.obj + 0002:ffebc104 $LN9 00400104 shared:OdbcConnection.obj + 0002:ffebc104 $LN9 00400104 shared:Ini.obj + 0002:ffebc104 $LN6 00400104 shared:Ini.obj + 0002:ffebc105 __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 00400105 f shared:KOSocket.obj + 0002:ffebc106 $LN6 00400106 GameSocket.obj + 0002:ffebc106 $LN6 00400106 AIUser.obj + 0002:ffebc106 $LN6 00400106 NpcThread.obj + 0002:ffebc106 $LN6 00400106 NpcMagicProcess.obj + 0002:ffebc106 $LN6 00400106 Party.obj + 0002:ffebc106 $LN6 00400106 ServerDlg.obj + 0002:ffebc106 $LN6 00400106 RoomEvent.obj + 0002:ffebc106 $LN6 00400106 Unit.obj + 0002:ffebc106 $LN6 00400106 Npc.obj + 0002:ffebc106 $LN6 00400106 MAP.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 NpcMagicProcess.obj + 0002:ffebc108 $LN7 00400108 Unit.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN8 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 Npc.obj + 0002:ffebc108 $LN7 00400108 Npc.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN9 00400108 shared:Ini.obj + 0002:ffebc108 $LN8 00400108 MAP.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN8 00400108 shared:Ini.obj + 0002:ffebc108 $LN7 00400108 Party.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc108 $LN7 00400108 ServerDlg.obj + 0002:ffebc10c $LN8 0040010c shared:SMDFile.obj + 0002:ffebc10c $LN8 0040010c shared:Socket.obj + 0002:ffebc10c $LN8 0040010c shared:Ini.obj + 0002:ffebc10c $LN8 0040010c shared:OdbcConnection.obj + 0002:ffebc10c $LN8 0040010c shared:OdbcRecordset.obj + 0002:ffebc110 $LN5 00400110 shared:Ini.obj + 0002:ffebc110 $LN5 00400110 shared:SMDFile.obj + 0002:ffebc110 $LN6 00400110 ServerDlg.obj + 0002:ffebc110 $LN8 00400110 shared:Ini.obj + 0002:ffebc114 $LN7 00400114 shared:Ini.obj + 0002:ffebc117 $LN4 00400117 shared:SMDFile.obj + 0002:ffebc117 $LN5 00400117 ServerDlg.obj + 0002:ffebc118 $LN7 00400118 shared:OdbcCommand.obj + 0002:ffebc118 $LN9 00400118 shared:tstring.obj + 0002:ffebc118 $LN7 00400118 shared:Ini.obj + 0002:ffebc118 $LN9 00400118 shared:OdbcConnection.obj + 0002:ffebc118 $LN9 00400118 shared:Ini.obj + 0002:ffebc118 $LN7 00400118 shared:tstring.obj + 0002:ffebc118 $LN9 00400118 shared:SMDFile.obj + 0002:ffebc118 $LN7 00400118 shared:OdbcConnection.obj + 0002:ffebc118 $LN7 00400118 shared:SMDFile.obj + 0002:ffebc118 $LN7 00400118 shared:SocketMgr.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:ContextBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:InternalContextBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:ExternalContextBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:CacheLocalScheduleGroup.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:SchedulerBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:SearchAlgorithms.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:UMSThreadProxy.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:event.obj + 0002:ffebc11c $LN6 0040011c shared:Ini.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:utils.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:SchedulingNode.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:VirtualProcessor.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:FreeVirtualProcessorRoot.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:ContextBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:UMSThreadInternalContext.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:ScheduleGroupBase.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:TaskCollection.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:event.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:ffebc11c $LN24 0040011c libconcrtd:ThreadProxy.obj + 0002:ffebc11e $LN6 0040011e shared:SMDFile.obj + 0002:ffebc11e $LN6 0040011e shared:SocketMgr.obj + 0002:ffebc11e $LN6 0040011e shared:OdbcCommand.obj + 0002:ffebc11e $LN6 0040011e shared:OdbcConnection.obj + 0002:ffebc11e $LN6 0040011e shared:tstring.obj + 0002:ffebc11e $LN6 0040011e shared:Ini.obj + 0002:ffebc120 $LN8 00400120 shared:tstring.obj + 0002:ffebc120 $LN8 00400120 Npc.obj + 0002:ffebc120 $LN8 00400120 ServerDlg.obj + 0002:ffebc120 $LN8 00400120 shared:SMDFile.obj + 0002:ffebc120 $LN8 00400120 shared:OdbcConnection.obj + 0002:ffebc120 $LN6 00400120 ServerDlg.obj + 0002:ffebc120 $LN8 00400120 shared:Ini.obj + 0002:ffebc120 $LN6 00400120 MAP.obj + 0002:ffebc124 $LN6 00400124 shared:Ini.obj + 0002:ffebc124 $LN6 00400124 shared:Socket.obj + 0002:ffebc124 $LN6 00400124 shared:OdbcRecordset.obj + 0002:ffebc124 $LN6 00400124 shared:OdbcConnection.obj + 0002:ffebc124 $LN6 00400124 shared:SMDFile.obj + 0002:ffebc127 $LN5 00400127 ServerDlg.obj + 0002:ffebc127 $LN5 00400127 MAP.obj + 0002:ffebc128 $LN7 00400128 ServerDlg.obj + 0002:ffebc128 $LN7 00400128 Npc.obj + 0002:ffebc12b $LN5 0040012b shared:SMDFile.obj + 0002:ffebc12b $LN5 0040012b shared:OdbcConnection.obj + 0002:ffebc12b $LN5 0040012b shared:OdbcRecordset.obj + 0002:ffebc12b $LN5 0040012b shared:Ini.obj + 0002:ffebc12b $LN5 0040012b shared:Socket.obj + 0002:ffebc12c $LN10 0040012c shared:Ini.obj + 0002:ffebc130 $LN10 00400130 shared:Ini.obj + 0002:ffebc134 $LN6 00400134 ServerDlg.obj + 0002:ffebc134 $LN12 00400134 ServerDlg.obj + 0002:ffebc134 $LN9 00400134 shared:Ini.obj + 0002:ffebc134 $LN6 00400134 Npc.obj + 0002:ffebc134 $LN12 00400134 Npc.obj + 0002:ffebc134 $LN12 00400134 Npc.obj + 0002:ffebc134 $LN12 00400134 NpcMagicProcess.obj + 0002:ffebc138 $LN6 00400138 shared:OdbcConnection.obj + 0002:ffebc138 $LN9 00400138 shared:Ini.obj + 0002:ffebc138 $LN6 00400138 shared:SMDFile.obj + 0002:ffebc138 $LN6 00400138 shared:Ini.obj + 0002:ffebc138 $LN6 00400138 shared:tstring.obj + 0002:ffebc13c $LN11 0040013c ServerDlg.obj + 0002:ffebc13c $LN11 0040013c NpcMagicProcess.obj + 0002:ffebc13c $LN11 0040013c Npc.obj + 0002:ffebc13c $LN11 0040013c Npc.obj + 0002:ffebc13f $LN5 0040013f shared:Ini.obj + 0002:ffebc13f $LN5 0040013f shared:SMDFile.obj + 0002:ffebc13f $LN5 0040013f shared:OdbcConnection.obj + 0002:ffebc13f $LN5 0040013f shared:tstring.obj + 0002:ffebc144 $LN8 00400144 shared:Socket.obj + 0002:ffebc144 $LN8 00400144 shared:OdbcCommand.obj + 0002:ffebc144 $LN8 00400144 shared:OdbcRecordset.obj + 0002:ffebc144 $LN8 00400144 shared:OdbcConnection.obj + 0002:ffebc144 $LN8 00400144 shared:SMDFile.obj + 0002:ffebc144 $LN8 00400144 shared:Ini.obj + 0002:ffebc144 $LN8 00400144 shared:Ini.obj + 0002:ffebc144 $LN8 00400144 shared:tstring.obj + 0002:ffebc14c $LN7 0040014c ServerDlg.obj + 0002:ffebc14c $LN7 0040014c shared:Ini.obj + 0002:ffebc14c $LN7 0040014c Party.obj + 0002:ffebc14c $LN6 0040014c ServerDlg.obj + 0002:ffebc14c $LN6 0040014c MAP.obj + 0002:ffebc14c $LN7 0040014c shared:OdbcCommand.obj + 0002:ffebc14c $LN7 0040014c shared:SMDFile.obj + 0002:ffebc14c $LN7 0040014c shared:OdbcConnection.obj + 0002:ffebc14c $LN7 0040014c ServerDlg.obj + 0002:ffebc14c $LN7 0040014c shared:tstring.obj + 0002:ffebc14c $LN7 0040014c shared:OdbcRecordset.obj + 0002:ffebc14c $LN7 0040014c shared:Socket.obj + 0002:ffebc154 $LN5 00400154 ServerDlg.obj + 0002:ffebc154 $LN6 00400154 ServerDlg.obj + 0002:ffebc154 $LN9 00400154 ServerDlg.obj + 0002:ffebc154 $LN6 00400154 Party.obj + 0002:ffebc154 $LN6 00400154 ServerDlg.obj + 0002:ffebc154 $LN9 00400154 Npc.obj + 0002:ffebc154 $LN9 00400154 Npc.obj + 0002:ffebc154 $LN5 00400154 MAP.obj + 0002:ffebc154 $LN9 00400154 NpcMagicProcess.obj + 0002:ffebc158 $LN6 00400158 shared:SMDFile.obj + 0002:ffebc158 $LN6 00400158 shared:OdbcConnection.obj + 0002:ffebc158 $LN8 00400158 NpcMagicProcess.obj + 0002:ffebc158 $LN8 00400158 shared:Ini.obj + 0002:ffebc158 $LN6 00400158 shared:tstring.obj + 0002:ffebc158 $LN6 00400158 shared:OdbcRecordset.obj + 0002:ffebc158 $LN6 00400158 shared:Socket.obj + 0002:ffebc158 $LN8 00400158 ServerDlg.obj + 0002:ffebc158 $LN6 00400158 shared:OdbcCommand.obj + 0002:ffebc158 $LN8 00400158 Npc.obj + 0002:ffebc158 $LN6 00400158 shared:Ini.obj + 0002:ffebc158 $LN8 00400158 Npc.obj + 0002:ffebc15c $LN7 0040015c shared:Ini.obj + 0002:ffebc160 $LN4 00400160 ServerDlg.obj + 0002:ffebc160 $LN6 00400160 shared:Ini.obj + 0002:ffebc160 $LN5 00400160 Party.obj + 0002:ffebc160 $LN4 00400160 MAP.obj + 0002:ffebc160 $LN5 00400160 ServerDlg.obj + 0002:ffebc160 $LN5 00400160 ServerDlg.obj + 0002:ffebc168 $LN8 00400168 MAP.obj + 0002:ffebc16c $LN6 0040016c shared:SMDFile.obj + 0002:ffebc16c $LN6 0040016c shared:Ini.obj + 0002:ffebc16c $LN6 0040016c shared:tstring.obj + 0002:ffebc16c $LN6 0040016c shared:OdbcConnection.obj + 0002:ffebc170 $LN7 00400170 MAP.obj + 0002:ffebc174 $LN5 00400174 shared:Ini.obj + 0002:ffebc174 $LN5 00400174 shared:tstring.obj + 0002:ffebc174 $LN5 00400174 shared:SMDFile.obj + 0002:ffebc174 $LN5 00400174 shared:OdbcConnection.obj + 0002:ffebc178 $LN15 00400178 ServerDlg.obj + 0002:ffebc178 $LN15 00400178 RoomEvent.obj + 0002:ffebc17c $LN6 0040017c MAP.obj + 0002:ffebc180 $LN14 00400180 ServerDlg.obj + 0002:ffebc180 $LN14 00400180 RoomEvent.obj + 0002:ffebc180 $LN4 00400180 shared:OdbcConnection.obj + 0002:ffebc180 $LN4 00400180 shared:SMDFile.obj + 0002:ffebc180 $LN4 00400180 shared:Ini.obj + 0002:ffebc180 $LN4 00400180 shared:tstring.obj + 0002:ffebc184 $LN14 00400184 shared:Ini.obj + 0002:ffebc188 $LN8 00400188 shared:OdbcConnection.obj + 0002:ffebc188 $LN18 00400188 shared:Ini.obj + 0002:ffebc18c $LN13 0040018c shared:Ini.obj + 0002:ffebc18c $LN15 0040018c shared:Ini.obj + 0002:ffebc18c $LN15 0040018c shared:Ini.obj + 0002:ffebc190 $LN17 00400190 shared:Ini.obj + 0002:ffebc190 $LN7 00400190 shared:OdbcConnection.obj + 0002:ffebc190 $LN8 00400190 shared:Ini.obj + 0002:ffebc194 $LN14 00400194 shared:Ini.obj + 0002:ffebc194 $LN14 00400194 shared:Ini.obj + 0002:ffebc198 $LN12 00400198 ServerDlg.obj + 0002:ffebc198 $LN8 00400198 shared:OdbcCommand.obj + 0002:ffebc198 $LN8 00400198 shared:OdbcConnection.obj + 0002:ffebc198 $LN7 00400198 shared:Ini.obj + 0002:ffebc198 $LN12 00400198 RoomEvent.obj + 0002:ffebc198 $LN8 00400198 shared:OdbcRecordset.obj + 0002:ffebc198 $LN8 00400198 shared:Ini.obj + 0002:ffebc198 $LN12 00400198 shared:Ini.obj + 0002:ffebc198 $LN15 00400198 shared:SMDFile.obj + 0002:ffebc19c $LN11 0040019c ServerDlg.obj + 0002:ffebc19c $LN11 0040019c RoomEvent.obj + 0002:ffebc19c $LN6 0040019c shared:OdbcConnection.obj + 0002:ffebc1a0 $LN7 004001a0 shared:OdbcConnection.obj + 0002:ffebc1a0 $LN14 004001a0 shared:SMDFile.obj + 0002:ffebc1a0 $LN7 004001a0 shared:Ini.obj + 0002:ffebc1a0 $LN7 004001a0 shared:OdbcCommand.obj + 0002:ffebc1a0 $LN7 004001a0 shared:OdbcRecordset.obj + 0002:ffebc1a2 __catch$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z$0 004001a2 f ServerDlg.obj + 0002:ffebc1a4 __catch$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z$0 004001a4 f ServerDlg.obj + 0002:ffebc1a4 $LN6 004001a4 shared:Ini.obj + 0002:ffebc1a8 $LN16 004001a8 shared:Ini.obj + 0002:ffebc1ac $LN6 004001ac shared:OdbcRecordset.obj + 0002:ffebc1ac $LN6 004001ac shared:Ini.obj + 0002:ffebc1ac $LN6 004001ac shared:OdbcCommand.obj + 0002:ffebc1ac $LN6 004001ac shared:OdbcConnection.obj + 0002:ffebc1ae $LN15 004001ae shared:Ini.obj + 0002:ffebc1ae __catch$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z$0 004001ae f shared:SocketMgr.obj + 0002:ffebc1b8 $LN15 004001b8 shared:Ini.obj + 0002:ffebc1b8 $LN12 004001b8 shared:SMDFile.obj + 0002:ffebc1b8 $LN12 004001b8 shared:Ini.obj + 0002:ffebc1b8 $LN12 004001b8 shared:Ini.obj + 0002:ffebc1bc $LN11 004001bc shared:SMDFile.obj + 0002:ffebc1c0 $LN14 004001c0 shared:Ini.obj + 0002:ffebc1c0 $LN17 004001c0 libconcrtd:Chores.obj + 0002:ffebc1c5 $LN11 004001c5 shared:Ini.obj + 0002:ffebc1c5 $LN11 004001c5 shared:Ini.obj + 0002:ffebc1cc $LN10 004001cc shared:Ini.obj + 0002:ffebc1cc $LN10 004001cc shared:Ini.obj + 0002:ffebc1d8 $LN13 004001d8 shared:Ini.obj + 0002:ffebc1e3 $LN12 004001e3 shared:Ini.obj + 0002:ffebc205 __catch$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$0 00400205 f shared:Ini.obj + 0002:ffebc240 $LN23 00400240 shared:Ini.obj + 0002:ffebc248 $LN22 00400248 shared:Ini.obj + 0002:ffebc278 $LN21 00400278 shared:Ini.obj + 0002:ffebc27e $LN20 0040027e shared:Ini.obj + 0002:ffebc283 $LN19 00400283 shared:Ini.obj + 0002:ffebc287 $LN18 00400287 shared:Ini.obj + 0002:ffebc2a0 $LN22 004002a0 shared:Ini.obj + 0002:ffebc2a8 $LN21 004002a8 shared:Ini.obj + 0002:ffebc2b4 $LN19 004002b4 shared:Ini.obj + 0002:ffebc2ec $LN28 004002ec shared:Ini.obj + 0002:ffebc2f4 $LN27 004002f4 shared:Ini.obj + 0002:ffebc330 $LN25 00400330 shared:Ini.obj + 0002:ffebc336 $LN24 00400336 shared:Ini.obj + 0002:ffebc33a $LN23 0040033a shared:Ini.obj + 0002:ffebc33f $LN22 0040033f shared:Ini.obj + 0002:ffebc344 $LN21 00400344 shared:Ini.obj + 0002:0001f020 ??__Es_hEvent@@YAXXZ 00563020 f main.obj + 0002:0001f080 ??__E?id@?$codecvt@DDU_Mbstatet@@@std@@2V0locale@2@A@@YAXXZ 00563080 f MAP.obj + 0002:0001f0d0 ??__Eg_arZone@@YAXXZ 005630d0 f ServerDlg.obj + 0002:0001f130 ??__Eg_timerThreads@@YAXXZ 00563130 f ServerDlg.obj + 0002:0001f190 ??__Es_timeThread@@YAXXZ 00563190 f shared:TimeThread.obj + 0002:0001f200 ??__Es_randomNumberGenerator@@YAXXZ 00563200 f shared:globals.obj + 0002:0001f260 ??__Es_rngLock@@YAXXZ 00563260 f shared:globals.obj + 0002:0001f2d0 ??__E?s_cleanupThread@SocketMgr@@1VThread@@A@@YAXXZ 005632d0 f shared:SocketMgr.obj + 0002:0001f340 ??__E?s_disconnectionQueue@SocketMgr@@2V?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@A@@YAXXZ 00563340 f shared:SocketMgr.obj + 0002:0001f3c0 ??__E?s_disconnectionQueueLock@SocketMgr@@2Vrecursive_mutex@std@@A@@YAXXZ 005633c0 f shared:SocketMgr.obj + 0002:0001f430 ??__E?s_refCounter@SocketMgr@@1V?$Atomic@I@@A@@YAXXZ 00563430 f shared:SocketMgr.obj + 0002:0001f490 ??__E?s_loadedMaps@SMDFile@@0V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@A@@YAXXZ 00563490 f shared:SMDFile.obj + 0002:0001f510 ??__E?id@?$codecvt@DDU_Mbstatet@@@std@@2V0locale@2@A@@YAXXZ 00563510 f shared:Ini.obj + 0002:0001f570 ??__Einitlocks@std@@YAXXZ 00563570 f libcpmtd:xlock.obj + 0002:0001f5a0 ??__E?id@?$codecvt@GDU_Mbstatet@@@std@@2V0locale@2@A@@YAXXZ 005635a0 f libcpmtd:locale0.obj + 0002:0001f5c0 ??__E?id@?$codecvt@_WDU_Mbstatet@@@std@@2V0locale@2@A@@YAXXZ 005635c0 f libcpmtd:locale0.obj + 0002:0001f5e0 ??__E?id@?$ctype@D@std@@2V0locale@2@A@@YAXXZ 005635e0 f libcpmtd:locale0.obj + 0002:0001f600 ??__E?id@?$ctype@G@std@@2V0locale@2@A@@YAXXZ 00563600 f libcpmtd:locale0.obj + 0002:0001f620 ??__E?id@?$ctype@_W@std@@2V0locale@2@A@@YAXXZ 00563620 f libcpmtd:locale0.obj + 0002:0001f640 ??__E_Fac_tidy_reg@std@@YAXXZ 00563640 f libcpmtd:locale0.obj + 0002:0001f660 ??__Eclassic_locale@std@@YAXXZ 00563660 f libcpmtd:locale0.obj + 0002:0001f690 ??__Enothrow@std@@YAXXZ 00563690 f libcpmtd:nothrow.obj + 0002:0001f6a0 ??__E?id@?$codecvt@DDU_Mbstatet@@@std@@2V0locale@2@A@@YAXXZ 005636a0 f libcpmtd:locale.obj + 0002:0001f6c0 ??__E?id@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005636c0 f libcpmtd:locale.obj + 0002:0001f6e0 ??__E?id@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005636e0 f libcpmtd:locale.obj + 0002:0001f700 ??__E?id@?$numpunct@D@std@@2V0locale@2@A@@YAXXZ 00563700 f libcpmtd:locale.obj + 0002:0001f720 ??__Einit_atexit@@YAXXZ 00563720 f libcpmtd:iosptrs.obj + 0002:0001f740 ??__Einitlocks@std@@YAXXZ 00563740 f libcpmtd:iosptrs.obj + 0002:0001f770 ??__E?id@?$collate@G@std@@2V0locale@2@A@@YAXXZ 00563770 f libcpmtd:wlocale.obj + 0002:0001f790 ??__E?id@?$collate@_W@std@@2V0locale@2@A@@YAXXZ 00563790 f libcpmtd:wlocale.obj + 0002:0001f7b0 ??__E?id@?$messages@G@std@@2V0locale@2@A@@YAXXZ 005637b0 f libcpmtd:wlocale.obj + 0002:0001f7d0 ??__E?id@?$messages@_W@std@@2V0locale@2@A@@YAXXZ 005637d0 f libcpmtd:wlocale.obj + 0002:0001f7f0 ??__E?id@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005637f0 f libcpmtd:wlocale.obj + 0002:0001f810 ??__E?id@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563810 f libcpmtd:wlocale.obj + 0002:0001f830 ??__E?id@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563830 f libcpmtd:wlocale.obj + 0002:0001f850 ??__E?id@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563850 f libcpmtd:wlocale.obj + 0002:0001f870 ??__E?id@?$moneypunct@G$00@std@@2V0locale@2@A@@YAXXZ 00563870 f libcpmtd:wlocale.obj + 0002:0001f890 ??__E?id@?$moneypunct@G$0A@@std@@2V0locale@2@A@@YAXXZ 00563890 f libcpmtd:wlocale.obj + 0002:0001f8b0 ??__E?id@?$moneypunct@_W$00@std@@2V0locale@2@A@@YAXXZ 005638b0 f libcpmtd:wlocale.obj + 0002:0001f8d0 ??__E?id@?$moneypunct@_W$0A@@std@@2V0locale@2@A@@YAXXZ 005638d0 f libcpmtd:wlocale.obj + 0002:0001f8f0 ??__E?id@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005638f0 f libcpmtd:wlocale.obj + 0002:0001f910 ??__E?id@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563910 f libcpmtd:wlocale.obj + 0002:0001f930 ??__E?id@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563930 f libcpmtd:wlocale.obj + 0002:0001f950 ??__E?id@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563950 f libcpmtd:wlocale.obj + 0002:0001f970 ??__E?id@?$numpunct@G@std@@2V0locale@2@A@@YAXXZ 00563970 f libcpmtd:wlocale.obj + 0002:0001f990 ??__E?id@?$numpunct@_W@std@@2V0locale@2@A@@YAXXZ 00563990 f libcpmtd:wlocale.obj + 0002:0001f9b0 ??__E?id@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005639b0 f libcpmtd:wlocale.obj + 0002:0001f9d0 ??__E?id@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005639d0 f libcpmtd:wlocale.obj + 0002:0001f9f0 ??__E?id@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 005639f0 f libcpmtd:wlocale.obj + 0002:0001fa10 ??__E?id@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563a10 f libcpmtd:wlocale.obj + 0002:0001fa30 ??__E?id@?$collate@D@std@@2V0locale@2@A@@YAXXZ 00563a30 f libcpmtd:xlocale.obj + 0002:0001fa50 ??__E?id@?$messages@D@std@@2V0locale@2@A@@YAXXZ 00563a50 f libcpmtd:xlocale.obj + 0002:0001fa70 ??__E?id@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563a70 f libcpmtd:xlocale.obj + 0002:0001fa90 ??__E?id@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563a90 f libcpmtd:xlocale.obj + 0002:0001fab0 ??__E?id@?$moneypunct@D$00@std@@2V0locale@2@A@@YAXXZ 00563ab0 f libcpmtd:xlocale.obj + 0002:0001fad0 ??__E?id@?$moneypunct@D$0A@@std@@2V0locale@2@A@@YAXXZ 00563ad0 f libcpmtd:xlocale.obj + 0002:0001faf0 ??__E?id@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563af0 f libcpmtd:xlocale.obj + 0002:0001fb10 ??__E?id@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2V0locale@2@A@@YAXXZ 00563b10 f libcpmtd:xlocale.obj + 0002:0001fb30 ??__Es_defaultWaiterPool@platform@details@Concurrency@@YAXXZ 00563b30 f libconcrtd:Platform.obj + 0002:0001fb60 ??__Eg_DebugOutFilePtr@details@Concurrency@@YAXXZ 00563b60 f libconcrtd:utils.obj + 0002:0001fb80 ??__E?s_cookie@Security@details@Concurrency@@2KA@@YAXXZ 00563b80 f libconcrtd:staticinits.obj + 0002:0001fba0 ??__E?s_defaultSchedulerLock@SchedulerBase@details@Concurrency@@1V_NonReentrantLock@23@A@@YAXXZ 00563ba0 f libconcrtd:staticinits.obj + 0002:0001fbc0 ??__E?s_lock@Etw@details@Concurrency@@0V_NonReentrantLock@23@A@@YAXXZ 00563bc0 f libconcrtd:staticinits.obj + 0002:0001fbe0 ??__E?s_lock@ResourceManager@details@Concurrency@@0V_NonReentrantLock@23@A@@YAXXZ 00563be0 f libconcrtd:staticinits.obj + 0002:0001fc00 ??__E?s_schedulerLock@SchedulerBase@details@Concurrency@@0V_NonReentrantLock@23@A@@YAXXZ 00563c00 f libconcrtd:staticinits.obj + 0002:0001fc20 ??__E?s_subAllocatorFreePool@SchedulerBase@details@Concurrency@@0V?$LockFreeStack@VSubAllocator@details@Concurrency@@@23@A@@YAXXZ 00563c20 f libconcrtd:staticinits.obj + 0002:000290c4 $LN6 0056d0c4 MagicProcess.obj + 0002:000290cc $LN5 0056d0cc MagicProcess.obj + 0002:000290d8 $LN4 0056d0d8 MagicProcess.obj + 0002:00029194 $LN6 0056d194 MagicProcess.obj + 0002:0002919c $LN5 0056d19c MagicProcess.obj + 0002:000291a8 $LN4 0056d1a8 MagicProcess.obj + 0002:00029264 $LN6 0056d264 MagicProcess.obj + 0002:0002926c $LN5 0056d26c MagicProcess.obj + 0002:00029278 $LN4 0056d278 MagicProcess.obj + 0002:000293a4 $LN9 0056d3a4 MagicProcess.obj + 0002:000293ac $LN8 0056d3ac MagicProcess.obj + 0002:000293b8 $LN7 0056d3b8 MagicProcess.obj + 0002:00029504 $LN9 0056d504 MagicProcess.obj + 0002:0002950c $LN8 0056d50c MagicProcess.obj + 0002:00029518 $LN7 0056d518 MagicProcess.obj + 0002:00029664 $LN9 0056d664 MagicProcess.obj + 0002:0002966c $LN8 0056d66c MagicProcess.obj + 0002:00029678 $LN7 0056d678 MagicProcess.obj + 0002:00029edb __catch$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$0 0056dedb f i MagicProcess.obj + 0002:0002acec $LN5 0056ecec MagicProcess.obj + 0002:0002acf4 $LN4 0056ecf4 MagicProcess.obj + 0002:0002ad00 $LN3 0056ed00 MagicProcess.obj + 0002:0002bbec $LN6 0056fbec MagicProcess.obj + 0002:0002bbf4 $LN5 0056fbf4 MagicProcess.obj + 0002:0002bc00 $LN3 0056fc00 MagicProcess.obj + 0002:0002be0c $LN6 0056fe0c MagicProcess.obj + 0002:0002be14 $LN5 0056fe14 MagicProcess.obj + 0002:0002be20 $LN3 0056fe20 MagicProcess.obj + 0002:0002bf48 $LN9 0056ff48 MagicProcess.obj + 0002:0002bf50 $LN8 0056ff50 MagicProcess.obj + 0002:0002bf5c $LN6 0056ff5c MagicProcess.obj + 0002:0002d1b4 $LN12 005711b4 MagicProcess.obj + 0002:0002d1bc $LN11 005711bc MagicProcess.obj + 0002:0002d1d4 $LN9 005711d4 MagicProcess.obj + 0002:0002d1d8 $LN8 005711d8 MagicProcess.obj + 0002:0002d374 $LN12 00571374 MagicProcess.obj + 0002:0002d37c $LN11 0057137c MagicProcess.obj + 0002:0002d394 $LN9 00571394 MagicProcess.obj + 0002:0002d398 $LN8 00571398 MagicProcess.obj + 0002:0002e234 $LN129 00572234 MagicProcess.obj + 0002:0002e23c $LN128 0057223c MagicProcess.obj + 0002:0002e254 $LN126 00572254 MagicProcess.obj + 0002:0002e25d $LN125 0057225d MagicProcess.obj + 0002:0002e264 $LN124 00572264 MagicProcess.obj + 0002:0002e378 $LN123 00572378 MagicProcess.obj + 0002:0002eb7c $LN72 00572b7c MagicProcess.obj + 0002:0002ec10 $LN71 00572c10 MagicProcess.obj + 0002:0002efb4 $LN24 00572fb4 MagicProcess.obj + 0002:0002efbc $LN23 00572fbc MagicProcess.obj + 0002:0002eff8 $LN22 00572ff8 MagicProcess.obj + 0002:0002f00f $LN21 0057300f MagicProcess.obj + 0002:0002f017 $LN20 00573017 MagicProcess.obj + 0002:0002f021 $LN19 00573021 MagicProcess.obj + 0002:0002f02b $LN18 0057302b MagicProcess.obj + 0002:0002f034 $LN15 00573034 MagicProcess.obj + 0002:0002fd84 $LN129 00573d84 MagicProcess.obj + 0002:0002fd8c $LN128 00573d8c MagicProcess.obj + 0002:0002fdb0 $LN126 00573db0 MagicProcess.obj + 0002:0002fdb7 $LN125 00573db7 MagicProcess.obj + 0002:0002fdbb $LN124 00573dbb MagicProcess.obj + 0002:0002fdc0 $LN123 00573dc0 MagicProcess.obj + 0002:0002fed4 $LN122 00573ed4 MagicProcess.obj + 0002:000308c0 $LN50 005748c0 MagicProcess.obj + 0002:00030cd0 $LN10 00574cd0 MagicProcess.obj + 0002:00030cd8 $LN9 00574cd8 MagicProcess.obj + 0002:00030cf0 $LN7 00574cf0 MagicProcess.obj + 0002:00030cf6 $LN6 00574cf6 MagicProcess.obj + 0002:00031088 $LN5 00575088 MagicProcess.obj + 0002:00031090 $LN4 00575090 MagicProcess.obj + 0002:0003109c $LN3 0057509c MagicProcess.obj + 0002:00031f28 $LN10 00575f28 MagicProcess.obj + 0002:00031f30 $LN9 00575f30 MagicProcess.obj + 0002:00031f3c $LN7 00575f3c MagicProcess.obj + 0002:0003214c $LN11 0057614c MagicProcess.obj + 0002:00032154 $LN10 00576154 MagicProcess.obj + 0002:00032160 $LN9 00576160 MagicProcess.obj + 0002:00032254 $LN11 00576254 MagicProcess.obj + 0002:0003225c $LN10 0057625c MagicProcess.obj + 0002:00032268 $LN9 00576268 MagicProcess.obj + 0002:00032352 __catch$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$0 00576352 f i MagicProcess.obj + 0002:0003421c $LN10 0057821c Unit.obj + 0002:00034224 $LN9 00578224 Unit.obj + 0002:00034248 $LN7 00578248 Unit.obj + 0002:00034252 $LN6 00578252 Unit.obj + 0002:00034259 $LN5 00578259 Unit.obj + 0002:00034380 $LN5 00578380 Unit.obj + 0002:00034388 $LN4 00578388 Unit.obj + 0002:00034394 $LN3 00578394 Unit.obj + 0002:000344a0 $LN5 005784a0 Unit.obj + 0002:000344a8 $LN4 005784a8 Unit.obj + 0002:000344b4 $LN3 005784b4 Unit.obj + 0002:000345c0 $LN5 005785c0 Unit.obj + 0002:000345c8 $LN4 005785c8 Unit.obj + 0002:000345d4 $LN3 005785d4 Unit.obj + 0002:000347e0 $LN7 005787e0 Unit.obj + 0002:000347e8 $LN6 005787e8 Unit.obj + 0002:000347f4 $LN4 005787f4 Unit.obj + 0002:00034a86 __catch$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$0 00578a86 f i Unit.obj + 0002:00034af0 $LN13 00578af0 Unit.obj + 0002:00034af8 $LN12 00578af8 Unit.obj + 0002:00034b04 $LN10 00578b04 Unit.obj + 0002:00034d1c $LN7 00578d1c Unit.obj + 0002:00034d24 $LN6 00578d24 Unit.obj + 0002:00034d30 $LN5 00578d30 Unit.obj + 0002:00035474 $LN6 00579474 Unit.obj + 0002:0003547c $LN5 0057947c Unit.obj + 0002:00035488 $LN4 00579488 Unit.obj + 0002:00035544 $LN6 00579544 Unit.obj + 0002:0003554c $LN5 0057954c Unit.obj + 0002:00035558 $LN4 00579558 Unit.obj + 0002:00035684 $LN9 00579684 Unit.obj + 0002:0003568c $LN8 0057968c Unit.obj + 0002:00035698 $LN7 00579698 Unit.obj + 0002:000357e4 $LN9 005797e4 Unit.obj + 0002:000357ec $LN8 005797ec Unit.obj + 0002:000357f8 $LN7 005797f8 Unit.obj + 0002:000369ac $LN8 0057a9ac Unit.obj + 0002:000369b4 $LN7 0057a9b4 Unit.obj + 0002:000369c0 $LN6 0057a9c0 Unit.obj + 0002:00038930 $LN5 0057c930 Unit.obj + 0002:00038938 $LN4 0057c938 Unit.obj + 0002:00038944 $LN3 0057c944 Unit.obj + 0002:00038a10 $LN5 0057ca10 Unit.obj + 0002:00038a18 $LN4 0057ca18 Unit.obj + 0002:00038a24 $LN3 0057ca24 Unit.obj + 0002:00038af0 $LN5 0057caf0 Unit.obj + 0002:00038af8 $LN4 0057caf8 Unit.obj + 0002:00038b04 $LN3 0057cb04 Unit.obj + 0002:00038bd0 $LN5 0057cbd0 Unit.obj + 0002:00038bd8 $LN4 0057cbd8 Unit.obj + 0002:00038be4 $LN3 0057cbe4 Unit.obj + 0002:0003a8b8 $LN9 0057e8b8 Unit.obj + 0002:0003a8c0 $LN8 0057e8c0 Unit.obj + 0002:0003a8cc $LN6 0057e8cc Unit.obj + 0002:0003a9d8 $LN9 0057e9d8 Unit.obj + 0002:0003a9e0 $LN8 0057e9e0 Unit.obj + 0002:0003a9ec $LN6 0057e9ec Unit.obj + 0002:0003aaf8 $LN9 0057eaf8 Unit.obj + 0002:0003ab00 $LN8 0057eb00 Unit.obj + 0002:0003ab0c $LN6 0057eb0c Unit.obj + 0002:0003b0c8 $LN9 0057f0c8 Unit.obj + 0002:0003b0d0 $LN8 0057f0d0 Unit.obj + 0002:0003b0dc $LN6 0057f0dc Unit.obj + 0002:0003bf25 $LN48 0057ff25 Unit.obj + 0002:0003bf25 $LN49 0057ff25 Unit.obj + 0002:0003c1e4 $LN12 005801e4 Unit.obj + 0002:0003c1ec $LN11 005801ec Unit.obj + 0002:0003c204 $LN9 00580204 Unit.obj + 0002:0003c208 $LN8 00580208 Unit.obj + 0002:0003c3a4 $LN12 005803a4 Unit.obj + 0002:0003c3ac $LN11 005803ac Unit.obj + 0002:0003c3c4 $LN9 005803c4 Unit.obj + 0002:0003c3c8 $LN8 005803c8 Unit.obj + 0002:0003d2f8 $LN46 005812f8 Unit.obj + 0002:0003d300 $LN45 00581300 Unit.obj + 0002:0003d324 $LN43 00581324 Unit.obj + 0002:0003d32d $LN42 0058132d Unit.obj + 0002:0003d331 $LN41 00581331 Unit.obj + 0002:0003d338 $LN40 00581338 Unit.obj + 0002:0003d91c $LN16 0058191c Unit.obj + 0002:0003d924 $LN15 00581924 Unit.obj + 0002:0003d948 $LN13 00581948 Unit.obj + 0002:0003d94c $LN12 0058194c Unit.obj + 0002:0003d954 $LN11 00581954 Unit.obj + 0002:0003e0f0 $LN9 005820f0 Unit.obj + 0002:0003e0f8 $LN8 005820f8 Unit.obj + 0002:0003e104 $LN6 00582104 Unit.obj + 0002:0003e8f8 $LN42 005828f8 Unit.obj + 0002:0003e988 $LN41 00582988 Unit.obj + 0002:0003ecfc $LN8 00582cfc Unit.obj + 0002:0003ed04 $LN7 00582d04 Unit.obj + 0002:0003ed1c $LN5 00582d1c Unit.obj + 0002:0003ed23 $LN4 00582d23 Unit.obj + 0002:0003ee4c $LN8 00582e4c Unit.obj + 0002:0003ee54 $LN7 00582e54 Unit.obj + 0002:0003ee6c $LN5 00582e6c Unit.obj + 0002:0003ee73 $LN4 00582e73 Unit.obj + 0002:0003ef9c $LN8 00582f9c Unit.obj + 0002:0003efa4 $LN7 00582fa4 Unit.obj + 0002:0003efbc $LN5 00582fbc Unit.obj + 0002:0003efc3 $LN4 00582fc3 Unit.obj + 0002:0003fc4c $LN11 00583c4c Unit.obj + 0002:0003fc54 $LN10 00583c54 Unit.obj + 0002:0003fc60 $LN9 00583c60 Unit.obj + 0002:00040b14 $LN18 00584b14 Unit.obj + 0002:00040b1c $LN17 00584b1c Unit.obj + 0002:00040b34 $LN15 00584b34 Unit.obj + 0002:00040b38 $LN14 00584b38 Unit.obj + 0002:00042588 $LN88 00586588 Unit.obj + 0002:000425b4 $LN87 005865b4 Unit.obj + 0002:00043cc0 $LN33 00587cc0 N3ShapeMgr.obj + 0002:00043cc8 $LN32 00587cc8 N3ShapeMgr.obj + 0002:00043cd4 $LN30 00587cd4 N3ShapeMgr.obj + 0002:00044fb0 $LN5 00588fb0 GameSocket.obj + 0002:00044fb8 $LN4 00588fb8 GameSocket.obj + 0002:00044fc4 $LN3 00588fc4 GameSocket.obj + 0002:000451d0 $LN7 005891d0 GameSocket.obj + 0002:000451d8 $LN6 005891d8 GameSocket.obj + 0002:000451e4 $LN4 005891e4 GameSocket.obj + 0002:00045476 __catch$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$0 00589476 f i GameSocket.obj + 0002:000454e0 $LN13 005894e0 GameSocket.obj + 0002:000454e8 $LN12 005894e8 GameSocket.obj + 0002:000454f4 $LN10 005894f4 GameSocket.obj + 0002:0004570c $LN7 0058970c GameSocket.obj + 0002:00045714 $LN6 00589714 GameSocket.obj + 0002:00045720 $LN5 00589720 GameSocket.obj + 0002:000458cc $LN7 005898cc GameSocket.obj + 0002:000458d4 $LN6 005898d4 GameSocket.obj + 0002:000458e0 $LN5 005898e0 GameSocket.obj + 0002:00045b14 $LN9 00589b14 GameSocket.obj + 0002:00045b1c $LN8 00589b1c GameSocket.obj + 0002:00045b28 $LN7 00589b28 GameSocket.obj + 0002:00045c74 $LN9 00589c74 GameSocket.obj + 0002:00045c7c $LN8 00589c7c GameSocket.obj + 0002:00045c88 $LN7 00589c88 GameSocket.obj + 0002:00045dd4 $LN9 00589dd4 GameSocket.obj + 0002:00045ddc $LN8 00589ddc GameSocket.obj + 0002:00045de8 $LN7 00589de8 GameSocket.obj + 0002:000463d8 $LN8 0058a3d8 GameSocket.obj + 0002:000463e0 $LN7 0058a3e0 GameSocket.obj + 0002:000463ec $LN6 0058a3ec GameSocket.obj + 0002:000465ac $LN7 0058a5ac GameSocket.obj + 0002:000465b4 $LN6 0058a5b4 GameSocket.obj + 0002:000465c0 $LN5 0058a5c0 GameSocket.obj + 0002:00046d6c $LN8 0058ad6c GameSocket.obj + 0002:00046d74 $LN7 0058ad74 GameSocket.obj + 0002:00046d80 $LN6 0058ad80 GameSocket.obj + 0002:00046e7c $LN8 0058ae7c GameSocket.obj + 0002:00046e84 $LN7 0058ae84 GameSocket.obj + 0002:00046e90 $LN6 0058ae90 GameSocket.obj + 0002:000488d0 $LN9 0058c8d0 GameSocket.obj + 0002:000488d8 $LN8 0058c8d8 GameSocket.obj + 0002:000488f0 $LN6 0058c8f0 GameSocket.obj + 0002:000488f7 $LN5 0058c8f7 GameSocket.obj + 0002:00049608 $LN6 0058d608 GameSocket.obj + 0002:00049610 $LN5 0058d610 GameSocket.obj + 0002:0004961c $LN3 0058d61c GameSocket.obj + 0002:0004a158 $LN9 0058e158 GameSocket.obj + 0002:0004a160 $LN8 0058e160 GameSocket.obj + 0002:0004a16c $LN6 0058e16c GameSocket.obj + 0002:0004a6e0 $LN40 0058e6e0 GameSocket.obj + 0002:0004a6e8 $LN39 0058e6e8 GameSocket.obj + 0002:0004a718 $LN38 0058e718 GameSocket.obj + 0002:0004a71c $LN37 0058e71c GameSocket.obj + 0002:0004a723 $LN36 0058e723 GameSocket.obj + 0002:0004a727 $LN35 0058e727 GameSocket.obj + 0002:0004a734 $LN34 0058e734 GameSocket.obj + 0002:0004a7a4 $LN33 0058e7a4 GameSocket.obj + 0002:0004abd8 $LN8 0058ebd8 GameSocket.obj + 0002:0004abe0 $LN7 0058ebe0 GameSocket.obj + 0002:0004abec $LN5 0058ebec GameSocket.obj + 0002:0004aee4 $LN22 0058eee4 GameSocket.obj + 0002:0004aeec $LN21 0058eeec GameSocket.obj + 0002:0004af40 $LN19 0058ef40 GameSocket.obj + 0002:0004af48 $LN18 0058ef48 GameSocket.obj + 0002:0004af4e $LN17 0058ef4e GameSocket.obj + 0002:0004af57 $LN16 0058ef57 GameSocket.obj + 0002:0004af62 $LN15 0058ef62 GameSocket.obj + 0002:0004af68 $LN14 0058ef68 GameSocket.obj + 0002:0004af6d $LN13 0058ef6d GameSocket.obj + 0002:0004b258 $LN22 0058f258 GameSocket.obj + 0002:0004b260 $LN21 0058f260 GameSocket.obj + 0002:0004b278 $LN19 0058f278 GameSocket.obj + 0002:0004b27c $LN18 0058f27c GameSocket.obj + 0002:0004b3f8 $LN9 0058f3f8 GameSocket.obj + 0002:0004b400 $LN8 0058f400 GameSocket.obj + 0002:0004b418 $LN7 0058f418 GameSocket.obj + 0002:0004b423 $LN6 0058f423 GameSocket.obj + 0002:0004b620 $LN13 0058f620 GameSocket.obj + 0002:0004b628 $LN12 0058f628 GameSocket.obj + 0002:0004b664 $LN11 0058f664 GameSocket.obj + 0002:0004b672 $LN10 0058f672 GameSocket.obj + 0002:0004b67a $LN9 0058f67a GameSocket.obj + 0002:0004b67e $LN8 0058f67e GameSocket.obj + 0002:0004b68a $LN7 0058f68a GameSocket.obj + 0002:0004b8b8 $LN20 0058f8b8 GameSocket.obj + 0002:0004b8c0 $LN19 0058f8c0 GameSocket.obj + 0002:0004b8e4 $LN17 0058f8e4 GameSocket.obj + 0002:0004b8e8 $LN16 0058f8e8 GameSocket.obj + 0002:0004b8ee $LN15 0058f8ee GameSocket.obj + 0002:0004ba48 $LN11 0058fa48 GameSocket.obj + 0002:0004ba50 $LN10 0058fa50 GameSocket.obj + 0002:0004ba98 $LN9 0058fa98 GameSocket.obj + 0002:0004baa5 $LN8 0058faa5 GameSocket.obj + 0002:0004baa8 $LN7 0058faa8 GameSocket.obj + 0002:0004baab $LN6 0058faab GameSocket.obj + 0002:0004baae $LN5 0058faae GameSocket.obj + 0002:0004bab3 $LN4 0058fab3 GameSocket.obj + 0002:0004bdec $LN29 0058fdec GameSocket.obj + 0002:0004bdf4 $LN28 0058fdf4 GameSocket.obj + 0002:0004bec0 $LN26 0058fec0 GameSocket.obj + 0002:0004becb $LN25 0058fecb GameSocket.obj + 0002:0004bed2 $LN24 0058fed2 GameSocket.obj + 0002:0004beda $LN23 0058feda GameSocket.obj + 0002:0004bee6 $LN22 0058fee6 GameSocket.obj + 0002:0004bef1 $LN21 0058fef1 GameSocket.obj + 0002:0004bef8 $LN20 0058fef8 GameSocket.obj + 0002:0004beff $LN19 0058feff GameSocket.obj + 0002:0004bf06 $LN18 0058ff06 GameSocket.obj + 0002:0004bf11 $LN17 0058ff11 GameSocket.obj + 0002:0004bf1a $LN16 0058ff1a GameSocket.obj + 0002:0004bf24 $LN15 0058ff24 GameSocket.obj + 0002:0004bf2c $LN14 0058ff2c GameSocket.obj + 0002:0004bf33 $LN13 0058ff33 GameSocket.obj + 0002:0004bf36 $LN12 0058ff36 GameSocket.obj + 0002:0004bf39 $LN11 0058ff39 GameSocket.obj + 0002:0004bf3c $LN10 0058ff3c GameSocket.obj + 0002:0004c0f0 $LN8 005900f0 GameSocket.obj + 0002:0004c0f8 $LN7 005900f8 GameSocket.obj + 0002:0004c128 $LN6 00590128 GameSocket.obj + 0002:0004c12d $LN5 0059012d GameSocket.obj + 0002:0004c135 $LN4 00590135 GameSocket.obj + 0002:0004c140 $LN3 00590140 GameSocket.obj + 0002:0004c4f0 $LN12 005904f0 GameSocket.obj + 0002:0004c4f8 $LN11 005904f8 GameSocket.obj + 0002:0004c504 $LN9 00590504 GameSocket.obj + 0002:0004ca98 $LN23 00590a98 GameSocket.obj + 0002:0004caa0 $LN22 00590aa0 GameSocket.obj + 0002:0004cadc $LN20 00590adc GameSocket.obj + 0002:0004cadf $LN19 00590adf GameSocket.obj + 0002:0004cae2 $LN18 00590ae2 GameSocket.obj + 0002:0004cae6 $LN17 00590ae6 GameSocket.obj + 0002:0004caec $LN16 00590aec GameSocket.obj + 0002:0004d058 $LN8 00591058 GameSocket.obj + 0002:0004d060 $LN7 00591060 GameSocket.obj + 0002:0004d078 $LN5 00591078 GameSocket.obj + 0002:0004d082 $LN4 00591082 GameSocket.obj + 0002:0004d17c $LN9 0059117c GameSocket.obj + 0002:0004d184 $LN8 00591184 GameSocket.obj + 0002:0004d1c0 $LN7 005911c0 GameSocket.obj + 0002:0004d1c3 $LN6 005911c3 GameSocket.obj + 0002:0004d1c6 $LN5 005911c6 GameSocket.obj + 0002:0004d1c9 $LN4 005911c9 GameSocket.obj + 0002:0004d1cf $LN3 005911cf GameSocket.obj + 0002:0004d304 $LN7 00591304 GameSocket.obj + 0002:0004d30c $LN6 0059130c GameSocket.obj + 0002:0004d324 $LN5 00591324 GameSocket.obj + 0002:0004d328 $LN4 00591328 GameSocket.obj + 0002:0004d440 $LN10 00591440 GameSocket.obj + 0002:0004d448 $LN9 00591448 GameSocket.obj + 0002:0004d46c $LN8 0059146c GameSocket.obj + 0002:0004d470 $LN7 00591470 GameSocket.obj + 0002:0004d474 $LN6 00591474 GameSocket.obj + 0002:0004d54c $LN7 0059154c GameSocket.obj + 0002:0004d554 $LN6 00591554 GameSocket.obj + 0002:0004d56c $LN5 0059156c GameSocket.obj + 0002:0004d571 $LN4 00591571 GameSocket.obj + 0002:0004d6c8 $LN7 005916c8 GameSocket.obj + 0002:0004d6d0 $LN6 005916d0 GameSocket.obj + 0002:0004d6e8 $LN5 005916e8 GameSocket.obj + 0002:0004d6f5 $LN4 005916f5 GameSocket.obj + 0002:0004dcdc $LN8 00591cdc GameSocket.obj + 0002:0004dce4 $LN7 00591ce4 GameSocket.obj + 0002:0004dcfc $LN5 00591cfc GameSocket.obj + 0002:0004dd03 $LN4 00591d03 GameSocket.obj + 0002:0004dfa0 $LN7 00591fa0 GameSocket.obj + 0002:0004dfa8 $LN6 00591fa8 GameSocket.obj + 0002:0004dfb4 $LN5 00591fb4 GameSocket.obj + 0002:0004e28c $LN6 0059228c GameSocket.obj + 0002:0004e294 $LN5 00592294 GameSocket.obj + 0002:0004e2a0 $LN4 005922a0 GameSocket.obj + 0002:0004faac $LN11 00593aac GameSocket.obj + 0002:0004fab4 $LN10 00593ab4 GameSocket.obj + 0002:0004fac0 $LN9 00593ac0 GameSocket.obj + 0002:00050db0 $LN5 00594db0 GameSocket.obj + 0002:00050db8 $LN4 00594db8 GameSocket.obj + 0002:00050dc4 $LN3 00594dc4 GameSocket.obj + 0002:00051f70 $LN5 00595f70 MAP.obj + 0002:00051f78 $LN4 00595f78 MAP.obj + 0002:00051f84 $LN3 00595f84 MAP.obj + 0002:00052090 $LN5 00596090 MAP.obj + 0002:00052098 $LN4 00596098 MAP.obj + 0002:000520a4 $LN3 005960a4 MAP.obj + 0002:0005227c $LN7 0059627c MAP.obj + 0002:00052284 $LN6 00596284 MAP.obj + 0002:00052290 $LN5 00596290 MAP.obj + 0002:0005243c $LN7 0059643c MAP.obj + 0002:00052444 $LN6 00596444 MAP.obj + 0002:00052450 $LN5 00596450 MAP.obj + 0002:00052864 $LN6 00596864 MAP.obj + 0002:0005286c $LN5 0059686c MAP.obj + 0002:00052878 $LN4 00596878 MAP.obj + 0002:00052934 $LN6 00596934 MAP.obj + 0002:0005293c $LN5 0059693c MAP.obj + 0002:00052948 $LN4 00596948 MAP.obj + 0002:00052a74 $LN9 00596a74 MAP.obj + 0002:00052a7c $LN8 00596a7c MAP.obj + 0002:00052a88 $LN7 00596a88 MAP.obj + 0002:00052bd4 $LN9 00596bd4 MAP.obj + 0002:00052bdc $LN8 00596bdc MAP.obj + 0002:00052be8 $LN7 00596be8 MAP.obj + 0002:00053450 $LN8 00597450 MAP.obj + 0002:00053458 $LN7 00597458 MAP.obj + 0002:00053464 $LN6 00597464 MAP.obj + 0002:00053630 $LN8 00597630 MAP.obj + 0002:00053638 $LN7 00597638 MAP.obj + 0002:00053644 $LN6 00597644 MAP.obj + 0002:00053e9c $LN8 00597e9c MAP.obj + 0002:00053ea4 $LN7 00597ea4 MAP.obj + 0002:00053eb0 $LN6 00597eb0 MAP.obj + 0002:00053fac $LN8 00597fac MAP.obj + 0002:00053fb4 $LN7 00597fb4 MAP.obj + 0002:00053fc0 $LN6 00597fc0 MAP.obj + 0002:00054aa8 $LN15 00598aa8 MAP.obj + 0002:00054ab0 $LN14 00598ab0 MAP.obj + 0002:00054ad4 $LN12 00598ad4 MAP.obj + 0002:00054ae1 $LN11 00598ae1 MAP.obj + 0002:00054ae8 $LN10 00598ae8 MAP.obj + 0002:00054cc8 $LN15 00598cc8 MAP.obj + 0002:00054cd0 $LN14 00598cd0 MAP.obj + 0002:00054cf4 $LN12 00598cf4 MAP.obj + 0002:00054d01 $LN11 00598d01 MAP.obj + 0002:00054d08 $LN10 00598d08 MAP.obj + 0002:000566b0 $LN9 0059a6b0 MAP.obj + 0002:000566b8 $LN8 0059a6b8 MAP.obj + 0002:000566d0 $LN6 0059a6d0 MAP.obj + 0002:000566d7 $LN5 0059a6d7 MAP.obj + 0002:000576c0 $LN5 0059b6c0 MAP.obj + 0002:000576c8 $LN4 0059b6c8 MAP.obj + 0002:000576d4 $LN3 0059b6d4 MAP.obj + 0002:000581f0 $LN5 0059c1f0 MAP.obj + 0002:000581f8 $LN4 0059c1f8 MAP.obj + 0002:00058204 $LN3 0059c204 MAP.obj + 0002:000582d0 $LN5 0059c2d0 MAP.obj + 0002:000582d8 $LN4 0059c2d8 MAP.obj + 0002:000582e4 $LN3 0059c2e4 MAP.obj + 0002:0005a1e8 $LN8 0059e1e8 MAP.obj + 0002:0005a1f0 $LN7 0059e1f0 MAP.obj + 0002:0005a1fc $LN6 0059e1fc MAP.obj + 0002:0005ad08 $LN9 0059ed08 MAP.obj + 0002:0005ad10 $LN8 0059ed10 MAP.obj + 0002:0005ad1c $LN6 0059ed1c MAP.obj + 0002:0005ae28 $LN9 0059ee28 MAP.obj + 0002:0005ae30 $LN8 0059ee30 MAP.obj + 0002:0005ae3c $LN6 0059ee3c MAP.obj + 0002:0005af48 $LN9 0059ef48 MAP.obj + 0002:0005af50 $LN8 0059ef50 MAP.obj + 0002:0005af5c $LN6 0059ef5c MAP.obj + 0002:0005c298 $LN15 005a0298 MAP.obj + 0002:0005c2a0 $LN14 005a02a0 MAP.obj + 0002:0005c2b8 $LN12 005a02b8 MAP.obj + 0002:0005c2bc $LN11 005a02bc MAP.obj + 0002:0005c4d0 $LN17 005a04d0 MAP.obj + 0002:0005c4d8 $LN16 005a04d8 MAP.obj + 0002:0005c4f0 $LN14 005a04f0 MAP.obj + 0002:0005c4f4 $LN13 005a04f4 MAP.obj + 0002:0005c6d4 $LN13 005a06d4 MAP.obj + 0002:0005c6dc $LN12 005a06dc MAP.obj + 0002:0005c6f4 $LN10 005a06f4 MAP.obj + 0002:0005c6f8 $LN9 005a06f8 MAP.obj + 0002:0005c894 $LN12 005a0894 MAP.obj + 0002:0005c89c $LN11 005a089c MAP.obj + 0002:0005c8b4 $LN9 005a08b4 MAP.obj + 0002:0005c8b8 $LN8 005a08b8 MAP.obj + 0002:0005cb18 $LN8 005a0b18 MAP.obj + 0002:0005cb20 $LN7 005a0b20 MAP.obj + 0002:0005cb2c $LN6 005a0b2c MAP.obj + 0002:0005cbe4 $LN6 005a0be4 MAP.obj + 0002:0005cbec $LN5 005a0bec MAP.obj + 0002:0005cbf8 $LN4 005a0bf8 MAP.obj + 0002:0005d214 $LN28 005a1214 MAP.obj + 0002:0005d21c $LN27 005a121c MAP.obj + 0002:0005d228 $LN25 005a1228 MAP.obj + 0002:0005d47c $LN13 005a147c MAP.obj + 0002:0005d484 $LN12 005a1484 MAP.obj + 0002:0005d490 $LN10 005a1490 MAP.obj + 0002:0005d574 $LN6 005a1574 MAP.obj + 0002:0005d57c $LN5 005a157c MAP.obj + 0002:0005d588 $LN4 005a1588 MAP.obj + 0002:0005d6d4 $LN9 005a16d4 MAP.obj + 0002:0005d6dc $LN8 005a16dc MAP.obj + 0002:0005d6e8 $LN6 005a16e8 MAP.obj + 0002:0005dad0 $LN23 005a1ad0 MAP.obj + 0002:0005dad8 $LN22 005a1ad8 MAP.obj + 0002:0005daf0 $LN20 005a1af0 MAP.obj + 0002:0005daf2 $LN19 005a1af2 MAP.obj + 0002:0005de2c $LN24 005a1e2c MAP.obj + 0002:0005de34 $LN23 005a1e34 MAP.obj + 0002:0005de40 $LN21 005a1e40 MAP.obj + 0002:0005e94c $LN67 005a294c MAP.obj + 0002:0005e954 $LN66 005a2954 MAP.obj + 0002:0005e99c $LN64 005a299c MAP.obj + 0002:0005e99f $LN63 005a299f MAP.obj + 0002:0005e9a4 $LN62 005a29a4 MAP.obj + 0002:0005e9aa $LN61 005a29aa MAP.obj + 0002:0005e9ae $LN60 005a29ae MAP.obj + 0002:0005e9b3 $LN59 005a29b3 MAP.obj + 0002:0005ef38 $LN8 005a2f38 MAP.obj + 0002:0005ef40 $LN7 005a2f40 MAP.obj + 0002:0005ef4c $LN5 005a2f4c MAP.obj + 0002:0005f088 $LN8 005a3088 MAP.obj + 0002:0005f090 $LN7 005a3090 MAP.obj + 0002:0005f09c $LN5 005a309c MAP.obj + 0002:0005f218 $LN10 005a3218 MAP.obj + 0002:0005f220 $LN9 005a3220 MAP.obj + 0002:0005f22c $LN7 005a322c MAP.obj + 0002:0005f380 $LN9 005a3380 MAP.obj + 0002:0005f388 $LN8 005a3388 MAP.obj + 0002:0005f394 $LN6 005a3394 MAP.obj + 0002:0005f54c $LN13 005a354c MAP.obj + 0002:0005f554 $LN12 005a3554 MAP.obj + 0002:0005f560 $LN10 005a3560 MAP.obj + 0002:0005f710 $LN12 005a3710 MAP.obj + 0002:0005f718 $LN11 005a3718 MAP.obj + 0002:0005f724 $LN9 005a3724 MAP.obj + 0002:0005fb7c $LN8 005a3b7c MAP.obj + 0002:0005fb84 $LN7 005a3b84 MAP.obj + 0002:0005fb9c $LN5 005a3b9c MAP.obj + 0002:0005fba3 $LN4 005a3ba3 MAP.obj + 0002:0005fccc $LN8 005a3ccc MAP.obj + 0002:0005fcd4 $LN7 005a3cd4 MAP.obj + 0002:0005fcec $LN5 005a3cec MAP.obj + 0002:0005fcf3 $LN4 005a3cf3 MAP.obj + 0002:000601bc $LN18 005a41bc MAP.obj + 0002:000601c4 $LN17 005a41c4 MAP.obj + 0002:000601dc $LN16 005a41dc MAP.obj + 0002:000601e2 $LN15 005a41e2 MAP.obj + 0002:000602e8 $LN5 005a42e8 MAP.obj + 0002:000602f0 $LN4 005a42f0 MAP.obj + 0002:000602fc $LN3 005a42fc MAP.obj + 0002:0006170c $LN10 005a570c MAP.obj + 0002:00061714 $LN9 005a5714 MAP.obj + 0002:00061738 $LN8 005a5738 MAP.obj + 0002:0006173c $LN7 005a573c MAP.obj + 0002:00061740 $LN6 005a5740 MAP.obj + 0002:00062348 __catch$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$0 005a6348 f i MAP.obj + 0002:000623d8 $LN22 005a63d8 MAP.obj + 0002:000623e0 $LN21 005a63e0 MAP.obj + 0002:000623ec $LN19 005a63ec MAP.obj + 0002:00062b2c $LN11 005a6b2c MAP.obj + 0002:00062b34 $LN10 005a6b34 MAP.obj + 0002:00062b40 $LN9 005a6b40 MAP.obj + 0002:00062c3c $LN11 005a6c3c MAP.obj + 0002:00062c44 $LN10 005a6c44 MAP.obj + 0002:00062c50 $LN9 005a6c50 MAP.obj + 0002:00062d6d __catch$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ$0 005a6d6d f i MAP.obj + 0002:00063484 $LN8 005a7484 MAP.obj + 0002:0006348c $LN7 005a748c MAP.obj + 0002:00063498 $LN5 005a7498 MAP.obj + 0002:00064a80 $LN5 005a8a80 MAP.obj + 0002:00064a88 $LN4 005a8a88 MAP.obj + 0002:00064a94 $LN3 005a8a94 MAP.obj + 0002:000658b0 $LN9 005a98b0 MAP.obj + 0002:000658b8 $LN8 005a98b8 MAP.obj + 0002:000658c4 $LN6 005a98c4 MAP.obj + 0002:000669f8 $LN23 005aa9f8 MAP.obj + 0002:00066a00 $LN22 005aaa00 MAP.obj + 0002:00066a30 $LN21 005aaa30 MAP.obj + 0002:00066a36 $LN20 005aaa36 MAP.obj + 0002:00066a3b $LN19 005aaa3b MAP.obj + 0002:00066a3f $LN18 005aaa3f MAP.obj + 0002:000671a0 __catch$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z$0 005ab1a0 f i MAP.obj + 0002:00067234 $LN16 005ab234 MAP.obj + 0002:0006723c $LN15 005ab23c MAP.obj + 0002:00067248 $LN13 005ab248 MAP.obj + 0002:00067580 $LN8 005ab580 MAP.obj + 0002:00067588 $LN7 005ab588 MAP.obj + 0002:00067594 $LN5 005ab594 MAP.obj + 0002:00067710 $LN10 005ab710 MAP.obj + 0002:00067718 $LN9 005ab718 MAP.obj + 0002:00067724 $LN8 005ab724 MAP.obj + 0002:000678bc $LN7 005ab8bc MAP.obj + 0002:000678c4 $LN6 005ab8c4 MAP.obj + 0002:000678d0 $LN5 005ab8d0 MAP.obj + 0002:000681cc $LN9 005ac1cc MAP.obj + 0002:000681d4 $LN8 005ac1d4 MAP.obj + 0002:000681e0 $LN6 005ac1e0 MAP.obj + 0002:000685d4 $LN28 005ac5d4 MAP.obj + 0002:000685dc $LN27 005ac5dc MAP.obj + 0002:00068618 $LN25 005ac618 MAP.obj + 0002:0006861e $LN24 005ac61e MAP.obj + 0002:00068622 $LN23 005ac622 MAP.obj + 0002:00068627 $LN22 005ac627 MAP.obj + 0002:0006862c $LN21 005ac62c MAP.obj + 0002:000688b4 $LN9 005ac8b4 MAP.obj + 0002:000688bc $LN8 005ac8bc MAP.obj + 0002:000688c8 $LN7 005ac8c8 MAP.obj + 0002:00068dd8 $LN15 005acdd8 MAP.obj + 0002:00068de0 $LN14 005acde0 MAP.obj + 0002:00068df8 $LN13 005acdf8 MAP.obj + 0002:00068e03 $LN12 005ace03 MAP.obj + 0002:00068fe8 $LN14 005acfe8 MAP.obj + 0002:00068ff0 $LN13 005acff0 MAP.obj + 0002:00068ffc $LN12 005acffc MAP.obj + 0002:0006a4a0 $LN5 005ae4a0 Npc.obj + 0002:0006a4a8 $LN4 005ae4a8 Npc.obj + 0002:0006a4b4 $LN3 005ae4b4 Npc.obj + 0002:0006a5c0 $LN5 005ae5c0 Npc.obj + 0002:0006a5c8 $LN4 005ae5c8 Npc.obj + 0002:0006a5d4 $LN3 005ae5d4 Npc.obj + 0002:0006a9fc $LN7 005ae9fc Npc.obj + 0002:0006aa04 $LN6 005aea04 Npc.obj + 0002:0006aa10 $LN5 005aea10 Npc.obj + 0002:0006abbc $LN7 005aebbc Npc.obj + 0002:0006abc4 $LN6 005aebc4 Npc.obj + 0002:0006abd0 $LN5 005aebd0 Npc.obj + 0002:0006aea4 __catch$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z$0 005aeea4 f i Npc.obj + 0002:0006b304 $LN6 005af304 Npc.obj + 0002:0006b30c $LN5 005af30c Npc.obj + 0002:0006b318 $LN4 005af318 Npc.obj + 0002:0006b3d4 $LN6 005af3d4 Npc.obj + 0002:0006b3dc $LN5 005af3dc Npc.obj + 0002:0006b3e8 $LN4 005af3e8 Npc.obj + 0002:0006b4a4 $LN6 005af4a4 Npc.obj + 0002:0006b4ac $LN5 005af4ac Npc.obj + 0002:0006b4b8 $LN4 005af4b8 Npc.obj + 0002:0006b574 $LN6 005af574 Npc.obj + 0002:0006b57c $LN5 005af57c Npc.obj + 0002:0006b588 $LN4 005af588 Npc.obj + 0002:0006b644 $LN6 005af644 Npc.obj + 0002:0006b64c $LN5 005af64c Npc.obj + 0002:0006b658 $LN4 005af658 Npc.obj + 0002:0006b714 $LN6 005af714 Npc.obj + 0002:0006b71c $LN5 005af71c Npc.obj + 0002:0006b728 $LN4 005af728 Npc.obj + 0002:0006b7e4 $LN6 005af7e4 Npc.obj + 0002:0006b7ec $LN5 005af7ec Npc.obj + 0002:0006b7f8 $LN4 005af7f8 Npc.obj + 0002:0006b924 $LN9 005af924 Npc.obj + 0002:0006b92c $LN8 005af92c Npc.obj + 0002:0006b938 $LN7 005af938 Npc.obj + 0002:0006ba84 $LN9 005afa84 Npc.obj + 0002:0006ba8c $LN8 005afa8c Npc.obj + 0002:0006ba98 $LN7 005afa98 Npc.obj + 0002:0006bbe4 $LN9 005afbe4 Npc.obj + 0002:0006bbec $LN8 005afbec Npc.obj + 0002:0006bbf8 $LN7 005afbf8 Npc.obj + 0002:0006bd44 $LN9 005afd44 Npc.obj + 0002:0006bd4c $LN8 005afd4c Npc.obj + 0002:0006bd58 $LN7 005afd58 Npc.obj + 0002:0006bea4 $LN9 005afea4 Npc.obj + 0002:0006beac $LN8 005afeac Npc.obj + 0002:0006beb8 $LN7 005afeb8 Npc.obj + 0002:0006c004 $LN9 005b0004 Npc.obj + 0002:0006c00c $LN8 005b000c Npc.obj + 0002:0006c018 $LN7 005b0018 Npc.obj + 0002:0006c164 $LN9 005b0164 Npc.obj + 0002:0006c16c $LN8 005b016c Npc.obj + 0002:0006c178 $LN7 005b0178 Npc.obj + 0002:0006cdbc $LN7 005b0dbc Npc.obj + 0002:0006cdc4 $LN6 005b0dc4 Npc.obj + 0002:0006cdd0 $LN5 005b0dd0 Npc.obj + 0002:0006dbac $LN8 005b1bac Npc.obj + 0002:0006dbb4 $LN7 005b1bb4 Npc.obj + 0002:0006dbc0 $LN6 005b1bc0 Npc.obj + 0002:0006dcbc $LN8 005b1cbc Npc.obj + 0002:0006dcc4 $LN7 005b1cc4 Npc.obj + 0002:0006dcd0 $LN6 005b1cd0 Npc.obj + 0002:00070100 $LN5 005b4100 Npc.obj + 0002:00070108 $LN4 005b4108 Npc.obj + 0002:00070114 $LN3 005b4114 Npc.obj + 0002:000701e0 $LN5 005b41e0 Npc.obj + 0002:000701e8 $LN4 005b41e8 Npc.obj + 0002:000701f4 $LN3 005b41f4 Npc.obj + 0002:00070ddc $LN6 005b4ddc Npc.obj + 0002:00070de4 $LN5 005b4de4 Npc.obj + 0002:00070df0 $LN3 005b4df0 Npc.obj + 0002:000712a8 $LN7 005b52a8 Npc.obj + 0002:000712b0 $LN6 005b52b0 Npc.obj + 0002:000712bc $LN5 005b52bc Npc.obj + 0002:00073008 $LN9 005b7008 Npc.obj + 0002:00073010 $LN8 005b7010 Npc.obj + 0002:0007301c $LN6 005b701c Npc.obj + 0002:00074280 __catch$?Attack@CNpc@@QAE_JXZ$0 005b8280 f Npc.obj + 0002:000742f0 $LN71 005b82f0 Npc.obj + 0002:000742f8 $LN70 005b82f8 Npc.obj + 0002:00074304 $LN68 005b8304 Npc.obj + 0002:00074d94 $LN21 005b8d94 Npc.obj + 0002:00074d9c $LN20 005b8d9c Npc.obj + 0002:00074db4 $LN19 005b8db4 Npc.obj + 0002:00074db9 $LN18 005b8db9 Npc.obj + 0002:00075408 $LN38 005b9408 Npc.obj + 0002:00075410 $LN37 005b9410 Npc.obj + 0002:00075428 $LN36 005b9428 Npc.obj + 0002:0007542d $LN35 005b942d Npc.obj + 0002:00075a14 $LN5 005b9a14 Npc.obj + 0002:00075a1c $LN4 005b9a1c Npc.obj + 0002:00075a28 $LN3 005b9a28 Npc.obj + 0002:000765cc $LN33 005ba5cc Npc.obj + 0002:000765d4 $LN32 005ba5d4 Npc.obj + 0002:000765ec $LN31 005ba5ec Npc.obj + 0002:000765f1 $LN30 005ba5f1 Npc.obj + 0002:00076ee8 $LN50 005baee8 Npc.obj + 0002:00076ef0 $LN49 005baef0 Npc.obj + 0002:00076f5c $LN47 005baf5c Npc.obj + 0002:00076f60 $LN46 005baf60 Npc.obj + 0002:00076f66 $LN45 005baf66 Npc.obj + 0002:00076f6b $LN44 005baf6b Npc.obj + 0002:00076f6f $LN43 005baf6f Npc.obj + 0002:00076f75 $LN42 005baf75 Npc.obj + 0002:00076f7a $LN41 005baf7a Npc.obj + 0002:00076f7f $LN40 005baf7f Npc.obj + 0002:00076f84 $LN39 005baf84 Npc.obj + 0002:00077b10 $LN49 005bbb10 Npc.obj + 0002:00077b20 $LN50 005bbb20 Npc.obj + 0002:000780d4 $LN25 005bc0d4 Npc.obj + 0002:000780dc $LN24 005bc0dc Npc.obj + 0002:000780e8 $LN23 005bc0e8 Npc.obj + 0002:000787f0 $LN36 005bc7f0 Npc.obj + 0002:000787f8 $LN35 005bc7f8 Npc.obj + 0002:00078834 $LN33 005bc834 Npc.obj + 0002:00078838 $LN32 005bc838 Npc.obj + 0002:0007883e $LN31 005bc83e Npc.obj + 0002:00078843 $LN30 005bc843 Npc.obj + 0002:0007884a $LN29 005bc84a Npc.obj + 0002:00078b24 $LN12 005bcb24 Npc.obj + 0002:00078b2c $LN11 005bcb2c Npc.obj + 0002:00078b44 $LN9 005bcb44 Npc.obj + 0002:00078b48 $LN8 005bcb48 Npc.obj + 0002:00078ce4 $LN12 005bcce4 Npc.obj + 0002:00078cec $LN11 005bccec Npc.obj + 0002:00078d04 $LN9 005bcd04 Npc.obj + 0002:00078d08 $LN8 005bcd08 Npc.obj + 0002:00078ea4 $LN12 005bcea4 Npc.obj + 0002:00078eac $LN11 005bceac Npc.obj + 0002:00078ec4 $LN9 005bcec4 Npc.obj + 0002:00078ec8 $LN8 005bcec8 Npc.obj + 0002:00079064 $LN12 005bd064 Npc.obj + 0002:0007906c $LN11 005bd06c Npc.obj + 0002:00079084 $LN9 005bd084 Npc.obj + 0002:00079088 $LN8 005bd088 Npc.obj + 0002:00079224 $LN12 005bd224 Npc.obj + 0002:0007922c $LN11 005bd22c Npc.obj + 0002:00079244 $LN9 005bd244 Npc.obj + 0002:00079248 $LN8 005bd248 Npc.obj + 0002:00079580 $LN28 005bd580 Npc.obj + 0002:000799e0 $LN34 005bd9e0 Npc.obj + 0002:000799e8 $LN33 005bd9e8 Npc.obj + 0002:000799f4 $LN32 005bd9f4 Npc.obj + 0002:0007a1b0 $LN14 005be1b0 Npc.obj + 0002:0007a1b8 $LN13 005be1b8 Npc.obj + 0002:0007a1d0 $LN12 005be1d0 Npc.obj + 0002:0007a1d5 $LN11 005be1d5 Npc.obj + 0002:0007b078 $LN45 005bf078 Npc.obj + 0002:0007b080 $LN44 005bf080 Npc.obj + 0002:0007b0e0 $LN43 005bf0e0 Npc.obj + 0002:0007b0e4 $LN42 005bf0e4 Npc.obj + 0002:0007b0ea $LN41 005bf0ea Npc.obj + 0002:0007b0ec $LN40 005bf0ec Npc.obj + 0002:0007b0ee $LN39 005bf0ee Npc.obj + 0002:0007b0f5 $LN38 005bf0f5 Npc.obj + 0002:0007b0ff $LN37 005bf0ff Npc.obj + 0002:0007b104 $LN36 005bf104 Npc.obj + 0002:0007b9b8 $LN21 005bf9b8 Npc.obj + 0002:0007b9c0 $LN20 005bf9c0 Npc.obj + 0002:0007b9e4 $LN18 005bf9e4 Npc.obj + 0002:0007b9e8 $LN17 005bf9e8 Npc.obj + 0002:0007b9ee $LN16 005bf9ee Npc.obj + 0002:0007c21c $LN35 005c021c Npc.obj + 0002:0007c224 $LN34 005c0224 Npc.obj + 0002:0007c23c $LN32 005c023c Npc.obj + 0002:0007c243 $LN31 005c0243 Npc.obj + 0002:0007c684 $LN18 005c0684 Npc.obj + 0002:0007c68c $LN17 005c068c Npc.obj + 0002:0007c698 $LN15 005c0698 Npc.obj + 0002:0007cd28 $LN9 005c0d28 Npc.obj + 0002:0007cd30 $LN8 005c0d30 Npc.obj + 0002:0007cd60 $LN7 005c0d60 Npc.obj + 0002:0007cd65 $LN6 005c0d65 Npc.obj + 0002:0007cd6c $LN5 005c0d6c Npc.obj + 0002:0007cd72 $LN4 005c0d72 Npc.obj + 0002:0007d308 $LN34 005c1308 Npc.obj + 0002:0007d310 $LN33 005c1310 Npc.obj + 0002:0007d340 $LN32 005c1340 Npc.obj + 0002:0007d34a $LN31 005c134a Npc.obj + 0002:0007d34f $LN30 005c134f Npc.obj + 0002:0007d359 $LN29 005c1359 Npc.obj + 0002:0007dbe4 $LN14 005c1be4 Npc.obj + 0002:0007dbec $LN13 005c1bec Npc.obj + 0002:0007dc1c $LN12 005c1c1c Npc.obj + 0002:0007dc24 $LN11 005c1c24 Npc.obj + 0002:0007dc29 $LN10 005c1c29 Npc.obj + 0002:0007dc2e $LN9 005c1c2e Npc.obj + 0002:0007e05c $LN17 005c205c Npc.obj + 0002:0007e064 $LN16 005c2064 Npc.obj + 0002:0007e094 $LN15 005c2094 Npc.obj + 0002:0007e09c $LN14 005c209c Npc.obj + 0002:0007e0a1 $LN13 005c20a1 Npc.obj + 0002:0007e0a6 $LN12 005c20a6 Npc.obj + 0002:0007f948 $LN19 005c3948 Npc.obj + 0002:0007f950 $LN18 005c3950 Npc.obj + 0002:0007f98c $LN17 005c398c Npc.obj + 0002:0007f992 $LN16 005c3992 Npc.obj + 0002:0007f999 $LN15 005c3999 Npc.obj + 0002:0007f9a3 $LN14 005c39a3 Npc.obj + 0002:0007f9a8 $LN13 005c39a8 Npc.obj + 0002:00081450 $LN22 005c5450 Npc.obj + 0002:00081458 $LN21 005c5458 Npc.obj + 0002:00081470 $LN19 005c5470 Npc.obj + 0002:00081477 $LN18 005c5477 Npc.obj + 0002:0008290c $LN44 005c690c Npc.obj + 0002:00082914 $LN43 005c6914 Npc.obj + 0002:00082950 $LN42 005c6950 Npc.obj + 0002:00082954 $LN41 005c6954 Npc.obj + 0002:0008295a $LN40 005c695a Npc.obj + 0002:00082961 $LN39 005c6961 Npc.obj + 0002:00082966 $LN38 005c6966 Npc.obj + 0002:00082970 $LN37 005c6970 Npc.obj + 0002:00083cc0 $LN54 005c7cc0 Npc.obj + 0002:00083cc8 $LN53 005c7cc8 Npc.obj + 0002:00083d04 $LN52 005c7d04 Npc.obj + 0002:00083d08 $LN51 005c7d08 Npc.obj + 0002:00083d0e $LN50 005c7d0e Npc.obj + 0002:00083d16 $LN49 005c7d16 Npc.obj + 0002:00083d1b $LN48 005c7d1b Npc.obj + 0002:00083d24 $LN47 005c7d24 Npc.obj + 0002:000846d0 $LN37 005c86d0 Npc.obj + 0002:00084cac $LN9 005c8cac Npc.obj + 0002:00084cb4 $LN8 005c8cb4 Npc.obj + 0002:00084ccc $LN7 005c8ccc Npc.obj + 0002:00084cd2 $LN6 005c8cd2 Npc.obj + 0002:00084ee4 $LN7 005c8ee4 Npc.obj + 0002:00084eec $LN6 005c8eec Npc.obj + 0002:00084ef8 $LN4 005c8ef8 Npc.obj + 0002:00085894 $LN72 005c9894 Npc.obj + 0002:0008589c $LN71 005c989c Npc.obj + 0002:00085908 $LN69 005c9908 Npc.obj + 0002:0008590f $LN68 005c990f Npc.obj + 0002:00085916 $LN67 005c9916 Npc.obj + 0002:0008591a $LN66 005c991a Npc.obj + 0002:00085923 $LN65 005c9923 Npc.obj + 0002:00085939 $LN64 005c9939 Npc.obj + 0002:0008593f $LN63 005c993f Npc.obj + 0002:0008594a $LN62 005c994a Npc.obj + 0002:0008595d $LN61 005c995d Npc.obj + 0002:00085970 $LN60 005c9970 Npc.obj + 0002:00085d3c $LN7 005c9d3c Npc.obj + 0002:00085d44 $LN6 005c9d44 Npc.obj + 0002:00085d50 $LN4 005c9d50 Npc.obj + 0002:00085efc $LN9 005c9efc Npc.obj + 0002:00085f04 $LN8 005c9f04 Npc.obj + 0002:00085f10 $LN6 005c9f10 Npc.obj + 0002:00086038 $LN7 005ca038 Npc.obj + 0002:00086040 $LN6 005ca040 Npc.obj + 0002:0008604c $LN4 005ca04c Npc.obj + 0002:0008618c $LN7 005ca18c Npc.obj + 0002:00086194 $LN6 005ca194 Npc.obj + 0002:000861a0 $LN4 005ca1a0 Npc.obj + 0002:00086c24 $LN43 005cac24 Npc.obj + 0002:00086c2c $LN42 005cac2c Npc.obj + 0002:00086c5c $LN41 005cac5c Npc.obj + 0002:00086c61 $LN40 005cac61 Npc.obj + 0002:00086c66 $LN39 005cac66 Npc.obj + 0002:00086c69 $LN38 005cac69 Npc.obj + 0002:00086c6c $LN37 005cac6c Npc.obj + 0002:00087580 $LN26 005cb580 Npc.obj + 0002:00087588 $LN25 005cb588 Npc.obj + 0002:000875ac $LN24 005cb5ac Npc.obj + 0002:000875b1 $LN23 005cb5b1 Npc.obj + 0002:000875b6 $LN22 005cb5b6 Npc.obj + 0002:00087b4c $LN19 005cbb4c Npc.obj + 0002:00087b54 $LN18 005cbb54 Npc.obj + 0002:00087b6c $LN17 005cbb6c Npc.obj + 0002:00087b71 $LN16 005cbb71 Npc.obj + 0002:0008804c $LN8 005cc04c Npc.obj + 0002:00088054 $LN7 005cc054 Npc.obj + 0002:0008806c $LN5 005cc06c Npc.obj + 0002:00088073 $LN4 005cc073 Npc.obj + 0002:0008819c $LN8 005cc19c Npc.obj + 0002:000881a4 $LN7 005cc1a4 Npc.obj + 0002:000881bc $LN5 005cc1bc Npc.obj + 0002:000881c3 $LN4 005cc1c3 Npc.obj + 0002:00089c74 $LN11 005cdc74 Npc.obj + 0002:00089c7c $LN10 005cdc7c Npc.obj + 0002:00089c88 $LN9 005cdc88 Npc.obj + 0002:0008b74c $LN5 005cf74c Npc.obj + 0002:0008b754 $LN4 005cf754 Npc.obj + 0002:0008b760 $LN3 005cf760 Npc.obj + 0002:0008c43c $LN10 005d043c NpcMagicProcess.obj + 0002:0008c444 $LN9 005d0444 NpcMagicProcess.obj + 0002:0008c450 $LN7 005d0450 NpcMagicProcess.obj + 0002:0008cbc0 $LN5 005d0bc0 NpcThread.obj + 0002:0008cbc8 $LN4 005d0bc8 NpcThread.obj + 0002:0008cbd4 $LN3 005d0bd4 NpcThread.obj + 0002:0008cf0c $LN7 005d0f0c NpcThread.obj + 0002:0008cf14 $LN6 005d0f14 NpcThread.obj + 0002:0008cf20 $LN5 005d0f20 NpcThread.obj + 0002:0008d1f2 __catch$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z$0 005d11f2 f i NpcThread.obj + 0002:0008d4a4 $LN17 005d14a4 NpcThread.obj + 0002:0008d4ac $LN16 005d14ac NpcThread.obj + 0002:0008d4c4 $LN15 005d14c4 NpcThread.obj + 0002:0008d4cc $LN14 005d14cc NpcThread.obj + 0002:0008d734 $LN6 005d1734 NpcThread.obj + 0002:0008d73c $LN5 005d173c NpcThread.obj + 0002:0008d748 $LN4 005d1748 NpcThread.obj + 0002:0008d874 $LN9 005d1874 NpcThread.obj + 0002:0008d87c $LN8 005d187c NpcThread.obj + 0002:0008d888 $LN7 005d1888 NpcThread.obj + 0002:0008d9d4 $LN9 005d19d4 NpcThread.obj + 0002:0008d9dc $LN8 005d19dc NpcThread.obj + 0002:0008d9e8 $LN7 005d19e8 NpcThread.obj + 0002:0008e658 $LN9 005d2658 NpcThread.obj + 0002:0008e660 $LN8 005d2660 NpcThread.obj + 0002:0008e678 $LN7 005d2678 NpcThread.obj + 0002:0008e67f $LN6 005d267f NpcThread.obj + 0002:0008ec34 $LN8 005d2c34 NpcThread.obj + 0002:0008ec3c $LN7 005d2c3c NpcThread.obj + 0002:0008ec48 $LN6 005d2c48 NpcThread.obj + 0002:0008f870 $LN5 005d3870 NpcThread.obj + 0002:0008f878 $LN4 005d3878 NpcThread.obj + 0002:0008f884 $LN3 005d3884 NpcThread.obj + 0002:0008fd40 $LN6 005d3d40 NpcThread.obj + 0002:0008fd48 $LN5 005d3d48 NpcThread.obj + 0002:0008fd54 $LN3 005d3d54 NpcThread.obj + 0002:00090668 $LN9 005d4668 NpcThread.obj + 0002:00090670 $LN8 005d4670 NpcThread.obj + 0002:0009067c $LN6 005d467c NpcThread.obj + 0002:00090a08 $LN9 005d4a08 NpcThread.obj + 0002:00090a10 $LN8 005d4a10 NpcThread.obj + 0002:00090a1c $LN6 005d4a1c NpcThread.obj + 0002:00090ac8 $LN5 005d4ac8 NpcThread.obj + 0002:00090ad0 $LN4 005d4ad0 NpcThread.obj + 0002:00090adc $LN3 005d4adc NpcThread.obj + 0002:0009110c $LN8 005d510c NpcThread.obj + 0002:00091114 $LN7 005d5114 NpcThread.obj + 0002:00091120 $LN5 005d5120 NpcThread.obj + 0002:000912ec $LN15 005d52ec NpcThread.obj + 0002:000912f4 $LN14 005d52f4 NpcThread.obj + 0002:0009130c $LN12 005d530c NpcThread.obj + 0002:00091310 $LN11 005d5310 NpcThread.obj + 0002:00091bd6 __catch$?NpcThreadProc@@YGIPAX@Z$0 005d5bd6 f NpcThread.obj + 0002:00091c5b __catch$?NpcThreadProc@@YGIPAX@Z$2 005d5c5b f NpcThread.obj + 0002:00091ce0 $LN72 005d5ce0 NpcThread.obj + 0002:00091ce8 $LN71 005d5ce8 NpcThread.obj + 0002:00091d30 $LN69 005d5d30 NpcThread.obj + 0002:00091d33 $LN68 005d5d33 NpcThread.obj + 0002:00091d36 $LN67 005d5d36 NpcThread.obj + 0002:00091d3b $LN66 005d5d3b NpcThread.obj + 0002:00091d40 $LN65 005d5d40 NpcThread.obj + 0002:00091d44 $LN64 005d5d44 NpcThread.obj + 0002:00091d50 $LN62 005d5d50 NpcThread.obj + 0002:000920b8 $LN7 005d60b8 NpcThread.obj + 0002:000920c0 $LN6 005d60c0 NpcThread.obj + 0002:000920cc $LN4 005d60cc NpcThread.obj + 0002:00092354 $LN25 005d6354 NpcThread.obj + 0002:0009235c $LN24 005d635c NpcThread.obj + 0002:00092374 $LN22 005d6374 NpcThread.obj + 0002:00092378 $LN21 005d6378 NpcThread.obj + 0002:000924fc $LN8 005d64fc NpcThread.obj + 0002:00092504 $LN7 005d6504 NpcThread.obj + 0002:0009251c $LN5 005d651c NpcThread.obj + 0002:00092523 $LN4 005d6523 NpcThread.obj + 0002:000929b8 $LN5 005d69b8 NpcThread.obj + 0002:000929c0 $LN4 005d69c0 NpcThread.obj + 0002:000929cc $LN3 005d69cc NpcThread.obj + 0002:00092ac8 $LN8 005d6ac8 NpcThread.obj + 0002:00092ad0 $LN7 005d6ad0 NpcThread.obj + 0002:00092adc $LN6 005d6adc NpcThread.obj + 0002:00092bb8 $LN5 005d6bb8 NpcThread.obj + 0002:00092bc0 $LN4 005d6bc0 NpcThread.obj + 0002:00092bcc $LN3 005d6bcc NpcThread.obj + 0002:0009441c $LN11 005d841c NpcThread.obj + 0002:00094424 $LN10 005d8424 NpcThread.obj + 0002:00094430 $LN9 005d8430 NpcThread.obj + 0002:0009452c $LN11 005d852c NpcThread.obj + 0002:00094534 $LN10 005d8534 NpcThread.obj + 0002:00094540 $LN9 005d8540 NpcThread.obj + 0002:00094634 $LN11 005d8634 NpcThread.obj + 0002:0009463c $LN10 005d863c NpcThread.obj + 0002:00094648 $LN9 005d8648 NpcThread.obj + 0002:0009538c $LN7 005d938c NpcThread.obj + 0002:00095394 $LN6 005d9394 NpcThread.obj + 0002:000953b8 $LN5 005d93b8 NpcThread.obj + 0002:000953be $LN4 005d93be NpcThread.obj + 0002:000953c5 $LN3 005d93c5 NpcThread.obj + 0002:000957b4 $LN6 005d97b4 Party.obj + 0002:000957bc $LN5 005d97bc Party.obj + 0002:000957c8 $LN4 005d97c8 Party.obj + 0002:00096434 $LN13 005da434 Party.obj + 0002:0009643c $LN12 005da43c Party.obj + 0002:00096454 $LN10 005da454 Party.obj + 0002:00096458 $LN9 005da458 Party.obj + 0002:000965f4 $LN12 005da5f4 Party.obj + 0002:000965fc $LN11 005da5fc Party.obj + 0002:00096614 $LN9 005da614 Party.obj + 0002:00096618 $LN8 005da618 Party.obj + 0002:00096bbc $LN9 005dabbc Party.obj + 0002:00096de8 $LN5 005dade8 Party.obj + 0002:00096df0 $LN4 005dadf0 Party.obj + 0002:00096dfc $LN3 005dadfc Party.obj + 0002:0009753c $LN11 005db53c Party.obj + 0002:00097544 $LN10 005db544 Party.obj + 0002:00097550 $LN9 005db550 Party.obj + 0002:00098ed4 $LN20 005dced4 RoomEvent.obj + 0002:00099214 $LN31 005dd214 RoomEvent.obj + 0002:0009921c $LN30 005dd21c RoomEvent.obj + 0002:00099234 $LN28 005dd234 RoomEvent.obj + 0002:00099238 $LN27 005dd238 RoomEvent.obj + 0002:000994c8 $LN22 005dd4c8 RoomEvent.obj + 0002:000994d0 $LN21 005dd4d0 RoomEvent.obj + 0002:000994e8 $LN19 005dd4e8 RoomEvent.obj + 0002:000994ef $LN18 005dd4ef RoomEvent.obj + 0002:000994f4 $LN17 005dd4f4 RoomEvent.obj + 0002:00099508 $LN16 005dd508 RoomEvent.obj + 0002:00099790 $LN18 005dd790 RoomEvent.obj + 0002:00099798 $LN17 005dd798 RoomEvent.obj + 0002:000997b0 $LN15 005dd7b0 RoomEvent.obj + 0002:000997b4 $LN14 005dd7b4 RoomEvent.obj + 0002:000998b4 $LN6 005dd8b4 RoomEvent.obj + 0002:000998bc $LN5 005dd8bc RoomEvent.obj + 0002:000998c8 $LN4 005dd8c8 RoomEvent.obj + 0002:00099e4c $LN26 005dde4c RoomEvent.obj + 0002:00099e64 $LN25 005dde64 RoomEvent.obj + 0002:000a089c $LN10 005e489c ServerDlg.obj + 0002:000a08a4 $LN9 005e48a4 ServerDlg.obj + 0002:000a08c8 $LN7 005e48c8 ServerDlg.obj + 0002:000a08d2 $LN6 005e48d2 ServerDlg.obj + 0002:000a08d9 $LN5 005e48d9 ServerDlg.obj + 0002:000a0b68 $LN5 005e4b68 ServerDlg.obj + 0002:000a0b70 $LN4 005e4b70 ServerDlg.obj + 0002:000a0b7c $LN3 005e4b7c ServerDlg.obj + 0002:000a0c70 $LN5 005e4c70 ServerDlg.obj + 0002:000a0c78 $LN4 005e4c78 ServerDlg.obj + 0002:000a0c84 $LN3 005e4c84 ServerDlg.obj + 0002:000a0d90 $LN5 005e4d90 ServerDlg.obj + 0002:000a0d98 $LN4 005e4d98 ServerDlg.obj + 0002:000a0da4 $LN3 005e4da4 ServerDlg.obj + 0002:000a0eb0 $LN5 005e4eb0 ServerDlg.obj + 0002:000a0eb8 $LN4 005e4eb8 ServerDlg.obj + 0002:000a0ec4 $LN3 005e4ec4 ServerDlg.obj + 0002:000a0fd0 $LN5 005e4fd0 ServerDlg.obj + 0002:000a0fd8 $LN4 005e4fd8 ServerDlg.obj + 0002:000a0fe4 $LN3 005e4fe4 ServerDlg.obj + 0002:000a10f0 $LN5 005e50f0 ServerDlg.obj + 0002:000a10f8 $LN4 005e50f8 ServerDlg.obj + 0002:000a1104 $LN3 005e5104 ServerDlg.obj + 0002:000a1210 $LN5 005e5210 ServerDlg.obj + 0002:000a1218 $LN4 005e5218 ServerDlg.obj + 0002:000a1224 $LN3 005e5224 ServerDlg.obj + 0002:000a1330 $LN5 005e5330 ServerDlg.obj + 0002:000a1338 $LN4 005e5338 ServerDlg.obj + 0002:000a1344 $LN3 005e5344 ServerDlg.obj + 0002:000a1450 $LN5 005e5450 ServerDlg.obj + 0002:000a1458 $LN4 005e5458 ServerDlg.obj + 0002:000a1464 $LN3 005e5464 ServerDlg.obj + 0002:000a1570 $LN5 005e5570 ServerDlg.obj + 0002:000a1578 $LN4 005e5578 ServerDlg.obj + 0002:000a1584 $LN3 005e5584 ServerDlg.obj + 0002:000a1690 $LN5 005e5690 ServerDlg.obj + 0002:000a1698 $LN4 005e5698 ServerDlg.obj + 0002:000a16a4 $LN3 005e56a4 ServerDlg.obj + 0002:000a17b0 $LN5 005e57b0 ServerDlg.obj + 0002:000a17b8 $LN4 005e57b8 ServerDlg.obj + 0002:000a17c4 $LN3 005e57c4 ServerDlg.obj + 0002:000a18d0 $LN5 005e58d0 ServerDlg.obj + 0002:000a18d8 $LN4 005e58d8 ServerDlg.obj + 0002:000a18e4 $LN3 005e58e4 ServerDlg.obj + 0002:000a19f0 $LN5 005e59f0 ServerDlg.obj + 0002:000a19f8 $LN4 005e59f8 ServerDlg.obj + 0002:000a1a04 $LN3 005e5a04 ServerDlg.obj + 0002:000a1b10 $LN5 005e5b10 ServerDlg.obj + 0002:000a1b18 $LN4 005e5b18 ServerDlg.obj + 0002:000a1b24 $LN3 005e5b24 ServerDlg.obj + 0002:000a1c30 $LN5 005e5c30 ServerDlg.obj + 0002:000a1c38 $LN4 005e5c38 ServerDlg.obj + 0002:000a1c44 $LN3 005e5c44 ServerDlg.obj + 0002:000a1d50 $LN5 005e5d50 ServerDlg.obj + 0002:000a1d58 $LN4 005e5d58 ServerDlg.obj + 0002:000a1d64 $LN3 005e5d64 ServerDlg.obj + 0002:000a1e70 $LN5 005e5e70 ServerDlg.obj + 0002:000a1e78 $LN4 005e5e78 ServerDlg.obj + 0002:000a1e84 $LN3 005e5e84 ServerDlg.obj + 0002:000a1f90 $LN5 005e5f90 ServerDlg.obj + 0002:000a1f98 $LN4 005e5f98 ServerDlg.obj + 0002:000a1fa4 $LN3 005e5fa4 ServerDlg.obj + 0002:000a20b0 $LN5 005e60b0 ServerDlg.obj + 0002:000a20b8 $LN4 005e60b8 ServerDlg.obj + 0002:000a20c4 $LN3 005e60c4 ServerDlg.obj + 0002:000a22d0 $LN7 005e62d0 ServerDlg.obj + 0002:000a22d8 $LN6 005e62d8 ServerDlg.obj + 0002:000a22e4 $LN4 005e62e4 ServerDlg.obj + 0002:000a25f6 __catch$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$0 005e65f6 f i ServerDlg.obj + 0002:000a2660 $LN13 005e6660 ServerDlg.obj + 0002:000a2668 $LN12 005e6668 ServerDlg.obj + 0002:000a2674 $LN10 005e6674 ServerDlg.obj + 0002:000a28bc $LN7 005e68bc ServerDlg.obj + 0002:000a28c4 $LN6 005e68c4 ServerDlg.obj + 0002:000a28d0 $LN5 005e68d0 ServerDlg.obj + 0002:000a2a7c $LN7 005e6a7c ServerDlg.obj + 0002:000a2a84 $LN6 005e6a84 ServerDlg.obj + 0002:000a2a90 $LN5 005e6a90 ServerDlg.obj + 0002:000a2c3c $LN7 005e6c3c ServerDlg.obj + 0002:000a2c44 $LN6 005e6c44 ServerDlg.obj + 0002:000a2c50 $LN5 005e6c50 ServerDlg.obj + 0002:000a2dfc $LN7 005e6dfc ServerDlg.obj + 0002:000a2e04 $LN6 005e6e04 ServerDlg.obj + 0002:000a2e10 $LN5 005e6e10 ServerDlg.obj + 0002:000a2fbc $LN7 005e6fbc ServerDlg.obj + 0002:000a2fc4 $LN6 005e6fc4 ServerDlg.obj + 0002:000a2fd0 $LN5 005e6fd0 ServerDlg.obj + 0002:000a317c $LN7 005e717c ServerDlg.obj + 0002:000a3184 $LN6 005e7184 ServerDlg.obj + 0002:000a3190 $LN5 005e7190 ServerDlg.obj + 0002:000a333c $LN7 005e733c ServerDlg.obj + 0002:000a3344 $LN6 005e7344 ServerDlg.obj + 0002:000a3350 $LN5 005e7350 ServerDlg.obj + 0002:000a34fc $LN7 005e74fc ServerDlg.obj + 0002:000a3504 $LN6 005e7504 ServerDlg.obj + 0002:000a3510 $LN5 005e7510 ServerDlg.obj + 0002:000a36bc $LN7 005e76bc ServerDlg.obj + 0002:000a36c4 $LN6 005e76c4 ServerDlg.obj + 0002:000a36d0 $LN5 005e76d0 ServerDlg.obj + 0002:000a387c $LN7 005e787c ServerDlg.obj + 0002:000a3884 $LN6 005e7884 ServerDlg.obj + 0002:000a3890 $LN5 005e7890 ServerDlg.obj + 0002:000a3a3c $LN7 005e7a3c ServerDlg.obj + 0002:000a3a44 $LN6 005e7a44 ServerDlg.obj + 0002:000a3a50 $LN5 005e7a50 ServerDlg.obj + 0002:000a3bfc $LN7 005e7bfc ServerDlg.obj + 0002:000a3c04 $LN6 005e7c04 ServerDlg.obj + 0002:000a3c10 $LN5 005e7c10 ServerDlg.obj + 0002:000a3dbc $LN7 005e7dbc ServerDlg.obj + 0002:000a3dc4 $LN6 005e7dc4 ServerDlg.obj + 0002:000a3dd0 $LN5 005e7dd0 ServerDlg.obj + 0002:000a3f7c $LN7 005e7f7c ServerDlg.obj + 0002:000a3f84 $LN6 005e7f84 ServerDlg.obj + 0002:000a3f90 $LN5 005e7f90 ServerDlg.obj + 0002:000a413c $LN7 005e813c ServerDlg.obj + 0002:000a4144 $LN6 005e8144 ServerDlg.obj + 0002:000a4150 $LN5 005e8150 ServerDlg.obj + 0002:000a42fc $LN7 005e82fc ServerDlg.obj + 0002:000a4304 $LN6 005e8304 ServerDlg.obj + 0002:000a4310 $LN5 005e8310 ServerDlg.obj + 0002:000a44bc $LN7 005e84bc ServerDlg.obj + 0002:000a44c4 $LN6 005e84c4 ServerDlg.obj + 0002:000a44d0 $LN5 005e84d0 ServerDlg.obj + 0002:000a46b4 $LN9 005e86b4 ServerDlg.obj + 0002:000a46bc $LN8 005e86bc ServerDlg.obj + 0002:000a46d4 $LN6 005e86d4 ServerDlg.obj + 0002:000a46dd $LN5 005e86dd ServerDlg.obj + 0002:000a489c $LN7 005e889c ServerDlg.obj + 0002:000a48a4 $LN6 005e88a4 ServerDlg.obj + 0002:000a48b0 $LN5 005e88b0 ServerDlg.obj + 0002:000a4b84 __catch$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z$0 005e8b84 f i ServerDlg.obj + 0002:000a6ae4 $LN6 005eaae4 ServerDlg.obj + 0002:000a6aec $LN5 005eaaec ServerDlg.obj + 0002:000a6af8 $LN4 005eaaf8 ServerDlg.obj + 0002:000a6bb4 $LN6 005eabb4 ServerDlg.obj + 0002:000a6bbc $LN5 005eabbc ServerDlg.obj + 0002:000a6bc8 $LN4 005eabc8 ServerDlg.obj + 0002:000a6c84 $LN6 005eac84 ServerDlg.obj + 0002:000a6c8c $LN5 005eac8c ServerDlg.obj + 0002:000a6c98 $LN4 005eac98 ServerDlg.obj + 0002:000a6d54 $LN6 005ead54 ServerDlg.obj + 0002:000a6d5c $LN5 005ead5c ServerDlg.obj + 0002:000a6d68 $LN4 005ead68 ServerDlg.obj + 0002:000a6e24 $LN6 005eae24 ServerDlg.obj + 0002:000a6e2c $LN5 005eae2c ServerDlg.obj + 0002:000a6e38 $LN4 005eae38 ServerDlg.obj + 0002:000a6ef4 $LN6 005eaef4 ServerDlg.obj + 0002:000a6efc $LN5 005eaefc ServerDlg.obj + 0002:000a6f08 $LN4 005eaf08 ServerDlg.obj + 0002:000a6fc4 $LN6 005eafc4 ServerDlg.obj + 0002:000a6fcc $LN5 005eafcc ServerDlg.obj + 0002:000a6fd8 $LN4 005eafd8 ServerDlg.obj + 0002:000a7104 $LN9 005eb104 ServerDlg.obj + 0002:000a710c $LN8 005eb10c ServerDlg.obj + 0002:000a7118 $LN7 005eb118 ServerDlg.obj + 0002:000a7264 $LN9 005eb264 ServerDlg.obj + 0002:000a726c $LN8 005eb26c ServerDlg.obj + 0002:000a7278 $LN7 005eb278 ServerDlg.obj + 0002:000a73c4 $LN9 005eb3c4 ServerDlg.obj + 0002:000a73cc $LN8 005eb3cc ServerDlg.obj + 0002:000a73d8 $LN7 005eb3d8 ServerDlg.obj + 0002:000a7524 $LN9 005eb524 ServerDlg.obj + 0002:000a752c $LN8 005eb52c ServerDlg.obj + 0002:000a7538 $LN7 005eb538 ServerDlg.obj + 0002:000a7684 $LN9 005eb684 ServerDlg.obj + 0002:000a768c $LN8 005eb68c ServerDlg.obj + 0002:000a7698 $LN7 005eb698 ServerDlg.obj + 0002:000a77e4 $LN9 005eb7e4 ServerDlg.obj + 0002:000a77ec $LN8 005eb7ec ServerDlg.obj + 0002:000a77f8 $LN7 005eb7f8 ServerDlg.obj + 0002:000a7944 $LN9 005eb944 ServerDlg.obj + 0002:000a794c $LN8 005eb94c ServerDlg.obj + 0002:000a7958 $LN7 005eb958 ServerDlg.obj + 0002:000a7aa4 $LN9 005ebaa4 ServerDlg.obj + 0002:000a7aac $LN8 005ebaac ServerDlg.obj + 0002:000a7ab8 $LN7 005ebab8 ServerDlg.obj + 0002:000aa56c $LN7 005ee56c ServerDlg.obj + 0002:000aa574 $LN6 005ee574 ServerDlg.obj + 0002:000aa580 $LN5 005ee580 ServerDlg.obj + 0002:000ad44c $LN8 005f144c ServerDlg.obj + 0002:000ad454 $LN7 005f1454 ServerDlg.obj + 0002:000ad460 $LN6 005f1460 ServerDlg.obj + 0002:000ad55c $LN8 005f155c ServerDlg.obj + 0002:000ad564 $LN7 005f1564 ServerDlg.obj + 0002:000ad570 $LN6 005f1570 ServerDlg.obj + 0002:000ad66c $LN8 005f166c ServerDlg.obj + 0002:000ad674 $LN7 005f1674 ServerDlg.obj + 0002:000ad680 $LN6 005f1680 ServerDlg.obj + 0002:000ad77c $LN8 005f177c ServerDlg.obj + 0002:000ad784 $LN7 005f1784 ServerDlg.obj + 0002:000ad790 $LN6 005f1790 ServerDlg.obj + 0002:000ad88c $LN8 005f188c ServerDlg.obj + 0002:000ad894 $LN7 005f1894 ServerDlg.obj + 0002:000ad8a0 $LN6 005f18a0 ServerDlg.obj + 0002:000ad99c $LN8 005f199c ServerDlg.obj + 0002:000ad9a4 $LN7 005f19a4 ServerDlg.obj + 0002:000ad9b0 $LN6 005f19b0 ServerDlg.obj + 0002:000adaac $LN8 005f1aac ServerDlg.obj + 0002:000adab4 $LN7 005f1ab4 ServerDlg.obj + 0002:000adac0 $LN6 005f1ac0 ServerDlg.obj + 0002:000adbbc $LN8 005f1bbc ServerDlg.obj + 0002:000adbc4 $LN7 005f1bc4 ServerDlg.obj + 0002:000adbd0 $LN6 005f1bd0 ServerDlg.obj + 0002:000adccc $LN8 005f1ccc ServerDlg.obj + 0002:000adcd4 $LN7 005f1cd4 ServerDlg.obj + 0002:000adce0 $LN6 005f1ce0 ServerDlg.obj + 0002:000adddc $LN8 005f1ddc ServerDlg.obj + 0002:000adde4 $LN7 005f1de4 ServerDlg.obj + 0002:000addf0 $LN6 005f1df0 ServerDlg.obj + 0002:000adeec $LN8 005f1eec ServerDlg.obj + 0002:000adef4 $LN7 005f1ef4 ServerDlg.obj + 0002:000adf00 $LN6 005f1f00 ServerDlg.obj + 0002:000adffc $LN8 005f1ffc ServerDlg.obj + 0002:000ae004 $LN7 005f2004 ServerDlg.obj + 0002:000ae010 $LN6 005f2010 ServerDlg.obj + 0002:000ae10c $LN8 005f210c ServerDlg.obj + 0002:000ae114 $LN7 005f2114 ServerDlg.obj + 0002:000ae120 $LN6 005f2120 ServerDlg.obj + 0002:000ae21c $LN8 005f221c ServerDlg.obj + 0002:000ae224 $LN7 005f2224 ServerDlg.obj + 0002:000ae230 $LN6 005f2230 ServerDlg.obj + 0002:000ae32c $LN8 005f232c ServerDlg.obj + 0002:000ae334 $LN7 005f2334 ServerDlg.obj + 0002:000ae340 $LN6 005f2340 ServerDlg.obj + 0002:000ae43c $LN8 005f243c ServerDlg.obj + 0002:000ae444 $LN7 005f2444 ServerDlg.obj + 0002:000ae450 $LN6 005f2450 ServerDlg.obj + 0002:000ae54c $LN8 005f254c ServerDlg.obj + 0002:000ae554 $LN7 005f2554 ServerDlg.obj + 0002:000ae560 $LN6 005f2560 ServerDlg.obj + 0002:000ae65c $LN8 005f265c ServerDlg.obj + 0002:000ae664 $LN7 005f2664 ServerDlg.obj + 0002:000ae670 $LN6 005f2670 ServerDlg.obj + 0002:000ae76c $LN8 005f276c ServerDlg.obj + 0002:000ae774 $LN7 005f2774 ServerDlg.obj + 0002:000ae780 $LN6 005f2780 ServerDlg.obj + 0002:000bb728 $LN5 005ff728 ServerDlg.obj + 0002:000bb730 $LN4 005ff730 ServerDlg.obj + 0002:000bb73c $LN3 005ff73c ServerDlg.obj + 0002:000bd0a0 $LN5 006010a0 ServerDlg.obj + 0002:000bd0a8 $LN4 006010a8 ServerDlg.obj + 0002:000bd0b4 $LN3 006010b4 ServerDlg.obj + 0002:000bd180 $LN5 00601180 ServerDlg.obj + 0002:000bd188 $LN4 00601188 ServerDlg.obj + 0002:000bd194 $LN3 00601194 ServerDlg.obj + 0002:000bd260 $LN5 00601260 ServerDlg.obj + 0002:000bd268 $LN4 00601268 ServerDlg.obj + 0002:000bd274 $LN3 00601274 ServerDlg.obj + 0002:000bd340 $LN5 00601340 ServerDlg.obj + 0002:000bd348 $LN4 00601348 ServerDlg.obj + 0002:000bd354 $LN3 00601354 ServerDlg.obj + 0002:000bd420 $LN5 00601420 ServerDlg.obj + 0002:000bd428 $LN4 00601428 ServerDlg.obj + 0002:000bd434 $LN3 00601434 ServerDlg.obj + 0002:000bd500 $LN5 00601500 ServerDlg.obj + 0002:000bd508 $LN4 00601508 ServerDlg.obj + 0002:000bd514 $LN3 00601514 ServerDlg.obj + 0002:000bd5e0 $LN5 006015e0 ServerDlg.obj + 0002:000bd5e8 $LN4 006015e8 ServerDlg.obj + 0002:000bd5f4 $LN3 006015f4 ServerDlg.obj + 0002:000bd6c0 $LN5 006016c0 ServerDlg.obj + 0002:000bd6c8 $LN4 006016c8 ServerDlg.obj + 0002:000bd6d4 $LN3 006016d4 ServerDlg.obj + 0002:000bd7a0 $LN5 006017a0 ServerDlg.obj + 0002:000bd7a8 $LN4 006017a8 ServerDlg.obj + 0002:000bd7b4 $LN3 006017b4 ServerDlg.obj + 0002:000bd880 $LN5 00601880 ServerDlg.obj + 0002:000bd888 $LN4 00601888 ServerDlg.obj + 0002:000bd894 $LN3 00601894 ServerDlg.obj + 0002:000bd960 $LN5 00601960 ServerDlg.obj + 0002:000bd968 $LN4 00601968 ServerDlg.obj + 0002:000bd974 $LN3 00601974 ServerDlg.obj + 0002:000bda40 $LN5 00601a40 ServerDlg.obj + 0002:000bda48 $LN4 00601a48 ServerDlg.obj + 0002:000bda54 $LN3 00601a54 ServerDlg.obj + 0002:000bdb20 $LN5 00601b20 ServerDlg.obj + 0002:000bdb28 $LN4 00601b28 ServerDlg.obj + 0002:000bdb34 $LN3 00601b34 ServerDlg.obj + 0002:000bdc00 $LN5 00601c00 ServerDlg.obj + 0002:000bdc08 $LN4 00601c08 ServerDlg.obj + 0002:000bdc14 $LN3 00601c14 ServerDlg.obj + 0002:000bdce0 $LN5 00601ce0 ServerDlg.obj + 0002:000bdce8 $LN4 00601ce8 ServerDlg.obj + 0002:000bdcf4 $LN3 00601cf4 ServerDlg.obj + 0002:000bddc0 $LN5 00601dc0 ServerDlg.obj + 0002:000bddc8 $LN4 00601dc8 ServerDlg.obj + 0002:000bddd4 $LN3 00601dd4 ServerDlg.obj + 0002:000bdea0 $LN5 00601ea0 ServerDlg.obj + 0002:000bdea8 $LN4 00601ea8 ServerDlg.obj + 0002:000bdeb4 $LN3 00601eb4 ServerDlg.obj + 0002:000bdf80 $LN5 00601f80 ServerDlg.obj + 0002:000bdf88 $LN4 00601f88 ServerDlg.obj + 0002:000bdf94 $LN3 00601f94 ServerDlg.obj + 0002:000be060 $LN5 00602060 ServerDlg.obj + 0002:000be068 $LN4 00602068 ServerDlg.obj + 0002:000be074 $LN3 00602074 ServerDlg.obj + 0002:000be140 $LN5 00602140 ServerDlg.obj + 0002:000be148 $LN4 00602148 ServerDlg.obj + 0002:000be154 $LN3 00602154 ServerDlg.obj + 0002:000be220 $LN5 00602220 ServerDlg.obj + 0002:000be228 $LN4 00602228 ServerDlg.obj + 0002:000be234 $LN3 00602234 ServerDlg.obj + 0002:000c06b0 $LN5 006046b0 ServerDlg.obj + 0002:000c06b8 $LN4 006046b8 ServerDlg.obj + 0002:000c06c4 $LN3 006046c4 ServerDlg.obj + 0002:000c152c $LN6 0060552c ServerDlg.obj + 0002:000c1534 $LN5 00605534 ServerDlg.obj + 0002:000c1540 $LN3 00605540 ServerDlg.obj + 0002:000c163c $LN6 0060563c ServerDlg.obj + 0002:000c1644 $LN5 00605644 ServerDlg.obj + 0002:000c1650 $LN3 00605650 ServerDlg.obj + 0002:000c2130 $LN24 00606130 ServerDlg.obj + 0002:000c2138 $LN23 00606138 ServerDlg.obj + 0002:000c215c $LN21 0060615c ServerDlg.obj + 0002:000c2160 $LN20 00606160 ServerDlg.obj + 0002:000c2164 $LN19 00606164 ServerDlg.obj + 0002:000c5838 $LN9 00609838 ServerDlg.obj + 0002:000c5840 $LN8 00609840 ServerDlg.obj + 0002:000c584c $LN6 0060984c ServerDlg.obj + 0002:000c5958 $LN9 00609958 ServerDlg.obj + 0002:000c5960 $LN8 00609960 ServerDlg.obj + 0002:000c596c $LN6 0060996c ServerDlg.obj + 0002:000c5a78 $LN9 00609a78 ServerDlg.obj + 0002:000c5a80 $LN8 00609a80 ServerDlg.obj + 0002:000c5a8c $LN6 00609a8c ServerDlg.obj + 0002:000c5b98 $LN9 00609b98 ServerDlg.obj + 0002:000c5ba0 $LN8 00609ba0 ServerDlg.obj + 0002:000c5bac $LN6 00609bac ServerDlg.obj + 0002:000c5d18 $LN9 00609d18 ServerDlg.obj + 0002:000c5d20 $LN8 00609d20 ServerDlg.obj + 0002:000c5d2c $LN6 00609d2c ServerDlg.obj + 0002:000c5e38 $LN9 00609e38 ServerDlg.obj + 0002:000c5e40 $LN8 00609e40 ServerDlg.obj + 0002:000c5e4c $LN6 00609e4c ServerDlg.obj + 0002:000c5f58 $LN9 00609f58 ServerDlg.obj + 0002:000c5f60 $LN8 00609f60 ServerDlg.obj + 0002:000c5f6c $LN6 00609f6c ServerDlg.obj + 0002:000c6078 $LN9 0060a078 ServerDlg.obj + 0002:000c6080 $LN8 0060a080 ServerDlg.obj + 0002:000c608c $LN6 0060a08c ServerDlg.obj + 0002:000c6198 $LN9 0060a198 ServerDlg.obj + 0002:000c61a0 $LN8 0060a1a0 ServerDlg.obj + 0002:000c61ac $LN6 0060a1ac ServerDlg.obj + 0002:000c62b8 $LN9 0060a2b8 ServerDlg.obj + 0002:000c62c0 $LN8 0060a2c0 ServerDlg.obj + 0002:000c62cc $LN6 0060a2cc ServerDlg.obj + 0002:000c63d8 $LN9 0060a3d8 ServerDlg.obj + 0002:000c63e0 $LN8 0060a3e0 ServerDlg.obj + 0002:000c63ec $LN6 0060a3ec ServerDlg.obj + 0002:000c64f8 $LN9 0060a4f8 ServerDlg.obj + 0002:000c6500 $LN8 0060a500 ServerDlg.obj + 0002:000c650c $LN6 0060a50c ServerDlg.obj + 0002:000c6618 $LN9 0060a618 ServerDlg.obj + 0002:000c6620 $LN8 0060a620 ServerDlg.obj + 0002:000c662c $LN6 0060a62c ServerDlg.obj + 0002:000c6738 $LN9 0060a738 ServerDlg.obj + 0002:000c6740 $LN8 0060a740 ServerDlg.obj + 0002:000c674c $LN6 0060a74c ServerDlg.obj + 0002:000c6858 $LN9 0060a858 ServerDlg.obj + 0002:000c6860 $LN8 0060a860 ServerDlg.obj + 0002:000c686c $LN6 0060a86c ServerDlg.obj + 0002:000c6978 $LN9 0060a978 ServerDlg.obj + 0002:000c6980 $LN8 0060a980 ServerDlg.obj + 0002:000c698c $LN6 0060a98c ServerDlg.obj + 0002:000c6a98 $LN9 0060aa98 ServerDlg.obj + 0002:000c6aa0 $LN8 0060aaa0 ServerDlg.obj + 0002:000c6aac $LN6 0060aaac ServerDlg.obj + 0002:000c7e48 $LN9 0060be48 ServerDlg.obj + 0002:000c7e50 $LN8 0060be50 ServerDlg.obj + 0002:000c7e5c $LN6 0060be5c ServerDlg.obj + 0002:000c7f68 $LN9 0060bf68 ServerDlg.obj + 0002:000c7f70 $LN8 0060bf70 ServerDlg.obj + 0002:000c7f7c $LN6 0060bf7c ServerDlg.obj + 0002:000c9244 $LN29 0060d244 ServerDlg.obj + 0002:000c924c $LN28 0060d24c ServerDlg.obj + 0002:000c9288 $LN26 0060d288 ServerDlg.obj + 0002:000c9293 $LN25 0060d293 ServerDlg.obj + 0002:000c9297 $LN24 0060d297 ServerDlg.obj + 0002:000c929d $LN23 0060d29d ServerDlg.obj + 0002:000c92a1 $LN22 0060d2a1 ServerDlg.obj + 0002:000c9584 $LN17 0060d584 ServerDlg.obj + 0002:000c958c $LN16 0060d58c ServerDlg.obj + 0002:000c95a4 $LN14 0060d5a4 ServerDlg.obj + 0002:000c95a8 $LN13 0060d5a8 ServerDlg.obj + 0002:000c9b44 $LN50 0060db44 ServerDlg.obj + 0002:000c9b4c $LN49 0060db4c ServerDlg.obj + 0002:000c9ba0 $LN47 0060dba0 ServerDlg.obj + 0002:000c9ba4 $LN46 0060dba4 ServerDlg.obj + 0002:000c9bb6 $LN45 0060dbb6 ServerDlg.obj + 0002:000c9bbb $LN44 0060dbbb ServerDlg.obj + 0002:000c9bc0 $LN43 0060dbc0 ServerDlg.obj + 0002:000c9bc5 $LN42 0060dbc5 ServerDlg.obj + 0002:000c9bcd $LN41 0060dbcd ServerDlg.obj + 0002:000c9f84 $LN23 0060df84 ServerDlg.obj + 0002:000c9f8c $LN22 0060df8c ServerDlg.obj + 0002:000c9fb0 $LN20 0060dfb0 ServerDlg.obj + 0002:000c9fb4 $LN19 0060dfb4 ServerDlg.obj + 0002:000c9fb8 $LN18 0060dfb8 ServerDlg.obj + 0002:000ca538 $LN37 0060e538 ServerDlg.obj + 0002:000ca540 $LN36 0060e540 ServerDlg.obj + 0002:000ca594 $LN34 0060e594 ServerDlg.obj + 0002:000ca599 $LN33 0060e599 ServerDlg.obj + 0002:000ca5a0 $LN32 0060e5a0 ServerDlg.obj + 0002:000ca5a6 $LN31 0060e5a6 ServerDlg.obj + 0002:000ca5b1 $LN30 0060e5b1 ServerDlg.obj + 0002:000ca5b5 $LN29 0060e5b5 ServerDlg.obj + 0002:000ca5ba $LN28 0060e5ba ServerDlg.obj + 0002:000ca878 $LN15 0060e878 ServerDlg.obj + 0002:000ca880 $LN14 0060e880 ServerDlg.obj + 0002:000ca898 $LN12 0060e898 ServerDlg.obj + 0002:000ca89c $LN11 0060e89c ServerDlg.obj + 0002:000caa88 $LN15 0060ea88 ServerDlg.obj + 0002:000caa90 $LN14 0060ea90 ServerDlg.obj + 0002:000caaa8 $LN12 0060eaa8 ServerDlg.obj + 0002:000caaac $LN11 0060eaac ServerDlg.obj + 0002:000cacc0 $LN17 0060ecc0 ServerDlg.obj + 0002:000cacc8 $LN16 0060ecc8 ServerDlg.obj + 0002:000cace0 $LN14 0060ece0 ServerDlg.obj + 0002:000cace4 $LN13 0060ece4 ServerDlg.obj + 0002:000caef0 $LN17 0060eef0 ServerDlg.obj + 0002:000caef8 $LN16 0060eef8 ServerDlg.obj + 0002:000caf10 $LN14 0060ef10 ServerDlg.obj + 0002:000caf14 $LN13 0060ef14 ServerDlg.obj + 0002:000cb108 $LN15 0060f108 ServerDlg.obj + 0002:000cb110 $LN14 0060f110 ServerDlg.obj + 0002:000cb128 $LN12 0060f128 ServerDlg.obj + 0002:000cb12c $LN11 0060f12c ServerDlg.obj + 0002:000cb318 $LN15 0060f318 ServerDlg.obj + 0002:000cb320 $LN14 0060f320 ServerDlg.obj + 0002:000cb338 $LN12 0060f338 ServerDlg.obj + 0002:000cb33c $LN11 0060f33c ServerDlg.obj + 0002:000cb528 $LN15 0060f528 ServerDlg.obj + 0002:000cb530 $LN14 0060f530 ServerDlg.obj + 0002:000cb548 $LN12 0060f548 ServerDlg.obj + 0002:000cb54c $LN11 0060f54c ServerDlg.obj + 0002:000cb738 $LN15 0060f738 ServerDlg.obj + 0002:000cb740 $LN14 0060f740 ServerDlg.obj + 0002:000cb758 $LN12 0060f758 ServerDlg.obj + 0002:000cb75c $LN11 0060f75c ServerDlg.obj + 0002:000cb948 $LN15 0060f948 ServerDlg.obj + 0002:000cb950 $LN14 0060f950 ServerDlg.obj + 0002:000cb968 $LN12 0060f968 ServerDlg.obj + 0002:000cb96c $LN11 0060f96c ServerDlg.obj + 0002:000cbb58 $LN15 0060fb58 ServerDlg.obj + 0002:000cbb60 $LN14 0060fb60 ServerDlg.obj + 0002:000cbb78 $LN12 0060fb78 ServerDlg.obj + 0002:000cbb7c $LN11 0060fb7c ServerDlg.obj + 0002:000cbd80 $LN17 0060fd80 ServerDlg.obj + 0002:000cbd88 $LN16 0060fd88 ServerDlg.obj + 0002:000cbda0 $LN14 0060fda0 ServerDlg.obj + 0002:000cbda4 $LN13 0060fda4 ServerDlg.obj + 0002:000cbf98 $LN15 0060ff98 ServerDlg.obj + 0002:000cbfa0 $LN14 0060ffa0 ServerDlg.obj + 0002:000cbfb8 $LN12 0060ffb8 ServerDlg.obj + 0002:000cbfbc $LN11 0060ffbc ServerDlg.obj + 0002:000cc1a8 $LN15 006101a8 ServerDlg.obj + 0002:000cc1b0 $LN14 006101b0 ServerDlg.obj + 0002:000cc1c8 $LN12 006101c8 ServerDlg.obj + 0002:000cc1cc $LN11 006101cc ServerDlg.obj + 0002:000cc3b8 $LN15 006103b8 ServerDlg.obj + 0002:000cc3c0 $LN14 006103c0 ServerDlg.obj + 0002:000cc3d8 $LN12 006103d8 ServerDlg.obj + 0002:000cc3dc $LN11 006103dc ServerDlg.obj + 0002:000cc5e0 $LN17 006105e0 ServerDlg.obj + 0002:000cc5e8 $LN16 006105e8 ServerDlg.obj + 0002:000cc600 $LN14 00610600 ServerDlg.obj + 0002:000cc604 $LN13 00610604 ServerDlg.obj + 0002:000cc820 $LN17 00610820 ServerDlg.obj + 0002:000cc828 $LN16 00610828 ServerDlg.obj + 0002:000cc840 $LN14 00610840 ServerDlg.obj + 0002:000cc844 $LN13 00610844 ServerDlg.obj + 0002:000ccc20 $LN34 00610c20 ServerDlg.obj + 0002:000ccc28 $LN33 00610c28 ServerDlg.obj + 0002:000ccc4c $LN31 00610c4c ServerDlg.obj + 0002:000ccc50 $LN30 00610c50 ServerDlg.obj + 0002:000ccc55 $LN29 00610c55 ServerDlg.obj + 0002:000ccea4 $LN13 00610ea4 ServerDlg.obj + 0002:000cceac $LN12 00610eac ServerDlg.obj + 0002:000ccec4 $LN10 00610ec4 ServerDlg.obj + 0002:000ccec8 $LN9 00610ec8 ServerDlg.obj + 0002:000cd0d4 $LN15 006110d4 ServerDlg.obj + 0002:000cd0dc $LN14 006110dc ServerDlg.obj + 0002:000cd0f4 $LN12 006110f4 ServerDlg.obj + 0002:000cd0f8 $LN11 006110f8 ServerDlg.obj + 0002:000cd310 $LN14 00611310 ServerDlg.obj + 0002:000cd318 $LN13 00611318 ServerDlg.obj + 0002:000cd330 $LN11 00611330 ServerDlg.obj + 0002:000cd334 $LN10 00611334 ServerDlg.obj + 0002:000ce328 $LN13 00612328 ServerDlg.obj + 0002:000ce330 $LN12 00612330 ServerDlg.obj + 0002:000ce33c $LN11 0061233c ServerDlg.obj + 0002:000cf12c $LN14 0061312c ServerDlg.obj + 0002:000cf134 $LN13 00613134 ServerDlg.obj + 0002:000cf14c $LN11 0061314c ServerDlg.obj + 0002:000cf153 $LN10 00613153 ServerDlg.obj + 0002:000cfa80 $LN18 00613a80 ServerDlg.obj + 0002:000cfa88 $LN17 00613a88 ServerDlg.obj + 0002:000cfa94 $LN15 00613a94 ServerDlg.obj + 0002:000cfbcc $LN5 00613bcc ServerDlg.obj + 0002:000cfbd4 $LN4 00613bd4 ServerDlg.obj + 0002:000cfbe0 $LN3 00613be0 ServerDlg.obj + 0002:000d05a4 $LN12 006145a4 ServerDlg.obj + 0002:000d05ac $LN11 006145ac ServerDlg.obj + 0002:000d05c4 $LN9 006145c4 ServerDlg.obj + 0002:000d05c8 $LN8 006145c8 ServerDlg.obj + 0002:000d0764 $LN12 00614764 ServerDlg.obj + 0002:000d076c $LN11 0061476c ServerDlg.obj + 0002:000d0784 $LN9 00614784 ServerDlg.obj + 0002:000d0788 $LN8 00614788 ServerDlg.obj + 0002:000d0924 $LN12 00614924 ServerDlg.obj + 0002:000d092c $LN11 0061492c ServerDlg.obj + 0002:000d0944 $LN9 00614944 ServerDlg.obj + 0002:000d0948 $LN8 00614948 ServerDlg.obj + 0002:000d0ae4 $LN12 00614ae4 ServerDlg.obj + 0002:000d0aec $LN11 00614aec ServerDlg.obj + 0002:000d0b04 $LN9 00614b04 ServerDlg.obj + 0002:000d0b08 $LN8 00614b08 ServerDlg.obj + 0002:000d0d34 $LN12 00614d34 ServerDlg.obj + 0002:000d0d3c $LN11 00614d3c ServerDlg.obj + 0002:000d0d48 $LN9 00614d48 ServerDlg.obj + 0002:000d0f04 $LN12 00614f04 ServerDlg.obj + 0002:000d0f0c $LN11 00614f0c ServerDlg.obj + 0002:000d0f18 $LN9 00614f18 ServerDlg.obj + 0002:000d10d4 $LN12 006150d4 ServerDlg.obj + 0002:000d10dc $LN11 006150dc ServerDlg.obj + 0002:000d10e8 $LN9 006150e8 ServerDlg.obj + 0002:000d12a4 $LN12 006152a4 ServerDlg.obj + 0002:000d12ac $LN11 006152ac ServerDlg.obj + 0002:000d12b8 $LN9 006152b8 ServerDlg.obj + 0002:000d1474 $LN12 00615474 ServerDlg.obj + 0002:000d147c $LN11 0061547c ServerDlg.obj + 0002:000d1488 $LN9 00615488 ServerDlg.obj + 0002:000d1644 $LN12 00615644 ServerDlg.obj + 0002:000d164c $LN11 0061564c ServerDlg.obj + 0002:000d1658 $LN9 00615658 ServerDlg.obj + 0002:000d1814 $LN12 00615814 ServerDlg.obj + 0002:000d181c $LN11 0061581c ServerDlg.obj + 0002:000d1828 $LN9 00615828 ServerDlg.obj + 0002:000d19e4 $LN12 006159e4 ServerDlg.obj + 0002:000d19ec $LN11 006159ec ServerDlg.obj + 0002:000d19f8 $LN9 006159f8 ServerDlg.obj + 0002:000d1bb4 $LN12 00615bb4 ServerDlg.obj + 0002:000d1bbc $LN11 00615bbc ServerDlg.obj + 0002:000d1bc8 $LN9 00615bc8 ServerDlg.obj + 0002:000d1e14 $LN12 00615e14 ServerDlg.obj + 0002:000d1e1c $LN11 00615e1c ServerDlg.obj + 0002:000d1e28 $LN9 00615e28 ServerDlg.obj + 0002:000d2110 $LN21 00616110 ServerDlg.obj + 0002:000d2118 $LN20 00616118 ServerDlg.obj + 0002:000d2130 $LN18 00616130 ServerDlg.obj + 0002:000d213e $LN17 0061613e ServerDlg.obj + 0002:000d2334 $LN12 00616334 ServerDlg.obj + 0002:000d233c $LN11 0061633c ServerDlg.obj + 0002:000d2348 $LN9 00616348 ServerDlg.obj + 0002:000d2724 $LN14 00616724 ServerDlg.obj + 0002:000d272c $LN13 0061672c ServerDlg.obj + 0002:000d2744 $LN11 00616744 ServerDlg.obj + 0002:000d2749 $LN10 00616749 ServerDlg.obj + 0002:000d29f4 $LN12 006169f4 ServerDlg.obj + 0002:000d29fc $LN11 006169fc ServerDlg.obj + 0002:000d2a08 $LN9 00616a08 ServerDlg.obj + 0002:000d2af4 $LN6 00616af4 ServerDlg.obj + 0002:000d2afc $LN5 00616afc ServerDlg.obj + 0002:000d2b08 $LN4 00616b08 ServerDlg.obj + 0002:000d3510 $LN11 00617510 ServerDlg.obj + 0002:000d3518 $LN10 00617518 ServerDlg.obj + 0002:000d3530 $LN8 00617530 ServerDlg.obj + 0002:000d3534 $LN7 00617534 ServerDlg.obj + 0002:000d382c $LN15 0061782c ServerDlg.obj + 0002:000d3834 $LN14 00617834 ServerDlg.obj + 0002:000d384c $LN12 0061784c ServerDlg.obj + 0002:000d384e $LN11 0061784e ServerDlg.obj + 0002:000d4a1c $LN66 00618a1c ServerDlg.obj + 0002:000d4a24 $LN65 00618a24 ServerDlg.obj + 0002:000d4a54 $LN63 00618a54 ServerDlg.obj + 0002:000d4a5c $LN62 00618a5c ServerDlg.obj + 0002:000d4a61 $LN61 00618a61 ServerDlg.obj + 0002:000d4a68 $LN60 00618a68 ServerDlg.obj + 0002:000d5204 $LN29 00619204 ServerDlg.obj + 0002:000d520c $LN28 0061920c ServerDlg.obj + 0002:000d5230 $LN26 00619230 ServerDlg.obj + 0002:000d5234 $LN25 00619234 ServerDlg.obj + 0002:000d5242 $LN24 00619242 ServerDlg.obj + 0002:000d55c0 $LN14 006195c0 ServerDlg.obj + 0002:000d55c8 $LN13 006195c8 ServerDlg.obj + 0002:000d55e0 $LN11 006195e0 ServerDlg.obj + 0002:000d55e4 $LN10 006195e4 ServerDlg.obj + 0002:000d5748 $LN8 00619748 ServerDlg.obj + 0002:000d5750 $LN7 00619750 ServerDlg.obj + 0002:000d575c $LN5 0061975c ServerDlg.obj + 0002:000d5898 $LN8 00619898 ServerDlg.obj + 0002:000d58a0 $LN7 006198a0 ServerDlg.obj + 0002:000d58ac $LN5 006198ac ServerDlg.obj + 0002:000d59e8 $LN8 006199e8 ServerDlg.obj + 0002:000d59f0 $LN7 006199f0 ServerDlg.obj + 0002:000d59fc $LN5 006199fc ServerDlg.obj + 0002:000d5b38 $LN8 00619b38 ServerDlg.obj + 0002:000d5b40 $LN7 00619b40 ServerDlg.obj + 0002:000d5b4c $LN5 00619b4c ServerDlg.obj + 0002:000d5c88 $LN8 00619c88 ServerDlg.obj + 0002:000d5c90 $LN7 00619c90 ServerDlg.obj + 0002:000d5c9c $LN5 00619c9c ServerDlg.obj + 0002:000d5dd8 $LN8 00619dd8 ServerDlg.obj + 0002:000d5de0 $LN7 00619de0 ServerDlg.obj + 0002:000d5dec $LN5 00619dec ServerDlg.obj + 0002:000d5f28 $LN8 00619f28 ServerDlg.obj + 0002:000d5f30 $LN7 00619f30 ServerDlg.obj + 0002:000d5f3c $LN5 00619f3c ServerDlg.obj + 0002:000d6078 $LN8 0061a078 ServerDlg.obj + 0002:000d6080 $LN7 0061a080 ServerDlg.obj + 0002:000d608c $LN5 0061a08c ServerDlg.obj + 0002:000d61c8 $LN8 0061a1c8 ServerDlg.obj + 0002:000d61d0 $LN7 0061a1d0 ServerDlg.obj + 0002:000d61dc $LN5 0061a1dc ServerDlg.obj + 0002:000d6318 $LN8 0061a318 ServerDlg.obj + 0002:000d6320 $LN7 0061a320 ServerDlg.obj + 0002:000d632c $LN5 0061a32c ServerDlg.obj + 0002:000d6468 $LN8 0061a468 ServerDlg.obj + 0002:000d6470 $LN7 0061a470 ServerDlg.obj + 0002:000d647c $LN5 0061a47c ServerDlg.obj + 0002:000d65b8 $LN8 0061a5b8 ServerDlg.obj + 0002:000d65c0 $LN7 0061a5c0 ServerDlg.obj + 0002:000d65cc $LN5 0061a5cc ServerDlg.obj + 0002:000d6708 $LN8 0061a708 ServerDlg.obj + 0002:000d6710 $LN7 0061a710 ServerDlg.obj + 0002:000d671c $LN5 0061a71c ServerDlg.obj + 0002:000d6858 $LN8 0061a858 ServerDlg.obj + 0002:000d6860 $LN7 0061a860 ServerDlg.obj + 0002:000d686c $LN5 0061a86c ServerDlg.obj + 0002:000d69a8 $LN8 0061a9a8 ServerDlg.obj + 0002:000d69b0 $LN7 0061a9b0 ServerDlg.obj + 0002:000d69bc $LN5 0061a9bc ServerDlg.obj + 0002:000d6b70 $LN14 0061ab70 ServerDlg.obj + 0002:000d6b78 $LN13 0061ab78 ServerDlg.obj + 0002:000d6b84 $LN11 0061ab84 ServerDlg.obj + 0002:000d6d64 $LN14 0061ad64 ServerDlg.obj + 0002:000d6d6c $LN13 0061ad6c ServerDlg.obj + 0002:000d6d84 $LN11 0061ad84 ServerDlg.obj + 0002:000d6d88 $LN10 0061ad88 ServerDlg.obj + 0002:000d7024 $LN13 0061b024 ServerDlg.obj + 0002:000d702c $LN12 0061b02c ServerDlg.obj + 0002:000d7044 $LN10 0061b044 ServerDlg.obj + 0002:000d7048 $LN9 0061b048 ServerDlg.obj + 0002:000d7204 $LN13 0061b204 ServerDlg.obj + 0002:000d720c $LN12 0061b20c ServerDlg.obj + 0002:000d7224 $LN10 0061b224 ServerDlg.obj + 0002:000d7228 $LN9 0061b228 ServerDlg.obj + 0002:000d7344 $LN7 0061b344 ServerDlg.obj + 0002:000d734c $LN6 0061b34c ServerDlg.obj + 0002:000d7358 $LN4 0061b358 ServerDlg.obj + 0002:000d7670 $LN12 0061b670 ServerDlg.obj + 0002:000d7678 $LN11 0061b678 ServerDlg.obj + 0002:000d7690 $LN9 0061b690 ServerDlg.obj + 0002:000d7694 $LN8 0061b694 ServerDlg.obj + 0002:000d85cc $LN54 0061c5cc ServerDlg.obj + 0002:000d85d4 $LN53 0061c5d4 ServerDlg.obj + 0002:000d85f8 $LN51 0061c5f8 ServerDlg.obj + 0002:000d85fe $LN50 0061c5fe ServerDlg.obj + 0002:000d8602 $LN49 0061c602 ServerDlg.obj + 0002:000d8d58 $LN18 0061cd58 ServerDlg.obj + 0002:000d8d60 $LN17 0061cd60 ServerDlg.obj + 0002:000d8d6c $LN15 0061cd6c ServerDlg.obj + 0002:000d90dc $LN8 0061d0dc ServerDlg.obj + 0002:000d90e4 $LN7 0061d0e4 ServerDlg.obj + 0002:000d90fc $LN5 0061d0fc ServerDlg.obj + 0002:000d9103 $LN4 0061d103 ServerDlg.obj + 0002:000d922c $LN8 0061d22c ServerDlg.obj + 0002:000d9234 $LN7 0061d234 ServerDlg.obj + 0002:000d924c $LN5 0061d24c ServerDlg.obj + 0002:000d9253 $LN4 0061d253 ServerDlg.obj + 0002:000d937c $LN8 0061d37c ServerDlg.obj + 0002:000d9384 $LN7 0061d384 ServerDlg.obj + 0002:000d939c $LN5 0061d39c ServerDlg.obj + 0002:000d93a3 $LN4 0061d3a3 ServerDlg.obj + 0002:000d94cc $LN8 0061d4cc ServerDlg.obj + 0002:000d94d4 $LN7 0061d4d4 ServerDlg.obj + 0002:000d94ec $LN5 0061d4ec ServerDlg.obj + 0002:000d94f3 $LN4 0061d4f3 ServerDlg.obj + 0002:000d961c $LN8 0061d61c ServerDlg.obj + 0002:000d9624 $LN7 0061d624 ServerDlg.obj + 0002:000d963c $LN5 0061d63c ServerDlg.obj + 0002:000d9643 $LN4 0061d643 ServerDlg.obj + 0002:000d976c $LN8 0061d76c ServerDlg.obj + 0002:000d9774 $LN7 0061d774 ServerDlg.obj + 0002:000d978c $LN5 0061d78c ServerDlg.obj + 0002:000d9793 $LN4 0061d793 ServerDlg.obj + 0002:000d98bc $LN8 0061d8bc ServerDlg.obj + 0002:000d98c4 $LN7 0061d8c4 ServerDlg.obj + 0002:000d98dc $LN5 0061d8dc ServerDlg.obj + 0002:000d98e3 $LN4 0061d8e3 ServerDlg.obj + 0002:000d9a0c $LN8 0061da0c ServerDlg.obj + 0002:000d9a14 $LN7 0061da14 ServerDlg.obj + 0002:000d9a2c $LN5 0061da2c ServerDlg.obj + 0002:000d9a33 $LN4 0061da33 ServerDlg.obj + 0002:000d9b5c $LN8 0061db5c ServerDlg.obj + 0002:000d9b64 $LN7 0061db64 ServerDlg.obj + 0002:000d9b7c $LN5 0061db7c ServerDlg.obj + 0002:000d9b83 $LN4 0061db83 ServerDlg.obj + 0002:000d9cac $LN8 0061dcac ServerDlg.obj + 0002:000d9cb4 $LN7 0061dcb4 ServerDlg.obj + 0002:000d9ccc $LN5 0061dccc ServerDlg.obj + 0002:000d9cd3 $LN4 0061dcd3 ServerDlg.obj + 0002:000d9dfc $LN8 0061ddfc ServerDlg.obj + 0002:000d9e04 $LN7 0061de04 ServerDlg.obj + 0002:000d9e1c $LN5 0061de1c ServerDlg.obj + 0002:000d9e23 $LN4 0061de23 ServerDlg.obj + 0002:000d9f4c $LN8 0061df4c ServerDlg.obj + 0002:000d9f54 $LN7 0061df54 ServerDlg.obj + 0002:000d9f6c $LN5 0061df6c ServerDlg.obj + 0002:000d9f73 $LN4 0061df73 ServerDlg.obj + 0002:000da09c $LN8 0061e09c ServerDlg.obj + 0002:000da0a4 $LN7 0061e0a4 ServerDlg.obj + 0002:000da0bc $LN5 0061e0bc ServerDlg.obj + 0002:000da0c3 $LN4 0061e0c3 ServerDlg.obj + 0002:000da1ec $LN8 0061e1ec ServerDlg.obj + 0002:000da1f4 $LN7 0061e1f4 ServerDlg.obj + 0002:000da20c $LN5 0061e20c ServerDlg.obj + 0002:000da213 $LN4 0061e213 ServerDlg.obj + 0002:000da33c $LN8 0061e33c ServerDlg.obj + 0002:000da344 $LN7 0061e344 ServerDlg.obj + 0002:000da35c $LN5 0061e35c ServerDlg.obj + 0002:000da363 $LN4 0061e363 ServerDlg.obj + 0002:000da48c $LN8 0061e48c ServerDlg.obj + 0002:000da494 $LN7 0061e494 ServerDlg.obj + 0002:000da4ac $LN5 0061e4ac ServerDlg.obj + 0002:000da4b3 $LN4 0061e4b3 ServerDlg.obj + 0002:000da5dc $LN8 0061e5dc ServerDlg.obj + 0002:000da5e4 $LN7 0061e5e4 ServerDlg.obj + 0002:000da5fc $LN5 0061e5fc ServerDlg.obj + 0002:000da603 $LN4 0061e603 ServerDlg.obj + 0002:000da72c $LN8 0061e72c ServerDlg.obj + 0002:000da734 $LN7 0061e734 ServerDlg.obj + 0002:000da74c $LN5 0061e74c ServerDlg.obj + 0002:000da753 $LN4 0061e753 ServerDlg.obj + 0002:000da87c $LN8 0061e87c ServerDlg.obj + 0002:000da884 $LN7 0061e884 ServerDlg.obj + 0002:000da89c $LN5 0061e89c ServerDlg.obj + 0002:000da8a3 $LN4 0061e8a3 ServerDlg.obj + 0002:000daa10 $LN9 0061ea10 ServerDlg.obj + 0002:000daa18 $LN8 0061ea18 ServerDlg.obj + 0002:000daa3c $LN6 0061ea3c ServerDlg.obj + 0002:000daa45 $LN5 0061ea45 ServerDlg.obj + 0002:000daa4c $LN4 0061ea4c ServerDlg.obj + 0002:000dbeb8 $LN5 0061feb8 ServerDlg.obj + 0002:000dbec0 $LN4 0061fec0 ServerDlg.obj + 0002:000dbecc $LN3 0061fecc ServerDlg.obj + 0002:000dbfa8 $LN5 0061ffa8 ServerDlg.obj + 0002:000dbfb0 $LN4 0061ffb0 ServerDlg.obj + 0002:000dbfbc $LN3 0061ffbc ServerDlg.obj + 0002:000dc098 $LN5 00620098 ServerDlg.obj + 0002:000dc0a0 $LN4 006200a0 ServerDlg.obj + 0002:000dc0ac $LN3 006200ac ServerDlg.obj + 0002:000e4448 $LN10 00628448 ServerDlg.obj + 0002:000e4450 $LN9 00628450 ServerDlg.obj + 0002:000e445c $LN7 0062845c ServerDlg.obj + 0002:000e455c $LN11 0062855c ServerDlg.obj + 0002:000e4564 $LN10 00628564 ServerDlg.obj + 0002:000e4570 $LN9 00628570 ServerDlg.obj + 0002:000e466c $LN11 0062866c ServerDlg.obj + 0002:000e4674 $LN10 00628674 ServerDlg.obj + 0002:000e4680 $LN9 00628680 ServerDlg.obj + 0002:000e477c $LN11 0062877c ServerDlg.obj + 0002:000e4784 $LN10 00628784 ServerDlg.obj + 0002:000e4790 $LN9 00628790 ServerDlg.obj + 0002:000e488c $LN11 0062888c ServerDlg.obj + 0002:000e4894 $LN10 00628894 ServerDlg.obj + 0002:000e48a0 $LN9 006288a0 ServerDlg.obj + 0002:000e499c $LN11 0062899c ServerDlg.obj + 0002:000e49a4 $LN10 006289a4 ServerDlg.obj + 0002:000e49b0 $LN9 006289b0 ServerDlg.obj + 0002:000e4aac $LN11 00628aac ServerDlg.obj + 0002:000e4ab4 $LN10 00628ab4 ServerDlg.obj + 0002:000e4ac0 $LN9 00628ac0 ServerDlg.obj + 0002:000e4bbc $LN11 00628bbc ServerDlg.obj + 0002:000e4bc4 $LN10 00628bc4 ServerDlg.obj + 0002:000e4bd0 $LN9 00628bd0 ServerDlg.obj + 0002:000e4ccc $LN11 00628ccc ServerDlg.obj + 0002:000e4cd4 $LN10 00628cd4 ServerDlg.obj + 0002:000e4ce0 $LN9 00628ce0 ServerDlg.obj + 0002:000e4ddc $LN11 00628ddc ServerDlg.obj + 0002:000e4de4 $LN10 00628de4 ServerDlg.obj + 0002:000e4df0 $LN9 00628df0 ServerDlg.obj + 0002:000e4eec $LN11 00628eec ServerDlg.obj + 0002:000e4ef4 $LN10 00628ef4 ServerDlg.obj + 0002:000e4f00 $LN9 00628f00 ServerDlg.obj + 0002:000e4ffc $LN11 00628ffc ServerDlg.obj + 0002:000e5004 $LN10 00629004 ServerDlg.obj + 0002:000e5010 $LN9 00629010 ServerDlg.obj + 0002:000e510c $LN11 0062910c ServerDlg.obj + 0002:000e5114 $LN10 00629114 ServerDlg.obj + 0002:000e5120 $LN9 00629120 ServerDlg.obj + 0002:000e521c $LN11 0062921c ServerDlg.obj + 0002:000e5224 $LN10 00629224 ServerDlg.obj + 0002:000e5230 $LN9 00629230 ServerDlg.obj + 0002:000e532c $LN11 0062932c ServerDlg.obj + 0002:000e5334 $LN10 00629334 ServerDlg.obj + 0002:000e5340 $LN9 00629340 ServerDlg.obj + 0002:000e543c $LN11 0062943c ServerDlg.obj + 0002:000e5444 $LN10 00629444 ServerDlg.obj + 0002:000e5450 $LN9 00629450 ServerDlg.obj + 0002:000e554c $LN11 0062954c ServerDlg.obj + 0002:000e5554 $LN10 00629554 ServerDlg.obj + 0002:000e5560 $LN9 00629560 ServerDlg.obj + 0002:000e565c $LN11 0062965c ServerDlg.obj + 0002:000e5664 $LN10 00629664 ServerDlg.obj + 0002:000e5670 $LN9 00629670 ServerDlg.obj + 0002:000e5764 $LN11 00629764 ServerDlg.obj + 0002:000e576c $LN10 0062976c ServerDlg.obj + 0002:000e5778 $LN9 00629778 ServerDlg.obj + 0002:000ed55c $LN12 0063155c ServerDlg.obj + 0002:000ed564 $LN11 00631564 ServerDlg.obj + 0002:000ed57c $LN10 0063157c ServerDlg.obj + 0002:000ed580 $LN9 00631580 ServerDlg.obj + 0002:000eddf0 _localtime 00631df0 f ServerDlg.obj + 0002:000ede40 _time 00631e40 f ServerDlg.obj + 0002:000ee584 $LN25 00632584 AIUser.obj + 0002:000ee58c $LN24 0063258c AIUser.obj + 0002:000ee5b0 $LN22 006325b0 AIUser.obj + 0002:000ee5b4 $LN21 006325b4 AIUser.obj + 0002:000ee5ba $LN20 006325ba AIUser.obj + 0002:000eed30 $LN16 00632d30 AIUser.obj + 0002:000eed38 $LN15 00632d38 AIUser.obj + 0002:000eed5c $LN14 00632d5c AIUser.obj + 0002:000eed61 $LN13 00632d61 AIUser.obj + 0002:000eed67 $LN12 00632d67 AIUser.obj + 0002:000ef250 $LN9 00633250 shared:TimeThread.obj + 0002:000ef258 $LN8 00633258 shared:TimeThread.obj + 0002:000ef264 $LN7 00633264 shared:TimeThread.obj + 0002:000ef2c0 _localtime 006332c0 f shared:TimeThread.obj + 0002:000ef320 _time 00633320 f shared:TimeThread.obj + 0002:000ef550 $LN7 00633550 shared:globals.obj + 0002:000ef558 $LN6 00633558 shared:globals.obj + 0002:000ef564 $LN5 00633564 shared:globals.obj + 0002:000ef6c4 $LN7 006336c4 shared:globals.obj + 0002:000ef6cc $LN6 006336cc shared:globals.obj + 0002:000ef6d8 $LN5 006336d8 shared:globals.obj + 0002:000ef87c $LN6 0063387c shared:globals.obj + 0002:000ef884 $LN5 00633884 shared:globals.obj + 0002:000ef890 $LN3 00633890 shared:globals.obj + 0002:000f03e4 $LN8 006343e4 shared:globals.obj + 0002:000f03ec $LN7 006343ec shared:globals.obj + 0002:000f0404 $LN5 00634404 shared:globals.obj + 0002:000f0409 $LN4 00634409 shared:globals.obj + 0002:000f10b0 $LN9 006350b0 shared:globals.obj + 0002:000f10b8 $LN8 006350b8 shared:globals.obj + 0002:000f10d0 $LN6 006350d0 shared:globals.obj + 0002:000f10d5 $LN5 006350d5 shared:globals.obj + 0002:000f1b20 $LN10 00635b20 shared:SocketMgr.obj + 0002:000f1b28 $LN9 00635b28 shared:SocketMgr.obj + 0002:000f1b34 $LN7 00635b34 shared:SocketMgr.obj + 0002:000f1f78 $LN6 00635f78 shared:SocketMgr.obj + 0002:000f1f80 $LN5 00635f80 shared:SocketMgr.obj + 0002:000f1f8c $LN3 00635f8c shared:SocketMgr.obj + 0002:000f207c $LN6 0063607c shared:SocketMgr.obj + 0002:000f2084 $LN5 00636084 shared:SocketMgr.obj + 0002:000f2090 $LN3 00636090 shared:SocketMgr.obj + 0002:000f2ef4 $LN6 00636ef4 shared:SocketMgr.obj + 0002:000f2efc $LN5 00636efc shared:SocketMgr.obj + 0002:000f2f08 $LN3 00636f08 shared:SocketMgr.obj + 0002:000f38cc $LN7 006378cc shared:SocketMgr.obj + 0002:000f38d4 $LN6 006378d4 shared:SocketMgr.obj + 0002:000f38e0 $LN4 006378e0 shared:SocketMgr.obj + 0002:000f3a5c $LN5 00637a5c shared:SocketMgr.obj + 0002:000f3a64 $LN4 00637a64 shared:SocketMgr.obj + 0002:000f3a70 $LN3 00637a70 shared:SocketMgr.obj + 0002:000f3d44 $LN17 00637d44 shared:SocketMgr.obj + 0002:000f3d4c $LN16 00637d4c shared:SocketMgr.obj + 0002:000f3d58 $LN14 00637d58 shared:SocketMgr.obj + 0002:000f4050 $LN15 00638050 shared:SocketMgr.obj + 0002:000f4058 $LN14 00638058 shared:SocketMgr.obj + 0002:000f407c $LN13 0063807c shared:SocketMgr.obj + 0002:000f4083 $LN12 00638083 shared:SocketMgr.obj + 0002:000f4085 $LN11 00638085 shared:SocketMgr.obj + 0002:000f4264 $LN14 00638264 shared:SocketMgr.obj + 0002:000f426c $LN13 0063826c shared:SocketMgr.obj + 0002:000f4278 $LN11 00638278 shared:SocketMgr.obj + 0002:000f4a64 $LN14 00638a64 shared:SocketMgr.obj + 0002:000f4a6c $LN13 00638a6c shared:SocketMgr.obj + 0002:000f4a78 $LN12 00638a78 shared:SocketMgr.obj + 0002:000f5098 $LN14 00639098 shared:SocketMgr.obj + 0002:000f50a0 $LN13 006390a0 shared:SocketMgr.obj + 0002:000f50ac $LN12 006390ac shared:SocketMgr.obj + 0002:000f546c $LN13 0063946c shared:SocketMgr.obj + 0002:000f5474 $LN12 00639474 shared:SocketMgr.obj + 0002:000f5480 $LN10 00639480 shared:SocketMgr.obj + 0002:000f63b4 $LN9 0063a3b4 shared:DebugUtils.obj + 0002:000f63bc $LN8 0063a3bc shared:DebugUtils.obj + 0002:000f63c8 $LN7 0063a3c8 shared:DebugUtils.obj + 0002:000f88a0 $LN37 0063c8a0 shared:KOSocket.obj + 0002:000f88a8 $LN36 0063c8a8 shared:KOSocket.obj + 0002:000f88cc $LN34 0063c8cc shared:KOSocket.obj + 0002:000f88d3 $LN33 0063c8d3 shared:KOSocket.obj + 0002:000f88da $LN32 0063c8da shared:KOSocket.obj + 0002:000f8d48 $LN18 0063cd48 shared:KOSocket.obj + 0002:000f8d50 $LN17 0063cd50 shared:KOSocket.obj + 0002:000f8d5c $LN16 0063cd5c shared:KOSocket.obj + 0002:000f90a0 $LN13 0063d0a0 shared:KOSocket.obj + 0002:000f90a8 $LN12 0063d0a8 shared:KOSocket.obj + 0002:000f90b4 $LN10 0063d0b4 shared:KOSocket.obj + 0002:000f9e38 $LN10 0063de38 shared:Condition.obj + 0002:000f9e40 $LN9 0063de40 shared:Condition.obj + 0002:000f9e70 $LN8 0063de70 shared:Condition.obj + 0002:000f9e7f $LN7 0063de7f shared:Condition.obj + 0002:000f9e83 $LN6 0063de83 shared:Condition.obj + 0002:000f9e8f $LN5 0063de8f shared:Condition.obj + 0002:000fad38 $LN7 0063ed38 shared:Condition.obj + 0002:000fad40 $LN6 0063ed40 shared:Condition.obj + 0002:000fad4c $LN5 0063ed4c shared:Condition.obj + 0002:000fb5d8 $LN7 0063f5d8 shared:Condition.obj + 0002:000fb5e0 $LN6 0063f5e0 shared:Condition.obj + 0002:000fb5ec $LN4 0063f5ec shared:Condition.obj + 0002:000fb71c $LN7 0063f71c shared:Condition.obj + 0002:000fb724 $LN6 0063f724 shared:Condition.obj + 0002:000fb730 $LN4 0063f730 shared:Condition.obj + 0002:000fc1d4 $LN7 006401d4 shared:signal_handler.obj + 0002:000fc1dc $LN6 006401dc shared:signal_handler.obj + 0002:000fcb48 $LN14 00640b48 shared:tstring.obj + 0002:000fcb50 $LN13 00640b50 shared:tstring.obj + 0002:000fcb5c $LN11 00640b5c shared:tstring.obj + 0002:000fcd30 $LN15 00640d30 shared:tstring.obj + 0002:000fcd38 $LN14 00640d38 shared:tstring.obj + 0002:000fcd50 $LN12 00640d50 shared:tstring.obj + 0002:000fcd57 $LN11 00640d57 shared:tstring.obj + 0002:000fd728 $LN9 00641728 shared:tstring.obj + 0002:000fd730 $LN8 00641730 shared:tstring.obj + 0002:000fd73c $LN6 0064173c shared:tstring.obj + 0002:000fe08c $LN7 0064208c shared:tstring.obj + 0002:000fe094 $LN6 00642094 shared:tstring.obj + 0002:000fe0a0 $LN4 006420a0 shared:tstring.obj + 0002:000fead0 ?safe_isspace@@YAHH@Z 00642ad0 f shared:tstring.obj + 0002:000fec3c $LN11 00642c3c shared:tstring.obj + 0002:000fec44 $LN10 00642c44 shared:tstring.obj + 0002:000fec50 $LN8 00642c50 shared:tstring.obj + 0002:0010074c $LN5 0064474c shared:SMDFile.obj + 0002:00100754 $LN4 00644754 shared:SMDFile.obj + 0002:00100760 $LN3 00644760 shared:SMDFile.obj + 0002:0010088c $LN5 0064488c shared:SMDFile.obj + 0002:00100894 $LN4 00644894 shared:SMDFile.obj + 0002:001008a0 $LN3 006448a0 shared:SMDFile.obj + 0002:001009cc $LN5 006449cc shared:SMDFile.obj + 0002:001009d4 $LN4 006449d4 shared:SMDFile.obj + 0002:001009e0 $LN3 006449e0 shared:SMDFile.obj + 0002:00100d78 $LN7 00644d78 shared:SMDFile.obj + 0002:00100d80 $LN6 00644d80 shared:SMDFile.obj + 0002:00100d8c $LN5 00644d8c shared:SMDFile.obj + 0002:00100f68 $LN7 00644f68 shared:SMDFile.obj + 0002:00100f70 $LN6 00644f70 shared:SMDFile.obj + 0002:00100f7c $LN5 00644f7c shared:SMDFile.obj + 0002:00101158 $LN7 00645158 shared:SMDFile.obj + 0002:00101160 $LN6 00645160 shared:SMDFile.obj + 0002:0010116c $LN5 0064516c shared:SMDFile.obj + 0002:00101348 $LN7 00645348 shared:SMDFile.obj + 0002:00101350 $LN6 00645350 shared:SMDFile.obj + 0002:0010135c $LN5 0064535c shared:SMDFile.obj + 0002:00101980 $LN6 00645980 shared:SMDFile.obj + 0002:00101988 $LN5 00645988 shared:SMDFile.obj + 0002:00101994 $LN4 00645994 shared:SMDFile.obj + 0002:00101ae4 $LN9 00645ae4 shared:SMDFile.obj + 0002:00101aec $LN8 00645aec shared:SMDFile.obj + 0002:00101af8 $LN7 00645af8 shared:SMDFile.obj + 0002:00101c64 $LN9 00645c64 shared:SMDFile.obj + 0002:00101c6c $LN8 00645c6c shared:SMDFile.obj + 0002:00101c78 $LN7 00645c78 shared:SMDFile.obj + 0002:00101de4 $LN9 00645de4 shared:SMDFile.obj + 0002:00101dec $LN8 00645dec shared:SMDFile.obj + 0002:00101df8 $LN7 00645df8 shared:SMDFile.obj + 0002:00101f64 $LN9 00645f64 shared:SMDFile.obj + 0002:00101f6c $LN8 00645f6c shared:SMDFile.obj + 0002:00101f78 $LN7 00645f78 shared:SMDFile.obj + 0002:00103b3c $LN8 00647b3c shared:SMDFile.obj + 0002:00103b44 $LN7 00647b44 shared:SMDFile.obj + 0002:00103b50 $LN6 00647b50 shared:SMDFile.obj + 0002:00103c7c $LN8 00647c7c shared:SMDFile.obj + 0002:00103c84 $LN7 00647c84 shared:SMDFile.obj + 0002:00103c90 $LN6 00647c90 shared:SMDFile.obj + 0002:00103dbc $LN8 00647dbc shared:SMDFile.obj + 0002:00103dc4 $LN7 00647dc4 shared:SMDFile.obj + 0002:00103dd0 $LN6 00647dd0 shared:SMDFile.obj + 0002:00105010 $LN8 00649010 shared:SMDFile.obj + 0002:00105018 $LN7 00649018 shared:SMDFile.obj + 0002:00105024 $LN6 00649024 shared:SMDFile.obj + 0002:00107360 $LN6 0064b360 shared:SMDFile.obj + 0002:00107368 $LN5 0064b368 shared:SMDFile.obj + 0002:00107374 $LN3 0064b374 shared:SMDFile.obj + 0002:00107490 $LN6 0064b490 shared:SMDFile.obj + 0002:00107498 $LN5 0064b498 shared:SMDFile.obj + 0002:001074a4 $LN3 0064b4a4 shared:SMDFile.obj + 0002:001075c0 $LN6 0064b5c0 shared:SMDFile.obj + 0002:001075c8 $LN5 0064b5c8 shared:SMDFile.obj + 0002:001075d4 $LN3 0064b5d4 shared:SMDFile.obj + 0002:00109438 $LN9 0064d438 shared:SMDFile.obj + 0002:00109440 $LN8 0064d440 shared:SMDFile.obj + 0002:0010944c $LN6 0064d44c shared:SMDFile.obj + 0002:00109588 $LN9 0064d588 shared:SMDFile.obj + 0002:00109590 $LN8 0064d590 shared:SMDFile.obj + 0002:0010959c $LN6 0064d59c shared:SMDFile.obj + 0002:00109b38 $LN15 0064db38 shared:SMDFile.obj + 0002:00109b40 $LN14 0064db40 shared:SMDFile.obj + 0002:00109b58 $LN12 0064db58 shared:SMDFile.obj + 0002:00109b5c $LN11 0064db5c shared:SMDFile.obj + 0002:00109d7c $LN15 0064dd7c shared:SMDFile.obj + 0002:00109d84 $LN14 0064dd84 shared:SMDFile.obj + 0002:00109d9c $LN12 0064dd9c shared:SMDFile.obj + 0002:00109da0 $LN11 0064dda0 shared:SMDFile.obj + 0002:0010a050 $LN16 0064e050 shared:SMDFile.obj + 0002:0010a058 $LN15 0064e058 shared:SMDFile.obj + 0002:0010a070 $LN13 0064e070 shared:SMDFile.obj + 0002:0010a076 $LN12 0064e076 shared:SMDFile.obj + 0002:0010a550 $LN22 0064e550 shared:SMDFile.obj + 0002:0010a558 $LN21 0064e558 shared:SMDFile.obj + 0002:0010a57c $LN19 0064e57c shared:SMDFile.obj + 0002:0010a580 $LN18 0064e580 shared:SMDFile.obj + 0002:0010a589 $LN17 0064e589 shared:SMDFile.obj + 0002:0010aaa4 $LN10 0064eaa4 shared:SMDFile.obj + 0002:0010aaac $LN9 0064eaac shared:SMDFile.obj + 0002:0010aab8 $LN8 0064eab8 shared:SMDFile.obj + 0002:0010ac78 $LN14 0064ec78 shared:SMDFile.obj + 0002:0010ac80 $LN13 0064ec80 shared:SMDFile.obj + 0002:0010ac8c $LN12 0064ec8c shared:SMDFile.obj + 0002:0010b038 $LN19 0064f038 shared:SMDFile.obj + 0002:0010b040 $LN18 0064f040 shared:SMDFile.obj + 0002:0010b04c $LN16 0064f04c shared:SMDFile.obj + 0002:0010b300 $LN8 0064f300 shared:SMDFile.obj + 0002:0010b308 $LN7 0064f308 shared:SMDFile.obj + 0002:0010b314 $LN5 0064f314 shared:SMDFile.obj + 0002:0010b460 $LN8 0064f460 shared:SMDFile.obj + 0002:0010b468 $LN7 0064f468 shared:SMDFile.obj + 0002:0010b474 $LN5 0064f474 shared:SMDFile.obj + 0002:0010b6c0 $LN8 0064f6c0 shared:SMDFile.obj + 0002:0010b6c8 $LN7 0064f6c8 shared:SMDFile.obj + 0002:0010b6e0 $LN5 0064f6e0 shared:SMDFile.obj + 0002:0010b6e7 $LN4 0064f6e7 shared:SMDFile.obj + 0002:0010b830 $LN8 0064f830 shared:SMDFile.obj + 0002:0010b838 $LN7 0064f838 shared:SMDFile.obj + 0002:0010b850 $LN5 0064f850 shared:SMDFile.obj + 0002:0010b857 $LN4 0064f857 shared:SMDFile.obj + 0002:0010b9a0 $LN8 0064f9a0 shared:SMDFile.obj + 0002:0010b9a8 $LN7 0064f9a8 shared:SMDFile.obj + 0002:0010b9c0 $LN5 0064f9c0 shared:SMDFile.obj + 0002:0010b9c7 $LN4 0064f9c7 shared:SMDFile.obj + 0002:0010e468 $LN11 00652468 shared:SMDFile.obj + 0002:0010e470 $LN10 00652470 shared:SMDFile.obj + 0002:0010e47c $LN9 0065247c shared:SMDFile.obj + 0002:0010e598 $LN11 00652598 shared:SMDFile.obj + 0002:0010e5a0 $LN10 006525a0 shared:SMDFile.obj + 0002:0010e5ac $LN9 006525ac shared:SMDFile.obj + 0002:00110708 $LN9 00654708 shared:Thread.obj + 0002:00110710 $LN8 00654710 shared:Thread.obj + 0002:0011071c $LN6 0065471c shared:Thread.obj + 0002:00110bc8 $LN6 00654bc8 shared:Thread.obj + 0002:00110bd0 $LN5 00654bd0 shared:Thread.obj + 0002:00110bdc $LN3 00654bdc shared:Thread.obj + 0002:00110d14 $LN5 00654d14 shared:Thread.obj + 0002:00110d1c $LN4 00654d1c shared:Thread.obj + 0002:00110d28 $LN3 00654d28 shared:Thread.obj + 0002:00111c51 __catch$?start@Thread@@QAE_NP6GIPAX@Z0@Z$0 00655c51 f shared:Thread.obj + 0002:00111cf0 $LN13 00655cf0 shared:Thread.obj + 0002:00111cf8 $LN12 00655cf8 shared:Thread.obj + 0002:00111d04 $LN10 00655d04 shared:Thread.obj + 0002:00111dd8 __catch$?waitForExit@Thread@@QAE_NXZ$0 00655dd8 f shared:Thread.obj + 0002:00111e78 $LN13 00655e78 shared:Thread.obj + 0002:00111e80 $LN12 00655e80 shared:Thread.obj + 0002:00111e8c $LN10 00655e8c shared:Thread.obj + 0002:00111f84 $LN7 00655f84 shared:SocketOpsWin32.obj + 0002:00111f8c $LN6 00655f8c shared:SocketOpsWin32.obj + 0002:00111f98 $LN5 00655f98 shared:SocketOpsWin32.obj + 0002:00112168 $LN7 00656168 shared:SocketOpsWin32.obj + 0002:00112170 $LN6 00656170 shared:SocketOpsWin32.obj + 0002:0011217c $LN5 0065617c shared:SocketOpsWin32.obj + 0002:00112258 $LN7 00656258 shared:SocketOpsWin32.obj + 0002:00112260 $LN6 00656260 shared:SocketOpsWin32.obj + 0002:0011226c $LN5 0065626c shared:SocketOpsWin32.obj + 0002:00112344 $LN7 00656344 shared:SocketOpsWin32.obj + 0002:0011234c $LN6 0065634c shared:SocketOpsWin32.obj + 0002:00112358 $LN5 00656358 shared:SocketOpsWin32.obj + 0002:00112c9c $LN9 00656c9c shared:OdbcCommand.obj + 0002:00112ca4 $LN8 00656ca4 shared:OdbcCommand.obj + 0002:00112cb0 $LN6 00656cb0 shared:OdbcCommand.obj + 0002:00112ddc $LN5 00656ddc shared:OdbcCommand.obj + 0002:00112de4 $LN4 00656de4 shared:OdbcCommand.obj + 0002:00112df0 $LN3 00656df0 shared:OdbcCommand.obj + 0002:00112fa8 $LN7 00656fa8 shared:OdbcCommand.obj + 0002:00112fb0 $LN6 00656fb0 shared:OdbcCommand.obj + 0002:00112fbc $LN5 00656fbc shared:OdbcCommand.obj + 0002:001132f4 $LN9 006572f4 shared:OdbcCommand.obj + 0002:001132fc $LN8 006572fc shared:OdbcCommand.obj + 0002:00113308 $LN7 00657308 shared:OdbcCommand.obj + 0002:00113848 $LN8 00657848 shared:OdbcCommand.obj + 0002:00113850 $LN7 00657850 shared:OdbcCommand.obj + 0002:0011385c $LN6 0065785c shared:OdbcCommand.obj + 0002:00113e2c $LN8 00657e2c shared:OdbcCommand.obj + 0002:00113e34 $LN7 00657e34 shared:OdbcCommand.obj + 0002:00113e40 $LN6 00657e40 shared:OdbcCommand.obj + 0002:00114e20 $LN6 00658e20 shared:OdbcCommand.obj + 0002:00114e28 $LN5 00658e28 shared:OdbcCommand.obj + 0002:00114e34 $LN3 00658e34 shared:OdbcCommand.obj + 0002:00115a08 $LN9 00659a08 shared:OdbcCommand.obj + 0002:00115a10 $LN8 00659a10 shared:OdbcCommand.obj + 0002:00115a1c $LN6 00659a1c shared:OdbcCommand.obj + 0002:0011707c $LN17 0065b07c shared:OdbcCommand.obj + 0002:00117084 $LN16 0065b084 shared:OdbcCommand.obj + 0002:00117090 $LN14 0065b090 shared:OdbcCommand.obj + 0002:001172b8 $LN13 0065b2b8 shared:OdbcCommand.obj + 0002:001172c0 $LN12 0065b2c0 shared:OdbcCommand.obj + 0002:001172cc $LN10 0065b2cc shared:OdbcCommand.obj + 0002:001177f0 $LN6 0065b7f0 shared:OdbcCommand.obj + 0002:001177f8 $LN5 0065b7f8 shared:OdbcCommand.obj + 0002:00117810 $LN4 0065b810 shared:OdbcCommand.obj + 0002:00117813 $LN3 0065b813 shared:OdbcCommand.obj + 0002:001178dc $LN5 0065b8dc shared:OdbcCommand.obj + 0002:001178e4 $LN4 0065b8e4 shared:OdbcCommand.obj + 0002:001178f0 $LN3 0065b8f0 shared:OdbcCommand.obj + 0002:001179b0 $LN6 0065b9b0 shared:OdbcCommand.obj + 0002:001179b8 $LN5 0065b9b8 shared:OdbcCommand.obj + 0002:001179d0 $LN4 0065b9d0 shared:OdbcCommand.obj + 0002:001179d3 $LN3 0065b9d3 shared:OdbcCommand.obj + 0002:00117a9c $LN5 0065ba9c shared:OdbcCommand.obj + 0002:00117aa4 $LN4 0065baa4 shared:OdbcCommand.obj + 0002:00117ab0 $LN3 0065bab0 shared:OdbcCommand.obj + 0002:00117b70 $LN6 0065bb70 shared:OdbcCommand.obj + 0002:00117b78 $LN5 0065bb78 shared:OdbcCommand.obj + 0002:00117b90 $LN4 0065bb90 shared:OdbcCommand.obj + 0002:00117b93 $LN3 0065bb93 shared:OdbcCommand.obj + 0002:00117c5c $LN5 0065bc5c shared:OdbcCommand.obj + 0002:00117c64 $LN4 0065bc64 shared:OdbcCommand.obj + 0002:00117c70 $LN3 0065bc70 shared:OdbcCommand.obj + 0002:00117d30 $LN6 0065bd30 shared:OdbcCommand.obj + 0002:00117d38 $LN5 0065bd38 shared:OdbcCommand.obj + 0002:00117d50 $LN4 0065bd50 shared:OdbcCommand.obj + 0002:00117d53 $LN3 0065bd53 shared:OdbcCommand.obj + 0002:00117e1c $LN5 0065be1c shared:OdbcCommand.obj + 0002:00117e24 $LN4 0065be24 shared:OdbcCommand.obj + 0002:00117e30 $LN3 0065be30 shared:OdbcCommand.obj + 0002:00117eec $LN5 0065beec shared:OdbcCommand.obj + 0002:00117ef4 $LN4 0065bef4 shared:OdbcCommand.obj + 0002:00117f00 $LN3 0065bf00 shared:OdbcCommand.obj + 0002:00117fc4 $LN6 0065bfc4 shared:OdbcCommand.obj + 0002:00117fcc $LN5 0065bfcc shared:OdbcCommand.obj + 0002:00117fe4 $LN4 0065bfe4 shared:OdbcCommand.obj + 0002:00117fe7 $LN3 0065bfe7 shared:OdbcCommand.obj + 0002:001180b0 $LN6 0065c0b0 shared:OdbcCommand.obj + 0002:001180b8 $LN5 0065c0b8 shared:OdbcCommand.obj + 0002:001180d0 $LN4 0065c0d0 shared:OdbcCommand.obj + 0002:001180d3 $LN3 0065c0d3 shared:OdbcCommand.obj + 0002:0011819c $LN5 0065c19c shared:OdbcCommand.obj + 0002:001181a4 $LN4 0065c1a4 shared:OdbcCommand.obj + 0002:001181b0 $LN3 0065c1b0 shared:OdbcCommand.obj + 0002:00118270 $LN6 0065c270 shared:OdbcCommand.obj + 0002:00118278 $LN5 0065c278 shared:OdbcCommand.obj + 0002:00118290 $LN4 0065c290 shared:OdbcCommand.obj + 0002:00118293 $LN3 0065c293 shared:OdbcCommand.obj + 0002:0011835c $LN5 0065c35c shared:OdbcCommand.obj + 0002:00118364 $LN4 0065c364 shared:OdbcCommand.obj + 0002:00118370 $LN3 0065c370 shared:OdbcCommand.obj + 0002:00118554 $LN13 0065c554 shared:OdbcCommand.obj + 0002:0011855c $LN12 0065c55c shared:OdbcCommand.obj + 0002:00118580 $LN10 0065c580 shared:OdbcCommand.obj + 0002:0011858a $LN9 0065c58a shared:OdbcCommand.obj + 0002:00118591 $LN8 0065c591 shared:OdbcCommand.obj + 0002:00118770 $LN6 0065c770 shared:OdbcCommand.obj + 0002:00118778 $LN5 0065c778 shared:OdbcCommand.obj + 0002:00118790 $LN4 0065c790 shared:OdbcCommand.obj + 0002:00118793 $LN3 0065c793 shared:OdbcCommand.obj + 0002:0011885c $LN5 0065c85c shared:OdbcCommand.obj + 0002:00118864 $LN4 0065c864 shared:OdbcCommand.obj + 0002:00118870 $LN3 0065c870 shared:OdbcCommand.obj + 0002:00118930 $LN6 0065c930 shared:OdbcCommand.obj + 0002:00118938 $LN5 0065c938 shared:OdbcCommand.obj + 0002:00118950 $LN4 0065c950 shared:OdbcCommand.obj + 0002:00118953 $LN3 0065c953 shared:OdbcCommand.obj + 0002:00118a1c $LN5 0065ca1c shared:OdbcCommand.obj + 0002:00118a24 $LN4 0065ca24 shared:OdbcCommand.obj + 0002:00118a30 $LN3 0065ca30 shared:OdbcCommand.obj + 0002:00118aec $LN5 0065caec shared:OdbcCommand.obj + 0002:00118af4 $LN4 0065caf4 shared:OdbcCommand.obj + 0002:00118b00 $LN3 0065cb00 shared:OdbcCommand.obj + 0002:00118bc4 $LN6 0065cbc4 shared:OdbcCommand.obj + 0002:00118bcc $LN5 0065cbcc shared:OdbcCommand.obj + 0002:00118be4 $LN4 0065cbe4 shared:OdbcCommand.obj + 0002:00118be7 $LN3 0065cbe7 shared:OdbcCommand.obj + 0002:00119670 $LN8 0065d670 shared:OdbcCommand.obj + 0002:00119678 $LN7 0065d678 shared:OdbcCommand.obj + 0002:00119690 $LN5 0065d690 shared:OdbcCommand.obj + 0002:00119697 $LN4 0065d697 shared:OdbcCommand.obj + 0002:0011a4a8 $LN11 0065e4a8 shared:OdbcCommand.obj + 0002:0011a4b0 $LN10 0065e4b0 shared:OdbcCommand.obj + 0002:0011a4bc $LN9 0065e4bc shared:OdbcCommand.obj + 0002:0011b99c $LN9 0065f99c shared:OdbcConnection.obj + 0002:0011b9a4 $LN8 0065f9a4 shared:OdbcConnection.obj + 0002:0011b9b0 $LN6 0065f9b0 shared:OdbcConnection.obj + 0002:0011bb2c $LN5 0065fb2c shared:OdbcConnection.obj + 0002:0011bb34 $LN4 0065fb34 shared:OdbcConnection.obj + 0002:0011bb40 $LN3 0065fb40 shared:OdbcConnection.obj + 0002:0011bef8 $LN7 0065fef8 shared:OdbcConnection.obj + 0002:0011bf00 $LN6 0065ff00 shared:OdbcConnection.obj + 0002:0011bf0c $LN5 0065ff0c shared:OdbcConnection.obj + 0002:0011c20e __catch$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z$0 0066020e f i shared:OdbcConnection.obj + 0002:0011c4e0 $LN17 006604e0 shared:OdbcConnection.obj + 0002:0011c4e8 $LN16 006604e8 shared:OdbcConnection.obj + 0002:0011c500 $LN15 00660500 shared:OdbcConnection.obj + 0002:0011c508 $LN14 00660508 shared:OdbcConnection.obj + 0002:0011c854 $LN9 00660854 shared:OdbcConnection.obj + 0002:0011c85c $LN8 0066085c shared:OdbcConnection.obj + 0002:0011c868 $LN7 00660868 shared:OdbcConnection.obj + 0002:0011d26c $LN9 0066126c shared:OdbcConnection.obj + 0002:0011d274 $LN8 00661274 shared:OdbcConnection.obj + 0002:0011d28c $LN7 0066128c shared:OdbcConnection.obj + 0002:0011d293 $LN6 00661293 shared:OdbcConnection.obj + 0002:0011d8b0 $LN8 006618b0 shared:OdbcConnection.obj + 0002:0011d8b8 $LN7 006618b8 shared:OdbcConnection.obj + 0002:0011d8c4 $LN6 006618c4 shared:OdbcConnection.obj + 0002:0011e5b0 $LN6 006625b0 shared:OdbcConnection.obj + 0002:0011e5b8 $LN5 006625b8 shared:OdbcConnection.obj + 0002:0011e5c4 $LN3 006625c4 shared:OdbcConnection.obj + 0002:0011e9c4 $LN6 006629c4 shared:OdbcConnection.obj + 0002:0011e9cc $LN5 006629cc shared:OdbcConnection.obj + 0002:0011e9d8 $LN3 006629d8 shared:OdbcConnection.obj + 0002:0011f038 $LN9 00663038 shared:OdbcConnection.obj + 0002:0011f040 $LN8 00663040 shared:OdbcConnection.obj + 0002:0011f04c $LN6 0066304c shared:OdbcConnection.obj + 0002:0011f280 $LN5 00663280 shared:OdbcConnection.obj + 0002:0011f288 $LN4 00663288 shared:OdbcConnection.obj + 0002:0011f294 $LN3 00663294 shared:OdbcConnection.obj + 0002:0011f6c4 $LN8 006636c4 shared:OdbcConnection.obj + 0002:0011f6cc $LN7 006636cc shared:OdbcConnection.obj + 0002:0011f6d8 $LN5 006636d8 shared:OdbcConnection.obj + 0002:0011fd78 $LN39 00663d78 shared:OdbcConnection.obj + 0002:0011fd80 $LN38 00663d80 shared:OdbcConnection.obj + 0002:0011fda4 $LN36 00663da4 shared:OdbcConnection.obj + 0002:0011fda8 $LN35 00663da8 shared:OdbcConnection.obj + 0002:0011fdaf $LN34 00663daf shared:OdbcConnection.obj + 0002:00120234 $LN18 00664234 shared:OdbcConnection.obj + 0002:0012023c $LN17 0066423c shared:OdbcConnection.obj + 0002:00120254 $LN15 00664254 shared:OdbcConnection.obj + 0002:00120258 $LN14 00664258 shared:OdbcConnection.obj + 0002:001203ec $LN8 006643ec shared:OdbcConnection.obj + 0002:001203f4 $LN7 006643f4 shared:OdbcConnection.obj + 0002:00120400 $LN5 00664400 shared:OdbcConnection.obj + 0002:00120590 $LN14 00664590 shared:OdbcConnection.obj + 0002:00120598 $LN13 00664598 shared:OdbcConnection.obj + 0002:001205d4 $LN11 006645d4 shared:OdbcConnection.obj + 0002:001205df $LN10 006645df shared:OdbcConnection.obj + 0002:001205eb $LN9 006645eb shared:OdbcConnection.obj + 0002:001205f6 $LN8 006645f6 shared:OdbcConnection.obj + 0002:001205ff $LN7 006645ff shared:OdbcConnection.obj + 0002:00120740 $LN7 00664740 shared:OdbcConnection.obj + 0002:00120748 $LN6 00664748 shared:OdbcConnection.obj + 0002:00120754 $LN4 00664754 shared:OdbcConnection.obj + 0002:001209b4 $LN16 006649b4 shared:OdbcConnection.obj + 0002:001209bc $LN15 006649bc shared:OdbcConnection.obj + 0002:001209e0 $LN13 006649e0 shared:OdbcConnection.obj + 0002:001209e6 $LN12 006649e6 shared:OdbcConnection.obj + 0002:001209f4 $LN11 006649f4 shared:OdbcConnection.obj + 0002:00120ba4 $LN12 00664ba4 shared:OdbcConnection.obj + 0002:00120bac $LN11 00664bac shared:OdbcConnection.obj + 0002:00120bb8 $LN9 00664bb8 shared:OdbcConnection.obj + 0002:00120e10 $LN8 00664e10 shared:OdbcConnection.obj + 0002:00120e18 $LN7 00664e18 shared:OdbcConnection.obj + 0002:00120e30 $LN5 00664e30 shared:OdbcConnection.obj + 0002:00120e37 $LN4 00664e37 shared:OdbcConnection.obj + 0002:001212b0 $LN8 006652b0 shared:OdbcConnection.obj + 0002:001212b8 $LN7 006652b8 shared:OdbcConnection.obj + 0002:001212c4 $LN6 006652c4 shared:OdbcConnection.obj + 0002:001213d0 $LN5 006653d0 shared:OdbcConnection.obj + 0002:001213d8 $LN4 006653d8 shared:OdbcConnection.obj + 0002:001213e4 $LN3 006653e4 shared:OdbcConnection.obj + 0002:00122758 $LN11 00666758 shared:OdbcConnection.obj + 0002:00122760 $LN10 00666760 shared:OdbcConnection.obj + 0002:0012276c $LN9 0066676c shared:OdbcConnection.obj + 0002:00122880 $LN11 00666880 shared:OdbcConnection.obj + 0002:00122888 $LN10 00666888 shared:OdbcConnection.obj + 0002:00122894 $LN9 00666894 shared:OdbcConnection.obj + 0002:00123740 $LN7 00667740 shared:OdbcConnection.obj + 0002:00123748 $LN6 00667748 shared:OdbcConnection.obj + 0002:0012376c $LN5 0066776c shared:OdbcConnection.obj + 0002:00123772 $LN4 00667772 shared:OdbcConnection.obj + 0002:00123779 $LN3 00667779 shared:OdbcConnection.obj + 0002:00123880 $LN8 00667880 shared:OdbcConnection.obj + 0002:00123888 $LN7 00667888 shared:OdbcConnection.obj + 0002:00123894 $LN6 00667894 shared:OdbcConnection.obj + 0002:00123988 $LN8 00667988 shared:OdbcConnection.obj + 0002:00123990 $LN7 00667990 shared:OdbcConnection.obj + 0002:0012399c $LN6 0066799c shared:OdbcConnection.obj + 0002:001244c0 $LN21 006684c0 shared:OdbcRecordset.obj + 0002:001244c8 $LN20 006684c8 shared:OdbcRecordset.obj + 0002:001244e0 $LN18 006684e0 shared:OdbcRecordset.obj + 0002:001244ee $LN17 006684ee shared:OdbcRecordset.obj + 0002:00125edc $LN5 00669edc shared:Ini.obj + 0002:00125ee4 $LN4 00669ee4 shared:Ini.obj + 0002:00125ef0 $LN3 00669ef0 shared:Ini.obj + 0002:0012601c $LN5 0066a01c shared:Ini.obj + 0002:00126024 $LN4 0066a024 shared:Ini.obj + 0002:00126030 $LN3 0066a030 shared:Ini.obj + 0002:0012621c $LN9 0066a21c shared:Ini.obj + 0002:00126224 $LN8 0066a224 shared:Ini.obj + 0002:0012623c $LN6 0066a23c shared:Ini.obj + 0002:00126245 $LN5 0066a245 shared:Ini.obj + 0002:00126428 $LN7 0066a428 shared:Ini.obj + 0002:00126430 $LN6 0066a430 shared:Ini.obj + 0002:0012643c $LN5 0066a43c shared:Ini.obj + 0002:00126550 $LN6 0066a550 shared:Ini.obj + 0002:00126558 $LN5 0066a558 shared:Ini.obj + 0002:00126564 $LN4 0066a564 shared:Ini.obj + 0002:00126640 $LN6 0066a640 shared:Ini.obj + 0002:00126648 $LN5 0066a648 shared:Ini.obj + 0002:00126654 $LN4 0066a654 shared:Ini.obj + 0002:001267a4 $LN9 0066a7a4 shared:Ini.obj + 0002:001267ac $LN8 0066a7ac shared:Ini.obj + 0002:001267b8 $LN7 0066a7b8 shared:Ini.obj + 0002:00126924 $LN9 0066a924 shared:Ini.obj + 0002:0012692c $LN8 0066a92c shared:Ini.obj + 0002:00126938 $LN7 0066a938 shared:Ini.obj + 0002:0012718c $LN7 0066b18c shared:Ini.obj + 0002:00127194 $LN6 0066b194 shared:Ini.obj + 0002:001271a0 $LN5 0066b1a0 shared:Ini.obj + 0002:0012737c $LN7 0066b37c shared:Ini.obj + 0002:00127384 $LN6 0066b384 shared:Ini.obj + 0002:00127390 $LN5 0066b390 shared:Ini.obj + 0002:001279bc $LN8 0066b9bc shared:Ini.obj + 0002:001279c4 $LN7 0066b9c4 shared:Ini.obj + 0002:001279d0 $LN6 0066b9d0 shared:Ini.obj + 0002:00127afc $LN8 0066bafc shared:Ini.obj + 0002:00127b04 $LN7 0066bb04 shared:Ini.obj + 0002:00127b10 $LN6 0066bb10 shared:Ini.obj + 0002:00128aa4 __catch$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z$0 0066caa4 f i shared:Ini.obj + 0002:00128b50 $LN25 0066cb50 shared:Ini.obj + 0002:00128b58 $LN24 0066cb58 shared:Ini.obj + 0002:00128b7c $LN22 0066cb7c shared:Ini.obj + 0002:00128b82 $LN21 0066cb82 shared:Ini.obj + 0002:00128b8d $LN20 0066cb8d shared:Ini.obj + 0002:0012948c $LN6 0066d48c shared:Ini.obj + 0002:00129494 $LN5 0066d494 shared:Ini.obj + 0002:001294a0 $LN3 0066d4a0 shared:Ini.obj + 0002:0012959c $LN6 0066d59c shared:Ini.obj + 0002:001295a4 $LN5 0066d5a4 shared:Ini.obj + 0002:001295b0 $LN3 0066d5b0 shared:Ini.obj + 0002:00129698 $LN6 0066d698 shared:Ini.obj + 0002:001296a0 $LN5 0066d6a0 shared:Ini.obj + 0002:001296ac $LN3 0066d6ac shared:Ini.obj + 0002:0012a5e0 $LN9 0066e5e0 shared:Ini.obj + 0002:0012a5e8 $LN8 0066e5e8 shared:Ini.obj + 0002:0012a600 $LN6 0066e600 shared:Ini.obj + 0002:0012a607 $LN5 0066e607 shared:Ini.obj + 0002:0012bec8 $LN9 0066fec8 shared:Ini.obj + 0002:0012bed0 $LN8 0066fed0 shared:Ini.obj + 0002:0012bedc $LN6 0066fedc shared:Ini.obj + 0002:0012c018 $LN9 00670018 shared:Ini.obj + 0002:0012c020 $LN8 00670020 shared:Ini.obj + 0002:0012c02c $LN6 0067002c shared:Ini.obj + 0002:0012c5a4 $LN15 006705a4 shared:Ini.obj + 0002:0012c5ac $LN14 006705ac shared:Ini.obj + 0002:0012c5c4 $LN12 006705c4 shared:Ini.obj + 0002:0012c5cb $LN11 006705cb shared:Ini.obj + 0002:0012c8c0 $LN15 006708c0 shared:Ini.obj + 0002:0012c8c8 $LN14 006708c8 shared:Ini.obj + 0002:0012c8e0 $LN12 006708e0 shared:Ini.obj + 0002:0012c8e7 $LN11 006708e7 shared:Ini.obj + 0002:0012cee4 $LN38 00670ee4 shared:Ini.obj + 0002:0012ceec $LN37 00670eec shared:Ini.obj + 0002:0012cf34 $LN35 00670f34 shared:Ini.obj + 0002:0012cf38 $LN34 00670f38 shared:Ini.obj + 0002:0012cf3e $LN33 00670f3e shared:Ini.obj + 0002:0012cf42 $LN32 00670f42 shared:Ini.obj + 0002:0012cf47 $LN31 00670f47 shared:Ini.obj + 0002:0012cf56 $LN30 00670f56 shared:Ini.obj + 0002:0012d368 $LN21 00671368 shared:Ini.obj + 0002:0012d370 $LN20 00671370 shared:Ini.obj + 0002:0012d388 $LN18 00671388 shared:Ini.obj + 0002:0012d38f $LN17 0067138f shared:Ini.obj + 0002:0012d4ec $LN5 006714ec shared:Ini.obj + 0002:0012d4f4 $LN4 006714f4 shared:Ini.obj + 0002:0012d500 $LN3 00671500 shared:Ini.obj + 0002:0012d7c8 $LN16 006717c8 shared:Ini.obj + 0002:0012d7d0 $LN15 006717d0 shared:Ini.obj + 0002:0012d7dc $LN13 006717dc shared:Ini.obj + 0002:0012d980 $LN8 00671980 shared:Ini.obj + 0002:0012d988 $LN7 00671988 shared:Ini.obj + 0002:0012d9a0 $LN5 006719a0 shared:Ini.obj + 0002:0012d9a7 $LN4 006719a7 shared:Ini.obj + 0002:0012daf0 $LN8 00671af0 shared:Ini.obj + 0002:0012daf8 $LN7 00671af8 shared:Ini.obj + 0002:0012db10 $LN5 00671b10 shared:Ini.obj + 0002:0012db17 $LN4 00671b17 shared:Ini.obj + 0002:00131418 $LN6 00675418 shared:SocketWin32.obj + 0002:00131420 $LN5 00675420 shared:SocketWin32.obj + 0002:0013142c $LN4 0067542c shared:SocketWin32.obj + 0002:0013169c $LN15 0067569c shared:SocketWin32.obj + 0002:001316a4 $LN14 006756a4 shared:SocketWin32.obj + 0002:001316d4 $LN12 006756d4 shared:SocketWin32.obj + 0002:001316d8 $LN11 006756d8 shared:SocketWin32.obj + 0002:001316de $LN10 006756de shared:SocketWin32.obj + 0002:001316e7 $LN9 006756e7 shared:SocketWin32.obj + 0002:0013191c $LN14 0067591c shared:SocketWin32.obj + 0002:00131924 $LN13 00675924 shared:SocketWin32.obj + 0002:00131948 $LN11 00675948 shared:SocketWin32.obj + 0002:0013194c $LN10 0067594c shared:SocketWin32.obj + 0002:00131955 $LN9 00675955 shared:SocketWin32.obj + 0002:00132b50 $LN66 00676b50 shared:lzf.obj + 0002:00132b58 $LN65 00676b58 shared:lzf.obj + 0002:00132b64 $LN64 00676b64 shared:lzf.obj + 0002:001331dc $LN15 006771dc shared:OdbcParameter.obj + 0002:001331f8 $LN14 006771f8 shared:OdbcParameter.obj + 0002:00133e3c $LN21 00677e3c libcpmtd:xthrow.obj + 0002:001344d0 ?mtx_do_lock@@YAHPAU_Mtx_internal_imp_t@@PBUxtime@@@Z 006784d0 f libcpmtd:mutex.obj + 0002:001352e4 $LN9 006792e4 libcpmtd:thread0.obj + 0002:0013632c $LN11 0067a32c libcpmtd:syserror.obj + 0002:00136334 $LN10 0067a334 libcpmtd:syserror.obj + 0002:00137070 _tidy_global 0067b070 f libcpmtd:locale0.obj + 0002:00137d00 ?xtime_diff@@YA?AUxtime@@PBU1@0@Z 0067bd00 f libcpmtd:xtime.obj + 0002:00137e30 ?xtime_normalize@@YAXPAUxtime@@@Z 0067be30 f libcpmtd:xtime.obj + 0002:00138050 _sys_get_time 0067c050 f libcpmtd:xtime.obj + 0002:00138340 ?do_signal@@YAHPAU_Cnd_internal_imp_t@@H@Z 0067c340 f libcpmtd:cond.obj + 0002:001383c0 ?do_wait@@YAHPAU_Cnd_internal_imp_t@@PAU_Mtx_internal_imp_t@@PBUxtime@@@Z 0067c3c0 f libcpmtd:cond.obj + 0002:00138cf0 _run@4 0067ccf0 f libcpmtd:cthread.obj + 0002:00139140 ?initialize_pointers@@YAHXZ 0067d140 f libcpmtd:winapisupp.obj + 0002:001565c0 $LN130 0069a5c0 libcpmtd:wlocale.obj + 0002:001565d4 $LN129 0069a5d4 libcpmtd:wlocale.obj + 0002:001579d0 $LN130 0069b9d0 libcpmtd:wlocale.obj + 0002:001579e4 $LN129 0069b9e4 libcpmtd:wlocale.obj + 0002:0015d0c8 $LN78 006a10c8 libcpmtd:wlocale.obj + 0002:0015d0e0 $LN77 006a10e0 libcpmtd:wlocale.obj + 0002:0015d13c $LN81 006a113c libcpmtd:wlocale.obj + 0002:0015d154 $LN80 006a1154 libcpmtd:wlocale.obj + 0002:0015e2e8 $LN78 006a22e8 libcpmtd:wlocale.obj + 0002:0015e300 $LN77 006a2300 libcpmtd:wlocale.obj + 0002:0015e35c $LN81 006a235c libcpmtd:wlocale.obj + 0002:0015e374 $LN80 006a2374 libcpmtd:wlocale.obj + 0002:00163a10 $LN43 006a7a10 libcpmtd:wlocale.obj + 0002:00163a70 $LN42 006a7a70 libcpmtd:wlocale.obj + 0002:001643c0 $LN43 006a83c0 libcpmtd:wlocale.obj + 0002:00164420 $LN42 006a8420 libcpmtd:wlocale.obj + 0002:0016f7b4 $LN130 006b37b4 libcpmtd:xlocale.obj + 0002:0016f7c8 $LN129 006b37c8 libcpmtd:xlocale.obj + 0002:00171784 $LN78 006b5784 libcpmtd:xlocale.obj + 0002:0017179c $LN77 006b579c libcpmtd:xlocale.obj + 0002:001717f8 $LN81 006b57f8 libcpmtd:xlocale.obj + 0002:00171810 $LN80 006b5810 libcpmtd:xlocale.obj + 0002:001729c0 $LN43 006b69c0 libcpmtd:xlocale.obj + 0002:00172a20 $LN42 006b6a20 libcpmtd:xlocale.obj + 0002:00175850 __Decode_utf8_trailing_byte 006b9850 f libcpmtd:xmbtowc.obj + 0002:00175b90 __Utf8_trailing_byte_count 006b9b90 f libcpmtd:xmbtowc.obj + 0002:00176cc0 ?DebuggerProbe@@YA_NK@Z 006bacc0 f LIBCMTD:error.obj + 0002:00176d10 ?DebuggerRuntime@@YA_NKHPAXPB_W@Z 006bad10 f LIBCMTD:error.obj + 0002:00176fe0 ?_getMemBlockDataString@@YAXPAD0PBDI@Z 006bafe0 f LIBCMTD:error.obj + 0002:00177070 ?_strlen_priv@@YAIPBD@Z 006bb070 f LIBCMTD:error.obj + 0002:00177090 ?failwithmessage@@YAXPAXHHPBD@Z 006bb090 f LIBCMTD:error.obj + 0002:00177310 ?notify_debugger@@YAXABUtagEXCEPTION_VISUALCPP_DEBUG_INFO@@@Z 006bb310 f LIBCMTD:error.obj + 0002:00177740 ?ArrayUnwindFilter@@YAHPAU_EXCEPTION_POINTERS@@@Z 006bb740 f LIBCMTD:ehvecdtr.obj + 0002:001778e0 ?find_pe_section@@YAPAU_IMAGE_SECTION_HEADER@@QAEI@Z 006bb8e0 f LIBCMTD:utility.obj + 0002:001779a0 ?is_potentially_valid_image_base@@YA_NQAX@Z 006bb9a0 f LIBCMTD:utility.obj + 0002:001784d0 $$000000 006bc4d0 LIBCMTD:chkstk.obj + 0002:00178510 ?__scrt_initialize_thread_safe_statics@@YAHXZ 006bc510 f LIBCMTD:thread_safe_statics.obj + 0002:00178550 ?__scrt_initialize_thread_safe_statics_platform_specific@@YAXXZ 006bc550 f LIBCMTD:thread_safe_statics.obj + 0002:00178630 ?__scrt_uninitialize_thread_safe_statics@@YAXXZ 006bc630 f LIBCMTD:thread_safe_statics.obj + 0002:001788d0 $$000000 006bc8d0 LIBCMTD:ftol2.obj + 0002:001789c0 ?pre_c_initialization@@YAHXZ 006bc9c0 f LIBCMTD:exe_main.obj + 0002:00178aa0 ?post_pgo_initialization@@YAHXZ 006bcaa0 f LIBCMTD:exe_main.obj + 0002:00178ab0 ?pre_cpp_initialization@@YAXXZ 006bcab0 f LIBCMTD:exe_main.obj + 0002:00178ad0 ?__scrt_common_main@@YAHXZ 006bcad0 f LIBCMTD:exe_main.obj + 0002:00178af0 ?__scrt_common_main_seh@@YAHXZ 006bcaf0 f LIBCMTD:exe_main.obj + 0002:00178d90 ?invoke_main@@YAHXZ 006bcd90 f LIBCMTD:exe_main.obj + 0002:00178ea0 $$000000 006bcea0 LIBCMTD:llshl.obj + 0002:00178ed0 $$000000 006bced0 LIBCMTD:ulldiv.obj + 0002:00178f60 $$000000 006bcf60 LIBCMTD:ullrem.obj + 0002:00179000 $$000000 006bd000 LIBCMTD:ullshr.obj + 0002:00179030 $$000000 006bd030 LIBCMTD:lldiv.obj + 0002:00179110 $$000000 006bd110 LIBCMTD:llmul.obj + 0002:00179160 $$000000 006bd160 LIBCMTD:ftol3.obj + 0002:001797b0 ?GetPdbDll@@YAPAUHINSTANCE__@@XZ 006bd7b0 f LIBCMTD:pdblkup.obj + 0002:00179940 ?GetPdbDllFromInstallPath@@YAPAUHINSTANCE__@@XZ 006bd940 f LIBCMTD:pdblkup.obj + 0002:00179c30 ?GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z 006bdc30 f LIBCMTD:pdblkup.obj + 0002:0017a960 ___get_entropy 006be960 f LIBCMTD:gs_support.obj + 0002:0017d01c $LN24 006c101c libconcrtd:rtlocks.obj + 0002:0017d19c $LN24 006c119c libconcrtd:rtlocks.obj + 0002:00197a44 $LN24 006dba44 libconcrtd:SchedulerBase.obj + 0002:001982d7 __catch$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z$0 006dc2d7 f libconcrtd:SchedulerBase.obj + 0002:001ab120 $LN17 006ef120 libconcrtd:TaskCollection.obj + 0002:001aca85 __catch$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$0 006f0a85 f libconcrtd:TaskCollection.obj + 0002:001acb02 __catch$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$1 006f0b02 f libconcrtd:TaskCollection.obj + 0002:001ad2e0 __catch$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$0 006f12e0 f libconcrtd:TaskCollection.obj + 0002:001ad310 __catch$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$1 006f1310 f libconcrtd:TaskCollection.obj + 0002:001ad9a5 __catch$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z$0 006f19a5 f libconcrtd:TaskCollection.obj + 0002:001adcad __catch$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z$0 006f1cad f libconcrtd:TaskCollection.obj + 0002:001ae9a8 __catch$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z$0 006f29a8 f libconcrtd:SchedulerPolicyBase.obj + 0002:001aeddc $LN27 006f2ddc libconcrtd:SchedulerPolicyBase.obj + 0002:001b7988 $LN15 006fb988 libconcrtd:Trace.obj + 0002:001bc1bc $LN78 007001bc libconcrtd:InternalContextBase.obj + 0002:001cd023 __catch$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$0 00711023 f libconcrtd:Chores.obj + 0002:001cd055 __catch$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$1 00711055 f libconcrtd:Chores.obj + 0002:001cd4d6 __catch$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$0 007114d6 f libconcrtd:Chores.obj + 0002:001cd525 __catch$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$1 00711525 f libconcrtd:Chores.obj + 0002:001cd578 __catch$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$3 00711578 f libconcrtd:Chores.obj + 0002:001cd5b3 __catch$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$4 007115b3 f libconcrtd:Chores.obj + 0002:001d33f4 $LN13 007173f4 libconcrtd:location.obj + 0002:001d3500 $LN15 00717500 libconcrtd:location.obj + 0002:001d4d48 __catch$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z$0 00718d48 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d6308 $LN59 0071a308 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:001d7050 $$000000 0071b050 libvcruntimed:memcpy.obj + 0002:001d72b4 TrailingUpVec 0071b2b4 libvcruntimed:memcpy.obj + 0002:001d7360 TrailingDownVec 0071b360 libvcruntimed:memcpy.obj + 0002:001d7730 $$000000 0071b730 libvcruntimed:memmove.obj + 0002:001d7994 TrailingUpVec 0071b994 libvcruntimed:memmove.obj + 0002:001d7a40 TrailingDownVec 0071ba40 libvcruntimed:memmove.obj + 0002:001d7e10 $$000000 0071be10 libvcruntimed:memset.obj + 0002:001d8bc0 _cmpBYTE 0071cbc0 f libvcruntimed:memcmp.obj + 0002:001d8c00 _cmpDWORD 0071cc00 f libvcruntimed:memcmp.obj + 0002:001d8d00 _cmpResult 0071cd00 f libvcruntimed:memcmp.obj + 0002:001d8d40 _cmpWORD 0071cd40 f libvcruntimed:memcmp.obj + 0002:001d8f74 $LN22 0071cf74 libvcruntimed:memcmp.obj + 0002:001d9000 _unaligned_memcmp 0071d000 f libvcruntimed:memcmp.obj + 0002:001d9684 $LN79 0071d684 libvcruntimed:memcmp.obj + 0002:001d98d0 $$000000 0071d8d0 libvcruntimed:memchr.obj + 0002:001d9a10 _ValidateLocalCookies 0071da10 f libvcruntimed:chandler4.obj + 0002:001d9da0 _init_memcpy_functions 0071dda0 f libvcruntimed:initialization.obj + 0002:001d9ff0 ??R@?1??__std_type_info_name@@YAPBDPAU__std_type_info_data@@PAU__type_info_node@@@Z@QBEPAXI@Z 0071dff0 f libvcruntimed:std_type_info.obj + 0002:001da020 ??R@?1??__std_type_info_name@@YAPBDPAU__std_type_info_data@@PAU__type_info_node@@@Z@QBEXQAX@Z 0071e020 f libvcruntimed:std_type_info.obj + 0002:001da690 ?FindCompleteObject@@YAPAXPAX@Z 0071e690 f libvcruntimed:rtti.obj + 0002:001da700 ?FindMITargetTypeInstance@@YAPBU_s_RTTIBaseClassDescriptor@@PAXPBU_s_RTTICompleteObjectLocator@@PAUTypeDescriptor@@H2@Z 0071e700 f libvcruntimed:rtti.obj + 0002:001da910 ?FindSITargetTypeInstance@@YAPBU_s_RTTIBaseClassDescriptor@@PBU_s_RTTICompleteObjectLocator@@PAUTypeDescriptor@@1@Z 0071e910 f libvcruntimed:rtti.obj + 0002:001daac0 ?FindVITargetTypeInstance@@YAPBU_s_RTTIBaseClassDescriptor@@PAXPBU_s_RTTICompleteObjectLocator@@PAUTypeDescriptor@@H2@Z 0071eac0 f libvcruntimed:rtti.obj + 0002:001dad60 ?GetCompleteObjectLocatorFromObject@@YAPBU_s_RTTICompleteObjectLocator@@PAX@Z 0071ed60 f libvcruntimed:rtti.obj + 0002:001dad90 ?PMDtoOffset@@YAHPAXABUPMD@@@Z 0071ed90 f libvcruntimed:rtti.obj + 0002:001dadf0 ?TypeidsEqual@@YA_NQBUTypeDescriptor@@0@Z 0071edf0 f libvcruntimed:rtti.obj + 0002:001db390 ??0scoped_get_last_error_reset@?A0x84d39541@@QAE@XZ 0071f390 f libvcruntimed:per_thread_data.obj + 0002:001db3d0 ??1scoped_get_last_error_reset@?A0x84d39541@@QAE@XZ 0071f3d0 f libvcruntimed:per_thread_data.obj + 0002:001db4d0 ?store_and_initialize_ptd@@YA_NQAU__vcrt_ptd@@@Z 0071f4d0 f libvcruntimed:per_thread_data.obj + 0002:001db890 ??$BuildCatchObjectHelperInternal@V__FrameHandler3@@@@YAHPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 0071f890 f libvcruntimed:frame.obj + 0002:001dbc90 ??$BuildCatchObjectInternal@V__FrameHandler3@@@@YAXPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 0071fc90 f libvcruntimed:frame.obj + 0002:001dbe00 ??$CatchIt@V__FrameHandler3@@@@YAXPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PAXPBU_s_FuncInfo@@PBU_s_HandlerType@@PBU_s_CatchableType@@PBU_s_TryBlockMapEntry@@H1EE@Z 0071fe00 f libvcruntimed:frame.obj + 0002:001dbf00 ??$FindHandler@V__FrameHandler3@@@@YAXPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PAXPBU_s_FuncInfo@@EH1@Z 0071ff00 f libvcruntimed:frame.obj + 0002:001dc580 ??$FindHandlerForForeignException@V__FrameHandler3@@@@YAXPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PAXPBU_s_FuncInfo@@HH1@Z 00720580 f libvcruntimed:frame.obj + 0002:001dcee0 ?CallCatchBlock@@YAPAXPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PBU_s_FuncInfo@@PAXHK@Z 00720ee0 f libvcruntimed:frame.obj + 0002:001dd1f0 ?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z 007211f0 f libvcruntimed:frame.obj + 0002:001dd237 __catch$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z$0 00721237 f libvcruntimed:frame.obj + 0002:001dd2a0 ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z 007212a0 f libvcruntimed:frame.obj + 0002:001dd550 ?IsInExceptionSpec@@YAEPAUEHExceptionRecord@@PBU_s_ESTypeList@@@Z 00721550 f libvcruntimed:frame.obj + 0002:001dd630 ?Is_bad_exception_allowed@@YAEPBU_s_ESTypeList@@@Z 00721630 f libvcruntimed:frame.obj + 0002:001dd960 $$000000 00721960 libvcruntimed:lowhelpr.obj + 0002:001dd9c0 ___except_get_jumpbuf_sp 007219c0 f libvcruntimed:jbcxrval.obj + 0002:001ddac0 $$000000 00721ac0 libvcruntimed:exsup4.obj + 0002:001ddb50 __unwind_handler4 00721b50 f libvcruntimed:exsup4.obj + 0002:001de550 ??0TrackRecursion@?1??getDecoratedName@UnDecorator@@CA?AVDName@@XZ@QAE@XZ 00722550 f libvcruntimed:undname.obj + 0002:001de7f0 ??1TrackRecursion@?1??getDecoratedName@UnDecorator@@CA?AVDName@@XZ@QAE@XZ 007227f0 f libvcruntimed:undname.obj + 0002:001e28e4 $LN57 007268e4 libvcruntimed:undname.obj + 0002:001e2910 $LN56 00726910 libvcruntimed:undname.obj + 0002:001e2930 $LN59 00726930 libvcruntimed:undname.obj + 0002:001e2970 $LN58 00726970 libvcruntimed:undname.obj + 0002:001e29cc $LN61 007269cc libvcruntimed:undname.obj + 0002:001e29dc $LN60 007269dc libvcruntimed:undname.obj + 0002:001e29fc $LN63 007269fc libvcruntimed:undname.obj + 0002:001e2a04 $LN62 00726a04 libvcruntimed:undname.obj + 0002:001e2f00 $LN21 00726f00 libvcruntimed:undname.obj + 0002:001e2f2c $LN20 00726f2c libvcruntimed:undname.obj + 0002:001e37c0 $LN79 007277c0 libvcruntimed:undname.obj + 0002:001e4640 $LN16 00728640 libvcruntimed:undname.obj + 0002:001e4660 $LN15 00728660 libvcruntimed:undname.obj + 0002:001e4864 $LN16 00728864 libvcruntimed:undname.obj + 0002:001e4884 $LN18 00728884 libvcruntimed:undname.obj + 0002:001e488c $LN17 0072888c libvcruntimed:undname.obj + 0002:001e6104 $LN64 0072a104 libvcruntimed:undname.obj + 0002:001e6120 $LN63 0072a120 libvcruntimed:undname.obj + 0002:001e6180 $LN66 0072a180 libvcruntimed:undname.obj + 0002:001e61b4 $LN65 0072a1b4 libvcruntimed:undname.obj + 0002:001e6214 $LN67 0072a214 libvcruntimed:undname.obj + 0002:001e6228 $LN69 0072a228 libvcruntimed:undname.obj + 0002:001e6234 $LN68 0072a234 libvcruntimed:undname.obj + 0002:001e6878 $LN30 0072a878 libvcruntimed:undname.obj + 0002:001e688c $LN29 0072a88c libvcruntimed:undname.obj + 0002:001e68d0 $LN32 0072a8d0 libvcruntimed:undname.obj + 0002:001e68f8 $LN31 0072a8f8 libvcruntimed:undname.obj + 0002:001e7614 $LN40 0072b614 libvcruntimed:undname.obj + 0002:001e762c $LN39 0072b62c libvcruntimed:undname.obj + 0002:001e8178 $LN27 0072c178 libvcruntimed:undname.obj + 0002:001e818c $LN26 0072c18c libvcruntimed:undname.obj + 0002:001e8a2c $LN39 0072ca2c libvcruntimed:undname.obj + 0002:001e8a58 $LN38 0072ca58 libvcruntimed:undname.obj + 0002:001e8ab0 $LN40 0072cab0 libvcruntimed:undname.obj + 0002:001e8ac4 $LN41 0072cac4 libvcruntimed:undname.obj + 0002:001e981c $LN117 0072d81c libvcruntimed:undname.obj + 0002:001e9838 $LN119 0072d838 libvcruntimed:undname.obj + 0002:001e9860 $LN118 0072d860 libvcruntimed:undname.obj + 0002:001e98b4 $LN121 0072d8b4 libvcruntimed:undname.obj + 0002:001e98cc $LN120 0072d8cc libvcruntimed:undname.obj + 0002:001e9938 $LN122 0072d938 libvcruntimed:undname.obj + 0002:001eabf0 ?und_memcpy@@YAXPADPBDI@Z 0072ebf0 f libvcruntimed:undname.obj + 0002:001eac40 ?und_strlen@@YAIPBD@Z 0072ec40 f libvcruntimed:undname.obj + 0002:001eac80 ?und_strncmp@@YAIPBD0I@Z 0072ec80 f libvcruntimed:undname.obj + 0002:001eaf20 ?invalid_function_sentinel@@YAPAXXZ 0072ef20 f libvcruntimed:winapi_downlevel.obj + 0002:001eaf30 ?try_get_FlsAlloc@@YAP6GKP6GXPAX@Z@ZXZ 0072ef30 f libvcruntimed:winapi_downlevel.obj + 0002:001eaf60 ?try_get_FlsFree@@YAP6GHK@ZXZ 0072ef60 f libvcruntimed:winapi_downlevel.obj + 0002:001eaf90 ?try_get_FlsGetValue@@YAP6GPAXK@ZXZ 0072ef90 f libvcruntimed:winapi_downlevel.obj + 0002:001eafc0 ?try_get_FlsSetValue@@YAP6GHKPAX@ZXZ 0072efc0 f libvcruntimed:winapi_downlevel.obj + 0002:001eaff0 ?try_get_InitializeCriticalSectionEx@@YAP6GHPAU_RTL_CRITICAL_SECTION@@KK@ZXZ 0072eff0 f libvcruntimed:winapi_downlevel.obj + 0002:001eb020 ?try_get_first_available_module@@YAPAUHINSTANCE__@@QBW4module_id@?A0x09dcfcb8@@0@Z 0072f020 f libvcruntimed:winapi_downlevel.obj + 0002:001eb080 ?try_get_function@@YAPAXW4function_id@?A0x09dcfcb8@@QBDQBW4module_id@2@2@Z 0072f080 f libvcruntimed:winapi_downlevel.obj + 0002:001eb1d0 ?try_get_module@@YAPAUHINSTANCE__@@W4module_id@?A0x09dcfcb8@@@Z 0072f1d0 f libvcruntimed:winapi_downlevel.obj + 0002:001eb310 ?try_get_proc_address_from_first_available_module@@YAPAXQBDQBW4module_id@?A0x09dcfcb8@@1@Z 0072f310 f libvcruntimed:winapi_downlevel.obj + 0002:001eb350 ?try_load_library_from_system_directory@@YAPAUHINSTANCE__@@QB_W@Z 0072f350 f libvcruntimed:winapi_downlevel.obj + 0002:001eb580 ?get_unexpected_or_default@@YAP6AXXZQBU__vcrt_ptd@@@Z 0072f580 f libvcruntimed:unexpected.obj + 0002:001ebbd0 $$000000 0072fbd0 libvcruntimed:exsup.obj + 0002:001ebbf1 __unwind_handler 0072fbf1 f libvcruntimed:exsup.obj + 0002:001ec390 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00730390 f libucrtd:dbgrpt.obj + 0002:001ec440 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00730440 f libucrtd:dbgrpt.obj + 0002:001ec4f0 ??$__acrt_lock_and_call@V@@@@YAHW4__acrt_lock_id@@$$QAV@@@Z 007304f0 f libucrtd:dbgrpt.obj + 0002:001ec530 ??$__acrt_lock_and_call@V@@@@YAHW4__acrt_lock_id@@$$QAV@@@Z 00730530 f libucrtd:dbgrpt.obj + 0002:001ec590 ??$common_message_window@D@@YAHHQAXQBD111@Z 00730590 f libucrtd:dbgrpt.obj + 0002:001ecbb0 ??$common_message_window@_W@@YAHHQAXQB_W111@Z 00730bb0 f libucrtd:dbgrpt.obj + 0002:001ed1f0 ??$common_set_report_hook@DP6AHHPADPAH@Z@@YAHHQ6AHHPADPAH@Z@Z 007311f0 f libucrtd:dbgrpt.obj + 0002:001ed360 ??$common_set_report_hook@_WP6AHHPA_WPAH@Z@@YAHHQ6AHHPA_WPAH@Z@Z 00731360 f libucrtd:dbgrpt.obj + 0002:001ed610 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00731610 f libucrtd:dbgrpt.obj + 0002:001ed640 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00731640 f libucrtd:dbgrpt.obj + 0002:001ed670 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00731670 f libucrtd:dbgrpt.obj + 0002:001ed6a0 ??0@@QAE@ABQ6AHHPADPAH@ZABH@Z 007316a0 f libucrtd:dbgrpt.obj + 0002:001ed6d0 ??0@@QAE@ABQ6AHHPA_WPAH@ZABH@Z 007316d0 f libucrtd:dbgrpt.obj + 0002:001ed700 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00731700 f libucrtd:dbgrpt.obj + 0002:001ed7f0 ??R@@QBEXXZ 007317f0 f libucrtd:dbgrpt.obj + 0002:001ed820 ??R@@QBEXXZ 00731820 f libucrtd:dbgrpt.obj + 0002:001ed850 ??R@@QBEXXZ 00731850 f libucrtd:dbgrpt.obj + 0002:001ed880 ??R@@QBEHXZ 00731880 f libucrtd:dbgrpt.obj + 0002:001edb60 ??R@@QBEHXZ 00731b60 f libucrtd:dbgrpt.obj + 0002:001ede40 ??R@@QBEXXZ 00731e40 f libucrtd:dbgrpt.obj + 0002:001edf10 ?get_output_message_format@@YAPB_WD@Z 00731f10 f libucrtd:dbgrpt.obj + 0002:001edf20 ?get_output_message_format@@YAPB_W_W@Z 00731f20 f libucrtd:dbgrpt.obj + 0002:001edf30 ?get_program_name_unknown_text@@YAPBDD@Z 00731f30 f libucrtd:dbgrpt.obj + 0002:001edf40 ?get_program_name_unknown_text@@YAPB_W_W@Z 00731f40 f libucrtd:dbgrpt.obj + 0002:001edf50 ?get_report_hook_list@@YAAAPAU?$__crt_report_hook_node@D@@D@Z 00731f50 f libucrtd:dbgrpt.obj + 0002:001edf60 ?get_report_hook_list@@YAAAPAU?$__crt_report_hook_node@_W@@_W@Z 00731f60 f libucrtd:dbgrpt.obj + 0002:001eece0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00732ce0 f libucrtd:output.obj + 0002:001eed90 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00732d90 f libucrtd:output.obj + 0002:001eee40 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00732e40 f libucrtd:output.obj + 0002:001eeef0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00732ef0 f libucrtd:output.obj + 0002:001eefa0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00732fa0 f libucrtd:output.obj + 0002:001ef050 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00733050 f libucrtd:output.obj + 0002:001ef100 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00733100 f libucrtd:output.obj + 0002:001ef140 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00733140 f libucrtd:output.obj + 0002:001ef180 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00733180 f libucrtd:output.obj + 0002:001ef1c0 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 007331c0 f libucrtd:output.obj + 0002:001ef200 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00733200 f libucrtd:output.obj + 0002:001ef240 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00733240 f libucrtd:output.obj + 0002:001ef2a0 ??$common_vfprintf@Vformat_validation_base@__crt_stdio_output@@D@@YAH_KQAU_iobuf@@QBDQAU__crt_locale_pointers@@QAD@Z 007332a0 f libucrtd:output.obj + 0002:001ef410 ??$common_vfprintf@Vformat_validation_base@__crt_stdio_output@@_W@@YAH_KQAU_iobuf@@QB_WQAU__crt_locale_pointers@@QAD@Z 00733410 f libucrtd:output.obj + 0002:001ef580 ??$common_vfprintf@Vpositional_parameter_base@__crt_stdio_output@@D@@YAH_KQAU_iobuf@@QBDQAU__crt_locale_pointers@@QAD@Z 00733580 f libucrtd:output.obj + 0002:001ef6f0 ??$common_vfprintf@Vpositional_parameter_base@__crt_stdio_output@@_W@@YAH_KQAU_iobuf@@QB_WQAU__crt_locale_pointers@@QAD@Z 007336f0 f libucrtd:output.obj + 0002:001ef860 ??$common_vfprintf@Vstandard_base@__crt_stdio_output@@D@@YAH_KQAU_iobuf@@QBDQAU__crt_locale_pointers@@QAD@Z 00733860 f libucrtd:output.obj + 0002:001ef9d0 ??$common_vfprintf@Vstandard_base@__crt_stdio_output@@_W@@YAH_KQAU_iobuf@@QB_WQAU__crt_locale_pointers@@QAD@Z 007339d0 f libucrtd:output.obj + 0002:001efb40 ??$common_vsnprintf_s@D@@YAH_KQADIIQBDQAU__crt_locale_pointers@@1@Z 00733b40 f libucrtd:output.obj + 0002:001f0000 ??$common_vsnprintf_s@_W@@YAH_KQA_WIIQB_WQAU__crt_locale_pointers@@QAD@Z 00734000 f libucrtd:output.obj + 0002:001f04d0 ??$common_vsprintf@Vformat_validation_base@__crt_stdio_output@@D@@YAH_KQADIQBDQAU__crt_locale_pointers@@1@Z 007344d0 f libucrtd:output.obj + 0002:001f0a10 ??$common_vsprintf@Vformat_validation_base@__crt_stdio_output@@_W@@YAH_KQA_WIQB_WQAU__crt_locale_pointers@@QAD@Z 00734a10 f libucrtd:output.obj + 0002:001f0f70 ??$common_vsprintf@Vpositional_parameter_base@__crt_stdio_output@@D@@YAH_KQADIQBDQAU__crt_locale_pointers@@1@Z 00734f70 f libucrtd:output.obj + 0002:001f14b0 ??$common_vsprintf@Vpositional_parameter_base@__crt_stdio_output@@_W@@YAH_KQA_WIQB_WQAU__crt_locale_pointers@@QAD@Z 007354b0 f libucrtd:output.obj + 0002:001f1a10 ??$common_vsprintf@Vstandard_base@__crt_stdio_output@@D@@YAH_KQADIQBDQAU__crt_locale_pointers@@1@Z 00735a10 f libucrtd:output.obj + 0002:001f1f50 ??$common_vsprintf@Vstandard_base@__crt_stdio_output@@_W@@YAH_KQA_WIQB_WQAU__crt_locale_pointers@@QAD@Z 00735f50 f libucrtd:output.obj + 0002:001f24b0 ??$common_vsprintf_s@D@@YAH_KQADIQBDQAU__crt_locale_pointers@@1@Z 007364b0 f libucrtd:output.obj + 0002:001f27e0 ??$common_vsprintf_s@_W@@YAH_KQA_WIQB_WQAU__crt_locale_pointers@@QAD@Z 007367e0 f libucrtd:output.obj + 0002:001f62c0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a2c0 f libucrtd:output.obj + 0002:001f62f0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a2f0 f libucrtd:output.obj + 0002:001f6470 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a470 f libucrtd:output.obj + 0002:001f64a0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a4a0 f libucrtd:output.obj + 0002:001f64d0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a4d0 f libucrtd:output.obj + 0002:001f6500 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a500 f libucrtd:output.obj + 0002:001f6680 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a680 f libucrtd:output.obj + 0002:001f66b0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a6b0 f libucrtd:output.obj + 0002:001f66e0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a6e0 f libucrtd:output.obj + 0002:001f6710 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a710 f libucrtd:output.obj + 0002:001f6890 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a890 f libucrtd:output.obj + 0002:001f68c0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a8c0 f libucrtd:output.obj + 0002:001f68f0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a8f0 f libucrtd:output.obj + 0002:001f6920 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073a920 f libucrtd:output.obj + 0002:001f6aa0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073aaa0 f libucrtd:output.obj + 0002:001f6ad0 ??$extract_argument_from_va_list@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@PAU1?1??234@AAE_NXZ@@?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@IAE_NAAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073aad0 f libucrtd:output.obj + 0002:001f8f00 ??$get_parameter_type@Uansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073cf00 f libucrtd:output.obj + 0002:001f8f10 ??$get_parameter_type@Uansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073cf10 f libucrtd:output.obj + 0002:001f8f20 ??$get_parameter_type@Uansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073cf20 f libucrtd:output.obj + 0002:001f8f30 ??$get_parameter_type@Uansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@__crt_stdio_output@@CA?AW4parameter_type@01@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@1@AAE_NXZ@@Z 0073cf30 f libucrtd:output.obj + 0002:001f96b0 ??$peek_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@PAD@Z 0073d6b0 f libucrtd:output.obj + 0002:001f96d0 ??$peek_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@PAD@Z 0073d6d0 f libucrtd:output.obj + 0002:001f96f0 ??$peek_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@PAD@Z 0073d6f0 f libucrtd:output.obj + 0002:001f9710 ??$peek_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@PAD@Z 0073d710 f libucrtd:output.obj + 0002:001f9980 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073d980 f libucrtd:output.obj + 0002:001f99b0 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073d9b0 f libucrtd:output.obj + 0002:001f99e0 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$stream_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$stream_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073d9e0 f libucrtd:output.obj + 0002:001f9a10 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$format_validation_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073da10 f libucrtd:output.obj + 0002:001f9a40 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$positional_parameter_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073da40 f libucrtd:output.obj + 0002:001f9a70 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@DV?$string_output_adapter@D@__crt_stdio_output@@V?$standard_base@DV?$string_output_adapter@D@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073da70 f libucrtd:output.obj + 0002:001f9aa0 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073daa0 f libucrtd:output.obj + 0002:001f9ad0 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073dad0 f libucrtd:output.obj + 0002:001f9b00 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$stream_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$stream_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073db00 f libucrtd:output.obj + 0002:001f9b30 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$format_validation_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073db30 f libucrtd:output.obj + 0002:001f9b60 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$positional_parameter_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073db60 f libucrtd:output.obj + 0002:001f9b90 ??$read_va_arg@PAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@__crt_stdio_output@@AAE_NXZ@@__crt_stdio_output@@YAPAUansi_string@?1??type_case_Z@?$output_processor@_WV?$string_output_adapter@_W@__crt_stdio_output@@V?$standard_base@_WV?$string_output_adapter@_W@__crt_stdio_output@@@2@@0@AAE_NXZ@AAPAD@Z 0073db90 f libucrtd:output.obj + 0002:001fbb30 ??0@@QAE@ABQAU_iobuf@@@Z 0073fb30 f libucrtd:output.obj + 0002:001fbb60 ??0@@QAE@ABQAU_iobuf@@@Z 0073fb60 f libucrtd:output.obj + 0002:001fbb90 ??0@@QAE@ABQAU_iobuf@@@Z 0073fb90 f libucrtd:output.obj + 0002:001fbbc0 ??0@@QAE@ABQAU_iobuf@@@Z 0073fbc0 f libucrtd:output.obj + 0002:001fbbf0 ??0@@QAE@ABQAU_iobuf@@@Z 0073fbf0 f libucrtd:output.obj + 0002:001fbc20 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQB_WABQAD@Z 0073fc20 f libucrtd:output.obj + 0002:001fbc70 ??0@@QAE@ABQAU_iobuf@@@Z 0073fc70 f libucrtd:output.obj + 0002:001fbca0 ??0@@QAE@ABQAU_iobuf@@@Z 0073fca0 f libucrtd:output.obj + 0002:001fbcd0 ??0@@QAE@ABQAU_iobuf@@@Z 0073fcd0 f libucrtd:output.obj + 0002:001fbd00 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQB_WABQAD@Z 0073fd00 f libucrtd:output.obj + 0002:001fbd50 ??0@@QAE@ABQAU_iobuf@@@Z 0073fd50 f libucrtd:output.obj + 0002:001fbd80 ??0@@QAE@ABQAU_iobuf@@@Z 0073fd80 f libucrtd:output.obj + 0002:001fbdb0 ??0@@QAE@ABQAU_iobuf@@@Z 0073fdb0 f libucrtd:output.obj + 0002:001fbde0 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQB_WABQAD@Z 0073fde0 f libucrtd:output.obj + 0002:001fbe30 ??0@@QAE@ABQAU_iobuf@@@Z 0073fe30 f libucrtd:output.obj + 0002:001fbe60 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQBDABQAD@Z 0073fe60 f libucrtd:output.obj + 0002:001fbeb0 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQBDABQAD@Z 0073feb0 f libucrtd:output.obj + 0002:001fbf00 ??0@@QAE@ABQAU_iobuf@@ABQAU__crt_locale_pointers@@AB_KABQBDABQAD@Z 0073ff00 f libucrtd:output.obj + 0002:001fcd30 ??R@@QBEXXZ 00740d30 f libucrtd:output.obj + 0002:001fcd60 ??R@@QBEXXZ 00740d60 f libucrtd:output.obj + 0002:001fcd90 ??R@@QBEXXZ 00740d90 f libucrtd:output.obj + 0002:001fcdc0 ??R@@QBEXXZ 00740dc0 f libucrtd:output.obj + 0002:001fcdf0 ??R@@QBEXXZ 00740df0 f libucrtd:output.obj + 0002:001fce20 ??R@@QBEHXZ 00740e20 f libucrtd:output.obj + 0002:001fcf40 ??R@@QBEXXZ 00740f40 f libucrtd:output.obj + 0002:001fcf70 ??R@@QBEXXZ 00740f70 f libucrtd:output.obj + 0002:001fcfa0 ??R@@QBEXXZ 00740fa0 f libucrtd:output.obj + 0002:001fcfd0 ??R@@QBEHXZ 00740fd0 f libucrtd:output.obj + 0002:001fd0f0 ??R@@QBEXXZ 007410f0 f libucrtd:output.obj + 0002:001fd120 ??R@@QBEXXZ 00741120 f libucrtd:output.obj + 0002:001fd150 ??R@@QBEXXZ 00741150 f libucrtd:output.obj + 0002:001fd180 ??R@@QBEHXZ 00741180 f libucrtd:output.obj + 0002:001fd2a0 ??R@@QBEXXZ 007412a0 f libucrtd:output.obj + 0002:001fd2d0 ??R@@QBEHXZ 007412d0 f libucrtd:output.obj + 0002:001fd3f0 ??R@@QBEHXZ 007413f0 f libucrtd:output.obj + 0002:001fd510 ??R@@QBEHXZ 00741510 f libucrtd:output.obj + 0002:00200584 $LN30 00744584 libucrtd:output.obj + 0002:002008d4 $LN30 007448d4 libucrtd:output.obj + 0002:00200c24 $LN30 00744c24 libucrtd:output.obj + 0002:00200f74 $LN30 00744f74 libucrtd:output.obj + 0002:002012c4 $LN30 007452c4 libucrtd:output.obj + 0002:00201614 $LN30 00745614 libucrtd:output.obj + 0002:00201964 $LN30 00745964 libucrtd:output.obj + 0002:00201cb4 $LN30 00745cb4 libucrtd:output.obj + 0002:00202004 $LN30 00746004 libucrtd:output.obj + 0002:00202354 $LN30 00746354 libucrtd:output.obj + 0002:002026a4 $LN30 007466a4 libucrtd:output.obj + 0002:002029f4 $LN30 007469f4 libucrtd:output.obj + 0002:00203498 $LN11 00747498 libucrtd:output.obj + 0002:002034b0 $LN10 007474b0 libucrtd:output.obj + 0002:00203568 $LN11 00747568 libucrtd:output.obj + 0002:00203580 $LN10 00747580 libucrtd:output.obj + 0002:00203638 $LN11 00747638 libucrtd:output.obj + 0002:00203650 $LN10 00747650 libucrtd:output.obj + 0002:00203708 $LN11 00747708 libucrtd:output.obj + 0002:00203720 $LN10 00747720 libucrtd:output.obj + 0002:002037d8 $LN11 007477d8 libucrtd:output.obj + 0002:002037f0 $LN10 007477f0 libucrtd:output.obj + 0002:002038a8 $LN11 007478a8 libucrtd:output.obj + 0002:002038c0 $LN10 007478c0 libucrtd:output.obj + 0002:00203978 $LN11 00747978 libucrtd:output.obj + 0002:00203990 $LN10 00747990 libucrtd:output.obj + 0002:00203a48 $LN11 00747a48 libucrtd:output.obj + 0002:00203a60 $LN10 00747a60 libucrtd:output.obj + 0002:00203b18 $LN11 00747b18 libucrtd:output.obj + 0002:00203b30 $LN10 00747b30 libucrtd:output.obj + 0002:00203be8 $LN11 00747be8 libucrtd:output.obj + 0002:00203c00 $LN10 00747c00 libucrtd:output.obj + 0002:00203cb8 $LN11 00747cb8 libucrtd:output.obj + 0002:00203cd0 $LN10 00747cd0 libucrtd:output.obj + 0002:00203d88 $LN11 00747d88 libucrtd:output.obj + 0002:00203da0 $LN10 00747da0 libucrtd:output.obj + 0002:002062a8 $LN37 0074a2a8 libucrtd:output.obj + 0002:002062d0 $LN36 0074a2d0 libucrtd:output.obj + 0002:00206768 $LN37 0074a768 libucrtd:output.obj + 0002:00206790 $LN36 0074a790 libucrtd:output.obj + 0002:00206c28 $LN37 0074ac28 libucrtd:output.obj + 0002:00206c50 $LN36 0074ac50 libucrtd:output.obj + 0002:002070e8 $LN37 0074b0e8 libucrtd:output.obj + 0002:00207110 $LN36 0074b110 libucrtd:output.obj + 0002:002075a8 $LN37 0074b5a8 libucrtd:output.obj + 0002:002075d0 $LN36 0074b5d0 libucrtd:output.obj + 0002:00207a68 $LN37 0074ba68 libucrtd:output.obj + 0002:00207a90 $LN36 0074ba90 libucrtd:output.obj + 0002:00207f28 $LN37 0074bf28 libucrtd:output.obj + 0002:00207f50 $LN36 0074bf50 libucrtd:output.obj + 0002:002083e8 $LN37 0074c3e8 libucrtd:output.obj + 0002:00208410 $LN36 0074c410 libucrtd:output.obj + 0002:002088a8 $LN37 0074c8a8 libucrtd:output.obj + 0002:002088d0 $LN36 0074c8d0 libucrtd:output.obj + 0002:00208d68 $LN37 0074cd68 libucrtd:output.obj + 0002:00208d90 $LN36 0074cd90 libucrtd:output.obj + 0002:00209228 $LN37 0074d228 libucrtd:output.obj + 0002:00209250 $LN36 0074d250 libucrtd:output.obj + 0002:002096e8 $LN37 0074d6e8 libucrtd:output.obj + 0002:00209710 $LN36 0074d710 libucrtd:output.obj + 0002:00209b80 $LN38 0074db80 libucrtd:output.obj + 0002:00209bb0 $LN37 0074dbb0 libucrtd:output.obj + 0002:0020a020 $LN38 0074e020 libucrtd:output.obj + 0002:0020a050 $LN37 0074e050 libucrtd:output.obj + 0002:0020a4c0 $LN38 0074e4c0 libucrtd:output.obj + 0002:0020a4f0 $LN37 0074e4f0 libucrtd:output.obj + 0002:0020a960 $LN38 0074e960 libucrtd:output.obj + 0002:0020a990 $LN37 0074e990 libucrtd:output.obj + 0002:0020ae00 $LN38 0074ee00 libucrtd:output.obj + 0002:0020ae30 $LN37 0074ee30 libucrtd:output.obj + 0002:0020b2a0 $LN38 0074f2a0 libucrtd:output.obj + 0002:0020b2d0 $LN37 0074f2d0 libucrtd:output.obj + 0002:0020b770 $LN38 0074f770 libucrtd:output.obj + 0002:0020b7a0 $LN37 0074f7a0 libucrtd:output.obj + 0002:0020bc40 $LN38 0074fc40 libucrtd:output.obj + 0002:0020bc70 $LN37 0074fc70 libucrtd:output.obj + 0002:0020c110 $LN38 00750110 libucrtd:output.obj + 0002:0020c140 $LN37 00750140 libucrtd:output.obj + 0002:0020c5e0 $LN38 007505e0 libucrtd:output.obj + 0002:0020c610 $LN37 00750610 libucrtd:output.obj + 0002:0020cab0 $LN38 00750ab0 libucrtd:output.obj + 0002:0020cae0 $LN37 00750ae0 libucrtd:output.obj + 0002:0020cf80 $LN38 00750f80 libucrtd:output.obj + 0002:0020cfb0 $LN37 00750fb0 libucrtd:output.obj + 0002:0020d990 $LN17 00751990 libucrtd:output.obj + 0002:00212458 $LN34 00756458 libucrtd:output.obj + 0002:00212878 $LN34 00756878 libucrtd:output.obj + 0002:00212c98 $LN34 00756c98 libucrtd:output.obj + 0002:002130b8 $LN34 007570b8 libucrtd:output.obj + 0002:002134d8 $LN34 007574d8 libucrtd:output.obj + 0002:002138f8 $LN34 007578f8 libucrtd:output.obj + 0002:00213d1c $LN34 00757d1c libucrtd:output.obj + 0002:0021413c $LN34 0075813c libucrtd:output.obj + 0002:0021455c $LN34 0075855c libucrtd:output.obj + 0002:0021497c $LN34 0075897c libucrtd:output.obj + 0002:00214d9c $LN34 00758d9c libucrtd:output.obj + 0002:002151bc $LN34 007591bc libucrtd:output.obj + 0002:00215478 $LN21 00759478 libucrtd:output.obj + 0002:002156e8 $LN21 007596e8 libucrtd:output.obj + 0002:00215958 $LN21 00759958 libucrtd:output.obj + 0002:00215bc8 $LN21 00759bc8 libucrtd:output.obj + 0002:00215e38 $LN21 00759e38 libucrtd:output.obj + 0002:002160a8 $LN21 0075a0a8 libucrtd:output.obj + 0002:00216318 $LN21 0075a318 libucrtd:output.obj + 0002:00216588 $LN21 0075a588 libucrtd:output.obj + 0002:002167f8 $LN21 0075a7f8 libucrtd:output.obj + 0002:00216a68 $LN21 0075aa68 libucrtd:output.obj + 0002:00216cd8 $LN21 0075acd8 libucrtd:output.obj + 0002:00216f48 $LN21 0075af48 libucrtd:output.obj + 0002:0021b698 $LN20 0075f698 libucrtd:output.obj + 0002:0021b898 $LN20 0075f898 libucrtd:output.obj + 0002:0021ba98 $LN20 0075fa98 libucrtd:output.obj + 0002:0021bc98 $LN20 0075fc98 libucrtd:output.obj + 0002:0021dfa0 ??$common_assert@D@@YAXQBD0IQAX@Z 00761fa0 f libucrtd:assert.obj + 0002:0021e030 ??$common_assert@_W@@YAXQB_W0IQAX@Z 00762030 f libucrtd:assert.obj + 0002:0021e0c0 ??$common_assert_to_message_box@D@@YAXQBD0IQAX@Z 007620c0 f libucrtd:assert.obj + 0002:0021e1e0 ??$common_assert_to_message_box@_W@@YAXQB_W0IQAX@Z 007621e0 f libucrtd:assert.obj + 0002:0021e300 ??$common_assert_to_message_box_build_string@D@@YAXQADIQBD1IQAX@Z 00762300 f libucrtd:assert.obj + 0002:0021f0f0 ??$common_assert_to_message_box_build_string@_W@@YAXQA_WIQB_W1IQAX@Z 007630f0 f libucrtd:assert.obj + 0002:0021ff10 ??$common_assert_to_stderr@D@@YAXQBD0I@Z 00763f10 f libucrtd:assert.obj + 0002:0021fff0 ??$common_assert_to_stderr@_W@@YAXQB_W0I@Z 00763ff0 f libucrtd:assert.obj + 0002:002204f0 ?common_assert_to_stderr_direct@@YAXPBD0I@Z 007644f0 f libucrtd:assert.obj + 0002:00220500 ?common_assert_to_stderr_direct@@YAXQB_W0I@Z 00764500 f libucrtd:assert.obj + 0002:00220620 ?get_assert_format@@YAPBDD@Z 00764620 f libucrtd:assert.obj + 0002:00220630 ?get_assert_format@@YAPB_W_W@Z 00764630 f libucrtd:assert.obj + 0002:00220640 ?get_banner_text@@YAPBDD@Z 00764640 f libucrtd:assert.obj + 0002:00220650 ?get_banner_text@@YAPB_W_W@Z 00764650 f libucrtd:assert.obj + 0002:00220660 ?get_box_intro@@YAPBDD@Z 00764660 f libucrtd:assert.obj + 0002:00220670 ?get_box_intro@@YAPB_W_W@Z 00764670 f libucrtd:assert.obj + 0002:00220680 ?get_dot_dot_dot@@YAPBDD@Z 00764680 f libucrtd:assert.obj + 0002:00220690 ?get_dot_dot_dot@@YAPB_W_W@Z 00764690 f libucrtd:assert.obj + 0002:002206a0 ?get_double_newline@@YAPBDD@Z 007646a0 f libucrtd:assert.obj + 0002:002206b0 ?get_double_newline@@YAPB_W_W@Z 007646b0 f libucrtd:assert.obj + 0002:002206c0 ?get_expression_intro@@YAPBDD@Z 007646c0 f libucrtd:assert.obj + 0002:002206d0 ?get_expression_intro@@YAPB_W_W@Z 007646d0 f libucrtd:assert.obj + 0002:002206e0 ?get_file_intro@@YAPBDD@Z 007646e0 f libucrtd:assert.obj + 0002:002206f0 ?get_file_intro@@YAPB_W_W@Z 007646f0 f libucrtd:assert.obj + 0002:00220700 ?get_help_intro@@YAPBDD@Z 00764700 f libucrtd:assert.obj + 0002:00220710 ?get_help_intro@@YAPB_W_W@Z 00764710 f libucrtd:assert.obj + 0002:00220720 ?get_info_intro@@YAPBDD@Z 00764720 f libucrtd:assert.obj + 0002:00220730 ?get_info_intro@@YAPB_W_W@Z 00764730 f libucrtd:assert.obj + 0002:00220740 ?get_line_intro@@YAPBDD@Z 00764740 f libucrtd:assert.obj + 0002:00220750 ?get_line_intro@@YAPB_W_W@Z 00764750 f libucrtd:assert.obj + 0002:00220760 ?get_newline@@YAPBDD@Z 00764760 f libucrtd:assert.obj + 0002:00220770 ?get_newline@@YAPB_W_W@Z 00764770 f libucrtd:assert.obj + 0002:00220780 ?get_program_intro@@YAPBDD@Z 00764780 f libucrtd:assert.obj + 0002:00220790 ?get_program_intro@@YAPB_W_W@Z 00764790 f libucrtd:assert.obj + 0002:002207a0 ?get_program_name_unknown_text@@YAPBDD@Z 007647a0 f libucrtd:assert.obj + 0002:002207b0 ?get_program_name_unknown_text@@YAPB_W_W@Z 007647b0 f libucrtd:assert.obj + 0002:002208f0 _memcpy_s 007648f0 f libucrtd:assert.obj + 0002:00220a90 $$000000 00764a90 libucrtd:pow.obj + 0002:00220af0 $$000000 00764af0 libucrtd:sqrt.obj + 0002:002215d0 _memcpy_s 007655d0 f libucrtd:fread.obj + 0002:00221736 ??$common_system@D@@YAHQBD@Z 00765736 f libucrtd:system.obj + 0002:002218c9 ??$common_system@_W@@YAHQB_W@Z 007658c9 f libucrtd:system.obj + 0002:00221c20 ?block_from_header@@YAPAEQAU_CrtMemBlockHeader@@@Z 00765c20 f libucrtd:debug_heap.obj + 0002:00221c30 ?check_block@@YA_NQAU_CrtMemBlockHeader@@@Z 00765c30 f libucrtd:debug_heap.obj + 0002:00221fb0 ?check_bytes@@YA_NQBEEI@Z 00765fb0 f libucrtd:debug_heap.obj + 0002:00222010 ?dump_all_object_since_nolock@@YAXQBU_CrtMemState@@@Z 00766010 f libucrtd:debug_heap.obj + 0002:002223b0 ?free_dbg_nolock@@YAXQAXH@Z 007663b0 f libucrtd:debug_heap.obj + 0002:00222980 ?header_from_block@@YAPAU_CrtMemBlockHeader@@QBX@Z 00766980 f libucrtd:debug_heap.obj + 0002:00222990 ?heap_alloc_dbg@@YAPAXIHQBDH@Z 00766990 f libucrtd:debug_heap.obj + 0002:00222a30 ?heap_alloc_dbg_internal@@YAPAXIHQBDH@Z 00766a30 f libucrtd:debug_heap.obj + 0002:00222e70 ?is_bad_read_pointer@@YA_NQBXI@Z 00766e70 f libucrtd:debug_heap.obj + 0002:00222fe0 ?is_block_an_aligned_allocation@@YA_NQBX@Z 00766fe0 f libucrtd:debug_heap.obj + 0002:00223020 ?is_block_type_valid@@YA_NH@Z 00767020 f libucrtd:debug_heap.obj + 0002:00223080 ?print_block_data@@YAXQAU__crt_locale_pointers@@QAU_CrtMemBlockHeader@@@Z 00767080 f libucrtd:debug_heap.obj + 0002:00223250 ?realloc_dbg_nolock@@YAPAXQAXQAIHQBDH_N@Z 00767250 f libucrtd:debug_heap.obj + 0002:00223930 ?validate_heap_if_required_nolock@@YAXXZ 00767930 f libucrtd:debug_heap.obj + 0002:002284d0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0076c4d0 f libucrtd:fflush.obj + 0002:00228570 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0076c570 f libucrtd:fflush.obj + 0002:00228610 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 0076c610 f libucrtd:fflush.obj + 0002:002286c0 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 0076c6c0 f libucrtd:fflush.obj + 0002:00228700 ??$__acrt_lock_stream_and_call@V@@@@YAXQAU_iobuf@@$$QAV@@@Z 0076c700 f libucrtd:fflush.obj + 0002:00228740 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 0076c740 f libucrtd:fflush.obj + 0002:00228780 ??0@@QAE@ABQAU_iobuf@@@Z 0076c780 f libucrtd:fflush.obj + 0002:002287b0 ??0@@QAE@ABQAU_iobuf@@@Z 0076c7b0 f libucrtd:fflush.obj + 0002:002287e0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0076c7e0 f libucrtd:fflush.obj + 0002:00228810 ??0@@QAE@ABV__crt_stdio_stream@@AAHAB_N1@Z 0076c810 f libucrtd:fflush.obj + 0002:00228860 ??0@@QAE@ABQAU_iobuf@@@Z 0076c860 f libucrtd:fflush.obj + 0002:00228890 ??0@@QAE@ABQAU_iobuf@@@Z 0076c890 f libucrtd:fflush.obj + 0002:002288c0 ??0@@QAE@ABV__crt_stdio_stream@@@Z 0076c8c0 f libucrtd:fflush.obj + 0002:002288e0 ??0@@QAE@AAHAB_N0@Z 0076c8e0 f libucrtd:fflush.obj + 0002:00228920 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0076c920 f libucrtd:fflush.obj + 0002:00228970 ??R@@QBEXXZ 0076c970 f libucrtd:fflush.obj + 0002:002289a0 ??R@@QBEXXZ 0076c9a0 f libucrtd:fflush.obj + 0002:002289d0 ??R@@QBEXXZ 0076c9d0 f libucrtd:fflush.obj + 0002:00228a00 ??R@@QBEXXZ 0076ca00 f libucrtd:fflush.obj + 0002:00228ab0 ??R@@QBEXXZ 0076cab0 f libucrtd:fflush.obj + 0002:00228ae0 ??R@@QBEXXZ 0076cae0 f libucrtd:fflush.obj + 0002:00228b10 ??R@@QBEHXZ 0076cb10 f libucrtd:fflush.obj + 0002:00228b40 ??R@@QBE@XZ 0076cb40 f libucrtd:fflush.obj + 0002:00228c10 ??R@@QBEXXZ 0076cc10 f libucrtd:fflush.obj + 0002:00228c40 ?common_flush_all@@YAH_N@Z 0076cc40 f libucrtd:fflush.obj + 0002:00228cb0 ?common_flush_all_should_try_to_flush_stream@@YA_NV__crt_stdio_stream@@QAH@Z 0076ccb0 f libucrtd:fflush.obj + 0002:00228d80 ?is_stream_allocated@@YA_NJ@Z 0076cd80 f libucrtd:fflush.obj + 0002:00228db0 ?is_stream_flushable@@YA_NJ@Z 0076cdb0 f libucrtd:fflush.obj + 0002:00228de0 ?is_stream_flushable_or_commitable@@YA_NJ@Z 0076cde0 f libucrtd:fflush.obj + 0002:00229d80 ?common_fseek@@YAHV__crt_stdio_stream@@_JH@Z 0076dd80 f libucrtd:fseek.obj + 0002:00229fa0 ?common_fseek_binary_mode_read_only_fast_track_nolock@@YA_NV__crt_stdio_stream@@_JH@Z 0076dfa0 f libucrtd:fseek.obj + 0002:0022a1f0 ?common_fseek_nolock@@YAHV__crt_stdio_stream@@_JH@Z 0076e1f0 f libucrtd:fseek.obj + 0002:0022a4a0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@I@@QAEI$$QAV@@AAV@@$$QAV@@@Z 0076e4a0 f libucrtd:fwrite.obj + 0002:0022a550 ??$__acrt_lock_stream_and_call@V@@@@YAIQAU_iobuf@@$$QAV@@@Z 0076e550 f libucrtd:fwrite.obj + 0002:0022a590 ??0@@QAE@ABQAU_iobuf@@ABQBXABI2@Z 0076e590 f libucrtd:fwrite.obj + 0002:0022a5e0 ??0@@QAE@ABQAU_iobuf@@@Z 0076e5e0 f libucrtd:fwrite.obj + 0002:0022a610 ??0@@QAE@ABQAU_iobuf@@@Z 0076e610 f libucrtd:fwrite.obj + 0002:0022a640 ??R@@QBEIXZ 0076e640 f libucrtd:fwrite.obj + 0002:0022a6b0 ??R@@QBEXXZ 0076e6b0 f libucrtd:fwrite.obj + 0002:0022a6e0 ??R@@QBEXXZ 0076e6e0 f libucrtd:fwrite.obj + 0002:0022ae30 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 0076ee30 f libucrtd:setvbuf.obj + 0002:0022aee0 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 0076eee0 f libucrtd:setvbuf.obj + 0002:0022af20 ??0@@QAE@ABQAU_iobuf@@@Z 0076ef20 f libucrtd:setvbuf.obj + 0002:0022af50 ??0@@QAE@ABIABV__crt_stdio_stream@@ABHABQAD@Z 0076ef50 f libucrtd:setvbuf.obj + 0002:0022afa0 ??0@@QAE@ABQAU_iobuf@@@Z 0076efa0 f libucrtd:setvbuf.obj + 0002:0022afd0 ??R@@QBEXXZ 0076efd0 f libucrtd:setvbuf.obj + 0002:0022b000 ??R@@QBEHXZ 0076f000 f libucrtd:setvbuf.obj + 0002:0022b180 ??R@@QBEXXZ 0076f180 f libucrtd:setvbuf.obj + 0002:0022b1e0 ?set_buffer@@YAHV__crt_stdio_stream@@QADIH@Z 0076f1e0 f libucrtd:setvbuf.obj + 0002:0022b920 ?get_terminate_or_default@@YAP6AXXZQBU__acrt_ptd@@@Z 0076f920 f libucrtd:terminate.obj + 0002:0022ba80 $$000000 0076fa80 libucrtd:strcmp.obj + 0002:0022bb30 $$000000 0076fb30 libucrtd:strlen.obj + 0002:0022bc70 $$000000 0076fc70 libucrtd:acos.obj + 0002:0022bcd0 $$000000 0076fcd0 libucrtd:asin.obj + 0002:0022bd30 $$000000 0076fd30 libucrtd:cos.obj + 0002:0022bd90 $$000000 0076fd90 libucrtd:sin.obj + 0002:0022be90 ??$common_localtime@J@@YAPAUtm@@QBJ@Z 0076fe90 f libucrtd:localtime.obj + 0002:0022bee0 ??$common_localtime@_J@@YAPAUtm@@QB_J@Z 0076fee0 f libucrtd:localtime.obj + 0002:0022bf30 ??$common_localtime_s@J@@YAHQAUtm@@QBJ@Z 0076ff30 f libucrtd:localtime.obj + 0002:0022c4e0 ??$common_localtime_s@_J@@YAHQAUtm@@QB_J@Z 007704e0 f libucrtd:localtime.obj + 0002:0022cd50 ??$common_time@J@@YAJQAJ@Z 00770d50 f libucrtd:time.obj + 0002:0022cda0 ??$common_time@_J@@YA_JQA_J@Z 00770da0 f libucrtd:time.obj + 0002:0022ce30 ??$common_timespec_get@U_timespec32@@@@YAHQAU_timespec32@@H@Z 00770e30 f libucrtd:time.obj + 0002:0022cfb0 ??$common_timespec_get@U_timespec64@@@@YAHQAU_timespec64@@H@Z 00770fb0 f libucrtd:time.obj + 0002:0022d1c0 ?fast_check@@YAHHH@Z 007711c0 f libucrtd:_ctype.obj + 0002:0022db30 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@P6AXH@Z@@QAEP6AXH@Z$$QAV@@AAV@@$$QAV@@@Z 00771b30 f libucrtd:signal.obj + 0002:0022dbe0 ??$__acrt_lock_and_call@V@@@@YAP6AXH@ZW4__acrt_lock_id@@$$QAV@@@Z 00771be0 f libucrtd:signal.obj + 0002:0022dca0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00771ca0 f libucrtd:signal.obj + 0002:0022dcd0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00771cd0 f libucrtd:signal.obj + 0002:0022dd00 ??R@@QBEP6AXH@ZXZ 00771d00 f libucrtd:signal.obj + 0002:0022dd30 ??R@@QBEXXZ 00771d30 f libucrtd:signal.obj + 0002:0022dd60 ??R@@QBEXXZ 00771d60 f libucrtd:signal.obj + 0002:0022dda0 ?ctrlevent_capture@@YGHK@Z 00771da0 f libucrtd:signal.obj + 0002:0022df10 ?get_global_action_nolock@@YAPAP6AXH@ZH@Z 00771f10 f libucrtd:signal.obj + 0002:0022df80 $LN11 00771f80 libucrtd:signal.obj + 0002:0022df98 $LN10 00771f98 libucrtd:signal.obj + 0002:0022e030 ?is_console_signal@@YAHH@Z 00772030 f libucrtd:signal.obj + 0002:0022e070 ?is_unsupported_signal@@YAHHQ6AXH@Z@Z 00772070 f libucrtd:signal.obj + 0002:0022e0b0 ?siglookup@@YAPAU__crt_signal_action_t@@HQAU1@@Z 007720b0 f libucrtd:signal.obj + 0002:0022e100 ?signal_failed@@YAP6AXH@ZH@Z 00772100 f libucrtd:signal.obj + 0002:0022e144 $LN8 00772144 libucrtd:signal.obj + 0002:0022e14c $LN7 0077214c libucrtd:signal.obj + 0002:0022e60c $LN48 0077260c libucrtd:signal.obj + 0002:0022e618 $LN46 00772618 libucrtd:signal.obj + 0002:0022ec00 ??$common_fopen_s@D@@YAHQAPAU_iobuf@@QBD1@Z 00772c00 f libucrtd:fopen.obj + 0002:0022ece0 ??$common_fopen_s@_W@@YAHQAPAU_iobuf@@QB_W1@Z 00772ce0 f libucrtd:fopen.obj + 0002:0022edc0 ??$common_fsopen@D@@YAPAU_iobuf@@QBD0H@Z 00772dc0 f libucrtd:fopen.obj + 0002:0022f0b0 ??$common_fsopen@_W@@YAPAU_iobuf@@QB_W0H@Z 007730b0 f libucrtd:fopen.obj + 0002:0022f530 ??$common_tox_l@$1?internal_islower_l@@YA_NHQAU__crt_locale_pointers@@@Z$1?internal_map_upper@@YAHH0@Z@@YAHHKQAU__crt_locale_pointers@@@Z 00773530 f libucrtd:tolower_toupper.obj + 0002:0022f7c0 ??$common_tox_l@$1?internal_isupper_l@@YA_NHQAU__crt_locale_pointers@@@Z$1?internal_map_lower@@YAHH0@Z@@YAHHKQAU__crt_locale_pointers@@@Z 007737c0 f libucrtd:tolower_toupper.obj + 0002:0022fa50 ?internal_islower_l@@YA_NHQAU__crt_locale_pointers@@@Z 00773a50 f libucrtd:tolower_toupper.obj + 0002:0022fa90 ?internal_isupper_l@@YA_NHQAU__crt_locale_pointers@@@Z 00773a90 f libucrtd:tolower_toupper.obj + 0002:0022fad0 ?internal_map_lower@@YAHHQAU__crt_locale_pointers@@@Z 00773ad0 f libucrtd:tolower_toupper.obj + 0002:0022faf0 ?internal_map_upper@@YAHHQAU__crt_locale_pointers@@@Z 00773af0 f libucrtd:tolower_toupper.obj + 0002:0022fca0 ??$thread_start@P6AXPAX@Z@@YGKQAX@Z 00773ca0 f libucrtd:thread.obj + 0002:0022fdf0 ??$thread_start@P6GIPAX@Z@@YGKQAX@Z 00773df0 f libucrtd:thread.obj + 0002:0022ff60 ??0?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QAE@QAU__acrt_thread_parameter@@@Z 00773f60 f libucrtd:thread.obj + 0002:0022ffa0 ??1?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QAE@XZ 00773fa0 f libucrtd:thread.obj + 0002:0022ffc0 ??B?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QBE_NXZ 00773fc0 f libucrtd:thread.obj + 0002:0022ffe0 ??Rthread_parameter_free_policy@?A0x4e93fcdd@@QAEXQAU__acrt_thread_parameter@@@Z 00773fe0 f libucrtd:thread.obj + 0002:00230050 ?common_end_thread@@YAXI@Z 00774050 f libucrtd:thread.obj + 0002:00230120 ?create_thread_parameter@@YAPAU__acrt_thread_parameter@@QAX0@Z 00774120 f libucrtd:thread.obj + 0002:00230230 ?detach@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QAEPAU__acrt_thread_parameter@@XZ 00774230 f libucrtd:thread.obj + 0002:00230260 ?get@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QBEPAU__acrt_thread_parameter@@XZ 00774260 f libucrtd:thread.obj + 0002:00230280 ?invoke_thread_procedure@@YAIQ6AXPAX@ZQAX@Z 00774280 f libucrtd:thread.obj + 0002:002302b0 ?invoke_thread_procedure@@YAIQ6GIPAX@ZQAX@Z 007742b0 f libucrtd:thread.obj + 0002:002302e0 ?is_valid@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QBE_NXZ 007742e0 f libucrtd:thread.obj + 0002:00230350 ?release@?$__crt_unique_heap_ptr@U__acrt_thread_parameter@@Uthread_parameter_free_policy@?A0x4e93fcdd@@@@QAEXXZ 00774350 f libucrtd:thread.obj + 0002:00230980 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00774980 f libucrtd:fputs.obj + 0002:00230a30 ??$__acrt_lock_stream_and_call@V@@@@YAHQAU_iobuf@@$$QAV@@@Z 00774a30 f libucrtd:fputs.obj + 0002:00230a70 ??0@@QAE@ABQAU_iobuf@@@Z 00774a70 f libucrtd:fputs.obj + 0002:00230aa0 ??0@@QAE@ABQAU_iobuf@@@Z 00774aa0 f libucrtd:fputs.obj + 0002:00230ad0 ??0@@QAE@ABQAU_iobuf@@ABQBDABI@Z 00774ad0 f libucrtd:fputs.obj + 0002:00230b10 ??R@@QBEXXZ 00774b10 f libucrtd:fputs.obj + 0002:00230b40 ??R@@QBEXXZ 00774b40 f libucrtd:fputs.obj + 0002:00230b70 ??R@@QBEHXZ 00774b70 f libucrtd:fputs.obj + 0002:00230ef0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@PAD@@QAEPAD$$QAV@@AAV@@$$QAV@@@Z 00774ef0 f libucrtd:setlocale.obj + 0002:00230fa0 ??$__acrt_lock_and_call@V@@@@YAPADW4__acrt_lock_id@@$$QAV@@@Z 00774fa0 f libucrtd:setlocale.obj + 0002:00230fe0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00774fe0 f libucrtd:setlocale.obj + 0002:00231010 ??0@@QAE@AAHAAPBD@Z 00775010 f libucrtd:setlocale.obj + 0002:00231040 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00775040 f libucrtd:setlocale.obj + 0002:00231070 ??R@@QBEXXZ 00775070 f libucrtd:setlocale.obj + 0002:002310a0 ??R@@QBEPADXZ 007750a0 f libucrtd:setlocale.obj + 0002:00231400 ??R@@QBEXXZ 00775400 f libucrtd:setlocale.obj + 0002:00231430 _call_wsetlocale 00775430 f libucrtd:setlocale.obj + 0002:002323e0 ?fabs_intrinsic@@YANN@Z 007763e0 f libucrtd:fabs.obj + 0002:002334d0 ??$common_strtod_l@MD@@YAMQBDQAPADQAU__crt_locale_pointers@@@Z 007774d0 f libucrtd:strtod.obj + 0002:00233610 ??$common_strtod_l@M_W@@YAMQB_WQAPA_WQAU__crt_locale_pointers@@@Z 00777610 f libucrtd:strtod.obj + 0002:00233750 ??$common_strtod_l@ND@@YANQBDQAPADQAU__crt_locale_pointers@@@Z 00777750 f libucrtd:strtod.obj + 0002:00233890 ??$common_strtod_l@N_W@@YANQB_WQAPA_WQAU__crt_locale_pointers@@@Z 00777890 f libucrtd:strtod.obj + 0002:00234904 $LN78 00778904 libucrtd:strtod.obj + 0002:00234910 $LN77 00778910 libucrtd:strtod.obj + 0002:00235038 $LN78 00779038 libucrtd:strtod.obj + 0002:00235044 $LN77 00779044 libucrtd:strtod.obj + 0002:00235a5c $LN17 00779a5c libucrtd:strtod.obj + 0002:00235c4c $LN17 00779c4c libucrtd:strtod.obj + 0002:00235de0 ??0@@QAE@AAV?$c_string_character_source@D@__crt_strtox@@AADAAPBD@Z 00779de0 f libucrtd:strtod.obj + 0002:00235e20 ??0@@QAE@AAV?$c_string_character_source@_W@__crt_strtox@@AA_WAAPB_W@Z 00779e20 f libucrtd:strtod.obj + 0002:00235e60 ??0@@QAE@AAV?$c_string_character_source@D@__crt_strtox@@AADAAPBD@Z 00779e60 f libucrtd:strtod.obj + 0002:00235ea0 ??0@@QAE@AAV?$c_string_character_source@_W@__crt_strtox@@AA_WAAPB_W@Z 00779ea0 f libucrtd:strtod.obj + 0002:00235ee0 ??0@@QAE@AAV?$c_string_character_source@_W@__crt_strtox@@AA_WAAPB_W@Z 00779ee0 f libucrtd:strtod.obj + 0002:00235f20 ??0@@QAE@AAV?$c_string_character_source@D@__crt_strtox@@AADAAPBD@Z 00779f20 f libucrtd:strtod.obj + 0002:002361b0 ??R@@QBE_NXZ 0077a1b0 f libucrtd:strtod.obj + 0002:00236200 ??R@@QBE_NXZ 0077a200 f libucrtd:strtod.obj + 0002:00236250 ??R@@QBE_NXZ 0077a250 f libucrtd:strtod.obj + 0002:002362a0 ??R@@QBE_NXZ 0077a2a0 f libucrtd:strtod.obj + 0002:002362f0 ??R@@QBE_NXZ 0077a2f0 f libucrtd:strtod.obj + 0002:00236340 ??R@@QBE_NXZ 0077a340 f libucrtd:strtod.obj + 0002:00239990 _memcpy_s 0077d990 f libucrtd:strtod.obj + 0002:00239ba0 $$000000 0077dba0 libucrtd:strcspn.obj + 0002:00239cb0 ??$common_strnlen@$00G@@YAIQBGI@Z 0077dcb0 f libucrtd:strnlen.obj + 0002:00239d20 ??$common_strnlen@$0A@E@@YAIQBEI@Z 0077dd20 f libucrtd:strnlen.obj + 0002:00239d90 ??$common_strnlen@$0A@G@@YAIQBGI@Z 0077dd90 f libucrtd:strnlen.obj + 0002:00239e00 ??$common_strnlen_c@$00G@@YAIQBGI@Z 0077de00 f libucrtd:strnlen.obj + 0002:00239e70 ??$common_strnlen_c@$0A@E@@YAIQBEI@Z 0077de70 f libucrtd:strnlen.obj + 0002:00239ee0 ??$common_strnlen_c@$0A@G@@YAIQBGI@Z 0077dee0 f libucrtd:strnlen.obj + 0002:00239f50 ??$common_strnlen_simd@$00$00G@@YAIQBGI@Z 0077df50 f libucrtd:strnlen.obj + 0002:0023a1a0 ??$common_strnlen_simd@$00$0A@G@@YAIQBGI@Z 0077e1a0 f libucrtd:strnlen.obj + 0002:0023a3d0 ??$common_strnlen_simd@$0A@$00E@@YAIQBEI@Z 0077e3d0 f libucrtd:strnlen.obj + 0002:0023a610 ??$common_strnlen_simd@$0A@$00G@@YAIQBGI@Z 0077e610 f libucrtd:strnlen.obj + 0002:0023a860 ??$common_strnlen_simd@$0A@$0A@E@@YAIQBEI@Z 0077e860 f libucrtd:strnlen.obj + 0002:0023aa80 ??$common_strnlen_simd@$0A@$0A@G@@YAIQBGI@Z 0077ea80 f libucrtd:strnlen.obj + 0002:0023acb0 ??$last_reached@$00@@YA_NQBX0@Z 0077ecb0 f libucrtd:strnlen.obj + 0002:0023acc0 ??$last_reached@$0A@@@YA_NQBX0@Z 0077ecc0 f libucrtd:strnlen.obj + 0002:0023afc0 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 0077efc0 f libucrtd:strftime.obj + 0002:0023b140 ??$__acrt_convert_wcs_mbs_cp@_WDV@@U__crt_win32_buffer_no_resizing@@@@YAHQB_WAAV?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@ABV@@I@Z 0077f140 f libucrtd:strftime.obj + 0002:0023b480 ??R@@QBEHIQB_WQADI@Z 0077f480 f libucrtd:strftime.obj + 0002:0023b4c0 ??R@@QBEHIQBDQA_WI@Z 0077f4c0 f libucrtd:strftime.obj + 0002:0023c470 ?compute_iso_week@@YAHHHH@Z 00780470 f libucrtd:wcsftime.obj + 0002:0023c510 ?compute_iso_week_internal@@YAHHHH@Z 00780510 f libucrtd:wcsftime.obj + 0002:0023c600 ?compute_iso_year@@YAHHHH@Z 00780600 f libucrtd:wcsftime.obj + 0002:0023c650 ?compute_week_of_year@@YAHHHH@Z 00780650 f libucrtd:wcsftime.obj + 0002:0023c6c0 ?expand_time@@YA_NPAU__crt_locale_pointers@@_WPBUtm@@PAPA_WPAIPBU__crt_lc_time_data@@_N@Z 007806c0 f libucrtd:wcsftime.obj + 0002:0023e460 $LN214 00782460 libucrtd:wcsftime.obj + 0002:0023e4f0 $LN213 007824f0 libucrtd:wcsftime.obj + 0002:0023ecf0 ?store_number@@YAXHHQAPA_WQAI_W@Z 00782cf0 f libucrtd:wcsftime.obj + 0002:0023ee00 ?store_number_without_lead_zeroes@@YAXHQAPA_WQAI@Z 00782e00 f libucrtd:wcsftime.obj + 0002:0023ef10 ?store_string@@YAXPB_WQAPA_WQAI@Z 00782f10 f libucrtd:wcsftime.obj + 0002:0023ef70 ?store_winword@@YA_NQAU__crt_locale_pointers@@HQBUtm@@QAPA_WQAIQBU__crt_lc_time_data@@@Z 00782f70 f libucrtd:wcsftime.obj + 0002:0023f5f0 $LN92 007835f0 libucrtd:wcsftime.obj + 0002:0023f61c $LN90 0078361c libucrtd:wcsftime.obj + 0002:0023f670 $LN93 00783670 libucrtd:wcsftime.obj + 0002:0023f680 $LN94 00783680 libucrtd:wcsftime.obj + 0002:002412e0 ??$common_tcscpy_s@_W@@YAHQA_WIQB_W@Z 007852e0 f libucrtd:wcscpy_s.obj + 0002:00241a80 ??$common_tcscpy_s@D@@YAHQADIQBD@Z 00785a80 f libucrtd:strcpy_s.obj + 0002:00241e80 ??$common_tcscat_s@D@@YAHQADIQBD@Z 00785e80 f libucrtd:strcat_s.obj + 0002:002423c0 ?xcptlookup@@YAPAU__crt_signal_action_t@@KQAU1@@Z 007863c0 f libucrtd:exception_filter.obj + 0002:0024263c $LN25 0078663c libucrtd:exception_filter.obj + 0002:00242700 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00786700 f libucrtd:exit.obj + 0002:002427a0 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 007867a0 f libucrtd:exit.obj + 0002:00242880 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00786880 f libucrtd:exit.obj + 0002:002428b0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007868b0 f libucrtd:exit.obj + 0002:002428e0 ??0@@QAE@ABW4_crt_exit_cleanup_mode@@ABW4_crt_exit_return_mode@@AA_N@Z 007868e0 f libucrtd:exit.obj + 0002:00242960 ??R@@QBEXXZ 00786960 f libucrtd:exit.obj + 0002:00242990 ??R@@QBEXXZ 00786990 f libucrtd:exit.obj + 0002:002429c0 ??R@@QBE@XZ 007869c0 f libucrtd:exit.obj + 0002:00242b80 ?atexit_exception_filter@@YAHK@Z 00786b80 f libucrtd:exit.obj + 0002:00242c20 ?common_exit@@YAXHW4_crt_exit_cleanup_mode@@W4_crt_exit_return_mode@@@Z 00786c20 f libucrtd:exit.obj + 0002:00242cc0 ?exit_or_terminate_process@@YAXI@Z 00786cc0 f libucrtd:exit.obj + 0002:00242d60 ?is_managed_app@@YA_NXZ 00786d60 f libucrtd:exit.obj + 0002:00242e10 ?should_call_terminate_process@@YA_NXZ 00786e10 f libucrtd:exit.obj + 0002:00242e70 ?try_cor_exit_process@@YAXI@Z 00786e70 f libucrtd:exit.obj + 0002:002430d0 ??$common_configure_argv@D@@YAHW4_crt_argv_mode@@@Z 007870d0 f libucrtd:argv_parsing.obj + 0002:00243420 ??$common_configure_argv@_W@@YAHW4_crt_argv_mode@@@Z 00787420 f libucrtd:argv_parsing.obj + 0002:002437d0 ??$parse_command_line@D@@YAXPADPAPAD0PAI2@Z 007877d0 f libucrtd:argv_parsing.obj + 0002:00243c20 ??$parse_command_line@_W@@YAXPA_WPAPA_W0PAI2@Z 00787c20 f libucrtd:argv_parsing.obj + 0002:002440d0 ??0@@QAE@AAV?$__crt_unique_heap_ptr@PA_WU__crt_internal_free_policy@@@@@Z 007880d0 f libucrtd:argv_parsing.obj + 0002:002440f0 ??0@@QAE@AAV?$__crt_unique_heap_ptr@PADU__crt_internal_free_policy@@@@@Z 007880f0 f libucrtd:argv_parsing.obj + 0002:002441b0 ??R@@QBEHXZ 007881b0 f libucrtd:argv_parsing.obj + 0002:00244210 ??R@@QBEHXZ 00788210 f libucrtd:argv_parsing.obj + 0002:002442d0 ?do_locale_initialization@@YAXD@Z 007882d0 f libucrtd:argv_parsing.obj + 0002:002442e0 ?do_locale_initialization@@YAX_W@Z 007882e0 f libucrtd:argv_parsing.obj + 0002:002442f0 ?expand_argv_wildcards@@YAHQAPADQAPAPAD@Z 007882f0 f libucrtd:argv_parsing.obj + 0002:00244310 ?expand_argv_wildcards@@YAHQAPA_WQAPAPA_W@Z 00788310 f libucrtd:argv_parsing.obj + 0002:002443d0 ?get_argv@@YAAAPAPADD@Z 007883d0 f libucrtd:argv_parsing.obj + 0002:002443e0 ?get_argv@@YAAAPAPA_W_W@Z 007883e0 f libucrtd:argv_parsing.obj + 0002:002443f0 ?get_command_line@@YAPADD@Z 007883f0 f libucrtd:argv_parsing.obj + 0002:00244400 ?get_command_line@@YAPA_W_W@Z 00788400 f libucrtd:argv_parsing.obj + 0002:002444b0 ?should_copy_another_character@@YA_ND@Z 007884b0 f libucrtd:argv_parsing.obj + 0002:002444f0 ?should_copy_another_character@@YA_N_W@Z 007884f0 f libucrtd:argv_parsing.obj + 0002:00244662 ??$common_get_initial_environment@D@@YAPAPADXZ 00788662 f libucrtd:environment_initialization.obj + 0002:0024467b ??$common_get_initial_environment@_W@@YAPAPA_WXZ 0078867b f libucrtd:environment_initialization.obj + 0002:00244694 ??$common_get_or_create_environment_nolock@D@@YAPAPADXZ 00788694 f libucrtd:environment_initialization.obj + 0002:002446cb ??$common_get_or_create_environment_nolock@_W@@YAPAPA_WXZ 007886cb f libucrtd:environment_initialization.obj + 0002:00244702 ??$common_initialize_environment_nolock@D@@YAHXZ 00788702 f libucrtd:environment_initialization.obj + 0002:00244771 ??$common_initialize_environment_nolock@_W@@YAHXZ 00788771 f libucrtd:environment_initialization.obj + 0002:002447da ??$count_variables_in_environment_block@D@@YA?BIQAD@Z 007887da f libucrtd:environment_initialization.obj + 0002:0024481b ??$count_variables_in_environment_block@_W@@YA?BIQA_W@Z 0078881b f libucrtd:environment_initialization.obj + 0002:00244876 ??$create_environment@D@@YAQAPADQAD@Z 00788876 f libucrtd:environment_initialization.obj + 0002:002449bc ??$create_environment@_W@@YAQAPA_WQA_W@Z 007889bc f libucrtd:environment_initialization.obj + 0002:00244b4f ??$free_environment@D@@YAXQAPAD@Z 00788b4f f libucrtd:environment_initialization.obj + 0002:00244b8e ??$free_environment@_W@@YAXQAPA_W@Z 00788b8e f libucrtd:environment_initialization.obj + 0002:00244bd7 ??$initialize_environment_by_cloning_nolock@D@@YAHXZ 00788bd7 f libucrtd:environment_initialization.obj + 0002:00244c91 ??$initialize_environment_by_cloning_nolock@_W@@YAHXZ 00788c91 f libucrtd:environment_initialization.obj + 0002:00244e72 ??$uninitialize_environment_internal@D@@YAXAAPAPAD@Z 00788e72 f libucrtd:environment_initialization.obj + 0002:00244e93 ??$uninitialize_environment_internal@_W@@YAXAAPAPA_W@Z 00788e93 f libucrtd:environment_initialization.obj + 0002:00244f5a ?get_dual_state_environment_nolock@@YAAAV?$dual_state_global@PAPAD@__crt_state_management@@D@Z 00788f5a f libucrtd:environment_initialization.obj + 0002:00244f60 ?get_dual_state_environment_nolock@@YAAAV?$dual_state_global@PAPA_W@__crt_state_management@@_W@Z 00788f60 f libucrtd:environment_initialization.obj + 0002:00244f66 ?get_environment_nolock@@YAAAPAPADD@Z 00788f66 f libucrtd:environment_initialization.obj + 0002:00244f6c ?get_environment_nolock@@YAAAPAPA_W_W@Z 00788f6c f libucrtd:environment_initialization.obj + 0002:00244f72 ?get_initial_environment@@YAAAPAPADD@Z 00788f72 f libucrtd:environment_initialization.obj + 0002:00244f78 ?get_initial_environment@@YAAAPAPA_W_W@Z 00788f78 f libucrtd:environment_initialization.obj + 0002:00244fea ?pre_initialize@@YAXD@Z 00788fea f libucrtd:environment_initialization.obj + 0002:00244fef ?pre_initialize@@YAX_W@Z 00788fef f libucrtd:environment_initialization.obj + 0002:00245100 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00789100 f libucrtd:onexit.obj + 0002:002451b0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 007891b0 f libucrtd:onexit.obj + 0002:00245260 ??$__acrt_lock_and_call@V@@@@YAHW4__acrt_lock_id@@$$QAV@@@Z 00789260 f libucrtd:onexit.obj + 0002:002452a0 ??$__acrt_lock_and_call@V@@@@YAHW4__acrt_lock_id@@$$QAV@@@Z 007892a0 f libucrtd:onexit.obj + 0002:00245420 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00789420 f libucrtd:onexit.obj + 0002:00245450 ??0@@QAE@ABQAU_onexit_table_t@@ABQ6AHXZ@Z 00789450 f libucrtd:onexit.obj + 0002:00245480 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00789480 f libucrtd:onexit.obj + 0002:002454b0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007894b0 f libucrtd:onexit.obj + 0002:002454e0 ??0@@QAE@ABQAU_onexit_table_t@@@Z 007894e0 f libucrtd:onexit.obj + 0002:00245500 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00789500 f libucrtd:onexit.obj + 0002:00245580 ??R@@QBEXXZ 00789580 f libucrtd:onexit.obj + 0002:002455b0 ??R@@QBEHXZ 007895b0 f libucrtd:onexit.obj + 0002:00245840 ??R@@QBEXXZ 00789840 f libucrtd:onexit.obj + 0002:00245870 ??R@@QBEXXZ 00789870 f libucrtd:onexit.obj + 0002:002458a0 ??R@@QBEHXZ 007898a0 f libucrtd:onexit.obj + 0002:00245ae0 ??R@@QBEXXZ 00789ae0 f libucrtd:onexit.obj + 0002:00245ca0 _initialize_global_variables 00789ca0 f libucrtd:initialization.obj + 0002:00245cc0 _initialize_c 00789cc0 f libucrtd:initialization.obj + 0002:00245cf0 _uninitialize_c 00789cf0 f libucrtd:initialization.obj + 0002:00245d00 _initialize_environment 00789d00 f libucrtd:initialization.obj + 0002:00245d10 _uninitialize_environment 00789d10 f libucrtd:initialization.obj + 0002:00245d30 _initialize_global_state_isolation 00789d30 f libucrtd:initialization.obj + 0002:00245d40 _uninitialize_global_state_isolation 00789d40 f libucrtd:initialization.obj + 0002:00245d50 _initialize_pointers 00789d50 f libucrtd:initialization.obj + 0002:00245dd0 _uninitialize_vcruntime 00789dd0 f libucrtd:initialization.obj + 0002:00245df0 _uninitialize_allocated_memory 00789df0 f libucrtd:initialization.obj + 0002:00245e20 _uninitialize_allocated_io_buffers 00789e20 f libucrtd:initialization.obj + 0002:00245eb0 _report_memory_leaks 00789eb0 f libucrtd:initialization.obj + 0002:00245f40 ??$uninitialize@V@@@?$dual_state_global@PAU__crt_multibyte_data@@@__crt_state_management@@QAEX$$QAV@@@Z 00789f40 f libucrtd:initialization.obj + 0002:00245f90 ??R@@QBEXAAPAU__crt_multibyte_data@@@Z 00789f90 f libucrtd:initialization.obj + 0002:002460e0 ?issue_debug_notification@@YA_NQB_W@Z 0078a0e0 f libucrtd:report_runtime_error.obj + 0002:00246130 ?should_write_error_to_console@@YA_NXZ 0078a130 f libucrtd:report_runtime_error.obj + 0002:00246180 ?write_string_to_console@@YAXQB_W@Z 0078a180 f libucrtd:report_runtime_error.obj + 0002:002473b0 _no_op_initialize 0078b3b0 f libucrtd:wsetlocale.obj + 0002:00247450 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0078b450 f libucrtd:wsetlocale.obj + 0002:002474f0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0078b4f0 f libucrtd:wsetlocale.obj + 0002:00247590 ??$?RV@@AAV@@AAV@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@AAV@@@Z 0078b590 f libucrtd:wsetlocale.obj + 0002:00247630 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0078b630 f libucrtd:wsetlocale.obj + 0002:002476d0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 0078b6d0 f libucrtd:wsetlocale.obj + 0002:00247770 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 0078b770 f libucrtd:wsetlocale.obj + 0002:002477b0 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 0078b7b0 f libucrtd:wsetlocale.obj + 0002:002477f0 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 0078b7f0 f libucrtd:wsetlocale.obj + 0002:00247830 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 0078b830 f libucrtd:wsetlocale.obj + 0002:00247870 ??$__crt_call_and_cleanup@V@@V@@@@YAX$$QAV@@$$QAV@@@Z 0078b870 f libucrtd:wsetlocale.obj + 0002:002478b0 ??$uninitialize@V@@@?$dual_state_global@PAU__crt_locale_data@@@__crt_state_management@@QAEX$$QAV@@@Z 0078b8b0 f libucrtd:wsetlocale.obj + 0002:00247900 ??0@@QAE@AAPAU__crt_locale_data@@ABQAU__acrt_ptd@@AAPA_WAAHAAPB_W@Z 0078b900 f libucrtd:wsetlocale.obj + 0002:00247950 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078b950 f libucrtd:wsetlocale.obj + 0002:00247980 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078b980 f libucrtd:wsetlocale.obj + 0002:002479b0 ??0@@QAE@AAV?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@@Z 0078b9b0 f libucrtd:wsetlocale.obj + 0002:002479d0 ??0@@QAE@ABQAU__acrt_ptd@@@Z 0078b9d0 f libucrtd:wsetlocale.obj + 0002:002479f0 ??0@@QAE@AAPAU__crt_locale_data@@ABQAU__acrt_ptd@@AAPA_WAAHAAPB_W@Z 0078b9f0 f libucrtd:wsetlocale.obj + 0002:00247a40 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078ba40 f libucrtd:wsetlocale.obj + 0002:00247a70 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078ba70 f libucrtd:wsetlocale.obj + 0002:00247aa0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078baa0 f libucrtd:wsetlocale.obj + 0002:00247ad0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078bad0 f libucrtd:wsetlocale.obj + 0002:00247b00 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078bb00 f libucrtd:wsetlocale.obj + 0002:00247b30 ??0@@QAE@AAV?$__crt_unique_heap_ptr@U__crt_locale_pointers@@U__crt_internal_free_policy@@@@@Z 0078bb30 f libucrtd:wsetlocale.obj + 0002:00247b50 ??0@@QAE@ABW4__acrt_lock_id@@@Z 0078bb50 f libucrtd:wsetlocale.obj + 0002:00247ca0 ??R@@QBE@XZ 0078bca0 f libucrtd:wsetlocale.obj + 0002:00247cd0 ??R@@QBE@XZ 0078bcd0 f libucrtd:wsetlocale.obj + 0002:00247db0 ??R@@QBEXXZ 0078bdb0 f libucrtd:wsetlocale.obj + 0002:00247de0 ??R@@QBEXXZ 0078bde0 f libucrtd:wsetlocale.obj + 0002:00247e10 ??R@@QBEXXZ 0078be10 f libucrtd:wsetlocale.obj + 0002:00247e40 ??R@@QBEXAAPAU__crt_locale_data@@@Z 0078be40 f libucrtd:wsetlocale.obj + 0002:00247e80 ??R@@QBEXXZ 0078be80 f libucrtd:wsetlocale.obj + 0002:00247ec0 ??R@@QBEXXZ 0078bec0 f libucrtd:wsetlocale.obj + 0002:00248030 ??R@@QBEXXZ 0078c030 f libucrtd:wsetlocale.obj + 0002:00248040 ??R@@QBEXXZ 0078c040 f libucrtd:wsetlocale.obj + 0002:00248070 ??R@@QBEXXZ 0078c070 f libucrtd:wsetlocale.obj + 0002:002480a0 ??R@@QBEXXZ 0078c0a0 f libucrtd:wsetlocale.obj + 0002:002480d0 ??R@@QBEXXZ 0078c0d0 f libucrtd:wsetlocale.obj + 0002:00248100 ??R@@QBEXXZ 0078c100 f libucrtd:wsetlocale.obj + 0002:00248130 ??R@@QBEXXZ 0078c130 f libucrtd:wsetlocale.obj + 0002:00248160 ??R@@QBEXXZ 0078c160 f libucrtd:wsetlocale.obj + 0002:002489f4 $LN16 0078c9f4 libucrtd:wsetlocale.obj + 0002:00248a50 __copytlocinfo_nolock 0078ca50 f libucrtd:wsetlocale.obj + 0002:00249960 __wsetlocale_get_all 0078d960 f libucrtd:wsetlocale.obj + 0002:00249e10 __wsetlocale_nolock 0078de10 f libucrtd:wsetlocale.obj + 0002:0024a370 __wsetlocale_set_cat 0078e370 f libucrtd:wsetlocale.obj + 0002:0024aae0 _sync_legacy_variables_lk 0078eae0 f libucrtd:wsetlocale.obj + 0002:0024af80 __get_fname 0078ef80 f libucrtd:fpexcept.obj + 0002:0024b988 $LN55 0078f988 libucrtd:fpexcept.obj + 0002:0024bc60 ??$cleanup_after_error@D@@YAHQADI@Z 0078fc60 f libucrtd:makepath.obj + 0002:0024bd80 ??$cleanup_after_error@_W@@YAHQA_WI@Z 0078fd80 f libucrtd:makepath.obj + 0002:0024beb0 ??$common_makepath_s@D@@YAHQADIQBD111@Z 0078feb0 f libucrtd:makepath.obj + 0002:0024c310 ??$common_makepath_s@_W@@YAHQA_WIQB_W111@Z 00790310 f libucrtd:makepath.obj + 0002:0024c7b0 ?previous_character@@YAPBDQBD0@Z 007907b0 f libucrtd:makepath.obj + 0002:0024c7d0 ?previous_character@@YAPB_WPB_WQB_W@Z 007907d0 f libucrtd:makepath.obj + 0002:0024c8a0 ??$common_splitpath@D@@YAXQBDQAD111@Z 007908a0 f libucrtd:splitpath.obj + 0002:0024c990 ??$common_splitpath@_W@@YAXQB_WQA_W111@Z 00790990 f libucrtd:splitpath.obj + 0002:0024ca80 ??$common_splitpath_internal@DV@@V@@@@YAHQBDQAU?$component_buffers@D@?A0x95109fda@@V@@V@@@Z 00790a80 f libucrtd:splitpath.obj + 0002:0024d140 ??$common_splitpath_internal@DV@@V@@@@YAHQBDQAU?$component_buffers@D@?A0x95109fda@@V@@V@@@Z 00791140 f libucrtd:splitpath.obj + 0002:0024d800 ??$common_splitpath_internal@_WV@@V@@@@YAHQB_WQAU?$component_buffers@_W@?A0x95109fda@@V@@V@@@Z 00791800 f libucrtd:splitpath.obj + 0002:0024ded0 ??$common_splitpath_internal@_WV@@V@@@@YAHQB_WQAU?$component_buffers@_W@?A0x95109fda@@V@@V@@@Z 00791ed0 f libucrtd:splitpath.obj + 0002:0024e5a0 ??$common_splitpath_s@D@@YAHQBDQAU?$component_buffers@D@?A0x95109fda@@@Z 007925a0 f libucrtd:splitpath.obj + 0002:0024e5e0 ??$common_splitpath_s@_W@@YAHQB_WQAU?$component_buffers@_W@?A0x95109fda@@@Z 007925e0 f libucrtd:splitpath.obj + 0002:0024e620 ??$reset_buffers@DV@@@@YAXQAU?$component_buffers@D@?A0x95109fda@@V@@@Z 00792620 f libucrtd:splitpath.obj + 0002:0024e6a0 ??$reset_buffers@DV@@@@YAXQAU?$component_buffers@D@?A0x95109fda@@V@@@Z 007926a0 f libucrtd:splitpath.obj + 0002:0024e720 ??$reset_buffers@_WV@@@@YAXQAU?$component_buffers@_W@?A0x95109fda@@V@@@Z 00792720 f libucrtd:splitpath.obj + 0002:0024e7a0 ??$reset_buffers@_WV@@@@YAXQAU?$component_buffers@_W@?A0x95109fda@@V@@@Z 007927a0 f libucrtd:splitpath.obj + 0002:0024e8e0 ??R@@QBEII@Z 007928e0 f libucrtd:splitpath.obj + 0002:0024e900 ??R@@QBEII@Z 00792900 f libucrtd:splitpath.obj + 0002:0024e920 ??R@@QBEXQADI@Z 00792920 f libucrtd:splitpath.obj + 0002:0024e9b0 ??R@@QBEXQADI@Z 007929b0 f libucrtd:splitpath.obj + 0002:0024e9f0 ??R@@QBEXQA_WI@Z 007929f0 f libucrtd:splitpath.obj + 0002:0024ea30 ??R@@QBEXQA_WI@Z 00792a30 f libucrtd:splitpath.obj + 0002:0024eac0 ??R@@QBEII@Z 00792ac0 f libucrtd:splitpath.obj + 0002:0024eae0 ??R@@QBEII@Z 00792ae0 f libucrtd:splitpath.obj + 0002:0024eb00 ?needs_trail_byte@@YA_ND@Z 00792b00 f libucrtd:splitpath.obj + 0002:0024eb40 ?needs_trail_byte@@YA_N_W@Z 00792b40 f libucrtd:splitpath.obj + 0002:0024ed90 $$000000 00792d90 libucrtd:exp.obj + 0002:0024edf0 ??$common_tcsncpy_s@_W@@YAHQA_WIQB_WI@Z 00792df0 f libucrtd:wcsncpy_s.obj + 0002:0024f350 $$000000 00793350 libucrtd:strncmp.obj + 0002:0024f490 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00793490 f libucrtd:per_thread_data.obj + 0002:0024f530 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00793530 f libucrtd:per_thread_data.obj + 0002:0024f5d0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 007935d0 f libucrtd:per_thread_data.obj + 0002:0024f670 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00793670 f libucrtd:per_thread_data.obj + 0002:0024f710 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 00793710 f libucrtd:per_thread_data.obj + 0002:0024f750 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 00793750 f libucrtd:per_thread_data.obj + 0002:0024f790 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 00793790 f libucrtd:per_thread_data.obj + 0002:0024f7d0 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 007937d0 f libucrtd:per_thread_data.obj + 0002:0024f810 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00793810 f libucrtd:per_thread_data.obj + 0002:0024f840 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00793840 f libucrtd:per_thread_data.obj + 0002:0024f870 ??0@@QAE@ABQAU__acrt_ptd@@ABQAPAU__crt_locale_data@@@Z 00793870 f libucrtd:per_thread_data.obj + 0002:0024f8a0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007938a0 f libucrtd:per_thread_data.obj + 0002:0024f8d0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007938d0 f libucrtd:per_thread_data.obj + 0002:0024f900 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00793900 f libucrtd:per_thread_data.obj + 0002:0024f930 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00793930 f libucrtd:per_thread_data.obj + 0002:0024f960 ??0@@QAE@ABQAU__acrt_ptd@@@Z 00793960 f libucrtd:per_thread_data.obj + 0002:0024f980 ??0@@QAE@ABQAU__acrt_ptd@@@Z 00793980 f libucrtd:per_thread_data.obj + 0002:0024f9a0 ??0@@QAE@ABQAU__acrt_ptd@@@Z 007939a0 f libucrtd:per_thread_data.obj + 0002:0024f9c0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007939c0 f libucrtd:per_thread_data.obj + 0002:0024f9f0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007939f0 f libucrtd:per_thread_data.obj + 0002:0024fad0 ??R@@QBEXXZ 00793ad0 f libucrtd:per_thread_data.obj + 0002:0024fb00 ??R@@QBEXXZ 00793b00 f libucrtd:per_thread_data.obj + 0002:0024fb30 ??R@@QBEXXZ 00793b30 f libucrtd:per_thread_data.obj + 0002:0024fb70 ??R@@QBEXXZ 00793b70 f libucrtd:per_thread_data.obj + 0002:0024fba0 ??R@@QBEXXZ 00793ba0 f libucrtd:per_thread_data.obj + 0002:0024fbd0 ??R@@QBEXXZ 00793bd0 f libucrtd:per_thread_data.obj + 0002:0024fc00 ??R@@QBEXXZ 00793c00 f libucrtd:per_thread_data.obj + 0002:0024fc30 ??R@@QBEXXZ 00793c30 f libucrtd:per_thread_data.obj + 0002:0024fc60 ??R@@QBEXXZ 00793c60 f libucrtd:per_thread_data.obj + 0002:0024fcc0 ??R@@QBEXXZ 00793cc0 f libucrtd:per_thread_data.obj + 0002:0024fce0 ??R@@QBEXXZ 00793ce0 f libucrtd:per_thread_data.obj + 0002:0024fd10 ??R@@QBEXXZ 00793d10 f libucrtd:per_thread_data.obj + 0002:0024fd40 ?construct_ptd@@YAXQAU__acrt_ptd@@QAPAU__crt_locale_data@@@Z 00793d40 f libucrtd:per_thread_data.obj + 0002:0024fe10 ?construct_ptd_array@@YAXQAU__acrt_ptd@@@Z 00793e10 f libucrtd:per_thread_data.obj + 0002:0024fe90 ?destroy_fls@@YGXPAX@Z 00793e90 f libucrtd:per_thread_data.obj + 0002:0024fed0 ?destroy_ptd@@YAXQAU__acrt_ptd@@@Z 00793ed0 f libucrtd:per_thread_data.obj + 0002:00250000 ?destroy_ptd_array@@YAXQAU__acrt_ptd@@@Z 00794000 f libucrtd:per_thread_data.obj + 0002:002500b0 ?internal_get_ptd_head@@YAPAU__acrt_ptd@@XZ 007940b0 f libucrtd:per_thread_data.obj + 0002:002501f0 ?internal_getptd_noexit@@YAPAU__acrt_ptd@@XZ 007941f0 f libucrtd:per_thread_data.obj + 0002:002502d0 ?replace_current_thread_locale_nolock@@YAXQAU__acrt_ptd@@QAU__crt_locale_data@@@Z 007942d0 f libucrtd:per_thread_data.obj + 0002:00250370 ?try_get_ptd_head@@YAPAU__acrt_ptd@@XZ 00794370 f libucrtd:per_thread_data.obj + 0002:00251fc0 ??$__acrt_convert_wcs_mbs_cp@_WDV@@U__crt_win32_buffer_no_resizing@@@@YAHQB_WAAV?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@ABV@@I@Z 00795fc0 f libucrtd:getmodulefilenamea.obj + 0002:00252140 ??R@@QBEHIQB_WQADI@Z 00796140 f libucrtd:getmodulefilenamea.obj + 0002:00252320 ??$common_show_message_box@D@@YAHQBD0I@Z 00796320 f libucrtd:crtmbox.obj + 0002:00252480 ??$common_show_message_box@_W@@YAHQB_W0I@Z 00796480 f libucrtd:crtmbox.obj + 0002:00252740 ?@@@CGHPA_W@Z 00796740 f libucrtd:winapi_thunks.obj + 0002:00252780 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00796780 f libucrtd:winapi_thunks.obj + 0002:00252830 ??$__acrt_lock_and_call@V@@@@YAHW4__acrt_lock_id@@$$QAV@@@Z 00796830 f libucrtd:winapi_thunks.obj + 0002:00252930 ??0@@QAE@ABQ6GHPA_WKJ@Z@Z 00796930 f libucrtd:winapi_thunks.obj + 0002:00252950 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00796950 f libucrtd:winapi_thunks.obj + 0002:00252980 ??0@@QAE@ABW4__acrt_lock_id@@@Z 00796980 f libucrtd:winapi_thunks.obj + 0002:002529b0 ??B@@QBEP6GHPA_W@ZXZ 007969b0 f libucrtd:winapi_thunks.obj + 0002:002529d0 ??R@@QBEHXZ 007969d0 f libucrtd:winapi_thunks.obj + 0002:00252a00 ??R@@QBEHPA_W@Z 00796a00 f libucrtd:winapi_thunks.obj + 0002:00252a50 ??R@@QBEXXZ 00796a50 f libucrtd:winapi_thunks.obj + 0002:00252a80 ??R@@QBEXXZ 00796a80 f libucrtd:winapi_thunks.obj + 0002:00252ab0 ?enum_system_locales_ex_nolock@@YAHQ6GHPA_WKJ@Z@Z 00796ab0 f libucrtd:winapi_thunks.obj + 0002:00252b20 ?invalid_function_sentinel@@YAPAXXZ 00796b20 f libucrtd:winapi_thunks.obj + 0002:00252b30 ?try_get_AppPolicyGetProcessTerminationMethod@@YAP6GJPAXPAW4AppPolicyProcessTerminationMethod@@@ZXZ 00796b30 f libucrtd:winapi_thunks.obj + 0002:00252b60 ?try_get_AppPolicyGetShowDeveloperDiagnostic@@YAP6GJPAXPAW4AppPolicyShowDeveloperDiagnostic@@@ZXZ 00796b60 f libucrtd:winapi_thunks.obj + 0002:00252b90 ?try_get_AppPolicyGetThreadInitializationType@@YAP6GJPAXPAW4AppPolicyThreadInitializationType@@@ZXZ 00796b90 f libucrtd:winapi_thunks.obj + 0002:00252bc0 ?try_get_AppPolicyGetWindowingModel@@YAP6GJPAXPAW4AppPolicyWindowingModel@@@ZXZ 00796bc0 f libucrtd:winapi_thunks.obj + 0002:00252bf0 ?try_get_AreFileApisANSI@@YAP6GHXZXZ 00796bf0 f libucrtd:winapi_thunks.obj + 0002:00252c20 ?try_get_CompareStringEx@@YAP6GHPB_WK0H0HPAU_nlsversioninfo@@PAXJ@ZXZ 00796c20 f libucrtd:winapi_thunks.obj + 0002:00252c50 ?try_get_EnumSystemLocalesEx@@YAP6GHP6GHPA_WKJ@ZKJPAX@ZXZ 00796c50 f libucrtd:winapi_thunks.obj + 0002:00252c80 ?try_get_FlsAlloc@@YAP6GKP6GXPAX@Z@ZXZ 00796c80 f libucrtd:winapi_thunks.obj + 0002:00252cb0 ?try_get_FlsFree@@YAP6GHK@ZXZ 00796cb0 f libucrtd:winapi_thunks.obj + 0002:00252ce0 ?try_get_FlsGetValue@@YAP6GPAXK@ZXZ 00796ce0 f libucrtd:winapi_thunks.obj + 0002:00252d10 ?try_get_FlsSetValue@@YAP6GHKPAX@ZXZ 00796d10 f libucrtd:winapi_thunks.obj + 0002:00252d40 ?try_get_GetActiveWindow@@YAP6GPAUHWND__@@XZXZ 00796d40 f libucrtd:winapi_thunks.obj + 0002:00252d70 ?try_get_GetDateFormatEx@@YAP6GHPB_WKPBU_SYSTEMTIME@@0PA_WH0@ZXZ 00796d70 f libucrtd:winapi_thunks.obj + 0002:00252da0 ?try_get_GetEnabledXStateFeatures@@YAP6G_KXZXZ 00796da0 f libucrtd:winapi_thunks.obj + 0002:00252dd0 ?try_get_GetLastActivePopup@@YAP6GPAUHWND__@@PAU1@@ZXZ 00796dd0 f libucrtd:winapi_thunks.obj + 0002:00252e00 ?try_get_GetLocaleInfoEx@@YAP6GHPB_WKPA_WH@ZXZ 00796e00 f libucrtd:winapi_thunks.obj + 0002:00252e30 ?try_get_GetProcessWindowStation@@YAP6GPAUHWINSTA__@@XZXZ 00796e30 f libucrtd:winapi_thunks.obj + 0002:00252e60 ?try_get_GetSystemTimePreciseAsFileTime@@YAP6GXPAU_FILETIME@@@ZXZ 00796e60 f libucrtd:winapi_thunks.obj + 0002:00252e90 ?try_get_GetTimeFormatEx@@YAP6GHPB_WKPBU_SYSTEMTIME@@0PA_WH@ZXZ 00796e90 f libucrtd:winapi_thunks.obj + 0002:00252ec0 ?try_get_GetUserDefaultLocaleName@@YAP6GHPA_WH@ZXZ 00796ec0 f libucrtd:winapi_thunks.obj + 0002:00252ef0 ?try_get_GetUserObjectInformationW@@YAP6GHPAXH0KPAK@ZXZ 00796ef0 f libucrtd:winapi_thunks.obj + 0002:00252f20 ?try_get_GetXStateFeaturesMask@@YAP6GHPAU_CONTEXT@@PA_K@ZXZ 00796f20 f libucrtd:winapi_thunks.obj + 0002:00252f50 ?try_get_InitializeCriticalSectionEx@@YAP6GHPAU_RTL_CRITICAL_SECTION@@KK@ZXZ 00796f50 f libucrtd:winapi_thunks.obj + 0002:00252f80 ?try_get_IsValidLocaleName@@YAP6GHPB_W@ZXZ 00796f80 f libucrtd:winapi_thunks.obj + 0002:00252fb0 ?try_get_LCIDToLocaleName@@YAP6GHKPA_WHK@ZXZ 00796fb0 f libucrtd:winapi_thunks.obj + 0002:00252fe0 ?try_get_LCMapStringEx@@YAP6GHPB_WK0HPA_WHPAU_nlsversioninfo@@PAXJ@ZXZ 00796fe0 f libucrtd:winapi_thunks.obj + 0002:00253010 ?try_get_LocaleNameToLCID@@YAP6GKPB_WK@ZXZ 00797010 f libucrtd:winapi_thunks.obj + 0002:00253040 ?try_get_LocateXStateFeature@@YAP6GPAXPAU_CONTEXT@@KPAK@ZXZ 00797040 f libucrtd:winapi_thunks.obj + 0002:00253070 ?try_get_MessageBoxA@@YAP6GHPAUHWND__@@PBD1I@ZXZ 00797070 f libucrtd:winapi_thunks.obj + 0002:002530a0 ?try_get_MessageBoxW@@YAP6GHPAUHWND__@@PB_W1I@ZXZ 007970a0 f libucrtd:winapi_thunks.obj + 0002:002530d0 ?try_get_RoInitialize@@YAP6GJW4RO_INIT_TYPE@@@ZXZ 007970d0 f libucrtd:winapi_thunks.obj + 0002:00253100 ?try_get_RoUninitialize@@YAP6GXXZXZ 00797100 f libucrtd:winapi_thunks.obj + 0002:00253130 ?try_get_SetThreadStackGuarantee@@YAP6GHPAK@ZXZ 00797130 f libucrtd:winapi_thunks.obj + 0002:00253160 ?try_get_SystemFunction036@@YAP6GEPAXK@ZXZ 00797160 f libucrtd:winapi_thunks.obj + 0002:00253190 ?try_get_first_available_module@@YAPAUHINSTANCE__@@QBW4module_id@?A0x391cf84c@@0@Z 00797190 f libucrtd:winapi_thunks.obj + 0002:002531f0 ?try_get_function@@YAPAXW4function_id@?A0x391cf84c@@QBDQBW4module_id@2@2@Z 007971f0 f libucrtd:winapi_thunks.obj + 0002:00253370 ?try_get_module@@YAPAUHINSTANCE__@@W4module_id@?A0x391cf84c@@@Z 00797370 f libucrtd:winapi_thunks.obj + 0002:002534c0 ?try_get_proc_address_from_first_available_module@@YAPAXQBDQBW4module_id@?A0x391cf84c@@1@Z 007974c0 f libucrtd:winapi_thunks.obj + 0002:00253510 ?try_load_library_from_system_directory@@YAPAUHINSTANCE__@@QB_W@Z 00797510 f libucrtd:winapi_thunks.obj + 0002:002546e0 ?get_std_handle_id@@YAKH@Z 007986e0 f libucrtd:ioinit.obj + 0002:00254730 ?initialize_inherited_file_handles_nolock@@YAXXZ 00798730 f libucrtd:ioinit.obj + 0002:002548b0 ?initialize_stdio_handles_nolock@@YAXXZ 007988b0 f libucrtd:ioinit.obj + 0002:002560b0 ?fp_format_a@@YAHQBNPADIQADIH_NIQAU__crt_locale_pointers@@@Z 0079a0b0 f libucrtd:cvt.obj + 0002:00256930 ?fp_format_e@@YAHQBNQADI1IH_NIQAU__crt_locale_pointers@@@Z 0079a930 f libucrtd:cvt.obj + 0002:00256ac0 ?fp_format_e_internal@@YAHQADIH_NIQAU_strflt@@1QAU__crt_locale_pointers@@@Z 0079aac0 f libucrtd:cvt.obj + 0002:00256e50 ?fp_format_f@@YAHQBNQADI1IHQAU__crt_locale_pointers@@@Z 0079ae50 f libucrtd:cvt.obj + 0002:00256f60 ?fp_format_f_internal@@YAHQADIHQAU_strflt@@_NQAU__crt_locale_pointers@@@Z 0079af60 f libucrtd:cvt.obj + 0002:00257150 ?fp_format_g@@YAHQBNQADI1IH_NIQAU__crt_locale_pointers@@@Z 0079b150 f libucrtd:cvt.obj + 0002:00257310 ?fp_format_nan_or_infinity@@YAHW4__acrt_fp_class@@_NPADI1@Z 0079b310 f libucrtd:cvt.obj + 0002:00257500 ?shift_bytes@@YAXQADI0H@Z 0079b500 f libucrtd:cvt.obj + 0002:00257930 $LN34 0079b930 libucrtd:cvt.obj + 0002:00257944 $LN33 0079b944 libucrtd:cvt.obj + 0002:00257a70 ?fputwc_binary_nolock@@YAG_WV__crt_stdio_stream@@@Z 0079ba70 f libucrtd:fputwc.obj + 0002:00258400 ??$common_xtox@KD@@YAHKQADII_N@Z 0079c400 f libucrtd:xtoa.obj + 0002:002585f0 ??$common_xtox@K_W@@YAHKQA_WII_N@Z 0079c5f0 f libucrtd:xtoa.obj + 0002:002587f0 ??$common_xtox@_KD@@YAH_KQADII_N@Z 0079c7f0 f libucrtd:xtoa.obj + 0002:00258a20 ??$common_xtox@_K_W@@YAH_KQA_WII_N@Z 0079ca20 f libucrtd:xtoa.obj + 0002:00258c60 ??$common_xtox_s@KD@@YAHKQADII_N@Z 0079cc60 f libucrtd:xtoa.obj + 0002:00258f90 ??$common_xtox_s@K_W@@YAHKQA_WII_N@Z 0079cf90 f libucrtd:xtoa.obj + 0002:002592c0 ??$common_xtox_s@_KD@@YAH_KQADII_N@Z 0079d2c0 f libucrtd:xtoa.obj + 0002:002595f0 ??$common_xtox_s@_K_W@@YAH_KQA_WII_N@Z 0079d5f0 f libucrtd:xtoa.obj + 0002:0025a060 ??$common_tcscat_s@_W@@YAHQA_WIQB_W@Z 0079e060 f libucrtd:wcscat_s.obj + 0002:0025a5c0 ??$common_tcsncat_s@_W@@YAHQA_WIQB_WI@Z 0079e5c0 f libucrtd:wcsncat_s.obj + 0002:0025abf0 ??$common_tcsncat_s@D@@YAHQADIQBDI@Z 0079ebf0 f libucrtd:strncat_s.obj + 0002:0025b280 $$000000 0079f280 libucrtd:pow_impl.obj + 0002:0025b560 $$000000 0079f560 libucrtd:pow_pentium4.obj + 0002:0025c350 $$000000 007a0350 libucrtd:common.obj + 0002:0025c540 $$000000 007a0540 libucrtd:sqrt_impl.obj + 0002:0025c620 ??$translate_text_mode_nolock@D@@YAHHQADI@Z 007a0620 f libucrtd:read.obj + 0002:0025c9a0 ??$translate_text_mode_nolock@_W@@YAHHQA_WI@Z 007a09a0 f libucrtd:read.obj + 0002:0025cd50 ?store_lookahead@@YAXHD@Z 007a0d50 f libucrtd:read.obj + 0002:0025cd90 ?store_lookahead@@YAXH_W@Z 007a0d90 f libucrtd:read.obj + 0002:0025ce50 ?translate_ansi_or_utf8_nolock@@YAHHQADIQA_WI@Z 007a0e50 f libucrtd:read.obj + 0002:0025d170 ?translate_utf16_from_console_nolock@@YAHHQA_WI@Z 007a1170 f libucrtd:read.obj + 0002:0025e260 ??$common_refill_and_read_nolock@D@@YAHV__crt_stdio_stream@@@Z 007a2260 f libucrtd:_filbuf.obj + 0002:0025e5d0 ??$common_refill_and_read_nolock@_W@@YAHV__crt_stdio_stream@@@Z 007a25d0 f libucrtd:_filbuf.obj + 0002:0025e950 ?get_context_nolock@@YA?AUfilwbuf_context@?A0x763516dc@@V__crt_stdio_stream@@_W@Z 007a2950 f libucrtd:_filbuf.obj + 0002:0025e9a0 ?get_context_nolock@@YAHV__crt_stdio_stream@@D@Z 007a29a0 f libucrtd:_filbuf.obj + 0002:0025e9b0 ?is_buffer_valid_nolock@@YA_NV__crt_stdio_stream@@D@Z 007a29b0 f libucrtd:_filbuf.obj + 0002:0025ea00 ?is_buffer_valid_nolock@@YA_NV__crt_stdio_stream@@_W@Z 007a2a00 f libucrtd:_filbuf.obj + 0002:0025ea60 ?read_character_nolock@@YAEV__crt_stdio_stream@@HD@Z 007a2a60 f libucrtd:_filbuf.obj + 0002:0025eac0 ?read_character_nolock@@YA_WV__crt_stdio_stream@@Ufilwbuf_context@?A0x763516dc@@_W@Z 007a2ac0 f libucrtd:_filbuf.obj + 0002:0025ec09 ??$common_dupenv_s@D@@YAHQAPADQAIQBDH2H@Z 007a2c09 f libucrtd:getenv.obj + 0002:0025ec7a ??$common_dupenv_s@_W@@YAHQAPA_WQAIQB_WHQBDH@Z 007a2c7a f libucrtd:getenv.obj + 0002:0025eceb ??$common_dupenv_s_nolock@D@@YAHQAPADQAIQBDH2H@Z 007a2ceb f libucrtd:getenv.obj + 0002:0025ee7b ??$common_dupenv_s_nolock@_W@@YAHQAPA_WQAIQB_WHQBDH@Z 007a2e7b f libucrtd:getenv.obj + 0002:0025f012 ??$common_getenv@D@@YAPADQBD@Z 007a3012 f libucrtd:getenv.obj + 0002:0025f146 ??$common_getenv@_W@@YAPA_WQB_W@Z 007a3146 f libucrtd:getenv.obj + 0002:0025f27a ??$common_getenv_nolock@D@@YAPADQBD@Z 007a327a f libucrtd:getenv.obj + 0002:0025f34d ??$common_getenv_nolock@_W@@YAPA_WQB_W@Z 007a334d f libucrtd:getenv.obj + 0002:0025f442 ??$common_getenv_s@D@@YAHQAIQADIQBD@Z 007a3442 f libucrtd:getenv.obj + 0002:0025f4ac ??$common_getenv_s@_W@@YAHQAIQA_WIQB_W@Z 007a34ac f libucrtd:getenv.obj + 0002:0025f516 ??$common_getenv_s_nolock@D@@YAHQAIQADIQBD@Z 007a3516 f libucrtd:getenv.obj + 0002:0025f677 ??$common_getenv_s_nolock@_W@@YAHQAIQA_WIQB_W@Z 007a3677 f libucrtd:getenv.obj + 0002:0025f9dc ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@_N@@QAE_N$$QAV@@AAV@@$$QAV@@@Z 007a39dc f libucrtd:spawnv.obj + 0002:0025fa41 ??$__acrt_lock_and_call@V@@@@YA_NW4__acrt_lock_id@@$$QAV@@@Z 007a3a41 f libucrtd:spawnv.obj + 0002:0025fa73 ??$common_spawnv@D@@YAHHQBDQBQBD1@Z 007a3a73 f libucrtd:spawnv.obj + 0002:0025ff12 ??$common_spawnv@_W@@YAHHQB_WQBQB_W1@Z 007a3f12 f libucrtd:spawnv.obj + 0002:00260452 ??$execute_command@D@@YAHHQBDQBQBD1@Z 007a4452 f libucrtd:spawnv.obj + 0002:0026079f ??$execute_command@_W@@YAHHQB_WQBQB_W1@Z 007a479f f libucrtd:spawnv.obj + 0002:00260d73 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007a4d73 f libucrtd:spawnv.obj + 0002:00260d89 ??0@@QAE@ABQAPAEABQAIAB_N@Z 007a4d89 f libucrtd:spawnv.obj + 0002:00260dac ??0@@QAE@ABW4__acrt_lock_id@@@Z 007a4dac f libucrtd:spawnv.obj + 0002:00260e4e ??R@@QBEXXZ 007a4e4e f libucrtd:spawnv.obj + 0002:00260e59 ??R@@QBE_NXZ 007a4e59 f libucrtd:spawnv.obj + 0002:00260ff9 ??R@@QBEXXZ 007a4ff9 f libucrtd:spawnv.obj + 0002:00261004 ?accumulate_inheritable_handles@@YA_NQAPAEQAI_N@Z 007a5004 f libucrtd:spawnv.obj + 0002:002610c4 ?should_create_unicode_environment@@YA_ND@Z 007a50c4 f libucrtd:spawnv.obj + 0002:002610c7 ?should_create_unicode_environment@@YA_N_W@Z 007a50c7 f libucrtd:spawnv.obj + 0002:002611a2 ??$common_spawnvp@D@@YAHHQBDQBQBD1@Z 007a51a2 f libucrtd:spawnvp.obj + 0002:00261684 ??$common_spawnvp@_W@@YAHHQB_WQBQB_W1@Z 007a5684 f libucrtd:spawnvp.obj + 0002:00262230 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007a6230 f libucrtd:access.obj + 0002:002623b0 ??R@@QBEHIQBDQA_WI@Z 007a63b0 f libucrtd:access.obj + 0002:00262800 ?select_heap@@YAPAXQAX@Z 007a6800 f libucrtd:free_base.obj + 0002:00262930 ?is_contraction_possible@@YA_NI@Z 007a6930 f libucrtd:expand.obj + 0002:00262d00 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 007a6d00 f libucrtd:close.obj + 0002:00262db0 ??$__acrt_lowio_lock_fh_and_call@V@@@@YAHH$$QAV@@@Z 007a6db0 f libucrtd:close.obj + 0002:00262df0 ??0@@QAE@ABH@Z 007a6df0 f libucrtd:close.obj + 0002:00262e10 ??0@@QAE@ABH@Z 007a6e10 f libucrtd:close.obj + 0002:00262e40 ??0@@QAE@ABH@Z 007a6e40 f libucrtd:close.obj + 0002:00262e70 ??R@@QBEHXZ 007a6e70 f libucrtd:close.obj + 0002:00262f10 ??R@@QBEXXZ 007a6f10 f libucrtd:close.obj + 0002:00262f40 ??R@@QBEXXZ 007a6f40 f libucrtd:close.obj + 0002:00262f70 ?close_os_handle_nolock@@YAKH@Z 007a6f70 f libucrtd:close.obj + 0002:00263550 ?find_or_allocate_unused_stream_nolock@@YA?AV__crt_stdio_stream@@XZ 007a7550 f libucrtd:stream.obj + 0002:002637a0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 007a77a0 f libucrtd:commit.obj + 0002:00263850 ??$__acrt_lowio_lock_fh_and_call@V@@@@YAHH$$QAV@@@Z 007a7850 f libucrtd:commit.obj + 0002:00263890 ??0@@QAE@ABH@Z 007a7890 f libucrtd:commit.obj + 0002:002638c0 ??0@@QAE@ABH@Z 007a78c0 f libucrtd:commit.obj + 0002:002638e0 ??0@@QAE@ABH@Z 007a78e0 f libucrtd:commit.obj + 0002:00263910 ??R@@QBEXXZ 007a7910 f libucrtd:commit.obj + 0002:00263940 ??R@@QBEHXZ 007a7940 f libucrtd:commit.obj + 0002:00263a00 ??R@@QBEXXZ 007a7a00 f libucrtd:commit.obj + 0002:00263be0 ?write_binary_nolock@@YA?AUwrite_result@?A0x17268360@@HQBDI@Z 007a7be0 f libucrtd:write.obj + 0002:00263c90 ?write_double_translated_ansi_nolock@@YA?AUwrite_result@?A0x17268360@@HQBDI@Z 007a7c90 f libucrtd:write.obj + 0002:00264bd0 ?write_double_translated_unicode_nolock@@YA?AUwrite_result@?A0x17268360@@QBDI@Z 007a8bd0 f libucrtd:write.obj + 0002:00264d20 ?write_requires_double_translation_nolock@@YA_NH@Z 007a8d20 f libucrtd:write.obj + 0002:00264e30 ?write_text_ansi_nolock@@YA?AUwrite_result@?A0x17268360@@HQBDI@Z 007a8e30 f libucrtd:write.obj + 0002:002650b0 ?write_text_utf16le_nolock@@YA?AUwrite_result@?A0x17268360@@HQBDI@Z 007a90b0 f libucrtd:write.obj + 0002:00265340 ?write_text_utf8_nolock@@YA?AUwrite_result@?A0x17268360@@HQBDI@Z 007a9340 f libucrtd:write.obj + 0002:00265eb0 ??$common_ftell@J@@YAJV__crt_stdio_stream@@@Z 007a9eb0 f libucrtd:ftell.obj + 0002:00266010 ??$common_ftell@_J@@YA_JV__crt_stdio_stream@@@Z 007aa010 f libucrtd:ftell.obj + 0002:00266190 ??$common_ftell_nolock@J@@YAJV__crt_stdio_stream@@@Z 007aa190 f libucrtd:ftell.obj + 0002:002661f0 ??$common_ftell_nolock@_J@@YA_JV__crt_stdio_stream@@@Z 007aa1f0 f libucrtd:ftell.obj + 0002:00266540 ??$count_newlines_of_type@D@@YA_JQBD0@Z 007aa540 f libucrtd:ftell.obj + 0002:00266600 ??$count_newlines_of_type@_W@@YA_JQBD0@Z 007aa600 f libucrtd:ftell.obj + 0002:002666c0 ?buffer_character_size@@YAIW4__crt_lowio_text_mode@@@Z 007aa6c0 f libucrtd:ftell.obj + 0002:00266700 ?buffer_contains_wide_characters@@YA_NW4__crt_lowio_text_mode@@@Z 007aa700 f libucrtd:ftell.obj + 0002:00266740 ?common_ftell_read_mode_nolock@@YA_JV__crt_stdio_stream@@_J1@Z 007aa740 f libucrtd:ftell.obj + 0002:00266aa0 ?common_ftell_translated_utf8_nolock@@YA_JV__crt_stdio_stream@@_J@Z 007aaaa0 f libucrtd:ftell.obj + 0002:00266e80 ?count_newline_bytes@@YA_JQBD0W4__crt_lowio_text_mode@@@Z 007aae80 f libucrtd:ftell.obj + 0002:00266fe0 ??$common_flush_and_write_nolock@D@@YAHHV__crt_stdio_stream@@@Z 007aafe0 f libucrtd:_flsbuf.obj + 0002:00267240 ??$common_flush_and_write_nolock@_W@@YAHHV__crt_stdio_stream@@@Z 007ab240 f libucrtd:_flsbuf.obj + 0002:002674b0 ??$write_buffer_nolock@D@@YA_NDV__crt_stdio_stream@@@Z 007ab4b0 f libucrtd:_flsbuf.obj + 0002:002676d0 ??$write_buffer_nolock@_W@@YA_N_WV__crt_stdio_stream@@@Z 007ab6d0 f libucrtd:_flsbuf.obj + 0002:002678f0 ?stream_is_at_end_of_file_nolock@@YA_NV__crt_stdio_stream@@@Z 007ab8f0 f libucrtd:_flsbuf.obj + 0002:00267a60 ??$common_lseek@J@@YAJHJH@Z 007aba60 f libucrtd:lseek.obj + 0002:00267d40 ??$common_lseek@_J@@YA_JH_JH@Z 007abd40 f libucrtd:lseek.obj + 0002:00268040 ??$common_lseek_nolock@J@@YAJHJH@Z 007ac040 f libucrtd:lseek.obj + 0002:00268130 ??$common_lseek_nolock@_J@@YA_JH_JH@Z 007ac130 f libucrtd:lseek.obj + 0002:00268230 ?common_lseek_do_seek_nolock@@YAJQAXJH@Z 007ac230 f libucrtd:lseek.obj + 0002:00268340 ?common_lseek_do_seek_nolock@@YA_JQAX_JH@Z 007ac340 f libucrtd:lseek.obj + 0002:002685c0 $$000000 007ac5c0 libucrtd:acos_impl.obj + 0002:00268710 $$000000 007ac710 libucrtd:acos_pentium4.obj + 0002:00268dc0 $$000000 007acdc0 libucrtd:asin_impl.obj + 0002:00268f10 $$000000 007acf10 libucrtd:asin_pentium4.obj + 0002:002695f0 $$000000 007ad5f0 libucrtd:cos_impl.obj + 0002:00269710 $$000000 007ad710 libucrtd:cos_pentium4.obj + 0002:00269930 $$000000 007ad930 libucrtd:sin_impl.obj + 0002:00269a50 $$000000 007ada50 libucrtd:sin_pentium4.obj + 0002:0026a3c0 ??$common_gmtime@J@@YAPAUtm@@QBJ@Z 007ae3c0 f libucrtd:gmtime.obj + 0002:0026a410 ??$common_gmtime@_J@@YAPAUtm@@QB_J@Z 007ae410 f libucrtd:gmtime.obj + 0002:0026a460 ??$common_gmtime_s@J@@YAHQAUtm@@QBJ@Z 007ae460 f libucrtd:gmtime.obj + 0002:0026a790 ??$common_gmtime_s@_J@@YAHQAUtm@@QB_J@Z 007ae790 f libucrtd:gmtime.obj + 0002:0026ab60 ?compute_year@@YAHAAJAA_N@Z 007aeb60 f libucrtd:gmtime.obj + 0002:0026ac40 ?compute_year@@YAHAA_JAA_N@Z 007aec40 f libucrtd:gmtime.obj + 0002:0026af20 ?_isindst_nolock@@YAHQAUtm@@@Z 007aef20 f libucrtd:tzset.obj + 0002:0026b3c0 ?cvtdate@@YAXW4transition_type@?A0x7639d0b4@@W4date_type@2@HHHHHHHHH@Z 007af3c0 f libucrtd:tzset.obj + 0002:0026b680 ?get_tz_environment_variable@@YAPADAAY0BAA@D@Z 007af680 f libucrtd:tzset.obj + 0002:0026b790 ?tzset_from_environment_nolock@@YAXPAD@Z 007af790 f libucrtd:tzset.obj + 0002:0026bbb0 ?tzset_from_system_nolock@@YAXXZ 007afbb0 f libucrtd:tzset.obj + 0002:0026be90 ?tzset_nolock@@YAXXZ 007afe90 f libucrtd:tzset.obj + 0002:0026c988 $LN79 007b0988 libucrtd:openfile.obj + 0002:0026c9c0 $LN78 007b09c0 libucrtd:openfile.obj + 0002:0026d41c $LN79 007b141c libucrtd:openfile.obj + 0002:0026d454 $LN78 007b1454 libucrtd:openfile.obj + 0002:0026d6d0 ??$common_openfile@D@@YAPAU_iobuf@@QBD0HV__crt_stdio_stream@@@Z 007b16d0 f libucrtd:openfile.obj + 0002:0026d8c0 ??$common_openfile@_W@@YAPAU_iobuf@@QB_W0HV__crt_stdio_stream@@@Z 007b18c0 f libucrtd:openfile.obj + 0002:0026e540 ?__acrt_LCMapStringA_stat@@YAHPAU__crt_locale_pointers@@PB_WKPBDHPADHHH@Z 007b2540 f libucrtd:lcmapstringa.obj + 0002:0026ea60 ??$get_cached_win_policy@Ubegin_thread_init_policy_properties@?1??__acrt_get_begin_thread_init_policy@@YA?AW4begin_thread_init_policy@@XZ@@@YA?AW4begin_thread_init_policy@@W4AppPolicyThreadInitializationType@@@Z 007b2a60 f libucrtd:win_policies.obj + 0002:0026eb30 ??$get_cached_win_policy@Udeveloper_information_policy_properties@?1??__acrt_get_developer_information_policy@@YA?AW4developer_information_policy@@XZ@@@YA?AW4developer_information_policy@@W4AppPolicyShowDeveloperDiagnostic@@@Z 007b2b30 f libucrtd:win_policies.obj + 0002:0026ec00 ??$get_cached_win_policy@Uwindowing_model_policy_properties@?1??__acrt_get_windowing_model_policy@@YA?AW4windowing_model_policy@@XZ@@@YA?AW4windowing_model_policy@@W4AppPolicyWindowingModel@@@Z 007b2c00 f libucrtd:win_policies.obj + 0002:0026ecd0 ??$get_win_policy@Uprocess_end_policy_properties@?1??__acrt_get_process_end_policy@@YA?AW4process_end_policy@@XZ@@@YA?AW4process_end_policy@@W4AppPolicyProcessTerminationMethod@@@Z 007b2cd0 f libucrtd:win_policies.obj + 0002:0026ed20 ?appmodel_get_policy@begin_thread_init_policy_properties@?1??__acrt_get_begin_thread_init_policy@@YA?AW4begin_thread_init_policy@@XZ@SAJPAW4AppPolicyThreadInitializationType@@@Z 007b2d20 f libucrtd:win_policies.obj + 0002:0026ed40 ?appmodel_get_policy@developer_information_policy_properties@?1??__acrt_get_developer_information_policy@@YA?AW4developer_information_policy@@XZ@SAJPAW4AppPolicyShowDeveloperDiagnostic@@@Z 007b2d40 f libucrtd:win_policies.obj + 0002:0026ed60 ?appmodel_get_policy@process_end_policy_properties@?1??__acrt_get_process_end_policy@@YA?AW4process_end_policy@@XZ@SAJPAW4AppPolicyProcessTerminationMethod@@@Z 007b2d60 f libucrtd:win_policies.obj + 0002:0026ed80 ?appmodel_get_policy@windowing_model_policy_properties@?1??__acrt_get_windowing_model_policy@@YA?AW4windowing_model_policy@@XZ@SAJPAW4AppPolicyWindowingModel@@@Z 007b2d80 f libucrtd:win_policies.obj + 0002:0026eda0 ?appmodel_policy_to_policy_type@begin_thread_init_policy_properties@?1??__acrt_get_begin_thread_init_policy@@YA?AW4begin_thread_init_policy@@XZ@SA?AW43@J@Z 007b2da0 f libucrtd:win_policies.obj + 0002:0026edd0 ?appmodel_policy_to_policy_type@developer_information_policy_properties@?1??__acrt_get_developer_information_policy@@YA?AW4developer_information_policy@@XZ@SA?AW43@J@Z 007b2dd0 f libucrtd:win_policies.obj + 0002:0026ee00 ?appmodel_policy_to_policy_type@process_end_policy_properties@?1??__acrt_get_process_end_policy@@YA?AW4process_end_policy@@XZ@SA?AW43@W4AppPolicyProcessTerminationMethod@@@Z 007b2e00 f libucrtd:win_policies.obj + 0002:0026ee20 ?appmodel_policy_to_policy_type@windowing_model_policy_properties@?1??__acrt_get_windowing_model_policy@@YA?AW4windowing_model_policy@@XZ@SA?AW43@J@Z 007b2e20 f libucrtd:win_policies.obj + 0002:0026eef0 ?_mbstowcs_l_helper@@YAIPA_WPBDIPAU__crt_locale_pointers@@@Z 007b2ef0 f libucrtd:mbstowcs.obj + 0002:0026f930 ?_wcstombs_l_helper@@YAIPADPB_WIPAU__crt_locale_pointers@@@Z 007b3930 f libucrtd:wcstombs.obj + 0002:00270120 ?wcsncnt@@YAIPB_WI@Z 007b4120 f libucrtd:wcstombs.obj + 0002:00270670 ?InternalGetLocaleInfoA@@YAHQAU__crt_locale_pointers@@QB_WKQADH@Z 007b4670 f libucrtd:getlocaleinfoa.obj + 0002:00271bf0 ?filter_mbtowcs_flags@@YAKIK@Z 007b5bf0 f libucrtd:multibytetowidechar.obj + 0002:00271d20 ?filter_wcstomb_flags@@YAKIK@Z 007b5d20 f libucrtd:widechartomultibyte.obj + 0002:00272400 ?@@@CAHPBX0@Z 007b6400 f libucrtd:argv_wildcards.obj + 0002:00272420 ?@@@CAHPBX0@Z 007b6420 f libucrtd:argv_wildcards.obj + 0002:00272440 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007b6440 f libucrtd:argv_wildcards.obj + 0002:002725c0 ??$__acrt_convert_wcs_mbs_cp@_WDV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQB_WAAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007b65c0 f libucrtd:argv_wildcards.obj + 0002:00272770 ??$common_expand_argv_wildcards@D@@YAHQAPADQAPAPAD@Z 007b6770 f libucrtd:argv_wildcards.obj + 0002:00272b00 ??$common_expand_argv_wildcards@_W@@YAHQAPA_WQAPAPA_W@Z 007b6b00 f libucrtd:argv_wildcards.obj + 0002:00272ec0 ??$copy_and_add_argument_to_buffer@D@@YAHQBD0IAAV?$argument_list@D@?A0x5f5c8891@@@Z 007b6ec0 f libucrtd:argv_wildcards.obj + 0002:00273020 ??$copy_and_add_argument_to_buffer@_W@@YAHQB_W0IAAV?$argument_list@_W@?A0x5f5c8891@@@Z 007b7020 f libucrtd:argv_wildcards.obj + 0002:00273190 ??$expand_argument_wildcards@D@@YAHQAD0AAV?$argument_list@D@?A0x5f5c8891@@@Z 007b7190 f libucrtd:argv_wildcards.obj + 0002:002735f0 ??$expand_argument_wildcards@_W@@YAHQA_W0AAV?$argument_list@_W@?A0x5f5c8891@@@Z 007b75f0 f libucrtd:argv_wildcards.obj + 0002:00273c30 ??0?$argument_list@D@?A0x5f5c8891@@QAE@XZ 007b7c30 f libucrtd:argv_wildcards.obj + 0002:00273c70 ??0?$argument_list@_W@?A0x5f5c8891@@QAE@XZ 007b7c70 f libucrtd:argv_wildcards.obj + 0002:00273d20 ??1?$argument_list@D@?A0x5f5c8891@@QAE@XZ 007b7d20 f libucrtd:argv_wildcards.obj + 0002:00273d90 ??1?$argument_list@_W@?A0x5f5c8891@@QAE@XZ 007b7d90 f libucrtd:argv_wildcards.obj + 0002:00273e00 ??B@@QBEP6AHPBX0@ZXZ 007b7e00 f libucrtd:argv_wildcards.obj + 0002:00273e20 ??B@@QBEP6AHPBX0@ZXZ 007b7e20 f libucrtd:argv_wildcards.obj + 0002:00273e40 ??R@@QBEHIQB_WQADI@Z 007b7e40 f libucrtd:argv_wildcards.obj + 0002:00273e80 ??R@@QBE_ND@Z 007b7e80 f libucrtd:argv_wildcards.obj + 0002:00273ed0 ??R@@QBEHPBX0@Z 007b7ed0 f libucrtd:argv_wildcards.obj + 0002:00273f10 ??R@@QBEHIQBDQA_WI@Z 007b7f10 f libucrtd:argv_wildcards.obj + 0002:00273f50 ??R@@QBEHPBX0@Z 007b7f50 f libucrtd:argv_wildcards.obj + 0002:00273f90 ??R@@QBE_N_W@Z 007b7f90 f libucrtd:argv_wildcards.obj + 0002:002740b0 ?append@?$argument_list@D@?A0x5f5c8891@@QAEHQAD@Z 007b80b0 f libucrtd:argv_wildcards.obj + 0002:00274120 ?append@?$argument_list@_W@?A0x5f5c8891@@QAEHQA_W@Z 007b8120 f libucrtd:argv_wildcards.obj + 0002:00274190 ?begin@?$argument_list@D@?A0x5f5c8891@@QBEPAPADXZ 007b8190 f libucrtd:argv_wildcards.obj + 0002:002741b0 ?begin@?$argument_list@_W@?A0x5f5c8891@@QBEPAPA_WXZ 007b81b0 f libucrtd:argv_wildcards.obj + 0002:002742b0 ?end@?$argument_list@D@?A0x5f5c8891@@QBEPAPADXZ 007b82b0 f libucrtd:argv_wildcards.obj + 0002:002742d0 ?end@?$argument_list@_W@?A0x5f5c8891@@QBEPAPA_WXZ 007b82d0 f libucrtd:argv_wildcards.obj + 0002:002742f0 ?expand_if_necessary@?$argument_list@D@?A0x5f5c8891@@AAEHXZ 007b82f0 f libucrtd:argv_wildcards.obj + 0002:002744a0 ?expand_if_necessary@?$argument_list@_W@?A0x5f5c8891@@AAEHXZ 007b84a0 f libucrtd:argv_wildcards.obj + 0002:00274670 ?get_file_name@@YAPADQAV?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QA_W@Z 007b8670 f libucrtd:argv_wildcards.obj + 0002:002746c0 ?get_file_name@@YAPA_WPAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QA_W@Z 007b86c0 f libucrtd:argv_wildcards.obj + 0002:002746e0 ?get_wide@@YAPA_WPAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QA_W@Z 007b86e0 f libucrtd:argv_wildcards.obj + 0002:002746f0 ?get_wide@@YAPA_WQAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAD@Z 007b86f0 f libucrtd:argv_wildcards.obj + 0002:00274740 ?previous_character@@YAPADQAD0@Z 007b8740 f libucrtd:argv_wildcards.obj + 0002:00274760 ?previous_character@@YAPA_WPA_WQA_W@Z 007b8760 f libucrtd:argv_wildcards.obj + 0002:002747d0 ?size@?$argument_list@D@?A0x5f5c8891@@QBEIXZ 007b87d0 f libucrtd:argv_wildcards.obj + 0002:00274800 ?size@?$argument_list@_W@?A0x5f5c8891@@QBEIXZ 007b8800 f libucrtd:argv_wildcards.obj + 0002:002748b0 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 007b88b0 f libucrtd:mbctype.obj + 0002:00274950 ??$__acrt_lock_and_call@V@@@@YAXW4__acrt_lock_id@@$$QAV@@@Z 007b8950 f libucrtd:mbctype.obj + 0002:00274a50 ??0@@QAE@ABQAU__acrt_ptd@@ABQAPAU__crt_multibyte_data@@@Z 007b8a50 f libucrtd:mbctype.obj + 0002:00274a80 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007b8a80 f libucrtd:mbctype.obj + 0002:00274ab0 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007b8ab0 f libucrtd:mbctype.obj + 0002:00274ae0 ??R@@QBEXXZ 007b8ae0 f libucrtd:mbctype.obj + 0002:00274be0 ??R@@QBEXXZ 007b8be0 f libucrtd:mbctype.obj + 0002:00274c10 ??R@@QBEXXZ 007b8c10 f libucrtd:mbctype.obj + 0002:00274c40 ?CPtoLocaleName@@YAPB_WH@Z 007b8c40 f libucrtd:mbctype.obj + 0002:00274cb4 $LN10 007b8cb4 libucrtd:mbctype.obj + 0002:00274cc8 $LN9 007b8cc8 libucrtd:mbctype.obj + 0002:00274d50 ?getSystemCP@@YAHH@Z 007b8d50 f libucrtd:mbctype.obj + 0002:00274e90 ?setSBCS@@YAXPAU__crt_multibyte_data@@@Z 007b8e90 f libucrtd:mbctype.obj + 0002:00274fa0 ?setSBUpLow@@YAXPAU__crt_multibyte_data@@@Z 007b8fa0 f libucrtd:mbctype.obj + 0002:002753f0 ?setmbcp_internal@@YAHH_NQAU__acrt_ptd@@QAPAU__crt_multibyte_data@@@Z 007b93f0 f libucrtd:mbctype.obj + 0002:00275610 ?update_thread_multibyte_data_internal@@YAPAU__crt_multibyte_data@@QAU__acrt_ptd@@QAPAU1@@Z 007b9610 f libucrtd:mbctype.obj + 0002:00275e90 _memcpy_s 007b9e90 f libucrtd:mbctype.obj + 0002:00275fdc ?x_ismbbtype_l@@YAHPAU__crt_locale_pointers@@IHH@Z 007b9fdc f libucrtd:ismbbyte.obj + 0002:0027639d ??0?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QAE@QA_W@Z 007ba39d f libucrtd:get_environment_from_os.obj + 0002:002763b1 ??1?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QAE@XZ 007ba3b1 f libucrtd:get_environment_from_os.obj + 0002:002763cd ??B?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QBE_NXZ 007ba3cd f libucrtd:get_environment_from_os.obj + 0002:002763d4 ?close@?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QAEXXZ 007ba3d4 f libucrtd:get_environment_from_os.obj + 0002:002763f0 ?close@environment_strings_traits@?A0x1bf47908@@SA_NPA_W@Z 007ba3f0 f libucrtd:get_environment_from_os.obj + 0002:00276406 ?find_end_of_double_null_terminated_sequence@@YAPB_WQB_W@Z 007ba406 f libucrtd:get_environment_from_os.obj + 0002:0027644a ?get@?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QBEPA_WXZ 007ba44a f libucrtd:get_environment_from_os.obj + 0002:0027644d ?get_invalid_value@environment_strings_traits@?A0x1bf47908@@SAPA_WXZ 007ba44d f libucrtd:get_environment_from_os.obj + 0002:00276450 ?is_valid@?$__crt_unique_handle_t@Uenvironment_strings_traits@?A0x1bf47908@@@@QBE_NXZ 007ba450 f libucrtd:get_environment_from_os.obj + 0002:00276584 ??$common_set_variable_in_environment_nolock@D@@YAHQADH@Z 007ba584 f libucrtd:setenv.obj + 0002:0027698d ??$common_set_variable_in_environment_nolock@_W@@YAHQA_WH@Z 007ba98d f libucrtd:setenv.obj + 0002:00276dd0 ??$copy_environment@D@@YAPAPADQAPAD@Z 007badd0 f libucrtd:setenv.obj + 0002:00276edb ??$copy_environment@_W@@YAPAPA_WQAPA_W@Z 007baedb f libucrtd:setenv.obj + 0002:00276ff9 ??$ensure_current_environment_is_not_initial_environment_nolock@D@@YAXXZ 007baff9 f libucrtd:setenv.obj + 0002:00277019 ??$ensure_current_environment_is_not_initial_environment_nolock@_W@@YAXXZ 007bb019 f libucrtd:setenv.obj + 0002:00277039 ??$find_in_environment_nolock@D@@YAHQBDI@Z 007bb039 f libucrtd:setenv.obj + 0002:002770a3 ??$find_in_environment_nolock@_W@@YAHQB_WI@Z 007bb0a3 f libucrtd:setenv.obj + 0002:0027726e ?get_environment@@YAAAPAPADD@Z 007bb26e f libucrtd:setenv.obj + 0002:00277274 ?get_environment@@YAAAPAPA_W_W@Z 007bb274 f libucrtd:setenv.obj + 0002:0027727a ?get_initial_environment@@YAAAPAPADD@Z 007bb27a f libucrtd:setenv.obj + 0002:00277280 ?get_initial_environment@@YAAAPAPA_W_W@Z 007bb280 f libucrtd:setenv.obj + 0002:00277286 ?get_other_environment@@YAAAPAPAD_W@Z 007bb286 f libucrtd:setenv.obj + 0002:0027728c ?get_other_environment@@YAAAPAPA_WD@Z 007bb28c f libucrtd:setenv.obj + 0002:00278d10 _fix_grouping 007bcd10 f libucrtd:initmon.obj + 0002:00279350 _fix_grouping 007bd350 f libucrtd:initnum.obj + 0002:00279420 ??$free_crt_array@D$01@@YAXAAY01PAD@Z 007bd420 f libucrtd:inittime.obj + 0002:00279440 ??$free_crt_array@D$06@@YAXAAY06PAD@Z 007bd440 f libucrtd:inittime.obj + 0002:00279460 ??$free_crt_array@D$0M@@@YAXAAY0M@PAD@Z 007bd460 f libucrtd:inittime.obj + 0002:00279480 ??$free_crt_array@_W$01@@YAXAAY01PA_W@Z 007bd480 f libucrtd:inittime.obj + 0002:002794a0 ??$free_crt_array@_W$06@@YAXAAY06PA_W@Z 007bd4a0 f libucrtd:inittime.obj + 0002:002794c0 ??$free_crt_array@_W$0M@@@YAXAAY0M@PA_W@Z 007bd4c0 f libucrtd:inittime.obj + 0002:00279570 ?free_crt_array_internal@@YAXQAPBXI@Z 007bd570 f libucrtd:inittime.obj + 0002:002795e0 ?get_or_create_lc_time@@YAPBU__crt_lc_time_data@@QAU__crt_locale_data@@@Z 007bd5e0 f libucrtd:inittime.obj + 0002:002796f0 ?initialize_lc_time@@YA_NQAU__crt_lc_time_data@@QAU__crt_locale_data@@@Z 007bd6f0 f libucrtd:inittime.obj + 0002:0027a890 _GetLocaleNameFromDefault 007be890 f libucrtd:get_qualified_locale.obj + 0002:0027a950 _GetLocaleNameFromLangCountry 007be950 f libucrtd:get_qualified_locale.obj + 0002:0027aa60 _GetLocaleNameFromLanguage 007bea60 f libucrtd:get_qualified_locale.obj + 0002:0027ab10 _GetPrimaryLen 007beb10 f libucrtd:get_qualified_locale.obj + 0002:0027abb0 _LangCountryEnumProcEx@12 007bebb0 f libucrtd:get_qualified_locale.obj + 0002:0027b250 _LanguageEnumProcEx@12 007bf250 f libucrtd:get_qualified_locale.obj + 0002:0027b3d0 _ProcessCodePage 007bf3d0 f libucrtd:get_qualified_locale.obj + 0002:0027b500 _TestDefaultCountry 007bf500 f libucrtd:get_qualified_locale.obj + 0002:0027b570 _TestDefaultLanguage 007bf570 f libucrtd:get_qualified_locale.obj + 0002:0027b5d0 _TranslateName 007bf5d0 f libucrtd:get_qualified_locale.obj + 0002:0027ba90 _CountryEnumProc@4 007bfa90 f libucrtd:getqloc_downlevel.obj + 0002:0027bc20 _GetLcidFromCountry 007bfc20 f libucrtd:getqloc_downlevel.obj + 0002:0027bca0 _GetLcidFromDefault 007bfca0 f libucrtd:getqloc_downlevel.obj + 0002:0027bcf0 _GetLcidFromLangCountry 007bfcf0 f libucrtd:getqloc_downlevel.obj + 0002:0027be10 _GetLcidFromLanguage 007bfe10 f libucrtd:getqloc_downlevel.obj + 0002:0027bed0 _GetPrimaryLen 007bfed0 f libucrtd:getqloc_downlevel.obj + 0002:0027bf60 _LangCountryEnumProc@4 007bff60 f libucrtd:getqloc_downlevel.obj + 0002:0027c520 _LanguageEnumProc@4 007c0520 f libucrtd:getqloc_downlevel.obj + 0002:0027c770 _LcidFromHexString 007c0770 f libucrtd:getqloc_downlevel.obj + 0002:0027c820 _ProcessCodePage 007c0820 f libucrtd:getqloc_downlevel.obj + 0002:0027c900 _TestDefaultCountry 007c0900 f libucrtd:getqloc_downlevel.obj + 0002:0027c960 _TestDefaultLanguage 007c0960 f libucrtd:getqloc_downlevel.obj + 0002:0027ca10 _TranslateName 007c0a10 f libucrtd:getqloc_downlevel.obj + 0002:0027cf30 ??$common_tcsncpy_s@D@@YAHQADIQBDI@Z 007c0f30 f libucrtd:strncpy_s.obj + 0002:0027d470 ___abstract_cw_sse2 007c1470 f libucrtd:ieee87.obj + 0002:0027d610 ___abstract_sw_sse2 007c1610 f libucrtd:ieee87.obj + 0002:0027d6c0 ___clearfp_sse2 007c16c0 f libucrtd:ieee87.obj + 0002:0027d7d0 ___control87_sse2 007c17d0 f libucrtd:ieee87.obj + 0002:0027d8a0 ___hw_cw_sse2 007c18a0 f libucrtd:ieee87.obj + 0002:0027da40 ___statusfp_sse2 007c1a40 f libucrtd:ieee87.obj + 0002:0027da70 __abstract_cw 007c1a70 f libucrtd:ieee87.obj + 0002:0027dc10 __abstract_sw 007c1c10 f libucrtd:ieee87.obj + 0002:0027dea0 __hw_cw 007c1ea0 f libucrtd:ieee87.obj + 0002:0027e1c0 $$000000 007c21c0 libucrtd:87ctran.obj + 0002:0027e230 $$000000 007c2230 libucrtd:exp_pentium4.obj + 0002:0027e650 ?GetTableIndexFromLcid@@YAHK@Z 007c2650 f libucrtd:lcidtoname_downlevel.obj + 0002:0027e6d0 ?GetTableIndexFromLocaleName@@YAHPB_W@Z 007c26d0 f libucrtd:lcidtoname_downlevel.obj + 0002:0027e780 ?__wcsnicmp_ascii@@YAHPB_W0I@Z 007c2780 f libucrtd:lcidtoname_downlevel.obj + 0002:0027e9d0 ??R@@QBEIPBD@Z 007c29d0 f libucrtd:mbrtowc.obj + 0002:0027ed50 ?_mbrtowc_s_l@@YAHPAHPA_WPBDIPAU_Mbstatet@@PAU__crt_locale_pointers@@@Z 007c2d50 f libucrtd:mbrtowc.obj + 0002:0027f2d0 ?_mbsrtowcs_helper@@YAIPA_WPAPBDIPAU_Mbstatet@@@Z 007c32d0 f libucrtd:mbrtowc.obj + 0002:00280210 ??$convert_to_fos_high_precision@N@@YAXNIQAHQADI@Z 007c4210 f libucrtd:cfout.obj + 0002:002809d0 ??0scoped_fp_state_reset@?A0x71ca7cfb@@QAE@XZ 007c49d0 f libucrtd:cfout.obj + 0002:00280a30 ??1scoped_fp_state_reset@?A0x71ca7cfb@@QAE@XZ 007c4a30 f libucrtd:cfout.obj + 0002:00280eb8 $LN15 007c4eb8 libucrtd:cfout.obj + 0002:00280f70 _memcpy_s 007c4f70 f libucrtd:cfout.obj + 0002:002811c0 $$000000 007c51c0 libucrtd:87tran.obj + 0002:00281450 $$000000 007c5450 libucrtd:87disp.obj + 0002:00281770 $$000000 007c5770 libucrtd:genexcep.obj + 0002:00281fdc $LN38 007c5fdc libucrtd:libm_error.obj + 0002:00282018 $LN37 007c6018 libucrtd:libm_error.obj + 0002:00282c4f ??$common_capture_argv@D@@YAPAPADQAPADQBD0I@Z 007c6c4f f libucrtd:cenvarg.obj + 0002:00282df0 ??$common_capture_argv@_W@@YAPAPA_WQAPADQB_WQAPA_WI@Z 007c6df0 f libucrtd:cenvarg.obj + 0002:00282f91 ??$common_pack_argv_and_envp@D@@YAHQBQBD0QAPAD1@Z 007c6f91 f libucrtd:cenvarg.obj + 0002:00283027 ??$common_pack_argv_and_envp@_W@@YAHQBQB_W0QAPA_W1@Z 007c7027 f libucrtd:cenvarg.obj + 0002:002830bd ??$construct_command_line@D@@YAHQBQBDQAPAD@Z 007c70bd f libucrtd:cenvarg.obj + 0002:002831e2 ??$construct_command_line@_W@@YAHQBQB_WQAPA_W@Z 007c71e2 f libucrtd:cenvarg.obj + 0002:0028332e ??$construct_environment_block@D@@YAHQBQBDQAPAD@Z 007c732e f libucrtd:cenvarg.obj + 0002:00283746 ??$construct_environment_block@_W@@YAHQBQB_WQAPA_W@Z 007c7746 f libucrtd:cenvarg.obj + 0002:00283e49 ??0@@QAE@ABQBQBD@Z 007c7e49 f libucrtd:cenvarg.obj + 0002:00283e5d ??0@@QAE@ABQA_W@Z 007c7e5d f libucrtd:cenvarg.obj + 0002:00283e71 ??0@@QAE@ABQBQB_W@Z 007c7e71 f libucrtd:cenvarg.obj + 0002:00283e85 ??0@@QAE@ABQBQB_W@Z 007c7e85 f libucrtd:cenvarg.obj + 0002:00283e99 ??0@@QAE@ABQBQB_WAAY0L@$$CB_W@Z 007c7e99 f libucrtd:cenvarg.obj + 0002:00283eb4 ??0@@QAE@ABV?$__crt_unique_heap_ptr@DU__crt_internal_free_policy@@@@@Z 007c7eb4 f libucrtd:cenvarg.obj + 0002:00283ec8 ??0@@QAE@ABV?$__crt_unique_heap_ptr@_WU__crt_internal_free_policy@@@@@Z 007c7ec8 f libucrtd:cenvarg.obj + 0002:00283edc ??0@@QAE@ABQBQBDAAY0L@$$CBD@Z 007c7edc f libucrtd:cenvarg.obj + 0002:00283ef7 ??0@@QAE@ABQBQBD@Z 007c7ef7 f libucrtd:cenvarg.obj + 0002:00283f0b ??0@@QAE@ABQAD@Z 007c7f0b f libucrtd:cenvarg.obj + 0002:00283f7f ??R@@QBEIXZ 007c7f7f f libucrtd:cenvarg.obj + 0002:00283fb6 ??R@@QBEPA_WXZ 007c7fb6 f libucrtd:cenvarg.obj + 0002:00284012 ??R@@QBEIXZ 007c8012 f libucrtd:cenvarg.obj + 0002:00284050 ??R@@QBEIXZ 007c8050 f libucrtd:cenvarg.obj + 0002:0028409c ??R@@QBE_NXZ 007c809c f libucrtd:cenvarg.obj + 0002:002840f3 ??R@@QBEPADXZ 007c80f3 f libucrtd:cenvarg.obj + 0002:00284120 ??R@@QBEPA_WXZ 007c8120 f libucrtd:cenvarg.obj + 0002:0028415e ??R@@QBE_NXZ 007c815e f libucrtd:cenvarg.obj + 0002:002841ae ??R@@QBEIXZ 007c81ae f libucrtd:cenvarg.obj + 0002:002841ed ??R@@QBEPADXZ 007c81ed f libucrtd:cenvarg.obj + 0002:002843e4 _memcpy_s 007c83e4 f libucrtd:cenvarg.obj + 0002:00284490 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007c8490 f libucrtd:createprocessa.obj + 0002:00284610 ??R@@QBEHIQBDQA_WI@Z 007c8610 f libucrtd:createprocessa.obj + 0002:00284809 ??$common_getpath@D@@YAPADQBDQADI@Z 007c8809 f libucrtd:getpath.obj + 0002:002848fe ??$common_getpath@_W@@YAPA_WQB_WQA_WI@Z 007c88fe f libucrtd:getpath.obj + 0002:00284b64 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@G@@QAEG$$QAV@@AAV@@$$QAV@@@Z 007c8b64 f libucrtd:putwch.obj + 0002:00284bd9 ??$__acrt_lock_and_call@V@@@@YAGW4__acrt_lock_id@@$$QAV@@@Z 007c8bd9 f libucrtd:putwch.obj + 0002:00284c0b ??0@@QAE@AB_W@Z 007c8c0b f libucrtd:putwch.obj + 0002:00284c1f ??0@@QAE@ABW4__acrt_lock_id@@@Z 007c8c1f f libucrtd:putwch.obj + 0002:00284c35 ??0@@QAE@ABW4__acrt_lock_id@@@Z 007c8c35 f libucrtd:putwch.obj + 0002:00284c4b ??R@@QBEGXZ 007c8c4b f libucrtd:putwch.obj + 0002:00284c5b ??R@@QBEXXZ 007c8c5b f libucrtd:putwch.obj + 0002:00284c66 ??R@@QBEXXZ 007c8c66 f libucrtd:putwch.obj + 0002:002857d0 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007c97d0 f libucrtd:open.obj + 0002:00285960 ??$common_open@D@@YAHQBDHH@Z 007c9960 f libucrtd:open.obj + 0002:00285b60 ??$common_open@_W@@YAHQB_WHH@Z 007c9b60 f libucrtd:open.obj + 0002:00285d60 ??$common_sopen_dispatch@D@@YAHQBDHHHQAHH@Z 007c9d60 f libucrtd:open.obj + 0002:002860b0 ??$common_sopen_dispatch@_W@@YAHQB_WHHHQAHH@Z 007ca0b0 f libucrtd:open.obj + 0002:00286540 ??R@@QBEHIQBDQA_WI@Z 007ca540 f libucrtd:open.obj + 0002:00286580 ?configure_text_mode@@YAHHUfile_options@?A0xa9d50aae@@HAAW4__crt_lowio_text_mode@@@Z 007ca580 f libucrtd:open.obj + 0002:002869f0 $LN55 007ca9f0 libucrtd:open.obj + 0002:00286b30 ?create_file@@YAPAXQB_WQAU_SECURITY_ATTRIBUTES@@Ufile_options@?A0xa9d50aae@@@Z 007cab30 f libucrtd:open.obj + 0002:00286b70 ?decode_access_flags@@YAKH@Z 007cab70 f libucrtd:open.obj + 0002:00286c80 ?decode_open_create_flags@@YAKH@Z 007cac80 f libucrtd:open.obj + 0002:00286df0 ?decode_options@@YA?AUfile_options@?A0xa9d50aae@@HHH@Z 007cadf0 f libucrtd:open.obj + 0002:00286fb0 ?decode_sharing_flags@@YAKHH@Z 007cafb0 f libucrtd:open.obj + 0002:0028709c $LN17 007cb09c libucrtd:open.obj + 0002:002870b4 $LN16 007cb0b4 libucrtd:open.obj + 0002:00287190 ?is_text_mode@@YA_NH@Z 007cb190 f libucrtd:open.obj + 0002:00287210 ?truncate_ctrl_z_if_present@@YAHH@Z 007cb210 f libucrtd:open.obj + 0002:00287f90 ?_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z 007cbf90 f libucrtd:wcrtomb.obj + 0002:002882f0 _internal_wcsrtombs 007cc2f0 f libucrtd:wcrtomb.obj + 0002:00288630 _memcpy_s 007cc630 f libucrtd:wcrtomb.obj + 0002:00288e30 ?fperrraise_with@@YAXHK@Z 007cce30 f libucrtd:_test.obj + 0002:00289b40 ??$to_abstract_status@W4__acrt_fenv_machine_sse_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_sse_status@@@Z 007cdb40 f libucrtd:_fenvutils.obj + 0002:00289b60 ??$to_abstract_status@W4__acrt_fenv_machine_x87_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_x87_status@@@Z 007cdb60 f libucrtd:_fenvutils.obj + 0002:00289b80 ??$translate_control_exception_mask@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@Z 007cdb80 f libucrtd:_fenvutils.obj + 0002:00289ca0 ??$translate_control_exception_mask@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@Z 007cdca0 f libucrtd:_fenvutils.obj + 0002:00289db0 ??$translate_control_exception_mask@W4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@Z 007cddb0 f libucrtd:_fenvutils.obj + 0002:00289ee0 ??$translate_control_exception_mask@W4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@Z 007cdee0 f libucrtd:_fenvutils.obj + 0002:0028a000 ??$translate_control_infinity_control@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@Z 007ce000 f libucrtd:_fenvutils.obj + 0002:0028a050 ??$translate_control_infinity_control@W4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@Z 007ce050 f libucrtd:_fenvutils.obj + 0002:0028a0a0 ??$translate_control_precision_control@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@Z 007ce0a0 f libucrtd:_fenvutils.obj + 0002:0028a110 ??$translate_control_precision_control@W4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@Z 007ce110 f libucrtd:_fenvutils.obj + 0002:0028a170 ??$translate_control_rounding_control@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@Z 007ce170 f libucrtd:_fenvutils.obj + 0002:0028a200 ??$translate_control_rounding_control@W4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@Z 007ce200 f libucrtd:_fenvutils.obj + 0002:0028a290 ??$translate_control_rounding_control@W4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@Z 007ce290 f libucrtd:_fenvutils.obj + 0002:0028a310 ??$translate_control_rounding_control@W4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@Z 007ce310 f libucrtd:_fenvutils.obj + 0002:0028a390 ??$translate_status@W4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_sse_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_sse_status@@@Z 007ce390 f libucrtd:_fenvutils.obj + 0002:0028a4a0 ??$translate_status@W4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_x87_status@@@@YA?AW4__acrt_fenv_abstract_status@@W4__acrt_fenv_machine_x87_status@@@Z 007ce4a0 f libucrtd:_fenvutils.obj + 0002:0028a5b0 ??$translate_status@W4__acrt_fenv_machine_sse_status@@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_machine_sse_status@@W4__acrt_fenv_abstract_status@@@Z 007ce5b0 f libucrtd:_fenvutils.obj + 0002:0028a6c0 ??$translate_status@W4__acrt_fenv_machine_x87_status@@W4__acrt_fenv_abstract_status@@@@YA?AW4__acrt_fenv_machine_x87_status@@W4__acrt_fenv_abstract_status@@@Z 007ce6c0 f libucrtd:_fenvutils.obj + 0002:0028ab50 ?get_machine_sse_control@@YA?AW4__acrt_fenv_machine_sse_control@@XZ 007ceb50 f libucrtd:_fenvutils.obj + 0002:0028ab90 ?get_machine_sse_status@@YA?AW4__acrt_fenv_machine_sse_status@@XZ 007ceb90 f libucrtd:_fenvutils.obj + 0002:0028abd0 ?get_machine_x87_control@@YA?AW4__acrt_fenv_machine_x87_control@@XZ 007cebd0 f libucrtd:_fenvutils.obj + 0002:0028ac40 ?get_machine_x87_status@@YA?AW4__acrt_fenv_machine_x87_status@@XZ 007cec40 f libucrtd:_fenvutils.obj + 0002:0028ac70 ?set_machine_sse_control@@YAXW4__acrt_fenv_machine_sse_control@@@Z 007cec70 f libucrtd:_fenvutils.obj + 0002:0028ace0 ?set_machine_sse_status@@YAXW4__acrt_fenv_machine_sse_status@@@Z 007cece0 f libucrtd:_fenvutils.obj + 0002:0028ad40 ?set_machine_x87_control@@YAXW4__acrt_fenv_machine_x87_control@@@Z 007ced40 f libucrtd:_fenvutils.obj + 0002:0028adc0 ?set_machine_x87_status@@YAXW4__acrt_fenv_machine_x87_status@@@Z 007cedc0 f libucrtd:_fenvutils.obj + 0002:0028ae30 ?to_abstract_control@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@Z 007cee30 f libucrtd:_fenvutils.obj + 0002:0028ae90 ?to_abstract_control@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_x87_control@@@Z 007cee90 f libucrtd:_fenvutils.obj + 0002:0028af00 ?to_machine_sse_control@@YA?AW4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@Z 007cef00 f libucrtd:_fenvutils.obj + 0002:0028af80 ?to_machine_sse_status@@YA?AW4__acrt_fenv_machine_sse_status@@W4__acrt_fenv_abstract_status@@@Z 007cef80 f libucrtd:_fenvutils.obj + 0002:0028afb0 ?to_machine_x87_control@@YA?AW4__acrt_fenv_machine_x87_control@@W4__acrt_fenv_abstract_control@@@Z 007cefb0 f libucrtd:_fenvutils.obj + 0002:0028b050 ?to_machine_x87_status@@YA?AW4__acrt_fenv_machine_x87_status@@W4__acrt_fenv_abstract_status@@@Z 007cf050 f libucrtd:_fenvutils.obj + 0002:0028b080 ?translate_control_denormal_control_from_sse@@YA?AW4__acrt_fenv_abstract_control@@W4__acrt_fenv_machine_sse_control@@@Z 007cf080 f libucrtd:_fenvutils.obj + 0002:0028b110 ?translate_control_denormal_control_to_sse@@YA?AW4__acrt_fenv_machine_sse_control@@W4__acrt_fenv_abstract_control@@@Z 007cf110 f libucrtd:_fenvutils.obj + 0002:0028b620 ?shortsort@@YAXPAD0IP6AHPBX1@Z@Z 007cf620 f libucrtd:qsort.obj + 0002:0028b710 ?swap@@YAXPAD0I@Z 007cf710 f libucrtd:qsort.obj + 0002:0028bfa0 $$000000 007cffa0 libucrtd:strpbrk.obj + 0002:0028bff0 ?initialize_multibyte@@YAHXZ 007cfff0 f libucrtd:multibyte_initializer.obj + 0002:0028c030 ??$__acrt_convert_wcs_mbs_cp@D_WV@@U__crt_win32_buffer_internal_dynamic_resizing@@@@YAHQBDAAV?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@ABV@@I@Z 007d0030 f libucrtd:setenvironmentvariablea.obj + 0002:0028c1b0 ??R@@QBEHIQBDQA_WI@Z 007d01b0 f libucrtd:setenvironmentvariablea.obj + 0002:0028c2e0 $$000000 007d02e0 libucrtd:87cdisp.obj + 0002:0028c9d0 $$000000 007d09d0 libucrtd:log10.obj + 0002:0028ca30 $$000000 007d0a30 libucrtd:ceil_pentium4.obj + 0002:0028cea0 $LN18 007d0ea0 libucrtd:87except.obj + 0002:0028d030 ?InternalCompareStringA@@YAHPAU__crt_locale_pointers@@PB_WKPBDH2HH@Z 007d1030 f libucrtd:comparestringa.obj + 0002:0028d657 ??$console_output_reopen_and_retry@V@@@@YAHABV@@@Z 007d1657 f libucrtd:initcon.obj + 0002:0028d6c5 ??0@@QAE@ABQBXABKABQAK@Z 007d16c5 f libucrtd:initcon.obj + 0002:0028d6ef ??R@@QBEHXZ 007d16ef f libucrtd:initcon.obj + 0002:0028d70b ?__dcrt_lowio_initialize_console_output@@YAXXZ 007d170b f libucrtd:initcon.obj + 0002:0028d7e0 $$000000 007d17e0 libucrtd:_strnicm.obj + 0002:0028d860 ??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 007d1860 f libucrtd:chsize.obj + 0002:0028d910 ??$__acrt_lowio_lock_fh_and_call@V@@@@YAHH$$QAV@@@Z 007d1910 f libucrtd:chsize.obj + 0002:0028d950 ??0@@QAE@ABH@Z 007d1950 f libucrtd:chsize.obj + 0002:0028d980 ??0@@QAE@ABH@Z 007d1980 f libucrtd:chsize.obj + 0002:0028d9b0 ??0@@QAE@ABHAB_J@Z 007d19b0 f libucrtd:chsize.obj + 0002:0028dab0 ??R@@QBEXXZ 007d1ab0 f libucrtd:chsize.obj + 0002:0028dae0 ??R@@QBEXXZ 007d1ae0 f libucrtd:chsize.obj + 0002:0028db10 ??R@@QBEHXZ 007d1b10 f libucrtd:chsize.obj + 0002:0028e440 ?combine_second_surrogate@?A0xc60ee810@@YA_U_SPAU_Mbstatet@@@Z 007d2440 f libucrtd:c16rtomb.obj + 0002:0028e460 ?has_surrogate@?A0xc60ee810@@YA_NPAU_Mbstatet@@@Z 007d2460 f libucrtd:c16rtomb.obj + 0002:0028e490 ?is_first_surrogate@?A0xc60ee810@@YA_N_S@Z 007d2490 f libucrtd:c16rtomb.obj + 0002:0028e4e0 ?is_second_surrogate@?A0xc60ee810@@YA_N_S@Z 007d24e0 f libucrtd:c16rtomb.obj + 0002:0028e530 ?store_first_surrogate@?A0xc60ee810@@YAX_SPAU_Mbstatet@@@Z 007d2530 f libucrtd:c16rtomb.obj + 0002:0028ebb0 $$000000 007d2bb0 libucrtd:log10_impl.obj + 0002:0028ed10 $$000000 007d2d10 libucrtd:log10_pentium4.obj + 0002:00290ca5 __catch$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z$0 007d4ca5 f libcpmtd:excptptr.obj + 0002:00290dad __catch$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z$0 007d4dad f libcpmtd:excptptr.obj + 0002:00290dd0 __catch$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z$1 007d4dd0 f libcpmtd:excptptr.obj + 0002:00290eea __catch$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ$0 007d4eea f libcpmtd:excptptr.obj + 0002:00290f0d __catch$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ$1 007d4f0d f libcpmtd:excptptr.obj + 0002:002916d0 ?_StaticAlloc@@YAPAXI@Z 007d56d0 f libcpmtd:excptptr.obj + 0002:00291e40 $$000000 007d5e40 LIBCMTD:llrem.obj + 0002:00291f20 $$000000 007d5f20 LIBCMTD:sehprolg4.obj + 0002:00291fa0 $$000000 007d5fa0 LIBCMTD:alloca16.obj + 0002:00291fe0 $$000000 007d5fe0 libvcruntimed:strrchr.obj + 0002:00292360 $$000000 007d6360 libvcruntimed:strchr.obj + 0002:0029aaf0 __ehhandler$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 007deaf0 f MagicProcess.obj + 0002:0029ab20 __ehhandler$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 007deb20 f MagicProcess.obj + 0002:0029ab50 __ehhandler$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 007deb50 f MagicProcess.obj + 0002:0029ab80 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007deb80 f MagicProcess.obj + 0002:0029abb0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007debb0 f MagicProcess.obj + 0002:0029abe0 __ehhandler$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 007debe0 f MagicProcess.obj + 0002:0029ac10 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@V21@@Z$0 007dec10 f MagicProcess.obj + 0002:0029ac18 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@V21@@Z 007dec18 f MagicProcess.obj + 0002:0029ac40 __ehhandler$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 007dec40 f MagicProcess.obj + 0002:0029ac70 __unwindfunclet$??0ByteBuffer@@QAE@XZ$0 007dec70 f MagicProcess.obj + 0002:0029ac7b __ehhandler$??0ByteBuffer@@QAE@XZ 007dec7b f MagicProcess.obj + 0002:0029acb0 __unwindfunclet$??0Packet@@QAE@EE@Z$0 007decb0 f MagicProcess.obj + 0002:0029acb8 __ehhandler$??0Packet@@QAE@EE@Z 007decb8 f MagicProcess.obj + 0002:0029ace0 __ehhandler$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 007dece0 f MagicProcess.obj + 0002:0029ad10 __ehhandler$??1Guard@@QAE@XZ 007ded10 f MagicProcess.obj + 0002:0029ad40 __ehhandler$??1_Iterator_base12@std@@QAE@XZ 007ded40 f MagicProcess.obj + 0002:0029ad70 __ehhandler$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 007ded70 f MagicProcess.obj + 0002:0029ada0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$0 007deda0 f MagicProcess.obj + 0002:0029ada8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$1 007deda8 f MagicProcess.obj + 0002:0029adb0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z$2 007dedb0 f MagicProcess.obj + 0002:0029adbb __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 007dedbb f MagicProcess.obj + 0002:0029adf0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z$0 007dedf0 f MagicProcess.obj + 0002:0029adf8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z$1 007dedf8 f MagicProcess.obj + 0002:0029ae00 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z$2 007dee00 f MagicProcess.obj + 0002:0029ae0b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z 007dee0b f MagicProcess.obj + 0002:0029ae40 __unwindfunclet$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z$0 007dee40 f MagicProcess.obj + 0002:0029ae48 __unwindfunclet$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z$1 007dee48 f MagicProcess.obj + 0002:0029ae53 __unwindfunclet$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z$2 007dee53 f MagicProcess.obj + 0002:0029ae5e __ehhandler$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z 007dee5e f MagicProcess.obj + 0002:0029ae90 __unwindfunclet$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z$0 007dee90 f MagicProcess.obj + 0002:0029ae98 __unwindfunclet$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z$1 007dee98 f MagicProcess.obj + 0002:0029aea0 __unwindfunclet$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z$2 007deea0 f MagicProcess.obj + 0002:0029aeab __unwindfunclet$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z$5 007deeab f MagicProcess.obj + 0002:0029aeb3 __ehhandler$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z 007deeb3 f MagicProcess.obj + 0002:0029aef0 __ehhandler$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 007deef0 f MagicProcess.obj + 0002:0029af20 __ehhandler$?_Orphan_all@_Container_base12@std@@QAEXXZ 007def20 f MagicProcess.obj + 0002:0029af50 __ehhandler$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 007def50 f MagicProcess.obj + 0002:0029af80 __ehhandler$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 007def80 f MagicProcess.obj + 0002:0029afb0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 007defb0 f MagicProcess.obj + 0002:0029afe0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 007defe0 f MagicProcess.obj + 0002:0029b010 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 007df010 f MagicProcess.obj + 0002:0029b040 __unwindfunclet$??$?0U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z$0 007df040 f Unit.obj + 0002:0029b048 __ehhandler$??$?0U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 007df048 f Unit.obj + 0002:0029b070 __unwindfunclet$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z$0 007df070 f Unit.obj + 0002:0029b078 __unwindfunclet$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z$1 007df078 f Unit.obj + 0002:0029b080 __ehhandler$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 007df080 f Unit.obj + 0002:0029b0b0 __unwindfunclet$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z$0 007df0b0 f Unit.obj + 0002:0029b0b8 __ehhandler$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 007df0b8 f Unit.obj + 0002:0029b0e0 __ehhandler$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 007df0e0 f Unit.obj + 0002:0029b110 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 007df110 f Unit.obj + 0002:0029b140 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 007df140 f Unit.obj + 0002:0029b170 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 007df170 f Unit.obj + 0002:0029b1a0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 007df1a0 f Unit.obj + 0002:0029b1d0 __ehhandler$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 007df1d0 f Unit.obj + 0002:0029b200 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 007df200 f Unit.obj + 0002:0029b230 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007df230 f Unit.obj + 0002:0029b260 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 007df260 f Unit.obj + 0002:0029b290 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 007df290 f Unit.obj + 0002:0029b2c0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007df2c0 f Unit.obj + 0002:0029b2f0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 007df2f0 f Unit.obj + 0002:0029b320 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z$0 007df320 f Unit.obj + 0002:0029b328 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 007df328 f Unit.obj + 0002:0029b350 __unwindfunclet$??0ByteBuffer@@QAE@I@Z$0 007df350 f Unit.obj + 0002:0029b35b __ehhandler$??0ByteBuffer@@QAE@I@Z 007df35b f Unit.obj + 0002:0029b390 __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$0 007df390 f Unit.obj + 0002:0029b398 __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$1 007df398 f Unit.obj + 0002:0029b3a3 __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$2 007df3a3 f Unit.obj + 0002:0029b3b1 __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$3 007df3b1 f Unit.obj + 0002:0029b3bf __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$4 007df3bf f Unit.obj + 0002:0029b3cd __unwindfunclet$??0Unit@@QAE@W4UnitType@@@Z$5 007df3cd f Unit.obj + 0002:0029b3db __ehhandler$??0Unit@@QAE@W4UnitType@@@Z 007df3db f Unit.obj + 0002:0029b420 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007df420 f Unit.obj + 0002:0029b450 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007df450 f Unit.obj + 0002:0029b480 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007df480 f Unit.obj + 0002:0029b488 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007df488 f Unit.obj + 0002:0029b4b0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007df4b0 f Unit.obj + 0002:0029b4b8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007df4b8 f Unit.obj + 0002:0029b4e0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007df4e0 f Unit.obj + 0002:0029b4e8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007df4e8 f Unit.obj + 0002:0029b510 __unwindfunclet$?AddType4Buff@Unit@@QAEXEAAU_BUFF_TYPE4_INFO@@@Z$0 007df510 f Unit.obj + 0002:0029b518 __ehhandler$?AddType4Buff@Unit@@QAEXEAAU_BUFF_TYPE4_INFO@@@Z 007df518 f Unit.obj + 0002:0029b540 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z$0 007df540 f Unit.obj + 0002:0029b548 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z$1 007df548 f Unit.obj + 0002:0029b550 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z$2 007df550 f Unit.obj + 0002:0029b55b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z 007df55b f Unit.obj + 0002:0029b590 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z$0 007df590 f Unit.obj + 0002:0029b598 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z$1 007df598 f Unit.obj + 0002:0029b5a0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z$2 007df5a0 f Unit.obj + 0002:0029b5ab __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z 007df5ab f Unit.obj + 0002:0029b5e0 __unwindfunclet$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z$0 007df5e0 f Unit.obj + 0002:0029b5e8 __unwindfunclet$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z$1 007df5e8 f Unit.obj + 0002:0029b5f0 __unwindfunclet$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z$3 007df5f0 f Unit.obj + 0002:0029b5fb __unwindfunclet$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z$4 007df5fb f Unit.obj + 0002:0029b603 __unwindfunclet$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z$6 007df603 f Unit.obj + 0002:0029b60e __ehhandler$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z 007df60e f Unit.obj + 0002:0029b640 __unwindfunclet$?InitType4@Unit@@QAEX_NE@Z$0 007df640 f Unit.obj + 0002:0029b648 __unwindfunclet$?InitType4@Unit@@QAEX_NE@Z$1 007df648 f Unit.obj + 0002:0029b650 __unwindfunclet$?InitType4@Unit@@QAEX_NE@Z$2 007df650 f Unit.obj + 0002:0029b658 __unwindfunclet$?InitType4@Unit@@QAEX_NE@Z$4 007df658 f Unit.obj + 0002:0029b663 __ehhandler$?InitType4@Unit@@QAEX_NE@Z 007df663 f Unit.obj + 0002:0029b6a0 __unwindfunclet$?SendDeathAnimation@Unit@@QAEXPAV1@@Z$0 007df6a0 f Unit.obj + 0002:0029b6a8 __ehhandler$?SendDeathAnimation@Unit@@QAEXPAV1@@Z 007df6a8 f Unit.obj + 0002:0029b6d0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007df6d0 f Unit.obj + 0002:0029b6d8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007df6d8 f Unit.obj + 0002:0029b700 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007df700 f Unit.obj + 0002:0029b708 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007df708 f Unit.obj + 0002:0029b730 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007df730 f Unit.obj + 0002:0029b738 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ 007df738 f Unit.obj + 0002:0029b760 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@QAU32@@Z 007df760 f Unit.obj + 0002:0029b790 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@XZ 007df790 f Unit.obj + 0002:0029b7c0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 007df7c0 f Unit.obj + 0002:0029b7f0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 007df7f0 f Unit.obj + 0002:0029b820 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 007df820 f Unit.obj + 0002:0029b850 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAEXXZ 007df850 f Unit.obj + 0002:0029b880 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 007df880 f Unit.obj + 0002:0029b8b0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 007df8b0 f Unit.obj + 0002:0029b8e0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 007df8e0 f Unit.obj + 0002:0029b910 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 007df910 f Unit.obj + 0002:0029b940 __unwindfunclet$?hasBuff@Unit@@QAE_NE_N@Z$0 007df940 f Unit.obj + 0002:0029b948 __unwindfunclet$?hasBuff@Unit@@QAE_NE_N@Z$1 007df948 f Unit.obj + 0002:0029b950 __unwindfunclet$?hasBuff@Unit@@QAE_NE_N@Z$2 007df950 f Unit.obj + 0002:0029b972 __unwindfunclet$?hasBuff@Unit@@QAE_NE_N@Z$3 007df972 f Unit.obj + 0002:0029b97d __unwindfunclet$?hasBuff@Unit@@QAE_NE_N@Z$4 007df97d f Unit.obj + 0002:0029b988 __ehhandler$?hasBuff@Unit@@QAE_NE_N@Z 007df988 f Unit.obj + 0002:0029b9c0 __ehhandler$??1__CellMain@CN3ShapeMgr@@QAE@XZ 007df9c0 f N3ShapeMgr.obj + 0002:0029b9f0 __unwindfunclet$?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z$0 007df9f0 f N3ShapeMgr.obj + 0002:0029ba17 __unwindfunclet$?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z$1 007dfa17 f N3ShapeMgr.obj + 0002:0029ba2c __ehhandler$?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z 007dfa2c f N3ShapeMgr.obj + 0002:0029ba60 __ehhandler$??$?0ABE$0A@@?$tuple@ABE@std@@QAE@ABE@Z 007dfa60 f GameSocket.obj + 0002:0029ba90 __unwindfunclet$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABE@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z$0 007dfa90 f GameSocket.obj + 0002:0029ba98 __ehhandler$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABE@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z 007dfa98 f GameSocket.obj + 0002:0029bac0 __unwindfunclet$??$?0U?$pair@EF@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QAU?$pair@EF@1@@Z$0 007dfac0 f GameSocket.obj + 0002:0029bac8 __ehhandler$??$?0U?$pair@EF@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QAU?$pair@EF@1@@Z 007dfac8 f GameSocket.obj + 0002:0029baf0 __unwindfunclet$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z$0 007dfaf0 f GameSocket.obj + 0002:0029baf8 __ehhandler$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 007dfaf8 f GameSocket.obj + 0002:0029bb20 __unwindfunclet$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@AAU?$pair@$$CBEF@2@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEF@1@@Z$0 007dfb20 f GameSocket.obj + 0002:0029bb28 __ehhandler$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@AAU?$pair@$$CBEF@2@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEF@1@@Z 007dfb28 f GameSocket.obj + 0002:0029bb50 __ehhandler$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 007dfb50 f GameSocket.obj + 0002:0029bb80 __ehhandler$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 007dfb80 f GameSocket.obj + 0002:0029bbb0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z$0 007dfbb0 f GameSocket.obj + 0002:0029bbb8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 007dfbb8 f GameSocket.obj + 0002:0029bbe0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z$0 007dfbe0 f GameSocket.obj + 0002:0029bbe8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 007dfbe8 f GameSocket.obj + 0002:0029bc10 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z$0 007dfc10 f GameSocket.obj + 0002:0029bc18 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 007dfc18 f GameSocket.obj + 0002:0029bc40 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$0 007dfc40 f GameSocket.obj + 0002:0029bc48 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z$1 007dfc48 f GameSocket.obj + 0002:0029bc50 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 007dfc50 f GameSocket.obj + 0002:0029bc80 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 007dfc80 f GameSocket.obj + 0002:0029bcb0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfcb0 f GameSocket.obj + 0002:0029bce0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfce0 f GameSocket.obj + 0002:0029bd10 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfd10 f GameSocket.obj + 0002:0029bd40 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfd40 f GameSocket.obj + 0002:0029bd70 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfd70 f GameSocket.obj + 0002:0029bda0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007dfda0 f GameSocket.obj + 0002:0029bdd0 __ehhandler$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 007dfdd0 f GameSocket.obj + 0002:0029be00 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007dfe00 f GameSocket.obj + 0002:0029be08 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007dfe08 f GameSocket.obj + 0002:0029be30 __unwindfunclet$?OnDisconnect@CGameSocket@@UAEXXZ$0 007dfe30 f GameSocket.obj + 0002:0029be3b __ehhandler$?OnDisconnect@CGameSocket@@UAEXXZ 007dfe3b f GameSocket.obj + 0002:0029be70 __unwindfunclet$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z$0 007dfe70 f GameSocket.obj + 0002:0029be78 __ehhandler$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 007dfe78 f GameSocket.obj + 0002:0029bea0 __unwindfunclet$?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z$0 007dfea0 f GameSocket.obj + 0002:0029bea8 __unwindfunclet$?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z$1 007dfea8 f GameSocket.obj + 0002:0029beb0 __ehhandler$?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z 007dfeb0 f GameSocket.obj + 0002:0029bee0 __unwindfunclet$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z$0 007dfee0 f GameSocket.obj + 0002:0029bee8 __unwindfunclet$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z$1 007dfee8 f GameSocket.obj + 0002:0029bef0 __unwindfunclet$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z$3 007dfef0 f GameSocket.obj + 0002:0029befb __ehhandler$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z 007dfefb f GameSocket.obj + 0002:0029bf30 __unwindfunclet$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z$0 007dff30 f GameSocket.obj + 0002:0029bf38 __unwindfunclet$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z$1 007dff38 f GameSocket.obj + 0002:0029bf40 __unwindfunclet$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z$3 007dff40 f GameSocket.obj + 0002:0029bf4b __ehhandler$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z 007dff4b f GameSocket.obj + 0002:0029bf80 __unwindfunclet$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z$0 007dff80 f GameSocket.obj + 0002:0029bf8b __unwindfunclet$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z$1 007dff8b f GameSocket.obj + 0002:0029bf96 __unwindfunclet$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z$2 007dff96 f GameSocket.obj + 0002:0029bfa1 __ehhandler$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z 007dffa1 f GameSocket.obj + 0002:0029bfe0 __unwindfunclet$?RecvPartyInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z$0 007dffe0 f GameSocket.obj + 0002:0029bff2 __ehhandler$?RecvPartyInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z 007dfff2 f GameSocket.obj + 0002:0029c020 __unwindfunclet$?RecvServerConnect@CGameSocket@@QAEXAAVPacket@@@Z$1 007e0020 f GameSocket.obj + 0002:0029c028 __ehhandler$?RecvServerConnect@CGameSocket@@QAEXAAVPacket@@@Z 007e0028 f GameSocket.obj + 0002:0029c060 __unwindfunclet$?RecvUserInOut@CGameSocket@@QAEXAAVPacket@@@Z$0 007e0060 f GameSocket.obj + 0002:0029c068 __ehhandler$?RecvUserInOut@CGameSocket@@QAEXAAVPacket@@@Z 007e0068 f GameSocket.obj + 0002:0029c0a0 __unwindfunclet$?RecvUserInfo@CGameSocket@@QAEXAAVPacket@@@Z$0 007e00a0 f GameSocket.obj + 0002:0029c0b5 __ehhandler$?RecvUserInfo@CGameSocket@@QAEXAAVPacket@@@Z 007e00b5 f GameSocket.obj + 0002:0029c0e0 __unwindfunclet$?RecvUserLogOut@CGameSocket@@QAEXAAVPacket@@@Z$0 007e00e0 f GameSocket.obj + 0002:0029c0e8 __ehhandler$?RecvUserLogOut@CGameSocket@@QAEXAAVPacket@@@Z 007e00e8 f GameSocket.obj + 0002:0029c120 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007e0120 f GameSocket.obj + 0002:0029c128 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ 007e0128 f GameSocket.obj + 0002:0029c150 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@QAU32@@Z 007e0150 f GameSocket.obj + 0002:0029c180 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@QAU32@@Z 007e0180 f GameSocket.obj + 0002:0029c1b0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 007e01b0 f GameSocket.obj + 0002:0029c1e0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@XZ 007e01e0 f GameSocket.obj + 0002:0029c210 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@XZ 007e0210 f GameSocket.obj + 0002:0029c240 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@XZ 007e0240 f GameSocket.obj + 0002:0029c270 __ehhandler$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 007e0270 f GameSocket.obj + 0002:0029c2a0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 007e02a0 f GameSocket.obj + 0002:0029c2d0 __ehhandler$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 007e02d0 f GameSocket.obj + 0002:0029c300 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAEXXZ 007e0300 f GameSocket.obj + 0002:0029c330 __ehhandler$?clear@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ 007e0330 f GameSocket.obj + 0002:0029c360 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 007e0360 f GameSocket.obj + 0002:0029c390 __unwindfunclet$_main$0 007e0390 f main.obj + 0002:0029c3a5 __ehhandler$_main 007e03a5 f main.obj + 0002:0029c3d0 __ehhandler$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 007e03d0 f MAP.obj + 0002:0029c400 __unwindfunclet$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z$0 007e0400 f MAP.obj + 0002:0029c408 __ehhandler$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 007e0408 f MAP.obj + 0002:0029c430 __unwindfunclet$??$?0U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z$0 007e0430 f MAP.obj + 0002:0029c438 __ehhandler$??$?0U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 007e0438 f MAP.obj + 0002:0029c460 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 007e0460 f MAP.obj + 0002:0029c490 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@@Z 007e0490 f MAP.obj + 0002:0029c4c0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 007e04c0 f MAP.obj + 0002:0029c4f0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 007e04f0 f MAP.obj + 0002:0029c520 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 007e0520 f MAP.obj + 0002:0029c550 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 007e0550 f MAP.obj + 0002:0029c580 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@V21@@Z$0 007e0580 f MAP.obj + 0002:0029c588 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@V21@@Z 007e0588 f MAP.obj + 0002:0029c5b0 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$0 007e05b0 f MAP.obj + 0002:0029c5b8 __unwindfunclet$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z$1 007e05b8 f MAP.obj + 0002:0029c5c0 __ehhandler$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 007e05c0 f MAP.obj + 0002:0029c5f0 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$0 007e05f0 f MAP.obj + 0002:0029c5f8 __unwindfunclet$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z$1 007e05f8 f MAP.obj + 0002:0029c600 __ehhandler$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 007e0600 f MAP.obj + 0002:0029c630 __unwindfunclet$??0?$CSTLMap@H@@QAE@XZ$0 007e0630 f MAP.obj + 0002:0029c638 __ehhandler$??0?$CSTLMap@H@@QAE@XZ 007e0638 f MAP.obj + 0002:0029c660 __unwindfunclet$??0?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ$0 007e0660 f MAP.obj + 0002:0029c668 __ehhandler$??0?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 007e0668 f MAP.obj + 0002:0029c690 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z$0 007e0690 f MAP.obj + 0002:0029c698 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 007e0698 f MAP.obj + 0002:0029c6c0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z$0 007e06c0 f MAP.obj + 0002:0029c6c8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 007e06c8 f MAP.obj + 0002:0029c6f0 __unwindfunclet$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z$0 007e06f0 f MAP.obj + 0002:0029c6f8 __ehhandler$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 007e06f8 f MAP.obj + 0002:0029c720 __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$0 007e0720 f MAP.obj + 0002:0029c742 __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$1 007e0742 f MAP.obj + 0002:0029c74d __unwindfunclet$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z$2 007e074d f MAP.obj + 0002:0029c758 __ehhandler$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 007e0758 f MAP.obj + 0002:0029c790 __unwindfunclet$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z$0 007e0790 f MAP.obj + 0002:0029c7b2 __ehhandler$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 007e07b2 f MAP.obj + 0002:0029c7e0 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 007e07e0 f MAP.obj + 0002:0029c810 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$0 007e0810 f MAP.obj + 0002:0029c818 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z$1 007e0818 f MAP.obj + 0002:0029c820 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 007e0820 f MAP.obj + 0002:0029c850 __unwindfunclet$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007e0850 f MAP.obj + 0002:0029c858 __ehhandler$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 007e0858 f MAP.obj + 0002:0029c880 __unwindfunclet$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z$0 007e0880 f MAP.obj + 0002:0029c888 __ehhandler$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 007e0888 f MAP.obj + 0002:0029c8b0 __unwindfunclet$??0CRegion@@QAE@XZ$0 007e08b0 f MAP.obj + 0002:0029c8b8 __ehhandler$??0CRegion@@QAE@XZ 007e08b8 f MAP.obj + 0002:0029c8e0 __unwindfunclet$??0MAP@@QAE@XZ$0 007e08e0 f MAP.obj + 0002:0029c8eb __ehhandler$??0MAP@@QAE@XZ 007e08eb f MAP.obj + 0002:0029c920 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$0 007e0920 f MAP.obj + 0002:0029c928 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$1 007e0928 f MAP.obj + 0002:0029c933 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$2 007e0933 f MAP.obj + 0002:0029c93e __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$3 007e093e f MAP.obj + 0002:0029c949 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$4 007e0949 f MAP.obj + 0002:0029c954 __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$5 007e0954 f MAP.obj + 0002:0029c95f __unwindfunclet$??0_Locinfo@std@@QAE@PBD@Z$6 007e095f f MAP.obj + 0002:0029c96a __ehhandler$??0_Locinfo@std@@QAE@PBD@Z 007e096a f MAP.obj + 0002:0029c9b0 __unwindfunclet$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$1 007e09b0 f MAP.obj + 0002:0029c9bb __ehhandler$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 007e09bb f MAP.obj + 0002:0029c9f0 __ehhandler$??0locale@std@@QAE@XZ 007e09f0 f MAP.obj + 0002:0029ca20 __unwindfunclet$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z$0 007e0a20 f MAP.obj + 0002:0029ca28 __ehhandler$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 007e0a28 f MAP.obj + 0002:0029ca50 __unwindfunclet$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z$0 007e0a50 f MAP.obj + 0002:0029ca58 __ehhandler$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 007e0a58 f MAP.obj + 0002:0029ca80 __unwindfunclet$??0system_error@std@@QAE@Verror_code@1@PBD@Z$0 007e0a80 f MAP.obj + 0002:0029ca8b __ehhandler$??0system_error@std@@QAE@Verror_code@1@PBD@Z 007e0a8b f MAP.obj + 0002:0029cac0 __ehhandler$??1?$CSTLMap@H@@QAE@XZ 007e0ac0 f MAP.obj + 0002:0029caf0 __ehhandler$??1?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 007e0af0 f MAP.obj + 0002:0029cb20 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 007e0b20 f MAP.obj + 0002:0029cb50 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e0b50 f MAP.obj + 0002:0029cb80 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 007e0b80 f MAP.obj + 0002:0029cbb0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e0bb0 f MAP.obj + 0002:0029cbe0 __ehhandler$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ 007e0be0 f MAP.obj + 0002:0029cc10 __ehhandler$??1MAP@@UAE@XZ 007e0c10 f MAP.obj + 0002:0029cc40 __ehhandler$??1_Locinfo@std@@QAE@XZ 007e0c40 f MAP.obj + 0002:0029cc70 __ehhandler$??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 007e0c70 f MAP.obj + 0002:0029cca0 __ehhandler$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 007e0ca0 f MAP.obj + 0002:0029ccd0 __ehhandler$??1ios_base@std@@UAE@XZ 007e0cd0 f MAP.obj + 0002:0029cd00 __ehhandler$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 007e0d00 f MAP.obj + 0002:0029cd30 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e0d30 f MAP.obj + 0002:0029cd38 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e0d38 f MAP.obj + 0002:0029cd60 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e0d60 f MAP.obj + 0002:0029cd68 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e0d68 f MAP.obj + 0002:0029cd90 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e0d90 f MAP.obj + 0002:0029cd98 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e0d98 f MAP.obj + 0002:0029cdc0 __ehhandler$??_ECRegion@@QAEPAXI@Z 007e0dc0 f MAP.obj + 0002:0029cdf0 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$0 007e0df0 f MAP.obj + 0002:0029cdf8 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$1 007e0df8 f MAP.obj + 0002:0029ce00 __unwindfunclet$?DeleteAllData@?$CSTLMap@H@@QAEXXZ$3 007e0e00 f MAP.obj + 0002:0029ce0b __ehhandler$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 007e0e0b f MAP.obj + 0002:0029ce40 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ$0 007e0e40 f MAP.obj + 0002:0029ce48 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ$1 007e0e48 f MAP.obj + 0002:0029ce50 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ$3 007e0e50 f MAP.obj + 0002:0029ce5b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ 007e0e5b f MAP.obj + 0002:0029ce90 __unwindfunclet$?DeleteData@?$CSTLMap@H@@QAEXI@Z$0 007e0e90 f MAP.obj + 0002:0029ce98 __unwindfunclet$?DeleteData@?$CSTLMap@H@@QAEXI@Z$1 007e0e98 f MAP.obj + 0002:0029cea0 __unwindfunclet$?DeleteData@?$CSTLMap@H@@QAEXI@Z$2 007e0ea0 f MAP.obj + 0002:0029ceab __ehhandler$?DeleteData@?$CSTLMap@H@@QAEXI@Z 007e0eab f MAP.obj + 0002:0029cee0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$0 007e0ee0 f MAP.obj + 0002:0029cee8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$1 007e0ee8 f MAP.obj + 0002:0029cef0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z$2 007e0ef0 f MAP.obj + 0002:0029cefb __ehhandler$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 007e0efb f MAP.obj + 0002:0029cf30 __unwindfunclet$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z$1 007e0f30 f MAP.obj + 0002:0029cf38 __unwindfunclet$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z$3 007e0f38 f MAP.obj + 0002:0029cf43 __unwindfunclet$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z$4 007e0f43 f MAP.obj + 0002:0029cf76 __ehhandler$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z 007e0f76 f MAP.obj + 0002:0029cfb0 __unwindfunclet$?InitializeRoom@MAP@@QAEXXZ$0 007e0fb0 f MAP.obj + 0002:0029cfb8 __unwindfunclet$?InitializeRoom@MAP@@QAEXXZ$2 007e0fb8 f MAP.obj + 0002:0029cfc3 __ehhandler$?InitializeRoom@MAP@@QAEXXZ 007e0fc3 f MAP.obj + 0002:0029cff0 __unwindfunclet$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z$0 007e0ff0 f MAP.obj + 0002:0029cff8 __unwindfunclet$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z$1 007e0ff8 f MAP.obj + 0002:0029d003 __unwindfunclet$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z$2 007e1003 f MAP.obj + 0002:0029d00e __ehhandler$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z 007e100e f MAP.obj + 0002:0029d040 __unwindfunclet$?IsRoomCheck@MAP@@QAEHMM@Z$0 007e1040 f MAP.obj + 0002:0029d048 __unwindfunclet$?IsRoomCheck@MAP@@QAEHMM@Z$2 007e1048 f MAP.obj + 0002:0029d053 __ehhandler$?IsRoomCheck@MAP@@QAEHMM@Z 007e1053 f MAP.obj + 0002:0029d080 __unwindfunclet$?IsRoomStatusCheck@MAP@@QAE_NXZ$0 007e1080 f MAP.obj + 0002:0029d088 __unwindfunclet$?IsRoomStatusCheck@MAP@@QAE_NXZ$2 007e1088 f MAP.obj + 0002:0029d093 __ehhandler$?IsRoomStatusCheck@MAP@@QAE_NXZ 007e1093 f MAP.obj + 0002:0029d0c0 __unwindfunclet$?LoadRoomEvent@MAP@@QAE_NXZ$10 007e10c0 f MAP.obj + 0002:0029d0c8 __unwindfunclet$?LoadRoomEvent@MAP@@QAE_NXZ$11 007e10c8 f MAP.obj + 0002:0029d0d3 __ehhandler$?LoadRoomEvent@MAP@@QAE_NXZ 007e10d3 f MAP.obj + 0002:0029d110 __unwindfunclet$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z$0 007e1110 f MAP.obj + 0002:0029d118 __ehhandler$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 007e1118 f MAP.obj + 0002:0029d140 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NIPAVCRoomEvent@@@Z$0 007e1140 f MAP.obj + 0002:0029d148 __ehhandler$?PutData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NIPAVCRoomEvent@@@Z 007e1148 f MAP.obj + 0002:0029d170 __unwindfunclet$?RegionNpcAdd@MAP@@QAEXHHH@Z$0 007e1170 f MAP.obj + 0002:0029d178 __ehhandler$?RegionNpcAdd@MAP@@QAEXHHH@Z 007e1178 f MAP.obj + 0002:0029d1a0 __unwindfunclet$?RegionNpcRemove@MAP@@QAE_NHHH@Z$0 007e11a0 f MAP.obj + 0002:0029d1a8 __ehhandler$?RegionNpcRemove@MAP@@QAE_NHHH@Z 007e11a8 f MAP.obj + 0002:0029d1d0 __unwindfunclet$?RegionUserAdd@MAP@@QAEXHHH@Z$0 007e11d0 f MAP.obj + 0002:0029d1d8 __ehhandler$?RegionUserAdd@MAP@@QAEXHHH@Z 007e11d8 f MAP.obj + 0002:0029d200 __unwindfunclet$?RegionUserRemove@MAP@@QAE_NHHH@Z$0 007e1200 f MAP.obj + 0002:0029d208 __ehhandler$?RegionUserRemove@MAP@@QAE_NHHH@Z 007e1208 f MAP.obj + 0002:0029d230 __unwindfunclet$?SetRoomEvent@MAP@@QAEPAVCRoomEvent@@H@Z$0 007e1230 f MAP.obj + 0002:0029d245 __ehhandler$?SetRoomEvent@MAP@@QAEPAVCRoomEvent@@H@Z 007e1245 f MAP.obj + 0002:0029d270 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007e1270 f MAP.obj + 0002:0029d278 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 007e1278 f MAP.obj + 0002:0029d2a0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e12a0 f MAP.obj + 0002:0029d2a8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e12a8 f MAP.obj + 0002:0029d2d0 __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007e12d0 f MAP.obj + 0002:0029d2de __unwindfunclet$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007e12de f MAP.obj + 0002:0029d300 __ehhandler$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007e1300 f MAP.obj + 0002:0029d340 __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007e1340 f MAP.obj + 0002:0029d34e __unwindfunclet$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007e134e f MAP.obj + 0002:0029d370 __ehhandler$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007e1370 f MAP.obj + 0002:0029d3b0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU32@@Z 007e13b0 f MAP.obj + 0002:0029d3e0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@QAU32@@Z 007e13e0 f MAP.obj + 0002:0029d410 __unwindfunclet$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$2 007e1410 f MAP.obj + 0002:0029d41b __ehhandler$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 007e141b f MAP.obj + 0002:0029d450 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$0 007e1450 f MAP.obj + 0002:0029d458 __unwindfunclet$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z$1 007e1458 f MAP.obj + 0002:0029d463 __ehhandler$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 007e1463 f MAP.obj + 0002:0029d4a0 __ehhandler$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 007e14a0 f MAP.obj + 0002:0029d4d0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@XZ 007e14d0 f MAP.obj + 0002:0029d500 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@XZ 007e1500 f MAP.obj + 0002:0029d530 __ehhandler$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 007e1530 f MAP.obj + 0002:0029d560 __ehhandler$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 007e1560 f MAP.obj + 0002:0029d590 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 007e1590 f MAP.obj + 0002:0029d5c0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 007e15c0 f MAP.obj + 0002:0029d5f0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 007e15f0 f MAP.obj + 0002:0029d620 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 007e1620 f MAP.obj + 0002:0029d650 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e1650 f MAP.obj + 0002:0029d680 __ehhandler$?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 007e1680 f MAP.obj + 0002:0029d6b0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 007e16b0 f MAP.obj + 0002:0029d6e0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 007e16e0 f MAP.obj + 0002:0029d710 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 007e1710 f MAP.obj + 0002:0029d740 __unwindfunclet$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ$0 007e1740 f MAP.obj + 0002:0029d748 __ehhandler$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 007e1748 f MAP.obj + 0002:0029d770 __ehhandler$?iostream_category@std@@YAABVerror_category@1@XZ 007e1770 f MAP.obj + 0002:0029d7a0 __unwindfunclet$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z$0 007e17a0 f MAP.obj + 0002:0029d7ab __ehhandler$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 007e17ab f MAP.obj + 0002:0029d7e0 __unwindfunclet$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z$2 007e17e0 f MAP.obj + 0002:0029d7e8 __ehhandler$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z 007e17e8 f MAP.obj + 0002:0029d810 __ehhandler$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 007e1810 f MAP.obj + 0002:0029d840 __unwindfunclet$?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@_JH@Z$0 007e1840 f MAP.obj + 0002:0029d848 __ehhandler$?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@_JH@Z 007e1848 f MAP.obj + 0002:0029d870 __unwindfunclet$?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ$0 007e1870 f MAP.obj + 0002:0029d878 __ehhandler$?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ 007e1878 f MAP.obj + 0002:0029d8a0 __unwindfunclet$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ$0 007e18a0 f MAP.obj + 0002:0029d8a8 __ehhandler$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 007e18a8 f MAP.obj + 0002:0029d8e0 __unwindfunclet$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z$0 007e18e0 f MAP.obj + 0002:0029d8eb __ehhandler$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 007e18eb f MAP.obj + 0002:0029d920 __ehhandler$??$?0ABQAVCUser@@$0A@@?$tuple@ABQAVCUser@@@std@@QAE@ABQAVCUser@@@Z 007e1920 f Npc.obj + 0002:0029d950 __unwindfunclet$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z$0 007e1950 f Npc.obj + 0002:0029d958 __ehhandler$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z 007e1958 f Npc.obj + 0002:0029d980 __unwindfunclet$??$?0U?$pair@GPAVCUser@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QAU?$pair@GPAVCUser@@@1@@Z$0 007e1980 f Npc.obj + 0002:0029d988 __ehhandler$??$?0U?$pair@GPAVCUser@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QAU?$pair@GPAVCUser@@@1@@Z 007e1988 f Npc.obj + 0002:0029d9b0 __unwindfunclet$??$?0U?$pair@PAVCUser@@H@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QAU?$pair@PAVCUser@@H@1@@Z$0 007e19b0 f Npc.obj + 0002:0029d9b8 __ehhandler$??$?0U?$pair@PAVCUser@@H@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QAU?$pair@PAVCUser@@H@1@@Z 007e19b8 f Npc.obj + 0002:0029d9e0 __ehhandler$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 007e19e0 f Npc.obj + 0002:0029da10 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 007e1a10 f Npc.obj + 0002:0029da40 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@@Z 007e1a40 f Npc.obj + 0002:0029da70 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 007e1a70 f Npc.obj + 0002:0029daa0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 007e1aa0 f Npc.obj + 0002:0029dad0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 007e1ad0 f Npc.obj + 0002:0029db00 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 007e1b00 f Npc.obj + 0002:0029db30 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z$0 007e1b30 f Npc.obj + 0002:0029db38 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 007e1b38 f Npc.obj + 0002:0029db60 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z$0 007e1b60 f Npc.obj + 0002:0029db68 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 007e1b68 f Npc.obj + 0002:0029db90 __ehhandler$??0?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 007e1b90 f Npc.obj + 0002:0029dbc0 __unwindfunclet$??0CNpc@@QAE@XZ$0 007e1bc0 f Npc.obj + 0002:0029dbc8 __unwindfunclet$??0CNpc@@QAE@XZ$1 007e1bc8 f Npc.obj + 0002:0029dbd6 __unwindfunclet$??0CNpc@@QAE@XZ$2 007e1bd6 f Npc.obj + 0002:0029dbe4 __unwindfunclet$??0CNpc@@QAE@XZ$3 007e1be4 f Npc.obj + 0002:0029dbf2 __unwindfunclet$??0CNpc@@QAE@XZ$4 007e1bf2 f Npc.obj + 0002:0029dc00 __ehhandler$??0CNpc@@QAE@XZ 007e1c00 f Npc.obj + 0002:0029dc40 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e1c40 f Npc.obj + 0002:0029dc70 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 007e1c70 f Npc.obj + 0002:0029dca0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e1ca0 f Npc.obj + 0002:0029dcd0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 007e1cd0 f Npc.obj + 0002:0029dd00 __ehhandler$??1?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 007e1d00 f Npc.obj + 0002:0029dd30 __ehhandler$??1CNpc@@UAE@XZ 007e1d30 f Npc.obj + 0002:0029dd60 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e1d60 f Npc.obj + 0002:0029dd68 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e1d68 f Npc.obj + 0002:0029dd90 __unwindfunclet$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z$0 007e1d90 f Npc.obj + 0002:0029dd9c __ehhandler$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 007e1d9c f Npc.obj + 0002:0029ddd0 __unwindfunclet$??X__Vector3@@QAEXABU_D3DMATRIX@@@Z$0 007e1dd0 f Npc.obj + 0002:0029dddc __ehhandler$??X__Vector3@@QAEXABU_D3DMATRIX@@@Z 007e1ddc f Npc.obj + 0002:0029de10 __unwindfunclet$?Attack@CNpc@@QAE_JXZ$2 007e1e10 f Npc.obj + 0002:0029de1b __ehhandler$?Attack@CNpc@@QAE_JXZ 007e1e1b f Npc.obj + 0002:0029de50 __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$0 007e1e50 f Npc.obj + 0002:0029de5b __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$1 007e1e5b f Npc.obj + 0002:0029de66 __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$2 007e1e66 f Npc.obj + 0002:0029de71 __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$4 007e1e71 f Npc.obj + 0002:0029de7c __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$5 007e1e7c f Npc.obj + 0002:0029de87 __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$6 007e1e87 f Npc.obj + 0002:0029de92 __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$7 007e1e92 f Npc.obj + 0002:0029de9d __unwindfunclet$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z$9 007e1e9d f Npc.obj + 0002:0029dea8 __ehhandler$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z 007e1ea8 f Npc.obj + 0002:0029def0 __unwindfunclet$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z$0 007e1ef0 f Npc.obj + 0002:0029def8 __unwindfunclet$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z$1 007e1ef8 f Npc.obj + 0002:0029df03 __unwindfunclet$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z$2 007e1f03 f Npc.obj + 0002:0029df0e __unwindfunclet$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z$4 007e1f0e f Npc.obj + 0002:0029df19 __ehhandler$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z 007e1f19 f Npc.obj + 0002:0029df60 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z$0 007e1f60 f Npc.obj + 0002:0029df68 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z$1 007e1f68 f Npc.obj + 0002:0029df70 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z$2 007e1f70 f Npc.obj + 0002:0029df7b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z 007e1f7b f Npc.obj + 0002:0029dfb0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z$0 007e1fb0 f Npc.obj + 0002:0029dfb8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z$1 007e1fb8 f Npc.obj + 0002:0029dfc0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z$2 007e1fc0 f Npc.obj + 0002:0029dfcb __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z 007e1fcb f Npc.obj + 0002:0029e000 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z$0 007e2000 f Npc.obj + 0002:0029e008 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z$1 007e2008 f Npc.obj + 0002:0029e010 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z$2 007e2010 f Npc.obj + 0002:0029e01b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z 007e201b f Npc.obj + 0002:0029e050 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z$0 007e2050 f Npc.obj + 0002:0029e058 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z$1 007e2058 f Npc.obj + 0002:0029e060 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z$2 007e2060 f Npc.obj + 0002:0029e06b __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z 007e206b f Npc.obj + 0002:0029e0a0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z$0 007e20a0 f Npc.obj + 0002:0029e0a8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z$1 007e20a8 f Npc.obj + 0002:0029e0b0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z$2 007e20b0 f Npc.obj + 0002:0029e0bb __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z 007e20bb f Npc.obj + 0002:0029e0f0 __unwindfunclet$?GetUserInViewRange@CNpc@@QAE_NHH@Z$0 007e20f0 f Npc.obj + 0002:0029e0f8 __unwindfunclet$?GetUserInViewRange@CNpc@@QAE_NHH@Z$1 007e20f8 f Npc.obj + 0002:0029e100 __unwindfunclet$?GetUserInViewRange@CNpc@@QAE_NHH@Z$2 007e2100 f Npc.obj + 0002:0029e108 __unwindfunclet$?GetUserInViewRange@CNpc@@QAE_NHH@Z$4 007e2108 f Npc.obj + 0002:0029e113 __ehhandler$?GetUserInViewRange@CNpc@@QAE_NHH@Z 007e2113 f Npc.obj + 0002:0029e150 __unwindfunclet$?GiveNpcHaveItem@CNpc@@QAEXXZ$0 007e2150 f Npc.obj + 0002:0029e15b __ehhandler$?GiveNpcHaveItem@CNpc@@QAEXXZ 007e215b f Npc.obj + 0002:0029e190 __unwindfunclet$?HpChange@CNpc@@UAEXHPAVUnit@@_N@Z$0 007e2190 f Npc.obj + 0002:0029e198 __ehhandler$?HpChange@CNpc@@UAEXHPAVUnit@@_N@Z 007e2198 f Npc.obj + 0002:0029e1c0 __unwindfunclet$?NpcStanding@CNpc@@QAE_JXZ$0 007e21c0 f Npc.obj + 0002:0029e1c8 __unwindfunclet$?NpcStanding@CNpc@@QAE_JXZ$1 007e21c8 f Npc.obj + 0002:0029e1d3 __ehhandler$?NpcStanding@CNpc@@QAE_JXZ 007e21d3 f Npc.obj + 0002:0029e200 __unwindfunclet$?SendAttackRequest@CNpc@@QAEXF@Z$0 007e2200 f Npc.obj + 0002:0029e208 __ehhandler$?SendAttackRequest@CNpc@@QAEXF@Z 007e2208 f Npc.obj + 0002:0029e230 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$0 007e2230 f Npc.obj + 0002:0029e238 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$1 007e2238 f Npc.obj + 0002:0029e240 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$2 007e2240 f Npc.obj + 0002:0029e248 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$3 007e2248 f Npc.obj + 0002:0029e253 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$4 007e2253 f Npc.obj + 0002:0029e25e __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$6 007e225e f Npc.obj + 0002:0029e269 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$7 007e2269 f Npc.obj + 0002:0029e28b __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$9 007e228b f Npc.obj + 0002:0029e296 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$11 007e2296 f Npc.obj + 0002:0029e2a1 __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$12 007e22a1 f Npc.obj + 0002:0029e2ac __unwindfunclet$?SendExpToUserList@CNpc@@QAEXXZ$13 007e22ac f Npc.obj + 0002:0029e2b7 __ehhandler$?SendExpToUserList@CNpc@@QAEXXZ 007e22b7 f Npc.obj + 0002:0029e310 __unwindfunclet$?SendInOut@CNpc@@QAEXW4InOutType@@@Z$0 007e2310 f Npc.obj + 0002:0029e318 __ehhandler$?SendInOut@CNpc@@QAEXW4InOutType@@@Z 007e2318 f Npc.obj + 0002:0029e340 __unwindfunclet$?SendMoveResult@CNpc@@QAEXMMMM@Z$0 007e2340 f Npc.obj + 0002:0029e348 __ehhandler$?SendMoveResult@CNpc@@QAEXMMMM@Z 007e2348 f Npc.obj + 0002:0029e370 __unwindfunclet$?SendNpcInfo@CNpc@@QAEXXZ$0 007e2370 f Npc.obj + 0002:0029e378 __ehhandler$?SendNpcInfo@CNpc@@QAEXXZ 007e2378 f Npc.obj + 0002:0029e3a0 __unwindfunclet$?SendRegionUpdate@CNpc@@QAEXXZ$0 007e23a0 f Npc.obj + 0002:0029e3a8 __ehhandler$?SendRegionUpdate@CNpc@@QAEXXZ 007e23a8 f Npc.obj + 0002:0029e3d0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e23d0 f Npc.obj + 0002:0029e3d8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e23d8 f Npc.obj + 0002:0029e400 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e2400 f Npc.obj + 0002:0029e408 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ 007e2408 f Npc.obj + 0002:0029e430 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU32@@Z 007e2430 f Npc.obj + 0002:0029e460 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@QAU32@@Z 007e2460 f Npc.obj + 0002:0029e490 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@XZ 007e2490 f Npc.obj + 0002:0029e4c0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@XZ 007e24c0 f Npc.obj + 0002:0029e4f0 __ehhandler$?_Tidy@?$vector@IV?$allocator@I@std@@@std@@AAEXXZ 007e24f0 f Npc.obj + 0002:0029e520 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 007e2520 f Npc.obj + 0002:0029e550 __ehhandler$?clear@?$vector@EV?$allocator@E@std@@@std@@QAEXXZ 007e2550 f Npc.obj + 0002:0029e580 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 007e2580 f Npc.obj + 0002:0029e5b0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 007e25b0 f Npc.obj + 0002:0029e5e0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 007e25e0 f Npc.obj + 0002:0029e610 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 007e2610 f Npc.obj + 0002:0029e640 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 007e2640 f Npc.obj + 0002:0029e670 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 007e2670 f Npc.obj + 0002:0029e6a0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 007e26a0 f Npc.obj + 0002:0029e6d0 __unwindfunclet$?MagicPacket@CNpcMagicProcess@@SA_JEIFFFFF@Z$0 007e26d0 f NpcMagicProcess.obj + 0002:0029e6d8 __ehhandler$?MagicPacket@CNpcMagicProcess@@SA_JEIFFFFF@Z 007e26d8 f NpcMagicProcess.obj + 0002:0029e700 __unwindfunclet$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z$0 007e2700 f NpcThread.obj + 0002:0029e708 __ehhandler$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 007e2708 f NpcThread.obj + 0002:0029e730 __ehhandler$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 007e2730 f NpcThread.obj + 0002:0029e760 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@@Z 007e2760 f NpcThread.obj + 0002:0029e790 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 007e2790 f NpcThread.obj + 0002:0029e7c0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 007e27c0 f NpcThread.obj + 0002:0029e7f0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 007e27f0 f NpcThread.obj + 0002:0029e820 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 007e2820 f NpcThread.obj + 0002:0029e850 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@V21@@Z$0 007e2850 f NpcThread.obj + 0002:0029e858 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@V21@@Z 007e2858 f NpcThread.obj + 0002:0029e880 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z$0 007e2880 f NpcThread.obj + 0002:0029e888 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 007e2888 f NpcThread.obj + 0002:0029e8b0 __unwindfunclet$??0CNpcThread@@QAE@XZ$0 007e28b0 f NpcThread.obj + 0002:0029e8bb __unwindfunclet$??0CNpcThread@@QAE@XZ$1 007e28bb f NpcThread.obj + 0002:0029e8c6 __ehhandler$??0CNpcThread@@QAE@XZ 007e28c6 f NpcThread.obj + 0002:0029e900 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 007e2900 f NpcThread.obj + 0002:0029e930 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 007e2930 f NpcThread.obj + 0002:0029e960 __ehhandler$??1CNpcThread@@UAE@XZ 007e2960 f NpcThread.obj + 0002:0029e990 __unwindfunclet$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e2990 f NpcThread.obj + 0002:0029e998 __ehhandler$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE?AV01@H@Z 007e2998 f NpcThread.obj + 0002:0029e9c0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e29c0 f NpcThread.obj + 0002:0029e9c8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e29c8 f NpcThread.obj + 0002:0029e9f0 __unwindfunclet$?AddNPC@CNpcThread@@QAEXPAVCNpc@@@Z$0 007e29f0 f NpcThread.obj + 0002:0029e9f8 __ehhandler$?AddNPC@CNpcThread@@QAEXPAVCNpc@@@Z 007e29f8 f NpcThread.obj + 0002:0029ea20 __unwindfunclet$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z$0 007e2a20 f NpcThread.obj + 0002:0029ea28 __unwindfunclet$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z$1 007e2a28 f NpcThread.obj + 0002:0029ea30 __unwindfunclet$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z$2 007e2a30 f NpcThread.obj + 0002:0029ea3b __ehhandler$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z 007e2a3b f NpcThread.obj + 0002:0029ea70 __unwindfunclet$?NpcThreadProc@@YGIPAX@Z$4 007e2a70 f NpcThread.obj + 0002:0029ea7b __unwindfunclet$?NpcThreadProc@@YGIPAX@Z$6 007e2a7b f NpcThread.obj + 0002:0029ea86 __unwindfunclet$?NpcThreadProc@@YGIPAX@Z$7 007e2a86 f NpcThread.obj + 0002:0029ea91 __ehhandler$?NpcThreadProc@@YGIPAX@Z 007e2a91 f NpcThread.obj + 0002:0029ead0 __unwindfunclet$?RemoveNPC@CNpcThread@@QAEXPAVCNpc@@@Z$0 007e2ad0 f NpcThread.obj + 0002:0029ead8 __ehhandler$?RemoveNPC@CNpcThread@@QAEXPAVCNpc@@@Z 007e2ad8 f NpcThread.obj + 0002:0029eb00 __unwindfunclet$?ZoneEventThreadProc@@YGIPAX@Z$0 007e2b00 f NpcThread.obj + 0002:0029eb08 __unwindfunclet$?ZoneEventThreadProc@@YGIPAX@Z$2 007e2b08 f NpcThread.obj + 0002:0029eb13 __unwindfunclet$?ZoneEventThreadProc@@YGIPAX@Z$3 007e2b13 f NpcThread.obj + 0002:0029eb1b __unwindfunclet$?ZoneEventThreadProc@@YGIPAX@Z$5 007e2b1b f NpcThread.obj + 0002:0029eb26 __ehhandler$?ZoneEventThreadProc@@YGIPAX@Z 007e2b26 f NpcThread.obj + 0002:0029eb60 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ$0 007e2b60 f NpcThread.obj + 0002:0029eb68 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ 007e2b68 f NpcThread.obj + 0002:0029eb90 __ehhandler$?_Equal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NQBD@Z 007e2b90 f NpcThread.obj + 0002:0029ebc0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU32@@Z 007e2bc0 f NpcThread.obj + 0002:0029ebf0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@XZ 007e2bf0 f NpcThread.obj + 0002:0029ec20 __ehhandler$?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@XZ 007e2c20 f NpcThread.obj + 0002:0029ec50 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 007e2c50 f NpcThread.obj + 0002:0029ec80 __ehhandler$?begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 007e2c80 f NpcThread.obj + 0002:0029ecb0 __ehhandler$?clear@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAEXXZ 007e2cb0 f NpcThread.obj + 0002:0029ece0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 007e2ce0 f NpcThread.obj + 0002:0029ed10 __ehhandler$?end@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 007e2d10 f NpcThread.obj + 0002:0029ed40 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 007e2d40 f Party.obj + 0002:0029ed70 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 007e2d70 f Party.obj + 0002:0029eda0 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@V21@@Z$0 007e2da0 f Party.obj + 0002:0029eda8 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@V21@@Z 007e2da8 f Party.obj + 0002:0029edd0 __unwindfunclet$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z$0 007e2dd0 f Party.obj + 0002:0029edd8 __unwindfunclet$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z$1 007e2dd8 f Party.obj + 0002:0029ede0 __unwindfunclet$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z$2 007e2de0 f Party.obj + 0002:0029edeb __ehhandler$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z 007e2deb f Party.obj + 0002:0029ee20 __unwindfunclet$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z$0 007e2e20 f Party.obj + 0002:0029ee28 __unwindfunclet$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z$1 007e2e28 f Party.obj + 0002:0029ee30 __unwindfunclet$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z$2 007e2e30 f Party.obj + 0002:0029ee3b __ehhandler$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z 007e2e3b f Party.obj + 0002:0029ee70 __unwindfunclet$?PartyCreate@CParty@@QAEXAAVPacket@@@Z$0 007e2e70 f Party.obj + 0002:0029ee82 __ehhandler$?PartyCreate@CParty@@QAEXAAVPacket@@@Z 007e2e82 f Party.obj + 0002:0029eeb0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 007e2eb0 f Party.obj + 0002:0029eee0 __ehhandler$??1CPathFind@@UAE@XZ 007e2ee0 f PathFind.obj + 0002:0029ef10 __unwindfunclet$??0CRoomEvent@@QAE@XZ$0 007e2f10 f RoomEvent.obj + 0002:0029ef1e __ehhandler$??0CRoomEvent@@QAE@XZ 007e2f1e f RoomEvent.obj + 0002:0029ef50 __unwindfunclet$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z$0 007e2f50 f RoomEvent.obj + 0002:0029ef58 __unwindfunclet$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z$1 007e2f58 f RoomEvent.obj + 0002:0029ef60 __unwindfunclet$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z$3 007e2f60 f RoomEvent.obj + 0002:0029ef6b __ehhandler$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z 007e2f6b f RoomEvent.obj + 0002:0029efa0 __unwindfunclet$?EndEventSay@CRoomEvent@@AAEXHH@Z$0 007e2fa0 f RoomEvent.obj + 0002:0029efa8 __unwindfunclet$?EndEventSay@CRoomEvent@@AAEXHH@Z$1 007e2fa8 f RoomEvent.obj + 0002:0029efb0 __ehhandler$?EndEventSay@CRoomEvent@@AAEXHH@Z 007e2fb0 f RoomEvent.obj + 0002:0029eff0 __unwindfunclet$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z$0 007e2ff0 f RoomEvent.obj + 0002:0029eff8 __unwindfunclet$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z$1 007e2ff8 f RoomEvent.obj + 0002:0029f000 __unwindfunclet$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z$3 007e3000 f RoomEvent.obj + 0002:0029f00b __ehhandler$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z 007e300b f RoomEvent.obj + 0002:0029f040 __ehhandler$??$?0ABG$0A@@?$tuple@ABG@std@@QAE@ABG@Z 007e3040 f ServerDlg.obj + 0002:0029f070 __unwindfunclet$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABG@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z$0 007e3070 f ServerDlg.obj + 0002:0029f078 __ehhandler$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABG@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z 007e3078 f ServerDlg.obj + 0002:0029f0a0 __unwindfunclet$??$?0U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z$0 007e30a0 f ServerDlg.obj + 0002:0029f0a8 __ehhandler$??$?0U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 007e30a8 f ServerDlg.obj + 0002:0029f0d0 __unwindfunclet$??$?0U?$pair@GPAVCGameSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z$0 007e30d0 f ServerDlg.obj + 0002:0029f0d8 __ehhandler$??$?0U?$pair@GPAVCGameSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 007e30d8 f ServerDlg.obj + 0002:0029f100 __unwindfunclet$??$?0U?$pair@GPAVKOSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z$0 007e3100 f ServerDlg.obj + 0002:0029f108 __ehhandler$??$?0U?$pair@GPAVKOSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 007e3108 f ServerDlg.obj + 0002:0029f130 __unwindfunclet$??$?0U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z$0 007e3130 f ServerDlg.obj + 0002:0029f138 __ehhandler$??$?0U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 007e3138 f ServerDlg.obj + 0002:0029f160 __unwindfunclet$??$?0U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z$0 007e3160 f ServerDlg.obj + 0002:0029f168 __ehhandler$??$?0U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 007e3168 f ServerDlg.obj + 0002:0029f190 __unwindfunclet$??$?0U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z$0 007e3190 f ServerDlg.obj + 0002:0029f198 __ehhandler$??$?0U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 007e3198 f ServerDlg.obj + 0002:0029f1c0 __unwindfunclet$??$?0U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z$0 007e31c0 f ServerDlg.obj + 0002:0029f1c8 __ehhandler$??$?0U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 007e31c8 f ServerDlg.obj + 0002:0029f1f0 __unwindfunclet$??$?0U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z$0 007e31f0 f ServerDlg.obj + 0002:0029f1f8 __ehhandler$??$?0U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 007e31f8 f ServerDlg.obj + 0002:0029f220 __unwindfunclet$??$?0U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z$0 007e3220 f ServerDlg.obj + 0002:0029f228 __ehhandler$??$?0U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 007e3228 f ServerDlg.obj + 0002:0029f250 __unwindfunclet$??$?0U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z$0 007e3250 f ServerDlg.obj + 0002:0029f258 __ehhandler$??$?0U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 007e3258 f ServerDlg.obj + 0002:0029f280 __unwindfunclet$??$?0U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z$0 007e3280 f ServerDlg.obj + 0002:0029f288 __ehhandler$??$?0U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 007e3288 f ServerDlg.obj + 0002:0029f2b0 __unwindfunclet$??$?0U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z$0 007e32b0 f ServerDlg.obj + 0002:0029f2b8 __ehhandler$??$?0U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 007e32b8 f ServerDlg.obj + 0002:0029f2e0 __unwindfunclet$??$?0U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z$0 007e32e0 f ServerDlg.obj + 0002:0029f2e8 __ehhandler$??$?0U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 007e32e8 f ServerDlg.obj + 0002:0029f310 __unwindfunclet$??$?0U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z$0 007e3310 f ServerDlg.obj + 0002:0029f318 __ehhandler$??$?0U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 007e3318 f ServerDlg.obj + 0002:0029f340 __unwindfunclet$??$?0U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z$0 007e3340 f ServerDlg.obj + 0002:0029f348 __ehhandler$??$?0U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 007e3348 f ServerDlg.obj + 0002:0029f370 __unwindfunclet$??$?0U?$pair@IPAVCNpc@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QAU?$pair@IPAVCNpc@@@1@@Z$0 007e3370 f ServerDlg.obj + 0002:0029f378 __ehhandler$??$?0U?$pair@IPAVCNpc@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 007e3378 f ServerDlg.obj + 0002:0029f3a0 __unwindfunclet$??$?0U?$pair@IPAVCNpcTable@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z$0 007e33a0 f ServerDlg.obj + 0002:0029f3a8 __ehhandler$??$?0U?$pair@IPAVCNpcTable@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 007e33a8 f ServerDlg.obj + 0002:0029f3d0 __unwindfunclet$??$?0U?$pair@IPAVCNpcThread@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z$0 007e33d0 f ServerDlg.obj + 0002:0029f3d8 __ehhandler$??$?0U?$pair@IPAVCNpcThread@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 007e33d8 f ServerDlg.obj + 0002:0029f400 __unwindfunclet$??$?0U?$pair@IPAVMAP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QAU?$pair@IPAVMAP@@@1@@Z$0 007e3400 f ServerDlg.obj + 0002:0029f408 __ehhandler$??$?0U?$pair@IPAVMAP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QAU?$pair@IPAVMAP@@@1@@Z 007e3408 f ServerDlg.obj + 0002:0029f430 __unwindfunclet$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z$0 007e3430 f ServerDlg.obj + 0002:0029f438 __unwindfunclet$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z$1 007e3438 f ServerDlg.obj + 0002:0029f440 __ehhandler$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 007e3440 f ServerDlg.obj + 0002:0029f470 __unwindfunclet$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@AAU?$pair@$$CBGPAVKOSocket@@@2@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z$0 007e3470 f ServerDlg.obj + 0002:0029f478 __ehhandler$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@AAU?$pair@$$CBGPAVKOSocket@@@2@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z 007e3478 f ServerDlg.obj + 0002:0029f4a0 __ehhandler$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 007e34a0 f ServerDlg.obj + 0002:0029f4d0 __unwindfunclet$??$_Emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z$0 007e34d0 f ServerDlg.obj + 0002:0029f4d8 __ehhandler$??$_Emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 007e34d8 f ServerDlg.obj + 0002:0029f500 __ehhandler$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 007e3500 f ServerDlg.obj + 0002:0029f530 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@@Z 007e3530 f ServerDlg.obj + 0002:0029f560 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@@Z 007e3560 f ServerDlg.obj + 0002:0029f590 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 007e3590 f ServerDlg.obj + 0002:0029f5c0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@@Z 007e35c0 f ServerDlg.obj + 0002:0029f5f0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@@Z 007e35f0 f ServerDlg.obj + 0002:0029f620 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@@Z 007e3620 f ServerDlg.obj + 0002:0029f650 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@@Z 007e3650 f ServerDlg.obj + 0002:0029f680 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@@Z 007e3680 f ServerDlg.obj + 0002:0029f6b0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@@Z 007e36b0 f ServerDlg.obj + 0002:0029f6e0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@@Z 007e36e0 f ServerDlg.obj + 0002:0029f710 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@@Z 007e3710 f ServerDlg.obj + 0002:0029f740 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@@Z 007e3740 f ServerDlg.obj + 0002:0029f770 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@@Z 007e3770 f ServerDlg.obj + 0002:0029f7a0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 007e37a0 f ServerDlg.obj + 0002:0029f7d0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@@Z 007e37d0 f ServerDlg.obj + 0002:0029f800 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@@Z 007e3800 f ServerDlg.obj + 0002:0029f830 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@@Z 007e3830 f ServerDlg.obj + 0002:0029f860 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@@Z 007e3860 f ServerDlg.obj + 0002:0029f890 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@@Z 007e3890 f ServerDlg.obj + 0002:0029f8c0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 007e38c0 f ServerDlg.obj + 0002:0029f8f0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 007e38f0 f ServerDlg.obj + 0002:0029f920 __ehhandler$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 007e3920 f ServerDlg.obj + 0002:0029f950 __ehhandler$??$_Freenode0@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 007e3950 f ServerDlg.obj + 0002:0029f980 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 007e3980 f ServerDlg.obj + 0002:0029f9b0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007e39b0 f ServerDlg.obj + 0002:0029f9e0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 007e39e0 f ServerDlg.obj + 0002:0029fa10 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 007e3a10 f ServerDlg.obj + 0002:0029fa40 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 007e3a40 f ServerDlg.obj + 0002:0029fa70 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 007e3a70 f ServerDlg.obj + 0002:0029faa0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 007e3aa0 f ServerDlg.obj + 0002:0029fad0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 007e3ad0 f ServerDlg.obj + 0002:0029fb00 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 007e3b00 f ServerDlg.obj + 0002:0029fb30 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 007e3b30 f ServerDlg.obj + 0002:0029fb60 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 007e3b60 f ServerDlg.obj + 0002:0029fb90 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 007e3b90 f ServerDlg.obj + 0002:0029fbc0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 007e3bc0 f ServerDlg.obj + 0002:0029fbf0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 007e3bf0 f ServerDlg.obj + 0002:0029fc20 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 007e3c20 f ServerDlg.obj + 0002:0029fc50 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 007e3c50 f ServerDlg.obj + 0002:0029fc80 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 007e3c80 f ServerDlg.obj + 0002:0029fcb0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 007e3cb0 f ServerDlg.obj + 0002:0029fce0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 007e3ce0 f ServerDlg.obj + 0002:0029fd10 __ehhandler$??$_Freenode@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 007e3d10 f ServerDlg.obj + 0002:0029fd40 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 007e3d40 f ServerDlg.obj + 0002:0029fd70 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007e3d70 f ServerDlg.obj + 0002:0029fda0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 007e3da0 f ServerDlg.obj + 0002:0029fdd0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 007e3dd0 f ServerDlg.obj + 0002:0029fe00 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 007e3e00 f ServerDlg.obj + 0002:0029fe30 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 007e3e30 f ServerDlg.obj + 0002:0029fe60 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 007e3e60 f ServerDlg.obj + 0002:0029fe90 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 007e3e90 f ServerDlg.obj + 0002:0029fec0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 007e3ec0 f ServerDlg.obj + 0002:0029fef0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 007e3ef0 f ServerDlg.obj + 0002:0029ff20 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 007e3f20 f ServerDlg.obj + 0002:0029ff50 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 007e3f50 f ServerDlg.obj + 0002:0029ff80 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 007e3f80 f ServerDlg.obj + 0002:0029ffb0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 007e3fb0 f ServerDlg.obj + 0002:0029ffe0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 007e3fe0 f ServerDlg.obj + 0002:002a0010 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 007e4010 f ServerDlg.obj + 0002:002a0040 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 007e4040 f ServerDlg.obj + 0002:002a0070 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 007e4070 f ServerDlg.obj + 0002:002a00a0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 007e40a0 f ServerDlg.obj + 0002:002a00d0 __unwindfunclet$??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z$0 007e40d0 f ServerDlg.obj + 0002:002a00db __ehhandler$??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 007e40db f ServerDlg.obj + 0002:002a0110 __unwindfunclet$??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z$0 007e4110 f ServerDlg.obj + 0002:002a011b __ehhandler$??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 007e411b f ServerDlg.obj + 0002:002a0150 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@V21@@Z$0 007e4150 f ServerDlg.obj + 0002:002a0158 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@V21@@Z 007e4158 f ServerDlg.obj + 0002:002a0180 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@V21@@Z$0 007e4180 f ServerDlg.obj + 0002:002a0188 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@V21@@Z 007e4188 f ServerDlg.obj + 0002:002a01b0 __unwindfunclet$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@V21@@Z$0 007e41b0 f ServerDlg.obj + 0002:002a01b8 __ehhandler$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@V21@@Z 007e41b8 f ServerDlg.obj + 0002:002a01e0 __unwindfunclet$??0?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ$0 007e41e0 f ServerDlg.obj + 0002:002a01e8 __ehhandler$??0?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 007e41e8 f ServerDlg.obj + 0002:002a0210 __unwindfunclet$??0?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ$0 007e4210 f ServerDlg.obj + 0002:002a0218 __ehhandler$??0?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 007e4218 f ServerDlg.obj + 0002:002a0240 __unwindfunclet$??0?$CSTLMap@VCNpc@@@@QAE@XZ$0 007e4240 f ServerDlg.obj + 0002:002a0248 __ehhandler$??0?$CSTLMap@VCNpc@@@@QAE@XZ 007e4248 f ServerDlg.obj + 0002:002a0270 __unwindfunclet$??0?$CSTLMap@VCNpcTable@@@@QAE@XZ$0 007e4270 f ServerDlg.obj + 0002:002a0278 __ehhandler$??0?$CSTLMap@VCNpcTable@@@@QAE@XZ 007e4278 f ServerDlg.obj + 0002:002a02a0 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ$0 007e42a0 f ServerDlg.obj + 0002:002a02a8 __ehhandler$??0?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 007e42a8 f ServerDlg.obj + 0002:002a02d0 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ$0 007e42d0 f ServerDlg.obj + 0002:002a02d8 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 007e42d8 f ServerDlg.obj + 0002:002a0300 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ$0 007e4300 f ServerDlg.obj + 0002:002a0308 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 007e4308 f ServerDlg.obj + 0002:002a0330 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ$0 007e4330 f ServerDlg.obj + 0002:002a0338 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 007e4338 f ServerDlg.obj + 0002:002a0360 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ$0 007e4360 f ServerDlg.obj + 0002:002a0368 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 007e4368 f ServerDlg.obj + 0002:002a0390 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ$0 007e4390 f ServerDlg.obj + 0002:002a0398 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 007e4398 f ServerDlg.obj + 0002:002a03c0 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ$0 007e43c0 f ServerDlg.obj + 0002:002a03c8 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 007e43c8 f ServerDlg.obj + 0002:002a03f0 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ$0 007e43f0 f ServerDlg.obj + 0002:002a03f8 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 007e43f8 f ServerDlg.obj + 0002:002a0420 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ$0 007e4420 f ServerDlg.obj + 0002:002a0428 __ehhandler$??0?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 007e4428 f ServerDlg.obj + 0002:002a0450 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ$0 007e4450 f ServerDlg.obj + 0002:002a0458 __ehhandler$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 007e4458 f ServerDlg.obj + 0002:002a0480 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ$0 007e4480 f ServerDlg.obj + 0002:002a0488 __ehhandler$??0?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 007e4488 f ServerDlg.obj + 0002:002a04b0 __unwindfunclet$??0?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ$0 007e44b0 f ServerDlg.obj + 0002:002a04b8 __ehhandler$??0?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 007e44b8 f ServerDlg.obj + 0002:002a04e0 __unwindfunclet$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ$0 007e44e0 f ServerDlg.obj + 0002:002a04e8 __unwindfunclet$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ$1 007e44e8 f ServerDlg.obj + 0002:002a04f3 __unwindfunclet$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ$2 007e44f3 f ServerDlg.obj + 0002:002a04fe __ehhandler$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ 007e44fe f ServerDlg.obj + 0002:002a0530 __unwindfunclet$??0?$ListenSocket@VCGameSocket@@@@QAE@PAVSocketMgr@@PBDI@Z$0 007e4530 f ServerDlg.obj + 0002:002a053b __ehhandler$??0?$ListenSocket@VCGameSocket@@@@QAE@PAVSocketMgr@@PBDI@Z 007e453b f ServerDlg.obj + 0002:002a0570 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z$0 007e4570 f ServerDlg.obj + 0002:002a0578 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 007e4578 f ServerDlg.obj + 0002:002a05a0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z$0 007e45a0 f ServerDlg.obj + 0002:002a05a8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 007e45a8 f ServerDlg.obj + 0002:002a05d0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z$0 007e45d0 f ServerDlg.obj + 0002:002a05d8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 007e45d8 f ServerDlg.obj + 0002:002a0600 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z$0 007e4600 f ServerDlg.obj + 0002:002a0608 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 007e4608 f ServerDlg.obj + 0002:002a0630 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z$0 007e4630 f ServerDlg.obj + 0002:002a0638 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 007e4638 f ServerDlg.obj + 0002:002a0660 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z$0 007e4660 f ServerDlg.obj + 0002:002a0668 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 007e4668 f ServerDlg.obj + 0002:002a0690 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z$0 007e4690 f ServerDlg.obj + 0002:002a0698 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 007e4698 f ServerDlg.obj + 0002:002a06c0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z$0 007e46c0 f ServerDlg.obj + 0002:002a06c8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 007e46c8 f ServerDlg.obj + 0002:002a06f0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z$0 007e46f0 f ServerDlg.obj + 0002:002a06f8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 007e46f8 f ServerDlg.obj + 0002:002a0720 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z$0 007e4720 f ServerDlg.obj + 0002:002a0728 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 007e4728 f ServerDlg.obj + 0002:002a0750 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z$0 007e4750 f ServerDlg.obj + 0002:002a0758 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 007e4758 f ServerDlg.obj + 0002:002a0780 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z$0 007e4780 f ServerDlg.obj + 0002:002a0788 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 007e4788 f ServerDlg.obj + 0002:002a07b0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z$0 007e47b0 f ServerDlg.obj + 0002:002a07b8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 007e47b8 f ServerDlg.obj + 0002:002a07e0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z$0 007e47e0 f ServerDlg.obj + 0002:002a07e8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 007e47e8 f ServerDlg.obj + 0002:002a0810 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z$0 007e4810 f ServerDlg.obj + 0002:002a0818 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 007e4818 f ServerDlg.obj + 0002:002a0840 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z$0 007e4840 f ServerDlg.obj + 0002:002a0848 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 007e4848 f ServerDlg.obj + 0002:002a0870 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z$0 007e4870 f ServerDlg.obj + 0002:002a0878 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 007e4878 f ServerDlg.obj + 0002:002a08a0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z$0 007e48a0 f ServerDlg.obj + 0002:002a08a8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 007e48a8 f ServerDlg.obj + 0002:002a08d0 __ehhandler$??0?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 007e48d0 f ServerDlg.obj + 0002:002a0900 __ehhandler$??0?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 007e4900 f ServerDlg.obj + 0002:002a0930 __unwindfunclet$??0CGameSocket@@QAE@GPAVSocketMgr@@@Z$0 007e4930 f ServerDlg.obj + 0002:002a0938 __ehhandler$??0CGameSocket@@QAE@GPAVSocketMgr@@@Z 007e4938 f ServerDlg.obj + 0002:002a0960 __unwindfunclet$??0CServerDlg@@QAE@XZ$0 007e4960 f ServerDlg.obj + 0002:002a096b __unwindfunclet$??0CServerDlg@@QAE@XZ$1 007e496b f ServerDlg.obj + 0002:002a0976 __unwindfunclet$??0CServerDlg@@QAE@XZ$2 007e4976 f ServerDlg.obj + 0002:002a0981 __unwindfunclet$??0CServerDlg@@QAE@XZ$3 007e4981 f ServerDlg.obj + 0002:002a098f __unwindfunclet$??0CServerDlg@@QAE@XZ$4 007e498f f ServerDlg.obj + 0002:002a099d __unwindfunclet$??0CServerDlg@@QAE@XZ$5 007e499d f ServerDlg.obj + 0002:002a09ab __unwindfunclet$??0CServerDlg@@QAE@XZ$6 007e49ab f ServerDlg.obj + 0002:002a09b9 __unwindfunclet$??0CServerDlg@@QAE@XZ$7 007e49b9 f ServerDlg.obj + 0002:002a09c7 __unwindfunclet$??0CServerDlg@@QAE@XZ$8 007e49c7 f ServerDlg.obj + 0002:002a09d5 __unwindfunclet$??0CServerDlg@@QAE@XZ$9 007e49d5 f ServerDlg.obj + 0002:002a09e3 __unwindfunclet$??0CServerDlg@@QAE@XZ$10 007e49e3 f ServerDlg.obj + 0002:002a09f1 __unwindfunclet$??0CServerDlg@@QAE@XZ$11 007e49f1 f ServerDlg.obj + 0002:002a09ff __unwindfunclet$??0CServerDlg@@QAE@XZ$12 007e49ff f ServerDlg.obj + 0002:002a0a0d __unwindfunclet$??0CServerDlg@@QAE@XZ$13 007e4a0d f ServerDlg.obj + 0002:002a0a1b __unwindfunclet$??0CServerDlg@@QAE@XZ$14 007e4a1b f ServerDlg.obj + 0002:002a0a29 __unwindfunclet$??0CServerDlg@@QAE@XZ$15 007e4a29 f ServerDlg.obj + 0002:002a0a37 __unwindfunclet$??0CServerDlg@@QAE@XZ$16 007e4a37 f ServerDlg.obj + 0002:002a0a45 __unwindfunclet$??0CServerDlg@@QAE@XZ$17 007e4a45 f ServerDlg.obj + 0002:002a0a53 __unwindfunclet$??0CServerDlg@@QAE@XZ$18 007e4a53 f ServerDlg.obj + 0002:002a0a61 __unwindfunclet$??0CServerDlg@@QAE@XZ$19 007e4a61 f ServerDlg.obj + 0002:002a0a6f __unwindfunclet$??0CServerDlg@@QAE@XZ$20 007e4a6f f ServerDlg.obj + 0002:002a0a7d __unwindfunclet$??0CServerDlg@@QAE@XZ$21 007e4a7d f ServerDlg.obj + 0002:002a0a8b __unwindfunclet$??0CServerDlg@@QAE@XZ$22 007e4a8b f ServerDlg.obj + 0002:002a0a99 __unwindfunclet$??0CServerDlg@@QAE@XZ$23 007e4a99 f ServerDlg.obj + 0002:002a0aa7 __unwindfunclet$??0CServerDlg@@QAE@XZ$24 007e4aa7 f ServerDlg.obj + 0002:002a0ab5 __unwindfunclet$??0CServerDlg@@QAE@XZ$25 007e4ab5 f ServerDlg.obj + 0002:002a0ac3 __unwindfunclet$??0CServerDlg@@QAE@XZ$26 007e4ac3 f ServerDlg.obj + 0002:002a0ad1 __unwindfunclet$??0CServerDlg@@QAE@XZ$27 007e4ad1 f ServerDlg.obj + 0002:002a0adf __unwindfunclet$??0CServerDlg@@QAE@XZ$28 007e4adf f ServerDlg.obj + 0002:002a0aed __unwindfunclet$??0CServerDlg@@QAE@XZ$29 007e4aed f ServerDlg.obj + 0002:002a0afb __unwindfunclet$??0CServerDlg@@QAE@XZ$30 007e4afb f ServerDlg.obj + 0002:002a0b09 __ehhandler$??0CServerDlg@@QAE@XZ 007e4b09 f ServerDlg.obj + 0002:002a0ba0 __ehhandler$??1?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 007e4ba0 f ServerDlg.obj + 0002:002a0bd0 __ehhandler$??1?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 007e4bd0 f ServerDlg.obj + 0002:002a0c00 __ehhandler$??1?$CSTLMap@VCNpc@@@@QAE@XZ 007e4c00 f ServerDlg.obj + 0002:002a0c30 __ehhandler$??1?$CSTLMap@VCNpcTable@@@@QAE@XZ 007e4c30 f ServerDlg.obj + 0002:002a0c60 __ehhandler$??1?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 007e4c60 f ServerDlg.obj + 0002:002a0c90 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 007e4c90 f ServerDlg.obj + 0002:002a0cc0 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 007e4cc0 f ServerDlg.obj + 0002:002a0cf0 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 007e4cf0 f ServerDlg.obj + 0002:002a0d20 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 007e4d20 f ServerDlg.obj + 0002:002a0d50 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 007e4d50 f ServerDlg.obj + 0002:002a0d80 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 007e4d80 f ServerDlg.obj + 0002:002a0db0 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 007e4db0 f ServerDlg.obj + 0002:002a0de0 __ehhandler$??1?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 007e4de0 f ServerDlg.obj + 0002:002a0e10 __ehhandler$??1?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 007e4e10 f ServerDlg.obj + 0002:002a0e40 __ehhandler$??1?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 007e4e40 f ServerDlg.obj + 0002:002a0e70 __ehhandler$??1?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 007e4e70 f ServerDlg.obj + 0002:002a0ea0 __ehhandler$??1?$KOSocketMgr@VCGameSocket@@@@UAE@XZ 007e4ea0 f ServerDlg.obj + 0002:002a0ed0 __ehhandler$??1?$ListenSocket@VCGameSocket@@@@QAE@XZ 007e4ed0 f ServerDlg.obj + 0002:002a0f00 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4f00 f ServerDlg.obj + 0002:002a0f30 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4f30 f ServerDlg.obj + 0002:002a0f60 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4f60 f ServerDlg.obj + 0002:002a0f90 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4f90 f ServerDlg.obj + 0002:002a0fc0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4fc0 f ServerDlg.obj + 0002:002a0ff0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e4ff0 f ServerDlg.obj + 0002:002a1020 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5020 f ServerDlg.obj + 0002:002a1050 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5050 f ServerDlg.obj + 0002:002a1080 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5080 f ServerDlg.obj + 0002:002a10b0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e50b0 f ServerDlg.obj + 0002:002a10e0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e50e0 f ServerDlg.obj + 0002:002a1110 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5110 f ServerDlg.obj + 0002:002a1140 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5140 f ServerDlg.obj + 0002:002a1170 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5170 f ServerDlg.obj + 0002:002a11a0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e51a0 f ServerDlg.obj + 0002:002a11d0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e51d0 f ServerDlg.obj + 0002:002a1200 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5200 f ServerDlg.obj + 0002:002a1230 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5230 f ServerDlg.obj + 0002:002a1260 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5260 f ServerDlg.obj + 0002:002a1290 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5290 f ServerDlg.obj + 0002:002a12c0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e52c0 f ServerDlg.obj + 0002:002a12f0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e52f0 f ServerDlg.obj + 0002:002a1320 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5320 f ServerDlg.obj + 0002:002a1350 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5350 f ServerDlg.obj + 0002:002a1380 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5380 f ServerDlg.obj + 0002:002a13b0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e53b0 f ServerDlg.obj + 0002:002a13e0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e53e0 f ServerDlg.obj + 0002:002a1410 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5410 f ServerDlg.obj + 0002:002a1440 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5440 f ServerDlg.obj + 0002:002a1470 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5470 f ServerDlg.obj + 0002:002a14a0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e54a0 f ServerDlg.obj + 0002:002a14d0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e54d0 f ServerDlg.obj + 0002:002a1500 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5500 f ServerDlg.obj + 0002:002a1530 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5530 f ServerDlg.obj + 0002:002a1560 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5560 f ServerDlg.obj + 0002:002a1590 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007e5590 f ServerDlg.obj + 0002:002a15c0 __ehhandler$??1?$lock_guard@Vrecursive_mutex@std@@@std@@QAE@XZ 007e55c0 f ServerDlg.obj + 0002:002a15f0 __ehhandler$??1?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 007e55f0 f ServerDlg.obj + 0002:002a1620 __ehhandler$??1?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 007e5620 f ServerDlg.obj + 0002:002a1650 __ehhandler$??1CServerDlg@@QAE@XZ 007e5650 f ServerDlg.obj + 0002:002a1680 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5680 f ServerDlg.obj + 0002:002a1688 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5688 f ServerDlg.obj + 0002:002a16b0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e56b0 f ServerDlg.obj + 0002:002a16b8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e56b8 f ServerDlg.obj + 0002:002a16e0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e56e0 f ServerDlg.obj + 0002:002a16e8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e56e8 f ServerDlg.obj + 0002:002a1710 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5710 f ServerDlg.obj + 0002:002a1718 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5718 f ServerDlg.obj + 0002:002a1740 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5740 f ServerDlg.obj + 0002:002a1748 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5748 f ServerDlg.obj + 0002:002a1770 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5770 f ServerDlg.obj + 0002:002a1778 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5778 f ServerDlg.obj + 0002:002a17a0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e57a0 f ServerDlg.obj + 0002:002a17a8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e57a8 f ServerDlg.obj + 0002:002a17d0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e57d0 f ServerDlg.obj + 0002:002a17d8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e57d8 f ServerDlg.obj + 0002:002a1800 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5800 f ServerDlg.obj + 0002:002a1808 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5808 f ServerDlg.obj + 0002:002a1830 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5830 f ServerDlg.obj + 0002:002a1838 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5838 f ServerDlg.obj + 0002:002a1860 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5860 f ServerDlg.obj + 0002:002a1868 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5868 f ServerDlg.obj + 0002:002a1890 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5890 f ServerDlg.obj + 0002:002a1898 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5898 f ServerDlg.obj + 0002:002a18c0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e58c0 f ServerDlg.obj + 0002:002a18c8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e58c8 f ServerDlg.obj + 0002:002a18f0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e58f0 f ServerDlg.obj + 0002:002a18f8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e58f8 f ServerDlg.obj + 0002:002a1920 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5920 f ServerDlg.obj + 0002:002a1928 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5928 f ServerDlg.obj + 0002:002a1950 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5950 f ServerDlg.obj + 0002:002a1958 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5958 f ServerDlg.obj + 0002:002a1980 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e5980 f ServerDlg.obj + 0002:002a1988 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007e5988 f ServerDlg.obj + 0002:002a19b0 __unwindfunclet$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE?AV01@H@Z$0 007e59b0 f ServerDlg.obj + 0002:002a19b8 __ehhandler$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE?AV01@H@Z 007e59b8 f ServerDlg.obj + 0002:002a19e0 __unwindfunclet$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007e59e0 f ServerDlg.obj + 0002:002a19e8 __ehhandler$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 007e59e8 f ServerDlg.obj + 0002:002a1a10 __unwindfunclet$?AddObjectEventNpc@CServerDlg@@QAE_NPAU_OBJECT_EVENT@@PAVMAP@@@Z$0 007e5a10 f ServerDlg.obj + 0002:002a1a25 __ehhandler$?AddObjectEventNpc@CServerDlg@@QAE_NPAU_OBJECT_EVENT@@PAVMAP@@@Z 007e5a25 f ServerDlg.obj + 0002:002a1a50 __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$0 007e5a50 f ServerDlg.obj + 0002:002a1a58 __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$1 007e5a58 f ServerDlg.obj + 0002:002a1a60 __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$3 007e5a60 f ServerDlg.obj + 0002:002a1a6b __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$4 007e5a6b f ServerDlg.obj + 0002:002a1a73 __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$5 007e5a73 f ServerDlg.obj + 0002:002a1a7e __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$7 007e5a7e f ServerDlg.obj + 0002:002a1a89 __unwindfunclet$?AllNpcInfo@CServerDlg@@QAEXXZ$8 007e5a89 f ServerDlg.obj + 0002:002a1a94 __ehhandler$?AllNpcInfo@CServerDlg@@QAEXXZ 007e5a94 f ServerDlg.obj + 0002:002a1ad0 __unwindfunclet$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z$0 007e5ad0 f ServerDlg.obj + 0002:002a1ad8 __unwindfunclet$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z$1 007e5ad8 f ServerDlg.obj + 0002:002a1ae0 __unwindfunclet$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z$3 007e5ae0 f ServerDlg.obj + 0002:002a1aeb __ehhandler$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z 007e5aeb f ServerDlg.obj + 0002:002a1b20 __unwindfunclet$?CheckAliveTest@CServerDlg@@QAEXXZ$0 007e5b20 f ServerDlg.obj + 0002:002a1b28 __unwindfunclet$?CheckAliveTest@CServerDlg@@QAEXXZ$1 007e5b28 f ServerDlg.obj + 0002:002a1b30 __unwindfunclet$?CheckAliveTest@CServerDlg@@QAEXXZ$2 007e5b30 f ServerDlg.obj + 0002:002a1b3b __unwindfunclet$?CheckAliveTest@CServerDlg@@QAEXXZ$3 007e5b3b f ServerDlg.obj + 0002:002a1b46 __ehhandler$?CheckAliveTest@CServerDlg@@QAEXXZ 007e5b46 f ServerDlg.obj + 0002:002a1b80 __unwindfunclet$?CheckLiveTimes@CServerDlg@@QAEXXZ$0 007e5b80 f ServerDlg.obj + 0002:002a1b88 __unwindfunclet$?CheckLiveTimes@CServerDlg@@QAEXXZ$1 007e5b88 f ServerDlg.obj + 0002:002a1b90 __unwindfunclet$?CheckLiveTimes@CServerDlg@@QAEXXZ$3 007e5b90 f ServerDlg.obj + 0002:002a1b9b __unwindfunclet$?CheckLiveTimes@CServerDlg@@QAEXXZ$4 007e5b9b f ServerDlg.obj + 0002:002a1ba3 __unwindfunclet$?CheckLiveTimes@CServerDlg@@QAEXXZ$6 007e5ba3 f ServerDlg.obj + 0002:002a1bae __ehhandler$?CheckLiveTimes@CServerDlg@@QAEXXZ 007e5bae f ServerDlg.obj + 0002:002a1be0 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$0 007e5be0 f ServerDlg.obj + 0002:002a1be8 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$2 007e5be8 f ServerDlg.obj + 0002:002a1bf0 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$3 007e5bf0 f ServerDlg.obj + 0002:002a1bf8 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$5 007e5bf8 f ServerDlg.obj + 0002:002a1c03 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$6 007e5c03 f ServerDlg.obj + 0002:002a1c15 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$8 007e5c15 f ServerDlg.obj + 0002:002a1c1d __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$9 007e5c1d f ServerDlg.obj + 0002:002a1c28 __unwindfunclet$?CreateNpcThread@CServerDlg@@AAE_NXZ$11 007e5c28 f ServerDlg.obj + 0002:002a1c33 __ehhandler$?CreateNpcThread@CServerDlg@@AAE_NXZ 007e5c33 f ServerDlg.obj + 0002:002a1c80 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ$0 007e5c80 f ServerDlg.obj + 0002:002a1c88 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ$1 007e5c88 f ServerDlg.obj + 0002:002a1c90 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ$3 007e5c90 f ServerDlg.obj + 0002:002a1c9b __ehhandler$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ 007e5c9b f ServerDlg.obj + 0002:002a1cd0 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ$0 007e5cd0 f ServerDlg.obj + 0002:002a1cd8 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ$1 007e5cd8 f ServerDlg.obj + 0002:002a1ce0 __unwindfunclet$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ$3 007e5ce0 f ServerDlg.obj + 0002:002a1ceb __ehhandler$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ 007e5ceb f ServerDlg.obj + 0002:002a1d20 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ$0 007e5d20 f ServerDlg.obj + 0002:002a1d28 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ$1 007e5d28 f ServerDlg.obj + 0002:002a1d30 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ$3 007e5d30 f ServerDlg.obj + 0002:002a1d3b __ehhandler$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ 007e5d3b f ServerDlg.obj + 0002:002a1d70 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ$0 007e5d70 f ServerDlg.obj + 0002:002a1d78 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ$1 007e5d78 f ServerDlg.obj + 0002:002a1d80 __unwindfunclet$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ$3 007e5d80 f ServerDlg.obj + 0002:002a1d8b __ehhandler$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ 007e5d8b f ServerDlg.obj + 0002:002a1dc0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ$0 007e5dc0 f ServerDlg.obj + 0002:002a1dc8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ$1 007e5dc8 f ServerDlg.obj + 0002:002a1dd0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ$3 007e5dd0 f ServerDlg.obj + 0002:002a1ddb __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ 007e5ddb f ServerDlg.obj + 0002:002a1e10 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ$0 007e5e10 f ServerDlg.obj + 0002:002a1e18 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ$1 007e5e18 f ServerDlg.obj + 0002:002a1e20 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ$3 007e5e20 f ServerDlg.obj + 0002:002a1e2b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ 007e5e2b f ServerDlg.obj + 0002:002a1e60 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ$0 007e5e60 f ServerDlg.obj + 0002:002a1e68 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ$1 007e5e68 f ServerDlg.obj + 0002:002a1e70 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ$3 007e5e70 f ServerDlg.obj + 0002:002a1e7b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ 007e5e7b f ServerDlg.obj + 0002:002a1eb0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ$0 007e5eb0 f ServerDlg.obj + 0002:002a1eb8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ$1 007e5eb8 f ServerDlg.obj + 0002:002a1ec0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ$3 007e5ec0 f ServerDlg.obj + 0002:002a1ecb __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ 007e5ecb f ServerDlg.obj + 0002:002a1f00 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ$0 007e5f00 f ServerDlg.obj + 0002:002a1f08 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ$1 007e5f08 f ServerDlg.obj + 0002:002a1f10 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ$3 007e5f10 f ServerDlg.obj + 0002:002a1f1b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ 007e5f1b f ServerDlg.obj + 0002:002a1f50 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ$0 007e5f50 f ServerDlg.obj + 0002:002a1f58 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ$1 007e5f58 f ServerDlg.obj + 0002:002a1f60 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ$3 007e5f60 f ServerDlg.obj + 0002:002a1f6b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ 007e5f6b f ServerDlg.obj + 0002:002a1fa0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ$0 007e5fa0 f ServerDlg.obj + 0002:002a1fa8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ$1 007e5fa8 f ServerDlg.obj + 0002:002a1fb0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ$3 007e5fb0 f ServerDlg.obj + 0002:002a1fbb __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ 007e5fbb f ServerDlg.obj + 0002:002a1ff0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ$0 007e5ff0 f ServerDlg.obj + 0002:002a1ff8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ$1 007e5ff8 f ServerDlg.obj + 0002:002a2000 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ$3 007e6000 f ServerDlg.obj + 0002:002a200b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ 007e600b f ServerDlg.obj + 0002:002a2040 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ$0 007e6040 f ServerDlg.obj + 0002:002a2048 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ$1 007e6048 f ServerDlg.obj + 0002:002a2050 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ$3 007e6050 f ServerDlg.obj + 0002:002a205b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ 007e605b f ServerDlg.obj + 0002:002a2090 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$0 007e6090 f ServerDlg.obj + 0002:002a2098 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$1 007e6098 f ServerDlg.obj + 0002:002a20a0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ$3 007e60a0 f ServerDlg.obj + 0002:002a20ab __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 007e60ab f ServerDlg.obj + 0002:002a20e0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ$0 007e60e0 f ServerDlg.obj + 0002:002a20e8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ$1 007e60e8 f ServerDlg.obj + 0002:002a20f0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ$3 007e60f0 f ServerDlg.obj + 0002:002a20fb __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ 007e60fb f ServerDlg.obj + 0002:002a2130 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ$0 007e6130 f ServerDlg.obj + 0002:002a2138 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ$1 007e6138 f ServerDlg.obj + 0002:002a2140 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ$3 007e6140 f ServerDlg.obj + 0002:002a214b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ 007e614b f ServerDlg.obj + 0002:002a2180 __unwindfunclet$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z$1 007e6180 f ServerDlg.obj + 0002:002a2188 __unwindfunclet$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z$3 007e6188 f ServerDlg.obj + 0002:002a2193 __unwindfunclet$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z$4 007e6193 f ServerDlg.obj + 0002:002a219b __unwindfunclet$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z$5 007e619b f ServerDlg.obj + 0002:002a21a3 __unwindfunclet$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z$7 007e61a3 f ServerDlg.obj + 0002:002a21ae __ehhandler$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z 007e61ae f ServerDlg.obj + 0002:002a21f0 __unwindfunclet$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z$0 007e61f0 f ServerDlg.obj + 0002:002a21f8 __unwindfunclet$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z$1 007e61f8 f ServerDlg.obj + 0002:002a2200 __unwindfunclet$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z$2 007e6200 f ServerDlg.obj + 0002:002a220b __ehhandler$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z 007e620b f ServerDlg.obj + 0002:002a2240 __unwindfunclet$?DeleteUserPtr@CServerDlg@@QAEXG@Z$0 007e6240 f ServerDlg.obj + 0002:002a2248 __unwindfunclet$?DeleteUserPtr@CServerDlg@@QAEXG@Z$1 007e6248 f ServerDlg.obj + 0002:002a2250 __unwindfunclet$?DeleteUserPtr@CServerDlg@@QAEXG@Z$2 007e6250 f ServerDlg.obj + 0002:002a225b __ehhandler$?DeleteUserPtr@CServerDlg@@QAEXG@Z 007e625b f ServerDlg.obj + 0002:002a2290 __unwindfunclet$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$0 007e6290 f ServerDlg.obj + 0002:002a2298 __unwindfunclet$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$1 007e6298 f ServerDlg.obj + 0002:002a22a0 __unwindfunclet$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$2 007e62a0 f ServerDlg.obj + 0002:002a22ab __ehhandler$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 007e62ab f ServerDlg.obj + 0002:002a22e0 __unwindfunclet$?Fetch@CMakeDefensiveTableSet@@UAE_NXZ$0 007e62e0 f ServerDlg.obj + 0002:002a22f2 __ehhandler$?Fetch@CMakeDefensiveTableSet@@UAE_NXZ 007e62f2 f ServerDlg.obj + 0002:002a2320 __unwindfunclet$?Fetch@CMakeWeaponTableSet@@UAE_NXZ$0 007e6320 f ServerDlg.obj + 0002:002a2332 __ehhandler$?Fetch@CMakeWeaponTableSet@@UAE_NXZ 007e6332 f ServerDlg.obj + 0002:002a2360 __unwindfunclet$?Fetch@CNpcItemSet@@UAE_NXZ$0 007e6360 f ServerDlg.obj + 0002:002a2372 __ehhandler$?Fetch@CNpcItemSet@@UAE_NXZ 007e6372 f ServerDlg.obj + 0002:002a23a0 __unwindfunclet$?Fetch@CNpcTableSet@@UAE_NXZ$0 007e63a0 f ServerDlg.obj + 0002:002a23b5 __ehhandler$?Fetch@CNpcTableSet@@UAE_NXZ 007e63b5 f ServerDlg.obj + 0002:002a23e0 __unwindfunclet$?Fetch@CZoneInfoSet@@UAE_NXZ$0 007e63e0 f ServerDlg.obj + 0002:002a23eb __unwindfunclet$?Fetch@CZoneInfoSet@@UAE_NXZ$1 007e63eb f ServerDlg.obj + 0002:002a23f6 __ehhandler$?Fetch@CZoneInfoSet@@UAE_NXZ 007e63f6 f ServerDlg.obj + 0002:002a2430 __unwindfunclet$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z$0 007e6430 f ServerDlg.obj + 0002:002a2438 __unwindfunclet$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z$1 007e6438 f ServerDlg.obj + 0002:002a2440 __unwindfunclet$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z$2 007e6440 f ServerDlg.obj + 0002:002a244b __ehhandler$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z 007e644b f ServerDlg.obj + 0002:002a2480 __unwindfunclet$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z$0 007e6480 f ServerDlg.obj + 0002:002a2488 __unwindfunclet$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z$1 007e6488 f ServerDlg.obj + 0002:002a2490 __unwindfunclet$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z$2 007e6490 f ServerDlg.obj + 0002:002a249b __ehhandler$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z 007e649b f ServerDlg.obj + 0002:002a24d0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z$0 007e64d0 f ServerDlg.obj + 0002:002a24d8 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z$1 007e64d8 f ServerDlg.obj + 0002:002a24e0 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z$2 007e64e0 f ServerDlg.obj + 0002:002a24eb __ehhandler$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z 007e64eb f ServerDlg.obj + 0002:002a2520 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z$0 007e6520 f ServerDlg.obj + 0002:002a2528 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z$1 007e6528 f ServerDlg.obj + 0002:002a2530 __unwindfunclet$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z$2 007e6530 f ServerDlg.obj + 0002:002a253b __ehhandler$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z 007e653b f ServerDlg.obj + 0002:002a2570 __unwindfunclet$?GetMagicTableData@CServerDlg@@AAE_NXZ$0 007e6570 f ServerDlg.obj + 0002:002a2578 __ehhandler$?GetMagicTableData@CServerDlg@@AAE_NXZ 007e6578 f ServerDlg.obj + 0002:002a25b0 __unwindfunclet$?GetMagicType1Data@CServerDlg@@AAE_NXZ$0 007e65b0 f ServerDlg.obj + 0002:002a25b8 __ehhandler$?GetMagicType1Data@CServerDlg@@AAE_NXZ 007e65b8 f ServerDlg.obj + 0002:002a25f0 __unwindfunclet$?GetMagicType2Data@CServerDlg@@AAE_NXZ$0 007e65f0 f ServerDlg.obj + 0002:002a25f8 __ehhandler$?GetMagicType2Data@CServerDlg@@AAE_NXZ 007e65f8 f ServerDlg.obj + 0002:002a2630 __unwindfunclet$?GetMagicType4Data@CServerDlg@@AAE_NXZ$0 007e6630 f ServerDlg.obj + 0002:002a2638 __ehhandler$?GetMagicType4Data@CServerDlg@@AAE_NXZ 007e6638 f ServerDlg.obj + 0002:002a2670 __unwindfunclet$?GetMakeDefensiveItemTableData@CServerDlg@@AAE_NXZ$0 007e6670 f ServerDlg.obj + 0002:002a2678 __ehhandler$?GetMakeDefensiveItemTableData@CServerDlg@@AAE_NXZ 007e6678 f ServerDlg.obj + 0002:002a26b0 __unwindfunclet$?GetMakeGradeItemTableData@CServerDlg@@AAE_NXZ$0 007e66b0 f ServerDlg.obj + 0002:002a26b8 __ehhandler$?GetMakeGradeItemTableData@CServerDlg@@AAE_NXZ 007e66b8 f ServerDlg.obj + 0002:002a26f0 __unwindfunclet$?GetMakeItemGroupTable@CServerDlg@@AAE_NXZ$0 007e66f0 f ServerDlg.obj + 0002:002a26f8 __ehhandler$?GetMakeItemGroupTable@CServerDlg@@AAE_NXZ 007e66f8 f ServerDlg.obj + 0002:002a2730 __unwindfunclet$?GetMakeLareItemTableData@CServerDlg@@AAE_NXZ$0 007e6730 f ServerDlg.obj + 0002:002a2738 __ehhandler$?GetMakeLareItemTableData@CServerDlg@@AAE_NXZ 007e6738 f ServerDlg.obj + 0002:002a2770 __unwindfunclet$?GetMakeWeaponItemTableData@CServerDlg@@AAE_NXZ$0 007e6770 f ServerDlg.obj + 0002:002a2778 __ehhandler$?GetMakeWeaponItemTableData@CServerDlg@@AAE_NXZ 007e6778 f ServerDlg.obj + 0002:002a27b0 __unwindfunclet$?GetNpcItemTable@CServerDlg@@AAE_NXZ$0 007e67b0 f ServerDlg.obj + 0002:002a27b8 __ehhandler$?GetNpcItemTable@CServerDlg@@AAE_NXZ 007e67b8 f ServerDlg.obj + 0002:002a27f0 __unwindfunclet$?GetNpcTableData@CServerDlg@@AAE_N_N@Z$0 007e67f0 f ServerDlg.obj + 0002:002a27f8 __unwindfunclet$?GetNpcTableData@CServerDlg@@AAE_N_N@Z$2 007e67f8 f ServerDlg.obj + 0002:002a2800 __ehhandler$?GetNpcTableData@CServerDlg@@AAE_N_N@Z 007e6800 f ServerDlg.obj + 0002:002a2840 __unwindfunclet$?GetObjectPostTableData@CServerDlg@@AAE_NXZ$0 007e6840 f ServerDlg.obj + 0002:002a2848 __ehhandler$?GetObjectPostTableData@CServerDlg@@AAE_NXZ 007e6848 f ServerDlg.obj + 0002:002a2880 __unwindfunclet$?GetServerInfoIni@CServerDlg@@AAEXXZ$0 007e6880 f ServerDlg.obj + 0002:002a2888 __unwindfunclet$?GetServerInfoIni@CServerDlg@@AAEXXZ$1 007e6888 f ServerDlg.obj + 0002:002a2890 __ehhandler$?GetServerInfoIni@CServerDlg@@AAEXXZ 007e6890 f ServerDlg.obj + 0002:002a28d0 __unwindfunclet$?GetServerResourceTable@CServerDlg@@AAE_NXZ$0 007e68d0 f ServerDlg.obj + 0002:002a28d8 __ehhandler$?GetServerResourceTable@CServerDlg@@AAE_NXZ 007e68d8 f ServerDlg.obj + 0002:002a2910 __unwindfunclet$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z$0 007e6910 f ServerDlg.obj + 0002:002a2918 __unwindfunclet$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z$1 007e6918 f ServerDlg.obj + 0002:002a2920 __unwindfunclet$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z$2 007e6920 f ServerDlg.obj + 0002:002a292b __ehhandler$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z 007e692b f ServerDlg.obj + 0002:002a2960 __unwindfunclet$?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z$0 007e6960 f ServerDlg.obj + 0002:002a2968 __unwindfunclet$?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z$1 007e6968 f ServerDlg.obj + 0002:002a297d __ehhandler$?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z 007e697d f ServerDlg.obj + 0002:002a29b0 __unwindfunclet$?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z$0 007e69b0 f ServerDlg.obj + 0002:002a29b8 __unwindfunclet$?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z$1 007e69b8 f ServerDlg.obj + 0002:002a29ca __ehhandler$?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z 007e69ca f ServerDlg.obj + 0002:002a2a00 __unwindfunclet$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z$0 007e6a00 f ServerDlg.obj + 0002:002a2a0c __unwindfunclet$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z$1 007e6a0c f ServerDlg.obj + 0002:002a2a14 __unwindfunclet$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z$2 007e6a14 f ServerDlg.obj + 0002:002a2a29 __ehhandler$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z 007e6a29 f ServerDlg.obj + 0002:002a2a70 __unwindfunclet$?MapFileLoad@CServerDlg@@AAE_NXZ$0 007e6a70 f ServerDlg.obj + 0002:002a2a78 __unwindfunclet$?MapFileLoad@CServerDlg@@AAE_NXZ$1 007e6a78 f ServerDlg.obj + 0002:002a2a80 __unwindfunclet$?MapFileLoad@CServerDlg@@AAE_NXZ$3 007e6a80 f ServerDlg.obj + 0002:002a2a88 __unwindfunclet$?MapFileLoad@CServerDlg@@AAE_NXZ$5 007e6a88 f ServerDlg.obj + 0002:002a2a93 __unwindfunclet$?MapFileLoad@CServerDlg@@AAE_NXZ$6 007e6a93 f ServerDlg.obj + 0002:002a2aa8 __ehhandler$?MapFileLoad@CServerDlg@@AAE_NXZ 007e6aa8 f ServerDlg.obj + 0002:002a2af0 __unwindfunclet$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$0 007e6af0 f ServerDlg.obj + 0002:002a2af8 __unwindfunclet$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$1 007e6af8 f ServerDlg.obj + 0002:002a2b00 __unwindfunclet$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z$2 007e6b00 f ServerDlg.obj + 0002:002a2b0b __ehhandler$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 007e6b0b f ServerDlg.obj + 0002:002a2b40 __unwindfunclet$?PutData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE_NIPAU_NPC_LIVE_TIME@@@Z$0 007e6b40 f ServerDlg.obj + 0002:002a2b48 __ehhandler$?PutData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE_NIPAU_NPC_LIVE_TIME@@@Z 007e6b48 f ServerDlg.obj + 0002:002a2b70 __unwindfunclet$?PutData@?$CSTLMap@VCNpc@@@@QAE_NIPAVCNpc@@@Z$0 007e6b70 f ServerDlg.obj + 0002:002a2b78 __ehhandler$?PutData@?$CSTLMap@VCNpc@@@@QAE_NIPAVCNpc@@@Z 007e6b78 f ServerDlg.obj + 0002:002a2ba0 __unwindfunclet$?PutData@?$CSTLMap@VCNpcTable@@@@QAE_NIPAVCNpcTable@@@Z$0 007e6ba0 f ServerDlg.obj + 0002:002a2ba8 __ehhandler$?PutData@?$CSTLMap@VCNpcTable@@@@QAE_NIPAVCNpcTable@@@Z 007e6ba8 f ServerDlg.obj + 0002:002a2bd0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE_NIPAU_K_MONSTER_ITEM@@@Z$0 007e6bd0 f ServerDlg.obj + 0002:002a2bd8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE_NIPAU_K_MONSTER_ITEM@@@Z 007e6bd8 f ServerDlg.obj + 0002:002a2c00 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE_NIPAU_MAGIC_TABLE@@@Z$0 007e6c00 f ServerDlg.obj + 0002:002a2c08 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE_NIPAU_MAGIC_TABLE@@@Z 007e6c08 f ServerDlg.obj + 0002:002a2c30 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE_NIPAU_MAGIC_TYPE1@@@Z$0 007e6c30 f ServerDlg.obj + 0002:002a2c38 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE_NIPAU_MAGIC_TYPE1@@@Z 007e6c38 f ServerDlg.obj + 0002:002a2c60 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE_NIPAU_MAGIC_TYPE2@@@Z$0 007e6c60 f ServerDlg.obj + 0002:002a2c68 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE_NIPAU_MAGIC_TYPE2@@@Z 007e6c68 f ServerDlg.obj + 0002:002a2c90 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE_NIPAU_MAGIC_TYPE4@@@Z$0 007e6c90 f ServerDlg.obj + 0002:002a2c98 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE_NIPAU_MAGIC_TYPE4@@@Z 007e6c98 f ServerDlg.obj + 0002:002a2cc0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE_NIPAU_MAKE_ITEM_GRADE_CODE@@@Z$0 007e6cc0 f ServerDlg.obj + 0002:002a2cc8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE_NIPAU_MAKE_ITEM_GRADE_CODE@@@Z 007e6cc8 f ServerDlg.obj + 0002:002a2cf0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE_NIPAU_MAKE_ITEM_GROUP@@@Z$0 007e6cf0 f ServerDlg.obj + 0002:002a2cf8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE_NIPAU_MAKE_ITEM_GROUP@@@Z 007e6cf8 f ServerDlg.obj + 0002:002a2d20 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE_NIPAU_MAKE_ITEM_LARE_CODE@@@Z$0 007e6d20 f ServerDlg.obj + 0002:002a2d28 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE_NIPAU_MAKE_ITEM_LARE_CODE@@@Z 007e6d28 f ServerDlg.obj + 0002:002a2d50 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE_NIPAU_MAKE_WEAPON@@@Z$0 007e6d50 f ServerDlg.obj + 0002:002a2d58 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE_NIPAU_MAKE_WEAPON@@@Z 007e6d58 f ServerDlg.obj + 0002:002a2d80 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE_NIPAU_OBJECT_EVENT@@@Z$0 007e6d80 f ServerDlg.obj + 0002:002a2d88 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE_NIPAU_OBJECT_EVENT@@@Z 007e6d88 f ServerDlg.obj + 0002:002a2db0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE_NIPAU_SERVER_RESOURCE@@@Z$0 007e6db0 f ServerDlg.obj + 0002:002a2db8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE_NIPAU_SERVER_RESOURCE@@@Z 007e6db8 f ServerDlg.obj + 0002:002a2de0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@VMAP@@@@QAE_NIPAVMAP@@@Z$0 007e6de0 f ServerDlg.obj + 0002:002a2de8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@VMAP@@@@QAE_NIPAVMAP@@@Z 007e6de8 f ServerDlg.obj + 0002:002a2e10 __unwindfunclet$?ResetBattleZone@CServerDlg@@QAEXXZ$0 007e6e10 f ServerDlg.obj + 0002:002a2e18 __unwindfunclet$?ResetBattleZone@CServerDlg@@QAEXXZ$2 007e6e18 f ServerDlg.obj + 0002:002a2e23 __ehhandler$?ResetBattleZone@CServerDlg@@QAEXXZ 007e6e23 f ServerDlg.obj + 0002:002a2e50 __unwindfunclet$?ResumeAI@CServerDlg@@AAEXXZ$0 007e6e50 f ServerDlg.obj + 0002:002a2e58 __unwindfunclet$?ResumeAI@CServerDlg@@AAEXXZ$1 007e6e58 f ServerDlg.obj + 0002:002a2e60 __unwindfunclet$?ResumeAI@CServerDlg@@AAEXXZ$3 007e6e60 f ServerDlg.obj + 0002:002a2e6b __ehhandler$?ResumeAI@CServerDlg@@AAEXXZ 007e6e6b f ServerDlg.obj + 0002:002a2ea0 __unwindfunclet$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$0 007e6ea0 f ServerDlg.obj + 0002:002a2ea8 __unwindfunclet$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$1 007e6ea8 f ServerDlg.obj + 0002:002a2eb0 __unwindfunclet$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$2 007e6eb0 f ServerDlg.obj + 0002:002a2ebb __ehhandler$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 007e6ebb f ServerDlg.obj + 0002:002a2ef0 __unwindfunclet$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$0 007e6ef0 f ServerDlg.obj + 0002:002a2ef8 __unwindfunclet$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$1 007e6ef8 f ServerDlg.obj + 0002:002a2f00 __unwindfunclet$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z$2 007e6f00 f ServerDlg.obj + 0002:002a2f0b __ehhandler$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 007e6f0b f ServerDlg.obj + 0002:002a2f40 __unwindfunclet$?SendSystemMsg@CServerDlg@@QAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z$0 007e6f40 f ServerDlg.obj + 0002:002a2f48 __ehhandler$?SendSystemMsg@CServerDlg@@QAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z 007e6f48 f ServerDlg.obj + 0002:002a2f70 __unwindfunclet$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z$0 007e6f70 f ServerDlg.obj + 0002:002a2f78 __unwindfunclet$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z$1 007e6f78 f ServerDlg.obj + 0002:002a2f80 __unwindfunclet$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z$2 007e6f80 f ServerDlg.obj + 0002:002a2f8b __ehhandler$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z 007e6f8b f ServerDlg.obj + 0002:002a2fc0 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$0 007e6fc0 f ServerDlg.obj + 0002:002a2fc8 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$1 007e6fc8 f ServerDlg.obj + 0002:002a2fd0 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$2 007e6fd0 f ServerDlg.obj + 0002:002a2fd8 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$3 007e6fd8 f ServerDlg.obj + 0002:002a2fe0 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$4 007e6fe0 f ServerDlg.obj + 0002:002a2feb __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$5 007e6feb f ServerDlg.obj + 0002:002a3000 __unwindfunclet$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z$6 007e7000 f ServerDlg.obj + 0002:002a3008 __ehhandler$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z 007e7008 f ServerDlg.obj + 0002:002a3040 __unwindfunclet$?Startup@CServerDlg@@QAE_NXZ$0 007e7040 f ServerDlg.obj + 0002:002a3052 __unwindfunclet$?Startup@CServerDlg@@QAE_NXZ$1 007e7052 f ServerDlg.obj + 0002:002a3064 __ehhandler$?Startup@CServerDlg@@QAE_NXZ 007e7064 f ServerDlg.obj + 0002:002a30a0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e70a0 f ServerDlg.obj + 0002:002a30a8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e70a8 f ServerDlg.obj + 0002:002a30d0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e70d0 f ServerDlg.obj + 0002:002a30d8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e70d8 f ServerDlg.obj + 0002:002a3100 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7100 f ServerDlg.obj + 0002:002a3108 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7108 f ServerDlg.obj + 0002:002a3130 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7130 f ServerDlg.obj + 0002:002a3138 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7138 f ServerDlg.obj + 0002:002a3160 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7160 f ServerDlg.obj + 0002:002a3168 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7168 f ServerDlg.obj + 0002:002a3190 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7190 f ServerDlg.obj + 0002:002a3198 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7198 f ServerDlg.obj + 0002:002a31c0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e71c0 f ServerDlg.obj + 0002:002a31c8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e71c8 f ServerDlg.obj + 0002:002a31f0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e71f0 f ServerDlg.obj + 0002:002a31f8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e71f8 f ServerDlg.obj + 0002:002a3220 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7220 f ServerDlg.obj + 0002:002a3228 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7228 f ServerDlg.obj + 0002:002a3250 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7250 f ServerDlg.obj + 0002:002a3258 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7258 f ServerDlg.obj + 0002:002a3280 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7280 f ServerDlg.obj + 0002:002a3288 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7288 f ServerDlg.obj + 0002:002a32b0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e72b0 f ServerDlg.obj + 0002:002a32b8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e72b8 f ServerDlg.obj + 0002:002a32e0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e72e0 f ServerDlg.obj + 0002:002a32e8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e72e8 f ServerDlg.obj + 0002:002a3310 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7310 f ServerDlg.obj + 0002:002a3318 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7318 f ServerDlg.obj + 0002:002a3340 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7340 f ServerDlg.obj + 0002:002a3348 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7348 f ServerDlg.obj + 0002:002a3370 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7370 f ServerDlg.obj + 0002:002a3378 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7378 f ServerDlg.obj + 0002:002a33a0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e73a0 f ServerDlg.obj + 0002:002a33a8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e73a8 f ServerDlg.obj + 0002:002a33d0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e73d0 f ServerDlg.obj + 0002:002a33d8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e73d8 f ServerDlg.obj + 0002:002a3400 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007e7400 f ServerDlg.obj + 0002:002a3408 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007e7408 f ServerDlg.obj + 0002:002a3430 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ$0 007e7430 f ServerDlg.obj + 0002:002a3438 __ehhandler$?_Alloc_sentinel_and_proxy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ 007e7438 f ServerDlg.obj + 0002:002a3460 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@QAU32@@Z 007e7460 f ServerDlg.obj + 0002:002a3490 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@QAU32@@Z 007e7490 f ServerDlg.obj + 0002:002a34c0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@QAU32@@Z 007e74c0 f ServerDlg.obj + 0002:002a34f0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@QAU32@@Z 007e74f0 f ServerDlg.obj + 0002:002a3520 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@QAU32@@Z 007e7520 f ServerDlg.obj + 0002:002a3550 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@QAU32@@Z 007e7550 f ServerDlg.obj + 0002:002a3580 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@QAU32@@Z 007e7580 f ServerDlg.obj + 0002:002a35b0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@QAU32@@Z 007e75b0 f ServerDlg.obj + 0002:002a35e0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 007e75e0 f ServerDlg.obj + 0002:002a3610 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 007e7610 f ServerDlg.obj + 0002:002a3640 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 007e7640 f ServerDlg.obj + 0002:002a3670 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@QAU32@@Z 007e7670 f ServerDlg.obj + 0002:002a36a0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@QAU32@@Z 007e76a0 f ServerDlg.obj + 0002:002a36d0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 007e76d0 f ServerDlg.obj + 0002:002a3700 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@QAU32@@Z 007e7700 f ServerDlg.obj + 0002:002a3730 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@QAU32@@Z 007e7730 f ServerDlg.obj + 0002:002a3760 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@QAU32@@Z 007e7760 f ServerDlg.obj + 0002:002a3790 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@QAU32@@Z 007e7790 f ServerDlg.obj + 0002:002a37c0 __ehhandler$?_Orphan_non_end@?$_List_val@U?$_List_simple_types@H@std@@@std@@QAEXXZ 007e77c0 f ServerDlg.obj + 0002:002a37f0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@XZ 007e77f0 f ServerDlg.obj + 0002:002a3820 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@XZ 007e7820 f ServerDlg.obj + 0002:002a3850 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@XZ 007e7850 f ServerDlg.obj + 0002:002a3880 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@XZ 007e7880 f ServerDlg.obj + 0002:002a38b0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@XZ 007e78b0 f ServerDlg.obj + 0002:002a38e0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@XZ 007e78e0 f ServerDlg.obj + 0002:002a3910 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@XZ 007e7910 f ServerDlg.obj + 0002:002a3940 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@XZ 007e7940 f ServerDlg.obj + 0002:002a3970 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@XZ 007e7970 f ServerDlg.obj + 0002:002a39a0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@XZ 007e79a0 f ServerDlg.obj + 0002:002a39d0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@XZ 007e79d0 f ServerDlg.obj + 0002:002a3a00 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@XZ 007e7a00 f ServerDlg.obj + 0002:002a3a30 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@XZ 007e7a30 f ServerDlg.obj + 0002:002a3a60 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@XZ 007e7a60 f ServerDlg.obj + 0002:002a3a90 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@XZ 007e7a90 f ServerDlg.obj + 0002:002a3ac0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@XZ 007e7ac0 f ServerDlg.obj + 0002:002a3af0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@XZ 007e7af0 f ServerDlg.obj + 0002:002a3b20 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@XZ 007e7b20 f ServerDlg.obj + 0002:002a3b50 __ehhandler$?_Tidy@?$vector@GV?$allocator@G@std@@@std@@AAEXXZ 007e7b50 f ServerDlg.obj + 0002:002a3b80 __ehhandler$?_Tidy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXXZ 007e7b80 f ServerDlg.obj + 0002:002a3bb0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 007e7bb0 f ServerDlg.obj + 0002:002a3be0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 007e7be0 f ServerDlg.obj + 0002:002a3c10 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 007e7c10 f ServerDlg.obj + 0002:002a3c40 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 007e7c40 f ServerDlg.obj + 0002:002a3c70 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 007e7c70 f ServerDlg.obj + 0002:002a3ca0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 007e7ca0 f ServerDlg.obj + 0002:002a3cd0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 007e7cd0 f ServerDlg.obj + 0002:002a3d00 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 007e7d00 f ServerDlg.obj + 0002:002a3d30 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 007e7d30 f ServerDlg.obj + 0002:002a3d60 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 007e7d60 f ServerDlg.obj + 0002:002a3d90 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 007e7d90 f ServerDlg.obj + 0002:002a3dc0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 007e7dc0 f ServerDlg.obj + 0002:002a3df0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 007e7df0 f ServerDlg.obj + 0002:002a3e20 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 007e7e20 f ServerDlg.obj + 0002:002a3e50 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 007e7e50 f ServerDlg.obj + 0002:002a3e80 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 007e7e80 f ServerDlg.obj + 0002:002a3eb0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 007e7eb0 f ServerDlg.obj + 0002:002a3ee0 __ehhandler$?begin@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 007e7ee0 f ServerDlg.obj + 0002:002a3f10 __ehhandler$?begin@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 007e7f10 f ServerDlg.obj + 0002:002a3f40 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e7f40 f ServerDlg.obj + 0002:002a3f70 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e7f70 f ServerDlg.obj + 0002:002a3fa0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e7fa0 f ServerDlg.obj + 0002:002a3fd0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e7fd0 f ServerDlg.obj + 0002:002a4000 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8000 f ServerDlg.obj + 0002:002a4030 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8030 f ServerDlg.obj + 0002:002a4060 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8060 f ServerDlg.obj + 0002:002a4090 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8090 f ServerDlg.obj + 0002:002a40c0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e80c0 f ServerDlg.obj + 0002:002a40f0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e80f0 f ServerDlg.obj + 0002:002a4120 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8120 f ServerDlg.obj + 0002:002a4150 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8150 f ServerDlg.obj + 0002:002a4180 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8180 f ServerDlg.obj + 0002:002a41b0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e81b0 f ServerDlg.obj + 0002:002a41e0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e81e0 f ServerDlg.obj + 0002:002a4210 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8210 f ServerDlg.obj + 0002:002a4240 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8240 f ServerDlg.obj + 0002:002a4270 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007e8270 f ServerDlg.obj + 0002:002a42a0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 007e82a0 f ServerDlg.obj + 0002:002a42d0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 007e82d0 f ServerDlg.obj + 0002:002a4300 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 007e8300 f ServerDlg.obj + 0002:002a4330 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 007e8330 f ServerDlg.obj + 0002:002a4360 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 007e8360 f ServerDlg.obj + 0002:002a4390 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 007e8390 f ServerDlg.obj + 0002:002a43c0 __ehhandler$?end@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 007e83c0 f ServerDlg.obj + 0002:002a43f0 __ehhandler$?end@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 007e83f0 f ServerDlg.obj + 0002:002a4420 __unwindfunclet$?HealAreaCheck@CUser@@QAEXHH@Z$0 007e8420 f AIUser.obj + 0002:002a4428 __unwindfunclet$?HealAreaCheck@CUser@@QAEXHH@Z$1 007e8428 f AIUser.obj + 0002:002a4430 __unwindfunclet$?HealAreaCheck@CUser@@QAEXHH@Z$2 007e8430 f AIUser.obj + 0002:002a4438 __unwindfunclet$?HealAreaCheck@CUser@@QAEXHH@Z$4 007e8438 f AIUser.obj + 0002:002a4443 __ehhandler$?HealAreaCheck@CUser@@QAEXHH@Z 007e8443 f AIUser.obj + 0002:002a4480 __ehhandler$??$move@AAH@std@@YA$$QAHAAH@Z 007e8480 f shared:globals.obj + 0002:002a44b0 __ehhandler$??$swap@HX@std@@YAXAAH0@Z 007e84b0 f shared:globals.obj + 0002:002a44f0 __unwindfunclet$?RandUInt64@@YA_KXZ$0 007e84f0 f shared:globals.obj + 0002:002a44f8 __ehhandler$?RandUInt64@@YA_KXZ 007e84f8 f shared:globals.obj + 0002:002a4530 __ehhandler$?max@?$numeric_limits@_K@std@@SA_KXZ 007e8530 f shared:globals.obj + 0002:002a4560 __unwindfunclet$?myrand@@YAHHH@Z$0 007e8560 f shared:globals.obj + 0002:002a4568 __ehhandler$?myrand@@YAHHH@Z 007e8568 f shared:globals.obj + 0002:002a45a0 __ehhandler$??$_Atomic_address_as@JU?$_Atomic_padded@I@std@@@std@@YAPCJAAU?$_Atomic_padded@I@0@@Z 007e85a0 f shared:ReferenceObject.obj + 0002:002a45d0 __ehhandler$??0?$_Atomic_storage@I$03@std@@QAE@I@Z 007e85d0 f shared:ReferenceObject.obj + 0002:002a4600 __ehhandler$??E?$_Atomic_integral@I$03@std@@QAEIXZ 007e8600 f shared:ReferenceObject.obj + 0002:002a4630 __ehhandler$??F?$_Atomic_integral@I$03@std@@QAEIXZ 007e8630 f shared:ReferenceObject.obj + 0002:002a4660 __ehhandler$??$?0PAVSocket@@@?$allocator@PAPAVSocket@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 007e8660 f shared:SocketMgr.obj + 0002:002a4690 __ehhandler$??$?0PAVSocket@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 007e8690 f shared:SocketMgr.obj + 0002:002a46c0 __ehhandler$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 007e86c0 f shared:SocketMgr.obj + 0002:002a46f0 __ehhandler$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 007e86f0 f shared:SocketMgr.obj + 0002:002a4730 __ehhandler$??$_Atomic_reinterpret_as@JI@std@@YAJABI@Z 007e8730 f shared:SocketMgr.obj + 0002:002a4770 __ehhandler$??$_Destroy_range@V?$allocator@PAPAVSocket@@@std@@@std@@YAXPAPAPAVSocket@@QAPAPAV1@AAV?$allocator@PAPAVSocket@@@0@@Z 007e8770 f shared:SocketMgr.obj + 0002:002a47a0 __ehhandler$??$addressof@$$CBI@std@@YAPBIABI@Z 007e87a0 f shared:SocketMgr.obj + 0002:002a47d0 __ehhandler$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 007e87d0 f shared:SocketMgr.obj + 0002:002a4800 __ehhandler$??$addressof@PAPAVSocket@@@std@@YAPAPAPAVSocket@@AAPAPAV1@@Z 007e8800 f shared:SocketMgr.obj + 0002:002a4830 __ehhandler$??$addressof@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@YAPAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@0@AAV10@@Z 007e8830 f shared:SocketMgr.obj + 0002:002a4860 __ehhandler$??$forward@ABQAVSocket@@@std@@YAABQAVSocket@@ABQAV1@@Z 007e8860 f shared:SocketMgr.obj + 0002:002a4890 __ehhandler$??0?$allocator@PAVSocket@@@std@@QAE@XZ 007e8890 f shared:SocketMgr.obj + 0002:002a48c0 __unwindfunclet$??0SocketMgr@@QAE@XZ$0 007e88c0 f shared:SocketMgr.obj + 0002:002a48cb __ehhandler$??0SocketMgr@@QAE@XZ 007e88cb f shared:SocketMgr.obj + 0002:002a4900 __ehhandler$??1?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE@XZ 007e8900 f shared:SocketMgr.obj + 0002:002a4940 __ehhandler$??1SocketMgr@@UAE@XZ 007e8940 f shared:SocketMgr.obj + 0002:002a4970 __ehhandler$??4?$atomic@I@std@@QAEII@Z 007e8970 f shared:SocketMgr.obj + 0002:002a49a0 __ehhandler$??4?$atomic@_N@std@@QAE_N_N@Z 007e89a0 f shared:SocketMgr.obj + 0002:002a49d0 __unwindfunclet$?HandleWriteComplete@@YAXPAVSocket@@I@Z$0 007e89d0 f shared:SocketMgr.obj + 0002:002a49d8 __ehhandler$?HandleWriteComplete@@YAXPAVSocket@@I@Z 007e89d8 f shared:SocketMgr.obj + 0002:002a4a10 __unwindfunclet$?OnDisconnect@SocketMgr@@UAEXPAVSocket@@@Z$0 007e8a10 f shared:SocketMgr.obj + 0002:002a4a18 __ehhandler$?OnDisconnect@SocketMgr@@UAEXPAVSocket@@@Z 007e8a18 f shared:SocketMgr.obj + 0002:002a4a50 __unwindfunclet$?ShutdownThreads@SocketMgr@@QAEXXZ$0 007e8a50 f shared:SocketMgr.obj + 0002:002a4a62 __unwindfunclet$?ShutdownThreads@SocketMgr@@QAEXXZ$1 007e8a62 f shared:SocketMgr.obj + 0002:002a4a6a __unwindfunclet$?ShutdownThreads@SocketMgr@@QAEXXZ$3 007e8a6a f shared:SocketMgr.obj + 0002:002a4a75 __ehhandler$?ShutdownThreads@SocketMgr@@QAEXXZ 007e8a75 f shared:SocketMgr.obj + 0002:002a4ab0 __unwindfunclet$?SpawnWorkerThreads@SocketMgr@@QAEXXZ$0 007e8ab0 f shared:SocketMgr.obj + 0002:002a4ac2 __ehhandler$?SpawnWorkerThreads@SocketMgr@@QAEXXZ 007e8ac2 f shared:SocketMgr.obj + 0002:002a4b00 __ehhandler$?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 007e8b00 f shared:SocketMgr.obj + 0002:002a4b30 __ehhandler$?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 007e8b30 f shared:SocketMgr.obj + 0002:002a4b60 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVSocket@@@2@XZ 007e8b60 f shared:SocketMgr.obj + 0002:002a4b90 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QBEABV?$allocator@PAVSocket@@@2@XZ 007e8b90 f shared:SocketMgr.obj + 0002:002a4bc0 __ehhandler$?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$allocator@PAVSocket@@@2@XZ 007e8bc0 f shared:SocketMgr.obj + 0002:002a4bf0 __ehhandler$?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$allocator@PAVSocket@@@2@XZ 007e8bf0 f shared:SocketMgr.obj + 0002:002a4c20 __ehhandler$?_Map@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAPAPAPAVSocket@@XZ 007e8c20 f shared:SocketMgr.obj + 0002:002a4c50 __ehhandler$?_Mapsize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 007e8c50 f shared:SocketMgr.obj + 0002:002a4c80 __ehhandler$?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 007e8c80 f shared:SocketMgr.obj + 0002:002a4cb0 __ehhandler$?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 007e8cb0 f shared:SocketMgr.obj + 0002:002a4ce0 __ehhandler$?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 007e8ce0 f shared:SocketMgr.obj + 0002:002a4d10 __ehhandler$?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 007e8d10 f shared:SocketMgr.obj + 0002:002a4d40 __ehhandler$?_Tidy@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXXZ 007e8d40 f shared:SocketMgr.obj + 0002:002a4d80 __ehhandler$?_Unchecked_begin@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE?AV?$_Deque_unchecked_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@2@XZ 007e8d80 f shared:SocketMgr.obj + 0002:002a4db0 __ehhandler$?empty@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBE_NXZ 007e8db0 f shared:SocketMgr.obj + 0002:002a4de0 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@PAVSocket@@@std@@@std@@SAIABV?$allocator@PAVSocket@@@2@@Z 007e8de0 f shared:SocketMgr.obj + 0002:002a4e10 __ehhandler$?max_size@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBEIXZ 007e8e10 f shared:SocketMgr.obj + 0002:002a4e40 __ehhandler$?store@?$_Atomic_storage@I$03@std@@QAEXI@Z 007e8e40 f shared:SocketMgr.obj + 0002:002a4e70 __ehhandler$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 007e8e70 f shared:SocketMgr.obj + 0002:002a4ea0 __unwindfunclet$??0Socket@@QAE@III@Z$0 007e8ea0 f shared:Socket.obj + 0002:002a4eab __unwindfunclet$??0Socket@@QAE@III@Z$1 007e8eab f shared:Socket.obj + 0002:002a4eb6 __unwindfunclet$??0Socket@@QAE@III@Z$2 007e8eb6 f shared:Socket.obj + 0002:002a4ec1 __unwindfunclet$??0Socket@@QAE@III@Z$3 007e8ec1 f shared:Socket.obj + 0002:002a4ecf __unwindfunclet$??0Socket@@QAE@III@Z$4 007e8ecf f shared:Socket.obj + 0002:002a4edd __ehhandler$??0Socket@@QAE@III@Z 007e8edd f shared:Socket.obj + 0002:002a4f20 __ehhandler$??1Socket@@UAE@XZ 007e8f20 f shared:Socket.obj + 0002:002a4f50 __ehhandler$??$_Pocca@V?$allocator@E@std@@@std@@YAXAAV?$allocator@E@0@ABV10@@Z 007e8f50 f shared:KOSocket.obj + 0002:002a4f80 __ehhandler$??$_Refancy@PAE$0A@@std@@YAPAEPAE@Z 007e8f80 f shared:KOSocket.obj + 0002:002a4fb0 __ehhandler$??$_Verify_range@E@std@@YAXQBE0@Z 007e8fb0 f shared:KOSocket.obj + 0002:002a4fe0 __ehhandler$??$addressof@$$CBV?$vector@EV?$allocator@E@std@@@std@@@std@@YAPBV?$vector@EV?$allocator@E@std@@@0@ABV10@@Z 007e8fe0 f shared:KOSocket.obj + 0002:002a5010 __unwindfunclet$??0KOSocket@@QAE@GPAVSocketMgr@@III@Z$0 007e9010 f shared:KOSocket.obj + 0002:002a5018 __ehhandler$??0KOSocket@@QAE@GPAVSocketMgr@@III@Z 007e9018 f shared:KOSocket.obj + 0002:002a5040 __unwindfunclet$?DecryptPacket@KOSocket@@UAE_NPAEAAVPacket@@@Z$0 007e9040 f shared:KOSocket.obj + 0002:002a504b __ehhandler$?DecryptPacket@KOSocket@@UAE_NPAEAAVPacket@@@Z 007e904b f shared:KOSocket.obj + 0002:002a5080 __unwindfunclet$?OnConnect@KOSocket@@UAEXXZ$0 007e9080 f shared:KOSocket.obj + 0002:002a508b __unwindfunclet$?OnConnect@KOSocket@@UAEXXZ$1 007e908b f shared:KOSocket.obj + 0002:002a5096 __ehhandler$?OnConnect@KOSocket@@UAEXXZ 007e9096 f shared:KOSocket.obj + 0002:002a50d0 __unwindfunclet$?OnDisconnect@KOSocket@@UAEXXZ$0 007e90d0 f shared:KOSocket.obj + 0002:002a50db __ehhandler$?OnDisconnect@KOSocket@@UAEXXZ 007e90db f shared:KOSocket.obj + 0002:002a5110 __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$5 007e9110 f shared:KOSocket.obj + 0002:002a5118 __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$6 007e9118 f shared:KOSocket.obj + 0002:002a5123 __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$7 007e9123 f shared:KOSocket.obj + 0002:002a512e __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$8 007e912e f shared:KOSocket.obj + 0002:002a5139 __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$9 007e9139 f shared:KOSocket.obj + 0002:002a5144 __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$10 007e9144 f shared:KOSocket.obj + 0002:002a514f __unwindfunclet$?OnRead@KOSocket@@UAEXXZ$11 007e914f f shared:KOSocket.obj + 0002:002a515a __ehhandler$?OnRead@KOSocket@@UAEXXZ 007e915a f shared:KOSocket.obj + 0002:002a51a0 __unwindfunclet$?SendCompressed@KOSocket@@UAE_NPAVPacket@@@Z$0 007e91a0 f shared:KOSocket.obj + 0002:002a51a8 __ehhandler$?SendCompressed@KOSocket@@UAE_NPAVPacket@@@Z 007e91a8 f shared:KOSocket.obj + 0002:002a51e0 __ehhandler$??$addressof@Vmutex@std@@@std@@YAPAVmutex@0@AAV10@@Z 007e91e0 f shared:Condition.obj + 0002:002a5210 __ehhandler$??0mutex@std@@QAE@XZ 007e9210 f shared:Condition.obj + 0002:002a5240 __ehhandler$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 007e9240 f shared:Condition.obj + 0002:002a5270 __ehhandler$??1Condition@@QAE@XZ 007e9270 f shared:Condition.obj + 0002:002a52a0 __ehhandler$??1condition_variable@std@@QAE@XZ 007e92a0 f shared:Condition.obj + 0002:002a52d0 __unwindfunclet$?Wait@Condition@@QAEIXZ$0 007e92d0 f shared:Condition.obj + 0002:002a52d8 __ehhandler$?Wait@Condition@@QAEIXZ 007e92d8 f shared:Condition.obj + 0002:002a5310 __unwindfunclet$?Wait@Condition@@QAEI_J@Z$0 007e9310 f shared:Condition.obj + 0002:002a5318 __ehhandler$?Wait@Condition@@QAEI_J@Z 007e9318 f shared:Condition.obj + 0002:002a5350 __ehhandler$?_Mycnd@condition_variable@std@@AAEPAU_Cnd_internal_imp_t@@XZ 007e9350 f shared:Condition.obj + 0002:002a5380 __ehhandler$?mutex@?$unique_lock@Vmutex@std@@@std@@QBEPAV02@XZ 007e9380 f shared:Condition.obj + 0002:002a53b0 __ehhandler$?notify_all@condition_variable@std@@QAEXXZ 007e93b0 f shared:Condition.obj + 0002:002a53e0 __ehhandler$?notify_one@condition_variable@std@@QAEXXZ 007e93e0 f shared:Condition.obj + 0002:002a5410 __ehhandler$?now@system_clock@chrono@std@@SA?AV?$time_point@Usystem_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@@23@XZ 007e9410 f shared:Condition.obj + 0002:002a5440 __ehhandler$?zero@?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@SA?AV123@XZ 007e9440 f shared:Condition.obj + 0002:002a5470 __ehhandler$?zero@?$duration_values@_J@chrono@std@@SA_JXZ 007e9470 f shared:Condition.obj + 0002:002a54a0 __ehhandler$??$_Const_cast@$$CBD@std@@YA@PBD@Z 007e94a0 f shared:tstring.obj + 0002:002a54d0 __ehhandler$??$_Refancy@PAD$0A@@std@@YAPADPAD@Z 007e94d0 f shared:tstring.obj + 0002:002a5500 __unwindfunclet$??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z$0 007e9500 f shared:tstring.obj + 0002:002a550b __unwindfunclet$??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z$1 007e950b f shared:tstring.obj + 0002:002a5516 __ehhandler$??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z 007e9516 f shared:tstring.obj + 0002:002a5550 __unwindfunclet$??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z$0 007e9550 f shared:tstring.obj + 0002:002a5558 __unwindfunclet$??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z$1 007e9558 f shared:tstring.obj + 0002:002a5560 __ehhandler$??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 007e9560 f shared:tstring.obj + 0002:002a55a0 __unwindfunclet$??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z$0 007e95a0 f shared:tstring.obj + 0002:002a55a8 __unwindfunclet$??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z$1 007e95a8 f shared:tstring.obj + 0002:002a55b0 __ehhandler$??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 007e95b0 f shared:tstring.obj + 0002:002a55f0 __unwindfunclet$??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z$0 007e95f0 f shared:tstring.obj + 0002:002a55f8 __ehhandler$??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z 007e95f8 f shared:tstring.obj + 0002:002a5620 __unwindfunclet$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z$0 007e9620 f shared:tstring.obj + 0002:002a5628 __ehhandler$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 007e9628 f shared:tstring.obj + 0002:002a5660 __ehhandler$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXH@Z 007e9660 f shared:tstring.obj + 0002:002a5690 __unwindfunclet$?_string_format@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV12@PAD@Z$0 007e9690 f shared:tstring.obj + 0002:002a5698 __ehhandler$?_string_format@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV12@PAD@Z 007e9698 f shared:tstring.obj + 0002:002a56d0 __ehhandler$?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 007e96d0 f shared:tstring.obj + 0002:002a5700 __ehhandler$?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 007e9700 f shared:tstring.obj + 0002:002a5730 __unwindfunclet$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z$0 007e9730 f shared:tstring.obj + 0002:002a5738 __unwindfunclet$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z$1 007e9738 f shared:tstring.obj + 0002:002a5740 __unwindfunclet$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z$2 007e9740 f shared:tstring.obj + 0002:002a574b __unwindfunclet$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z$3 007e974b f shared:tstring.obj + 0002:002a5756 __ehhandler$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z 007e9756 f shared:tstring.obj + 0002:002a5790 __unwindfunclet$?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$2 007e9790 f shared:tstring.obj + 0002:002a579b __unwindfunclet$?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$4 007e979b f shared:tstring.obj + 0002:002a57a6 __ehhandler$?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 007e97a6 f shared:tstring.obj + 0002:002a57e0 __ehhandler$?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 007e97e0 f shared:tstring.obj + 0002:002a5810 __ehhandler$?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 007e9810 f shared:tstring.obj + 0002:002a5840 __unwindfunclet$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$0 007e9840 f shared:tstring.obj + 0002:002a584b __unwindfunclet$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$1 007e984b f shared:tstring.obj + 0002:002a5856 __unwindfunclet$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$4 007e9856 f shared:tstring.obj + 0002:002a5861 __unwindfunclet$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z$5 007e9861 f shared:tstring.obj + 0002:002a586c __ehhandler$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 007e986c f shared:tstring.obj + 0002:002a58a0 __unwindfunclet$?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ$0 007e98a0 f shared:tstring.obj + 0002:002a58a8 __unwindfunclet$?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ$1 007e98a8 f shared:tstring.obj + 0002:002a58b0 __ehhandler$?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ 007e98b0 f shared:tstring.obj + 0002:002a58f0 __ehhandler$??$?0AAIAAPAU_REGENE_EVENT@@$0A@@?$pair@IPAU_REGENE_EVENT@@@std@@QAE@AAIAAPAU_REGENE_EVENT@@@Z 007e98f0 f shared:SMDFile.obj + 0002:002a5920 __ehhandler$??$?0AAIAAPAU_WARP_INFO@@$0A@@?$pair@IPAU_WARP_INFO@@@std@@QAE@AAIAAPAU_WARP_INFO@@@Z 007e9920 f shared:SMDFile.obj + 0002:002a5950 __ehhandler$??$?0AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 007e9950 f shared:SMDFile.obj + 0002:002a5980 __ehhandler$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 007e9980 f shared:SMDFile.obj + 0002:002a59b0 __ehhandler$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 007e99b0 f shared:SMDFile.obj + 0002:002a59e0 __ehhandler$??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 007e99e0 f shared:SMDFile.obj + 0002:002a5a10 __unwindfunclet$??$?0ABQAU_WARP_INFO@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z$0 007e9a10 f shared:SMDFile.obj + 0002:002a5a18 __ehhandler$??$?0ABQAU_WARP_INFO@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z 007e9a18 f shared:SMDFile.obj + 0002:002a5a40 __ehhandler$??$?0IPAU_REGENE_EVENT@@$0A@@?$pair@$$CBIPAU_REGENE_EVENT@@@std@@QAE@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 007e9a40 f shared:SMDFile.obj + 0002:002a5a70 __ehhandler$??$?0IPAU_WARP_INFO@@$0A@@?$pair@$$CBIPAU_WARP_INFO@@@std@@QAE@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 007e9a70 f shared:SMDFile.obj + 0002:002a5aa0 __ehhandler$??$?0PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 007e9aa0 f shared:SMDFile.obj + 0002:002a5ad0 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 007e9ad0 f shared:SMDFile.obj + 0002:002a5b00 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 007e9b00 f shared:SMDFile.obj + 0002:002a5b30 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 007e9b30 f shared:SMDFile.obj + 0002:002a5b60 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 007e9b60 f shared:SMDFile.obj + 0002:002a5b90 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 007e9b90 f shared:SMDFile.obj + 0002:002a5bc0 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 007e9bc0 f shared:SMDFile.obj + 0002:002a5bf0 __unwindfunclet$??$?0U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z$0 007e9bf0 f shared:SMDFile.obj + 0002:002a5bf8 __ehhandler$??$?0U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 007e9bf8 f shared:SMDFile.obj + 0002:002a5c20 __unwindfunclet$??$?0U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z$0 007e9c20 f shared:SMDFile.obj + 0002:002a5c28 __ehhandler$??$?0U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 007e9c28 f shared:SMDFile.obj + 0002:002a5c50 __unwindfunclet$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z$0 007e9c50 f shared:SMDFile.obj + 0002:002a5c58 __ehhandler$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 007e9c58 f shared:SMDFile.obj + 0002:002a5c80 __ehhandler$??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@1@AB_N@Z 007e9c80 f shared:SMDFile.obj + 0002:002a5cb0 __ehhandler$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@1@AB_N@Z 007e9cb0 f shared:SMDFile.obj + 0002:002a5ce0 __ehhandler$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@1@AB_N@Z 007e9ce0 f shared:SMDFile.obj + 0002:002a5d10 __ehhandler$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@1@AB_N@Z 007e9d10 f shared:SMDFile.obj + 0002:002a5d40 __ehhandler$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 007e9d40 f shared:SMDFile.obj + 0002:002a5d70 __ehhandler$??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z 007e9d70 f shared:SMDFile.obj + 0002:002a5da0 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 007e9da0 f shared:SMDFile.obj + 0002:002a5dd0 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 007e9dd0 f shared:SMDFile.obj + 0002:002a5e00 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 007e9e00 f shared:SMDFile.obj + 0002:002a5e30 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@@Z 007e9e30 f shared:SMDFile.obj + 0002:002a5e60 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@@Z 007e9e60 f shared:SMDFile.obj + 0002:002a5e90 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@@Z 007e9e90 f shared:SMDFile.obj + 0002:002a5ec0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 007e9ec0 f shared:SMDFile.obj + 0002:002a5ef0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007e9ef0 f shared:SMDFile.obj + 0002:002a5f20 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 007e9f20 f shared:SMDFile.obj + 0002:002a5f50 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 007e9f50 f shared:SMDFile.obj + 0002:002a5f80 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 007e9f80 f shared:SMDFile.obj + 0002:002a5fb0 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 007e9fb0 f shared:SMDFile.obj + 0002:002a5fe0 __ehhandler$??$_Get_size_of_n@$0DA@@std@@YAII@Z 007e9fe0 f shared:SMDFile.obj + 0002:002a6010 __ehhandler$??$_Traits_compare@U?$char_traits@D@std@@@std@@YAHQBDI0I@Z 007ea010 f shared:SMDFile.obj + 0002:002a6040 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@ABV10@@Z 007ea040 f shared:SMDFile.obj + 0002:002a6070 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@ABV10@@Z 007ea070 f shared:SMDFile.obj + 0002:002a60a0 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@ABV10@@Z 007ea0a0 f shared:SMDFile.obj + 0002:002a60d0 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@ABV10@@Z 007ea0d0 f shared:SMDFile.obj + 0002:002a6100 __ehhandler$??$addressof@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 007ea100 f shared:SMDFile.obj + 0002:002a6130 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 007ea130 f shared:SMDFile.obj + 0002:002a6160 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 007ea160 f shared:SMDFile.obj + 0002:002a6190 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 007ea190 f shared:SMDFile.obj + 0002:002a61c0 __ehhandler$??$addressof@PAU_WARP_INFO@@@std@@YAPAPAU_WARP_INFO@@AAPAU1@@Z 007ea1c0 f shared:SMDFile.obj + 0002:002a61f0 __ehhandler$??$addressof@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@0@AAU10@@Z 007ea1f0 f shared:SMDFile.obj + 0002:002a6220 __ehhandler$??$addressof@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@YAPAU?$pair@$$CBIPAU_WARP_INFO@@@0@AAU10@@Z 007ea220 f shared:SMDFile.obj + 0002:002a6250 __ehhandler$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 007ea250 f shared:SMDFile.obj + 0002:002a6280 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@AAV10@@Z 007ea280 f shared:SMDFile.obj + 0002:002a62b0 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@AAV10@@Z 007ea2b0 f shared:SMDFile.obj + 0002:002a62e0 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 007ea2e0 f shared:SMDFile.obj + 0002:002a6310 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@AAV10@@Z 007ea310 f shared:SMDFile.obj + 0002:002a6340 __ehhandler$??$forward@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 007ea340 f shared:SMDFile.obj + 0002:002a6370 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 007ea370 f shared:SMDFile.obj + 0002:002a63a0 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 007ea3a0 f shared:SMDFile.obj + 0002:002a63d0 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 007ea3d0 f shared:SMDFile.obj + 0002:002a6400 __ehhandler$??$forward@AAPAU_REGENE_EVENT@@@std@@YAAAPAU_REGENE_EVENT@@AAPAU1@@Z 007ea400 f shared:SMDFile.obj + 0002:002a6430 __ehhandler$??$forward@AAPAU_WARP_INFO@@@std@@YAAAPAU_WARP_INFO@@AAPAU1@@Z 007ea430 f shared:SMDFile.obj + 0002:002a6460 __ehhandler$??$forward@AAPAVSMDFile@@@std@@YAAAPAVSMDFile@@AAPAV1@@Z 007ea460 f shared:SMDFile.obj + 0002:002a6490 __ehhandler$??$forward@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 007ea490 f shared:SMDFile.obj + 0002:002a64c0 __ehhandler$??$forward@ABQAU_WARP_INFO@@@std@@YAABQAU_WARP_INFO@@ABQAU1@@Z 007ea4c0 f shared:SMDFile.obj + 0002:002a64f0 __ehhandler$??$forward@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABU10@@Z 007ea4f0 f shared:SMDFile.obj + 0002:002a6520 __ehhandler$??$forward@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 007ea520 f shared:SMDFile.obj + 0002:002a6550 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 007ea550 f shared:SMDFile.obj + 0002:002a6580 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 007ea580 f shared:SMDFile.obj + 0002:002a65b0 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 007ea5b0 f shared:SMDFile.obj + 0002:002a65e0 __ehhandler$??$forward@PAU_REGENE_EVENT@@@std@@YA$$QAPAU_REGENE_EVENT@@AAPAU1@@Z 007ea5e0 f shared:SMDFile.obj + 0002:002a6610 __ehhandler$??$forward@PAU_WARP_INFO@@@std@@YA$$QAPAU_WARP_INFO@@AAPAU1@@Z 007ea610 f shared:SMDFile.obj + 0002:002a6640 __ehhandler$??$forward@PAVSMDFile@@@std@@YA$$QAPAVSMDFile@@AAPAV1@@Z 007ea640 f shared:SMDFile.obj + 0002:002a6670 __ehhandler$??$forward@U?$pair@IPAU_REGENE_EVENT@@@std@@@std@@YA$$QAU?$pair@IPAU_REGENE_EVENT@@@0@AAU10@@Z 007ea670 f shared:SMDFile.obj + 0002:002a66a0 __ehhandler$??$forward@U?$pair@IPAU_WARP_INFO@@@std@@@std@@YA$$QAU?$pair@IPAU_WARP_INFO@@@0@AAU10@@Z 007ea6a0 f shared:SMDFile.obj + 0002:002a66d0 __ehhandler$??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 007ea6d0 f shared:SMDFile.obj + 0002:002a6700 __ehhandler$??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 007ea700 f shared:SMDFile.obj + 0002:002a6730 __ehhandler$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@0@AAV10@@Z 007ea730 f shared:SMDFile.obj + 0002:002a6760 __ehhandler$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@0@AAV10@@Z 007ea760 f shared:SMDFile.obj + 0002:002a6790 __ehhandler$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@0@AAV10@@Z 007ea790 f shared:SMDFile.obj + 0002:002a67c0 __ehhandler$??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 007ea7c0 f shared:SMDFile.obj + 0002:002a67f0 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ$0 007ea7f0 f shared:SMDFile.obj + 0002:002a67f8 __ehhandler$??0?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 007ea7f8 f shared:SMDFile.obj + 0002:002a6820 __unwindfunclet$??0?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ$0 007ea820 f shared:SMDFile.obj + 0002:002a6828 __ehhandler$??0?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 007ea828 f shared:SMDFile.obj + 0002:002a6850 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z$0 007ea850 f shared:SMDFile.obj + 0002:002a6858 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z 007ea858 f shared:SMDFile.obj + 0002:002a6880 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z$0 007ea880 f shared:SMDFile.obj + 0002:002a6888 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 007ea888 f shared:SMDFile.obj + 0002:002a68b0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z$0 007ea8b0 f shared:SMDFile.obj + 0002:002a68b8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 007ea8b8 f shared:SMDFile.obj + 0002:002a68e0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z$0 007ea8e0 f shared:SMDFile.obj + 0002:002a68e8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 007ea8e8 f shared:SMDFile.obj + 0002:002a6910 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 007ea910 f shared:SMDFile.obj + 0002:002a6940 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@QAE@XZ 007ea940 f shared:SMDFile.obj + 0002:002a6970 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@QAE@XZ 007ea970 f shared:SMDFile.obj + 0002:002a69a0 __unwindfunclet$??0SMDFile@@QAE@XZ$0 007ea9a0 f shared:SMDFile.obj + 0002:002a69a8 __unwindfunclet$??0SMDFile@@QAE@XZ$1 007ea9a8 f shared:SMDFile.obj + 0002:002a69b3 __unwindfunclet$??0SMDFile@@QAE@XZ$2 007ea9b3 f shared:SMDFile.obj + 0002:002a69be __unwindfunclet$??0SMDFile@@QAE@XZ$3 007ea9be f shared:SMDFile.obj + 0002:002a69c9 __unwindfunclet$??0SMDFile@@QAE@XZ$4 007ea9c9 f shared:SMDFile.obj + 0002:002a69d7 __unwindfunclet$??0SMDFile@@QAE@XZ$5 007ea9d7 f shared:SMDFile.obj + 0002:002a69ec __ehhandler$??0SMDFile@@QAE@XZ 007ea9ec f shared:SMDFile.obj + 0002:002a6a30 __ehhandler$??1?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 007eaa30 f shared:SMDFile.obj + 0002:002a6a60 __ehhandler$??1?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 007eaa60 f shared:SMDFile.obj + 0002:002a6a90 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 007eaa90 f shared:SMDFile.obj + 0002:002a6ac0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eaac0 f shared:SMDFile.obj + 0002:002a6af0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eaaf0 f shared:SMDFile.obj + 0002:002a6b20 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eab20 f shared:SMDFile.obj + 0002:002a6b50 __ehhandler$??1?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 007eab50 f shared:SMDFile.obj + 0002:002a6b90 __ehhandler$??1?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 007eab90 f shared:SMDFile.obj + 0002:002a6bd0 __ehhandler$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE@XZ 007eabd0 f shared:SMDFile.obj + 0002:002a6c10 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 007eac10 f shared:SMDFile.obj + 0002:002a6c40 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eac40 f shared:SMDFile.obj + 0002:002a6c70 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eac70 f shared:SMDFile.obj + 0002:002a6ca0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eaca0 f shared:SMDFile.obj + 0002:002a6cd0 __ehhandler$??1SMDFile@@UAE@XZ 007eacd0 f shared:SMDFile.obj + 0002:002a6d00 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007ead00 f shared:SMDFile.obj + 0002:002a6d08 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007ead08 f shared:SMDFile.obj + 0002:002a6d40 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007ead40 f shared:SMDFile.obj + 0002:002a6d48 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007ead48 f shared:SMDFile.obj + 0002:002a6d80 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ$0 007ead80 f shared:SMDFile.obj + 0002:002a6d88 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ$1 007ead88 f shared:SMDFile.obj + 0002:002a6d90 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ$3 007ead90 f shared:SMDFile.obj + 0002:002a6d9b __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ 007ead9b f shared:SMDFile.obj + 0002:002a6de0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ$0 007eade0 f shared:SMDFile.obj + 0002:002a6de8 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ$1 007eade8 f shared:SMDFile.obj + 0002:002a6df0 __unwindfunclet$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ$3 007eadf0 f shared:SMDFile.obj + 0002:002a6dfb __ehhandler$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ 007eadfb f shared:SMDFile.obj + 0002:002a6e40 __unwindfunclet$?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z$0 007eae40 f shared:SMDFile.obj + 0002:002a6e48 __unwindfunclet$?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z$2 007eae48 f shared:SMDFile.obj + 0002:002a6e53 __ehhandler$?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z 007eae53 f shared:SMDFile.obj + 0002:002a6e90 __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$0 007eae90 f shared:SMDFile.obj + 0002:002a6e98 __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$1 007eae98 f shared:SMDFile.obj + 0002:002a6ea0 __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$2 007eaea0 f shared:SMDFile.obj + 0002:002a6eab __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$4 007eaeab f shared:SMDFile.obj + 0002:002a6eb3 __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$5 007eaeb3 f shared:SMDFile.obj + 0002:002a6ec8 __unwindfunclet$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$6 007eaec8 f shared:SMDFile.obj + 0002:002a6ed3 __ehhandler$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 007eaed3 f shared:SMDFile.obj + 0002:002a6f20 __unwindfunclet$?LoadWarpList@SMDFile@@QAEXPAU_iobuf@@@Z$0 007eaf20 f shared:SMDFile.obj + 0002:002a6f35 __ehhandler$?LoadWarpList@SMDFile@@QAEXPAU_iobuf@@@Z 007eaf35 f shared:SMDFile.obj + 0002:002a6f70 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE_NIPAU_REGENE_EVENT@@@Z$0 007eaf70 f shared:SMDFile.obj + 0002:002a6f78 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE_NIPAU_REGENE_EVENT@@@Z 007eaf78 f shared:SMDFile.obj + 0002:002a6fb0 __unwindfunclet$?PutData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE_NIPAU_WARP_INFO@@@Z$0 007eafb0 f shared:SMDFile.obj + 0002:002a6fb8 __ehhandler$?PutData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE_NIPAU_WARP_INFO@@@Z 007eafb8 f shared:SMDFile.obj + 0002:002a6ff0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007eaff0 f shared:SMDFile.obj + 0002:002a6ff8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007eaff8 f shared:SMDFile.obj + 0002:002a7030 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007eb030 f shared:SMDFile.obj + 0002:002a7038 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007eb038 f shared:SMDFile.obj + 0002:002a7070 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007eb070 f shared:SMDFile.obj + 0002:002a7078 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ 007eb078 f shared:SMDFile.obj + 0002:002a70b0 __ehhandler$?_Extract@?$_In_place_key_extract_set@PAU_WARP_INFO@@PAU1@@std@@SAABQAU_WARP_INFO@@ABQAU3@@Z 007eb0b0 f shared:SMDFile.obj + 0002:002a70e0 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 007eb0e0 f shared:SMDFile.obj + 0002:002a7110 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 007eb110 f shared:SMDFile.obj + 0002:002a7140 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@PAU_WARP_INFO@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAU_WARP_INFO@@@2@XZ 007eb140 f shared:SMDFile.obj + 0002:002a7170 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007eb170 f shared:SMDFile.obj + 0002:002a71a0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 007eb1a0 f shared:SMDFile.obj + 0002:002a71d0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 007eb1d0 f shared:SMDFile.obj + 0002:002a7200 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 007eb200 f shared:SMDFile.obj + 0002:002a7230 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 007eb230 f shared:SMDFile.obj + 0002:002a7260 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 007eb260 f shared:SMDFile.obj + 0002:002a7290 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 007eb290 f shared:SMDFile.obj + 0002:002a72c0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 007eb2c0 f shared:SMDFile.obj + 0002:002a72f0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 007eb2f0 f shared:SMDFile.obj + 0002:002a7320 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 007eb320 f shared:SMDFile.obj + 0002:002a7350 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 007eb350 f shared:SMDFile.obj + 0002:002a7380 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 007eb380 f shared:SMDFile.obj + 0002:002a73b0 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 007eb3b0 f shared:SMDFile.obj + 0002:002a73e0 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 007eb3e0 f shared:SMDFile.obj + 0002:002a7410 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 007eb410 f shared:SMDFile.obj + 0002:002a7440 __ehhandler$?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 007eb440 f shared:SMDFile.obj + 0002:002a7470 __ehhandler$?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 007eb470 f shared:SMDFile.obj + 0002:002a74a0 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 007eb4a0 f shared:SMDFile.obj + 0002:002a74d0 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 007eb4d0 f shared:SMDFile.obj + 0002:002a7500 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 007eb500 f shared:SMDFile.obj + 0002:002a7530 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 007eb530 f shared:SMDFile.obj + 0002:002a7560 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 007eb560 f shared:SMDFile.obj + 0002:002a7590 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 007eb590 f shared:SMDFile.obj + 0002:002a75c0 __ehhandler$?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 007eb5c0 f shared:SMDFile.obj + 0002:002a75f0 __ehhandler$?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 007eb5f0 f shared:SMDFile.obj + 0002:002a7620 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 007eb620 f shared:SMDFile.obj + 0002:002a7650 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 007eb650 f shared:SMDFile.obj + 0002:002a7680 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007eb680 f shared:SMDFile.obj + 0002:002a76b0 __ehhandler$?_Getcomp@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABU?$less@PAU_WARP_INFO@@@2@XZ 007eb6b0 f shared:SMDFile.obj + 0002:002a76e0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@QAU32@@Z 007eb6e0 f shared:SMDFile.obj + 0002:002a7710 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 007eb710 f shared:SMDFile.obj + 0002:002a7740 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@QAU32@@Z 007eb740 f shared:SMDFile.obj + 0002:002a7770 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@QAU32@@Z 007eb770 f shared:SMDFile.obj + 0002:002a77a0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@XZ 007eb7a0 f shared:SMDFile.obj + 0002:002a77d0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@XZ 007eb7d0 f shared:SMDFile.obj + 0002:002a7800 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@XZ 007eb800 f shared:SMDFile.obj + 0002:002a7830 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@XZ 007eb830 f shared:SMDFile.obj + 0002:002a7860 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 007eb860 f shared:SMDFile.obj + 0002:002a7890 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 007eb890 f shared:SMDFile.obj + 0002:002a78c0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007eb8c0 f shared:SMDFile.obj + 0002:002a78f0 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007eb8f0 f shared:SMDFile.obj + 0002:002a7920 __ehhandler$?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z 007eb920 f shared:SMDFile.obj + 0002:002a7950 __ehhandler$?empty@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 007eb950 f shared:SMDFile.obj + 0002:002a7980 __ehhandler$?empty@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 007eb980 f shared:SMDFile.obj + 0002:002a79b0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 007eb9b0 f shared:SMDFile.obj + 0002:002a79e0 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 007eb9e0 f shared:SMDFile.obj + 0002:002a7a10 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@2@XZ 007eba10 f shared:SMDFile.obj + 0002:002a7a40 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@@Z 007eba40 f shared:SMDFile.obj + 0002:002a7a70 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@@Z 007eba70 f shared:SMDFile.obj + 0002:002a7aa0 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@@Z 007ebaa0 f shared:SMDFile.obj + 0002:002a7ad0 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@@Z 007ebad0 f shared:SMDFile.obj + 0002:002a7b00 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ebb00 f shared:SMDFile.obj + 0002:002a7b30 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ebb30 f shared:SMDFile.obj + 0002:002a7b60 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QBEIXZ 007ebb60 f shared:SMDFile.obj + 0002:002a7b90 __ehhandler$?max_size@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@QBEIXZ 007ebb90 f shared:SMDFile.obj + 0002:002a7bc0 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@2@AAU32@@Z 007ebbc0 f shared:SMDFile.obj + 0002:002a7bf0 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@SAPAU?$pair@$$CBIPAU_WARP_INFO@@@2@AAU32@@Z 007ebbf0 f shared:SMDFile.obj + 0002:002a7c20 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@AAU32@@Z 007ebc20 f shared:SMDFile.obj + 0002:002a7c50 __ehhandler$?size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ebc50 f shared:SMDFile.obj + 0002:002a7c80 __ehhandler$?size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ebc80 f shared:SMDFile.obj + 0002:002a7cb0 __ehhandler$??$?0AAP6GIPAX@ZAAPAX$0A@@?$tuple@P6GIPAX@ZPAX@std@@QAE@AAP6GIPAX@ZAAPAX@Z 007ebcb0 f shared:Thread.obj + 0002:002a7ce0 __unwindfunclet$??$?0AAP6GIPAX@ZAAPAXX@thread@std@@QAE@AAP6GIPAX@ZAAPAX@Z$0 007ebce0 f shared:Thread.obj + 0002:002a7ce8 __ehhandler$??$?0AAP6GIPAX@ZAAPAXX@thread@std@@QAE@AAP6GIPAX@ZAAPAX@Z 007ebce8 f shared:Thread.obj + 0002:002a7d20 __ehhandler$??$?0U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@$0A@@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@PAV?$tuple@P6GIPAX@ZPAX@1@@Z 007ebd20 f shared:Thread.obj + 0002:002a7d50 __ehhandler$??$_Invoke@V?$tuple@P6GIPAX@ZPAX@std@@$0A@$00@thread@std@@CGIPAX@Z 007ebd50 f shared:Thread.obj + 0002:002a7d90 __ehhandler$??$forward@AAP6GIPAX@Z@std@@YAAAP6GIPAX@ZAAP6GI0@Z@Z 007ebd90 f shared:Thread.obj + 0002:002a7dc0 __ehhandler$??$forward@AAPAV?$tuple@P6GIPAX@ZPAX@std@@@std@@YAAAPAV?$tuple@P6GIPAX@ZPAX@0@AAPAV10@@Z 007ebdc0 f shared:Thread.obj + 0002:002a7df0 __ehhandler$??$forward@AAPAX@std@@YAAAPAXAAPAX@Z 007ebdf0 f shared:Thread.obj + 0002:002a7e20 __ehhandler$??$forward@P6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 007ebe20 f shared:Thread.obj + 0002:002a7e50 __ehhandler$??$forward@PAX@std@@YA$$QAPAXAAPAX@Z 007ebe50 f shared:Thread.obj + 0002:002a7e80 __ehhandler$??$get@$00P6GIPAX@ZPAX@std@@YAAAPAXAAV?$tuple@P6GIPAX@ZPAX@0@@Z 007ebe80 f shared:Thread.obj + 0002:002a7eb0 __ehhandler$??$get@$0A@P6GIPAX@ZPAX@std@@YAAAP6GIPAX@ZAAV?$tuple@P6GIPAX@ZPAX@0@@Z 007ebeb0 f shared:Thread.obj + 0002:002a7ee0 __ehhandler$??$move@AAP6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 007ebee0 f shared:Thread.obj + 0002:002a7f10 __ehhandler$??$move@AAPAX@std@@YA$$QAPAXAAPAX@Z 007ebf10 f shared:Thread.obj + 0002:002a7f40 __unwindfunclet$??0Thread@@QAE@P6GIPAX@Z0@Z$0 007ebf40 f shared:Thread.obj + 0002:002a7f4b __ehhandler$??0Thread@@QAE@P6GIPAX@Z0@Z 007ebf4b f shared:Thread.obj + 0002:002a7f80 __ehhandler$??0thread@std@@QAE@XZ 007ebf80 f shared:Thread.obj + 0002:002a7fb0 __ehhandler$??1?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@XZ 007ebfb0 f shared:Thread.obj + 0002:002a7fe0 __ehhandler$??4thread@std@@QAEAAV01@$$QAV01@@Z 007ebfe0 f shared:Thread.obj + 0002:002a8010 __ehhandler$??R?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@QBEXPAV?$tuple@P6GIPAX@ZPAX@1@@Z 007ec010 f shared:Thread.obj + 0002:002a8040 __ehhandler$?_Get_first@?$_Compressed_pair@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@PAV?$tuple@P6GIPAX@ZPAX@2@$00@std@@QAEAAU?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@XZ 007ec040 f shared:Thread.obj + 0002:002a8070 __ehhandler$?get@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QBEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 007ec070 f shared:Thread.obj + 0002:002a80a0 __ehhandler$?release@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 007ec0a0 f shared:Thread.obj + 0002:002a80d0 __ehhandler$?start@Thread@@QAE_NP6GIPAX@Z0@Z 007ec0d0 f shared:Thread.obj + 0002:002a8100 __ehhandler$?waitForExit@Thread@@QAE_NXZ 007ec100 f shared:Thread.obj + 0002:002a8130 __ehhandler$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 007ec130 f shared:OdbcCommand.obj + 0002:002a8160 __ehhandler$??$?0IPAVOdbcParameter@@$0A@@?$pair@$$CBIPAVOdbcParameter@@@std@@QAE@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 007ec160 f shared:OdbcCommand.obj + 0002:002a8190 __ehhandler$??$?0IPAVOdbcParameter@@$0A@@?$pair@IPAVOdbcParameter@@@std@@QAE@$$QAI$$QAPAVOdbcParameter@@@Z 007ec190 f shared:OdbcCommand.obj + 0002:002a81c0 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 007ec1c0 f shared:OdbcCommand.obj + 0002:002a81f0 __ehhandler$??$?0U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 007ec1f0 f shared:OdbcCommand.obj + 0002:002a8220 __ehhandler$??$?0U?$default_delete@D@std@@$0A@@?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@PAD@Z 007ec220 f shared:OdbcCommand.obj + 0002:002a8250 __unwindfunclet$??$?0U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z$0 007ec250 f shared:OdbcCommand.obj + 0002:002a8258 __ehhandler$??$?0U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 007ec258 f shared:OdbcCommand.obj + 0002:002a8280 __ehhandler$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@1@AB_N@Z 007ec280 f shared:OdbcCommand.obj + 0002:002a82b0 __unwindfunclet$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z$0 007ec2b0 f shared:OdbcCommand.obj + 0002:002a82b8 __ehhandler$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z 007ec2b8 f shared:OdbcCommand.obj + 0002:002a82f0 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 007ec2f0 f shared:OdbcCommand.obj + 0002:002a8320 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@@Z 007ec320 f shared:OdbcCommand.obj + 0002:002a8350 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 007ec350 f shared:OdbcCommand.obj + 0002:002a8380 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 007ec380 f shared:OdbcCommand.obj + 0002:002a83b0 __ehhandler$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 007ec3b0 f shared:OdbcCommand.obj + 0002:002a83e0 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@ABV10@@Z 007ec3e0 f shared:OdbcCommand.obj + 0002:002a8410 __ehhandler$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 007ec410 f shared:OdbcCommand.obj + 0002:002a8440 __ehhandler$??$addressof@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@YAPAU?$pair@$$CBIPAVOdbcParameter@@@0@AAU10@@Z 007ec440 f shared:OdbcCommand.obj + 0002:002a8470 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@AAV10@@Z 007ec470 f shared:OdbcCommand.obj + 0002:002a84a0 __ehhandler$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 007ec4a0 f shared:OdbcCommand.obj + 0002:002a84d0 __ehhandler$??$forward@AAPAD@std@@YAAAPADAAPAD@Z 007ec4d0 f shared:OdbcCommand.obj + 0002:002a8500 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 007ec500 f shared:OdbcCommand.obj + 0002:002a8530 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 007ec530 f shared:OdbcCommand.obj + 0002:002a8560 __ehhandler$??$forward@PAVOdbcParameter@@@std@@YA$$QAPAVOdbcParameter@@AAPAV1@@Z 007ec560 f shared:OdbcCommand.obj + 0002:002a8590 __ehhandler$??$forward@U?$pair@IPAVOdbcParameter@@@std@@@std@@YA$$QAU?$pair@IPAVOdbcParameter@@@0@AAU10@@Z 007ec590 f shared:OdbcCommand.obj + 0002:002a85c0 __ehhandler$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@0@AAV10@@Z 007ec5c0 f shared:OdbcCommand.obj + 0002:002a85f0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z$0 007ec5f0 f shared:OdbcCommand.obj + 0002:002a85f8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 007ec5f8 f shared:OdbcCommand.obj + 0002:002a8620 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@QAE@XZ 007ec620 f shared:OdbcCommand.obj + 0002:002a8650 __unwindfunclet$??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z$0 007ec650 f shared:OdbcCommand.obj + 0002:002a865b __unwindfunclet$??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z$1 007ec65b f shared:OdbcCommand.obj + 0002:002a8666 __ehhandler$??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z 007ec666 f shared:OdbcCommand.obj + 0002:002a86a0 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007ec6a0 f shared:OdbcCommand.obj + 0002:002a86d0 __ehhandler$??1?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE@XZ 007ec6d0 f shared:OdbcCommand.obj + 0002:002a8710 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 007ec710 f shared:OdbcCommand.obj + 0002:002a8740 __ehhandler$??1?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@XZ 007ec740 f shared:OdbcCommand.obj + 0002:002a8770 __ehhandler$??1OdbcCommand@@QAE@XZ 007ec770 f shared:OdbcCommand.obj + 0002:002a87a0 __ehhandler$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 007ec7a0 f shared:OdbcCommand.obj + 0002:002a87d0 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007ec7d0 f shared:OdbcCommand.obj + 0002:002a87d8 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007ec7d8 f shared:OdbcCommand.obj + 0002:002a8810 __ehhandler$??R?$default_delete@D@std@@QBEXPAD@Z 007ec810 f shared:OdbcCommand.obj + 0002:002a8840 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPACJ@Z$0 007ec840 f shared:OdbcCommand.obj + 0002:002a8852 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPACJ@Z 007ec852 f shared:OdbcCommand.obj + 0002:002a8880 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAEJ@Z$0 007ec880 f shared:OdbcCommand.obj + 0002:002a8892 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAEJ@Z 007ec892 f shared:OdbcCommand.obj + 0002:002a88c0 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAFJ@Z$0 007ec8c0 f shared:OdbcCommand.obj + 0002:002a88d2 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAFJ@Z 007ec8d2 f shared:OdbcCommand.obj + 0002:002a8900 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAGJ@Z$0 007ec900 f shared:OdbcCommand.obj + 0002:002a8912 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAGJ@Z 007ec912 f shared:OdbcCommand.obj + 0002:002a8940 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAHJ@Z$0 007ec940 f shared:OdbcCommand.obj + 0002:002a8952 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAHJ@Z 007ec952 f shared:OdbcCommand.obj + 0002:002a8980 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAIJ@Z$0 007ec980 f shared:OdbcCommand.obj + 0002:002a8992 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAIJ@Z 007ec992 f shared:OdbcCommand.obj + 0002:002a89c0 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPAMJ@Z$0 007ec9c0 f shared:OdbcCommand.obj + 0002:002a89d2 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPAMJ@Z 007ec9d2 f shared:OdbcCommand.obj + 0002:002a8a00 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPANJ@Z$0 007eca00 f shared:OdbcCommand.obj + 0002:002a8a12 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPANJ@Z 007eca12 f shared:OdbcCommand.obj + 0002:002a8a40 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPA_JJ@Z$0 007eca40 f shared:OdbcCommand.obj + 0002:002a8a52 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPA_JJ@Z 007eca52 f shared:OdbcCommand.obj + 0002:002a8a80 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPA_KJ@Z$0 007eca80 f shared:OdbcCommand.obj + 0002:002a8a92 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPA_KJ@Z 007eca92 f shared:OdbcCommand.obj + 0002:002a8ac0 __unwindfunclet$?AddParameter@OdbcCommand@@QAEXFPBDJF@Z$0 007ecac0 f shared:OdbcCommand.obj + 0002:002a8ad2 __ehhandler$?AddParameter@OdbcCommand@@QAEXFPBDJF@Z 007ecad2 f shared:OdbcCommand.obj + 0002:002a8b00 __unwindfunclet$?BindParameters@OdbcCommand@@AAE_NXZ$0 007ecb00 f shared:OdbcCommand.obj + 0002:002a8b08 __unwindfunclet$?BindParameters@OdbcCommand@@AAE_NXZ$2 007ecb08 f shared:OdbcCommand.obj + 0002:002a8b13 __ehhandler$?BindParameters@OdbcCommand@@AAE_NXZ 007ecb13 f shared:OdbcCommand.obj + 0002:002a8b50 __unwindfunclet$?ClearParameters@OdbcCommand@@AAEXXZ$0 007ecb50 f shared:OdbcCommand.obj + 0002:002a8b58 __unwindfunclet$?ClearParameters@OdbcCommand@@AAEXXZ$2 007ecb58 f shared:OdbcCommand.obj + 0002:002a8b63 __ehhandler$?ClearParameters@OdbcCommand@@AAEXXZ 007ecb63 f shared:OdbcCommand.obj + 0002:002a8ba0 __unwindfunclet$?Execute@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$0 007ecba0 f shared:OdbcCommand.obj + 0002:002a8bab __ehhandler$?Execute@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 007ecbab f shared:OdbcCommand.obj + 0002:002a8be0 __unwindfunclet$?FetchString@OdbcCommand@@QAE_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$0 007ecbe0 f shared:OdbcCommand.obj + 0002:002a8beb __ehhandler$?FetchString@OdbcCommand@@QAE_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 007ecbeb f shared:OdbcCommand.obj + 0002:002a8c20 __unwindfunclet$?Prepare@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$0 007ecc20 f shared:OdbcCommand.obj + 0002:002a8c2b __ehhandler$?Prepare@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 007ecc2b f shared:OdbcCommand.obj + 0002:002a8c60 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ$0 007ecc60 f shared:OdbcCommand.obj + 0002:002a8c68 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ 007ecc68 f shared:OdbcCommand.obj + 0002:002a8ca0 __ehhandler$?_Get_first@?$_Compressed_pair@U?$default_delete@D@std@@PAD$00@std@@QAEAAU?$default_delete@D@2@XZ 007ecca0 f shared:OdbcCommand.obj + 0002:002a8cd0 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 007eccd0 f shared:OdbcCommand.obj + 0002:002a8d00 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 007ecd00 f shared:OdbcCommand.obj + 0002:002a8d30 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 007ecd30 f shared:OdbcCommand.obj + 0002:002a8d60 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 007ecd60 f shared:OdbcCommand.obj + 0002:002a8d90 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 007ecd90 f shared:OdbcCommand.obj + 0002:002a8dc0 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 007ecdc0 f shared:OdbcCommand.obj + 0002:002a8df0 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 007ecdf0 f shared:OdbcCommand.obj + 0002:002a8e20 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 007ece20 f shared:OdbcCommand.obj + 0002:002a8e50 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@QAU32@@Z 007ece50 f shared:OdbcCommand.obj + 0002:002a8e80 __ehhandler$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 007ece80 f shared:OdbcCommand.obj + 0002:002a8eb0 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@XZ 007eceb0 f shared:OdbcCommand.obj + 0002:002a8ee0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 007ecee0 f shared:OdbcCommand.obj + 0002:002a8f10 __ehhandler$?clear@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAEXXZ 007ecf10 f shared:OdbcCommand.obj + 0002:002a8f40 __ehhandler$?empty@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 007ecf40 f shared:OdbcCommand.obj + 0002:002a8f70 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 007ecf70 f shared:OdbcCommand.obj + 0002:002a8fa0 __ehhandler$?get@?$unique_ptr@DU?$default_delete@D@std@@@std@@QBEPADXZ 007ecfa0 f shared:OdbcCommand.obj + 0002:002a8fd0 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@@Z 007ecfd0 f shared:OdbcCommand.obj + 0002:002a9000 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ed000 f shared:OdbcCommand.obj + 0002:002a9030 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@SAPAU?$pair@$$CBIPAVOdbcParameter@@@2@AAU32@@Z 007ed030 f shared:OdbcCommand.obj + 0002:002a9060 __ehhandler$?size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 007ed060 f shared:OdbcCommand.obj + 0002:002a9090 __ehhandler$??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@AAPAU01@$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@PAU12@@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@0@Z 007ed090 f shared:OdbcConnection.obj + 0002:002a90c0 __ehhandler$??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 007ed0c0 f shared:OdbcConnection.obj + 0002:002a90f0 __unwindfunclet$??$?0ABQAVOdbcCommand@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z$0 007ed0f0 f shared:OdbcConnection.obj + 0002:002a90f8 __ehhandler$??$?0ABQAVOdbcCommand@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z 007ed0f8 f shared:OdbcConnection.obj + 0002:002a9120 __ehhandler$??$?0PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 007ed120 f shared:OdbcConnection.obj + 0002:002a9150 __ehhandler$??$?0PAUOdbcError@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAUOdbcError@@@1@@Z 007ed150 f shared:OdbcConnection.obj + 0002:002a9180 __ehhandler$??$?0U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 007ed180 f shared:OdbcConnection.obj + 0002:002a91b0 __ehhandler$??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@1@AB_N@Z 007ed1b0 f shared:OdbcConnection.obj + 0002:002a91e0 __unwindfunclet$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z$0 007ed1e0 f shared:OdbcConnection.obj + 0002:002a91e8 __ehhandler$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z 007ed1e8 f shared:OdbcConnection.obj + 0002:002a9220 __ehhandler$??$_Destroy_range@V?$allocator@PAUOdbcError@@@std@@@std@@YAXPAPAUOdbcError@@QAPAU1@AAV?$allocator@PAUOdbcError@@@0@@Z 007ed220 f shared:OdbcConnection.obj + 0002:002a9250 __ehhandler$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z 007ed250 f shared:OdbcConnection.obj + 0002:002a9280 __ehhandler$??$_Erase_head@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 007ed280 f shared:OdbcConnection.obj + 0002:002a92b0 __ehhandler$??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@@Z 007ed2b0 f shared:OdbcConnection.obj + 0002:002a92e0 __ehhandler$??$_Freenode0@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 007ed2e0 f shared:OdbcConnection.obj + 0002:002a9310 __ehhandler$??$_Freenode@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 007ed310 f shared:OdbcConnection.obj + 0002:002a9340 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@ABV10@@Z 007ed340 f shared:OdbcConnection.obj + 0002:002a9370 __ehhandler$??$addressof@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 007ed370 f shared:OdbcConnection.obj + 0002:002a93a0 __ehhandler$??$addressof@PAVOdbcCommand@@@std@@YAPAPAVOdbcCommand@@AAPAV1@@Z 007ed3a0 f shared:OdbcConnection.obj + 0002:002a93d0 __ehhandler$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@AAV10@@Z 007ed3d0 f shared:OdbcConnection.obj + 0002:002a9400 __ehhandler$??$forward@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 007ed400 f shared:OdbcConnection.obj + 0002:002a9430 __ehhandler$??$forward@ABQAUOdbcError@@@std@@YAABQAUOdbcError@@ABQAU1@@Z 007ed430 f shared:OdbcConnection.obj + 0002:002a9460 __ehhandler$??$forward@ABQAVOdbcCommand@@@std@@YAABQAVOdbcCommand@@ABQAV1@@Z 007ed460 f shared:OdbcConnection.obj + 0002:002a9490 __ehhandler$??$forward@ABU?$less@PAVOdbcCommand@@@std@@@std@@YAABU?$less@PAVOdbcCommand@@@0@ABU10@@Z 007ed490 f shared:OdbcConnection.obj + 0002:002a94c0 __ehhandler$??$forward@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 007ed4c0 f shared:OdbcConnection.obj + 0002:002a94f0 __ehhandler$??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@0@AAV10@@Z 007ed4f0 f shared:OdbcConnection.obj + 0002:002a9520 __ehhandler$??$move@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 007ed520 f shared:OdbcConnection.obj + 0002:002a9550 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z$0 007ed550 f shared:OdbcConnection.obj + 0002:002a9558 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 007ed558 f shared:OdbcConnection.obj + 0002:002a9580 __ehhandler$??0?$allocator@PAUOdbcError@@@std@@QAE@XZ 007ed580 f shared:OdbcConnection.obj + 0002:002a95b0 __ehhandler$??0?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@QAE@XZ 007ed5b0 f shared:OdbcConnection.obj + 0002:002a95e0 __ehhandler$??0?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 007ed5e0 f shared:OdbcConnection.obj + 0002:002a9610 __unwindfunclet$??0OdbcConnection@@QAE@XZ$0 007ed610 f shared:OdbcConnection.obj + 0002:002a9618 __unwindfunclet$??0OdbcConnection@@QAE@XZ$1 007ed618 f shared:OdbcConnection.obj + 0002:002a9623 __unwindfunclet$??0OdbcConnection@@QAE@XZ$2 007ed623 f shared:OdbcConnection.obj + 0002:002a962e __unwindfunclet$??0OdbcConnection@@QAE@XZ$3 007ed62e f shared:OdbcConnection.obj + 0002:002a9640 __unwindfunclet$??0OdbcConnection@@QAE@XZ$4 007ed640 f shared:OdbcConnection.obj + 0002:002a964b __ehhandler$??0OdbcConnection@@QAE@XZ 007ed64b f shared:OdbcConnection.obj + 0002:002a9680 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 007ed680 f shared:OdbcConnection.obj + 0002:002a96b0 __ehhandler$??1?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE@XZ 007ed6b0 f shared:OdbcConnection.obj + 0002:002a96f0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 007ed6f0 f shared:OdbcConnection.obj + 0002:002a9720 __ehhandler$??1?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 007ed720 f shared:OdbcConnection.obj + 0002:002a9760 __ehhandler$??1OdbcConnection@@QAE@XZ 007ed760 f shared:OdbcConnection.obj + 0002:002a9790 __unwindfunclet$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007ed790 f shared:OdbcConnection.obj + 0002:002a9798 __ehhandler$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE?AV01@H@Z 007ed798 f shared:OdbcConnection.obj + 0002:002a97d0 __unwindfunclet$?AddCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z$0 007ed7d0 f shared:OdbcConnection.obj + 0002:002a97d8 __ehhandler$?AddCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 007ed7d8 f shared:OdbcConnection.obj + 0002:002a9810 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$4 007ed810 f shared:OdbcConnection.obj + 0002:002a9818 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$5 007ed818 f shared:OdbcConnection.obj + 0002:002a9823 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$6 007ed823 f shared:OdbcConnection.obj + 0002:002a982b __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$10 007ed82b f shared:OdbcConnection.obj + 0002:002a9836 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$11 007ed836 f shared:OdbcConnection.obj + 0002:002a9841 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$12 007ed841 f shared:OdbcConnection.obj + 0002:002a984c __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$13 007ed84c f shared:OdbcConnection.obj + 0002:002a9857 __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$15 007ed857 f shared:OdbcConnection.obj + 0002:002a985f __unwindfunclet$?Connect@OdbcConnection@@QAE_NXZ$17 007ed85f f shared:OdbcConnection.obj + 0002:002a986a __ehhandler$?Connect@OdbcConnection@@QAE_NXZ 007ed86a f shared:OdbcConnection.obj + 0002:002a98c0 __unwindfunclet$?CreateCommand@OdbcConnection@@QAEPAVOdbcCommand@@XZ$0 007ed8c0 f shared:OdbcConnection.obj + 0002:002a98d2 __ehhandler$?CreateCommand@OdbcConnection@@QAEPAVOdbcCommand@@XZ 007ed8d2 f shared:OdbcConnection.obj + 0002:002a9900 __unwindfunclet$?Disconnect@OdbcConnection@@QAEXXZ$0 007ed900 f shared:OdbcConnection.obj + 0002:002a9908 __unwindfunclet$?Disconnect@OdbcConnection@@QAEXXZ$1 007ed908 f shared:OdbcConnection.obj + 0002:002a9910 __unwindfunclet$?Disconnect@OdbcConnection@@QAEXXZ$3 007ed910 f shared:OdbcConnection.obj + 0002:002a991b __ehhandler$?Disconnect@OdbcConnection@@QAEXXZ 007ed91b f shared:OdbcConnection.obj + 0002:002a9960 __unwindfunclet$?GetError@OdbcConnection@@QAEPAUOdbcError@@XZ$0 007ed960 f shared:OdbcConnection.obj + 0002:002a9968 __ehhandler$?GetError@OdbcConnection@@QAEPAUOdbcError@@XZ 007ed968 f shared:OdbcConnection.obj + 0002:002a99a0 __unwindfunclet$?GetSQLError@OdbcConnection@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAX@Z$0 007ed9a0 f shared:OdbcConnection.obj + 0002:002a99a8 __ehhandler$?GetSQLError@OdbcConnection@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAX@Z 007ed9a8 f shared:OdbcConnection.obj + 0002:002a99e0 __unwindfunclet$?RemoveCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z$0 007ed9e0 f shared:OdbcConnection.obj + 0002:002a99e8 __ehhandler$?RemoveCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 007ed9e8 f shared:OdbcConnection.obj + 0002:002a9a20 __unwindfunclet$?ReportSQLError@OdbcConnection@@AAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAXPBD1ZZ$0 007eda20 f shared:OdbcConnection.obj + 0002:002a9a28 __ehhandler$?ReportSQLError@OdbcConnection@@AAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAXPBD1ZZ 007eda28 f shared:OdbcConnection.obj + 0002:002a9a60 __unwindfunclet$?ResetErrors@OdbcConnection@@QAEXXZ$0 007eda60 f shared:OdbcConnection.obj + 0002:002a9a68 __ehhandler$?ResetErrors@OdbcConnection@@QAEXXZ 007eda68 f shared:OdbcConnection.obj + 0002:002a9aa0 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ$0 007edaa0 f shared:OdbcConnection.obj + 0002:002a9aa8 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ 007edaa8 f shared:OdbcConnection.obj + 0002:002a9ae0 __ehhandler$?_Extract@?$_In_place_key_extract_set@PAVOdbcCommand@@PAV1@@std@@SAABQAVOdbcCommand@@ABQAV3@@Z 007edae0 f shared:OdbcConnection.obj + 0002:002a9b10 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@PAVOdbcCommand@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAVOdbcCommand@@@2@XZ 007edb10 f shared:OdbcConnection.obj + 0002:002a9b40 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QAEAAV?$allocator@PAUOdbcError@@@2@XZ 007edb40 f shared:OdbcConnection.obj + 0002:002a9b70 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QBEABV?$allocator@PAUOdbcError@@@2@XZ 007edb70 f shared:OdbcConnection.obj + 0002:002a9ba0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 007edba0 f shared:OdbcConnection.obj + 0002:002a9bd0 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 007edbd0 f shared:OdbcConnection.obj + 0002:002a9c00 __ehhandler$?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 007edc00 f shared:OdbcConnection.obj + 0002:002a9c30 __ehhandler$?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 007edc30 f shared:OdbcConnection.obj + 0002:002a9c60 __ehhandler$?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 007edc60 f shared:OdbcConnection.obj + 0002:002a9c90 __ehhandler$?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 007edc90 f shared:OdbcConnection.obj + 0002:002a9cc0 __ehhandler$?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEAAV?$allocator@PAUOdbcError@@@2@XZ 007edcc0 f shared:OdbcConnection.obj + 0002:002a9cf0 __ehhandler$?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@ABEABV?$allocator@PAUOdbcError@@@2@XZ 007edcf0 f shared:OdbcConnection.obj + 0002:002a9d20 __ehhandler$?_Getcomp@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABU?$less@PAVOdbcCommand@@@2@XZ 007edd20 f shared:OdbcConnection.obj + 0002:002a9d50 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@QAU32@@Z 007edd50 f shared:OdbcConnection.obj + 0002:002a9d80 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@XZ 007edd80 f shared:OdbcConnection.obj + 0002:002a9db0 __ehhandler$?_Tidy@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXXZ 007eddb0 f shared:OdbcConnection.obj + 0002:002a9de0 __ehhandler$?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@XZ 007edde0 f shared:OdbcConnection.obj + 0002:002a9e10 __ehhandler$?begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 007ede10 f shared:OdbcConnection.obj + 0002:002a9e40 __ehhandler$?capacity@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 007ede40 f shared:OdbcConnection.obj + 0002:002a9e70 __ehhandler$?clear@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAEXXZ 007ede70 f shared:OdbcConnection.obj + 0002:002a9ea0 __ehhandler$?empty@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBE_NXZ 007edea0 f shared:OdbcConnection.obj + 0002:002a9ed0 __ehhandler$?end@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 007eded0 f shared:OdbcConnection.obj + 0002:002a9f00 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@PAUOdbcError@@@std@@@std@@SAIABV?$allocator@PAUOdbcError@@@2@@Z 007edf00 f shared:OdbcConnection.obj + 0002:002a9f30 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@@Z 007edf30 f shared:OdbcConnection.obj + 0002:002a9f60 __ehhandler$?max_size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 007edf60 f shared:OdbcConnection.obj + 0002:002a9f90 __ehhandler$?max_size@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 007edf90 f shared:OdbcConnection.obj + 0002:002a9fc0 __ehhandler$?size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 007edfc0 f shared:OdbcConnection.obj + 0002:002a9ff0 __ehhandler$??1OdbcRecordset@@UAE@XZ 007edff0 f shared:OdbcRecordset.obj + 0002:002aa020 __unwindfunclet$?Read@OdbcRecordset@@QAEPAD_N@Z$0 007ee020 f shared:OdbcRecordset.obj + 0002:002aa028 __unwindfunclet$?Read@OdbcRecordset@@QAEPAD_N@Z$1 007ee028 f shared:OdbcRecordset.obj + 0002:002aa033 __unwindfunclet$?Read@OdbcRecordset@@QAEPAD_N@Z$2 007ee033 f shared:OdbcRecordset.obj + 0002:002aa03e __unwindfunclet$?Read@OdbcRecordset@@QAEPAD_N@Z$3 007ee03e f shared:OdbcRecordset.obj + 0002:002aa046 __ehhandler$?Read@OdbcRecordset@@QAEPAD_N@Z 007ee046 f shared:OdbcRecordset.obj + 0002:002aa090 __ehhandler$??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 007ee090 f shared:Ini.obj + 0002:002aa0c0 __unwindfunclet$??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z$0 007ee0c0 f shared:Ini.obj + 0002:002aa0c8 __ehhandler$??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z 007ee0c8 f shared:Ini.obj + 0002:002aa0f0 __ehhandler$??$?0ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 007ee0f0 f shared:Ini.obj + 0002:002aa120 __unwindfunclet$??$?0ABUpiecewise_construct_t@std@@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z$0 007ee120 f shared:Ini.obj + 0002:002aa128 __ehhandler$??$?0ABUpiecewise_construct_t@std@@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 007ee128 f shared:Ini.obj + 0002:002aa150 __unwindfunclet$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z$0 007ee150 f shared:Ini.obj + 0002:002aa158 __ehhandler$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 007ee158 f shared:Ini.obj + 0002:002aa180 __ehhandler$??$?0ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$0A@@?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 007ee180 f shared:Ini.obj + 0002:002aa1b0 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 007ee1b0 f shared:Ini.obj + 0002:002aa1e0 __ehhandler$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 007ee1e0 f shared:Ini.obj + 0002:002aa210 __unwindfunclet$??$?0PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z$0 007ee210 f shared:Ini.obj + 0002:002aa218 __ehhandler$??$?0PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 007ee218 f shared:Ini.obj + 0002:002aa240 __unwindfunclet$??$?0U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z$0 007ee240 f shared:Ini.obj + 0002:002aa248 __ehhandler$??$?0U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 007ee248 f shared:Ini.obj + 0002:002aa270 __unwindfunclet$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z$0 007ee270 f shared:Ini.obj + 0002:002aa278 __ehhandler$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 007ee278 f shared:Ini.obj + 0002:002aa2a0 __ehhandler$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@1@AB_N@Z 007ee2a0 f shared:Ini.obj + 0002:002aa2d0 __ehhandler$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$V$0A@@?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 007ee2d0 f shared:Ini.obj + 0002:002aa300 __unwindfunclet$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z$0 007ee300 f shared:Ini.obj + 0002:002aa308 __ehhandler$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 007ee308 f shared:Ini.obj + 0002:002aa330 __unwindfunclet$??$_Emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z$0 007ee330 f shared:Ini.obj + 0002:002aa338 __ehhandler$??$_Emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 007ee338 f shared:Ini.obj + 0002:002aa370 __ehhandler$??$_Get_size_of_n@$0DI@@std@@YAII@Z 007ee370 f shared:Ini.obj + 0002:002aa3a0 __ehhandler$??$_Get_size_of_n@$0EI@@std@@YAII@Z 007ee3a0 f shared:Ini.obj + 0002:002aa3d0 __ehhandler$??$_Swap_adl@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 007ee3d0 f shared:Ini.obj + 0002:002aa400 __ehhandler$??$_Swap_adl@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 007ee400 f shared:Ini.obj + 0002:002aa430 __ehhandler$??$_Traits_find_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 007ee430 f shared:Ini.obj + 0002:002aa460 __ehhandler$??$_Traits_rfind_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 007ee460 f shared:Ini.obj + 0002:002aa490 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@ABV10@@Z 007ee490 f shared:Ini.obj + 0002:002aa4c0 __ehhandler$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@ABV10@@Z 007ee4c0 f shared:Ini.obj + 0002:002aa4f0 __ehhandler$??$forward@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 007ee4f0 f shared:Ini.obj + 0002:002aa520 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 007ee520 f shared:Ini.obj + 0002:002aa550 __ehhandler$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 007ee550 f shared:Ini.obj + 0002:002aa580 __ehhandler$??$forward@AAPBD@std@@YAAAPBDAAPBD@Z 007ee580 f shared:Ini.obj + 0002:002aa5b0 __ehhandler$??$forward@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@ABQAU10@@Z 007ee5b0 f shared:Ini.obj + 0002:002aa5e0 __ehhandler$??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z 007ee5e0 f shared:Ini.obj + 0002:002aa610 __ehhandler$??$forward@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 007ee610 f shared:Ini.obj + 0002:002aa640 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 007ee640 f shared:Ini.obj + 0002:002aa670 __ehhandler$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 007ee670 f shared:Ini.obj + 0002:002aa6a0 __ehhandler$??$forward@PBD@std@@YA$$QAPBDAAPBD@Z 007ee6a0 f shared:Ini.obj + 0002:002aa6d0 __ehhandler$??$forward@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 007ee6d0 f shared:Ini.obj + 0002:002aa700 __ehhandler$??$forward@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@std@@YA$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@0@AAU10@@Z 007ee700 f shared:Ini.obj + 0002:002aa730 __ehhandler$??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 007ee730 f shared:Ini.obj + 0002:002aa760 __ehhandler$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@0@AAV10@@Z 007ee760 f shared:Ini.obj + 0002:002aa790 __ehhandler$??$forward@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 007ee790 f shared:Ini.obj + 0002:002aa7c0 __ehhandler$??$forward@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 007ee7c0 f shared:Ini.obj + 0002:002aa7f0 __ehhandler$??$forward@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 007ee7f0 f shared:Ini.obj + 0002:002aa820 __ehhandler$??$forward@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 007ee820 f shared:Ini.obj + 0002:002aa850 __ehhandler$??$forward_as_tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 007ee850 f shared:Ini.obj + 0002:002aa880 __ehhandler$??$forward_as_tuple@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 007ee880 f shared:Ini.obj + 0002:002aa8b0 __ehhandler$??$get@$0A@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 007ee8b0 f shared:Ini.obj + 0002:002aa8e0 __ehhandler$??$get@$0A@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 007ee8e0 f shared:Ini.obj + 0002:002aa910 __unwindfunclet$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z$2 007ee910 f shared:Ini.obj + 0002:002aa918 __ehhandler$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z 007ee918 f shared:Ini.obj + 0002:002aa950 __ehhandler$??$move@AAI@std@@YA$$QAIAAI@Z 007ee950 f shared:Ini.obj + 0002:002aa980 __ehhandler$??$move@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 007ee980 f shared:Ini.obj + 0002:002aa9b0 __ehhandler$??$move@AAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 007ee9b0 f shared:Ini.obj + 0002:002aa9e0 __ehhandler$??$move@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 007ee9e0 f shared:Ini.obj + 0002:002aaa10 __ehhandler$??$move@AAV?$basic_istream@DU?$char_traits@D@std@@@std@@@std@@YA$$QAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@@Z 007eea10 f shared:Ini.obj + 0002:002aaa40 __ehhandler$??$move@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 007eea40 f shared:Ini.obj + 0002:002aaa70 __ehhandler$??$move@AAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 007eea70 f shared:Ini.obj + 0002:002aaaa0 __ehhandler$??$move@AAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 007eeaa0 f shared:Ini.obj + 0002:002aaad0 __ehhandler$??$swap@IX@std@@YAXAAI0@Z 007eead0 f shared:Ini.obj + 0002:002aab10 __ehhandler$??$swap@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@X@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 007eeb10 f shared:Ini.obj + 0002:002aab50 __ehhandler$??$swap@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@X@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 007eeb50 f shared:Ini.obj + 0002:002aab90 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z$0 007eeb90 f shared:Ini.obj + 0002:002aab98 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 007eeb98 f shared:Ini.obj + 0002:002aabc0 __unwindfunclet$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z$0 007eebc0 f shared:Ini.obj + 0002:002aabc8 __ehhandler$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 007eebc8 f shared:Ini.obj + 0002:002aabf0 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@QAE@XZ 007eebf0 f shared:Ini.obj + 0002:002aac20 __ehhandler$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@QAE@XZ 007eec20 f shared:Ini.obj + 0002:002aac50 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z$0 007eec50 f shared:Ini.obj + 0002:002aac58 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z$1 007eec58 f shared:Ini.obj + 0002:002aac60 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z 007eec60 f shared:Ini.obj + 0002:002aaca0 __ehhandler$??0?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 007eeca0 f shared:Ini.obj + 0002:002aacd0 __ehhandler$??0?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 007eecd0 f shared:Ini.obj + 0002:002aad00 __unwindfunclet$??0CIni@@QAE@PBD@Z$0 007eed00 f shared:Ini.obj + 0002:002aad08 __unwindfunclet$??0CIni@@QAE@PBD@Z$1 007eed08 f shared:Ini.obj + 0002:002aad13 __ehhandler$??0CIni@@QAE@PBD@Z 007eed13 f shared:Ini.obj + 0002:002aad40 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eed40 f shared:Ini.obj + 0002:002aad70 __ehhandler$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eed70 f shared:Ini.obj + 0002:002aada0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eeda0 f shared:Ini.obj + 0002:002aadd0 __ehhandler$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 007eedd0 f shared:Ini.obj + 0002:002aae00 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007eee00 f shared:Ini.obj + 0002:002aae08 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007eee08 f shared:Ini.obj + 0002:002aae40 __unwindfunclet$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE?AV01@H@Z$0 007eee40 f shared:Ini.obj + 0002:002aae48 __ehhandler$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 007eee48 f shared:Ini.obj + 0002:002aae80 __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$0 007eee80 f shared:Ini.obj + 0002:002aae8b __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$1 007eee8b f shared:Ini.obj + 0002:002aae93 __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$2 007eee93 f shared:Ini.obj + 0002:002aae9e __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$3 007eee9e f shared:Ini.obj + 0002:002aaea9 __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$4 007eeea9 f shared:Ini.obj + 0002:002aaeb1 __unwindfunclet$?GetInt@CIni@@QAEHPBD0H@Z$5 007eeeb1 f shared:Ini.obj + 0002:002aaebc __ehhandler$?GetInt@CIni@@QAEHPBD0H@Z 007eeebc f shared:Ini.obj + 0002:002aaf00 __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$0 007eef00 f shared:Ini.obj + 0002:002aaf0b __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$1 007eef0b f shared:Ini.obj + 0002:002aaf13 __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$2 007eef13 f shared:Ini.obj + 0002:002aaf1e __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$3 007eef1e f shared:Ini.obj + 0002:002aaf29 __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$4 007eef29 f shared:Ini.obj + 0002:002aaf31 __unwindfunclet$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z$5 007eef31 f shared:Ini.obj + 0002:002aaf3c __ehhandler$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 007eef3c f shared:Ini.obj + 0002:002aaf80 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$0 007eef80 f shared:Ini.obj + 0002:002aaf8b __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$1 007eef8b f shared:Ini.obj + 0002:002aaf96 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$2 007eef96 f shared:Ini.obj + 0002:002aafa1 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$3 007eefa1 f shared:Ini.obj + 0002:002aafac __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$4 007eefac f shared:Ini.obj + 0002:002aafb7 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$5 007eefb7 f shared:Ini.obj + 0002:002aafc2 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$6 007eefc2 f shared:Ini.obj + 0002:002aafcd __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$7 007eefcd f shared:Ini.obj + 0002:002aafd8 __unwindfunclet$?Load@CIni@@QAE_NPBD@Z$8 007eefd8 f shared:Ini.obj + 0002:002aafe3 __ehhandler$?Load@CIni@@QAE_NPBD@Z 007eefe3 f shared:Ini.obj + 0002:002ab030 __unwindfunclet$?Save@CIni@@QAEXPBD@Z$0 007ef030 f shared:Ini.obj + 0002:002ab038 __unwindfunclet$?Save@CIni@@QAEXPBD@Z$2 007ef038 f shared:Ini.obj + 0002:002ab043 __unwindfunclet$?Save@CIni@@QAEXPBD@Z$3 007ef043 f shared:Ini.obj + 0002:002ab04b __unwindfunclet$?Save@CIni@@QAEXPBD@Z$5 007ef04b f shared:Ini.obj + 0002:002ab056 __ehhandler$?Save@CIni@@QAEXPBD@Z 007ef056 f shared:Ini.obj + 0002:002ab0a0 __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$0 007ef0a0 f shared:Ini.obj + 0002:002ab0ab __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$1 007ef0ab f shared:Ini.obj + 0002:002ab0b3 __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$2 007ef0b3 f shared:Ini.obj + 0002:002ab0be __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$3 007ef0be f shared:Ini.obj + 0002:002ab0c9 __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$4 007ef0c9 f shared:Ini.obj + 0002:002ab0d4 __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$6 007ef0d4 f shared:Ini.obj + 0002:002ab0df __unwindfunclet$?SetString@CIni@@QAEHPBD00@Z$8 007ef0df f shared:Ini.obj + 0002:002ab0ea __ehhandler$?SetString@CIni@@QAEHPBD00@Z 007ef0ea f shared:Ini.obj + 0002:002ab130 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007ef130 f shared:Ini.obj + 0002:002ab138 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ 007ef138 f shared:Ini.obj + 0002:002ab170 __unwindfunclet$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ$0 007ef170 f shared:Ini.obj + 0002:002ab178 __ehhandler$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ 007ef178 f shared:Ini.obj + 0002:002ab1b0 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef1b0 f shared:Ini.obj + 0002:002ab1e0 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef1e0 f shared:Ini.obj + 0002:002ab210 __ehhandler$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef210 f shared:Ini.obj + 0002:002ab240 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 007ef240 f shared:Ini.obj + 0002:002ab270 __ehhandler$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 007ef270 f shared:Ini.obj + 0002:002ab2a0 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 007ef2a0 f shared:Ini.obj + 0002:002ab2d0 __ehhandler$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 007ef2d0 f shared:Ini.obj + 0002:002ab300 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 007ef300 f shared:Ini.obj + 0002:002ab330 __ehhandler$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 007ef330 f shared:Ini.obj + 0002:002ab360 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef360 f shared:Ini.obj + 0002:002ab390 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef390 f shared:Ini.obj + 0002:002ab3c0 __ehhandler$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 007ef3c0 f shared:Ini.obj + 0002:002ab3f0 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@QAU32@@Z 007ef3f0 f shared:Ini.obj + 0002:002ab420 __ehhandler$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@QAU32@@Z 007ef420 f shared:Ini.obj + 0002:002ab450 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@XZ 007ef450 f shared:Ini.obj + 0002:002ab480 __ehhandler$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@XZ 007ef480 f shared:Ini.obj + 0002:002ab4b0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 007ef4b0 f shared:Ini.obj + 0002:002ab4e0 __ehhandler$?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 007ef4e0 f shared:Ini.obj + 0002:002ab510 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 007ef510 f shared:Ini.obj + 0002:002ab540 __ehhandler$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 007ef540 f shared:Ini.obj + 0002:002ab570 __ehhandler$?eq@?$_Narrow_char_traits@DH@std@@SA_NABD0@Z 007ef570 f shared:Ini.obj + 0002:002ab5a0 __ehhandler$?find@?$_Narrow_char_traits@DH@std@@SAPBDQBDIABD@Z 007ef5a0 f shared:Ini.obj + 0002:002ab5d0 __ehhandler$?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 007ef5d0 f shared:Ini.obj + 0002:002ab600 __ehhandler$?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 007ef600 f shared:Ini.obj + 0002:002ab630 __ehhandler$?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 007ef630 f shared:Ini.obj + 0002:002ab660 __ehhandler$?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ 007ef660 f shared:Ini.obj + 0002:002ab690 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@@Z 007ef690 f shared:Ini.obj + 0002:002ab6c0 __ehhandler$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@@Z 007ef6c0 f shared:Ini.obj + 0002:002ab6f0 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QBEIXZ 007ef6f0 f shared:Ini.obj + 0002:002ab720 __ehhandler$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QBEIXZ 007ef720 f shared:Ini.obj + 0002:002ab750 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@2@AAU32@@Z 007ef750 f shared:Ini.obj + 0002:002ab780 __ehhandler$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@AAU32@@Z 007ef780 f shared:Ini.obj + 0002:002ab7b0 __ehhandler$??1CircularBuffer@@QAE@XZ 007ef7b0 f shared:CircularBuffer.obj + 0002:002ab7e0 __unwindfunclet$?SetupReadEvent@Socket@@QAEXXZ$0 007ef7e0 f shared:SocketWin32.obj + 0002:002ab7e8 __ehhandler$?SetupReadEvent@Socket@@QAEXXZ 007ef7e8 f shared:SocketWin32.obj + 0002:002ab820 __unwindfunclet$?WriteCallback@Socket@@QAEXXZ$0 007ef820 f shared:SocketWin32.obj + 0002:002ab828 __ehhandler$?WriteCallback@Socket@@QAEXXZ 007ef828 f shared:SocketWin32.obj + 0002:002ab860 __ehhandler$?_Check_memory_order@std@@YAXW4memory_order@1@@Z 007ef860 f shared:SocketWin32.obj + 0002:002ab890 __ehhandler$?compare_exchange_strong@?$_Atomic_storage@_N$00@std@@QAE_NAA_N_NW4memory_order@2@@Z 007ef890 f shared:SocketWin32.obj + 0002:002ab8c0 __ehhandler$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 007ef8c0 f libcpmtd:mutex.obj + 0002:002ab8f0 __unwindfunclet$??0system_error@std@@QAE@HABVerror_category@1@PBD@Z$0 007ef8f0 f libcpmtd:thread0.obj + 0002:002ab8f8 __ehhandler$??0system_error@std@@QAE@HABVerror_category@1@PBD@Z 007ef8f8 f libcpmtd:thread0.obj + 0002:002ab930 __ehhandler$?generic_category@std@@YAABVerror_category@1@XZ 007ef930 f libcpmtd:thread0.obj + 0002:002ab960 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$0 007ef960 f libcpmtd:xonce.obj + 0002:002ab968 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z$1 007ef968 f libcpmtd:xonce.obj + 0002:002ab970 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 007ef970 f libcpmtd:xonce.obj + 0002:002ab9a0 __unwindfunclet$??0system_error@std@@QAE@Verror_code@1@@Z$0 007ef9a0 f libcpmtd:xonce.obj + 0002:002ab9a8 __ehhandler$??0system_error@std@@QAE@Verror_code@1@@Z 007ef9a8 f libcpmtd:xonce.obj + 0002:002ab9e0 __ehhandler$?default_error_condition@_System_error_category@std@@UBE?AVerror_condition@2@H@Z 007ef9e0 f libcpmtd:xonce.obj + 0002:002aba10 __unwindfunclet$?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z$0 007efa10 f libcpmtd:xonce.obj + 0002:002aba18 __ehhandler$?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 007efa18 f libcpmtd:xonce.obj + 0002:002aba50 __ehhandler$?system_category@std@@YAABVerror_category@1@XZ 007efa50 f libcpmtd:xonce.obj + 0002:002aba80 __ehhandler$??$?0PA_WU?$default_delete@$$BY0A@_W@std@@$0A@X@?$unique_ptr@$$BY0A@_WU?$default_delete@$$BY0A@_W@std@@@std@@QAE@PA_W@Z 007efa80 f libcpmtd:syserror.obj + 0002:002abab0 __unwindfunclet$??0_Locimp@locale@std@@AAE@ABV012@@Z$0 007efab0 f libcpmtd:locale0.obj + 0002:002abab8 __unwindfunclet$??0_Locimp@locale@std@@AAE@ABV012@@Z$1 007efab8 f libcpmtd:locale0.obj + 0002:002abac3 __ehhandler$??0_Locimp@locale@std@@AAE@ABV012@@Z 007efac3 f libcpmtd:locale0.obj + 0002:002abaf0 __unwindfunclet$??0_Locimp@locale@std@@AAE@_N@Z$0 007efaf0 f libcpmtd:locale0.obj + 0002:002abaf8 __ehhandler$??0_Locimp@locale@std@@AAE@_N@Z 007efaf8 f libcpmtd:locale0.obj + 0002:002abb20 __ehhandler$??1_Locimp@locale@std@@MAE@XZ 007efb20 f libcpmtd:locale0.obj + 0002:002abb50 __unwindfunclet$?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z$0 007efb50 f libcpmtd:locale0.obj + 0002:002abb5b __ehhandler$?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z 007efb5b f libcpmtd:locale0.obj + 0002:002abb80 __unwindfunclet$?_Init@locale@std@@CAPAV_Locimp@12@_N@Z$0 007efb80 f libcpmtd:locale0.obj + 0002:002abb88 __ehhandler$?_Init@locale@std@@CAPAV_Locimp@12@_N@Z 007efb88 f libcpmtd:locale0.obj + 0002:002abbb0 __unwindfunclet$?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z$0 007efbb0 f libcpmtd:locale0.obj + 0002:002abbbb __ehhandler$?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z 007efbbb f libcpmtd:locale0.obj + 0002:002abbe0 __unwindfunclet$?_New_Locimp@_Locimp@locale@std@@CAPAV123@_N@Z$0 007efbe0 f libcpmtd:locale0.obj + 0002:002abbeb __ehhandler$?_New_Locimp@_Locimp@locale@std@@CAPAV123@_N@Z 007efbeb f libcpmtd:locale0.obj + 0002:002abc10 __ehhandler$?_Tidy@ios_base@std@@AAEXXZ 007efc10 f libcpmtd:ios.obj + 0002:002abc40 __unwindfunclet$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z$0 007efc40 f libcpmtd:locale.obj + 0002:002abc48 __ehhandler$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 007efc48 f libcpmtd:locale.obj + 0002:002abc80 __unwindfunclet$??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007efc80 f libcpmtd:locale.obj + 0002:002abc88 __unwindfunclet$??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007efc88 f libcpmtd:locale.obj + 0002:002abc90 __ehhandler$??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007efc90 f libcpmtd:locale.obj + 0002:002abcc0 __unwindfunclet$??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007efcc0 f libcpmtd:locale.obj + 0002:002abcc8 __unwindfunclet$??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007efcc8 f libcpmtd:locale.obj + 0002:002abcd0 __ehhandler$??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007efcd0 f libcpmtd:locale.obj + 0002:002abd00 __unwindfunclet$??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z$0 007efd00 f libcpmtd:locale.obj + 0002:002abd08 __unwindfunclet$??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z$1 007efd08 f libcpmtd:locale.obj + 0002:002abd10 __ehhandler$??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z 007efd10 f libcpmtd:locale.obj + 0002:002abd40 __unwindfunclet$??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007efd40 f libcpmtd:locale.obj + 0002:002abd48 __ehhandler$??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007efd48 f libcpmtd:locale.obj + 0002:002abd70 __unwindfunclet$??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007efd70 f libcpmtd:locale.obj + 0002:002abd78 __ehhandler$??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007efd78 f libcpmtd:locale.obj + 0002:002abda0 __unwindfunclet$??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z$0 007efda0 f libcpmtd:locale.obj + 0002:002abda8 __ehhandler$??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z 007efda8 f libcpmtd:locale.obj + 0002:002abdd0 __unwindfunclet$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z$0 007efdd0 f libcpmtd:locale.obj + 0002:002abddb __unwindfunclet$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z$1 007efddb f libcpmtd:locale.obj + 0002:002abde3 __unwindfunclet$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z$2 007efde3 f libcpmtd:locale.obj + 0002:002abdee __unwindfunclet$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z$3 007efdee f libcpmtd:locale.obj + 0002:002abdf6 __ehhandler$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z 007efdf6 f libcpmtd:locale.obj + 0002:002abe40 __unwindfunclet$?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007efe40 f libcpmtd:locale.obj + 0002:002abe4b __unwindfunclet$?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007efe4b f libcpmtd:locale.obj + 0002:002abe64 __ehhandler$?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007efe64 f libcpmtd:locale.obj + 0002:002abe90 __unwindfunclet$?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007efe90 f libcpmtd:locale.obj + 0002:002abe9b __unwindfunclet$?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007efe9b f libcpmtd:locale.obj + 0002:002abeb4 __ehhandler$?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007efeb4 f libcpmtd:locale.obj + 0002:002abee0 __unwindfunclet$?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007efee0 f libcpmtd:locale.obj + 0002:002abeeb __unwindfunclet$?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007efeeb f libcpmtd:locale.obj + 0002:002abf04 __ehhandler$?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007eff04 f libcpmtd:locale.obj + 0002:002abf30 __unwindfunclet$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$0 007eff30 f libcpmtd:locale.obj + 0002:002abf3b __unwindfunclet$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$1 007eff3b f libcpmtd:locale.obj + 0002:002abf43 __unwindfunclet$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$2 007eff43 f libcpmtd:locale.obj + 0002:002abf4e __unwindfunclet$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$3 007eff4e f libcpmtd:locale.obj + 0002:002abf56 __ehhandler$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 007eff56 f libcpmtd:locale.obj + 0002:002abfa0 __unwindfunclet$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$0 007effa0 f libcpmtd:locale.obj + 0002:002abfab __unwindfunclet$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$1 007effab f libcpmtd:locale.obj + 0002:002abfb3 __unwindfunclet$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$2 007effb3 f libcpmtd:locale.obj + 0002:002abfbe __unwindfunclet$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z$3 007effbe f libcpmtd:locale.obj + 0002:002abfc6 __ehhandler$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 007effc6 f libcpmtd:locale.obj + 0002:002ac010 __unwindfunclet$?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z$0 007f0010 f libcpmtd:locale.obj + 0002:002ac018 __unwindfunclet$?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z$1 007f0018 f libcpmtd:locale.obj + 0002:002ac020 __ehhandler$?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z 007f0020 f libcpmtd:locale.obj + 0002:002ac060 __unwindfunclet$?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z$0 007f0060 f libcpmtd:locale.obj + 0002:002ac068 __ehhandler$?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 007f0068 f libcpmtd:locale.obj + 0002:002ac0a0 __unwindfunclet$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z$0 007f00a0 f libcpmtd:locale.obj + 0002:002ac0ab __unwindfunclet$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z$1 007f00ab f libcpmtd:locale.obj + 0002:002ac0b3 __unwindfunclet$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z$2 007f00b3 f libcpmtd:locale.obj + 0002:002ac0be __unwindfunclet$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z$3 007f00be f libcpmtd:locale.obj + 0002:002ac0c6 __ehhandler$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z 007f00c6 f libcpmtd:locale.obj + 0002:002ac110 __unwindfunclet$?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z$0 007f0110 f libcpmtd:locale.obj + 0002:002ac118 __ehhandler$?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z 007f0118 f libcpmtd:locale.obj + 0002:002ac140 __unwindfunclet$?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z$0 007f0140 f libcpmtd:locale.obj + 0002:002ac148 __unwindfunclet$?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z$1 007f0148 f libcpmtd:locale.obj + 0002:002ac150 __ehhandler$?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z 007f0150 f libcpmtd:locale.obj + 0002:002ac180 __unwindfunclet$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z$0 007f0180 f libcpmtd:locale.obj + 0002:002ac18b __unwindfunclet$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z$1 007f018b f libcpmtd:locale.obj + 0002:002ac196 __unwindfunclet$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z$2 007f0196 f libcpmtd:locale.obj + 0002:002ac1a1 __unwindfunclet$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z$3 007f01a1 f libcpmtd:locale.obj + 0002:002ac1ac __unwindfunclet$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z$4 007f01ac f libcpmtd:locale.obj + 0002:002ac1b7 __ehhandler$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z 007f01b7 f libcpmtd:locale.obj + 0002:002ac1f0 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z$0 007f01f0 f libcpmtd:locale.obj + 0002:002ac1f8 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 007f01f8 f libcpmtd:locale.obj + 0002:002ac230 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z$0 007f0230 f libcpmtd:locale.obj + 0002:002ac238 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 007f0238 f libcpmtd:locale.obj + 0002:002ac270 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z$0 007f0270 f libcpmtd:locale.obj + 0002:002ac278 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 007f0278 f libcpmtd:locale.obj + 0002:002ac2b0 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z$0 007f02b0 f libcpmtd:locale.obj + 0002:002ac2b8 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 007f02b8 f libcpmtd:locale.obj + 0002:002ac2f0 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z$0 007f02f0 f libcpmtd:locale.obj + 0002:002ac2f8 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 007f02f8 f libcpmtd:locale.obj + 0002:002ac330 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z$0 007f0330 f libcpmtd:locale.obj + 0002:002ac338 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 007f0338 f libcpmtd:locale.obj + 0002:002ac370 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$0 007f0370 f libcpmtd:locale.obj + 0002:002ac37b __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$1 007f037b f libcpmtd:locale.obj + 0002:002ac383 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$2 007f0383 f libcpmtd:locale.obj + 0002:002ac38b __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$3 007f038b f libcpmtd:locale.obj + 0002:002ac396 __unwindfunclet$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$4 007f0396 f libcpmtd:locale.obj + 0002:002ac3a1 __ehhandler$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 007f03a1 f libcpmtd:locale.obj + 0002:002ac3e0 __unwindfunclet$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z$0 007f03e0 f libcpmtd:locale.obj + 0002:002ac3e8 __ehhandler$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z 007f03e8 f libcpmtd:locale.obj + 0002:002ac420 __unwindfunclet$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z$0 007f0420 f libcpmtd:locale.obj + 0002:002ac428 __ehhandler$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z 007f0428 f libcpmtd:locale.obj + 0002:002ac460 __unwindfunclet$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z$0 007f0460 f libcpmtd:locale.obj + 0002:002ac46b __unwindfunclet$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z$1 007f046b f libcpmtd:locale.obj + 0002:002ac473 __ehhandler$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z 007f0473 f libcpmtd:locale.obj + 0002:002ac4b0 __unwindfunclet$?global@locale@std@@SA?AV12@ABV12@@Z$0 007f04b0 f libcpmtd:locale.obj + 0002:002ac4b8 __unwindfunclet$?global@locale@std@@SA?AV12@ABV12@@Z$1 007f04b8 f libcpmtd:locale.obj + 0002:002ac4c0 __ehhandler$?global@locale@std@@SA?AV12@ABV12@@Z 007f04c0 f libcpmtd:locale.obj + 0002:002ac4f0 __ehhandler$??1_Init_atexit@@QAE@XZ 007f04f0 f libcpmtd:iosptrs.obj + 0002:002ac520 __unwindfunclet$??$_Getloctxt@DV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBD@Z$0 007f0520 f libcpmtd:wlocale.obj + 0002:002ac528 __ehhandler$??$_Getloctxt@DV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBD@Z 007f0528 f libcpmtd:wlocale.obj + 0002:002ac560 __unwindfunclet$??$_Getloctxt@DV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPBD@Z$0 007f0560 f libcpmtd:wlocale.obj + 0002:002ac568 __ehhandler$??$_Getloctxt@DV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPBD@Z 007f0568 f libcpmtd:wlocale.obj + 0002:002ac5a0 __unwindfunclet$??$_Getloctxt@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBG@Z$0 007f05a0 f libcpmtd:wlocale.obj + 0002:002ac5a8 __ehhandler$??$_Getloctxt@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBG@Z 007f05a8 f libcpmtd:wlocale.obj + 0002:002ac5e0 __unwindfunclet$??$_Getloctxt@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPB_W@Z$0 007f05e0 f libcpmtd:wlocale.obj + 0002:002ac5e8 __ehhandler$??$_Getloctxt@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPB_W@Z 007f05e8 f libcpmtd:wlocale.obj + 0002:002ac620 __unwindfunclet$??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z$0 007f0620 f libcpmtd:wlocale.obj + 0002:002ac628 __unwindfunclet$??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z$1 007f0628 f libcpmtd:wlocale.obj + 0002:002ac630 __ehhandler$??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z 007f0630 f libcpmtd:wlocale.obj + 0002:002ac660 __unwindfunclet$??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z$0 007f0660 f libcpmtd:wlocale.obj + 0002:002ac668 __unwindfunclet$??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z$1 007f0668 f libcpmtd:wlocale.obj + 0002:002ac670 __ehhandler$??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z 007f0670 f libcpmtd:wlocale.obj + 0002:002ac6a0 __unwindfunclet$??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z$0 007f06a0 f libcpmtd:wlocale.obj + 0002:002ac6a8 __unwindfunclet$??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z$1 007f06a8 f libcpmtd:wlocale.obj + 0002:002ac6b0 __ehhandler$??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z 007f06b0 f libcpmtd:wlocale.obj + 0002:002ac6e0 __unwindfunclet$??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z$0 007f06e0 f libcpmtd:wlocale.obj + 0002:002ac6e8 __unwindfunclet$??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z$1 007f06e8 f libcpmtd:wlocale.obj + 0002:002ac6f0 __ehhandler$??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z 007f06f0 f libcpmtd:wlocale.obj + 0002:002ac720 __unwindfunclet$??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z$0 007f0720 f libcpmtd:wlocale.obj + 0002:002ac728 __unwindfunclet$??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z$1 007f0728 f libcpmtd:wlocale.obj + 0002:002ac730 __ehhandler$??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z 007f0730 f libcpmtd:wlocale.obj + 0002:002ac760 __unwindfunclet$??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z$0 007f0760 f libcpmtd:wlocale.obj + 0002:002ac768 __unwindfunclet$??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z$1 007f0768 f libcpmtd:wlocale.obj + 0002:002ac770 __ehhandler$??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z 007f0770 f libcpmtd:wlocale.obj + 0002:002ac7a0 __unwindfunclet$??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z$0 007f07a0 f libcpmtd:wlocale.obj + 0002:002ac7a8 __unwindfunclet$??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z$1 007f07a8 f libcpmtd:wlocale.obj + 0002:002ac7b0 __ehhandler$??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z 007f07b0 f libcpmtd:wlocale.obj + 0002:002ac7e0 __unwindfunclet$??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z$0 007f07e0 f libcpmtd:wlocale.obj + 0002:002ac7e8 __unwindfunclet$??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z$1 007f07e8 f libcpmtd:wlocale.obj + 0002:002ac7f0 __ehhandler$??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z 007f07f0 f libcpmtd:wlocale.obj + 0002:002ac820 __unwindfunclet$??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f0820 f libcpmtd:wlocale.obj + 0002:002ac828 __unwindfunclet$??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f0828 f libcpmtd:wlocale.obj + 0002:002ac830 __ehhandler$??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f0830 f libcpmtd:wlocale.obj + 0002:002ac860 __unwindfunclet$??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f0860 f libcpmtd:wlocale.obj + 0002:002ac868 __unwindfunclet$??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f0868 f libcpmtd:wlocale.obj + 0002:002ac870 __ehhandler$??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f0870 f libcpmtd:wlocale.obj + 0002:002ac8a0 __unwindfunclet$??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f08a0 f libcpmtd:wlocale.obj + 0002:002ac8a8 __unwindfunclet$??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f08a8 f libcpmtd:wlocale.obj + 0002:002ac8b0 __ehhandler$??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f08b0 f libcpmtd:wlocale.obj + 0002:002ac8e0 __unwindfunclet$??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f08e0 f libcpmtd:wlocale.obj + 0002:002ac8e8 __unwindfunclet$??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f08e8 f libcpmtd:wlocale.obj + 0002:002ac8f0 __ehhandler$??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f08f0 f libcpmtd:wlocale.obj + 0002:002ac920 __unwindfunclet$??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z$0 007f0920 f libcpmtd:wlocale.obj + 0002:002ac928 __unwindfunclet$??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z$1 007f0928 f libcpmtd:wlocale.obj + 0002:002ac930 __ehhandler$??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z 007f0930 f libcpmtd:wlocale.obj + 0002:002ac960 __unwindfunclet$??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z$0 007f0960 f libcpmtd:wlocale.obj + 0002:002ac968 __unwindfunclet$??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z$1 007f0968 f libcpmtd:wlocale.obj + 0002:002ac970 __ehhandler$??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z 007f0970 f libcpmtd:wlocale.obj + 0002:002ac9a0 __unwindfunclet$??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z$0 007f09a0 f libcpmtd:wlocale.obj + 0002:002ac9a8 __unwindfunclet$??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z$1 007f09a8 f libcpmtd:wlocale.obj + 0002:002ac9b0 __ehhandler$??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z 007f09b0 f libcpmtd:wlocale.obj + 0002:002ac9e0 __unwindfunclet$??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z$0 007f09e0 f libcpmtd:wlocale.obj + 0002:002ac9e8 __unwindfunclet$??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z$1 007f09e8 f libcpmtd:wlocale.obj + 0002:002ac9f0 __ehhandler$??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z 007f09f0 f libcpmtd:wlocale.obj + 0002:002aca20 __unwindfunclet$??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f0a20 f libcpmtd:wlocale.obj + 0002:002aca28 __unwindfunclet$??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f0a28 f libcpmtd:wlocale.obj + 0002:002aca30 __ehhandler$??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f0a30 f libcpmtd:wlocale.obj + 0002:002aca60 __unwindfunclet$??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f0a60 f libcpmtd:wlocale.obj + 0002:002aca68 __unwindfunclet$??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f0a68 f libcpmtd:wlocale.obj + 0002:002aca70 __ehhandler$??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f0a70 f libcpmtd:wlocale.obj + 0002:002acaa0 __unwindfunclet$??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f0aa0 f libcpmtd:wlocale.obj + 0002:002acaa8 __unwindfunclet$??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f0aa8 f libcpmtd:wlocale.obj + 0002:002acab0 __ehhandler$??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f0ab0 f libcpmtd:wlocale.obj + 0002:002acae0 __unwindfunclet$??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f0ae0 f libcpmtd:wlocale.obj + 0002:002acae8 __unwindfunclet$??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f0ae8 f libcpmtd:wlocale.obj + 0002:002acaf0 __ehhandler$??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f0af0 f libcpmtd:wlocale.obj + 0002:002acb20 __unwindfunclet$??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z$0 007f0b20 f libcpmtd:wlocale.obj + 0002:002acb28 __unwindfunclet$??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z$1 007f0b28 f libcpmtd:wlocale.obj + 0002:002acb30 __ehhandler$??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z 007f0b30 f libcpmtd:wlocale.obj + 0002:002acb60 __unwindfunclet$??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z$0 007f0b60 f libcpmtd:wlocale.obj + 0002:002acb68 __unwindfunclet$??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z$1 007f0b68 f libcpmtd:wlocale.obj + 0002:002acb70 __ehhandler$??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z 007f0b70 f libcpmtd:wlocale.obj + 0002:002acba0 __unwindfunclet$??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f0ba0 f libcpmtd:wlocale.obj + 0002:002acba8 __unwindfunclet$??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f0ba8 f libcpmtd:wlocale.obj + 0002:002acbb0 __ehhandler$??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f0bb0 f libcpmtd:wlocale.obj + 0002:002acbe0 __unwindfunclet$??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f0be0 f libcpmtd:wlocale.obj + 0002:002acbe8 __unwindfunclet$??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f0be8 f libcpmtd:wlocale.obj + 0002:002acbf0 __ehhandler$??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f0bf0 f libcpmtd:wlocale.obj + 0002:002acc20 __unwindfunclet$??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$0 007f0c20 f libcpmtd:wlocale.obj + 0002:002acc28 __unwindfunclet$??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z$1 007f0c28 f libcpmtd:wlocale.obj + 0002:002acc30 __ehhandler$??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 007f0c30 f libcpmtd:wlocale.obj + 0002:002acc60 __unwindfunclet$??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$0 007f0c60 f libcpmtd:wlocale.obj + 0002:002acc68 __unwindfunclet$??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z$1 007f0c68 f libcpmtd:wlocale.obj + 0002:002acc70 __ehhandler$??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 007f0c70 f libcpmtd:wlocale.obj + 0002:002acca0 __unwindfunclet$??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N1@Z$0 007f0ca0 f libcpmtd:wlocale.obj + 0002:002acca8 __ehhandler$??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N1@Z 007f0ca8 f libcpmtd:wlocale.obj + 0002:002accd0 __unwindfunclet$??0?$_Mpunct@_W@std@@QAE@ABV_Locinfo@1@I_N1@Z$0 007f0cd0 f libcpmtd:wlocale.obj + 0002:002accd8 __ehhandler$??0?$_Mpunct@_W@std@@QAE@ABV_Locinfo@1@I_N1@Z 007f0cd8 f libcpmtd:wlocale.obj + 0002:002acd00 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@$$QAV01@@Z 007f0d00 f libcpmtd:wlocale.obj + 0002:002acd30 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z$0 007f0d30 f libcpmtd:wlocale.obj + 0002:002acd38 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z$1 007f0d38 f libcpmtd:wlocale.obj + 0002:002acd40 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z 007f0d40 f libcpmtd:wlocale.obj + 0002:002acd70 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z$0 007f0d70 f libcpmtd:wlocale.obj + 0002:002acd78 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z$1 007f0d78 f libcpmtd:wlocale.obj + 0002:002acd80 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z 007f0d80 f libcpmtd:wlocale.obj + 0002:002acdb0 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z$0 007f0db0 f libcpmtd:wlocale.obj + 0002:002acdb8 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z$1 007f0db8 f libcpmtd:wlocale.obj + 0002:002acdc0 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z 007f0dc0 f libcpmtd:wlocale.obj + 0002:002acdf0 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z$0 007f0df0 f libcpmtd:wlocale.obj + 0002:002acdf8 __unwindfunclet$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z$1 007f0df8 f libcpmtd:wlocale.obj + 0002:002ace00 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z 007f0e00 f libcpmtd:wlocale.obj + 0002:002ace30 __ehhandler$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 007f0e30 f libcpmtd:wlocale.obj + 0002:002ace60 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@$$QAV01@@Z 007f0e60 f libcpmtd:wlocale.obj + 0002:002ace90 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z$0 007f0e90 f libcpmtd:wlocale.obj + 0002:002ace98 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z$1 007f0e98 f libcpmtd:wlocale.obj + 0002:002acea0 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z 007f0ea0 f libcpmtd:wlocale.obj + 0002:002aced0 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z$0 007f0ed0 f libcpmtd:wlocale.obj + 0002:002aced8 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z$1 007f0ed8 f libcpmtd:wlocale.obj + 0002:002acee0 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z 007f0ee0 f libcpmtd:wlocale.obj + 0002:002acf10 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z$0 007f0f10 f libcpmtd:wlocale.obj + 0002:002acf18 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z$1 007f0f18 f libcpmtd:wlocale.obj + 0002:002acf20 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z 007f0f20 f libcpmtd:wlocale.obj + 0002:002acf50 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z$0 007f0f50 f libcpmtd:wlocale.obj + 0002:002acf58 __unwindfunclet$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z$1 007f0f58 f libcpmtd:wlocale.obj + 0002:002acf60 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z 007f0f60 f libcpmtd:wlocale.obj + 0002:002acf90 __ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 007f0f90 f libcpmtd:wlocale.obj + 0002:002acfc0 __unwindfunclet$??0?$codecvt@GDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f0fc0 f libcpmtd:wlocale.obj + 0002:002acfc8 __ehhandler$??0?$codecvt@GDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 007f0fc8 f libcpmtd:wlocale.obj + 0002:002acff0 __unwindfunclet$??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f0ff0 f libcpmtd:wlocale.obj + 0002:002acff8 __ehhandler$??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 007f0ff8 f libcpmtd:wlocale.obj + 0002:002ad020 __unwindfunclet$??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1020 f libcpmtd:wlocale.obj + 0002:002ad028 __ehhandler$??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z 007f1028 f libcpmtd:wlocale.obj + 0002:002ad050 __unwindfunclet$??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1050 f libcpmtd:wlocale.obj + 0002:002ad058 __ehhandler$??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z 007f1058 f libcpmtd:wlocale.obj + 0002:002ad080 __unwindfunclet$??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1080 f libcpmtd:wlocale.obj + 0002:002ad088 __ehhandler$??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z 007f1088 f libcpmtd:wlocale.obj + 0002:002ad0b0 __unwindfunclet$??0?$ctype@_W@std@@QAE@ABV_Locinfo@1@I@Z$0 007f10b0 f libcpmtd:wlocale.obj + 0002:002ad0b8 __ehhandler$??0?$ctype@_W@std@@QAE@ABV_Locinfo@1@I@Z 007f10b8 f libcpmtd:wlocale.obj + 0002:002ad0e0 __unwindfunclet$??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z$0 007f10e0 f libcpmtd:wlocale.obj + 0002:002ad0e8 __ehhandler$??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z 007f10e8 f libcpmtd:wlocale.obj + 0002:002ad110 __unwindfunclet$??0?$messages@_W@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1110 f libcpmtd:wlocale.obj + 0002:002ad118 __ehhandler$??0?$messages@_W@std@@QAE@ABV_Locinfo@1@I@Z 007f1118 f libcpmtd:wlocale.obj + 0002:002ad140 __unwindfunclet$??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1140 f libcpmtd:wlocale.obj + 0002:002ad148 __ehhandler$??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1148 f libcpmtd:wlocale.obj + 0002:002ad170 __unwindfunclet$??0?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1170 f libcpmtd:wlocale.obj + 0002:002ad178 __ehhandler$??0?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1178 f libcpmtd:wlocale.obj + 0002:002ad1a0 __unwindfunclet$??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f11a0 f libcpmtd:wlocale.obj + 0002:002ad1a8 __ehhandler$??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f11a8 f libcpmtd:wlocale.obj + 0002:002ad1d0 __unwindfunclet$??0?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f11d0 f libcpmtd:wlocale.obj + 0002:002ad1d8 __ehhandler$??0?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f11d8 f libcpmtd:wlocale.obj + 0002:002ad200 __unwindfunclet$??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1200 f libcpmtd:wlocale.obj + 0002:002ad208 __ehhandler$??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1208 f libcpmtd:wlocale.obj + 0002:002ad230 __unwindfunclet$??0?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1230 f libcpmtd:wlocale.obj + 0002:002ad238 __ehhandler$??0?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1238 f libcpmtd:wlocale.obj + 0002:002ad260 __unwindfunclet$??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1260 f libcpmtd:wlocale.obj + 0002:002ad268 __ehhandler$??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1268 f libcpmtd:wlocale.obj + 0002:002ad290 __unwindfunclet$??0?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1290 f libcpmtd:wlocale.obj + 0002:002ad298 __ehhandler$??0?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1298 f libcpmtd:wlocale.obj + 0002:002ad2c0 __unwindfunclet$??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z$0 007f12c0 f libcpmtd:wlocale.obj + 0002:002ad2c8 __ehhandler$??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z 007f12c8 f libcpmtd:wlocale.obj + 0002:002ad2f0 __unwindfunclet$??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z$0 007f12f0 f libcpmtd:wlocale.obj + 0002:002ad2f8 __ehhandler$??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z 007f12f8 f libcpmtd:wlocale.obj + 0002:002ad320 __unwindfunclet$??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1320 f libcpmtd:wlocale.obj + 0002:002ad328 __ehhandler$??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1328 f libcpmtd:wlocale.obj + 0002:002ad350 __unwindfunclet$??0?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1350 f libcpmtd:wlocale.obj + 0002:002ad358 __ehhandler$??0?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1358 f libcpmtd:wlocale.obj + 0002:002ad380 __unwindfunclet$??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f1380 f libcpmtd:wlocale.obj + 0002:002ad388 __unwindfunclet$??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$1 007f1388 f libcpmtd:wlocale.obj + 0002:002ad393 __ehhandler$??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f1393 f libcpmtd:wlocale.obj + 0002:002ad3c0 __unwindfunclet$??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f13c0 f libcpmtd:wlocale.obj + 0002:002ad3c8 __unwindfunclet$??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$1 007f13c8 f libcpmtd:wlocale.obj + 0002:002ad3d3 __ehhandler$??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f13d3 f libcpmtd:wlocale.obj + 0002:002ad400 __ehhandler$??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 007f1400 f libcpmtd:wlocale.obj + 0002:002ad430 __ehhandler$??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 007f1430 f libcpmtd:wlocale.obj + 0002:002ad460 __unwindfunclet$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z$0 007f1460 f libcpmtd:wlocale.obj + 0002:002ad468 __ehhandler$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 007f1468 f libcpmtd:wlocale.obj + 0002:002ad490 __unwindfunclet$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z$0 007f1490 f libcpmtd:wlocale.obj + 0002:002ad498 __ehhandler$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 007f1498 f libcpmtd:wlocale.obj + 0002:002ad4c0 __unwindfunclet$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z$0 007f14c0 f libcpmtd:wlocale.obj + 0002:002ad4c8 __ehhandler$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 007f14c8 f libcpmtd:wlocale.obj + 0002:002ad4f0 __unwindfunclet$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z$0 007f14f0 f libcpmtd:wlocale.obj + 0002:002ad4f8 __ehhandler$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 007f14f8 f libcpmtd:wlocale.obj + 0002:002ad520 __unwindfunclet$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z$0 007f1520 f libcpmtd:wlocale.obj + 0002:002ad52b __unwindfunclet$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z$1 007f152b f libcpmtd:wlocale.obj + 0002:002ad533 __unwindfunclet$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z$2 007f1533 f libcpmtd:wlocale.obj + 0002:002ad53e __unwindfunclet$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z$3 007f153e f libcpmtd:wlocale.obj + 0002:002ad546 __ehhandler$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z 007f1546 f libcpmtd:wlocale.obj + 0002:002ad590 __unwindfunclet$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z$0 007f1590 f libcpmtd:wlocale.obj + 0002:002ad59b __unwindfunclet$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z$1 007f159b f libcpmtd:wlocale.obj + 0002:002ad5a3 __unwindfunclet$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z$2 007f15a3 f libcpmtd:wlocale.obj + 0002:002ad5ae __unwindfunclet$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z$3 007f15ae f libcpmtd:wlocale.obj + 0002:002ad5b6 __ehhandler$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z 007f15b6 f libcpmtd:wlocale.obj + 0002:002ad600 __unwindfunclet$?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1600 f libcpmtd:wlocale.obj + 0002:002ad60b __unwindfunclet$?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f160b f libcpmtd:wlocale.obj + 0002:002ad624 __ehhandler$?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1624 f libcpmtd:wlocale.obj + 0002:002ad650 __unwindfunclet$?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1650 f libcpmtd:wlocale.obj + 0002:002ad65b __unwindfunclet$?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f165b f libcpmtd:wlocale.obj + 0002:002ad674 __ehhandler$?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1674 f libcpmtd:wlocale.obj + 0002:002ad6a0 __unwindfunclet$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f16a0 f libcpmtd:wlocale.obj + 0002:002ad6ab __unwindfunclet$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f16ab f libcpmtd:wlocale.obj + 0002:002ad6c4 __unwindfunclet$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$2 007f16c4 f libcpmtd:wlocale.obj + 0002:002ad6e0 __ehhandler$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f16e0 f libcpmtd:wlocale.obj + 0002:002ad720 __unwindfunclet$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1720 f libcpmtd:wlocale.obj + 0002:002ad72b __unwindfunclet$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f172b f libcpmtd:wlocale.obj + 0002:002ad744 __unwindfunclet$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$2 007f1744 f libcpmtd:wlocale.obj + 0002:002ad760 __ehhandler$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1760 f libcpmtd:wlocale.obj + 0002:002ad7a0 __unwindfunclet$?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f17a0 f libcpmtd:wlocale.obj + 0002:002ad7ab __unwindfunclet$?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f17ab f libcpmtd:wlocale.obj + 0002:002ad7c4 __ehhandler$?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f17c4 f libcpmtd:wlocale.obj + 0002:002ad7f0 __unwindfunclet$?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f17f0 f libcpmtd:wlocale.obj + 0002:002ad7fb __unwindfunclet$?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f17fb f libcpmtd:wlocale.obj + 0002:002ad814 __ehhandler$?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1814 f libcpmtd:wlocale.obj + 0002:002ad840 __unwindfunclet$?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1840 f libcpmtd:wlocale.obj + 0002:002ad84b __unwindfunclet$?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f184b f libcpmtd:wlocale.obj + 0002:002ad864 __ehhandler$?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1864 f libcpmtd:wlocale.obj + 0002:002ad890 __unwindfunclet$?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1890 f libcpmtd:wlocale.obj + 0002:002ad89b __unwindfunclet$?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f189b f libcpmtd:wlocale.obj + 0002:002ad8b4 __ehhandler$?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f18b4 f libcpmtd:wlocale.obj + 0002:002ad8e0 __unwindfunclet$?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f18e0 f libcpmtd:wlocale.obj + 0002:002ad8eb __unwindfunclet$?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f18eb f libcpmtd:wlocale.obj + 0002:002ad904 __ehhandler$?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1904 f libcpmtd:wlocale.obj + 0002:002ad930 __unwindfunclet$?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1930 f libcpmtd:wlocale.obj + 0002:002ad93b __unwindfunclet$?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f193b f libcpmtd:wlocale.obj + 0002:002ad954 __ehhandler$?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1954 f libcpmtd:wlocale.obj + 0002:002ad980 __unwindfunclet$?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1980 f libcpmtd:wlocale.obj + 0002:002ad98b __unwindfunclet$?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f198b f libcpmtd:wlocale.obj + 0002:002ad9a4 __ehhandler$?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f19a4 f libcpmtd:wlocale.obj + 0002:002ad9d0 __unwindfunclet$?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f19d0 f libcpmtd:wlocale.obj + 0002:002ad9db __unwindfunclet$?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f19db f libcpmtd:wlocale.obj + 0002:002ad9f4 __ehhandler$?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f19f4 f libcpmtd:wlocale.obj + 0002:002ada20 __unwindfunclet$?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1a20 f libcpmtd:wlocale.obj + 0002:002ada2b __unwindfunclet$?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1a2b f libcpmtd:wlocale.obj + 0002:002ada44 __ehhandler$?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1a44 f libcpmtd:wlocale.obj + 0002:002ada70 __unwindfunclet$?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1a70 f libcpmtd:wlocale.obj + 0002:002ada7b __unwindfunclet$?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1a7b f libcpmtd:wlocale.obj + 0002:002ada94 __ehhandler$?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1a94 f libcpmtd:wlocale.obj + 0002:002adac0 __unwindfunclet$?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1ac0 f libcpmtd:wlocale.obj + 0002:002adacb __unwindfunclet$?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1acb f libcpmtd:wlocale.obj + 0002:002adae4 __ehhandler$?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1ae4 f libcpmtd:wlocale.obj + 0002:002adb10 __unwindfunclet$?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1b10 f libcpmtd:wlocale.obj + 0002:002adb1b __unwindfunclet$?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1b1b f libcpmtd:wlocale.obj + 0002:002adb34 __ehhandler$?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1b34 f libcpmtd:wlocale.obj + 0002:002adb60 __unwindfunclet$?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1b60 f libcpmtd:wlocale.obj + 0002:002adb6b __unwindfunclet$?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1b6b f libcpmtd:wlocale.obj + 0002:002adb84 __ehhandler$?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1b84 f libcpmtd:wlocale.obj + 0002:002adbb0 __unwindfunclet$?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1bb0 f libcpmtd:wlocale.obj + 0002:002adbbb __unwindfunclet$?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1bbb f libcpmtd:wlocale.obj + 0002:002adbd4 __ehhandler$?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1bd4 f libcpmtd:wlocale.obj + 0002:002adc00 __unwindfunclet$?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1c00 f libcpmtd:wlocale.obj + 0002:002adc0b __unwindfunclet$?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1c0b f libcpmtd:wlocale.obj + 0002:002adc24 __ehhandler$?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1c24 f libcpmtd:wlocale.obj + 0002:002adc50 __unwindfunclet$?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1c50 f libcpmtd:wlocale.obj + 0002:002adc5b __unwindfunclet$?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1c5b f libcpmtd:wlocale.obj + 0002:002adc74 __ehhandler$?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1c74 f libcpmtd:wlocale.obj + 0002:002adca0 __unwindfunclet$?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1ca0 f libcpmtd:wlocale.obj + 0002:002adcab __unwindfunclet$?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1cab f libcpmtd:wlocale.obj + 0002:002adcc4 __ehhandler$?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1cc4 f libcpmtd:wlocale.obj + 0002:002adcf0 __unwindfunclet$?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1cf0 f libcpmtd:wlocale.obj + 0002:002adcfb __unwindfunclet$?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1cfb f libcpmtd:wlocale.obj + 0002:002add14 __ehhandler$?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1d14 f libcpmtd:wlocale.obj + 0002:002add40 __unwindfunclet$?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1d40 f libcpmtd:wlocale.obj + 0002:002add4b __unwindfunclet$?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1d4b f libcpmtd:wlocale.obj + 0002:002add64 __ehhandler$?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1d64 f libcpmtd:wlocale.obj + 0002:002add90 __unwindfunclet$?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1d90 f libcpmtd:wlocale.obj + 0002:002add9b __unwindfunclet$?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1d9b f libcpmtd:wlocale.obj + 0002:002addb4 __ehhandler$?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1db4 f libcpmtd:wlocale.obj + 0002:002adde0 __unwindfunclet$?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1de0 f libcpmtd:wlocale.obj + 0002:002addeb __unwindfunclet$?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1deb f libcpmtd:wlocale.obj + 0002:002ade04 __ehhandler$?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1e04 f libcpmtd:wlocale.obj + 0002:002ade30 __unwindfunclet$?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f1e30 f libcpmtd:wlocale.obj + 0002:002ade3b __unwindfunclet$?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f1e3b f libcpmtd:wlocale.obj + 0002:002ade54 __ehhandler$?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f1e54 f libcpmtd:wlocale.obj + 0002:002ade80 __unwindfunclet$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$0 007f1e80 f libcpmtd:wlocale.obj + 0002:002ade8b __unwindfunclet$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$1 007f1e8b f libcpmtd:wlocale.obj + 0002:002ade93 __unwindfunclet$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$2 007f1e93 f libcpmtd:wlocale.obj + 0002:002ade9e __unwindfunclet$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$3 007f1e9e f libcpmtd:wlocale.obj + 0002:002adea6 __ehhandler$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 007f1ea6 f libcpmtd:wlocale.obj + 0002:002adef0 __unwindfunclet$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$0 007f1ef0 f libcpmtd:wlocale.obj + 0002:002adefb __unwindfunclet$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$1 007f1efb f libcpmtd:wlocale.obj + 0002:002adf03 __unwindfunclet$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$2 007f1f03 f libcpmtd:wlocale.obj + 0002:002adf0e __unwindfunclet$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$3 007f1f0e f libcpmtd:wlocale.obj + 0002:002adf16 __ehhandler$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 007f1f16 f libcpmtd:wlocale.obj + 0002:002adf60 __unwindfunclet$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$0 007f1f60 f libcpmtd:wlocale.obj + 0002:002adf6b __unwindfunclet$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$1 007f1f6b f libcpmtd:wlocale.obj + 0002:002adf76 __unwindfunclet$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$2 007f1f76 f libcpmtd:wlocale.obj + 0002:002adf81 __unwindfunclet$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z$3 007f1f81 f libcpmtd:wlocale.obj + 0002:002adf89 __ehhandler$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 007f1f89 f libcpmtd:wlocale.obj + 0002:002adfd0 __unwindfunclet$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$0 007f1fd0 f libcpmtd:wlocale.obj + 0002:002adfdb __unwindfunclet$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$1 007f1fdb f libcpmtd:wlocale.obj + 0002:002adfe6 __unwindfunclet$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$2 007f1fe6 f libcpmtd:wlocale.obj + 0002:002adff1 __unwindfunclet$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z$3 007f1ff1 f libcpmtd:wlocale.obj + 0002:002adff9 __ehhandler$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 007f1ff9 f libcpmtd:wlocale.obj + 0002:002ae040 __unwindfunclet$?_Getfmt@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z$0 007f2040 f libcpmtd:wlocale.obj + 0002:002ae048 __ehhandler$?_Getfmt@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 007f2048 f libcpmtd:wlocale.obj + 0002:002ae070 __unwindfunclet$?_Getfmt@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z$0 007f2070 f libcpmtd:wlocale.obj + 0002:002ae078 __ehhandler$?_Getfmt@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 007f2078 f libcpmtd:wlocale.obj + 0002:002ae0a0 __unwindfunclet$?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z$0 007f20a0 f libcpmtd:wlocale.obj + 0002:002ae0a8 __unwindfunclet$?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z$1 007f20a8 f libcpmtd:wlocale.obj + 0002:002ae0b0 __ehhandler$?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z 007f20b0 f libcpmtd:wlocale.obj + 0002:002ae0f0 __unwindfunclet$?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z$0 007f20f0 f libcpmtd:wlocale.obj + 0002:002ae0f8 __unwindfunclet$?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z$1 007f20f8 f libcpmtd:wlocale.obj + 0002:002ae100 __ehhandler$?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z 007f2100 f libcpmtd:wlocale.obj + 0002:002ae140 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$0 007f2140 f libcpmtd:wlocale.obj + 0002:002ae14b __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$1 007f214b f libcpmtd:wlocale.obj + 0002:002ae156 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$2 007f2156 f libcpmtd:wlocale.obj + 0002:002ae15e __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$3 007f215e f libcpmtd:wlocale.obj + 0002:002ae166 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$4 007f2166 f libcpmtd:wlocale.obj + 0002:002ae171 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$5 007f2171 f libcpmtd:wlocale.obj + 0002:002ae179 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$6 007f2179 f libcpmtd:wlocale.obj + 0002:002ae184 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$8 007f2184 f libcpmtd:wlocale.obj + 0002:002ae1a6 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$9 007f21a6 f libcpmtd:wlocale.obj + 0002:002ae1b1 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$10 007f21b1 f libcpmtd:wlocale.obj + 0002:002ae1d3 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$11 007f21d3 f libcpmtd:wlocale.obj + 0002:002ae1f5 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$13 007f21f5 f libcpmtd:wlocale.obj + 0002:002ae217 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$14 007f2217 f libcpmtd:wlocale.obj + 0002:002ae239 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$16 007f2239 f libcpmtd:wlocale.obj + 0002:002ae25b __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$18 007f225b f libcpmtd:wlocale.obj + 0002:002ae266 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$19 007f2266 f libcpmtd:wlocale.obj + 0002:002ae26e __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$20 007f226e f libcpmtd:wlocale.obj + 0002:002ae279 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$21 007f2279 f libcpmtd:wlocale.obj + 0002:002ae2a0 __unwindfunclet$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z$22 007f22a0 f libcpmtd:wlocale.obj + 0002:002ae2ab __ehhandler$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z 007f22ab f libcpmtd:wlocale.obj + 0002:002ae340 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$0 007f2340 f libcpmtd:wlocale.obj + 0002:002ae34b __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$1 007f234b f libcpmtd:wlocale.obj + 0002:002ae356 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$2 007f2356 f libcpmtd:wlocale.obj + 0002:002ae35e __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$3 007f235e f libcpmtd:wlocale.obj + 0002:002ae366 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$4 007f2366 f libcpmtd:wlocale.obj + 0002:002ae371 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$5 007f2371 f libcpmtd:wlocale.obj + 0002:002ae379 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$6 007f2379 f libcpmtd:wlocale.obj + 0002:002ae384 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$8 007f2384 f libcpmtd:wlocale.obj + 0002:002ae3a6 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$9 007f23a6 f libcpmtd:wlocale.obj + 0002:002ae3b1 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$10 007f23b1 f libcpmtd:wlocale.obj + 0002:002ae3d3 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$11 007f23d3 f libcpmtd:wlocale.obj + 0002:002ae3f5 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$13 007f23f5 f libcpmtd:wlocale.obj + 0002:002ae417 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$14 007f2417 f libcpmtd:wlocale.obj + 0002:002ae439 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$16 007f2439 f libcpmtd:wlocale.obj + 0002:002ae45b __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$18 007f245b f libcpmtd:wlocale.obj + 0002:002ae466 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$19 007f2466 f libcpmtd:wlocale.obj + 0002:002ae46e __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$20 007f246e f libcpmtd:wlocale.obj + 0002:002ae479 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$21 007f2479 f libcpmtd:wlocale.obj + 0002:002ae4a0 __unwindfunclet$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z$22 007f24a0 f libcpmtd:wlocale.obj + 0002:002ae4ab __ehhandler$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z 007f24ab f libcpmtd:wlocale.obj + 0002:002ae540 __unwindfunclet$?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@_N@Z$0 007f2540 f libcpmtd:wlocale.obj + 0002:002ae548 __ehhandler$?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 007f2548 f libcpmtd:wlocale.obj + 0002:002ae580 __unwindfunclet$?_Init@?$_Mpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z$0 007f2580 f libcpmtd:wlocale.obj + 0002:002ae588 __ehhandler$?_Init@?$_Mpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 007f2588 f libcpmtd:wlocale.obj + 0002:002ae5c0 __unwindfunclet$?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z$0 007f25c0 f libcpmtd:wlocale.obj + 0002:002ae5c8 __ehhandler$?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 007f25c8 f libcpmtd:wlocale.obj + 0002:002ae600 __unwindfunclet$?_Init@?$numpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z$0 007f2600 f libcpmtd:wlocale.obj + 0002:002ae608 __ehhandler$?_Init@?$numpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 007f2608 f libcpmtd:wlocale.obj + 0002:002ae640 __unwindfunclet$?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f2640 f libcpmtd:wlocale.obj + 0002:002ae648 __ehhandler$?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f2648 f libcpmtd:wlocale.obj + 0002:002ae670 __unwindfunclet$?_Init@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f2670 f libcpmtd:wlocale.obj + 0002:002ae678 __ehhandler$?_Init@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f2678 f libcpmtd:wlocale.obj + 0002:002ae6a0 __unwindfunclet$?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f26a0 f libcpmtd:wlocale.obj + 0002:002ae6a8 __ehhandler$?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f26a8 f libcpmtd:wlocale.obj + 0002:002ae6d0 __unwindfunclet$?_Init@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f26d0 f libcpmtd:wlocale.obj + 0002:002ae6d8 __ehhandler$?_Init@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f26d8 f libcpmtd:wlocale.obj + 0002:002ae700 __unwindfunclet$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z$0 007f2700 f libcpmtd:wlocale.obj + 0002:002ae70b __unwindfunclet$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z$1 007f270b f libcpmtd:wlocale.obj + 0002:002ae713 __unwindfunclet$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z$2 007f2713 f libcpmtd:wlocale.obj + 0002:002ae71e __unwindfunclet$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z$3 007f271e f libcpmtd:wlocale.obj + 0002:002ae726 __ehhandler$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z 007f2726 f libcpmtd:wlocale.obj + 0002:002ae770 __unwindfunclet$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z$0 007f2770 f libcpmtd:wlocale.obj + 0002:002ae77b __unwindfunclet$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z$1 007f277b f libcpmtd:wlocale.obj + 0002:002ae783 __unwindfunclet$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z$2 007f2783 f libcpmtd:wlocale.obj + 0002:002ae78e __unwindfunclet$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z$3 007f278e f libcpmtd:wlocale.obj + 0002:002ae796 __ehhandler$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z 007f2796 f libcpmtd:wlocale.obj + 0002:002ae7e0 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$0 007f27e0 f libcpmtd:wlocale.obj + 0002:002ae7eb __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$1 007f27eb f libcpmtd:wlocale.obj + 0002:002ae7f6 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$2 007f27f6 f libcpmtd:wlocale.obj + 0002:002ae801 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$3 007f2801 f libcpmtd:wlocale.obj + 0002:002ae80c __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$4 007f280c f libcpmtd:wlocale.obj + 0002:002ae817 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$5 007f2817 f libcpmtd:wlocale.obj + 0002:002ae822 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$6 007f2822 f libcpmtd:wlocale.obj + 0002:002ae82d __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$7 007f282d f libcpmtd:wlocale.obj + 0002:002ae838 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$8 007f2838 f libcpmtd:wlocale.obj + 0002:002ae843 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$9 007f2843 f libcpmtd:wlocale.obj + 0002:002ae84e __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$10 007f284e f libcpmtd:wlocale.obj + 0002:002ae859 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$11 007f2859 f libcpmtd:wlocale.obj + 0002:002ae864 __unwindfunclet$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$12 007f2864 f libcpmtd:wlocale.obj + 0002:002ae86f __ehhandler$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 007f286f f libcpmtd:wlocale.obj + 0002:002ae8c0 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$0 007f28c0 f libcpmtd:wlocale.obj + 0002:002ae8cb __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$1 007f28cb f libcpmtd:wlocale.obj + 0002:002ae8d6 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$2 007f28d6 f libcpmtd:wlocale.obj + 0002:002ae8e1 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$3 007f28e1 f libcpmtd:wlocale.obj + 0002:002ae8ec __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$4 007f28ec f libcpmtd:wlocale.obj + 0002:002ae8f7 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$5 007f28f7 f libcpmtd:wlocale.obj + 0002:002ae902 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$6 007f2902 f libcpmtd:wlocale.obj + 0002:002ae90d __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$7 007f290d f libcpmtd:wlocale.obj + 0002:002ae918 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$8 007f2918 f libcpmtd:wlocale.obj + 0002:002ae923 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$9 007f2923 f libcpmtd:wlocale.obj + 0002:002ae92e __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$10 007f292e f libcpmtd:wlocale.obj + 0002:002ae939 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$11 007f2939 f libcpmtd:wlocale.obj + 0002:002ae944 __unwindfunclet$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$12 007f2944 f libcpmtd:wlocale.obj + 0002:002ae94f __ehhandler$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 007f294f f libcpmtd:wlocale.obj + 0002:002ae9a0 __unwindfunclet$?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@I@Z$0 007f29a0 f libcpmtd:wlocale.obj + 0002:002ae9a8 __ehhandler$?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@I@Z 007f29a8 f libcpmtd:wlocale.obj + 0002:002ae9d0 __unwindfunclet$?_Put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@I@Z$0 007f29d0 f libcpmtd:wlocale.obj + 0002:002ae9d8 __ehhandler$?_Put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@I@Z 007f29d8 f libcpmtd:wlocale.obj + 0002:002aea00 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$0 007f2a00 f libcpmtd:wlocale.obj + 0002:002aea0b __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$1 007f2a0b f libcpmtd:wlocale.obj + 0002:002aea16 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$2 007f2a16 f libcpmtd:wlocale.obj + 0002:002aea21 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$3 007f2a21 f libcpmtd:wlocale.obj + 0002:002aea29 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$4 007f2a29 f libcpmtd:wlocale.obj + 0002:002aea31 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$7 007f2a31 f libcpmtd:wlocale.obj + 0002:002aea39 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$9 007f2a39 f libcpmtd:wlocale.obj + 0002:002aea44 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$11 007f2a44 f libcpmtd:wlocale.obj + 0002:002aea4f __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$13 007f2a4f f libcpmtd:wlocale.obj + 0002:002aea5a __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$15 007f2a5a f libcpmtd:wlocale.obj + 0002:002aea65 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$17 007f2a65 f libcpmtd:wlocale.obj + 0002:002aea70 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$19 007f2a70 f libcpmtd:wlocale.obj + 0002:002aea7b __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$20 007f2a7b f libcpmtd:wlocale.obj + 0002:002aea86 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$22 007f2a86 f libcpmtd:wlocale.obj + 0002:002aea91 __unwindfunclet$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z$23 007f2a91 f libcpmtd:wlocale.obj + 0002:002aea9c __ehhandler$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z 007f2a9c f libcpmtd:wlocale.obj + 0002:002aeb00 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$0 007f2b00 f libcpmtd:wlocale.obj + 0002:002aeb0b __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$1 007f2b0b f libcpmtd:wlocale.obj + 0002:002aeb16 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$2 007f2b16 f libcpmtd:wlocale.obj + 0002:002aeb21 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$3 007f2b21 f libcpmtd:wlocale.obj + 0002:002aeb29 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$4 007f2b29 f libcpmtd:wlocale.obj + 0002:002aeb31 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$7 007f2b31 f libcpmtd:wlocale.obj + 0002:002aeb39 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$9 007f2b39 f libcpmtd:wlocale.obj + 0002:002aeb44 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$11 007f2b44 f libcpmtd:wlocale.obj + 0002:002aeb4f __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$13 007f2b4f f libcpmtd:wlocale.obj + 0002:002aeb5a __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$15 007f2b5a f libcpmtd:wlocale.obj + 0002:002aeb65 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$17 007f2b65 f libcpmtd:wlocale.obj + 0002:002aeb70 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$19 007f2b70 f libcpmtd:wlocale.obj + 0002:002aeb7b __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$20 007f2b7b f libcpmtd:wlocale.obj + 0002:002aeb86 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$22 007f2b86 f libcpmtd:wlocale.obj + 0002:002aeb91 __unwindfunclet$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z$23 007f2b91 f libcpmtd:wlocale.obj + 0002:002aeb9c __ehhandler$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z 007f2b9c f libcpmtd:wlocale.obj + 0002:002aec00 __ehhandler$?_Take_contents@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 007f2c00 f libcpmtd:wlocale.obj + 0002:002aec30 __ehhandler$?_Take_contents@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 007f2c30 f libcpmtd:wlocale.obj + 0002:002aec60 __ehhandler$?_Tidy_deallocate@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ 007f2c60 f libcpmtd:wlocale.obj + 0002:002aec90 __ehhandler$?_Tidy_deallocate@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXXZ 007f2c90 f libcpmtd:wlocale.obj + 0002:002aecc0 __ehhandler$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEXH@Z 007f2cc0 f libcpmtd:wlocale.obj + 0002:002aecf0 __ehhandler$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEXH@Z 007f2cf0 f libcpmtd:wlocale.obj + 0002:002aed20 __ehhandler$?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 007f2d20 f libcpmtd:wlocale.obj + 0002:002aed50 __ehhandler$?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 007f2d50 f libcpmtd:wlocale.obj + 0002:002aed80 __ehhandler$?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ 007f2d80 f libcpmtd:wlocale.obj + 0002:002aedb0 __ehhandler$?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ 007f2db0 f libcpmtd:wlocale.obj + 0002:002aede0 __unwindfunclet$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z$0 007f2de0 f libcpmtd:wlocale.obj + 0002:002aede8 __ehhandler$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 007f2de8 f libcpmtd:wlocale.obj + 0002:002aee20 __unwindfunclet$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z$0 007f2e20 f libcpmtd:wlocale.obj + 0002:002aee28 __ehhandler$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 007f2e28 f libcpmtd:wlocale.obj + 0002:002aee60 __unwindfunclet$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z$0 007f2e60 f libcpmtd:wlocale.obj + 0002:002aee68 __ehhandler$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 007f2e68 f libcpmtd:wlocale.obj + 0002:002aeea0 __unwindfunclet$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$0 007f2ea0 f libcpmtd:wlocale.obj + 0002:002aeea8 __ehhandler$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 007f2ea8 f libcpmtd:wlocale.obj + 0002:002aeee0 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z$0 007f2ee0 f libcpmtd:wlocale.obj + 0002:002aeee8 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 007f2ee8 f libcpmtd:wlocale.obj + 0002:002aef20 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z$0 007f2f20 f libcpmtd:wlocale.obj + 0002:002aef28 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 007f2f28 f libcpmtd:wlocale.obj + 0002:002aef60 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z$0 007f2f60 f libcpmtd:wlocale.obj + 0002:002aef68 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 007f2f68 f libcpmtd:wlocale.obj + 0002:002aefa0 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z$0 007f2fa0 f libcpmtd:wlocale.obj + 0002:002aefa8 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 007f2fa8 f libcpmtd:wlocale.obj + 0002:002aefe0 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z$0 007f2fe0 f libcpmtd:wlocale.obj + 0002:002aefe8 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 007f2fe8 f libcpmtd:wlocale.obj + 0002:002af020 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z$0 007f3020 f libcpmtd:wlocale.obj + 0002:002af028 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 007f3028 f libcpmtd:wlocale.obj + 0002:002af060 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$0 007f3060 f libcpmtd:wlocale.obj + 0002:002af06b __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$1 007f306b f libcpmtd:wlocale.obj + 0002:002af073 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$2 007f3073 f libcpmtd:wlocale.obj + 0002:002af07b __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$3 007f307b f libcpmtd:wlocale.obj + 0002:002af086 __unwindfunclet$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$4 007f3086 f libcpmtd:wlocale.obj + 0002:002af091 __ehhandler$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 007f3091 f libcpmtd:wlocale.obj + 0002:002af0d0 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAG@Z$0 007f30d0 f libcpmtd:wlocale.obj + 0002:002af0d8 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 007f30d8 f libcpmtd:wlocale.obj + 0002:002af110 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z$0 007f3110 f libcpmtd:wlocale.obj + 0002:002af118 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 007f3118 f libcpmtd:wlocale.obj + 0002:002af150 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAK@Z$0 007f3150 f libcpmtd:wlocale.obj + 0002:002af158 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 007f3158 f libcpmtd:wlocale.obj + 0002:002af190 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z$0 007f3190 f libcpmtd:wlocale.obj + 0002:002af198 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 007f3198 f libcpmtd:wlocale.obj + 0002:002af1d0 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z$0 007f31d0 f libcpmtd:wlocale.obj + 0002:002af1d8 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 007f31d8 f libcpmtd:wlocale.obj + 0002:002af210 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z$0 007f3210 f libcpmtd:wlocale.obj + 0002:002af218 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 007f3218 f libcpmtd:wlocale.obj + 0002:002af250 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$0 007f3250 f libcpmtd:wlocale.obj + 0002:002af25b __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$1 007f325b f libcpmtd:wlocale.obj + 0002:002af263 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$2 007f3263 f libcpmtd:wlocale.obj + 0002:002af26b __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$3 007f326b f libcpmtd:wlocale.obj + 0002:002af276 __unwindfunclet$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z$4 007f3276 f libcpmtd:wlocale.obj + 0002:002af281 __ehhandler$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 007f3281 f libcpmtd:wlocale.obj + 0002:002af2c0 __unwindfunclet$?do_get@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z$0 007f32c0 f libcpmtd:wlocale.obj + 0002:002af2cb __ehhandler$?do_get@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 007f32cb f libcpmtd:wlocale.obj + 0002:002af300 __unwindfunclet$?do_get@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z$0 007f3300 f libcpmtd:wlocale.obj + 0002:002af30b __ehhandler$?do_get@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 007f330b f libcpmtd:wlocale.obj + 0002:002af340 __unwindfunclet$?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f3340 f libcpmtd:wlocale.obj + 0002:002af348 __ehhandler$?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f3348 f libcpmtd:wlocale.obj + 0002:002af370 __unwindfunclet$?do_get_date@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f3370 f libcpmtd:wlocale.obj + 0002:002af378 __ehhandler$?do_get_date@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f3378 f libcpmtd:wlocale.obj + 0002:002af3a0 __unwindfunclet$?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f33a0 f libcpmtd:wlocale.obj + 0002:002af3a8 __ehhandler$?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f33a8 f libcpmtd:wlocale.obj + 0002:002af3d0 __unwindfunclet$?do_get_time@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f33d0 f libcpmtd:wlocale.obj + 0002:002af3d8 __ehhandler$?do_get_time@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f33d8 f libcpmtd:wlocale.obj + 0002:002af400 __unwindfunclet$?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f3400 f libcpmtd:wlocale.obj + 0002:002af408 __ehhandler$?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f3408 f libcpmtd:wlocale.obj + 0002:002af430 __unwindfunclet$?do_get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f3430 f libcpmtd:wlocale.obj + 0002:002af438 __ehhandler$?do_get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f3438 f libcpmtd:wlocale.obj + 0002:002af460 __unwindfunclet$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z$0 007f3460 f libcpmtd:wlocale.obj + 0002:002af468 __unwindfunclet$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z$1 007f3468 f libcpmtd:wlocale.obj + 0002:002af470 __ehhandler$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 007f3470 f libcpmtd:wlocale.obj + 0002:002af4b0 __unwindfunclet$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z$0 007f34b0 f libcpmtd:wlocale.obj + 0002:002af4b8 __unwindfunclet$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z$1 007f34b8 f libcpmtd:wlocale.obj + 0002:002af4c0 __ehhandler$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z 007f34c0 f libcpmtd:wlocale.obj + 0002:002af500 __unwindfunclet$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$0 007f3500 f libcpmtd:wlocale.obj + 0002:002af508 __unwindfunclet$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$1 007f3508 f libcpmtd:wlocale.obj + 0002:002af510 __ehhandler$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 007f3510 f libcpmtd:wlocale.obj + 0002:002af550 __unwindfunclet$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z$0 007f3550 f libcpmtd:wlocale.obj + 0002:002af558 __unwindfunclet$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z$1 007f3558 f libcpmtd:wlocale.obj + 0002:002af560 __ehhandler$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z 007f3560 f libcpmtd:wlocale.obj + 0002:002af5a0 __unwindfunclet$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z$0 007f35a0 f libcpmtd:wlocale.obj + 0002:002af5a8 __ehhandler$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z 007f35a8 f libcpmtd:wlocale.obj + 0002:002af5e0 __unwindfunclet$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z$0 007f35e0 f libcpmtd:wlocale.obj + 0002:002af5e8 __ehhandler$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z 007f35e8 f libcpmtd:wlocale.obj + 0002:002af620 __unwindfunclet$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z$0 007f3620 f libcpmtd:wlocale.obj + 0002:002af62b __unwindfunclet$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z$1 007f362b f libcpmtd:wlocale.obj + 0002:002af633 __ehhandler$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z 007f3633 f libcpmtd:wlocale.obj + 0002:002af670 __unwindfunclet$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WN@Z$0 007f3670 f libcpmtd:wlocale.obj + 0002:002af678 __ehhandler$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WN@Z 007f3678 f libcpmtd:wlocale.obj + 0002:002af6b0 __unwindfunclet$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WO@Z$0 007f36b0 f libcpmtd:wlocale.obj + 0002:002af6b8 __ehhandler$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WO@Z 007f36b8 f libcpmtd:wlocale.obj + 0002:002af6f0 __unwindfunclet$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z$0 007f36f0 f libcpmtd:wlocale.obj + 0002:002af6fb __unwindfunclet$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z$1 007f36fb f libcpmtd:wlocale.obj + 0002:002af703 __ehhandler$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z 007f3703 f libcpmtd:wlocale.obj + 0002:002af740 __unwindfunclet$?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z$0 007f3740 f libcpmtd:wlocale.obj + 0002:002af748 __unwindfunclet$?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z$1 007f3748 f libcpmtd:wlocale.obj + 0002:002af750 __ehhandler$?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z 007f3750 f libcpmtd:wlocale.obj + 0002:002af790 __unwindfunclet$?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z$0 007f3790 f libcpmtd:wlocale.obj + 0002:002af798 __unwindfunclet$?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z$1 007f3798 f libcpmtd:wlocale.obj + 0002:002af7a0 __ehhandler$?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z 007f37a0 f libcpmtd:wlocale.obj + 0002:002af7e0 __unwindfunclet$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z$0 007f37e0 f libcpmtd:wlocale.obj + 0002:002af7e8 __unwindfunclet$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z$1 007f37e8 f libcpmtd:wlocale.obj + 0002:002af7f0 __unwindfunclet$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z$2 007f37f0 f libcpmtd:wlocale.obj + 0002:002af7f8 __ehhandler$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z 007f37f8 f libcpmtd:wlocale.obj + 0002:002af830 __unwindfunclet$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z$0 007f3830 f libcpmtd:wlocale.obj + 0002:002af838 __unwindfunclet$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z$1 007f3838 f libcpmtd:wlocale.obj + 0002:002af840 __unwindfunclet$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z$2 007f3840 f libcpmtd:wlocale.obj + 0002:002af848 __ehhandler$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z 007f3848 f libcpmtd:wlocale.obj + 0002:002af880 __ehhandler$?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 007f3880 f libcpmtd:wlocale.obj + 0002:002af8b0 __ehhandler$?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 007f38b0 f libcpmtd:wlocale.obj + 0002:002af8e0 __unwindfunclet$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ$0 007f38e0 f libcpmtd:wlocale.obj + 0002:002af8f9 __ehhandler$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 007f38f9 f libcpmtd:wlocale.obj + 0002:002af930 __unwindfunclet$??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z$0 007f3930 f libcpmtd:xlocale.obj + 0002:002af938 __unwindfunclet$??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z$1 007f3938 f libcpmtd:xlocale.obj + 0002:002af940 __ehhandler$??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z 007f3940 f libcpmtd:xlocale.obj + 0002:002af970 __unwindfunclet$??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z$0 007f3970 f libcpmtd:xlocale.obj + 0002:002af978 __unwindfunclet$??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z$1 007f3978 f libcpmtd:xlocale.obj + 0002:002af980 __ehhandler$??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z 007f3980 f libcpmtd:xlocale.obj + 0002:002af9b0 __unwindfunclet$??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007f39b0 f libcpmtd:xlocale.obj + 0002:002af9b8 __unwindfunclet$??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007f39b8 f libcpmtd:xlocale.obj + 0002:002af9c0 __ehhandler$??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007f39c0 f libcpmtd:xlocale.obj + 0002:002af9f0 __unwindfunclet$??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007f39f0 f libcpmtd:xlocale.obj + 0002:002af9f8 __unwindfunclet$??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007f39f8 f libcpmtd:xlocale.obj + 0002:002afa00 __ehhandler$??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007f3a00 f libcpmtd:xlocale.obj + 0002:002afa30 __unwindfunclet$??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z$0 007f3a30 f libcpmtd:xlocale.obj + 0002:002afa38 __unwindfunclet$??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z$1 007f3a38 f libcpmtd:xlocale.obj + 0002:002afa40 __ehhandler$??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z 007f3a40 f libcpmtd:xlocale.obj + 0002:002afa70 __unwindfunclet$??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z$0 007f3a70 f libcpmtd:xlocale.obj + 0002:002afa78 __unwindfunclet$??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z$1 007f3a78 f libcpmtd:xlocale.obj + 0002:002afa80 __ehhandler$??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z 007f3a80 f libcpmtd:xlocale.obj + 0002:002afab0 __unwindfunclet$??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007f3ab0 f libcpmtd:xlocale.obj + 0002:002afab8 __unwindfunclet$??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007f3ab8 f libcpmtd:xlocale.obj + 0002:002afac0 __ehhandler$??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007f3ac0 f libcpmtd:xlocale.obj + 0002:002afaf0 __unwindfunclet$??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$0 007f3af0 f libcpmtd:xlocale.obj + 0002:002afaf8 __unwindfunclet$??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z$1 007f3af8 f libcpmtd:xlocale.obj + 0002:002afb00 __ehhandler$??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 007f3b00 f libcpmtd:xlocale.obj + 0002:002afb30 __unwindfunclet$??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N1@Z$0 007f3b30 f libcpmtd:xlocale.obj + 0002:002afb38 __ehhandler$??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N1@Z 007f3b38 f libcpmtd:xlocale.obj + 0002:002afb60 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z$0 007f3b60 f libcpmtd:xlocale.obj + 0002:002afb68 __unwindfunclet$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z$1 007f3b68 f libcpmtd:xlocale.obj + 0002:002afb70 __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z 007f3b70 f libcpmtd:xlocale.obj + 0002:002afba0 __unwindfunclet$??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3ba0 f libcpmtd:xlocale.obj + 0002:002afba8 __ehhandler$??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z 007f3ba8 f libcpmtd:xlocale.obj + 0002:002afbd0 __unwindfunclet$??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3bd0 f libcpmtd:xlocale.obj + 0002:002afbd8 __ehhandler$??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z 007f3bd8 f libcpmtd:xlocale.obj + 0002:002afc00 __unwindfunclet$??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3c00 f libcpmtd:xlocale.obj + 0002:002afc08 __ehhandler$??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f3c08 f libcpmtd:xlocale.obj + 0002:002afc30 __unwindfunclet$??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3c30 f libcpmtd:xlocale.obj + 0002:002afc38 __ehhandler$??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f3c38 f libcpmtd:xlocale.obj + 0002:002afc60 __unwindfunclet$??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3c60 f libcpmtd:xlocale.obj + 0002:002afc68 __ehhandler$??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f3c68 f libcpmtd:xlocale.obj + 0002:002afc90 __unwindfunclet$??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$0 007f3c90 f libcpmtd:xlocale.obj + 0002:002afc98 __unwindfunclet$??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z$1 007f3c98 f libcpmtd:xlocale.obj + 0002:002afca3 __ehhandler$??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 007f3ca3 f libcpmtd:xlocale.obj + 0002:002afcd0 __unwindfunclet$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z$0 007f3cd0 f libcpmtd:xlocale.obj + 0002:002afcd8 __ehhandler$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 007f3cd8 f libcpmtd:xlocale.obj + 0002:002afd00 __unwindfunclet$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3d00 f libcpmtd:xlocale.obj + 0002:002afd0b __unwindfunclet$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3d0b f libcpmtd:xlocale.obj + 0002:002afd24 __unwindfunclet$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$2 007f3d24 f libcpmtd:xlocale.obj + 0002:002afd40 __ehhandler$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3d40 f libcpmtd:xlocale.obj + 0002:002afd80 __unwindfunclet$?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3d80 f libcpmtd:xlocale.obj + 0002:002afd8b __unwindfunclet$?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3d8b f libcpmtd:xlocale.obj + 0002:002afda4 __ehhandler$?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3da4 f libcpmtd:xlocale.obj + 0002:002afdd0 __unwindfunclet$?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3dd0 f libcpmtd:xlocale.obj + 0002:002afddb __unwindfunclet$?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3ddb f libcpmtd:xlocale.obj + 0002:002afdf4 __ehhandler$?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3df4 f libcpmtd:xlocale.obj + 0002:002afe20 __unwindfunclet$?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3e20 f libcpmtd:xlocale.obj + 0002:002afe2b __unwindfunclet$?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3e2b f libcpmtd:xlocale.obj + 0002:002afe44 __ehhandler$?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3e44 f libcpmtd:xlocale.obj + 0002:002afe70 __unwindfunclet$?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3e70 f libcpmtd:xlocale.obj + 0002:002afe7b __unwindfunclet$?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3e7b f libcpmtd:xlocale.obj + 0002:002afe94 __ehhandler$?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3e94 f libcpmtd:xlocale.obj + 0002:002afec0 __unwindfunclet$?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3ec0 f libcpmtd:xlocale.obj + 0002:002afecb __unwindfunclet$?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3ecb f libcpmtd:xlocale.obj + 0002:002afee4 __ehhandler$?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3ee4 f libcpmtd:xlocale.obj + 0002:002aff10 __unwindfunclet$?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3f10 f libcpmtd:xlocale.obj + 0002:002aff1b __unwindfunclet$?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3f1b f libcpmtd:xlocale.obj + 0002:002aff34 __ehhandler$?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3f34 f libcpmtd:xlocale.obj + 0002:002aff60 __unwindfunclet$?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$0 007f3f60 f libcpmtd:xlocale.obj + 0002:002aff6b __unwindfunclet$?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z$1 007f3f6b f libcpmtd:xlocale.obj + 0002:002aff84 __ehhandler$?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 007f3f84 f libcpmtd:xlocale.obj + 0002:002affb0 __unwindfunclet$?_Getfmt@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z$0 007f3fb0 f libcpmtd:xlocale.obj + 0002:002affb8 __ehhandler$?_Getfmt@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 007f3fb8 f libcpmtd:xlocale.obj + 0002:002affe0 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$0 007f3fe0 f libcpmtd:xlocale.obj + 0002:002affeb __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$1 007f3feb f libcpmtd:xlocale.obj + 0002:002afff6 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$2 007f3ff6 f libcpmtd:xlocale.obj + 0002:002afffe __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$3 007f3ffe f libcpmtd:xlocale.obj + 0002:002b0006 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$4 007f4006 f libcpmtd:xlocale.obj + 0002:002b0011 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$5 007f4011 f libcpmtd:xlocale.obj + 0002:002b0019 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$6 007f4019 f libcpmtd:xlocale.obj + 0002:002b0024 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$8 007f4024 f libcpmtd:xlocale.obj + 0002:002b0046 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$9 007f4046 f libcpmtd:xlocale.obj + 0002:002b0051 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$10 007f4051 f libcpmtd:xlocale.obj + 0002:002b0073 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$11 007f4073 f libcpmtd:xlocale.obj + 0002:002b0095 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$13 007f4095 f libcpmtd:xlocale.obj + 0002:002b00b7 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$14 007f40b7 f libcpmtd:xlocale.obj + 0002:002b00d9 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$16 007f40d9 f libcpmtd:xlocale.obj + 0002:002b00fb __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$18 007f40fb f libcpmtd:xlocale.obj + 0002:002b0106 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$19 007f4106 f libcpmtd:xlocale.obj + 0002:002b010e __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$20 007f410e f libcpmtd:xlocale.obj + 0002:002b0119 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$21 007f4119 f libcpmtd:xlocale.obj + 0002:002b0140 __unwindfunclet$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z$22 007f4140 f libcpmtd:xlocale.obj + 0002:002b014b __ehhandler$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z 007f414b f libcpmtd:xlocale.obj + 0002:002b01e0 __unwindfunclet$?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@_N@Z$0 007f41e0 f libcpmtd:xlocale.obj + 0002:002b01e8 __ehhandler$?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 007f41e8 f libcpmtd:xlocale.obj + 0002:002b0220 __unwindfunclet$?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f4220 f libcpmtd:xlocale.obj + 0002:002b0228 __ehhandler$?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f4228 f libcpmtd:xlocale.obj + 0002:002b0250 __unwindfunclet$?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z$0 007f4250 f libcpmtd:xlocale.obj + 0002:002b0258 __ehhandler$?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 007f4258 f libcpmtd:xlocale.obj + 0002:002b0280 __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$0 007f4280 f libcpmtd:xlocale.obj + 0002:002b028b __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$1 007f428b f libcpmtd:xlocale.obj + 0002:002b0296 __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$2 007f4296 f libcpmtd:xlocale.obj + 0002:002b02a1 __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$3 007f42a1 f libcpmtd:xlocale.obj + 0002:002b02ac __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$4 007f42ac f libcpmtd:xlocale.obj + 0002:002b02b7 __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$5 007f42b7 f libcpmtd:xlocale.obj + 0002:002b02c2 __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$6 007f42c2 f libcpmtd:xlocale.obj + 0002:002b02cd __unwindfunclet$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z$7 007f42cd f libcpmtd:xlocale.obj + 0002:002b02d8 __ehhandler$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 007f42d8 f libcpmtd:xlocale.obj + 0002:002b0320 __unwindfunclet$?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@I@Z$0 007f4320 f libcpmtd:xlocale.obj + 0002:002b0328 __ehhandler$?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@I@Z 007f4328 f libcpmtd:xlocale.obj + 0002:002b0350 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$0 007f4350 f libcpmtd:xlocale.obj + 0002:002b035b __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$1 007f435b f libcpmtd:xlocale.obj + 0002:002b0366 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$2 007f4366 f libcpmtd:xlocale.obj + 0002:002b0371 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$3 007f4371 f libcpmtd:xlocale.obj + 0002:002b0379 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$4 007f4379 f libcpmtd:xlocale.obj + 0002:002b0381 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$7 007f4381 f libcpmtd:xlocale.obj + 0002:002b0389 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$9 007f4389 f libcpmtd:xlocale.obj + 0002:002b0394 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$11 007f4394 f libcpmtd:xlocale.obj + 0002:002b039f __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$13 007f439f f libcpmtd:xlocale.obj + 0002:002b03aa __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$15 007f43aa f libcpmtd:xlocale.obj + 0002:002b03b5 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$17 007f43b5 f libcpmtd:xlocale.obj + 0002:002b03c0 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$19 007f43c0 f libcpmtd:xlocale.obj + 0002:002b03cb __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$20 007f43cb f libcpmtd:xlocale.obj + 0002:002b03d6 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$22 007f43d6 f libcpmtd:xlocale.obj + 0002:002b03e1 __unwindfunclet$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$23 007f43e1 f libcpmtd:xlocale.obj + 0002:002b03ec __ehhandler$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z 007f43ec f libcpmtd:xlocale.obj + 0002:002b0450 __unwindfunclet$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z$0 007f4450 f libcpmtd:xlocale.obj + 0002:002b0458 __ehhandler$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 007f4458 f libcpmtd:xlocale.obj + 0002:002b0490 __unwindfunclet$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z$0 007f4490 f libcpmtd:xlocale.obj + 0002:002b0498 __ehhandler$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 007f4498 f libcpmtd:xlocale.obj + 0002:002b04d0 __unwindfunclet$?do_get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z$0 007f44d0 f libcpmtd:xlocale.obj + 0002:002b04db __ehhandler$?do_get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 007f44db f libcpmtd:xlocale.obj + 0002:002b0510 __unwindfunclet$?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f4510 f libcpmtd:xlocale.obj + 0002:002b0518 __ehhandler$?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f4518 f libcpmtd:xlocale.obj + 0002:002b0540 __unwindfunclet$?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f4540 f libcpmtd:xlocale.obj + 0002:002b0548 __ehhandler$?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f4548 f libcpmtd:xlocale.obj + 0002:002b0570 __unwindfunclet$?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z$0 007f4570 f libcpmtd:xlocale.obj + 0002:002b0578 __ehhandler$?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 007f4578 f libcpmtd:xlocale.obj + 0002:002b05a0 __unwindfunclet$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z$0 007f45a0 f libcpmtd:xlocale.obj + 0002:002b05a8 __unwindfunclet$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z$1 007f45a8 f libcpmtd:xlocale.obj + 0002:002b05b0 __ehhandler$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 007f45b0 f libcpmtd:xlocale.obj + 0002:002b05f0 __unwindfunclet$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z$0 007f45f0 f libcpmtd:xlocale.obj + 0002:002b05f8 __unwindfunclet$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z$1 007f45f8 f libcpmtd:xlocale.obj + 0002:002b0600 __ehhandler$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z 007f4600 f libcpmtd:xlocale.obj + 0002:002b0640 __unwindfunclet$?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z$0 007f4640 f libcpmtd:xlocale.obj + 0002:002b0648 __unwindfunclet$?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z$1 007f4648 f libcpmtd:xlocale.obj + 0002:002b0650 __ehhandler$?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z 007f4650 f libcpmtd:xlocale.obj + 0002:002b0690 __unwindfunclet$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z$0 007f4690 f libcpmtd:xlocale.obj + 0002:002b0698 __unwindfunclet$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z$1 007f4698 f libcpmtd:xlocale.obj + 0002:002b06a0 __unwindfunclet$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z$2 007f46a0 f libcpmtd:xlocale.obj + 0002:002b06a8 __ehhandler$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z 007f46a8 f libcpmtd:xlocale.obj + 0002:002b06e0 __ehhandler$??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ 007f46e0 f libconcrtd:rtlocks.obj + 0002:002b0710 __ehhandler$??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ 007f4710 f libconcrtd:rtlocks.obj + 0002:002b0740 __ehhandler$??1scoped_lock@critical_section@Concurrency@@QAE@XZ 007f4740 f libconcrtd:rtlocks.obj + 0002:002b0770 __ehhandler$??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ 007f4770 f libconcrtd:rtlocks.obj + 0002:002b07a0 __ehhandler$??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ 007f47a0 f libconcrtd:rtlocks.obj + 0002:002b07d0 __unwindfunclet$?try_lock_for@critical_section@Concurrency@@QAE_NI@Z$0 007f47d0 f libconcrtd:rtlocks.obj + 0002:002b07df __ehhandler$?try_lock_for@critical_section@Concurrency@@QAE_NI@Z 007f47df f libconcrtd:rtlocks.obj + 0002:002b0810 __ehhandler$??1MultiWaitBlockHolder@details@Concurrency@@QAE@XZ 007f4810 f libconcrtd:event.obj + 0002:002b0840 __ehhandler$??1_Condition_variable@details@Concurrency@@QAE@XZ 007f4840 f libconcrtd:event.obj + 0002:002b0870 __ehhandler$??1event@Concurrency@@QAE@XZ 007f4870 f libconcrtd:event.obj + 0002:002b08a0 __unwindfunclet$?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ$0 007f48a0 f libconcrtd:event.obj + 0002:002b08a8 __ehhandler$?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ 007f48a8 f libconcrtd:event.obj + 0002:002b08d0 __unwindfunclet$?reset@event@Concurrency@@QAEXXZ$0 007f48d0 f libconcrtd:event.obj + 0002:002b08d8 __ehhandler$?reset@event@Concurrency@@QAEXXZ 007f48d8 f libconcrtd:event.obj + 0002:002b0900 __unwindfunclet$?set@event@Concurrency@@QAEXXZ$0 007f4900 f libconcrtd:event.obj + 0002:002b0908 __unwindfunclet$?set@event@Concurrency@@QAEXXZ$1 007f4908 f libconcrtd:event.obj + 0002:002b0910 __ehhandler$?set@event@Concurrency@@QAEXXZ 007f4910 f libconcrtd:event.obj + 0002:002b0940 __unwindfunclet$?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z$0 007f4940 f libconcrtd:event.obj + 0002:002b0948 __ehhandler$?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z 007f4948 f libconcrtd:event.obj + 0002:002b0970 __unwindfunclet$?wait@event@Concurrency@@QAEII@Z$0 007f4970 f libconcrtd:event.obj + 0002:002b0978 __ehhandler$?wait@event@Concurrency@@QAEII@Z 007f4978 f libconcrtd:event.obj + 0002:002b09a0 __unwindfunclet$?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z$0 007f49a0 f libconcrtd:event.obj + 0002:002b09be __unwindfunclet$?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z$1 007f49be f libconcrtd:event.obj + 0002:002b09c6 __ehhandler$?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z 007f49c6 f libconcrtd:event.obj + 0002:002b0a00 __unwindfunclet$?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z$0 007f4a00 f libconcrtd:event.obj + 0002:002b0a08 __unwindfunclet$?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z$1 007f4a08 f libconcrtd:event.obj + 0002:002b0a13 __ehhandler$?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z 007f4a13 f libconcrtd:event.obj + 0002:002b0a40 __ehhandler$??1WaiterThreadPool@platform@details@Concurrency@@QAE@XZ 007f4a40 f libconcrtd:Platform.obj + 0002:002b0a70 __unwindfunclet$??0ResourceManager@details@Concurrency@@AAE@XZ$0 007f4a70 f libconcrtd:ResourceManager.obj + 0002:002b0a7b __unwindfunclet$??0ResourceManager@details@Concurrency@@AAE@XZ$1 007f4a7b f libconcrtd:ResourceManager.obj + 0002:002b0a86 __ehhandler$??0ResourceManager@details@Concurrency@@AAE@XZ 007f4a86 f libconcrtd:ResourceManager.obj + 0002:002b0ab0 __ehhandler$??1ResourceManager@details@Concurrency@@AAE@XZ 007f4ab0 f libconcrtd:ResourceManager.obj + 0002:002b0ae0 __ehhandler$??1_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 007f4ae0 f libconcrtd:ResourceManager.obj + 0002:002b0b10 __ehhandler$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 007f4b10 f libconcrtd:ResourceManager.obj + 0002:002b0b40 __ehhandler$??_EGlobalNode@details@Concurrency@@QAEPAXI@Z 007f4b40 f libconcrtd:ResourceManager.obj + 0002:002b0b70 __unwindfunclet$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ$0 007f4b70 f libconcrtd:ResourceManager.obj + 0002:002b0b8e __unwindfunclet$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ$1 007f4b8e f libconcrtd:ResourceManager.obj + 0002:002b0bac __unwindfunclet$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ$2 007f4bac f libconcrtd:ResourceManager.obj + 0002:002b0bca __unwindfunclet$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ$3 007f4bca f libconcrtd:ResourceManager.obj + 0002:002b0be8 __ehhandler$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ 007f4be8 f libconcrtd:ResourceManager.obj + 0002:002b0c40 __unwindfunclet$?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ$0 007f4c40 f libconcrtd:ResourceManager.obj + 0002:002b0c5e __ehhandler$?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ 007f4c5e f libconcrtd:ResourceManager.obj + 0002:002b0c90 __unwindfunclet$?CreateNodeTopology@ResourceManager@details@Concurrency@@UAEXIPAIPAPAI0@Z$0 007f4c90 f libconcrtd:ResourceManager.obj + 0002:002b0c98 __ehhandler$?CreateNodeTopology@ResourceManager@details@Concurrency@@UAEXIPAIPAPAI0@Z 007f4c98 f libconcrtd:ResourceManager.obj + 0002:002b0cc0 __unwindfunclet$?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z$0 007f4cc0 f libconcrtd:ResourceManager.obj + 0002:002b0cc8 __unwindfunclet$?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z$1 007f4cc8 f libconcrtd:ResourceManager.obj + 0002:002b0ce6 __ehhandler$?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z 007f4ce6 f libconcrtd:ResourceManager.obj + 0002:002b0d20 __unwindfunclet$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ$0 007f4d20 f libconcrtd:ResourceManager.obj + 0002:002b0d28 __unwindfunclet$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ$1 007f4d28 f libconcrtd:ResourceManager.obj + 0002:002b0d46 __unwindfunclet$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ$2 007f4d46 f libconcrtd:ResourceManager.obj + 0002:002b0d64 __ehhandler$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ 007f4d64 f libconcrtd:ResourceManager.obj + 0002:002b0da0 __unwindfunclet$?CurrentSubscriptionLevel@ResourceManager@details@Concurrency@@QAEIII@Z$0 007f4da0 f libconcrtd:ResourceManager.obj + 0002:002b0da8 __ehhandler$?CurrentSubscriptionLevel@ResourceManager@details@Concurrency@@QAEIII@Z 007f4da8 f libconcrtd:ResourceManager.obj + 0002:002b0dd0 __unwindfunclet$?DynamicResourceManager@ResourceManager@details@Concurrency@@AAEXXZ$0 007f4dd0 f libconcrtd:ResourceManager.obj + 0002:002b0dd8 __ehhandler$?DynamicResourceManager@ResourceManager@details@Concurrency@@AAEXXZ 007f4dd8 f libconcrtd:ResourceManager.obj + 0002:002b0e00 __unwindfunclet$?GetCoreCount@ResourceManager@details@Concurrency@@SAIXZ$0 007f4e00 f libconcrtd:ResourceManager.obj + 0002:002b0e08 __ehhandler$?GetCoreCount@ResourceManager@details@Concurrency@@SAIXZ 007f4e08 f libconcrtd:ResourceManager.obj + 0002:002b0e30 __unwindfunclet$?GetNodeCount@ResourceManager@details@Concurrency@@SAIXZ$0 007f4e30 f libconcrtd:ResourceManager.obj + 0002:002b0e38 __ehhandler$?GetNodeCount@ResourceManager@details@Concurrency@@SAIXZ 007f4e38 f libconcrtd:ResourceManager.obj + 0002:002b0e60 __unwindfunclet$?Initialize@GlobalCore@details@Concurrency@@QAEXPAUGlobalNode@23@IE@Z$0 007f4e60 f libconcrtd:ResourceManager.obj + 0002:002b0e7e __ehhandler$?Initialize@GlobalCore@details@Concurrency@@QAEXPAUGlobalNode@23@IE@Z 007f4e7e f libconcrtd:ResourceManager.obj + 0002:002b0eb0 __unwindfunclet$?Initialize@GlobalNode@details@Concurrency@@QAEXPAVResourceManager@23@GGKII@Z$0 007f4eb0 f libconcrtd:ResourceManager.obj + 0002:002b0ece __ehhandler$?Initialize@GlobalNode@details@Concurrency@@QAEXPAVResourceManager@23@GGKII@Z 007f4ece f libconcrtd:ResourceManager.obj + 0002:002b0f00 __unwindfunclet$?Release@ResourceManager@details@Concurrency@@UAEIXZ$0 007f4f00 f libconcrtd:ResourceManager.obj + 0002:002b0f08 __ehhandler$?Release@ResourceManager@details@Concurrency@@UAEIXZ 007f4f08 f libconcrtd:ResourceManager.obj + 0002:002b0f30 __unwindfunclet$?RemoveExecutionResource@ResourceManager@details@Concurrency@@QAEXPAVExecutionResource@23@@Z$0 007f4f30 f libconcrtd:ResourceManager.obj + 0002:002b0f38 __ehhandler$?RemoveExecutionResource@ResourceManager@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 007f4f38 f libconcrtd:ResourceManager.obj + 0002:002b0f60 __unwindfunclet$?RequestInitialVirtualProcessors@ResourceManager@details@Concurrency@@QAEPAUIExecutionResource@3@PAVSchedulerProxy@23@_N@Z$0 007f4f60 f libconcrtd:ResourceManager.obj + 0002:002b0f68 __ehhandler$?RequestInitialVirtualProcessors@ResourceManager@details@Concurrency@@QAEPAUIExecutionResource@3@PAVSchedulerProxy@23@_N@Z 007f4f68 f libconcrtd:ResourceManager.obj + 0002:002b0f90 __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z$0 007f4f90 f libconcrtd:ResourceManager.obj + 0002:002b0f9b __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z$1 007f4f9b f libconcrtd:ResourceManager.obj + 0002:002b0fb9 __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z$2 007f4fb9 f libconcrtd:ResourceManager.obj + 0002:002b0fda __ehhandler$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z 007f4fda f libconcrtd:ResourceManager.obj + 0002:002b1020 __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z$0 007f5020 f libconcrtd:ResourceManager.obj + 0002:002b1028 __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z$1 007f5028 f libconcrtd:ResourceManager.obj + 0002:002b1046 __unwindfunclet$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z$2 007f5046 f libconcrtd:ResourceManager.obj + 0002:002b1064 __ehhandler$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z 007f5064 f libconcrtd:ResourceManager.obj + 0002:002b10b0 __unwindfunclet$?Shutdown@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z$0 007f50b0 f libconcrtd:ResourceManager.obj + 0002:002b10b8 __ehhandler$?Shutdown@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 007f50b8 f libconcrtd:ResourceManager.obj + 0002:002b10e0 __unwindfunclet$?SubscribeCurrentThread@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@@Z$0 007f50e0 f libconcrtd:ResourceManager.obj + 0002:002b10e8 __ehhandler$?SubscribeCurrentThread@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@@Z 007f50e8 f libconcrtd:ResourceManager.obj + 0002:002b1110 __unwindfunclet$?Version@ResourceManager@details@Concurrency@@SA?AW4OSVersion@IResourceManager@3@XZ$0 007f5110 f libconcrtd:ResourceManager.obj + 0002:002b1118 __ehhandler$?Version@ResourceManager@details@Concurrency@@SA?AW4OSVersion@IResourceManager@3@XZ 007f5118 f libconcrtd:ResourceManager.obj + 0002:002b1140 __unwindfunclet$??0?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f5140 f libconcrtd:SchedulerBase.obj + 0002:002b115e __ehhandler$??0?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f515e f libconcrtd:SchedulerBase.obj + 0002:002b1190 __unwindfunclet$??0?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f5190 f libconcrtd:SchedulerBase.obj + 0002:002b11ae __ehhandler$??0?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f51ae f libconcrtd:SchedulerBase.obj + 0002:002b11e0 __unwindfunclet$??0CacheLocalScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$0 007f51e0 f libconcrtd:SchedulerBase.obj + 0002:002b11e8 __ehhandler$??0CacheLocalScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 007f51e8 f libconcrtd:SchedulerBase.obj + 0002:002b1210 __unwindfunclet$??0FairScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z$0 007f5210 f libconcrtd:SchedulerBase.obj + 0002:002b1218 __ehhandler$??0FairScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 007f5218 f libconcrtd:SchedulerBase.obj + 0002:002b1240 __unwindfunclet$??0FairScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$0 007f5240 f libconcrtd:SchedulerBase.obj + 0002:002b1248 __ehhandler$??0FairScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 007f5248 f libconcrtd:SchedulerBase.obj + 0002:002b1270 __unwindfunclet$??0NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ$0 007f5270 f libconcrtd:SchedulerBase.obj + 0002:002b1278 __ehhandler$??0NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ 007f5278 f libconcrtd:SchedulerBase.obj + 0002:002b12a0 __unwindfunclet$??0RealizedChore@details@Concurrency@@QAE@P6AXPAX@Z0@Z$0 007f52a0 f libconcrtd:SchedulerBase.obj + 0002:002b12a8 __ehhandler$??0RealizedChore@details@Concurrency@@QAE@P6AXPAX@Z0@Z 007f52a8 f libconcrtd:SchedulerBase.obj + 0002:002b12d0 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$0 007f52d0 f libconcrtd:SchedulerBase.obj + 0002:002b12d8 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$1 007f52d8 f libconcrtd:SchedulerBase.obj + 0002:002b12e3 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$2 007f52e3 f libconcrtd:SchedulerBase.obj + 0002:002b12ee __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$3 007f52ee f libconcrtd:SchedulerBase.obj + 0002:002b12f9 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$4 007f52f9 f libconcrtd:SchedulerBase.obj + 0002:002b1304 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$5 007f5304 f libconcrtd:SchedulerBase.obj + 0002:002b130f __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$6 007f530f f libconcrtd:SchedulerBase.obj + 0002:002b131a __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$7 007f531a f libconcrtd:SchedulerBase.obj + 0002:002b1328 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$8 007f5328 f libconcrtd:SchedulerBase.obj + 0002:002b1336 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$9 007f5336 f libconcrtd:SchedulerBase.obj + 0002:002b1344 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$10 007f5344 f libconcrtd:SchedulerBase.obj + 0002:002b1352 __unwindfunclet$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z$11 007f5352 f libconcrtd:SchedulerBase.obj + 0002:002b1360 __ehhandler$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 007f5360 f libconcrtd:SchedulerBase.obj + 0002:002b13b0 __ehhandler$??1?$Hash@II@details@Concurrency@@QAE@XZ 007f53b0 f libconcrtd:SchedulerBase.obj + 0002:002b13e0 __ehhandler$??1?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f53e0 f libconcrtd:SchedulerBase.obj + 0002:002b1410 __ehhandler$??1?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f5410 f libconcrtd:SchedulerBase.obj + 0002:002b1440 __ehhandler$??1SchedulerBase@details@Concurrency@@UAE@XZ 007f5440 f libconcrtd:SchedulerBase.obj + 0002:002b1470 __ehhandler$??1SubAllocator@details@Concurrency@@QAE@XZ 007f5470 f libconcrtd:SchedulerBase.obj + 0002:002b14a0 __ehhandler$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 007f54a0 f libconcrtd:SchedulerBase.obj + 0002:002b14d0 __ehhandler$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 007f54d0 f libconcrtd:SchedulerBase.obj + 0002:002b1500 __ehhandler$??_ENumaInformation@SchedulerBase@details@Concurrency@@QAEPAXI@Z 007f5500 f libconcrtd:SchedulerBase.obj + 0002:002b1530 __unwindfunclet$?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z$0 007f5530 f libconcrtd:SchedulerBase.obj + 0002:002b154e __ehhandler$?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z 007f554e f libconcrtd:SchedulerBase.obj + 0002:002b1580 __unwindfunclet$?AddContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z$0 007f5580 f libconcrtd:SchedulerBase.obj + 0002:002b159e __ehhandler$?AddContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 007f559e f libconcrtd:SchedulerBase.obj + 0002:002b15d0 __unwindfunclet$?AddTail@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z$0 007f55d0 f libconcrtd:SchedulerBase.obj + 0002:002b15d8 __ehhandler$?AddTail@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z 007f55d8 f libconcrtd:SchedulerBase.obj + 0002:002b1600 __unwindfunclet$?AllocateSegment@CacheLocalScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z$0 007f5600 f libconcrtd:SchedulerBase.obj + 0002:002b161e __ehhandler$?AllocateSegment@CacheLocalScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 007f561e f libconcrtd:SchedulerBase.obj + 0002:002b1650 __unwindfunclet$?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z$0 007f5650 f libconcrtd:SchedulerBase.obj + 0002:002b1658 __unwindfunclet$?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z$1 007f5658 f libconcrtd:SchedulerBase.obj + 0002:002b1676 __ehhandler$?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 007f5676 f libconcrtd:SchedulerBase.obj + 0002:002b16b0 __unwindfunclet$?CheckStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ$0 007f56b0 f libconcrtd:SchedulerBase.obj + 0002:002b16b8 __ehhandler$?CheckStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 007f56b8 f libconcrtd:SchedulerBase.obj + 0002:002b16e0 __unwindfunclet$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ$0 007f56e0 f libconcrtd:SchedulerBase.obj + 0002:002b16e8 __ehhandler$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 007f56e8 f libconcrtd:SchedulerBase.obj + 0002:002b1710 __unwindfunclet$?Dequeue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ$0 007f5710 f libconcrtd:SchedulerBase.obj + 0002:002b1718 __ehhandler$?Dequeue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 007f5718 f libconcrtd:SchedulerBase.obj + 0002:002b1740 __unwindfunclet$?FoundAvailableVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z$0 007f5740 f libconcrtd:SchedulerBase.obj + 0002:002b1748 __ehhandler$?FoundAvailableVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 007f5748 f libconcrtd:SchedulerBase.obj + 0002:002b1770 __unwindfunclet$?GetBitSet@SchedulerBase@details@Concurrency@@QAE?AVQuickBitSet@23@PBVlocation@3@@Z$0 007f5770 f libconcrtd:SchedulerBase.obj + 0002:002b1778 __ehhandler$?GetBitSet@SchedulerBase@details@Concurrency@@QAE?AVQuickBitSet@23@PBVlocation@3@@Z 007f5778 f libconcrtd:SchedulerBase.obj + 0002:002b17a0 __unwindfunclet$?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ$0 007f57a0 f libconcrtd:SchedulerBase.obj + 0002:002b17a8 __unwindfunclet$?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ$1 007f57a8 f libconcrtd:SchedulerBase.obj + 0002:002b17b0 __ehhandler$?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ 007f57b0 f libconcrtd:SchedulerBase.obj + 0002:002b17e0 __unwindfunclet$?GetExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z$0 007f57e0 f libconcrtd:SchedulerBase.obj + 0002:002b17fe __ehhandler$?GetExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z 007f57fe f libconcrtd:SchedulerBase.obj + 0002:002b1830 __ehhandler$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 007f5830 f libconcrtd:SchedulerBase.obj + 0002:002b1860 __unwindfunclet$?GetRealizedChore@SchedulerBase@details@Concurrency@@QAEPAVRealizedChore@23@P6AXPAX@Z0@Z$0 007f5860 f libconcrtd:SchedulerBase.obj + 0002:002b187e __ehhandler$?GetRealizedChore@SchedulerBase@details@Concurrency@@QAEPAVRealizedChore@23@P6AXPAX@Z0@Z 007f587e f libconcrtd:SchedulerBase.obj + 0002:002b18b0 __unwindfunclet$?GetSubAllocator@SchedulerBase@details@Concurrency@@SAPAVSubAllocator@23@_N@Z$0 007f58b0 f libconcrtd:SchedulerBase.obj + 0002:002b18ce __ehhandler$?GetSubAllocator@SchedulerBase@details@Concurrency@@SAPAVSubAllocator@23@_N@Z 007f58ce f libconcrtd:SchedulerBase.obj + 0002:002b1900 __unwindfunclet$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ$0 007f5900 f libconcrtd:SchedulerBase.obj + 0002:002b1921 __unwindfunclet$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ$1 007f5921 f libconcrtd:SchedulerBase.obj + 0002:002b192c __unwindfunclet$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ$2 007f592c f libconcrtd:SchedulerBase.obj + 0002:002b194d __unwindfunclet$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ$3 007f594d f libconcrtd:SchedulerBase.obj + 0002:002b196e __ehhandler$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ 007f596e f libconcrtd:SchedulerBase.obj + 0002:002b19b0 __unwindfunclet$?Insert@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABI0@Z$0 007f59b0 f libconcrtd:SchedulerBase.obj + 0002:002b19ce __ehhandler$?Insert@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABI0@Z 007f59ce f libconcrtd:SchedulerBase.obj + 0002:002b1a00 __unwindfunclet$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z$0 007f5a00 f libconcrtd:SchedulerBase.obj + 0002:002b1a1e __unwindfunclet$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z$1 007f5a1e f libconcrtd:SchedulerBase.obj + 0002:002b1a26 __unwindfunclet$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z$2 007f5a26 f libconcrtd:SchedulerBase.obj + 0002:002b1a44 __ehhandler$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z 007f5a44 f libconcrtd:SchedulerBase.obj + 0002:002b1a80 __unwindfunclet$?IsAvailableLocation@SchedulerBase@details@Concurrency@@UBE_NABVlocation@3@@Z$0 007f5a80 f libconcrtd:SchedulerBase.obj + 0002:002b1a88 __ehhandler$?IsAvailableLocation@SchedulerBase@details@Concurrency@@UBE_NABVlocation@3@@Z 007f5a88 f libconcrtd:SchedulerBase.obj + 0002:002b1ab0 __unwindfunclet$?PushRunnableToInactive@SchedulerBase@details@Concurrency@@UAE_NPAVInternalContextBase@23@Vlocation@3@@Z$0 007f5ab0 f libconcrtd:SchedulerBase.obj + 0002:002b1ab8 __ehhandler$?PushRunnableToInactive@SchedulerBase@details@Concurrency@@UAE_NPAVInternalContextBase@23@Vlocation@3@@Z 007f5ab8 f libconcrtd:SchedulerBase.obj + 0002:002b1ae0 __unwindfunclet$?RemoveHead@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ$0 007f5ae0 f libconcrtd:SchedulerBase.obj + 0002:002b1ae8 __ehhandler$?RemoveHead@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ 007f5ae8 f libconcrtd:SchedulerBase.obj + 0002:002b1b10 __unwindfunclet$?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z$0 007f5b10 f libconcrtd:SchedulerBase.obj + 0002:002b1b18 __unwindfunclet$?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z$1 007f5b18 f libconcrtd:SchedulerBase.obj + 0002:002b1b36 __ehhandler$?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z 007f5b36 f libconcrtd:SchedulerBase.obj + 0002:002b1b70 __unwindfunclet$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 007f5b70 f libconcrtd:SchedulerBase.obj + 0002:002b1b78 __ehhandler$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 007f5b78 f libconcrtd:SchedulerBase.obj + 0002:002b1ba0 __unwindfunclet$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z$0 007f5ba0 f libconcrtd:SchedulerBase.obj + 0002:002b1ba8 __ehhandler$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 007f5ba8 f libconcrtd:SchedulerBase.obj + 0002:002b1bd0 __unwindfunclet$?StartupVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@K@Z$0 007f5bd0 f libconcrtd:SchedulerBase.obj + 0002:002b1bd8 __ehhandler$?StartupVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@K@Z 007f5bd8 f libconcrtd:SchedulerBase.obj + 0002:002b1c00 __unwindfunclet$?StaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ$0 007f5c00 f libconcrtd:SchedulerBase.obj + 0002:002b1c08 __ehhandler$?StaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ 007f5c08 f libconcrtd:SchedulerBase.obj + 0002:002b1c30 __unwindfunclet$??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z$0 007f5c30 f libconcrtd:UMSThreadProxy.obj + 0002:002b1c38 __ehhandler$??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 007f5c38 f libconcrtd:UMSThreadProxy.obj + 0002:002b1c60 __ehhandler$??1UMSThreadProxy@details@Concurrency@@UAE@XZ 007f5c60 f libconcrtd:UMSThreadProxy.obj + 0002:002b1c90 __unwindfunclet$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z$0 007f5c90 f libconcrtd:ContextBase.obj + 0002:002b1c98 __unwindfunclet$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z$1 007f5c98 f libconcrtd:ContextBase.obj + 0002:002b1ca6 __unwindfunclet$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z$2 007f5ca6 f libconcrtd:ContextBase.obj + 0002:002b1cb4 __ehhandler$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 007f5cb4 f libconcrtd:ContextBase.obj + 0002:002b1ce0 __ehhandler$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 007f5ce0 f libconcrtd:ContextBase.obj + 0002:002b1d10 __ehhandler$??1_Cancellation_beacon@details@Concurrency@@QAE@XZ 007f5d10 f libconcrtd:ContextBase.obj + 0002:002b1d40 __ehhandler$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 007f5d40 f libconcrtd:ContextBase.obj + 0002:002b1d70 __ehhandler$??1_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 007f5d70 f libconcrtd:ContextBase.obj + 0002:002b1da0 __unwindfunclet$?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z$0 007f5da0 f libconcrtd:ContextBase.obj + 0002:002b1dbe __ehhandler$?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z 007f5dbe f libconcrtd:ContextBase.obj + 0002:002b1df0 __unwindfunclet$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 007f5df0 f libconcrtd:ContextBase.obj + 0002:002b1df8 __ehhandler$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 007f5df8 f libconcrtd:ContextBase.obj + 0002:002b1e20 __unwindfunclet$?CancelStealers@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z$0 007f5e20 f libconcrtd:ContextBase.obj + 0002:002b1e28 __ehhandler$?CancelStealers@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 007f5e28 f libconcrtd:ContextBase.obj + 0002:002b1e50 __unwindfunclet$?CreateStructuredWorkQueue@ContextBase@details@Concurrency@@QAEXXZ$0 007f5e50 f libconcrtd:ContextBase.obj + 0002:002b1e6e __ehhandler$?CreateStructuredWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 007f5e6e f libconcrtd:ContextBase.obj + 0002:002b1ea0 __unwindfunclet$?CreateWorkQueue@ContextBase@details@Concurrency@@QAEXXZ$0 007f5ea0 f libconcrtd:ContextBase.obj + 0002:002b1ebe __ehhandler$?CreateWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 007f5ebe f libconcrtd:ContextBase.obj + 0002:002b1ef0 __unwindfunclet$?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ$0 007f5ef0 f libconcrtd:ContextBase.obj + 0002:002b1f0e __unwindfunclet$?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ$1 007f5f0e f libconcrtd:ContextBase.obj + 0002:002b1f2c __ehhandler$?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ 007f5f2c f libconcrtd:ContextBase.obj + 0002:002b1f60 __unwindfunclet$?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z$0 007f5f60 f libconcrtd:ContextBase.obj + 0002:002b1f7e __unwindfunclet$?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z$1 007f5f7e f libconcrtd:ContextBase.obj + 0002:002b1f86 __ehhandler$?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 007f5f86 f libconcrtd:ContextBase.obj + 0002:002b1fc0 __unwindfunclet$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z$0 007f5fc0 f libconcrtd:ContextBase.obj + 0002:002b1fc8 __ehhandler$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 007f5fc8 f libconcrtd:ContextBase.obj + 0002:002b1ff0 __unwindfunclet$?SyncPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEPAV_UnrealizedChore@23@XZ$0 007f5ff0 f libconcrtd:ContextBase.obj + 0002:002b1ff8 __ehhandler$?SyncPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEPAV_UnrealizedChore@23@XZ 007f5ff8 f libconcrtd:ContextBase.obj + 0002:002b2020 __unwindfunclet$?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z$0 007f6020 f libconcrtd:ContextBase.obj + 0002:002b203e __unwindfunclet$?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z$1 007f603e f libconcrtd:ContextBase.obj + 0002:002b2046 __ehhandler$?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 007f6046 f libconcrtd:ContextBase.obj + 0002:002b2080 __unwindfunclet$??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z$0 007f6080 f libconcrtd:TaskCollection.obj + 0002:002b2088 __unwindfunclet$??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z$1 007f6088 f libconcrtd:TaskCollection.obj + 0002:002b2093 __ehhandler$??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z 007f6093 f libconcrtd:TaskCollection.obj + 0002:002b20c0 __unwindfunclet$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z$0 007f60c0 f libconcrtd:TaskCollection.obj + 0002:002b20c8 __ehhandler$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 007f60c8 f libconcrtd:TaskCollection.obj + 0002:002b20f0 __unwindfunclet$??0_TaskCollection@details@Concurrency@@AAE@PAV012@_N@Z$0 007f60f0 f libconcrtd:TaskCollection.obj + 0002:002b20fb __ehhandler$??0_TaskCollection@details@Concurrency@@AAE@PAV012@_N@Z 007f60fb f libconcrtd:TaskCollection.obj + 0002:002b2120 __unwindfunclet$??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z$0 007f6120 f libconcrtd:TaskCollection.obj + 0002:002b212b __ehhandler$??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 007f612b f libconcrtd:TaskCollection.obj + 0002:002b2150 __unwindfunclet$??0_TaskCollection@details@Concurrency@@QAE@XZ$0 007f6150 f libconcrtd:TaskCollection.obj + 0002:002b215b __ehhandler$??0_TaskCollection@details@Concurrency@@QAE@XZ 007f615b f libconcrtd:TaskCollection.obj + 0002:002b2180 __ehhandler$??1?$lock_guard@Vmutex@std@@@std@@QAE@XZ 007f6180 f libconcrtd:TaskCollection.obj + 0002:002b21b0 __ehhandler$??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ 007f61b0 f libconcrtd:TaskCollection.obj + 0002:002b21e0 __ehhandler$??1_TaskCollection@details@Concurrency@@QAE@XZ 007f61e0 f libconcrtd:TaskCollection.obj + 0002:002b2210 __ehhandler$??1exception_ptr@std@@QAE@XZ 007f6210 f libconcrtd:TaskCollection.obj + 0002:002b2240 __unwindfunclet$?Insert@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@0@Z$0 007f6240 f libconcrtd:TaskCollection.obj + 0002:002b225e __ehhandler$?Insert@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@0@Z 007f625e f libconcrtd:TaskCollection.obj + 0002:002b2290 __unwindfunclet$?_Alias@_TaskCollection@details@Concurrency@@AAEPAV123@XZ$0 007f6290 f libconcrtd:TaskCollection.obj + 0002:002b22ae __ehhandler$?_Alias@_TaskCollection@details@Concurrency@@AAEPAV123@XZ 007f62ae f libconcrtd:TaskCollection.obj + 0002:002b22e0 __unwindfunclet$?_CancelStolenContexts@_TaskCollection@details@Concurrency@@AAEX_N0@Z$0 007f62e0 f libconcrtd:TaskCollection.obj + 0002:002b22e8 __ehhandler$?_CancelStolenContexts@_TaskCollection@details@Concurrency@@AAEX_N0@Z 007f62e8 f libconcrtd:TaskCollection.obj + 0002:002b2310 __unwindfunclet$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$0 007f6310 f libconcrtd:TaskCollection.obj + 0002:002b2318 __unwindfunclet$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$1 007f6318 f libconcrtd:TaskCollection.obj + 0002:002b2320 __ehhandler$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 007f6320 f libconcrtd:TaskCollection.obj + 0002:002b2350 __unwindfunclet$?_FullAliasWait@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z$0 007f6350 f libconcrtd:TaskCollection.obj + 0002:002b2358 __ehhandler$?_FullAliasWait@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 007f6358 f libconcrtd:TaskCollection.obj + 0002:002b2380 __unwindfunclet$?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z$0 007f6380 f libconcrtd:TaskCollection.obj + 0002:002b2392 __ehhandler$?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z 007f6392 f libconcrtd:TaskCollection.obj + 0002:002b23c0 __unwindfunclet$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z$0 007f63c0 f libconcrtd:TaskCollection.obj + 0002:002b23cf __ehhandler$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 007f63cf f libconcrtd:TaskCollection.obj + 0002:002b2400 __unwindfunclet$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z$0 007f6400 f libconcrtd:TaskCollection.obj + 0002:002b2408 __ehhandler$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 007f6408 f libconcrtd:TaskCollection.obj + 0002:002b2430 __ehhandler$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 007f6430 f libconcrtd:TaskCollection.obj + 0002:002b2460 __ehhandler$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 007f6460 f libconcrtd:TaskCollection.obj + 0002:002b2490 __unwindfunclet$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z$2 007f6490 f libconcrtd:TaskCollection.obj + 0002:002b24ae __ehhandler$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 007f64ae f libconcrtd:TaskCollection.obj + 0002:002b24e0 __unwindfunclet$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z$2 007f64e0 f libconcrtd:TaskCollection.obj + 0002:002b24fe __ehhandler$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 007f64fe f libconcrtd:TaskCollection.obj + 0002:002b2530 __unwindfunclet$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z$0 007f6530 f libconcrtd:TaskCollection.obj + 0002:002b253f __ehhandler$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 007f653f f libconcrtd:TaskCollection.obj + 0002:002b2570 __ehhandler$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z 007f6570 f libconcrtd:SchedulerPolicyBase.obj + 0002:002b25a0 __unwindfunclet$??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z$0 007f65a0 f libconcrtd:SchedulerProxy.obj + 0002:002b25ab __unwindfunclet$??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z$1 007f65ab f libconcrtd:SchedulerProxy.obj + 0002:002b25c9 __ehhandler$??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 007f65c9 f libconcrtd:SchedulerProxy.obj + 0002:002b2600 __ehhandler$??1SchedulerProxy@details@Concurrency@@IAE@XZ 007f6600 f libconcrtd:SchedulerProxy.obj + 0002:002b2630 __ehhandler$??1_Scoped_lock@_ReentrantBlockingLock@details@Concurrency@@QAE@XZ 007f6630 f libconcrtd:SchedulerProxy.obj + 0002:002b2660 __unwindfunclet$?AddExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z$0 007f6660 f libconcrtd:SchedulerProxy.obj + 0002:002b2668 __ehhandler$?AddExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 007f6668 f libconcrtd:SchedulerProxy.obj + 0002:002b2690 __unwindfunclet$?AddVirtualProcessorRoots@SchedulerProxy@details@Concurrency@@QAEXPAPAUIVirtualProcessorRoot@3@I@Z$0 007f6690 f libconcrtd:SchedulerProxy.obj + 0002:002b2698 __ehhandler$?AddVirtualProcessorRoots@SchedulerProxy@details@Concurrency@@QAEXPAPAUIVirtualProcessorRoot@3@I@Z 007f6698 f libconcrtd:SchedulerProxy.obj + 0002:002b26c0 __unwindfunclet$?CreateExternalThreadResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAUSchedulerNode@23@I@Z$0 007f66c0 f libconcrtd:SchedulerProxy.obj + 0002:002b26de __ehhandler$?CreateExternalThreadResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAUSchedulerNode@23@I@Z 007f66de f libconcrtd:SchedulerProxy.obj + 0002:002b2710 __unwindfunclet$?CreateOversubscriber@SchedulerProxy@details@Concurrency@@UAEPAUIVirtualProcessorRoot@3@PAUIExecutionResource@3@@Z$0 007f6710 f libconcrtd:SchedulerProxy.obj + 0002:002b2718 __ehhandler$?CreateOversubscriber@SchedulerProxy@details@Concurrency@@UAEPAUIVirtualProcessorRoot@3@PAUIExecutionResource@3@@Z 007f6718 f libconcrtd:SchedulerProxy.obj + 0002:002b2740 __unwindfunclet$?CreateVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z$0 007f6740 f libconcrtd:SchedulerProxy.obj + 0002:002b275e __ehhandler$?CreateVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 007f675e f libconcrtd:SchedulerProxy.obj + 0002:002b2790 __unwindfunclet$?DestroyExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z$0 007f6790 f libconcrtd:SchedulerProxy.obj + 0002:002b2798 __ehhandler$?DestroyExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 007f6798 f libconcrtd:SchedulerProxy.obj + 0002:002b27c0 __unwindfunclet$?DestroyVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z$0 007f67c0 f libconcrtd:SchedulerProxy.obj + 0002:002b27c8 __ehhandler$?DestroyVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 007f67c8 f libconcrtd:SchedulerProxy.obj + 0002:002b27f0 __unwindfunclet$?GetResourceForNewSubscription@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAV423@@Z$0 007f67f0 f libconcrtd:SchedulerProxy.obj + 0002:002b280e __ehhandler$?GetResourceForNewSubscription@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAV423@@Z 007f680e f libconcrtd:SchedulerProxy.obj + 0002:002b2840 __unwindfunclet$?RemoveCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z$0 007f6840 f libconcrtd:SchedulerProxy.obj + 0002:002b2848 __ehhandler$?RemoveCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z 007f6848 f libconcrtd:SchedulerProxy.obj + 0002:002b2870 __unwindfunclet$?SendCoreNotification@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerCore@23@_N@Z$0 007f6870 f libconcrtd:SchedulerProxy.obj + 0002:002b2878 __ehhandler$?SendCoreNotification@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerCore@23@_N@Z 007f6878 f libconcrtd:SchedulerProxy.obj + 0002:002b28b0 __unwindfunclet$??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z$0 007f68b0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b28b8 __ehhandler$??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 007f68b8 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b28e0 __unwindfunclet$??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z$0 007f68e0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b28e8 __ehhandler$??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 007f68e8 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2910 __unwindfunclet$??0FreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z$0 007f6910 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2918 __ehhandler$??0FreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 007f6918 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2940 __unwindfunclet$??0ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ$0 007f6940 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b294b __ehhandler$??0ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 007f694b f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2970 __unwindfunclet$??0UMSFreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z$0 007f6970 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2978 __ehhandler$??0UMSFreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 007f6978 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b29a0 __unwindfunclet$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z$0 007f69a0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b29a8 __unwindfunclet$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z$1 007f69a8 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b29b3 __unwindfunclet$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z$2 007f69b3 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b29d1 __ehhandler$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 007f69d1 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2a00 __ehhandler$??1ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 007f6a00 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2a30 __unwindfunclet$?Create@FreeThreadProxyFactory@details@Concurrency@@EAEPAVFreeThreadProxy@23@I@Z$0 007f6a30 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2a4e __ehhandler$?Create@FreeThreadProxyFactory@details@Concurrency@@EAEPAVFreeThreadProxy@23@I@Z 007f6a4e f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2a80 __unwindfunclet$?Create@UMSFreeThreadProxyFactory@details@Concurrency@@EAEPAVUMSFreeThreadProxy@23@I@Z$0 007f6a80 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2a9e __ehhandler$?Create@UMSFreeThreadProxyFactory@details@Concurrency@@EAEPAVUMSFreeThreadProxy@23@I@Z 007f6a9e f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2ad0 __unwindfunclet$?CreateFactory@FreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z$0 007f6ad0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2aee __ehhandler$?CreateFactory@FreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 007f6aee f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2b20 __unwindfunclet$?CreateFactory@UMSFreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z$0 007f6b20 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2b3e __ehhandler$?CreateFactory@UMSFreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 007f6b3e f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2b70 __unwindfunclet$?GetFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVFreeThreadProxyFactory@23@XZ$0 007f6b70 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2b78 __ehhandler$?GetFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVFreeThreadProxyFactory@23@XZ 007f6b78 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2ba0 __unwindfunclet$?GetUMSFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVUMSFreeThreadProxyFactory@23@XZ$0 007f6ba0 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2ba8 __ehhandler$?GetUMSFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVUMSFreeThreadProxyFactory@23@XZ 007f6ba8 f libconcrtd:ThreadProxyFactoryManager.obj + 0002:002b2bd0 __ehhandler$??0Etw@details@Concurrency@@AAE@XZ 007f6bd0 f libconcrtd:Trace.obj + 0002:002b2c00 __unwindfunclet$?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ$0 007f6c00 f libconcrtd:Trace.obj + 0002:002b2c08 __ehhandler$?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ 007f6c08 f libconcrtd:Trace.obj + 0002:002b2c30 __ehhandler$??1InternalContextBase@details@Concurrency@@UAE@XZ 007f6c30 f libconcrtd:InternalContextBase.obj + 0002:002b2c60 __ehhandler$??1ScopedCriticalRegion@ContextBase@details@Concurrency@@QAE@XZ 007f6c60 f libconcrtd:InternalContextBase.obj + 0002:002b2c90 __unwindfunclet$?AddToRunnables@InternalContextBase@details@Concurrency@@MAEXVlocation@3@@Z$0 007f6c90 f libconcrtd:InternalContextBase.obj + 0002:002b2c98 __ehhandler$?AddToRunnables@InternalContextBase@details@Concurrency@@MAEXVlocation@3@@Z 007f6c98 f libconcrtd:InternalContextBase.obj + 0002:002b2cc0 __unwindfunclet$?Alloc@InternalContextBase@details@Concurrency@@UAEPAXI@Z$0 007f6cc0 f libconcrtd:InternalContextBase.obj + 0002:002b2cc8 __ehhandler$?Alloc@InternalContextBase@details@Concurrency@@UAEPAXI@Z 007f6cc8 f libconcrtd:InternalContextBase.obj + 0002:002b2cf0 __unwindfunclet$?Dispatch@InternalContextBase@details@Concurrency@@UAEXPAUDispatchState@3@@Z$0 007f6cf0 f libconcrtd:InternalContextBase.obj + 0002:002b2d09 __ehhandler$?Dispatch@InternalContextBase@details@Concurrency@@UAEXPAUDispatchState@3@@Z 007f6d09 f libconcrtd:InternalContextBase.obj + 0002:002b2d40 __unwindfunclet$?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z$0 007f6d40 f libconcrtd:InternalContextBase.obj + 0002:002b2d5e __unwindfunclet$?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z$1 007f6d5e f libconcrtd:InternalContextBase.obj + 0002:002b2d66 __ehhandler$?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z 007f6d66 f libconcrtd:InternalContextBase.obj + 0002:002b2da0 __unwindfunclet$?SwitchTo@InternalContextBase@details@Concurrency@@IAEXPAV123@W4ReasonForSwitch@123@@Z$1 007f6da0 f libconcrtd:InternalContextBase.obj + 0002:002b2db9 __ehhandler$?SwitchTo@InternalContextBase@details@Concurrency@@IAEXPAV123@W4ReasonForSwitch@123@@Z 007f6db9 f libconcrtd:InternalContextBase.obj + 0002:002b2df0 __unwindfunclet$??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z$0 007f6df0 f libconcrtd:VirtualProcessor.obj + 0002:002b2e0b __ehhandler$??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z 007f6e0b f libconcrtd:VirtualProcessor.obj + 0002:002b2e40 __unwindfunclet$??0VirtualProcessor@details@Concurrency@@QAE@XZ$0 007f6e40 f libconcrtd:VirtualProcessor.obj + 0002:002b2e4b __unwindfunclet$??0VirtualProcessor@details@Concurrency@@QAE@XZ$1 007f6e4b f libconcrtd:VirtualProcessor.obj + 0002:002b2e59 __unwindfunclet$??0VirtualProcessor@details@Concurrency@@QAE@XZ$2 007f6e59 f libconcrtd:VirtualProcessor.obj + 0002:002b2e67 __ehhandler$??0VirtualProcessor@details@Concurrency@@QAE@XZ 007f6e67 f libconcrtd:VirtualProcessor.obj + 0002:002b2ea0 __ehhandler$??1VirtualProcessor@details@Concurrency@@UAE@XZ 007f6ea0 f libconcrtd:VirtualProcessor.obj + 0002:002b2ed0 __unwindfunclet$?Initialize@VirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z$0 007f6ed0 f libconcrtd:VirtualProcessor.obj + 0002:002b2ed8 __ehhandler$?Initialize@VirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 007f6ed8 f libconcrtd:VirtualProcessor.obj + 0002:002b2f00 __unwindfunclet$??0?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f6f00 f libconcrtd:SchedulingNode.obj + 0002:002b2f1e __ehhandler$??0?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f6f1e f libconcrtd:SchedulingNode.obj + 0002:002b2f50 __unwindfunclet$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z$0 007f6f50 f libconcrtd:SchedulingNode.obj + 0002:002b2f5b __unwindfunclet$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z$1 007f6f5b f libconcrtd:SchedulingNode.obj + 0002:002b2f66 __unwindfunclet$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z$2 007f6f66 f libconcrtd:SchedulingNode.obj + 0002:002b2f71 __ehhandler$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z 007f6f71 f libconcrtd:SchedulingNode.obj + 0002:002b2fa0 __ehhandler$??1?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f6fa0 f libconcrtd:SchedulingNode.obj + 0002:002b2fd0 __ehhandler$??1SchedulingNode@details@Concurrency@@QAE@XZ 007f6fd0 f libconcrtd:SchedulingNode.obj + 0002:002b3000 __unwindfunclet$?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z$0 007f7000 f libconcrtd:SchedulingNode.obj + 0002:002b301e __ehhandler$?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z 007f701e f libconcrtd:SchedulingNode.obj + 0002:002b3050 __unwindfunclet$?FoundAvailableVirtualProcessor@SchedulingNode@details@Concurrency@@AAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z$0 007f7050 f libconcrtd:SchedulingNode.obj + 0002:002b3058 __ehhandler$?FoundAvailableVirtualProcessor@SchedulingNode@details@Concurrency@@AAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 007f7058 f libconcrtd:SchedulingNode.obj + 0002:002b3080 __unwindfunclet$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z$0 007f7080 f libconcrtd:SchedulingNode.obj + 0002:002b3088 __ehhandler$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 007f7088 f libconcrtd:SchedulingNode.obj + 0002:002b30b0 __ehhandler$??1AllocatorBucket@details@Concurrency@@QAE@XZ 007f70b0 f libconcrtd:SubAllocator.obj + 0002:002b30e0 __unwindfunclet$??0?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f70e0 f libconcrtd:SchedulingRing.obj + 0002:002b30fe __ehhandler$??0?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f70fe f libconcrtd:SchedulingRing.obj + 0002:002b3130 __unwindfunclet$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z$0 007f7130 f libconcrtd:SchedulingRing.obj + 0002:002b313b __unwindfunclet$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z$1 007f713b f libconcrtd:SchedulingRing.obj + 0002:002b3146 __unwindfunclet$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z$2 007f7146 f libconcrtd:SchedulingRing.obj + 0002:002b314e __ehhandler$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z 007f714e f libconcrtd:SchedulingRing.obj + 0002:002b3180 __ehhandler$??1?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f7180 f libconcrtd:SchedulingRing.obj + 0002:002b31b0 __unwindfunclet$??0?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f71b0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b31ce __ehhandler$??0?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f71ce f libconcrtd:ScheduleGroupBase.obj + 0002:002b3200 __unwindfunclet$??0?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z$0 007f7200 f libconcrtd:ScheduleGroupBase.obj + 0002:002b321e __ehhandler$??0?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 007f721e f libconcrtd:ScheduleGroupBase.obj + 0002:002b3250 __unwindfunclet$??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z$0 007f7250 f libconcrtd:ScheduleGroupBase.obj + 0002:002b325b __unwindfunclet$??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z$1 007f725b f libconcrtd:ScheduleGroupBase.obj + 0002:002b3279 __ehhandler$??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z 007f7279 f libconcrtd:ScheduleGroupBase.obj + 0002:002b32b0 __unwindfunclet$??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z$0 007f72b0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b32b8 __unwindfunclet$??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z$1 007f72b8 f libconcrtd:ScheduleGroupBase.obj + 0002:002b32c3 __ehhandler$??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 007f72c3 f libconcrtd:ScheduleGroupBase.obj + 0002:002b32f0 __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$0 007f72f0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b32fb __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$1 007f72fb f libconcrtd:ScheduleGroupBase.obj + 0002:002b3306 __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$2 007f7306 f libconcrtd:ScheduleGroupBase.obj + 0002:002b330e __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$3 007f730e f libconcrtd:ScheduleGroupBase.obj + 0002:002b3319 __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$4 007f7319 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3324 __unwindfunclet$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z$5 007f7324 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3332 __ehhandler$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 007f7332 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3370 __unwindfunclet$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z$0 007f7370 f libconcrtd:ScheduleGroupBase.obj + 0002:002b337b __ehhandler$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 007f737b f libconcrtd:ScheduleGroupBase.obj + 0002:002b33a0 __ehhandler$??1?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f73a0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b33d0 __ehhandler$??1?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f73d0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3400 __ehhandler$??1?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 007f7400 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3430 __ehhandler$??1ScheduleGroupSegmentBase@details@Concurrency@@UAE@XZ 007f7430 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3460 __unwindfunclet$?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z$0 007f7460 f libconcrtd:ScheduleGroupBase.obj + 0002:002b347e __ehhandler$?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 007f747e f libconcrtd:ScheduleGroupBase.obj + 0002:002b34b0 __unwindfunclet$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z$0 007f74b0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b34ce __ehhandler$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 007f74ce f libconcrtd:ScheduleGroupBase.obj + 0002:002b3500 __unwindfunclet$?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z$0 007f7500 f libconcrtd:ScheduleGroupBase.obj + 0002:002b351e __ehhandler$?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z 007f751e f libconcrtd:ScheduleGroupBase.obj + 0002:002b3550 __unwindfunclet$?AddRunnableContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@Vlocation@3@@Z$0 007f7550 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3558 __ehhandler$?AddRunnableContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@Vlocation@3@@Z 007f7558 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3580 __unwindfunclet$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ$0 007f7580 f libconcrtd:ScheduleGroupBase.obj + 0002:002b359e __ehhandler$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 007f759e f libconcrtd:ScheduleGroupBase.obj + 0002:002b35d0 __unwindfunclet$?Dequeue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVRealizedChore@23@XZ$0 007f75d0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b35d8 __ehhandler$?Dequeue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 007f75d8 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3600 __unwindfunclet$?Enqueue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z$0 007f7600 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3608 __ehhandler$?Enqueue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 007f7608 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3630 __unwindfunclet$?FindSegment@ScheduleGroupBase@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z$0 007f7630 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3638 __ehhandler$?FindSegment@ScheduleGroupBase@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 007f7638 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3660 __unwindfunclet$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z$0 007f7660 f libconcrtd:ScheduleGroupBase.obj + 0002:002b367e __ehhandler$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 007f767e f libconcrtd:ScheduleGroupBase.obj + 0002:002b36b0 __unwindfunclet$?Initialize@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVScheduleGroupBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z$0 007f76b0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b36b8 __ehhandler$?Initialize@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVScheduleGroupBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 007f76b8 f libconcrtd:ScheduleGroupBase.obj + 0002:002b36e0 __unwindfunclet$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z$0 007f76e0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b36e8 __unwindfunclet$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z$1 007f76e8 f libconcrtd:ScheduleGroupBase.obj + 0002:002b36f0 __unwindfunclet$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z$2 007f76f0 f libconcrtd:ScheduleGroupBase.obj + 0002:002b36f8 __ehhandler$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 007f76f8 f libconcrtd:ScheduleGroupBase.obj + 0002:002b3720 __unwindfunclet$?ScheduleTask@ScheduleGroupSegmentBase@details@Concurrency@@QAEXP6AXPAX@Z0@Z$0 007f7720 f libconcrtd:ScheduleGroupBase.obj + 0002:002b373e __ehhandler$?ScheduleTask@ScheduleGroupSegmentBase@details@Concurrency@@QAEXP6AXPAX@Z0@Z 007f773e f libconcrtd:ScheduleGroupBase.obj + 0002:002b3770 __unwindfunclet$??IQuickBitSet@details@Concurrency@@QBE?AV012@ABV012@@Z$0 007f7770 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b3778 __ehhandler$??IQuickBitSet@details@Concurrency@@QBE?AV012@ABV012@@Z 007f7778 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b37a0 __unwindfunclet$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z$0 007f77a0 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b37a8 __ehhandler$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 007f77a8 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b37d0 __unwindfunclet$?PostAffinityMessage@SchedulerBase@details@Concurrency@@QAEXABVQuickBitSet@23@@Z$0 007f77d0 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b37d8 __ehhandler$?PostAffinityMessage@SchedulerBase@details@Concurrency@@QAEXABVQuickBitSet@23@@Z 007f77d8 f libconcrtd:CacheLocalScheduleGroup.obj + 0002:002b3800 __unwindfunclet$?FindSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z$0 007f7800 f libconcrtd:FairScheduleGroup.obj + 0002:002b3808 __ehhandler$?FindSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 007f7808 f libconcrtd:FairScheduleGroup.obj + 0002:002b3830 __unwindfunclet$?LocateSegment@FairScheduleGroup@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z$0 007f7830 f libconcrtd:FairScheduleGroup.obj + 0002:002b3838 __ehhandler$?LocateSegment@FairScheduleGroup@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 007f7838 f libconcrtd:FairScheduleGroup.obj + 0002:002b3860 __unwindfunclet$??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z$0 007f7860 f libconcrtd:ExternalContextBase.obj + 0002:002b3868 __unwindfunclet$??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z$1 007f7868 f libconcrtd:ExternalContextBase.obj + 0002:002b3883 __ehhandler$??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 007f7883 f libconcrtd:ExternalContextBase.obj + 0002:002b38b0 __ehhandler$??1ExternalContextBase@details@Concurrency@@UAE@XZ 007f78b0 f libconcrtd:ExternalContextBase.obj + 0002:002b38e0 __unwindfunclet$?Create@ThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z$0 007f78e0 f libconcrtd:ThreadScheduler.obj + 0002:002b38fb __ehhandler$?Create@ThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 007f78fb f libconcrtd:ThreadScheduler.obj + 0002:002b3930 __unwindfunclet$?CreateInternalContext@ThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ$0 007f7930 f libconcrtd:ThreadScheduler.obj + 0002:002b394b __ehhandler$?CreateInternalContext@ThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 007f794b f libconcrtd:ThreadScheduler.obj + 0002:002b3980 __unwindfunclet$?CreateVirtualProcessor@ThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z$0 007f7980 f libconcrtd:ThreadScheduler.obj + 0002:002b399b __ehhandler$?CreateVirtualProcessor@ThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 007f799b f libconcrtd:ThreadScheduler.obj + 0002:002b39d0 __unwindfunclet$?Create@UMSThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z$0 007f79d0 f libconcrtd:UMSThreadScheduler.obj + 0002:002b39eb __ehhandler$?Create@UMSThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 007f79eb f libconcrtd:UMSThreadScheduler.obj + 0002:002b3a20 __unwindfunclet$?CreateInternalContext@UMSThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ$0 007f7a20 f libconcrtd:UMSThreadScheduler.obj + 0002:002b3a3b __ehhandler$?CreateInternalContext@UMSThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 007f7a3b f libconcrtd:UMSThreadScheduler.obj + 0002:002b3a70 __unwindfunclet$?CreateVirtualProcessor@UMSThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z$0 007f7a70 f libconcrtd:UMSThreadScheduler.obj + 0002:002b3a8b __ehhandler$?CreateVirtualProcessor@UMSThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 007f7a8b f libconcrtd:UMSThreadScheduler.obj + 0002:002b3ac0 __unwindfunclet$?MoveCompletionListToRunnables@UMSThreadScheduler@details@Concurrency@@QAE_NVlocation@3@@Z$0 007f7ac0 f libconcrtd:UMSThreadScheduler.obj + 0002:002b3ac8 __ehhandler$?MoveCompletionListToRunnables@UMSThreadScheduler@details@Concurrency@@QAE_NVlocation@3@@Z 007f7ac8 f libconcrtd:UMSThreadScheduler.obj + 0002:002b3af0 __unwindfunclet$??0UMSThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z$0 007f7af0 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:002b3af8 __ehhandler$??0UMSThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 007f7af8 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:002b3b20 __unwindfunclet$?Initialize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z$0 007f7b20 f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:002b3b3b __ehhandler$?Initialize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 007f7b3b f libconcrtd:UMSThreadVirtualProcessor.obj + 0002:002b3b70 __unwindfunclet$??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ$0 007f7b70 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3b78 __unwindfunclet$??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ$1 007f7b78 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3b83 __ehhandler$??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ 007f7b83 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3bb0 __ehhandler$??1TransmogrifiedPrimary@details@Concurrency@@UAE@XZ 007f7bb0 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3be0 __unwindfunclet$?Dequeue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ$0 007f7be0 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3be8 __ehhandler$?Dequeue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 007f7be8 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3c10 __unwindfunclet$?Enqueue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z$0 007f7c10 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3c18 __ehhandler$?Enqueue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 007f7c18 f libconcrtd:TransmogrifiedPrimary.obj + 0002:002b3c40 __ehhandler$??1Transmogrificator@details@Concurrency@@QAE@XZ 007f7c40 f libconcrtd:Transmogrificator.obj + 0002:002b3c70 __unwindfunclet$?BeginTransmogrifying@Transmogrificator@details@Concurrency@@AAEXXZ$0 007f7c70 f libconcrtd:Transmogrificator.obj + 0002:002b3c8e __ehhandler$?BeginTransmogrifying@Transmogrificator@details@Concurrency@@AAEXXZ 007f7c8e f libconcrtd:Transmogrificator.obj + 0002:002b3cc0 __unwindfunclet$?RemoveHead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUListEntry@23@XZ$0 007f7cc0 f libconcrtd:Transmogrificator.obj + 0002:002b3cc8 __ehhandler$?RemoveHead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUListEntry@23@XZ 007f7cc8 f libconcrtd:Transmogrificator.obj + 0002:002b3cf0 __ehhandler$??0exception_ptr@std@@QAE@ABV01@@Z 007f7cf0 f libconcrtd:TaskCollectionBase.obj + 0002:002b3d20 __ehhandler$??0exception_ptr@std@@QAE@XZ 007f7d20 f libconcrtd:TaskCollectionBase.obj + 0002:002b3d50 __ehhandler$?_Current_exception@exception_ptr@std@@SA?AV12@XZ 007f7d50 f libconcrtd:TaskCollectionBase.obj + 0002:002b3d80 __unwindfunclet$?_RethrowException@_TaskCollectionBase@details@Concurrency@@IAEXXZ$0 007f7d80 f libconcrtd:TaskCollectionBase.obj + 0002:002b3d88 __ehhandler$?_RethrowException@_TaskCollectionBase@details@Concurrency@@IAEXXZ 007f7d88 f libconcrtd:TaskCollectionBase.obj + 0002:002b3db0 __unwindfunclet$?rethrow_exception@std@@YAXVexception_ptr@1@@Z$0 007f7db0 f libconcrtd:TaskCollectionBase.obj + 0002:002b3db8 __ehhandler$?rethrow_exception@std@@YAXVexception_ptr@1@@Z 007f7db8 f libconcrtd:TaskCollectionBase.obj + 0002:002b3de0 __unwindfunclet$??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z$0 007f7de0 f libconcrtd:WorkQueue.obj + 0002:002b3dfb __ehhandler$??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 007f7dfb f libconcrtd:WorkQueue.obj + 0002:002b3e30 __unwindfunclet$??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z$0 007f7e30 f libconcrtd:WorkQueue.obj + 0002:002b3e4b __ehhandler$??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 007f7e4b f libconcrtd:WorkQueue.obj + 0002:002b3e80 __unwindfunclet$??0WorkQueue@details@Concurrency@@QAE@XZ$0 007f7e80 f libconcrtd:WorkQueue.obj + 0002:002b3e88 __unwindfunclet$??0WorkQueue@details@Concurrency@@QAE@XZ$1 007f7e88 f libconcrtd:WorkQueue.obj + 0002:002b3e93 __ehhandler$??0WorkQueue@details@Concurrency@@QAE@XZ 007f7e93 f libconcrtd:WorkQueue.obj + 0002:002b3ec0 __unwindfunclet$?Steal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z$0 007f7ec0 f libconcrtd:WorkQueue.obj + 0002:002b3ec8 __ehhandler$?Steal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z 007f7ec8 f libconcrtd:WorkQueue.obj + 0002:002b3ef0 __unwindfunclet$?Sweep@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z$0 007f7ef0 f libconcrtd:WorkQueue.obj + 0002:002b3ef8 __ehhandler$?Sweep@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 007f7ef8 f libconcrtd:WorkQueue.obj + 0002:002b3f20 __ehhandler$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 007f7f20 f libconcrtd:Chores.obj + 0002:002b3f50 __unwindfunclet$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$6 007f7f50 f libconcrtd:Chores.obj + 0002:002b3f5b __ehhandler$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 007f7f5b f libconcrtd:Chores.obj + 0002:002b3f90 __unwindfunclet$??0VirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z$0 007f7f90 f libconcrtd:VirtualProcessorRoot.obj + 0002:002b3f9b __ehhandler$??0VirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 007f7f9b f libconcrtd:VirtualProcessorRoot.obj + 0002:002b3fc0 __ehhandler$??1ThreadProxy@details@Concurrency@@UAE@XZ 007f7fc0 f libconcrtd:ThreadProxy.obj + 0002:002b3ff0 __unwindfunclet$?SearchCacheLocal@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z$0 007f7ff0 f libconcrtd:SearchAlgorithms.obj + 0002:002b3ffb __ehhandler$?SearchCacheLocal@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 007f7ffb f libconcrtd:SearchAlgorithms.obj + 0002:002b4030 __unwindfunclet$?_Current_node@location@Concurrency@@SA?AV12@XZ$0 007f8030 f libconcrtd:location.obj + 0002:002b4038 __unwindfunclet$?_Current_node@location@Concurrency@@SA?AV12@XZ$1 007f8038 f libconcrtd:location.obj + 0002:002b4040 __ehhandler$?_Current_node@location@Concurrency@@SA?AV12@XZ 007f8040 f libconcrtd:location.obj + 0002:002b4070 __unwindfunclet$?current@location@Concurrency@@SA?AV12@XZ$0 007f8070 f libconcrtd:location.obj + 0002:002b4078 __unwindfunclet$?current@location@Concurrency@@SA?AV12@XZ$1 007f8078 f libconcrtd:location.obj + 0002:002b4080 __ehhandler$?current@location@Concurrency@@SA?AV12@XZ 007f8080 f libconcrtd:location.obj + 0002:002b40b0 __unwindfunclet$??0ThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z$0 007f80b0 f libconcrtd:ThreadVirtualProcessor.obj + 0002:002b40b8 __ehhandler$??0ThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 007f80b8 f libconcrtd:ThreadVirtualProcessor.obj + 0002:002b40e0 __ehhandler$??1_Scoped_lock@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 007f80e0 f libconcrtd:UMSBackgroundPoller.obj + 0002:002b4110 __unwindfunclet$?DoPolling@UMSBackgroundPoller@details@Concurrency@@QAE_NXZ$0 007f8110 f libconcrtd:UMSBackgroundPoller.obj + 0002:002b4118 __ehhandler$?DoPolling@UMSBackgroundPoller@details@Concurrency@@QAE_NXZ 007f8118 f libconcrtd:UMSBackgroundPoller.obj + 0002:002b4140 __unwindfunclet$??0UMSSchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z$0 007f8140 f libconcrtd:UMSSchedulerProxy.obj + 0002:002b414b __ehhandler$??0UMSSchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 007f814b f libconcrtd:UMSSchedulerProxy.obj + 0002:002b4170 __ehhandler$??1UMSSchedulerProxy@details@Concurrency@@QAE@XZ 007f8170 f libconcrtd:UMSSchedulerProxy.obj + 0002:002b41a0 __unwindfunclet$?CreateVirtualProcessorRoot@UMSSchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z$0 007f81a0 f libconcrtd:UMSSchedulerProxy.obj + 0002:002b41be __ehhandler$?CreateVirtualProcessorRoot@UMSSchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 007f81be f libconcrtd:UMSSchedulerProxy.obj + 0002:002b41f0 __unwindfunclet$??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z$0 007f81f0 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b41fb __unwindfunclet$??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z$1 007f81fb f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4206 __ehhandler$??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z 007f8206 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4230 __ehhandler$??1ScopedCriticalRegion@UMSThreadProxy@details@Concurrency@@QAE@XZ 007f8230 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4260 __unwindfunclet$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z$2 007f8260 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4268 __ehhandler$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 007f8268 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4290 __unwindfunclet$?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ$0 007f8290 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b4298 __ehhandler$?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 007f8298 f libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0002:002b42d0 __ehhandler$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z 007f82d0 f libvcruntimed:frame.obj + 0002:002b4300 __unwindfunclet$?getDecoratedName@UnDecorator@@CA?AVDName@@XZ$0 007f8300 f libvcruntimed:undname.obj + 0002:002b4308 __ehhandler$?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 007f8308 f libvcruntimed:undname.obj + 0002:002b4330 __ehhandler$??1?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@XZ 007f8330 f libucrtd:strftime.obj + 0002:002b4360 __ehhandler$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 007f8360 f libucrtd:strftime.obj + 0002:002b4390 __unwindfunclet$??R@@QBEHXZ$0 007f8390 f libucrtd:onexit.obj + 0002:002b4398 __ehhandler$??R@@QBEHXZ 007f8398 f libucrtd:onexit.obj + 0002:002b43c0 __unwindfunclet$?fp_format_a@@YAHQBNPADIQADIH_NIQAU__crt_locale_pointers@@@Z$0 007f83c0 f libucrtd:cvt.obj + 0002:002b43cb __ehhandler$?fp_format_a@@YAHQBNPADIQADIH_NIQAU__crt_locale_pointers@@@Z 007f83cb f libucrtd:cvt.obj + 0002:002b4400 __unwindfunclet$?_wcstombs_l_helper@@YAIPADPB_WIPAU__crt_locale_pointers@@@Z$0 007f8400 f libucrtd:wcstombs.obj + 0002:002b4408 __ehhandler$?_wcstombs_l_helper@@YAIPADPB_WIPAU__crt_locale_pointers@@@Z 007f8408 f libucrtd:wcstombs.obj + 0002:002b4440 __ehhandler$??1?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 007f8440 f libucrtd:argv_wildcards.obj + 0002:002b4470 __unwindfunclet$?_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z$0 007f8470 f libucrtd:wcrtomb.obj + 0002:002b4478 __ehhandler$?_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z 007f8478 f libucrtd:wcrtomb.obj + 0002:002b44a0 __unwindfunclet$?shortsort@@YAXPAD0IP6AHPBX1@Z@Z$0 007f84a0 f libucrtd:qsort.obj + 0002:002b44a8 __ehhandler$?shortsort@@YAXPAD0IP6AHPBX1@Z@Z 007f84a8 f libucrtd:qsort.obj + 0002:002b44d0 __unwindfunclet$?_CallInContext@_ContextCallback@details@Concurrency@@QBEXV?$function@$$A6AXXZ@std@@_N@Z$0 007f84d0 f libcpmtd:ppltasks.obj + 0002:002b44d8 __ehhandler$?_CallInContext@_ContextCallback@details@Concurrency@@QBEXV?$function@$$A6AXXZ@std@@_N@Z 007f84d8 f libcpmtd:ppltasks.obj + 0002:002b4500 __unwindfunclet$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAE@AAPAUEHExceptionRecord@@$$QA_N@Z$0 007f8500 f libcpmtd:excptptr.obj + 0002:002b4508 __ehhandler$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAE@AAPAUEHExceptionRecord@@$$QA_N@Z 007f8508 f libcpmtd:excptptr.obj + 0002:002b4530 __unwindfunclet$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAE@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z$0 007f8530 f libcpmtd:excptptr.obj + 0002:002b4538 __ehhandler$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAE@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007f8538 f libcpmtd:excptptr.obj + 0002:002b4560 __unwindfunclet$??$_Alloc_new@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N$0A@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z$0 007f8560 f libcpmtd:excptptr.obj + 0002:002b4568 __ehhandler$??$_Alloc_new@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N$0A@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007f8568 f libcpmtd:excptptr.obj + 0002:002b4590 __ehhandler$??$_Deallocate_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 007f8590 f libcpmtd:excptptr.obj + 0002:002b45c0 __ehhandler$??$_Delete_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 007f85c0 f libcpmtd:excptptr.obj + 0002:002b45f0 __unwindfunclet$??$allocate_shared@V__ExceptionPtr@@U?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z$0 007f85f0 f libcpmtd:excptptr.obj + 0002:002b45f8 __ehhandler$??$allocate_shared@V__ExceptionPtr@@U?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 007f85f8 f libcpmtd:excptptr.obj + 0002:002b4620 __unwindfunclet$??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z$0 007f8620 f libcpmtd:excptptr.obj + 0002:002b462f __unwindfunclet$??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z$1 007f862f f libcpmtd:excptptr.obj + 0002:002b4637 __ehhandler$??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z 007f8637 f libcpmtd:excptptr.obj + 0002:002b4660 __ehhandler$??1?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAE@XZ 007f8660 f libcpmtd:excptptr.obj + 0002:002b4690 __ehhandler$??1__ExceptionPtr@@QAE@XZ 007f8690 f libcpmtd:excptptr.obj + 0002:002b46c0 __ehhandler$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z 007f86c0 f libcpmtd:excptptr.obj + 0002:002b46f0 __ehhandler$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z 007f86f0 f libcpmtd:excptptr.obj + 0002:002b4720 __ehhandler$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 007f8720 f libcpmtd:excptptr.obj + 0002:002b4750 __ehhandler$?_Destroy@?$_Ref_count_obj@V__ExceptionPtr@@@std@@EAEXXZ 007f8750 f libcpmtd:excptptr.obj + 0002:002b4780 __ehhandler$?_Destroy@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@EAEXXZ 007f8780 f libcpmtd:excptptr.obj + 0002:002b47b0 __unwindfunclet$?_InitBadAllocException@__ExceptionPtr@@CA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ$0 007f87b0 f libcpmtd:excptptr.obj + 0002:002b47b8 __ehhandler$?_InitBadAllocException@__ExceptionPtr@@CA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 007f87b8 f libcpmtd:excptptr.obj + 0002:002b47e0 __ehhandler$?_PlacementInitBadAllocException@__ExceptionPtr@@CGHPAX0PAPAX@Z 007f87e0 f libcpmtd:excptptr.obj + 0002:002b4810 __ehhandler$?_Release@?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAEPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@2@XZ 007f8810 f libcpmtd:excptptr.obj + 0002:002b4840 __unwindfunclet$?__ExceptionPtrCurrentException@@YAXPAX@Z$0 007f8840 f libcpmtd:excptptr.obj + 0002:002b4848 __ehhandler$?__ExceptionPtrCurrentException@@YAXPAX@Z 007f8848 f libcpmtd:excptptr.obj + 0002:002b6b20 ??__Fs_hEvent@@YAXXZ 007fab20 f main.obj + 0002:002b6b70 ??__Fg_arZone@@YAXXZ 007fab70 f ServerDlg.obj + 0002:002b6bc0 ??__Fg_timerThreads@@YAXXZ 007fabc0 f ServerDlg.obj + 0002:002b6c10 ??__Fs_timeThread@@YAXXZ 007fac10 f shared:TimeThread.obj + 0002:002b6c60 ??__Fs_rngLock@@YAXXZ 007fac60 f shared:globals.obj + 0002:002b6cb0 ??__F?s_cleanupThread@SocketMgr@@1VThread@@A@@YAXXZ 007facb0 f shared:SocketMgr.obj + 0002:002b6d00 ??__F?s_disconnectionQueue@SocketMgr@@2V?$queue@PAVSocket@@V?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@@std@@A@@YAXXZ 007fad00 f shared:SocketMgr.obj + 0002:002b6d50 ??__F?s_disconnectionQueueLock@SocketMgr@@2Vrecursive_mutex@std@@A@@YAXXZ 007fad50 f shared:SocketMgr.obj + 0002:002b6da0 ??__F?s_loadedMaps@SMDFile@@0V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@@std@@A@@YAXXZ 007fada0 f shared:SMDFile.obj + 0002:002b6df0 ??__Finitlocks@std@@YAXXZ 007fadf0 f libcpmtd:xlock.obj + 0002:002b6e10 ??__F_Fac_tidy_reg@std@@YAXXZ 007fae10 f libcpmtd:locale0.obj + 0002:002b6e30 ??__Fclassic_locale@std@@YAXXZ 007fae30 f libcpmtd:locale0.obj + 0002:002b6e50 ??__Finit_atexit@@YAXXZ 007fae50 f libcpmtd:iosptrs.obj + 0002:002b6e70 ??__Finitlocks@std@@YAXXZ 007fae70 f libcpmtd:iosptrs.obj + 0002:002b6e90 ??__Fs_defaultWaiterPool@platform@details@Concurrency@@YAXXZ 007fae90 f libconcrtd:Platform.obj + 0003:00000104 ?pre_cpp_initializer@@3P6AXXZA 007fc104 LIBCMTD:exe_main.obj + 0003:00000208 ?initlocks$initializer$@std@@3P6AXXZA 007fc208 libcpmtd:xlock.obj + 0003:0000020c ??id$initializer$@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc20c libcpmtd:locale.obj + 0003:00000210 ??id$initializer$@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc210 libcpmtd:locale.obj + 0003:00000214 ??id$initializer$@?$numpunct@D@std@@2P6AXXZA@@3P6AXXZA 007fc214 libcpmtd:locale.obj + 0003:00000218 ?initlocks$initializer$@std@@3P6AXXZA 007fc218 libcpmtd:iosptrs.obj + 0003:0000021c ?init_atexit$initializer$@@3P6AXXZA 007fc21c libcpmtd:iosptrs.obj + 0003:00000224 ??id$initializer$@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc224 libcpmtd:wlocale.obj + 0003:00000228 ??id$initializer$@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc228 libcpmtd:wlocale.obj + 0003:0000022c ??id$initializer$@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc22c libcpmtd:wlocale.obj + 0003:00000230 ??id$initializer$@?$numpunct@_W@std@@2P6AXXZA@@3P6AXXZA 007fc230 libcpmtd:wlocale.obj + 0003:00000234 ??id$initializer$@?$collate@_W@std@@2P6AXXZA@@3P6AXXZA 007fc234 libcpmtd:wlocale.obj + 0003:00000238 ??id$initializer$@?$messages@_W@std@@2P6AXXZA@@3P6AXXZA 007fc238 libcpmtd:wlocale.obj + 0003:0000023c ??id$initializer$@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc23c libcpmtd:wlocale.obj + 0003:00000240 ??id$initializer$@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc240 libcpmtd:wlocale.obj + 0003:00000244 ??id$initializer$@?$moneypunct@_W$0A@@std@@2P6AXXZA@@3P6AXXZA 007fc244 libcpmtd:wlocale.obj + 0003:00000248 ??id$initializer$@?$moneypunct@_W$00@std@@2P6AXXZA@@3P6AXXZA 007fc248 libcpmtd:wlocale.obj + 0003:0000024c ??id$initializer$@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc24c libcpmtd:wlocale.obj + 0003:00000250 ??id$initializer$@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc250 libcpmtd:wlocale.obj + 0003:00000254 ??id$initializer$@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc254 libcpmtd:wlocale.obj + 0003:00000258 ??id$initializer$@?$numpunct@G@std@@2P6AXXZA@@3P6AXXZA 007fc258 libcpmtd:wlocale.obj + 0003:0000025c ??id$initializer$@?$collate@G@std@@2P6AXXZA@@3P6AXXZA 007fc25c libcpmtd:wlocale.obj + 0003:00000260 ??id$initializer$@?$messages@G@std@@2P6AXXZA@@3P6AXXZA 007fc260 libcpmtd:wlocale.obj + 0003:00000264 ??id$initializer$@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc264 libcpmtd:wlocale.obj + 0003:00000268 ??id$initializer$@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc268 libcpmtd:wlocale.obj + 0003:0000026c ??id$initializer$@?$moneypunct@G$0A@@std@@2P6AXXZA@@3P6AXXZA 007fc26c libcpmtd:wlocale.obj + 0003:00000270 ??id$initializer$@?$moneypunct@G$00@std@@2P6AXXZA@@3P6AXXZA 007fc270 libcpmtd:wlocale.obj + 0003:00000274 ??id$initializer$@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc274 libcpmtd:wlocale.obj + 0003:00000278 ??id$initializer$@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc278 libcpmtd:wlocale.obj + 0003:0000027c ??id$initializer$@?$collate@D@std@@2P6AXXZA@@3P6AXXZA 007fc27c libcpmtd:xlocale.obj + 0003:00000280 ??id$initializer$@?$messages@D@std@@2P6AXXZA@@3P6AXXZA 007fc280 libcpmtd:xlocale.obj + 0003:00000284 ??id$initializer$@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc284 libcpmtd:xlocale.obj + 0003:00000288 ??id$initializer$@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc288 libcpmtd:xlocale.obj + 0003:0000028c ??id$initializer$@?$moneypunct@D$0A@@std@@2P6AXXZA@@3P6AXXZA 007fc28c libcpmtd:xlocale.obj + 0003:00000290 ??id$initializer$@?$moneypunct@D$00@std@@2P6AXXZA@@3P6AXXZA 007fc290 libcpmtd:xlocale.obj + 0003:00000294 ??id$initializer$@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc294 libcpmtd:xlocale.obj + 0003:00000298 ??id$initializer$@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@2P6AXXZA@@3P6AXXZA 007fc298 libcpmtd:xlocale.obj + 0003:0000029c ??s_cookie$initializer$@Security@details@Concurrency@@2P6AXXZA@@3P6AXXZA 007fc29c libconcrtd:staticinits.obj + 0003:000002a0 ??s_schedulerLock$initializer$@SchedulerBase@details@Concurrency@@0P6AXXZA@@3P6AXXZA 007fc2a0 libconcrtd:staticinits.obj + 0003:000002a4 ??s_defaultSchedulerLock$initializer$@SchedulerBase@details@Concurrency@@1P6AXXZA@@3P6AXXZA 007fc2a4 libconcrtd:staticinits.obj + 0003:000002a8 ??s_subAllocatorFreePool$initializer$@SchedulerBase@details@Concurrency@@0P6AXXZA@@3P6AXXZA 007fc2a8 libconcrtd:staticinits.obj + 0003:000002ac ??s_lock$initializer$@ResourceManager@details@Concurrency@@0P6AXXZA@@3P6AXXZA 007fc2ac libconcrtd:staticinits.obj + 0003:000002b0 ??s_lock$initializer$@Etw@details@Concurrency@@0P6AXXZA@@3P6AXXZA 007fc2b0 libconcrtd:staticinits.obj + 0003:000003d8 ?_Fac_tidy_reg$initializer$@std@@3P6AXXZA 007fc3d8 libcpmtd:locale0.obj + 0003:000003dc ?classic_locale$initializer$@std@@3P6AXXZA 007fc3dc libcpmtd:locale0.obj + 0003:000003e0 ??id$initializer$@?$ctype@D@std@@2P6AXXZA@@3P6AXXZA 007fc3e0 libcpmtd:locale0.obj + 0003:000003e4 ??id$initializer$@?$ctype@_W@std@@2P6AXXZA@@3P6AXXZA 007fc3e4 libcpmtd:locale0.obj + 0003:000003e8 ??id$initializer$@?$codecvt@_WDU_Mbstatet@@@std@@2P6AXXZA@@3P6AXXZA 007fc3e8 libcpmtd:locale0.obj + 0003:000003ec ??id$initializer$@?$ctype@G@std@@2P6AXXZA@@3P6AXXZA 007fc3ec libcpmtd:locale0.obj + 0003:000003f0 ??id$initializer$@?$codecvt@GDU_Mbstatet@@@std@@2P6AXXZA@@3P6AXXZA 007fc3f0 libcpmtd:locale0.obj + 0003:000004fc ?s_hEvent$initializer$@@3P6AXXZA 007fc4fc main.obj + 0003:00000500 ??id$initializer$@?$codecvt@DDU_Mbstatet@@@std@@2P6AXXZA@@3P6AXXZA 007fc500 MAP.obj + 0003:00000504 ?g_arZone$initializer$@@3P6AXXZA 007fc504 ServerDlg.obj + 0003:00000508 ?g_timerThreads$initializer$@@3P6AXXZA 007fc508 ServerDlg.obj + 0003:00000510 ?s_timeThread$initializer$@@3P6AXXZA 007fc510 shared:TimeThread.obj + 0003:00000514 ?s_randomNumberGenerator$initializer$@@3P6AXXZA 007fc514 shared:globals.obj + 0003:00000518 ?s_rngLock$initializer$@@3P6AXXZA 007fc518 shared:globals.obj + 0003:00000520 ??s_disconnectionQueueLock$initializer$@SocketMgr@@2P6AXXZA@@3P6AXXZA 007fc520 shared:SocketMgr.obj + 0003:00000524 ??s_disconnectionQueue$initializer$@SocketMgr@@2P6AXXZA@@3P6AXXZA 007fc524 shared:SocketMgr.obj + 0003:00000528 ??s_cleanupThread$initializer$@SocketMgr@@1P6AXXZA@@3P6AXXZA 007fc528 shared:SocketMgr.obj + 0003:0000052c ??s_refCounter$initializer$@SocketMgr@@1P6AXXZA@@3P6AXXZA 007fc52c shared:SocketMgr.obj + 0003:00000534 ??s_loadedMaps$initializer$@SMDFile@@0P6AXXZA@@3P6AXXZA 007fc534 shared:SMDFile.obj + 0003:00000538 ?nothrow$initializer$@std@@3P6AXXZA 007fc538 libcpmtd:nothrow.obj + 0003:0000053c ?s_defaultWaiterPool$initializer$@platform@details@Concurrency@@3P6AXXZA 007fc53c libconcrtd:Platform.obj + 0003:00000540 ?g_DebugOutFilePtr$initializer$@details@Concurrency@@3P6AXXZA 007fc540 libconcrtd:utils.obj + 0003:00000854 ?pre_c_initializer@@3P6AHXZA 007fc854 LIBCMTD:exe_main.obj + 0003:00000958 ?post_pgo_initializer@@3P6AHXZA 007fc958 LIBCMTD:exe_main.obj + 0003:00000a5c ?pinit@@3P6AHXZA 007fca5c libcpmtd:winapisupp.obj + 0003:00000a60 ?__scrt_initialize_tss_var@@3P6AHXZA 007fca60 LIBCMTD:thread_safe_statics.obj + 0003:00000d88 ?pterm@@3P6AXXZA 007fcd88 libconcrtd:utils.obj + 0003:00004458 ?piecewise_construct@std@@3Upiecewise_construct_t@1@B 00800458 GameSocket.obj + 0003:00006620 ?piecewise_construct@std@@3Upiecewise_construct_t@1@B 00802620 Npc.obj + 0003:00006628 ?fx@?1??InitPos@CNpc@@QAEXXZ@4QAY04$$CBMA 00802628 Npc.obj + 0003:00006678 ?fz@?1??InitPos@CNpc@@QAEXXZ@4QAY04$$CBMA 00802678 Npc.obj + 0003:00009b9a ?piecewise_construct@std@@3Upiecewise_construct_t@1@B 00805b9a ServerDlg.obj + 0003:0001200f ?piecewise_construct@std@@3Upiecewise_construct_t@1@B 0080e00f shared:Ini.obj + 0003:0001498c ?msgs@@3QBQBDB 0081098c libcpmtd:thread0.obj + 0003:000149a8 ?codes@@3QBHB 008109a8 libcpmtd:thread0.obj + 0003:00014c58 ?_Win_errtab@std@@3QBU_Win_errtab_t@1@B 00810c58 libcpmtd:syserror.obj + 0003:00014ec0 ?_Sys_errtab@std@@3QBU_Sys_errtab_t@1@B 00810ec0 libcpmtd:syserror.obj + 0003:000159dc ?mods@?1??_Xfsopen@std@@YAPAU_iobuf@@PBDHH@Z@4QBQBDB 008119dc libcpmtd:fiopen.obj + 0003:00015a4c ?mods@?1??_Xfsopen@std@@YAPAU_iobuf@@PB_WHH@Z@4QBQB_WB 00811a4c libcpmtd:fiopen.obj + 0003:00018b38 _digits 00814b38 libcpmtd:xstoul.obj + 0003:00018b60 _ndigs 00814b60 libcpmtd:xstoul.obj + 0003:00018b94 _digits 00814b94 libcpmtd:xstoull.obj + 0003:00018bbc _ndigs 00814bbc libcpmtd:xstoull.obj + 0003:00018bf0 ?LcidToLocaleNameTable@@3QBULcidToLocaleName@@B 00814bf0 libcpmtd:winapinls.obj + 0003:00019310 ?LocaleNameToIndexTable@@3QBULocaleNameIndex@@B 00815310 libcpmtd:winapinls.obj + 0003:0001b7d4 ?_RTC_ErrorMessages@@3QBQBDB 008177d4 LIBCMTD:error.obj + 0003:0001b7ec ?_RTC_NoFalsePositives@@3QBHB 008177ec LIBCMTD:error.obj + 0003:0001b804 ?stack_premsg@@3QBDB 00817804 LIBCMTD:error.obj + 0003:0001b820 ?stack_postmsg@@3QBDB 00817820 LIBCMTD:error.obj + 0003:0001b834 ?uninit_premsg@@3QBDB 00817834 LIBCMTD:error.obj + 0003:0001b844 ?uninit_postmsg@@3QBDB 00817844 LIBCMTD:error.obj + 0003:0001be94 _GS_ExceptionPointers 00817e94 LIBCMTD:gs_report.obj + 0003:0001bfb0 _NaN 00817fb0 LIBCMTD:ftol3.obj + 0003:0001bfb4 _onept5 00817fb4 LIBCMTD:ftol3.obj + 0003:0001bfb8 _Int32ToUInt32 00817fb8 LIBCMTD:ftol3.obj + 0003:0001bff8 ?_RTC_errlist@@3QBQBDB 00817ff8 LIBCMTD:userapi.obj + 0003:0001c0dc ?mspdbName@@3QB_WB 008180dc LIBCMTD:pdblkup.obj + 0003:0001c100 ?debugCrtFileName@@3QB_WB 00818100 LIBCMTD:pdblkup.obj + 0003:0001c290 ?dllExt@?1??GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z@4QB_WB 00818290 LIBCMTD:pdblkup.obj + 0003:0001c29c ?mspdbFilename@?1??GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z@4QB_WB 0081829c LIBCMTD:pdblkup.obj + 0003:0002f2f0 ?ExceptionTemplate@?1??_CxxThrowException@@9@8@4UEHExceptionRecord@@B 0082b2f0 libvcruntimed:throw.obj + 0003:0002f5c0 ?tokenTable@@3QBQBDB 0082b5c0 libvcruntimed:undname.obj + 0003:0002f600 ?nameTable@@3QBQBDB 0082b600 libvcruntimed:undname.obj + 0003:0002f74c ?rttiTable@@3QBQBDB 0082b74c libvcruntimed:undname.obj + 0003:000303c4 ?module_names@?A0x09dcfcb8@@3QBQB_WB 0082c3c4 libvcruntimed:winapi_downlevel.obj + 0003:0003068c ?candidate_modules@?1??try_get_FlsAlloc@@YAP6GKP6GXPAX@Z@ZXZ@4QBW4module_id@?A0x09dcfcb8@@B 0082c68c libvcruntimed:winapi_downlevel.obj + 0003:00030698 ?candidate_modules@?1??try_get_FlsFree@@YAP6GHK@ZXZ@4QBW4module_id@?A0x09dcfcb8@@B 0082c698 libvcruntimed:winapi_downlevel.obj + 0003:000306a4 ?candidate_modules@?1??try_get_FlsGetValue@@YAP6GPAXK@ZXZ@4QBW4module_id@?A0x09dcfcb8@@B 0082c6a4 libvcruntimed:winapi_downlevel.obj + 0003:000306b0 ?candidate_modules@?1??try_get_FlsSetValue@@YAP6GHKPAX@ZXZ@4QBW4module_id@?A0x09dcfcb8@@B 0082c6b0 libvcruntimed:winapi_downlevel.obj + 0003:000306bc ?candidate_modules@?1??try_get_InitializeCriticalSectionEx@@YAP6GHPAU_RTL_CRITICAL_SECTION@@KK@ZXZ@4QBW4module_id@?A0x09dcfcb8@@B 0082c6bc libvcruntimed:winapi_downlevel.obj + 0003:000306cc ?report_type_messages@@3QBQB_WB 0082c6cc libucrtd:dbgrpt.obj + 0003:00030728 ?more_info_string@@3QB_WB 0082c728 libucrtd:dbgrpt.obj + 0003:00030c98 ?empty_string@?1???$common_message_window@D@@YAHHQAXQBD111@Z@4QBDB 0082cc98 libucrtd:dbgrpt.obj + 0003:00031008 ?empty_string@?1???$common_message_window@_W@@YAHHQAXQB_W111@Z@4QB_WB 0082d008 libucrtd:dbgrpt.obj + 0003:0003f4c0 ?comspec_name@?1???$common_system@D@@YAHQBD@Z@4QBDB 0083b4c0 libucrtd:system.obj + 0003:0003f4cc ?cmd_exe@?1???$common_system@D@@YAHQBD@Z@4QBDB 0083b4cc libucrtd:system.obj + 0003:0003f4d8 ?slash_c@?1???$common_system@D@@YAHQBD@Z@4QBDB 0083b4d8 libucrtd:system.obj + 0003:0003f668 ?comspec_name@?1???$common_system@_W@@YAHQB_W@Z@4QB_WB 0083b668 libucrtd:system.obj + 0003:0003f67c ?cmd_exe@?1???$common_system@_W@@YAHQB_W@Z@4QB_WB 0083b67c libucrtd:system.obj + 0003:0003f690 ?slash_c@?1???$common_system@_W@@YAHQB_W@Z@4QB_WB 0083b690 libucrtd:system.obj + 0003:0003f6d4 ?block_use_names@@3QBQBDB 0083b6d4 libucrtd:debug_heap.obj + 0003:00043270 ?errtable@@3QBUerrentry@?A0x31fdb9ec@@B 0083f270 libucrtd:errno.obj + 0003:00046a88 ___acrt_initializers 00842a88 libucrtd:initialization.obj + 0003:00047470 __first_127char 00843470 libucrtd:wsetlocale.obj + 0003:00048a08 ?_names@?1??_get_fname@@9@9 00844a08 libucrtd:fpexcept.obj + 0003:0004a090 ?module_names@?A0x391cf84c@@3QBQB_WB 00846090 libucrtd:winapi_thunks.obj + 0003:0004a86c ?candidate_modules@?1??try_get_AreFileApisANSI@@YAP6GHXZXZ@4QBW4module_id@?A0x391cf84c@@B 0084686c libucrtd:winapi_thunks.obj + 0003:0004a884 ?candidate_modules@?1??try_get_CompareStringEx@@YAP6GHPB_WK0H0HPAU_nlsversioninfo@@PAXJ@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846884 libucrtd:winapi_thunks.obj + 0003:0004a8a4 ?candidate_modules@?1??try_get_EnumSystemLocalesEx@@YAP6GHP6GHPA_WKJ@ZKJPAX@ZXZ@4QBW4module_id@?A0x391cf84c@@B 008468a4 libucrtd:winapi_thunks.obj + 0003:0004a8c8 ?candidate_modules@?1??try_get_FlsAlloc@@YAP6GKP6GXPAX@Z@ZXZ@4QBW4module_id@?A0x391cf84c@@B 008468c8 libucrtd:winapi_thunks.obj + 0003:0004a8e0 ?candidate_modules@?1??try_get_FlsFree@@YAP6GHK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 008468e0 libucrtd:winapi_thunks.obj + 0003:0004a8f8 ?candidate_modules@?1??try_get_FlsGetValue@@YAP6GPAXK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 008468f8 libucrtd:winapi_thunks.obj + 0003:0004a914 ?candidate_modules@?1??try_get_FlsSetValue@@YAP6GHKPAX@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846914 libucrtd:winapi_thunks.obj + 0003:0004a930 ?candidate_modules@?1??try_get_GetActiveWindow@@YAP6GPAUHWND__@@XZXZ@4QBW4module_id@?A0x391cf84c@@B 00846930 libucrtd:winapi_thunks.obj + 0003:0004a950 ?candidate_modules@?1??try_get_GetDateFormatEx@@YAP6GHPB_WKPBU_SYSTEMTIME@@0PA_WH0@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846950 libucrtd:winapi_thunks.obj + 0003:0004a970 ?candidate_modules@?1??try_get_GetEnabledXStateFeatures@@YAP6G_KXZXZ@4QBW4module_id@?A0x391cf84c@@B 00846970 libucrtd:winapi_thunks.obj + 0003:0004a99c ?candidate_modules@?1??try_get_GetLastActivePopup@@YAP6GPAUHWND__@@PAU2@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 0084699c libucrtd:winapi_thunks.obj + 0003:0004a9c0 ?candidate_modules@?1??try_get_GetLocaleInfoEx@@YAP6GHPB_WKPA_WH@ZXZ@4QBW4module_id@?A0x391cf84c@@B 008469c0 libucrtd:winapi_thunks.obj + 0003:0004a9e0 ?candidate_modules@?1??try_get_GetProcessWindowStation@@YAP6GPAUHWINSTA__@@XZXZ@4QBW4module_id@?A0x391cf84c@@B 008469e0 libucrtd:winapi_thunks.obj + 0003:0004aa08 ?candidate_modules@?1??try_get_GetSystemTimePreciseAsFileTime@@YAP6GXPAU_FILETIME@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846a08 libucrtd:winapi_thunks.obj + 0003:0004aa34 ?candidate_modules@?1??try_get_GetTimeFormatEx@@YAP6GHPB_WKPBU_SYSTEMTIME@@0PA_WH@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846a34 libucrtd:winapi_thunks.obj + 0003:0004aa54 ?candidate_modules@?1??try_get_GetUserDefaultLocaleName@@YAP6GHPA_WH@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846a54 libucrtd:winapi_thunks.obj + 0003:0004aa80 ?candidate_modules@?1??try_get_GetUserObjectInformationW@@YAP6GHPAXH0KPAK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846a80 libucrtd:winapi_thunks.obj + 0003:0004aaac ?candidate_modules@?1??try_get_GetXStateFeaturesMask@@YAP6GHPAU_CONTEXT@@PA_K@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846aac libucrtd:winapi_thunks.obj + 0003:0004aad4 ?candidate_modules@?1??try_get_InitializeCriticalSectionEx@@YAP6GHPAU_RTL_CRITICAL_SECTION@@KK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846ad4 libucrtd:winapi_thunks.obj + 0003:0004ab04 ?candidate_modules@?1??try_get_IsValidLocaleName@@YAP6GHPB_W@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846b04 libucrtd:winapi_thunks.obj + 0003:0004ab28 ?candidate_modules@?1??try_get_LCMapStringEx@@YAP6GHPB_WK0HPA_WHPAU_nlsversioninfo@@PAXJ@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846b28 libucrtd:winapi_thunks.obj + 0003:0004ab44 ?candidate_modules@?1??try_get_LCIDToLocaleName@@YAP6GHKPA_WHK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846b44 libucrtd:winapi_thunks.obj + 0003:0004ab64 ?candidate_modules@?1??try_get_LocaleNameToLCID@@YAP6GKPB_WK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846b64 libucrtd:winapi_thunks.obj + 0003:0004ab84 ?candidate_modules@?1??try_get_LocateXStateFeature@@YAP6GPAXPAU_CONTEXT@@KPAK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846b84 libucrtd:winapi_thunks.obj + 0003:0004aba8 ?candidate_modules@?1??try_get_MessageBoxA@@YAP6GHPAUHWND__@@PBD1I@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846ba8 libucrtd:winapi_thunks.obj + 0003:0004abc4 ?candidate_modules@?1??try_get_MessageBoxW@@YAP6GHPAUHWND__@@PB_W1I@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846bc4 libucrtd:winapi_thunks.obj + 0003:0004abe0 ?candidate_modules@?1??try_get_RoInitialize@@YAP6GJW4RO_INIT_TYPE@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846be0 libucrtd:winapi_thunks.obj + 0003:0004abf4 ?candidate_modules@?1??try_get_RoUninitialize@@YAP6GXXZXZ@4QBW4module_id@?A0x391cf84c@@B 00846bf4 libucrtd:winapi_thunks.obj + 0003:0004ac0c ?candidate_modules@?1??try_get_AppPolicyGetProcessTerminationMethod@@YAP6GJPAXPAW4AppPolicyProcessTerminationMethod@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846c0c libucrtd:winapi_thunks.obj + 0003:0004ac3c ?candidate_modules@?1??try_get_AppPolicyGetThreadInitializationType@@YAP6GJPAXPAW4AppPolicyThreadInitializationType@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846c3c libucrtd:winapi_thunks.obj + 0003:0004ac6c ?candidate_modules@?1??try_get_AppPolicyGetShowDeveloperDiagnostic@@YAP6GJPAXPAW4AppPolicyShowDeveloperDiagnostic@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846c6c libucrtd:winapi_thunks.obj + 0003:0004ac9c ?candidate_modules@?1??try_get_AppPolicyGetWindowingModel@@YAP6GJPAXPAW4AppPolicyWindowingModel@@@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846c9c libucrtd:winapi_thunks.obj + 0003:0004acc0 ?candidate_modules@?1??try_get_SetThreadStackGuarantee@@YAP6GHPAK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846cc0 libucrtd:winapi_thunks.obj + 0003:0004ace8 ?candidate_modules@?1??try_get_SystemFunction036@@YAP6GEPAXK@ZXZ@4QBW4module_id@?A0x391cf84c@@B 00846ce8 libucrtd:winapi_thunks.obj + 0003:0004c380 POW_name 00848380 libucrtd:pow_impl.obj + 0003:0004c390 Shifter 00848390 libucrtd:pow_pentium4.obj + 0003:0004c3a0 SIGMASK 008483a0 libucrtd:pow_pentium4.obj + 0003:0004c3b0 ONEMASK 008483b0 libucrtd:pow_pentium4.obj + 0003:0004c3c0 ABSVALMASK 008483c0 libucrtd:pow_pentium4.obj + 0003:0004c3d0 cev 008483d0 libucrtd:pow_pentium4.obj + 0003:0004c3f8 HALFSIG 008483f8 libucrtd:pow_pentium4.obj + 0003:0004c400 LHN 00848400 libucrtd:pow_pentium4.obj + 0003:0004c408 sNaN 00848408 libucrtd:pow_pentium4.obj + 0003:0004c410 INF 00848410 libucrtd:pow_pentium4.obj + 0003:0004c418 NEG_INF 00848418 libucrtd:pow_pentium4.obj + 0003:0004c420 NEG_ZERO 00848420 libucrtd:pow_pentium4.obj + 0003:0004c428 NEG_BIG 00848428 libucrtd:pow_pentium4.obj + 0003:0004c430 POS_BIG 00848430 libucrtd:pow_pentium4.obj + 0003:0004c438 EMIN 00848438 libucrtd:pow_pentium4.obj + 0003:0004c440 QIND 00848440 libucrtd:pow_pentium4.obj + 0003:0004c480 One 00848480 libucrtd:common.obj + 0003:0004c494 DblMax 00848494 libucrtd:common.obj + 0003:0004c49c DblMin 0084849c libucrtd:common.obj + 0003:0004c4a4 IeeeAdjO 008484a4 libucrtd:common.obj + 0003:0004c4ac IeeeAdjU 008484ac libucrtd:common.obj + 0003:0004c4b4 _infinity 008484b4 libucrtd:common.obj + 0003:0004c4bc _zero 008484bc libucrtd:common.obj + 0003:0004c4e0 _NAME_ 008484e0 libucrtd:sqrt_impl.obj + 0003:0004ccfc ?dot_slash@?CB@???$common_spawnv@D@@YAHHQBDQBQBD1@Z@4QBDB 00848cfc libucrtd:spawnv.obj + 0003:0004cd00 ?extensions@?CP@???$common_spawnv@D@@YAHHQBDQBQBD1@Z@4QAY04$$CBDA 00848d00 libucrtd:spawnv.obj + 0003:0004d0b8 ?dot_slash@?CB@???$common_spawnv@_W@@YAHHQB_WQBQB_W1@Z@4QB_WB 008490b8 libucrtd:spawnv.obj + 0003:0004d0c0 ?extensions@?CP@???$common_spawnv@_W@@YAHHQB_WQBQB_W1@Z@4QAY04$$CB_WA 008490c0 libucrtd:spawnv.obj + 0003:0004ded0 _NAME_ 00849ed0 libucrtd:acos_impl.obj + 0003:0004dee0 Shifter 00849ee0 libucrtd:acos_pentium4.obj + 0003:0004def0 PI_BY_2 00849ef0 libucrtd:acos_pentium4.obj + 0003:0004df00 NEG_PI 00849f00 libucrtd:acos_pentium4.obj + 0003:0004df10 PI 00849f10 libucrtd:acos_pentium4.obj + 0003:0004df20 SIGNMASK 00849f20 libucrtd:acos_pentium4.obj + 0003:0004df30 HALFMASK 00849f30 libucrtd:acos_pentium4.obj + 0003:0004df40 HALFMASK2 00849f40 libucrtd:acos_pentium4.obj + 0003:0004df50 cv 00849f50 libucrtd:acos_pentium4.obj + 0003:0004df70 cv2 00849f70 libucrtd:acos_pentium4.obj + 0003:0004dfb0 ABSVALMASK 00849fb0 libucrtd:acos_pentium4.obj + 0003:0004dfb8 TMASK 00849fb8 libucrtd:acos_pentium4.obj + 0003:0004dfc0 ONEMASK 00849fc0 libucrtd:acos_pentium4.obj + 0003:0004dfc8 ONE_BY_2 00849fc8 libucrtd:acos_pentium4.obj + 0003:0004dfd0 EMIN 00849fd0 libucrtd:acos_pentium4.obj + 0003:0004dfd8 MAX_ARG 00849fd8 libucrtd:acos_pentium4.obj + 0003:0004dfe0 MIN_ARG 00849fe0 libucrtd:acos_pentium4.obj + 0003:0004dfe8 INF 00849fe8 libucrtd:acos_pentium4.obj + 0003:0004dff0 ZERO 00849ff0 libucrtd:acos_pentium4.obj + 0003:0004dff8 ALPHA 00849ff8 libucrtd:acos_pentium4.obj + 0003:0004e040 _NAME_ 0084a040 libucrtd:asin_impl.obj + 0003:0004e050 Shifter 0084a050 libucrtd:asin_pentium4.obj + 0003:0004e060 PI_BY_2 0084a060 libucrtd:asin_pentium4.obj + 0003:0004e070 SIGNMASK 0084a070 libucrtd:asin_pentium4.obj + 0003:0004e080 HALFMASK 0084a080 libucrtd:asin_pentium4.obj + 0003:0004e090 HALFMASK2 0084a090 libucrtd:asin_pentium4.obj + 0003:0004e098 cv 0084a098 libucrtd:asin_pentium4.obj + 0003:0004e0b0 cv2 0084a0b0 libucrtd:asin_pentium4.obj + 0003:0004e0f0 ABSVALMASK 0084a0f0 libucrtd:asin_pentium4.obj + 0003:0004e0f8 TMASK 0084a0f8 libucrtd:asin_pentium4.obj + 0003:0004e100 ONEMASK 0084a100 libucrtd:asin_pentium4.obj + 0003:0004e108 EMIN 0084a108 libucrtd:asin_pentium4.obj + 0003:0004e110 MAX_ARG 0084a110 libucrtd:asin_pentium4.obj + 0003:0004e118 MIN_ARG 0084a118 libucrtd:asin_pentium4.obj + 0003:0004e120 INF 0084a120 libucrtd:asin_pentium4.obj + 0003:0004e128 ZERO 0084a128 libucrtd:asin_pentium4.obj + 0003:0004e160 _NAME_ 0084a160 libucrtd:cos_impl.obj + 0003:0004e170 SC_1 0084a170 libucrtd:cos_pentium4.obj + 0003:0004e180 SC_2 0084a180 libucrtd:cos_pentium4.obj + 0003:0004e190 SC_3 0084a190 libucrtd:cos_pentium4.obj + 0003:0004e1a0 SC_4 0084a1a0 libucrtd:cos_pentium4.obj + 0003:0004e1b0 PI32INV 0084a1b0 libucrtd:cos_pentium4.obj + 0003:0004e1b8 SHIFTER 0084a1b8 libucrtd:cos_pentium4.obj + 0003:0004e1c0 P_2 0084a1c0 libucrtd:cos_pentium4.obj + 0003:0004e1d0 P_1 0084a1d0 libucrtd:cos_pentium4.obj + 0003:0004e1d8 P_3 0084a1d8 libucrtd:cos_pentium4.obj + 0003:0004e1e0 TWO_POW_55 0084a1e0 libucrtd:cos_pentium4.obj + 0003:0004e1e8 TWO_POW_M55 0084a1e8 libucrtd:cos_pentium4.obj + 0003:0004e1f0 ALL_ONES 0084a1f0 libucrtd:cos_pentium4.obj + 0003:0004e1f8 NEG_ZERO 0084a1f8 libucrtd:cos_pentium4.obj + 0003:0004e200 ONE 0084a200 libucrtd:cos_pentium4.obj + 0003:0004e210 SIGN_MASK 0084a210 libucrtd:cos_pentium4.obj + 0003:0004e250 _NAME_ 0084a250 libucrtd:sin_impl.obj + 0003:0004e260 SC_1 0084a260 libucrtd:sin_pentium4.obj + 0003:0004e270 SC_2 0084a270 libucrtd:sin_pentium4.obj + 0003:0004e280 SC_3 0084a280 libucrtd:sin_pentium4.obj + 0003:0004e290 SC_4 0084a290 libucrtd:sin_pentium4.obj + 0003:0004e2a0 PI32INV 0084a2a0 libucrtd:sin_pentium4.obj + 0003:0004e2a8 SHIFTER 0084a2a8 libucrtd:sin_pentium4.obj + 0003:0004e2b0 P_2 0084a2b0 libucrtd:sin_pentium4.obj + 0003:0004e2c0 P_1 0084a2c0 libucrtd:sin_pentium4.obj + 0003:0004e2c8 P_3 0084a2c8 libucrtd:sin_pentium4.obj + 0003:0004e2d0 TWO_POW_55 0084a2d0 libucrtd:sin_pentium4.obj + 0003:0004e2d8 TWO_POW_M55 0084a2d8 libucrtd:sin_pentium4.obj + 0003:0004e2e0 ALL_ONES 0084a2e0 libucrtd:sin_pentium4.obj + 0003:0004e2e8 NEG_ZERO 0084a2e8 libucrtd:sin_pentium4.obj + 0003:0004e2f0 ONE 0084a2f0 libucrtd:sin_pentium4.obj + 0003:0004f284 _over 0084b284 libucrtd:fpctrl.obj + 0003:0004f294 _under 0084b294 libucrtd:fpctrl.obj + 0003:0004f7ec ?_mb_locale_names@@3QBQB_WB 0084b7ec libucrtd:mbctype.obj + 0003:00051b94 ?commonFlags@?1??_control87@@9@9 0084db94 libucrtd:ieee87.obj + 0003:00051cc0 smask 0084dcc0 libucrtd:exp_pentium4.obj + 0003:00051cd0 emask 0084dcd0 libucrtd:exp_pentium4.obj + 0003:00051ce0 mmask 0084dce0 libucrtd:exp_pentium4.obj + 0003:00051cf0 bias 0084dcf0 libucrtd:exp_pentium4.obj + 0003:00051d00 Shifter 0084dd00 libucrtd:exp_pentium4.obj + 0003:00051d10 twom60 0084dd10 libucrtd:exp_pentium4.obj + 0003:00051d20 cv 0084dd20 libucrtd:exp_pentium4.obj + 0003:00051d70 ONE_val 0084dd70 libucrtd:exp_pentium4.obj + 0003:00051d78 EMIN 0084dd78 libucrtd:exp_pentium4.obj + 0003:00051d80 MAX_ARG 0084dd80 libucrtd:exp_pentium4.obj + 0003:00051d88 MIN_ARG 0084dd88 libucrtd:exp_pentium4.obj + 0003:00051d90 INF 0084dd90 libucrtd:exp_pentium4.obj + 0003:00051d98 ZERO 0084dd98 libucrtd:exp_pentium4.obj + 0003:00051da0 XMAX 0084dda0 libucrtd:exp_pentium4.obj + 0003:00051da8 XMIN 0084dda8 libucrtd:exp_pentium4.obj + 0003:00051db0 Sm_Thres 0084ddb0 libucrtd:exp_pentium4.obj + 0003:00051db8 Del_Thres 0084ddb8 libucrtd:exp_pentium4.obj + 0003:00051df8 ?LcidToLocaleNameTable@?A0x881e4c05@@3QBULcidToLocaleName@1@B 0084ddf8 libucrtd:lcidtoname_downlevel.obj + 0003:000532c8 ?LocaleNameToIndexTable@?A0x881e4c05@@3QBULocaleNameIndex@1@B 0084f2c8 libucrtd:lcidtoname_downlevel.obj + 0003:0005512e _log2max 0085112e libucrtd:87tran.obj + 0003:00055138 _smallarg 00851138 libucrtd:87tran.obj + 0003:00055142 _half 00851142 libucrtd:87tran.obj + 0003:0005519e One 0085119e libucrtd:87disp.obj + 0003:000551a6 Three 008511a6 libucrtd:87disp.obj + 0003:000551ae XAMtoTagTab 008511ae libucrtd:87disp.obj + 0003:000551dc _INF 008511dc libucrtd:libm_error.obj + 0003:000551f0 _BIG 008511f0 libucrtd:libm_error.obj + 0003:00055204 _ZERO 00851204 libucrtd:libm_error.obj + 0003:00055218 _INF_32 00851218 libucrtd:libm_error.obj + 0003:00055224 _NAN_32 00851224 libucrtd:libm_error.obj + 0003:00055230 _ZERO_32 00851230 libucrtd:libm_error.obj + 0003:0005523c _libm_largef 0085123c libucrtd:libm_error.obj + 0003:00055248 _libm_smallf 00851248 libucrtd:libm_error.obj + 0003:00055258 _libm_small 00851258 libucrtd:libm_error.obj + 0003:00059b0c ?equal_sign@?BD@???$construct_environment_block@D@@YAHQBQBDQAPAD@Z@4QBDB 00855b0c libucrtd:cenvarg.obj + 0003:00059e8c ?equal_sign@?BD@???$construct_environment_block@_W@@YAHQBQB_WQAPA_W@Z@4QB_WB 00855e8c libucrtd:cenvarg.obj + 0003:0005cfa8 ?mask@?P@??_d_int@@9@4QBGB 00858fa8 libucrtd:_test.obj + 0003:0005cfd0 ?sub@?P@??_d_int@@9@4QBIB 00858fd0 libucrtd:_test.obj + 0003:0005cfe4 ?mask@?P@??_fd_int@@9@4QBGB 00858fe4 libucrtd:_test.obj + 0003:0005d00c ?sub@?P@??_fd_int@@9@4QBIB 0085900c libucrtd:_test.obj + 0003:0005d2a0 DblMax 008592a0 libucrtd:87cdisp.obj + 0003:0005d2a8 DblMin 008592a8 libucrtd:87cdisp.obj + 0003:0005d2b0 IeeeAdjO 008592b0 libucrtd:87cdisp.obj + 0003:0005d2b8 IeeeAdjU 008592b8 libucrtd:87cdisp.obj + 0003:0005d2c0 _infinity 008592c0 libucrtd:87cdisp.obj + 0003:0005d2c8 _zero 008592c8 libucrtd:87cdisp.obj + 0003:0005d7b0 _One 008597b0 libucrtd:ceil_pentium4.obj + 0003:0005d7c0 _Bns 008597c0 libucrtd:ceil_pentium4.obj + 0003:0005d7d0 _Zero 008597d0 libucrtd:ceil_pentium4.obj + 0003:0005d7e0 _S 008597e0 libucrtd:ceil_pentium4.obj + 0003:0005d7f0 _NegZero 008597f0 libucrtd:ceil_pentium4.obj + 0003:0005dc40 LOG_name 00859c40 libucrtd:log10_impl.obj + 0003:0005dc50 emask 00859c50 libucrtd:log10_pentium4.obj + 0003:0005dc60 CC 00859c60 libucrtd:log10_pentium4.obj + 0003:0005dc70 Magic 00859c70 libucrtd:log10_pentium4.obj + 0003:0005dc80 hi_mask 00859c80 libucrtd:log10_pentium4.obj + 0003:0005dc90 LOG10_2 00859c90 libucrtd:log10_pentium4.obj + 0003:0005dca0 place_L 00859ca0 libucrtd:log10_pentium4.obj + 0003:0005dcc0 One 00859cc0 libucrtd:log10_pentium4.obj + 0003:0005dcd0 Zero 00859cd0 libucrtd:log10_pentium4.obj + 0003:0005dce0 Two52 00859ce0 libucrtd:log10_pentium4.obj + 0003:0005dcf0 Infs 00859cf0 libucrtd:log10_pentium4.obj + 0003:0005dd00 NaN 00859d00 libucrtd:log10_pentium4.obj + 0003:0005dd10 coeff 00859d10 libucrtd:log10_pentium4.obj + 0003:0005dd84 _newcw 00859d84 libucrtd:ceil.obj + 0003:0006563c __RTC_InitBase.rtc$IMZ 0086163c MagicProcess.obj + 0003:00065640 __RTC_InitBase.rtc$IMZ 00861640 Unit.obj + 0003:00065644 __RTC_InitBase.rtc$IMZ 00861644 N3ShapeMgr.obj + 0003:00065648 __RTC_InitBase.rtc$IMZ 00861648 GameSocket.obj + 0003:0006564c __RTC_InitBase.rtc$IMZ 0086164c main.obj + 0003:00065650 __RTC_InitBase.rtc$IMZ 00861650 MAP.obj + 0003:00065654 __RTC_InitBase.rtc$IMZ 00861654 Npc.obj + 0003:00065658 __RTC_InitBase.rtc$IMZ 00861658 NpcMagicProcess.obj + 0003:0006565c __RTC_InitBase.rtc$IMZ 0086165c NpcThread.obj + 0003:00065660 __RTC_InitBase.rtc$IMZ 00861660 Party.obj + 0003:00065664 __RTC_InitBase.rtc$IMZ 00861664 PathFind.obj + 0003:00065668 __RTC_InitBase.rtc$IMZ 00861668 RoomEvent.obj + 0003:0006566c __RTC_InitBase.rtc$IMZ 0086166c ServerDlg.obj + 0003:00065670 __RTC_InitBase.rtc$IMZ 00861670 AIUser.obj + 0003:00065674 __RTC_InitBase.rtc$IMZ 00861674 shared:TimeThread.obj + 0003:00065678 __RTC_InitBase.rtc$IMZ 00861678 shared:globals.obj + 0003:0006567c __RTC_InitBase.rtc$IMZ 0086167c shared:ReferenceObject.obj + 0003:00065680 __RTC_InitBase.rtc$IMZ 00861680 shared:SocketMgr.obj + 0003:00065684 __RTC_InitBase.rtc$IMZ 00861684 shared:DebugUtils.obj + 0003:00065688 __RTC_InitBase.rtc$IMZ 00861688 shared:Socket.obj + 0003:0006568c __RTC_InitBase.rtc$IMZ 0086168c shared:KOSocket.obj + 0003:00065690 __RTC_InitBase.rtc$IMZ 00861690 shared:Condition.obj + 0003:00065694 __RTC_InitBase.rtc$IMZ 00861694 shared:signal_handler.obj + 0003:00065698 __RTC_InitBase.rtc$IMZ 00861698 shared:tstring.obj + 0003:0006569c __RTC_InitBase.rtc$IMZ 0086169c shared:SMDFile.obj + 0003:000656a0 __RTC_InitBase.rtc$IMZ 008616a0 shared:Thread.obj + 0003:000656a4 __RTC_InitBase.rtc$IMZ 008616a4 shared:SocketOpsWin32.obj + 0003:000656a8 __RTC_InitBase.rtc$IMZ 008616a8 shared:OdbcCommand.obj + 0003:000656ac __RTC_InitBase.rtc$IMZ 008616ac shared:OdbcConnection.obj + 0003:000656b0 __RTC_InitBase.rtc$IMZ 008616b0 shared:OdbcRecordset.obj + 0003:000656b4 __RTC_InitBase.rtc$IMZ 008616b4 shared:Ini.obj + 0003:000656b8 __RTC_InitBase.rtc$IMZ 008616b8 shared:CircularBuffer.obj + 0003:000656bc __RTC_InitBase.rtc$IMZ 008616bc shared:SocketWin32.obj + 0003:000656c0 __RTC_InitBase.rtc$IMZ 008616c0 shared:crc32.obj + 0003:000656c4 __RTC_InitBase.rtc$IMZ 008616c4 shared:JvCryption.obj + 0003:000656c8 __RTC_InitBase.rtc$IMZ 008616c8 shared:lzf.obj + 0003:000656cc __RTC_InitBase.rtc$IMZ 008616cc shared:OdbcParameter.obj + 0003:000659f8 __RTC_Shutdown.rtc$TMZ 008619f8 MagicProcess.obj + 0003:000659fc __RTC_Shutdown.rtc$TMZ 008619fc Unit.obj + 0003:00065a00 __RTC_Shutdown.rtc$TMZ 00861a00 N3ShapeMgr.obj + 0003:00065a04 __RTC_Shutdown.rtc$TMZ 00861a04 GameSocket.obj + 0003:00065a08 __RTC_Shutdown.rtc$TMZ 00861a08 main.obj + 0003:00065a0c __RTC_Shutdown.rtc$TMZ 00861a0c MAP.obj + 0003:00065a10 __RTC_Shutdown.rtc$TMZ 00861a10 Npc.obj + 0003:00065a14 __RTC_Shutdown.rtc$TMZ 00861a14 NpcMagicProcess.obj + 0003:00065a18 __RTC_Shutdown.rtc$TMZ 00861a18 NpcThread.obj + 0003:00065a1c __RTC_Shutdown.rtc$TMZ 00861a1c Party.obj + 0003:00065a20 __RTC_Shutdown.rtc$TMZ 00861a20 PathFind.obj + 0003:00065a24 __RTC_Shutdown.rtc$TMZ 00861a24 RoomEvent.obj + 0003:00065a28 __RTC_Shutdown.rtc$TMZ 00861a28 ServerDlg.obj + 0003:00065a2c __RTC_Shutdown.rtc$TMZ 00861a2c AIUser.obj + 0003:00065a30 __RTC_Shutdown.rtc$TMZ 00861a30 shared:TimeThread.obj + 0003:00065a34 __RTC_Shutdown.rtc$TMZ 00861a34 shared:globals.obj + 0003:00065a38 __RTC_Shutdown.rtc$TMZ 00861a38 shared:ReferenceObject.obj + 0003:00065a3c __RTC_Shutdown.rtc$TMZ 00861a3c shared:SocketMgr.obj + 0003:00065a40 __RTC_Shutdown.rtc$TMZ 00861a40 shared:DebugUtils.obj + 0003:00065a44 __RTC_Shutdown.rtc$TMZ 00861a44 shared:Socket.obj + 0003:00065a48 __RTC_Shutdown.rtc$TMZ 00861a48 shared:KOSocket.obj + 0003:00065a4c __RTC_Shutdown.rtc$TMZ 00861a4c shared:Condition.obj + 0003:00065a50 __RTC_Shutdown.rtc$TMZ 00861a50 shared:signal_handler.obj + 0003:00065a54 __RTC_Shutdown.rtc$TMZ 00861a54 shared:tstring.obj + 0003:00065a58 __RTC_Shutdown.rtc$TMZ 00861a58 shared:SMDFile.obj + 0003:00065a5c __RTC_Shutdown.rtc$TMZ 00861a5c shared:Thread.obj + 0003:00065a60 __RTC_Shutdown.rtc$TMZ 00861a60 shared:SocketOpsWin32.obj + 0003:00065a64 __RTC_Shutdown.rtc$TMZ 00861a64 shared:OdbcCommand.obj + 0003:00065a68 __RTC_Shutdown.rtc$TMZ 00861a68 shared:OdbcConnection.obj + 0003:00065a6c __RTC_Shutdown.rtc$TMZ 00861a6c shared:OdbcRecordset.obj + 0003:00065a70 __RTC_Shutdown.rtc$TMZ 00861a70 shared:Ini.obj + 0003:00065a74 __RTC_Shutdown.rtc$TMZ 00861a74 shared:CircularBuffer.obj + 0003:00065a78 __RTC_Shutdown.rtc$TMZ 00861a78 shared:SocketWin32.obj + 0003:00065a7c __RTC_Shutdown.rtc$TMZ 00861a7c shared:crc32.obj + 0003:00065a80 __RTC_Shutdown.rtc$TMZ 00861a80 shared:JvCryption.obj + 0003:00065a84 __RTC_Shutdown.rtc$TMZ 00861a84 shared:lzf.obj + 0003:00065a88 __RTC_Shutdown.rtc$TMZ 00861a88 shared:OdbcParameter.obj + 0003:00065cb0 __ehfuncinfo$?_Orphan_all@_Container_base12@std@@QAEXXZ 00861cb0 MagicProcess.obj + 0003:00065cd8 __ehfuncinfo$??4_Iterator_base12@std@@QAEAAU01@ABU01@@Z 00861cd8 MagicProcess.obj + 0003:00065d00 __ehfuncinfo$??1_Iterator_base12@std@@QAE@XZ 00861d00 MagicProcess.obj + 0003:00065d28 __ehfuncinfo$?_Adopt@_Iterator_base12@std@@QAEXPBU_Container_base12@2@@Z 00861d28 MagicProcess.obj + 0003:00065d50 __ehfuncinfo$??1Guard@@QAE@XZ 00861d50 MagicProcess.obj + 0003:00065d78 __unwindtable$??0ByteBuffer@@QAE@XZ 00861d78 MagicProcess.obj + 0003:00065d80 __ehfuncinfo$??0ByteBuffer@@QAE@XZ 00861d80 MagicProcess.obj + 0003:00065da8 __ehfuncinfo$??0?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00861da8 MagicProcess.obj + 0003:00065dd0 __ehfuncinfo$??1?$vector@EV?$allocator@E@std@@@std@@QAE@XZ 00861dd0 MagicProcess.obj + 0003:00065df8 __catchsym$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z$2 00861df8 MagicProcess.obj + 0003:00065e08 __unwindtable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00861e08 MagicProcess.obj + 0003:00065e18 __tryblocktable$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00861e18 MagicProcess.obj + 0003:00065e2c __ehfuncinfo$?_Reallocate_exactly@?$vector@EV?$allocator@E@std@@@std@@AAEXI@Z 00861e2c MagicProcess.obj + 0003:00065e58 __ehfuncinfo$?_Tidy@?$vector@EV?$allocator@E@std@@@std@@AAEXXZ 00861e58 MagicProcess.obj + 0003:00065e80 __unwindtable$??0Packet@@QAE@EE@Z 00861e80 MagicProcess.obj + 0003:00065e88 __ehfuncinfo$??0Packet@@QAE@EE@Z 00861e88 MagicProcess.obj + 0003:00065eb0 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00861eb0 MagicProcess.obj + 0003:00065ed8 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00861ed8 MagicProcess.obj + 0003:00065ef0 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEPAU_MAGIC_TABLE@@I@Z 00861ef0 MagicProcess.obj + 0003:00065f1c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 00861f1c MagicProcess.obj + 0003:00065f44 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z 00861f44 MagicProcess.obj + 0003:00065f5c __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEPAU_MAGIC_TYPE4@@I@Z 00861f5c MagicProcess.obj + 0003:00065f88 __ehfuncinfo$??$_Delete_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00861f88 MagicProcess.obj + 0003:00065fb0 __ehfuncinfo$??$_Deallocate@$07$0A@@std@@YAXPAXI@Z 00861fb0 MagicProcess.obj + 0003:00065fd8 __catchsym$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z$2 00861fd8 MagicProcess.obj + 0003:00065fe8 __unwindtable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00861fe8 MagicProcess.obj + 0003:00065ff8 __tryblocktable$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 00861ff8 MagicProcess.obj + 0003:0006600c __ehfuncinfo$??$_Resize_reallocate@U_Value_init_tag@std@@@?$vector@EV?$allocator@E@std@@@std@@AAEXIABU_Value_init_tag@1@@Z 0086200c MagicProcess.obj + 0003:00066038 __ehfuncinfo$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAAV?$allocator@U_Container_proxy@std@@@0@QAU_Container_proxy@0@@Z 00862038 MagicProcess.obj + 0003:00066060 __unwindtable$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z 00862060 MagicProcess.obj + 0003:00066078 __ehfuncinfo$?GrantType4Buff@CMagicProcess@@SA_NPAU_MAGIC_TABLE@@PAU_MAGIC_TYPE4@@PAVUnit@@2_N@Z 00862078 MagicProcess.obj + 0003:000660a4 __unwindtable$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z 008620a4 MagicProcess.obj + 0003:000660c4 __ehfuncinfo$?RemoveType4Buff@CMagicProcess@@SA_NEPAVUnit@@_N1@Z 008620c4 MagicProcess.obj + 0003:000660f0 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 008620f0 MagicProcess.obj + 0003:00066118 __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@V21@@Z 00862118 MagicProcess.obj + 0003:00066120 __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@1@V21@@Z 00862120 MagicProcess.obj + 0003:00066148 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00862148 MagicProcess.obj + 0003:00066170 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00862170 MagicProcess.obj + 0003:00066198 __unwindtable$??0ByteBuffer@@QAE@I@Z 00862198 Unit.obj + 0003:000661a0 __ehfuncinfo$??0ByteBuffer@@QAE@I@Z 008621a0 Unit.obj + 0003:000661c8 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 008621c8 Unit.obj + 0003:000661f0 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z 008621f0 Unit.obj + 0003:00066208 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEPAU_MAGIC_TYPE1@@I@Z 00862208 Unit.obj + 0003:00066234 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 00862234 Unit.obj + 0003:0006625c __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z 0086225c Unit.obj + 0003:00066274 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEPAU_MAGIC_TYPE2@@I@Z 00862274 Unit.obj + 0003:000662a0 __ehfuncinfo$??0Unit@@QAE@W4UnitType@@@Z 008622a0 Unit.obj + 0003:000662c4 __unwindtable$??0Unit@@QAE@W4UnitType@@@Z 008622c4 Unit.obj + 0003:000662fc __ehfuncinfo$?hasBuff@Unit@@QAE_NE_N@Z 008622fc Unit.obj + 0003:00066320 __unwindtable$?hasBuff@Unit@@QAE_NE_N@Z 00862320 Unit.obj + 0003:00066350 __ehfuncinfo$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z 00862350 Unit.obj + 0003:00066374 __unwindtable$?GetMagicDamage@Unit@@QAEFHPAV1@_N@Z 00862374 Unit.obj + 0003:000663a4 __unwindtable$?InitType4@Unit@@QAEX_NE@Z 008623a4 Unit.obj + 0003:000663c4 __ehfuncinfo$?InitType4@Unit@@QAEX_NE@Z 008623c4 Unit.obj + 0003:000663f0 __unwindtable$?AddType4Buff@Unit@@QAEXEAAU_BUFF_TYPE4_INFO@@@Z 008623f0 Unit.obj + 0003:000663f8 __ehfuncinfo$?AddType4Buff@Unit@@QAEXEAAU_BUFF_TYPE4_INFO@@@Z 008623f8 Unit.obj + 0003:00066420 __unwindtable$?SendDeathAnimation@Unit@@QAEXPAV1@@Z 00862420 Unit.obj + 0003:00066428 __ehfuncinfo$?SendDeathAnimation@Unit@@QAEXPAV1@@Z 00862428 Unit.obj + 0003:00066450 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 00862450 Unit.obj + 0003:00066478 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@2@XZ 00862478 Unit.obj + 0003:000664a0 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@QAEXXZ 008624a0 Unit.obj + 0003:000664c8 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ 008624c8 Unit.obj + 0003:000664d0 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@U?$less@E@2@V?$allocator@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ 008624d0 Unit.obj + 0003:000664f8 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@2@XZ 008624f8 Unit.obj + 0003:00066520 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00862520 Unit.obj + 0003:00066528 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00862528 Unit.obj + 0003:00066550 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@2@QAU32@@Z 00862550 Unit.obj + 0003:00066578 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00862578 Unit.obj + 0003:00066580 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE9_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00862580 Unit.obj + 0003:000665a8 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008625a8 Unit.obj + 0003:000665b0 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008625b0 Unit.obj + 0003:000665d8 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008625d8 Unit.obj + 0003:000665e0 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008625e0 Unit.obj + 0003:00066608 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 00862608 Unit.obj + 0003:00066630 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@2@XZ 00862630 Unit.obj + 0003:00066658 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00862658 Unit.obj + 0003:00066660 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00862660 Unit.obj + 0003:00066688 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@@Z 00862688 Unit.obj + 0003:000666b0 __unwindtable$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 008626b0 Unit.obj + 0003:000666c0 __ehfuncinfo$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 008626c0 Unit.obj + 0003:000666ec __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@1@@Z 008626ec Unit.obj + 0003:00066714 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00862714 Unit.obj + 0003:0006673c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 0086273c Unit.obj + 0003:00066764 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 00862764 Unit.obj + 0003:0006678c __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU01@@Z 0086278c Unit.obj + 0003:000667b4 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE9_INFO@@@std@@PAX@std@@@1@PAU01@@Z 008627b4 Unit.obj + 0003:000667dc __catchsym$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$2 008627dc Unit.obj + 0003:000667ec __unwindtable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 008627ec Unit.obj + 0003:000667fc __tryblocktable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 008627fc Unit.obj + 0003:00066810 __ehfuncinfo$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EU_BUFF_TYPE4_INFO@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00862810 Unit.obj + 0003:0006683c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@2@XZ 0086283c Unit.obj + 0003:00066864 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00862864 Unit.obj + 0003:0006688c __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 0086288c Unit.obj + 0003:00066894 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@@Z 00862894 Unit.obj + 0003:000668bc __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008628bc Unit.obj + 0003:000668e4 __unwindtable$??$?0U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 008628e4 Unit.obj + 0003:000668ec __ehfuncinfo$??$?0U?$pair@EU_BUFF_TYPE4_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@$$QAU?$pair@EU_BUFF_TYPE4_INFO@@@1@@Z 008628ec Unit.obj + 0003:00066914 __ehfuncinfo$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@1@@Z 00862914 Unit.obj + 0003:0006693c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 0086293c Unit.obj + 0003:00066964 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 00862964 Unit.obj + 0003:0006698c __unwindtable$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 0086298c Unit.obj + 0003:00066994 __ehfuncinfo$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@std@@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@2@@?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEU_BUFF_TYPE4_INFO@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEU_BUFF_TYPE4_INFO@@@1@@Z 00862994 Unit.obj + 0003:000669bc __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@@Z 008629bc Unit.obj + 0003:000669e4 __ehfuncinfo$??1__CellMain@CN3ShapeMgr@@QAE@XZ 008629e4 N3ShapeMgr.obj + 0003:00066a0c __unwindtable$?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z 00862a0c N3ShapeMgr.obj + 0003:00066a1c __ehfuncinfo$?LoadCollisionData@CN3ShapeMgr@@QAE_NPAU_iobuf@@@Z 00862a1c N3ShapeMgr.obj + 0003:00066a48 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00862a48 GameSocket.obj + 0003:00066a58 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z 00862a58 GameSocket.obj + 0003:00066a84 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00862a84 GameSocket.obj + 0003:00066aac __ehfuncinfo$??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ 00862aac GameSocket.obj + 0003:00066ad4 __ehfuncinfo$?clear@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ 00862ad4 GameSocket.obj + 0003:00066afc __ehfuncinfo$?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00862afc GameSocket.obj + 0003:00066b24 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXXZ 00862b24 GameSocket.obj + 0003:00066b4c __unwindtable$?OnDisconnect@CGameSocket@@UAEXXZ 00862b4c GameSocket.obj + 0003:00066b54 __ehfuncinfo$?OnDisconnect@CGameSocket@@UAEXXZ 00862b54 GameSocket.obj + 0003:00066b7c __unwindtable$?RecvServerConnect@CGameSocket@@QAEXAAVPacket@@@Z 00862b7c GameSocket.obj + 0003:00066b84 __ehfuncinfo$?RecvServerConnect@CGameSocket@@QAEXAAVPacket@@@Z 00862b84 GameSocket.obj + 0003:00066bac __unwindtable$?RecvUserInfo@CGameSocket@@QAEXAAVPacket@@@Z 00862bac GameSocket.obj + 0003:00066bb4 __ehfuncinfo$?RecvUserInfo@CGameSocket@@QAEXAAVPacket@@@Z 00862bb4 GameSocket.obj + 0003:00066bdc __unwindtable$?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z 00862bdc GameSocket.obj + 0003:00066bec __ehfuncinfo$?ReadUserInfo@CGameSocket@@QAEXAAVPacket@@PAVCUser@@@Z 00862bec GameSocket.obj + 0003:00066c18 __unwindtable$?RecvUserInOut@CGameSocket@@QAEXAAVPacket@@@Z 00862c18 GameSocket.obj + 0003:00066c20 __ehfuncinfo$?RecvUserInOut@CGameSocket@@QAEXAAVPacket@@@Z 00862c20 GameSocket.obj + 0003:00066c48 __unwindtable$?RecvUserLogOut@CGameSocket@@QAEXAAVPacket@@@Z 00862c48 GameSocket.obj + 0003:00066c50 __ehfuncinfo$?RecvUserLogOut@CGameSocket@@QAEXAAVPacket@@@Z 00862c50 GameSocket.obj + 0003:00066c78 __unwindtable$?RecvPartyInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z 00862c78 GameSocket.obj + 0003:00066c80 __ehfuncinfo$?RecvPartyInfoAllData@CGameSocket@@QAEXAAVPacket@@@Z 00862c80 GameSocket.obj + 0003:00066ca8 __unwindtable$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z 00862ca8 GameSocket.obj + 0003:00066cc0 __ehfuncinfo$?RecvBattleEvent@CGameSocket@@QAEXAAVPacket@@@Z 00862cc0 GameSocket.obj + 0003:00066cec __unwindtable$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z 00862cec GameSocket.obj + 0003:00066d04 __ehfuncinfo$?RecvNpcSpawnRequest@CGameSocket@@QAEXAAVPacket@@@Z 00862d04 GameSocket.obj + 0003:00066d30 __unwindtable$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z 00862d30 GameSocket.obj + 0003:00066d48 __ehfuncinfo$?RecvNpcKillRequest@CGameSocket@@QAEXAAVPacket@@@Z 00862d48 GameSocket.obj + 0003:00066d74 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00862d74 GameSocket.obj + 0003:00066d9c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@2@XZ 00862d9c GameSocket.obj + 0003:00066dc4 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00862dc4 GameSocket.obj + 0003:00066dec __unwindtable$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 00862dec GameSocket.obj + 0003:00066df4 __ehfuncinfo$?PutData@?$CSTLMap@U_PARTY_GROUP@@@@QAE_NIPAU_PARTY_GROUP@@@Z 00862df4 GameSocket.obj + 0003:00066e1c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@2@QAU32@@Z 00862e1c GameSocket.obj + 0003:00066e44 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@QAEXXZ 00862e44 GameSocket.obj + 0003:00066e6c __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ 00862e6c GameSocket.obj + 0003:00066e74 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEXXZ 00862e74 GameSocket.obj + 0003:00066e9c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@2@QAU32@@Z 00862e9c GameSocket.obj + 0003:00066ec4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00862ec4 GameSocket.obj + 0003:00066ecc __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00862ecc GameSocket.obj + 0003:00066ef4 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@2@XZ 00862ef4 GameSocket.obj + 0003:00066f1c __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00862f1c GameSocket.obj + 0003:00066f44 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 00862f44 GameSocket.obj + 0003:00066f4c __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@@Z 00862f4c GameSocket.obj + 0003:00066f74 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00862f74 GameSocket.obj + 0003:00066f9c __unwindtable$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABE@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z 00862f9c GameSocket.obj + 0003:00066fa4 __ehfuncinfo$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABE@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEV?$map@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@@std@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABE@1@$$QAV?$tuple@$$V@1@@Z 00862fa4 GameSocket.obj + 0003:00066fcc __catchsym$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$2 00862fcc GameSocket.obj + 0003:00066fdc __unwindtable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00862fdc GameSocket.obj + 0003:00066fec __tryblocktable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00862fec GameSocket.obj + 0003:00067000 __ehfuncinfo$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@EFU?$less@E@std@@V?$allocator@U?$pair@$$CBEF@std@@@2@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 00863000 GameSocket.obj + 0003:0006702c __ehfuncinfo$??$?0ABE$0A@@?$tuple@ABE@std@@QAE@ABE@Z 0086302c GameSocket.obj + 0003:00067054 __ehfuncinfo$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEF@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@@Z 00863054 GameSocket.obj + 0003:0006707c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@2@XZ 0086307c GameSocket.obj + 0003:000670a4 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 008630a4 GameSocket.obj + 0003:000670cc __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 008630cc GameSocket.obj + 0003:000670d4 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@@Z 008630d4 GameSocket.obj + 0003:000670fc __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@XZ 008630fc GameSocket.obj + 0003:00067124 __unwindtable$??$?0U?$pair@EF@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QAU?$pair@EF@1@@Z 00863124 GameSocket.obj + 0003:0006712c __ehfuncinfo$??$?0U?$pair@EF@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEF@std@@PAX@1@$$QAU?$pair@EF@1@@Z 0086312c GameSocket.obj + 0003:00067154 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@2@XZ 00863154 GameSocket.obj + 0003:0006717c __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086317c GameSocket.obj + 0003:000671a4 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 008631a4 GameSocket.obj + 0003:000671ac __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@@Z 008631ac GameSocket.obj + 0003:000671d4 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008631d4 GameSocket.obj + 0003:000671fc __unwindtable$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 008631fc GameSocket.obj + 0003:00067204 __ehfuncinfo$??$?0U?$pair@IPAU_PARTY_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_PARTY_GROUP@@@1@@Z 00863204 GameSocket.obj + 0003:0006722c __unwindtable$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@AAU?$pair@$$CBEF@2@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEF@1@@Z 0086322c GameSocket.obj + 0003:00067234 __ehfuncinfo$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@std@@AAU?$pair@$$CBEF@2@@?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEF@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBEF@1@@Z 00863234 GameSocket.obj + 0003:0006725c __unwindtable$_main 0086325c main.obj + 0003:00067264 __ehfuncinfo$_main 00863264 main.obj + 0003:0006728c __ehfuncinfo$?_Swap_proxy_and_iterators@_Container_base12@std@@QAEXAAU12@@Z 0086328c MAP.obj + 0003:000672b4 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 008632b4 MAP.obj + 0003:000672c4 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z 008632c4 MAP.obj + 0003:000672f0 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z 008632f0 MAP.obj + 0003:00067318 __ehfuncinfo$?_Take_contents@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00863318 MAP.obj + 0003:00067340 __ehfuncinfo$?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ 00863340 MAP.obj + 0003:00067368 __ehfuncinfo$?iostream_category@std@@YAABVerror_category@1@XZ 00863368 MAP.obj + 0003:00067390 __unwindtable$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 00863390 MAP.obj + 0003:000673a0 __ehfuncinfo$?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z 008633a0 MAP.obj + 0003:000673cc __unwindtable$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 008633cc MAP.obj + 0003:000673d4 __ehfuncinfo$??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 008633d4 MAP.obj + 0003:000673fc __unwindtable$??0system_error@std@@QAE@Verror_code@1@PBD@Z 008633fc MAP.obj + 0003:00067404 __ehfuncinfo$??0system_error@std@@QAE@Verror_code@1@PBD@Z 00863404 MAP.obj + 0003:0006742c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 0086342c MAP.obj + 0003:00067454 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@2@XZ 00863454 MAP.obj + 0003:0006747c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAEXXZ 0086347c MAP.obj + 0003:000674a4 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 008634a4 MAP.obj + 0003:000674ac __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@IAEXXZ 008634ac MAP.obj + 0003:000674d4 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@2@QAU32@@Z 008634d4 MAP.obj + 0003:000674fc __unwindtable$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 008634fc MAP.obj + 0003:00067504 __ehfuncinfo$?PutData@?$CSTLMap@H@@QAE_NIPAH@Z 00863504 MAP.obj + 0003:0006752c __unwindtable$?DeleteData@?$CSTLMap@H@@QAEXI@Z 0086352c MAP.obj + 0003:00067544 __ehfuncinfo$?DeleteData@?$CSTLMap@H@@QAEXI@Z 00863544 MAP.obj + 0003:00067570 __unwindtable$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00863570 MAP.obj + 0003:00067588 __ehfuncinfo$?DeleteAllData@?$CSTLMap@H@@QAEXXZ 00863588 MAP.obj + 0003:000675b4 __ehfuncinfo$??1?$CSTLMap@H@@QAE@XZ 008635b4 MAP.obj + 0003:000675dc __unwindtable$??0?$CSTLMap@H@@QAE@XZ 008635dc MAP.obj + 0003:000675e4 __ehfuncinfo$??0?$CSTLMap@H@@QAE@XZ 008635e4 MAP.obj + 0003:0006760c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 0086360c MAP.obj + 0003:00067634 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@2@XZ 00863634 MAP.obj + 0003:0006765c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086365c MAP.obj + 0003:00067684 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00863684 MAP.obj + 0003:0006768c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCRoomEvent@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCRoomEvent@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086368c MAP.obj + 0003:000676b4 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@2@QAU32@@Z 008636b4 MAP.obj + 0003:000676dc __unwindtable$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z 008636dc MAP.obj + 0003:000676f4 __ehfuncinfo$?IsExist@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NI@Z 008636f4 MAP.obj + 0003:00067720 __unwindtable$?PutData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NIPAVCRoomEvent@@@Z 00863720 MAP.obj + 0003:00067728 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE_NIPAVCRoomEvent@@@Z 00863728 MAP.obj + 0003:00067750 __unwindtable$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00863750 MAP.obj + 0003:00067768 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEPAVCRoomEvent@@I@Z 00863768 MAP.obj + 0003:00067794 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ 00863794 MAP.obj + 0003:000677ac __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAEXXZ 008637ac MAP.obj + 0003:000677d8 __ehfuncinfo$??1?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 008637d8 MAP.obj + 0003:00067800 __unwindtable$??0?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 00863800 MAP.obj + 0003:00067808 __ehfuncinfo$??0?$CSTLMapOnlyLoad@VCRoomEvent@@@@QAE@XZ 00863808 MAP.obj + 0003:00067830 __unwindtable$??0MAP@@QAE@XZ 00863830 MAP.obj + 0003:00067838 __ehfuncinfo$??0MAP@@QAE@XZ 00863838 MAP.obj + 0003:00067860 __ehfuncinfo$??1MAP@@UAE@XZ 00863860 MAP.obj + 0003:00067888 __unwindtable$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z 00863888 MAP.obj + 0003:000678a0 __ehfuncinfo$?Initialize@MAP@@QAE_NPAU_ZONE_INFO@@@Z 008638a0 MAP.obj + 0003:000678cc __unwindtable$?LoadRoomEvent@MAP@@QAE_NXZ 008638cc MAP.obj + 0003:000678dc __ehfuncinfo$?LoadRoomEvent@MAP@@QAE_NXZ 008638dc MAP.obj + 0003:00067908 __unwindtable$?RegionNpcRemove@MAP@@QAE_NHHH@Z 00863908 MAP.obj + 0003:00067910 __ehfuncinfo$?RegionNpcRemove@MAP@@QAE_NHHH@Z 00863910 MAP.obj + 0003:00067938 __unwindtable$?RegionNpcAdd@MAP@@QAEXHHH@Z 00863938 MAP.obj + 0003:00067940 __ehfuncinfo$?RegionNpcAdd@MAP@@QAEXHHH@Z 00863940 MAP.obj + 0003:00067968 __unwindtable$?RegionUserRemove@MAP@@QAE_NHHH@Z 00863968 MAP.obj + 0003:00067970 __ehfuncinfo$?RegionUserRemove@MAP@@QAE_NHHH@Z 00863970 MAP.obj + 0003:00067998 __unwindtable$?RegionUserAdd@MAP@@QAEXHHH@Z 00863998 MAP.obj + 0003:000679a0 __ehfuncinfo$?RegionUserAdd@MAP@@QAEXHHH@Z 008639a0 MAP.obj + 0003:000679c8 __unwindtable$?IsRoomCheck@MAP@@QAEHMM@Z 008639c8 MAP.obj + 0003:000679d8 __ehfuncinfo$?IsRoomCheck@MAP@@QAEHMM@Z 008639d8 MAP.obj + 0003:00067a04 __unwindtable$?IsRoomStatusCheck@MAP@@QAE_NXZ 00863a04 MAP.obj + 0003:00067a14 __ehfuncinfo$?IsRoomStatusCheck@MAP@@QAE_NXZ 00863a14 MAP.obj + 0003:00067a40 __unwindtable$?InitializeRoom@MAP@@QAEXXZ 00863a40 MAP.obj + 0003:00067a50 __ehfuncinfo$?InitializeRoom@MAP@@QAEXXZ 00863a50 MAP.obj + 0003:00067a7c __unwindtable$?SetRoomEvent@MAP@@QAEPAVCRoomEvent@@H@Z 00863a7c MAP.obj + 0003:00067a84 __ehfuncinfo$?SetRoomEvent@MAP@@QAEPAVCRoomEvent@@H@Z 00863a84 MAP.obj + 0003:00067aac __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00863aac MAP.obj + 0003:00067ad4 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@2@XZ 00863ad4 MAP.obj + 0003:00067afc __unwindtable$??0CRegion@@QAE@XZ 00863afc MAP.obj + 0003:00067b04 __ehfuncinfo$??0CRegion@@QAE@XZ 00863b04 MAP.obj + 0003:00067b2c __ehfuncinfo$??_ECRegion@@QAEPAXI@Z 00863b2c MAP.obj + 0003:00067b54 __ehfuncinfo$??0_Locinfo@std@@QAE@PBD@Z 00863b54 MAP.obj + 0003:00067b78 __unwindtable$??0_Locinfo@std@@QAE@PBD@Z 00863b78 MAP.obj + 0003:00067bbc __ehfuncinfo$??1_Locinfo@std@@QAE@XZ 00863bbc MAP.obj + 0003:00067be4 __ehfuncinfo$??0locale@std@@QAE@XZ 00863be4 MAP.obj + 0003:00067c0c __unwindtable$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00863c0c MAP.obj + 0003:00067c14 __ehfuncinfo$??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z 00863c14 MAP.obj + 0003:00067c3c __unwindtable$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00863c3c MAP.obj + 0003:00067c54 __ehfuncinfo$?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00863c54 MAP.obj + 0003:00067c80 __unwindtable$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00863c80 MAP.obj + 0003:00067c90 __ehfuncinfo$??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z 00863c90 MAP.obj + 0003:00067cbc __ehfuncinfo$??1ios_base@std@@UAE@XZ 00863cbc MAP.obj + 0003:00067ce4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863ce4 MAP.obj + 0003:00067cec __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863cec MAP.obj + 0003:00067d14 __unwindtable$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 00863d14 MAP.obj + 0003:00067d1c __ehfuncinfo$?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z 00863d1c MAP.obj + 0003:00067d44 __unwindtable$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 00863d44 MAP.obj + 0003:00067d4c __ehfuncinfo$??0?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z 00863d4c MAP.obj + 0003:00067d74 __catchsym$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z$3 00863d74 MAP.obj + 0003:00067d84 __tryblocktable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 00863d84 MAP.obj + 0003:00067d98 __unwindtable$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 00863d98 MAP.obj + 0003:00067db0 __ehfuncinfo$?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z 00863db0 MAP.obj + 0003:00067de0 __catchsym$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z$3 00863de0 MAP.obj + 0003:00067df0 __tryblocktable$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z 00863df0 MAP.obj + 0003:00067e04 __unwindtable$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z 00863e04 MAP.obj + 0003:00067e1c __ehfuncinfo$?read@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z 00863e1c MAP.obj + 0003:00067e4c __unwindtable$?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@_JH@Z 00863e4c MAP.obj + 0003:00067e54 __ehfuncinfo$?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@_JH@Z 00863e54 MAP.obj + 0003:00067e7c __unwindtable$?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ 00863e7c MAP.obj + 0003:00067e84 __ehfuncinfo$?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@U_Mbstatet@@@2@XZ 00863e84 MAP.obj + 0003:00067eac __unwindtable$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 00863eac MAP.obj + 0003:00067ec4 __ehfuncinfo$??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 00863ec4 MAP.obj + 0003:00067ef0 __unwindtable$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00863ef0 MAP.obj + 0003:00067ef8 __ehfuncinfo$??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z 00863ef8 MAP.obj + 0003:00067f20 __ehfuncinfo$??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ 00863f20 MAP.obj + 0003:00067f48 __unwindtable$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 00863f48 MAP.obj + 0003:00067f50 __ehfuncinfo$?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDHH@Z 00863f50 MAP.obj + 0003:00067f78 __unwindtable$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 00863f78 MAP.obj + 0003:00067f80 __ehfuncinfo$?uflow@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAEHXZ 00863f80 MAP.obj + 0003:00067fa8 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863fa8 MAP.obj + 0003:00067fb0 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863fb0 MAP.obj + 0003:00067fd8 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863fd8 MAP.obj + 0003:00067fe0 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00863fe0 MAP.obj + 0003:00068008 __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@V21@@Z 00864008 MAP.obj + 0003:00068010 __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAHU?$less@I@std@@V?$allocator@U?$pair@$$CBIPAH@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@@1@V21@@Z 00864010 MAP.obj + 0003:00068038 __unwindtable$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00864038 MAP.obj + 0003:00068048 __ehfuncinfo$??$use_facet@V?$codecvt@DDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@DDU_Mbstatet@@@0@ABVlocale@0@@Z 00864048 MAP.obj + 0003:00068074 __unwindtable$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00864074 MAP.obj + 0003:0006807c __ehfuncinfo$??0?$codecvt@DDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 0086407c MAP.obj + 0003:000680a4 __unwindtable$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008640a4 MAP.obj + 0003:000680bc __ehfuncinfo$?_Getcat@?$codecvt@DDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008640bc MAP.obj + 0003:000680e8 __ehfuncinfo$??1_Sentry_base@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@XZ 008640e8 MAP.obj + 0003:00068110 __unwindtable$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 00864110 MAP.obj + 0003:00068118 __ehfuncinfo$??0sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE@AAV12@_N@Z 00864118 MAP.obj + 0003:00068140 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCRoomEvent@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@@Z 00864140 MAP.obj + 0003:00068168 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAH@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@@Z 00864168 MAP.obj + 0003:00068190 __catchsym$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ$2 00864190 MAP.obj + 0003:000681a0 __unwindtable$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 008641a0 MAP.obj + 0003:000681b0 __tryblocktable$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 008641b0 MAP.obj + 0003:000681c4 __ehfuncinfo$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ 008641c4 MAP.obj + 0003:000681f0 __unwindtable$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 008641f0 MAP.obj + 0003:000681f8 __ehfuncinfo$?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ 008641f8 MAP.obj + 0003:00068220 __ehfuncinfo$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00864220 MAP.obj + 0003:00068248 __unwindtable$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 00864248 MAP.obj + 0003:00068250 __ehfuncinfo$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z 00864250 MAP.obj + 0003:00068278 __ehfuncinfo$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ 00864278 MAP.obj + 0003:000682a0 __ehfuncinfo$?release@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAEPAV_Facet_base@2@XZ 008642a0 MAP.obj + 0003:000682c8 __ehfuncinfo$??$?0U?$default_delete@V_Facet_base@std@@@std@@$0A@@?$unique_ptr@V_Facet_base@std@@U?$default_delete@V_Facet_base@std@@@2@@std@@QAE@PAV_Facet_base@1@@Z 008642c8 MAP.obj + 0003:000682f0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 008642f0 MAP.obj + 0003:00068318 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00864318 MAP.obj + 0003:00068340 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU01@@Z 00864340 MAP.obj + 0003:00068368 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU01@@Z 00864368 MAP.obj + 0003:00068390 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@2@XZ 00864390 MAP.obj + 0003:000683b8 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008643b8 MAP.obj + 0003:000683e0 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 008643e0 MAP.obj + 0003:000683e8 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@@Z 008643e8 MAP.obj + 0003:00068410 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00864410 MAP.obj + 0003:00068438 __unwindtable$??$?0U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00864438 MAP.obj + 0003:00068440 __ehfuncinfo$??$?0U?$pair@IPAVCRoomEvent@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCRoomEvent@@@std@@PAX@1@$$QAU?$pair@IPAVCRoomEvent@@@1@@Z 00864440 MAP.obj + 0003:00068468 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@2@XZ 00864468 MAP.obj + 0003:00068490 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 00864490 MAP.obj + 0003:000684b8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 008644b8 MAP.obj + 0003:000684c0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@@Z 008644c0 MAP.obj + 0003:000684e8 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@XZ 008644e8 MAP.obj + 0003:00068510 __unwindtable$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00864510 MAP.obj + 0003:00068518 __ehfuncinfo$??$?0U?$pair@IPAH@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAH@std@@PAX@1@$$QAU?$pair@IPAH@1@@Z 00864518 MAP.obj + 0003:00068654 __ehfuncinfo$??0?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 00864654 Npc.obj + 0003:0006867c __ehfuncinfo$??1?$vector@IV?$allocator@I@std@@@std@@QAE@XZ 0086467c Npc.obj + 0003:000686a4 __ehfuncinfo$?_Tidy@?$vector@IV?$allocator@I@std@@@std@@AAEXXZ 008646a4 Npc.obj + 0003:000686cc __ehfuncinfo$?clear@?$vector@EV?$allocator@E@std@@@std@@QAEXXZ 008646cc Npc.obj + 0003:000686f4 __unwindtable$??X__Vector3@@QAEXABU_D3DMATRIX@@@Z 008646f4 Npc.obj + 0003:000686fc __ehfuncinfo$??X__Vector3@@QAEXABU_D3DMATRIX@@@Z 008646fc Npc.obj + 0003:00068724 __unwindtable$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 00864724 Npc.obj + 0003:0006872c __ehfuncinfo$??G__Vector3@@QBE?AU0@ABU_D3DVECTOR@@@Z 0086472c Npc.obj + 0003:00068754 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 00864754 Npc.obj + 0003:0006877c __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z 0086477c Npc.obj + 0003:00068794 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEPAU_MAKE_WEAPON@@I@Z 00864794 Npc.obj + 0003:000687c0 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 008647c0 Npc.obj + 0003:000687e8 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z 008647e8 Npc.obj + 0003:00068800 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEPAU_MAKE_ITEM_GRADE_CODE@@I@Z 00864800 Npc.obj + 0003:0006882c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 0086482c Npc.obj + 0003:00068854 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z 00864854 Npc.obj + 0003:0006886c __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEPAU_MAKE_ITEM_LARE_CODE@@I@Z 0086486c Npc.obj + 0003:00068898 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 00864898 Npc.obj + 0003:000688c0 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z 008648c0 Npc.obj + 0003:000688d8 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEPAU_K_MONSTER_ITEM@@I@Z 008648d8 Npc.obj + 0003:00068904 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 00864904 Npc.obj + 0003:0006892c __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z 0086492c Npc.obj + 0003:00068944 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEPAU_MAKE_ITEM_GROUP@@I@Z 00864944 Npc.obj + 0003:00068970 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 00864970 Npc.obj + 0003:00068998 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00864998 Npc.obj + 0003:000689a0 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008649a0 Npc.obj + 0003:000689c8 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@2@QAU32@@Z 008649c8 Npc.obj + 0003:000689f0 __unwindtable$?HpChange@CNpc@@UAEXHPAVUnit@@_N@Z 008649f0 Npc.obj + 0003:000689f8 __ehfuncinfo$?HpChange@CNpc@@UAEXHPAVUnit@@_N@Z 008649f8 Npc.obj + 0003:00068a20 __ehfuncinfo$??0CNpc@@QAE@XZ 00864a20 Npc.obj + 0003:00068a44 __unwindtable$??0CNpc@@QAE@XZ 00864a44 Npc.obj + 0003:00068a74 __ehfuncinfo$??1CNpc@@UAE@XZ 00864a74 Npc.obj + 0003:00068a9c __unwindtable$?SendMoveResult@CNpc@@QAEXMMMM@Z 00864a9c Npc.obj + 0003:00068aa4 __ehfuncinfo$?SendMoveResult@CNpc@@QAEXMMMM@Z 00864aa4 Npc.obj + 0003:00068acc __unwindtable$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z 00864acc Npc.obj + 0003:00068aec __ehfuncinfo$?FindFriendRegion@CNpc@@QAEXHHPAVMAP@@PAU_TargetHealer@@W4MonSearchType@@@Z 00864aec Npc.obj + 0003:00068b18 __ehfuncinfo$?SendExpToUserList@CNpc@@QAEXXZ 00864b18 Npc.obj + 0003:00068b3c __unwindtable$?SendExpToUserList@CNpc@@QAEXXZ 00864b3c Npc.obj + 0003:00068ba0 __catchsym$?Attack@CNpc@@QAE_JXZ$3 00864ba0 Npc.obj + 0003:00068bb0 __tryblocktable$?Attack@CNpc@@QAE_JXZ 00864bb0 Npc.obj + 0003:00068bc4 __unwindtable$?Attack@CNpc@@QAE_JXZ 00864bc4 Npc.obj + 0003:00068bdc __ehfuncinfo$?Attack@CNpc@@QAE_JXZ 00864bdc Npc.obj + 0003:00068c0c __unwindtable$?GiveNpcHaveItem@CNpc@@QAEXXZ 00864c0c Npc.obj + 0003:00068c14 __ehfuncinfo$?GiveNpcHaveItem@CNpc@@QAEXXZ 00864c14 Npc.obj + 0003:00068c3c __unwindtable$?NpcStanding@CNpc@@QAE_JXZ 00864c3c Npc.obj + 0003:00068c4c __ehfuncinfo$?NpcStanding@CNpc@@QAE_JXZ 00864c4c Npc.obj + 0003:00068c78 __unwindtable$?SendAttackRequest@CNpc@@QAEXF@Z 00864c78 Npc.obj + 0003:00068c80 __ehfuncinfo$?SendAttackRequest@CNpc@@QAEXF@Z 00864c80 Npc.obj + 0003:00068ca8 __unwindtable$?SendInOut@CNpc@@QAEXW4InOutType@@@Z 00864ca8 Npc.obj + 0003:00068cb0 __ehfuncinfo$?SendInOut@CNpc@@QAEXW4InOutType@@@Z 00864cb0 Npc.obj + 0003:00068cd8 __unwindtable$?SendNpcInfo@CNpc@@QAEXXZ 00864cd8 Npc.obj + 0003:00068ce0 __ehfuncinfo$?SendNpcInfo@CNpc@@QAEXXZ 00864ce0 Npc.obj + 0003:00068d08 __unwindtable$?SendRegionUpdate@CNpc@@QAEXXZ 00864d08 Npc.obj + 0003:00068d10 __ehfuncinfo$?SendRegionUpdate@CNpc@@QAEXXZ 00864d10 Npc.obj + 0003:00068d38 __ehfuncinfo$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z 00864d38 Npc.obj + 0003:00068d5c __unwindtable$?FindEnemyExpand@CNpc@@QAEMHHMW4UnitType@@@Z 00864d5c Npc.obj + 0003:00068da8 __unwindtable$?GetUserInViewRange@CNpc@@QAE_NHH@Z 00864da8 Npc.obj + 0003:00068dc8 __ehfuncinfo$?GetUserInViewRange@CNpc@@QAE_NHH@Z 00864dc8 Npc.obj + 0003:00068df4 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 00864df4 Npc.obj + 0003:00068e1c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@2@XZ 00864e1c Npc.obj + 0003:00068e44 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ 00864e44 Npc.obj + 0003:00068e4c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@PAVCUser@@HU?$less@PAVCUser@@@std@@V?$allocator@U?$pair@QAVCUser@@H@std@@@3@$0A@@std@@@std@@IAEXXZ 00864e4c Npc.obj + 0003:00068e74 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@2@QAU32@@Z 00864e74 Npc.obj + 0003:00068e9c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00864e9c Npc.obj + 0003:00068ea4 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00864ea4 Npc.obj + 0003:00068ecc __catchsym$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z$2 00864ecc Npc.obj + 0003:00068edc __unwindtable$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00864edc Npc.obj + 0003:00068eec __tryblocktable$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00864eec Npc.obj + 0003:00068f00 __ehfuncinfo$??$_Emplace_reallocate@ABI@?$vector@IV?$allocator@I@std@@@std@@QAEPAIQAIABI@Z 00864f00 Npc.obj + 0003:00068f2c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@QAVCUser@@H@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@@Z 00864f2c Npc.obj + 0003:00068f54 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 00864f54 Npc.obj + 0003:00068f7c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@2@XZ 00864f7c Npc.obj + 0003:00068fa4 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 00864fa4 Npc.obj + 0003:00068fcc __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 00864fcc Npc.obj + 0003:00068fd4 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@@Z 00864fd4 Npc.obj + 0003:00068ffc __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@XZ 00864ffc Npc.obj + 0003:00069024 __unwindtable$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z 00865024 Npc.obj + 0003:0006902c __ehfuncinfo$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABQAVCUser@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABQAVCUser@@@1@$$QAV?$tuple@$$V@1@@Z 0086502c Npc.obj + 0003:00069054 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@@Z 00865054 Npc.obj + 0003:0006907c __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 0086507c Npc.obj + 0003:000690a4 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU01@@Z 008650a4 Npc.obj + 0003:000690cc __ehfuncinfo$??$?0ABQAVCUser@@$0A@@?$tuple@ABQAVCUser@@@std@@QAE@ABQAVCUser@@@Z 008650cc Npc.obj + 0003:000690f4 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU01@@Z 008650f4 Npc.obj + 0003:0006911c __unwindtable$??$?0U?$pair@PAVCUser@@H@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QAU?$pair@PAVCUser@@H@1@@Z 0086511c Npc.obj + 0003:00069124 __ehfuncinfo$??$?0U?$pair@PAVCUser@@H@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@QAVCUser@@H@std@@PAX@1@$$QAU?$pair@PAVCUser@@H@1@@Z 00865124 Npc.obj + 0003:0006914c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@2@XZ 0086514c Npc.obj + 0003:00069174 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00865174 Npc.obj + 0003:0006919c __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 0086519c Npc.obj + 0003:000691a4 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@@Z 008651a4 Npc.obj + 0003:000691cc __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008651cc Npc.obj + 0003:000691f4 __unwindtable$??$?0U?$pair@GPAVCUser@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QAU?$pair@GPAVCUser@@@1@@Z 008651f4 Npc.obj + 0003:000691fc __ehfuncinfo$??$?0U?$pair@GPAVCUser@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@$$QAU?$pair@GPAVCUser@@@1@@Z 008651fc Npc.obj + 0003:00069224 __unwindtable$?MagicPacket@CNpcMagicProcess@@SA_JEIFFFFF@Z 00865224 NpcMagicProcess.obj + 0003:0006922c __ehfuncinfo$?MagicPacket@CNpcMagicProcess@@SA_JEIFFFFF@Z 0086522c NpcMagicProcess.obj + 0003:00069254 __ehfuncinfo$?_Equal@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE_NQBD@Z 00865254 NpcThread.obj + 0003:0006927c __unwindtable$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z 0086527c NpcThread.obj + 0003:00069294 __ehfuncinfo$?DeleteData@?$CSTLMap@VCNpc@@@@QAEXI@Z 00865294 NpcThread.obj + 0003:000692c0 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 008652c0 NpcThread.obj + 0003:000692e8 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@2@XZ 008652e8 NpcThread.obj + 0003:00069310 __catchsym$?NpcThreadProc@@YGIPAX@Z$9 00865310 NpcThread.obj + 0003:00069320 __catchsym$?NpcThreadProc@@YGIPAX@Z$8 00865320 NpcThread.obj + 0003:00069330 __ehfuncinfo$?NpcThreadProc@@YGIPAX@Z 00865330 NpcThread.obj + 0003:00069354 __tryblocktable$?NpcThreadProc@@YGIPAX@Z 00865354 NpcThread.obj + 0003:0006937c __unwindtable$?NpcThreadProc@@YGIPAX@Z 0086537c NpcThread.obj + 0003:000693c4 __unwindtable$?ZoneEventThreadProc@@YGIPAX@Z 008653c4 NpcThread.obj + 0003:000693e4 __ehfuncinfo$?ZoneEventThreadProc@@YGIPAX@Z 008653e4 NpcThread.obj + 0003:00069410 __unwindtable$??0CNpcThread@@QAE@XZ 00865410 NpcThread.obj + 0003:00069420 __ehfuncinfo$??0CNpcThread@@QAE@XZ 00865420 NpcThread.obj + 0003:0006944c __unwindtable$?AddNPC@CNpcThread@@QAEXPAVCNpc@@@Z 0086544c NpcThread.obj + 0003:00069454 __ehfuncinfo$?AddNPC@CNpcThread@@QAEXPAVCNpc@@@Z 00865454 NpcThread.obj + 0003:0006947c __unwindtable$?RemoveNPC@CNpcThread@@QAEXPAVCNpc@@@Z 0086547c NpcThread.obj + 0003:00069484 __ehfuncinfo$?RemoveNPC@CNpcThread@@QAEXPAVCNpc@@@Z 00865484 NpcThread.obj + 0003:000694ac __ehfuncinfo$??1CNpcThread@@UAE@XZ 008654ac NpcThread.obj + 0003:000694d4 __ehfuncinfo$?begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 008654d4 NpcThread.obj + 0003:000694fc __ehfuncinfo$?end@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@2@XZ 008654fc NpcThread.obj + 0003:00069524 __ehfuncinfo$?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@U_Iterator_base0@2@@2@XZ 00865524 NpcThread.obj + 0003:0006954c __ehfuncinfo$?clear@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@QAEXXZ 0086554c NpcThread.obj + 0003:00069574 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ 00865574 NpcThread.obj + 0003:0006957c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVCNpc@@U?$less@PAVCNpc@@@std@@V?$allocator@PAVCNpc@@@3@$0A@@std@@@std@@IAEXXZ 0086557c NpcThread.obj + 0003:000695a4 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVCNpc@@PAX@std@@@2@QAU32@@Z 008655a4 NpcThread.obj + 0003:000695cc __unwindtable$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE?AV01@H@Z 008655cc NpcThread.obj + 0003:000695d4 __ehfuncinfo$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@@std@@QAE?AV01@H@Z 008655d4 NpcThread.obj + 0003:000695fc __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008655fc NpcThread.obj + 0003:00069604 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00865604 NpcThread.obj + 0003:0006962c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVCNpc@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@@Z 0086562c NpcThread.obj + 0003:00069654 __catchsym$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z$2 00865654 NpcThread.obj + 0003:00069664 __unwindtable$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00865664 NpcThread.obj + 0003:00069674 __tryblocktable$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00865674 NpcThread.obj + 0003:00069688 __ehfuncinfo$??$_Emplace_reallocate@ABG@?$vector@GV?$allocator@G@std@@@std@@QAEPAGQAGABG@Z 00865688 NpcThread.obj + 0003:000696b4 __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@V21@@Z 008656b4 NpcThread.obj + 0003:000696bc __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@@1@V21@@Z 008656bc NpcThread.obj + 0003:000696e4 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 008656e4 NpcThread.obj + 0003:0006970c __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@?$_Tree_node@PAVCNpc@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU01@@Z 0086570c NpcThread.obj + 0003:00069734 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00865734 NpcThread.obj + 0003:0006975c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVCNpc@@PAX@2@XZ 0086575c NpcThread.obj + 0003:00069784 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 00865784 NpcThread.obj + 0003:000697ac __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 008657ac NpcThread.obj + 0003:000697b4 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@@Z 008657b4 NpcThread.obj + 0003:000697dc __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@XZ 008657dc NpcThread.obj + 0003:00069804 __unwindtable$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 00865804 NpcThread.obj + 0003:0006980c __ehfuncinfo$??$?0ABQAVCNpc@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVCNpc@@PAX@std@@@1@PAU?$_Tree_node@PAVCNpc@@PAX@1@ABQAVCNpc@@@Z 0086580c NpcThread.obj + 0003:00069834 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU01@@Z 00865834 NpcThread.obj + 0003:0006985c __unwindtable$?PartyCreate@CParty@@QAEXAAVPacket@@@Z 0086585c Party.obj + 0003:00069864 __ehfuncinfo$?PartyCreate@CParty@@QAEXAAVPacket@@@Z 00865864 Party.obj + 0003:0006988c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 0086588c Party.obj + 0003:000698b4 __unwindtable$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z 008658b4 Party.obj + 0003:000698cc __ehfuncinfo$?GetData@?$CSTLMap@U_PARTY_GROUP@@@@QAEPAU_PARTY_GROUP@@I@Z 008658cc Party.obj + 0003:000698f8 __unwindtable$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z 008658f8 Party.obj + 0003:00069910 __ehfuncinfo$?DeleteData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXI@Z 00865910 Party.obj + 0003:0006993c __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@V21@@Z 0086593c Party.obj + 0003:00069944 __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@1@V21@@Z 00865944 Party.obj + 0003:0006996c __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 0086596c Party.obj + 0003:00069994 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00865994 Party.obj + 0003:000699bc __ehfuncinfo$??1CPathFind@@UAE@XZ 008659bc PathFind.obj + 0003:000699e4 __unwindtable$??0CRoomEvent@@QAE@XZ 008659e4 RoomEvent.obj + 0003:000699ec __ehfuncinfo$??0CRoomEvent@@QAE@XZ 008659ec RoomEvent.obj + 0003:00069a14 __unwindtable$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z 00865a14 RoomEvent.obj + 0003:00069a2c __ehfuncinfo$?CheckMonsterCount@CRoomEvent@@AAE_NHHH@Z 00865a2c RoomEvent.obj + 0003:00069a58 __unwindtable$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z 00865a58 RoomEvent.obj + 0003:00069a70 __ehfuncinfo$?GetNpcPtr@CRoomEvent@@AAEPAVCNpc@@H@Z 00865a70 RoomEvent.obj + 0003:00069a9c __unwindtable$?EndEventSay@CRoomEvent@@AAEXHH@Z 00865a9c RoomEvent.obj + 0003:00069aac __ehfuncinfo$?EndEventSay@CRoomEvent@@AAEXHH@Z 00865aac RoomEvent.obj + 0003:00069ad8 __ehfuncinfo$??0?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00865ad8 ServerDlg.obj + 0003:00069b00 __ehfuncinfo$??1?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE@XZ 00865b00 ServerDlg.obj + 0003:00069b28 __ehfuncinfo$?begin@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00865b28 ServerDlg.obj + 0003:00069b50 __ehfuncinfo$?end@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@2@XZ 00865b50 ServerDlg.obj + 0003:00069b78 __ehfuncinfo$?_Tidy@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@AAEXXZ 00865b78 ServerDlg.obj + 0003:00069ba0 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 00865ba0 ServerDlg.obj + 0003:00069bc8 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@2@XZ 00865bc8 ServerDlg.obj + 0003:00069bf0 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00865bf0 ServerDlg.obj + 0003:00069bf8 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00865bf8 ServerDlg.obj + 0003:00069c20 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@2@QAU32@@Z 00865c20 ServerDlg.obj + 0003:00069c48 __unwindtable$??0CGameSocket@@QAE@GPAVSocketMgr@@@Z 00865c48 ServerDlg.obj + 0003:00069c50 __ehfuncinfo$??0CGameSocket@@QAE@GPAVSocketMgr@@@Z 00865c50 ServerDlg.obj + 0003:00069c78 __unwindtable$?ResumeAI@CServerDlg@@AAEXXZ 00865c78 ServerDlg.obj + 0003:00069c90 __ehfuncinfo$?ResumeAI@CServerDlg@@AAEXXZ 00865c90 ServerDlg.obj + 0003:00069cbc __ehfuncinfo$?CreateNpcThread@CServerDlg@@AAE_NXZ 00865cbc ServerDlg.obj + 0003:00069ce0 __unwindtable$?CreateNpcThread@CServerDlg@@AAE_NXZ 00865ce0 ServerDlg.obj + 0003:00069d2c __unwindtable$?GetMagicTableData@CServerDlg@@AAE_NXZ 00865d2c ServerDlg.obj + 0003:00069d34 __ehfuncinfo$?GetMagicTableData@CServerDlg@@AAE_NXZ 00865d34 ServerDlg.obj + 0003:00069d5c __unwindtable$?GetMagicType1Data@CServerDlg@@AAE_NXZ 00865d5c ServerDlg.obj + 0003:00069d64 __ehfuncinfo$?GetMagicType1Data@CServerDlg@@AAE_NXZ 00865d64 ServerDlg.obj + 0003:00069d8c __unwindtable$?GetMagicType2Data@CServerDlg@@AAE_NXZ 00865d8c ServerDlg.obj + 0003:00069d94 __ehfuncinfo$?GetMagicType2Data@CServerDlg@@AAE_NXZ 00865d94 ServerDlg.obj + 0003:00069dbc __unwindtable$?GetMagicType4Data@CServerDlg@@AAE_NXZ 00865dbc ServerDlg.obj + 0003:00069dc4 __ehfuncinfo$?GetMagicType4Data@CServerDlg@@AAE_NXZ 00865dc4 ServerDlg.obj + 0003:00069dec __unwindtable$?GetNpcTableData@CServerDlg@@AAE_N_N@Z 00865dec ServerDlg.obj + 0003:00069dfc __ehfuncinfo$?GetNpcTableData@CServerDlg@@AAE_N_N@Z 00865dfc ServerDlg.obj + 0003:00069e28 __unwindtable$?GetNpcItemTable@CServerDlg@@AAE_NXZ 00865e28 ServerDlg.obj + 0003:00069e30 __ehfuncinfo$?GetNpcItemTable@CServerDlg@@AAE_NXZ 00865e30 ServerDlg.obj + 0003:00069e58 __unwindtable$?GetMakeItemGroupTable@CServerDlg@@AAE_NXZ 00865e58 ServerDlg.obj + 0003:00069e60 __ehfuncinfo$?GetMakeItemGroupTable@CServerDlg@@AAE_NXZ 00865e60 ServerDlg.obj + 0003:00069e88 __unwindtable$?GetMakeWeaponItemTableData@CServerDlg@@AAE_NXZ 00865e88 ServerDlg.obj + 0003:00069e90 __ehfuncinfo$?GetMakeWeaponItemTableData@CServerDlg@@AAE_NXZ 00865e90 ServerDlg.obj + 0003:00069eb8 __unwindtable$?GetMakeDefensiveItemTableData@CServerDlg@@AAE_NXZ 00865eb8 ServerDlg.obj + 0003:00069ec0 __ehfuncinfo$?GetMakeDefensiveItemTableData@CServerDlg@@AAE_NXZ 00865ec0 ServerDlg.obj + 0003:00069ee8 __unwindtable$?GetMakeGradeItemTableData@CServerDlg@@AAE_NXZ 00865ee8 ServerDlg.obj + 0003:00069ef0 __ehfuncinfo$?GetMakeGradeItemTableData@CServerDlg@@AAE_NXZ 00865ef0 ServerDlg.obj + 0003:00069f18 __unwindtable$?GetMakeLareItemTableData@CServerDlg@@AAE_NXZ 00865f18 ServerDlg.obj + 0003:00069f20 __ehfuncinfo$?GetMakeLareItemTableData@CServerDlg@@AAE_NXZ 00865f20 ServerDlg.obj + 0003:00069f48 __unwindtable$?GetServerResourceTable@CServerDlg@@AAE_NXZ 00865f48 ServerDlg.obj + 0003:00069f50 __ehfuncinfo$?GetServerResourceTable@CServerDlg@@AAE_NXZ 00865f50 ServerDlg.obj + 0003:00069f78 __ehfuncinfo$?MapFileLoad@CServerDlg@@AAE_NXZ 00865f78 ServerDlg.obj + 0003:00069f9c __unwindtable$?MapFileLoad@CServerDlg@@AAE_NXZ 00865f9c ServerDlg.obj + 0003:00069fcc __unwindtable$?GetServerInfoIni@CServerDlg@@AAEXXZ 00865fcc ServerDlg.obj + 0003:00069fdc __ehfuncinfo$?GetServerInfoIni@CServerDlg@@AAEXXZ 00865fdc ServerDlg.obj + 0003:0006a008 __unwindtable$?GetObjectPostTableData@CServerDlg@@AAE_NXZ 00866008 ServerDlg.obj + 0003:0006a010 __ehfuncinfo$?GetObjectPostTableData@CServerDlg@@AAE_NXZ 00866010 ServerDlg.obj + 0003:0006a038 __ehfuncinfo$??0CServerDlg@@QAE@XZ 00866038 ServerDlg.obj + 0003:0006a05c __unwindtable$??0CServerDlg@@QAE@XZ 0086605c ServerDlg.obj + 0003:0006a170 __unwindtable$?Startup@CServerDlg@@QAE_NXZ 00866170 ServerDlg.obj + 0003:0006a180 __ehfuncinfo$?Startup@CServerDlg@@QAE_NXZ 00866180 ServerDlg.obj + 0003:0006a1ac __unwindtable$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z 008661ac ServerDlg.obj + 0003:0006a1c4 __ehfuncinfo$?LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z 008661c4 ServerDlg.obj + 0003:0006a1f0 __unwindtable$?AddObjectEventNpc@CServerDlg@@QAE_NPAU_OBJECT_EVENT@@PAVMAP@@@Z 008661f0 ServerDlg.obj + 0003:0006a1f8 __ehfuncinfo$?AddObjectEventNpc@CServerDlg@@QAE_NPAU_OBJECT_EVENT@@PAVMAP@@@Z 008661f8 ServerDlg.obj + 0003:0006a220 __ehfuncinfo$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z 00866220 ServerDlg.obj + 0003:0006a244 __unwindtable$?SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z 00866244 ServerDlg.obj + 0003:0006a288 __ehfuncinfo$?AllNpcInfo@CServerDlg@@QAEXXZ 00866288 ServerDlg.obj + 0003:0006a2ac __unwindtable$?AllNpcInfo@CServerDlg@@QAEXXZ 008662ac ServerDlg.obj + 0003:0006a2f0 __unwindtable$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z 008662f0 ServerDlg.obj + 0003:0006a308 __ehfuncinfo$?GetUserPtr@CServerDlg@@QAEPAVCUser@@G@Z 00866308 ServerDlg.obj + 0003:0006a334 __unwindtable$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z 00866334 ServerDlg.obj + 0003:0006a34c __ehfuncinfo$?SetUserPtr@CServerDlg@@QAE_NGPAVCUser@@@Z 0086634c ServerDlg.obj + 0003:0006a378 __unwindtable$?DeleteUserPtr@CServerDlg@@QAEXG@Z 00866378 ServerDlg.obj + 0003:0006a390 __ehfuncinfo$?DeleteUserPtr@CServerDlg@@QAEXG@Z 00866390 ServerDlg.obj + 0003:0006a3bc __unwindtable$?CheckAliveTest@CServerDlg@@QAEXXZ 008663bc ServerDlg.obj + 0003:0006a3dc __ehfuncinfo$?CheckAliveTest@CServerDlg@@QAEXXZ 008663dc ServerDlg.obj + 0003:0006a408 __ehfuncinfo$?CheckLiveTimes@CServerDlg@@QAEXXZ 00866408 ServerDlg.obj + 0003:0006a42c __unwindtable$?CheckLiveTimes@CServerDlg@@QAEXXZ 0086642c ServerDlg.obj + 0003:0006a45c __ehfuncinfo$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z 0086645c ServerDlg.obj + 0003:0006a480 __unwindtable$?DeleteAllUserList@CServerDlg@@QAEXPAVCGameSocket@@@Z 00866480 ServerDlg.obj + 0003:0006a4b0 __unwindtable$?SendSystemMsg@CServerDlg@@QAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z 008664b0 ServerDlg.obj + 0003:0006a4b8 __ehfuncinfo$?SendSystemMsg@CServerDlg@@QAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z 008664b8 ServerDlg.obj + 0003:0006a4e0 __unwindtable$?ResetBattleZone@CServerDlg@@QAEXXZ 008664e0 ServerDlg.obj + 0003:0006a4f0 __ehfuncinfo$?ResetBattleZone@CServerDlg@@QAEXXZ 008664f0 ServerDlg.obj + 0003:0006a51c __ehfuncinfo$??1CServerDlg@@QAE@XZ 0086651c ServerDlg.obj + 0003:0006a544 __ehfuncinfo$??0?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 00866544 ServerDlg.obj + 0003:0006a56c __ehfuncinfo$??1?$vector@GV?$allocator@G@std@@@std@@QAE@XZ 0086656c ServerDlg.obj + 0003:0006a594 __ehfuncinfo$?begin@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 00866594 ServerDlg.obj + 0003:0006a5bc __ehfuncinfo$?end@?$vector@GV?$allocator@G@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@2@XZ 008665bc ServerDlg.obj + 0003:0006a5e4 __ehfuncinfo$?_Tidy@?$vector@GV?$allocator@G@std@@@std@@AAEXXZ 008665e4 ServerDlg.obj + 0003:0006a60c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086660c ServerDlg.obj + 0003:0006a634 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866634 ServerDlg.obj + 0003:0006a63c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpc@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpc@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086663c ServerDlg.obj + 0003:0006a664 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@2@QAU32@@Z 00866664 ServerDlg.obj + 0003:0006a68c __unwindtable$?PutData@?$CSTLMap@VCNpc@@@@QAE_NIPAVCNpc@@@Z 0086668c ServerDlg.obj + 0003:0006a694 __ehfuncinfo$?PutData@?$CSTLMap@VCNpc@@@@QAE_NIPAVCNpc@@@Z 00866694 ServerDlg.obj + 0003:0006a6bc __unwindtable$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z 008666bc ServerDlg.obj + 0003:0006a6d4 __ehfuncinfo$?GetData@?$CSTLMap@VCNpc@@@@QAEPAVCNpc@@I@Z 008666d4 ServerDlg.obj + 0003:0006a700 __unwindtable$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ 00866700 ServerDlg.obj + 0003:0006a718 __ehfuncinfo$?DeleteAllData@?$CSTLMap@VCNpc@@@@QAEXXZ 00866718 ServerDlg.obj + 0003:0006a744 __ehfuncinfo$??1?$CSTLMap@VCNpc@@@@QAE@XZ 00866744 ServerDlg.obj + 0003:0006a76c __unwindtable$??0?$CSTLMap@VCNpc@@@@QAE@XZ 0086676c ServerDlg.obj + 0003:0006a774 __ehfuncinfo$??0?$CSTLMap@VCNpc@@@@QAE@XZ 00866774 ServerDlg.obj + 0003:0006a79c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 0086679c ServerDlg.obj + 0003:0006a7c4 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@2@XZ 008667c4 ServerDlg.obj + 0003:0006a7ec __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008667ec ServerDlg.obj + 0003:0006a814 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866814 ServerDlg.obj + 0003:0006a81c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVCNpcTable@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVCNpcTable@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086681c ServerDlg.obj + 0003:0006a844 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@2@QAU32@@Z 00866844 ServerDlg.obj + 0003:0006a86c __unwindtable$?PutData@?$CSTLMap@VCNpcTable@@@@QAE_NIPAVCNpcTable@@@Z 0086686c ServerDlg.obj + 0003:0006a874 __ehfuncinfo$?PutData@?$CSTLMap@VCNpcTable@@@@QAE_NIPAVCNpcTable@@@Z 00866874 ServerDlg.obj + 0003:0006a89c __unwindtable$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z 0086689c ServerDlg.obj + 0003:0006a8b4 __ehfuncinfo$?GetData@?$CSTLMap@VCNpcTable@@@@QAEPAVCNpcTable@@I@Z 008668b4 ServerDlg.obj + 0003:0006a8e0 __unwindtable$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ 008668e0 ServerDlg.obj + 0003:0006a8f8 __ehfuncinfo$?DeleteAllData@?$CSTLMap@VCNpcTable@@@@QAEXXZ 008668f8 ServerDlg.obj + 0003:0006a924 __ehfuncinfo$??1?$CSTLMap@VCNpcTable@@@@QAE@XZ 00866924 ServerDlg.obj + 0003:0006a94c __unwindtable$??0?$CSTLMap@VCNpcTable@@@@QAE@XZ 0086694c ServerDlg.obj + 0003:0006a954 __ehfuncinfo$??0?$CSTLMap@VCNpcTable@@@@QAE@XZ 00866954 ServerDlg.obj + 0003:0006a97c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 0086697c ServerDlg.obj + 0003:0006a9a4 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@2@XZ 008669a4 ServerDlg.obj + 0003:0006a9cc __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008669cc ServerDlg.obj + 0003:0006a9f4 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008669f4 ServerDlg.obj + 0003:0006a9fc __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008669fc ServerDlg.obj + 0003:0006aa24 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@2@QAU32@@Z 00866a24 ServerDlg.obj + 0003:0006aa4c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@2@XZ 00866a4c ServerDlg.obj + 0003:0006aa74 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00866a74 ServerDlg.obj + 0003:0006aa9c __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866a9c ServerDlg.obj + 0003:0006aaa4 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_PARTY_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866aa4 ServerDlg.obj + 0003:0006aacc __unwindtable$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ 00866acc ServerDlg.obj + 0003:0006aae4 __ehfuncinfo$?DeleteAllData@?$CSTLMap@U_PARTY_GROUP@@@@QAEXXZ 00866ae4 ServerDlg.obj + 0003:0006ab10 __ehfuncinfo$??1?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 00866b10 ServerDlg.obj + 0003:0006ab38 __unwindtable$??0?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 00866b38 ServerDlg.obj + 0003:0006ab40 __ehfuncinfo$??0?$CSTLMap@U_PARTY_GROUP@@@@QAE@XZ 00866b40 ServerDlg.obj + 0003:0006ab68 __unwindtable$?_Alloc_sentinel_and_proxy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ 00866b68 ServerDlg.obj + 0003:0006ab70 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$list@HV?$allocator@H@std@@@std@@AAEXXZ 00866b70 ServerDlg.obj + 0003:0006ab98 __ehfuncinfo$?_Orphan_non_end@?$_List_val@U?$_List_simple_types@H@std@@@std@@QAEXXZ 00866b98 ServerDlg.obj + 0003:0006abc0 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@2@XZ 00866bc0 ServerDlg.obj + 0003:0006abe8 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00866be8 ServerDlg.obj + 0003:0006ac10 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866c10 ServerDlg.obj + 0003:0006ac18 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TABLE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866c18 ServerDlg.obj + 0003:0006ac40 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@2@QAU32@@Z 00866c40 ServerDlg.obj + 0003:0006ac68 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE_NIPAU_MAGIC_TABLE@@@Z 00866c68 ServerDlg.obj + 0003:0006ac70 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE_NIPAU_MAGIC_TABLE@@@Z 00866c70 ServerDlg.obj + 0003:0006ac98 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ 00866c98 ServerDlg.obj + 0003:0006acb0 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAEXXZ 00866cb0 ServerDlg.obj + 0003:0006acdc __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 00866cdc ServerDlg.obj + 0003:0006ad04 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 00866d04 ServerDlg.obj + 0003:0006ad0c __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAGIC_TABLE@@@@QAE@XZ 00866d0c ServerDlg.obj + 0003:0006ad34 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@2@XZ 00866d34 ServerDlg.obj + 0003:0006ad5c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00866d5c ServerDlg.obj + 0003:0006ad84 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866d84 ServerDlg.obj + 0003:0006ad8c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE1@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866d8c ServerDlg.obj + 0003:0006adb4 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@2@QAU32@@Z 00866db4 ServerDlg.obj + 0003:0006addc __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE_NIPAU_MAGIC_TYPE1@@@Z 00866ddc ServerDlg.obj + 0003:0006ade4 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE_NIPAU_MAGIC_TYPE1@@@Z 00866de4 ServerDlg.obj + 0003:0006ae0c __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ 00866e0c ServerDlg.obj + 0003:0006ae24 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAEXXZ 00866e24 ServerDlg.obj + 0003:0006ae50 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 00866e50 ServerDlg.obj + 0003:0006ae78 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 00866e78 ServerDlg.obj + 0003:0006ae80 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE1@@@@QAE@XZ 00866e80 ServerDlg.obj + 0003:0006aea8 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@2@XZ 00866ea8 ServerDlg.obj + 0003:0006aed0 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00866ed0 ServerDlg.obj + 0003:0006aef8 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866ef8 ServerDlg.obj + 0003:0006af00 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE2@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00866f00 ServerDlg.obj + 0003:0006af28 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@2@QAU32@@Z 00866f28 ServerDlg.obj + 0003:0006af50 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE_NIPAU_MAGIC_TYPE2@@@Z 00866f50 ServerDlg.obj + 0003:0006af58 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE_NIPAU_MAGIC_TYPE2@@@Z 00866f58 ServerDlg.obj + 0003:0006af80 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ 00866f80 ServerDlg.obj + 0003:0006af98 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAEXXZ 00866f98 ServerDlg.obj + 0003:0006afc4 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 00866fc4 ServerDlg.obj + 0003:0006afec __unwindtable$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 00866fec ServerDlg.obj + 0003:0006aff4 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE2@@@@QAE@XZ 00866ff4 ServerDlg.obj + 0003:0006b01c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@2@XZ 0086701c ServerDlg.obj + 0003:0006b044 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867044 ServerDlg.obj + 0003:0006b06c __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086706c ServerDlg.obj + 0003:0006b074 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAGIC_TYPE4@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867074 ServerDlg.obj + 0003:0006b09c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@2@QAU32@@Z 0086709c ServerDlg.obj + 0003:0006b0c4 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE_NIPAU_MAGIC_TYPE4@@@Z 008670c4 ServerDlg.obj + 0003:0006b0cc __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE_NIPAU_MAGIC_TYPE4@@@Z 008670cc ServerDlg.obj + 0003:0006b0f4 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ 008670f4 ServerDlg.obj + 0003:0006b10c __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAEXXZ 0086710c ServerDlg.obj + 0003:0006b138 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 00867138 ServerDlg.obj + 0003:0006b160 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 00867160 ServerDlg.obj + 0003:0006b168 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAGIC_TYPE4@@@@QAE@XZ 00867168 ServerDlg.obj + 0003:0006b190 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@2@XZ 00867190 ServerDlg.obj + 0003:0006b1b8 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008671b8 ServerDlg.obj + 0003:0006b1e0 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008671e0 ServerDlg.obj + 0003:0006b1e8 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_WEAPON@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008671e8 ServerDlg.obj + 0003:0006b210 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@2@QAU32@@Z 00867210 ServerDlg.obj + 0003:0006b238 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE_NIPAU_MAKE_WEAPON@@@Z 00867238 ServerDlg.obj + 0003:0006b240 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE_NIPAU_MAKE_WEAPON@@@Z 00867240 ServerDlg.obj + 0003:0006b268 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ 00867268 ServerDlg.obj + 0003:0006b280 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAEXXZ 00867280 ServerDlg.obj + 0003:0006b2ac __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 008672ac ServerDlg.obj + 0003:0006b2d4 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 008672d4 ServerDlg.obj + 0003:0006b2dc __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAKE_WEAPON@@@@QAE@XZ 008672dc ServerDlg.obj + 0003:0006b304 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@2@XZ 00867304 ServerDlg.obj + 0003:0006b32c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086732c ServerDlg.obj + 0003:0006b354 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867354 ServerDlg.obj + 0003:0006b35c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GRADE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086735c ServerDlg.obj + 0003:0006b384 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 00867384 ServerDlg.obj + 0003:0006b3ac __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE_NIPAU_MAKE_ITEM_GRADE_CODE@@@Z 008673ac ServerDlg.obj + 0003:0006b3b4 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE_NIPAU_MAKE_ITEM_GRADE_CODE@@@Z 008673b4 ServerDlg.obj + 0003:0006b3dc __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ 008673dc ServerDlg.obj + 0003:0006b3f4 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAEXXZ 008673f4 ServerDlg.obj + 0003:0006b420 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 00867420 ServerDlg.obj + 0003:0006b448 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 00867448 ServerDlg.obj + 0003:0006b450 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GRADE_CODE@@@@QAE@XZ 00867450 ServerDlg.obj + 0003:0006b478 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@2@XZ 00867478 ServerDlg.obj + 0003:0006b4a0 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008674a0 ServerDlg.obj + 0003:0006b4c8 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008674c8 ServerDlg.obj + 0003:0006b4d0 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_LARE_CODE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008674d0 ServerDlg.obj + 0003:0006b4f8 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@2@QAU32@@Z 008674f8 ServerDlg.obj + 0003:0006b520 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE_NIPAU_MAKE_ITEM_LARE_CODE@@@Z 00867520 ServerDlg.obj + 0003:0006b528 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE_NIPAU_MAKE_ITEM_LARE_CODE@@@Z 00867528 ServerDlg.obj + 0003:0006b550 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ 00867550 ServerDlg.obj + 0003:0006b568 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAEXXZ 00867568 ServerDlg.obj + 0003:0006b594 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 00867594 ServerDlg.obj + 0003:0006b5bc __unwindtable$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 008675bc ServerDlg.obj + 0003:0006b5c4 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_LARE_CODE@@@@QAE@XZ 008675c4 ServerDlg.obj + 0003:0006b5ec __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008675ec ServerDlg.obj + 0003:0006b614 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867614 ServerDlg.obj + 0003:0006b61c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVMAP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVMAP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086761c ServerDlg.obj + 0003:0006b644 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@2@QAU32@@Z 00867644 ServerDlg.obj + 0003:0006b66c __unwindtable$?PutData@?$CSTLMapOnlyLoad@VMAP@@@@QAE_NIPAVMAP@@@Z 0086766c ServerDlg.obj + 0003:0006b674 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@VMAP@@@@QAE_NIPAVMAP@@@Z 00867674 ServerDlg.obj + 0003:0006b69c __unwindtable$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z 0086769c ServerDlg.obj + 0003:0006b6b4 __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@VMAP@@@@QAEPAVMAP@@I@Z 008676b4 ServerDlg.obj + 0003:0006b6e0 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ 008676e0 ServerDlg.obj + 0003:0006b6f8 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@VMAP@@@@QAEXXZ 008676f8 ServerDlg.obj + 0003:0006b724 __ehfuncinfo$??1?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 00867724 ServerDlg.obj + 0003:0006b74c __unwindtable$??0?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 0086774c ServerDlg.obj + 0003:0006b754 __ehfuncinfo$??0?$CSTLMapOnlyLoad@VMAP@@@@QAE@XZ 00867754 ServerDlg.obj + 0003:0006b77c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@2@XZ 0086777c ServerDlg.obj + 0003:0006b7a4 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@QAEXXZ 008677a4 ServerDlg.obj + 0003:0006b7cc __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008677cc ServerDlg.obj + 0003:0006b7d4 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_K_MONSTER_ITEM@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008677d4 ServerDlg.obj + 0003:0006b7fc __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@2@QAU32@@Z 008677fc ServerDlg.obj + 0003:0006b824 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE_NIPAU_K_MONSTER_ITEM@@@Z 00867824 ServerDlg.obj + 0003:0006b82c __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE_NIPAU_K_MONSTER_ITEM@@@Z 0086782c ServerDlg.obj + 0003:0006b854 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ 00867854 ServerDlg.obj + 0003:0006b86c __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAEXXZ 0086786c ServerDlg.obj + 0003:0006b898 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 00867898 ServerDlg.obj + 0003:0006b8c0 __unwindtable$??0?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 008678c0 ServerDlg.obj + 0003:0006b8c8 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_K_MONSTER_ITEM@@@@QAE@XZ 008678c8 ServerDlg.obj + 0003:0006b8f0 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@2@XZ 008678f0 ServerDlg.obj + 0003:0006b918 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867918 ServerDlg.obj + 0003:0006b940 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867940 ServerDlg.obj + 0003:0006b948 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_MAKE_ITEM_GROUP@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867948 ServerDlg.obj + 0003:0006b970 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@2@QAU32@@Z 00867970 ServerDlg.obj + 0003:0006b998 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE_NIPAU_MAKE_ITEM_GROUP@@@Z 00867998 ServerDlg.obj + 0003:0006b9a0 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE_NIPAU_MAKE_ITEM_GROUP@@@Z 008679a0 ServerDlg.obj + 0003:0006b9c8 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ 008679c8 ServerDlg.obj + 0003:0006b9e0 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAEXXZ 008679e0 ServerDlg.obj + 0003:0006ba0c __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 00867a0c ServerDlg.obj + 0003:0006ba34 __unwindtable$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 00867a34 ServerDlg.obj + 0003:0006ba3c __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_MAKE_ITEM_GROUP@@@@QAE@XZ 00867a3c ServerDlg.obj + 0003:0006ba64 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 00867a64 ServerDlg.obj + 0003:0006ba8c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@2@XZ 00867a8c ServerDlg.obj + 0003:0006bab4 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867ab4 ServerDlg.obj + 0003:0006badc __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867adc ServerDlg.obj + 0003:0006bae4 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_SERVER_RESOURCE@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867ae4 ServerDlg.obj + 0003:0006bb0c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@2@QAU32@@Z 00867b0c ServerDlg.obj + 0003:0006bb34 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE_NIPAU_SERVER_RESOURCE@@@Z 00867b34 ServerDlg.obj + 0003:0006bb3c __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE_NIPAU_SERVER_RESOURCE@@@Z 00867b3c ServerDlg.obj + 0003:0006bb64 __unwindtable$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z 00867b64 ServerDlg.obj + 0003:0006bb7c __ehfuncinfo$?GetData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEPAU_SERVER_RESOURCE@@I@Z 00867b7c ServerDlg.obj + 0003:0006bba8 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ 00867ba8 ServerDlg.obj + 0003:0006bbc0 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAEXXZ 00867bc0 ServerDlg.obj + 0003:0006bbec __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 00867bec ServerDlg.obj + 0003:0006bc14 __unwindtable$??0?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 00867c14 ServerDlg.obj + 0003:0006bc1c __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_SERVER_RESOURCE@@@@QAE@XZ 00867c1c ServerDlg.obj + 0003:0006bc44 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 00867c44 ServerDlg.obj + 0003:0006bc6c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@2@XZ 00867c6c ServerDlg.obj + 0003:0006bc94 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867c94 ServerDlg.obj + 0003:0006bcbc __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867cbc ServerDlg.obj + 0003:0006bcc4 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867cc4 ServerDlg.obj + 0003:0006bcec __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@2@QAU32@@Z 00867cec ServerDlg.obj + 0003:0006bd14 __unwindtable$?PutData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE_NIPAU_NPC_LIVE_TIME@@@Z 00867d14 ServerDlg.obj + 0003:0006bd1c __ehfuncinfo$?PutData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE_NIPAU_NPC_LIVE_TIME@@@Z 00867d1c ServerDlg.obj + 0003:0006bd44 __unwindtable$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z 00867d44 ServerDlg.obj + 0003:0006bd5c __ehfuncinfo$?DeleteData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXI@Z 00867d5c ServerDlg.obj + 0003:0006bd88 __unwindtable$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ 00867d88 ServerDlg.obj + 0003:0006bda0 __ehfuncinfo$?DeleteAllData@?$CSTLMap@U_NPC_LIVE_TIME@@@@QAEXXZ 00867da0 ServerDlg.obj + 0003:0006bdcc __ehfuncinfo$??1?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 00867dcc ServerDlg.obj + 0003:0006bdf4 __unwindtable$??0?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 00867df4 ServerDlg.obj + 0003:0006bdfc __ehfuncinfo$??0?$CSTLMap@U_NPC_LIVE_TIME@@@@QAE@XZ 00867dfc ServerDlg.obj + 0003:0006be24 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867e24 ServerDlg.obj + 0003:0006be4c __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867e4c ServerDlg.obj + 0003:0006be54 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_OBJECT_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 00867e54 ServerDlg.obj + 0003:0006be7c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 00867e7c ServerDlg.obj + 0003:0006bea4 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE_NIPAU_OBJECT_EVENT@@@Z 00867ea4 ServerDlg.obj + 0003:0006beac __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE_NIPAU_OBJECT_EVENT@@@Z 00867eac ServerDlg.obj + 0003:0006bed4 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 00867ed4 ServerDlg.obj + 0003:0006beec __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAEXXZ 00867eec ServerDlg.obj + 0003:0006bf18 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00867f18 ServerDlg.obj + 0003:0006bf40 __unwindtable$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00867f40 ServerDlg.obj + 0003:0006bf48 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_OBJECT_EVENT@@@@QAE@XZ 00867f48 ServerDlg.obj + 0003:0006bf70 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@2@XZ 00867f70 ServerDlg.obj + 0003:0006bf98 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAEXXZ 00867f98 ServerDlg.obj + 0003:0006bfc0 __unwindtable$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ 00867fc0 ServerDlg.obj + 0003:0006bfd8 __ehfuncinfo$??0?$KOSocketMgr@VCGameSocket@@@@QAE@XZ 00867fd8 ServerDlg.obj + 0003:0006c004 __unwindtable$?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z 00868004 ServerDlg.obj + 0003:0006c014 __ehfuncinfo$?InitSessions@?$KOSocketMgr@VCGameSocket@@@@UAEXG@Z 00868014 ServerDlg.obj + 0003:0006c040 __unwindtable$?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z 00868040 ServerDlg.obj + 0003:0006c050 __ehfuncinfo$?Listen@?$KOSocketMgr@VCGameSocket@@@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@GG@Z 00868050 ServerDlg.obj + 0003:0006c07c __unwindtable$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 0086807c ServerDlg.obj + 0003:0006c094 __ehfuncinfo$?OnConnect@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 00868094 ServerDlg.obj + 0003:0006c0c0 __unwindtable$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z 008680c0 ServerDlg.obj + 0003:0006c0d8 __ehfuncinfo$?AssignSocket@?$KOSocketMgr@VCGameSocket@@@@UAEPAVSocket@@I@Z 008680d8 ServerDlg.obj + 0003:0006c104 __unwindtable$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 00868104 ServerDlg.obj + 0003:0006c11c __ehfuncinfo$?DisconnectCallback@?$KOSocketMgr@VCGameSocket@@@@UAEXPAVSocket@@@Z 0086811c ServerDlg.obj + 0003:0006c148 __unwindtable$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 00868148 ServerDlg.obj + 0003:0006c160 __ehfuncinfo$?SendAll@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 00868160 ServerDlg.obj + 0003:0006c18c __unwindtable$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 0086818c ServerDlg.obj + 0003:0006c1a4 __ehfuncinfo$?SendAllCompressed@?$KOSocketMgr@VCGameSocket@@@@QAEXPAVPacket@@@Z 008681a4 ServerDlg.obj + 0003:0006c1d0 __ehfuncinfo$??1?$KOSocketMgr@VCGameSocket@@@@UAE@XZ 008681d0 ServerDlg.obj + 0003:0006c1f8 __ehfuncinfo$??1?$lock_guard@Vrecursive_mutex@std@@@std@@QAE@XZ 008681f8 ServerDlg.obj + 0003:0006c220 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868220 ServerDlg.obj + 0003:0006c228 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868228 ServerDlg.obj + 0003:0006c250 __unwindtable$??0?$ListenSocket@VCGameSocket@@@@QAE@PAVSocketMgr@@PBDI@Z 00868250 ServerDlg.obj + 0003:0006c258 __ehfuncinfo$??0?$ListenSocket@VCGameSocket@@@@QAE@PAVSocketMgr@@PBDI@Z 00868258 ServerDlg.obj + 0003:0006c280 __ehfuncinfo$??1?$ListenSocket@VCGameSocket@@@@QAE@XZ 00868280 ServerDlg.obj + 0003:0006c2a8 __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@V21@@Z 008682a8 ServerDlg.obj + 0003:0006c2b0 __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@1@V21@@Z 008682b0 ServerDlg.obj + 0003:0006c2d8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 008682d8 ServerDlg.obj + 0003:0006c300 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 00868300 ServerDlg.obj + 0003:0006c328 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@@Z 00868328 ServerDlg.obj + 0003:0006c350 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@2@XZ 00868350 ServerDlg.obj + 0003:0006c378 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00868378 ServerDlg.obj + 0003:0006c3a0 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 008683a0 ServerDlg.obj + 0003:0006c3a8 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 008683a8 ServerDlg.obj + 0003:0006c3d0 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008683d0 ServerDlg.obj + 0003:0006c3f8 __unwindtable$??$?0U?$pair@GPAVCGameSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 008683f8 ServerDlg.obj + 0003:0006c400 __ehfuncinfo$??$?0U?$pair@GPAVCGameSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVCGameSocket@@@1@@Z 00868400 ServerDlg.obj + 0003:0006c428 __unwindtable$??$?0U?$pair@GPAVKOSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 00868428 ServerDlg.obj + 0003:0006c430 __ehfuncinfo$??$?0U?$pair@GPAVKOSocket@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@$$QAU?$pair@GPAVKOSocket@@@1@@Z 00868430 ServerDlg.obj + 0003:0006c458 __unwindtable$?Fetch@CZoneInfoSet@@UAE_NXZ 00868458 ServerDlg.obj + 0003:0006c468 __ehfuncinfo$?Fetch@CZoneInfoSet@@UAE_NXZ 00868468 ServerDlg.obj + 0003:0006c494 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 00868494 ServerDlg.obj + 0003:0006c4bc __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@2@XZ 008684bc ServerDlg.obj + 0003:0006c4e4 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008684e4 ServerDlg.obj + 0003:0006c4ec __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@GPAU_ZONE_INFO@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 008684ec ServerDlg.obj + 0003:0006c514 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@2@QAU32@@Z 00868514 ServerDlg.obj + 0003:0006c53c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086853c ServerDlg.obj + 0003:0006c544 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868544 ServerDlg.obj + 0003:0006c56c __unwindtable$?Fetch@CNpcItemSet@@UAE_NXZ 0086856c ServerDlg.obj + 0003:0006c574 __ehfuncinfo$?Fetch@CNpcItemSet@@UAE_NXZ 00868574 ServerDlg.obj + 0003:0006c59c __unwindtable$?Fetch@CNpcTableSet@@UAE_NXZ 0086859c ServerDlg.obj + 0003:0006c5a4 __ehfuncinfo$?Fetch@CNpcTableSet@@UAE_NXZ 008685a4 ServerDlg.obj + 0003:0006c5cc __unwindtable$?Fetch@CMakeWeaponTableSet@@UAE_NXZ 008685cc ServerDlg.obj + 0003:0006c5d4 __ehfuncinfo$?Fetch@CMakeWeaponTableSet@@UAE_NXZ 008685d4 ServerDlg.obj + 0003:0006c5fc __unwindtable$?Fetch@CMakeDefensiveTableSet@@UAE_NXZ 008685fc ServerDlg.obj + 0003:0006c604 __ehfuncinfo$?Fetch@CMakeDefensiveTableSet@@UAE_NXZ 00868604 ServerDlg.obj + 0003:0006c62c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086862c ServerDlg.obj + 0003:0006c634 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868634 ServerDlg.obj + 0003:0006c65c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086865c ServerDlg.obj + 0003:0006c664 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868664 ServerDlg.obj + 0003:0006c68c __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@V21@@Z 0086868c ServerDlg.obj + 0003:0006c694 __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@GPAVCUser@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVCUser@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVCUser@@@std@@@std@@@std@@@1@V21@@Z 00868694 ServerDlg.obj + 0003:0006c6bc __unwindtable$??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 008686bc ServerDlg.obj + 0003:0006c6c4 __ehfuncinfo$??$begin@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 008686c4 ServerDlg.obj + 0003:0006c6ec __unwindtable$??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 008686ec ServerDlg.obj + 0003:0006c6f4 __ehfuncinfo$??$end@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@foreach_detail_@boost@@YA?AU?$auto_any@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@@std@@@01@ABUauto_any_base@01@PAU?$type2type@V?$map@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@@std@@U?$bool_@$0A@@mpl@boost@@@01@PAU?$bool_@$0A@@mpl@1@@Z 008686f4 ServerDlg.obj + 0003:0006c71c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086871c ServerDlg.obj + 0003:0006c724 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868724 ServerDlg.obj + 0003:0006c74c __unwindtable$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE?AV01@H@Z 0086874c ServerDlg.obj + 0003:0006c754 __ehfuncinfo$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@G@std@@@std@@@std@@QAE?AV01@H@Z 00868754 ServerDlg.obj + 0003:0006c77c __unwindtable$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 0086877c ServerDlg.obj + 0003:0006c784 __ehfuncinfo$??E?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@PAVThread@@@std@@@std@@@std@@QAE?AV01@H@Z 00868784 ServerDlg.obj + 0003:0006c7ac __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBEPAVCNpcThread@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@@Z 008687ac ServerDlg.obj + 0003:0006c7d4 __unwindtable$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@V21@@Z 008687d4 ServerDlg.obj + 0003:0006c7dc __ehfuncinfo$??$erase@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@std@@X@?$_Tree@V?$_Tmap_traits@IPAU_NPC_LIVE_TIME@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@@1@V21@@Z 008687dc ServerDlg.obj + 0003:0006c804 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868804 ServerDlg.obj + 0003:0006c80c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086880c ServerDlg.obj + 0003:0006c834 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868834 ServerDlg.obj + 0003:0006c83c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086883c ServerDlg.obj + 0003:0006c864 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868864 ServerDlg.obj + 0003:0006c86c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086886c ServerDlg.obj + 0003:0006c894 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868894 ServerDlg.obj + 0003:0006c89c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086889c ServerDlg.obj + 0003:0006c8c4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008688c4 ServerDlg.obj + 0003:0006c8cc __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008688cc ServerDlg.obj + 0003:0006c8f4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008688f4 ServerDlg.obj + 0003:0006c8fc __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008688fc ServerDlg.obj + 0003:0006c924 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868924 ServerDlg.obj + 0003:0006c92c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086892c ServerDlg.obj + 0003:0006c954 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868954 ServerDlg.obj + 0003:0006c95c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086895c ServerDlg.obj + 0003:0006c984 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868984 ServerDlg.obj + 0003:0006c98c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086898c ServerDlg.obj + 0003:0006c9b4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008689b4 ServerDlg.obj + 0003:0006c9bc __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008689bc ServerDlg.obj + 0003:0006c9e4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008689e4 ServerDlg.obj + 0003:0006c9ec __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 008689ec ServerDlg.obj + 0003:0006ca14 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868a14 ServerDlg.obj + 0003:0006ca1c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 00868a1c ServerDlg.obj + 0003:0006ca44 __unwindtable$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 00868a44 ServerDlg.obj + 0003:0006ca54 __ehfuncinfo$??$?0V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@QAE@ABV01@$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@@Z 00868a54 ServerDlg.obj + 0003:0006ca80 __catchsym$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z$2 00868a80 ServerDlg.obj + 0003:0006ca90 __unwindtable$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00868a90 ServerDlg.obj + 0003:0006caa0 __tryblocktable$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00868aa0 ServerDlg.obj + 0003:0006cab4 __ehfuncinfo$??$_Emplace_reallocate@PAVThread@@@?$vector@PAVThread@@V?$allocator@PAVThread@@@std@@@std@@QAEPAPAVThread@@QAPAV2@$$QAPAV2@@Z 00868ab4 ServerDlg.obj + 0003:0006cae0 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVMAP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@@Z 00868ae0 ServerDlg.obj + 0003:0006cb08 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_PARTY_GROUP@@@std@@PAX@1@@Z 00868b08 ServerDlg.obj + 0003:0006cb30 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 00868b30 ServerDlg.obj + 0003:0006cb58 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@@Z 00868b58 ServerDlg.obj + 0003:0006cb80 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@@Z 00868b80 ServerDlg.obj + 0003:0006cba8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@@Z 00868ba8 ServerDlg.obj + 0003:0006cbd0 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@@Z 00868bd0 ServerDlg.obj + 0003:0006cbf8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@@Z 00868bf8 ServerDlg.obj + 0003:0006cc20 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@@Z 00868c20 ServerDlg.obj + 0003:0006cc48 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@@Z 00868c48 ServerDlg.obj + 0003:0006cc70 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@@Z 00868c70 ServerDlg.obj + 0003:0006cc98 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@@Z 00868c98 ServerDlg.obj + 0003:0006ccc0 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@@Z 00868cc0 ServerDlg.obj + 0003:0006cce8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@@Z 00868ce8 ServerDlg.obj + 0003:0006cd10 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@@Z 00868d10 ServerDlg.obj + 0003:0006cd38 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpcTable@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@@Z 00868d38 ServerDlg.obj + 0003:0006cd60 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVCNpc@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@@Z 00868d60 ServerDlg.obj + 0003:0006cd88 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@@Z 00868d88 ServerDlg.obj + 0003:0006cdb0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00868db0 ServerDlg.obj + 0003:0006cdd8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@@Z 00868dd8 ServerDlg.obj + 0003:0006ce00 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00868e00 ServerDlg.obj + 0003:0006ce28 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00868e28 ServerDlg.obj + 0003:0006ce50 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 00868e50 ServerDlg.obj + 0003:0006ce78 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 00868e78 ServerDlg.obj + 0003:0006cea0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 00868ea0 ServerDlg.obj + 0003:0006cec8 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 00868ec8 ServerDlg.obj + 0003:0006cef0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 00868ef0 ServerDlg.obj + 0003:0006cf18 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 00868f18 ServerDlg.obj + 0003:0006cf40 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 00868f40 ServerDlg.obj + 0003:0006cf68 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 00868f68 ServerDlg.obj + 0003:0006cf90 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 00868f90 ServerDlg.obj + 0003:0006cfb8 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 00868fb8 ServerDlg.obj + 0003:0006cfe0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 00868fe0 ServerDlg.obj + 0003:0006d008 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 00869008 ServerDlg.obj + 0003:0006d030 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 00869030 ServerDlg.obj + 0003:0006d058 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU01@@Z 00869058 ServerDlg.obj + 0003:0006d080 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 00869080 ServerDlg.obj + 0003:0006d0a8 __unwindtable$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABG@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z 008690a8 ServerDlg.obj + 0003:0006d0b0 __ehfuncinfo$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABG@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVCUser@@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABG@1@$$QAV?$tuple@$$V@1@@Z 008690b0 ServerDlg.obj + 0003:0006d0d8 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_List_node@HPAX@std@@@std@@@?$_List_node@HPAX@std@@SAXAAV?$allocator@U?$_List_node@HPAX@std@@@1@PAU01@@Z 008690d8 ServerDlg.obj + 0003:0006d100 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU01@@Z 00869100 ServerDlg.obj + 0003:0006d128 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 00869128 ServerDlg.obj + 0003:0006d150 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU01@@Z 00869150 ServerDlg.obj + 0003:0006d178 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU01@@Z 00869178 ServerDlg.obj + 0003:0006d1a0 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU01@@Z 008691a0 ServerDlg.obj + 0003:0006d1c8 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU01@@Z 008691c8 ServerDlg.obj + 0003:0006d1f0 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 008691f0 ServerDlg.obj + 0003:0006d218 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU01@@Z 00869218 ServerDlg.obj + 0003:0006d240 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU01@@Z 00869240 ServerDlg.obj + 0003:0006d268 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU01@@Z 00869268 ServerDlg.obj + 0003:0006d290 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU01@@Z 00869290 ServerDlg.obj + 0003:0006d2b8 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU01@@Z 008692b8 ServerDlg.obj + 0003:0006d2e0 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU01@@Z 008692e0 ServerDlg.obj + 0003:0006d308 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU01@@Z 00869308 ServerDlg.obj + 0003:0006d330 __unwindtable$??$_Emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 00869330 ServerDlg.obj + 0003:0006d338 __ehfuncinfo$??$_Emplace@U?$pair@IPAVCNpcThread@@@std@@@?$_Tree@V?$_Tmap_traits@EPAVCNpcThread@@U?$less@E@std@@V?$allocator@U?$pair@$$CBEPAVCNpcThread@@@std@@@3@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@_N@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 00869338 ServerDlg.obj + 0003:0006d360 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU01@@Z 00869360 ServerDlg.obj + 0003:0006d388 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU01@@Z 00869388 ServerDlg.obj + 0003:0006d3b0 __ehfuncinfo$??$?0ABG$0A@@?$tuple@ABG@std@@QAE@ABG@Z 008693b0 ServerDlg.obj + 0003:0006d3d8 __catchsym$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z$2 008693d8 ServerDlg.obj + 0003:0006d3e8 __unwindtable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 008693e8 ServerDlg.obj + 0003:0006d3f8 __tryblocktable$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 008693f8 ServerDlg.obj + 0003:0006d40c __ehfuncinfo$??$_Copy_nodes@U_Copy_tag@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@@?$_Tree@V?$_Tmap_traits@GPAVKOSocket@@U?$less@G@std@@V?$allocator@U?$pair@$$CBGPAVKOSocket@@@std@@@3@$0A@@std@@@std@@IAEPAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@PAU21@0U_Copy_tag@01@@Z 0086940c ServerDlg.obj + 0003:0006d438 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@2@XZ 00869438 ServerDlg.obj + 0003:0006d460 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869460 ServerDlg.obj + 0003:0006d488 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 00869488 ServerDlg.obj + 0003:0006d490 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@@Z 00869490 ServerDlg.obj + 0003:0006d4b8 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008694b8 ServerDlg.obj + 0003:0006d4e0 __unwindtable$??$?0U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 008694e0 ServerDlg.obj + 0003:0006d4e8 __ehfuncinfo$??$?0U?$pair@GPAU_ZONE_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAU_ZONE_INFO@@@std@@PAX@1@$$QAU?$pair@GPAU_ZONE_INFO@@@1@@Z 008694e8 ServerDlg.obj + 0003:0006d510 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@2@XZ 00869510 ServerDlg.obj + 0003:0006d538 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869538 ServerDlg.obj + 0003:0006d560 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 00869560 ServerDlg.obj + 0003:0006d568 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@@Z 00869568 ServerDlg.obj + 0003:0006d590 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869590 ServerDlg.obj + 0003:0006d5b8 __unwindtable$??$?0U?$pair@IPAVCNpcThread@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 008695b8 ServerDlg.obj + 0003:0006d5c0 __ehfuncinfo$??$?0U?$pair@IPAVCNpcThread@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBEPAVCNpcThread@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcThread@@@1@@Z 008695c0 ServerDlg.obj + 0003:0006d5e8 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@2@XZ 008695e8 ServerDlg.obj + 0003:0006d610 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869610 ServerDlg.obj + 0003:0006d638 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 00869638 ServerDlg.obj + 0003:0006d640 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@@Z 00869640 ServerDlg.obj + 0003:0006d668 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869668 ServerDlg.obj + 0003:0006d690 __unwindtable$??$?0U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 00869690 ServerDlg.obj + 0003:0006d698 __ehfuncinfo$??$?0U?$pair@IPAU_NPC_LIVE_TIME@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_NPC_LIVE_TIME@@@std@@PAX@1@$$QAU?$pair@IPAU_NPC_LIVE_TIME@@@1@@Z 00869698 ServerDlg.obj + 0003:0006d6c0 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@2@XZ 008696c0 ServerDlg.obj + 0003:0006d6e8 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008696e8 ServerDlg.obj + 0003:0006d710 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 00869710 ServerDlg.obj + 0003:0006d718 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@@Z 00869718 ServerDlg.obj + 0003:0006d740 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869740 ServerDlg.obj + 0003:0006d768 __unwindtable$??$?0U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 00869768 ServerDlg.obj + 0003:0006d770 __ehfuncinfo$??$?0U?$pair@IPAU_SERVER_RESOURCE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_SERVER_RESOURCE@@@std@@PAX@1@$$QAU?$pair@IPAU_SERVER_RESOURCE@@@1@@Z 00869770 ServerDlg.obj + 0003:0006d798 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@2@XZ 00869798 ServerDlg.obj + 0003:0006d7c0 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008697c0 ServerDlg.obj + 0003:0006d7e8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 008697e8 ServerDlg.obj + 0003:0006d7f0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@@Z 008697f0 ServerDlg.obj + 0003:0006d818 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869818 ServerDlg.obj + 0003:0006d840 __unwindtable$??$?0U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 00869840 ServerDlg.obj + 0003:0006d848 __ehfuncinfo$??$?0U?$pair@IPAU_MAKE_ITEM_GROUP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GROUP@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GROUP@@@1@@Z 00869848 ServerDlg.obj + 0003:0006d870 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@2@XZ 00869870 ServerDlg.obj + 0003:0006d898 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869898 ServerDlg.obj + 0003:0006d8c0 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 008698c0 ServerDlg.obj + 0003:0006d8c8 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@@Z 008698c8 ServerDlg.obj + 0003:0006d8f0 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008698f0 ServerDlg.obj + 0003:0006d918 __unwindtable$??$?0U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 00869918 ServerDlg.obj + 0003:0006d920 __ehfuncinfo$??$?0U?$pair@IPAU_K_MONSTER_ITEM@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_K_MONSTER_ITEM@@@std@@PAX@1@$$QAU?$pair@IPAU_K_MONSTER_ITEM@@@1@@Z 00869920 ServerDlg.obj + 0003:0006d948 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@2@XZ 00869948 ServerDlg.obj + 0003:0006d970 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869970 ServerDlg.obj + 0003:0006d998 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 00869998 ServerDlg.obj + 0003:0006d9a0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@@Z 008699a0 ServerDlg.obj + 0003:0006d9c8 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@XZ 008699c8 ServerDlg.obj + 0003:0006d9f0 __unwindtable$??$?0U?$pair@IPAVMAP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QAU?$pair@IPAVMAP@@@1@@Z 008699f0 ServerDlg.obj + 0003:0006d9f8 __ehfuncinfo$??$?0U?$pair@IPAVMAP@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVMAP@@@std@@PAX@1@$$QAU?$pair@IPAVMAP@@@1@@Z 008699f8 ServerDlg.obj + 0003:0006da20 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@2@XZ 00869a20 ServerDlg.obj + 0003:0006da48 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869a48 ServerDlg.obj + 0003:0006da70 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 00869a70 ServerDlg.obj + 0003:0006da78 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@@Z 00869a78 ServerDlg.obj + 0003:0006daa0 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869aa0 ServerDlg.obj + 0003:0006dac8 __unwindtable$??$?0U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 00869ac8 ServerDlg.obj + 0003:0006dad0 __ehfuncinfo$??$?0U?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_LARE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_LARE_CODE@@@1@@Z 00869ad0 ServerDlg.obj + 0003:0006daf8 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@2@XZ 00869af8 ServerDlg.obj + 0003:0006db20 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869b20 ServerDlg.obj + 0003:0006db48 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 00869b48 ServerDlg.obj + 0003:0006db50 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@@Z 00869b50 ServerDlg.obj + 0003:0006db78 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869b78 ServerDlg.obj + 0003:0006dba0 __unwindtable$??$?0U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 00869ba0 ServerDlg.obj + 0003:0006dba8 __ehfuncinfo$??$?0U?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_ITEM_GRADE_CODE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_ITEM_GRADE_CODE@@@1@@Z 00869ba8 ServerDlg.obj + 0003:0006dbd0 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@2@XZ 00869bd0 ServerDlg.obj + 0003:0006dbf8 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869bf8 ServerDlg.obj + 0003:0006dc20 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 00869c20 ServerDlg.obj + 0003:0006dc28 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@@Z 00869c28 ServerDlg.obj + 0003:0006dc50 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869c50 ServerDlg.obj + 0003:0006dc78 __unwindtable$??$?0U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 00869c78 ServerDlg.obj + 0003:0006dc80 __ehfuncinfo$??$?0U?$pair@IPAU_MAKE_WEAPON@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAKE_WEAPON@@@std@@PAX@1@$$QAU?$pair@IPAU_MAKE_WEAPON@@@1@@Z 00869c80 ServerDlg.obj + 0003:0006dca8 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@2@XZ 00869ca8 ServerDlg.obj + 0003:0006dcd0 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869cd0 ServerDlg.obj + 0003:0006dcf8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 00869cf8 ServerDlg.obj + 0003:0006dd00 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@@Z 00869d00 ServerDlg.obj + 0003:0006dd28 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869d28 ServerDlg.obj + 0003:0006dd50 __unwindtable$??$?0U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 00869d50 ServerDlg.obj + 0003:0006dd58 __ehfuncinfo$??$?0U?$pair@IPAU_MAGIC_TYPE4@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE4@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE4@@@1@@Z 00869d58 ServerDlg.obj + 0003:0006dd80 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@2@XZ 00869d80 ServerDlg.obj + 0003:0006dda8 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869da8 ServerDlg.obj + 0003:0006ddd0 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 00869dd0 ServerDlg.obj + 0003:0006ddd8 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@@Z 00869dd8 ServerDlg.obj + 0003:0006de00 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869e00 ServerDlg.obj + 0003:0006de28 __unwindtable$??$?0U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 00869e28 ServerDlg.obj + 0003:0006de30 __ehfuncinfo$??$?0U?$pair@IPAU_MAGIC_TYPE2@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE2@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE2@@@1@@Z 00869e30 ServerDlg.obj + 0003:0006de58 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@2@XZ 00869e58 ServerDlg.obj + 0003:0006de80 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869e80 ServerDlg.obj + 0003:0006dea8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 00869ea8 ServerDlg.obj + 0003:0006deb0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@@Z 00869eb0 ServerDlg.obj + 0003:0006ded8 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869ed8 ServerDlg.obj + 0003:0006df00 __unwindtable$??$?0U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 00869f00 ServerDlg.obj + 0003:0006df08 __ehfuncinfo$??$?0U?$pair@IPAU_MAGIC_TYPE1@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TYPE1@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TYPE1@@@1@@Z 00869f08 ServerDlg.obj + 0003:0006df30 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@2@XZ 00869f30 ServerDlg.obj + 0003:0006df58 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869f58 ServerDlg.obj + 0003:0006df80 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 00869f80 ServerDlg.obj + 0003:0006df88 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@@Z 00869f88 ServerDlg.obj + 0003:0006dfb0 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@XZ 00869fb0 ServerDlg.obj + 0003:0006dfd8 __unwindtable$??$?0U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 00869fd8 ServerDlg.obj + 0003:0006dfe0 __ehfuncinfo$??$?0U?$pair@IPAU_MAGIC_TABLE@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_MAGIC_TABLE@@@std@@PAX@1@$$QAU?$pair@IPAU_MAGIC_TABLE@@@1@@Z 00869fe0 ServerDlg.obj + 0003:0006e008 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@2@XZ 0086a008 ServerDlg.obj + 0003:0006e030 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a030 ServerDlg.obj + 0003:0006e058 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 0086a058 ServerDlg.obj + 0003:0006e060 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@@Z 0086a060 ServerDlg.obj + 0003:0006e088 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a088 ServerDlg.obj + 0003:0006e0b0 __unwindtable$??$?0U?$pair@IPAVCNpc@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 0086a0b0 ServerDlg.obj + 0003:0006e0b8 __ehfuncinfo$??$?0U?$pair@IPAVCNpc@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpc@@@std@@PAX@1@$$QAU?$pair@IPAVCNpc@@@1@@Z 0086a0b8 ServerDlg.obj + 0003:0006e0e0 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@2@XZ 0086a0e0 ServerDlg.obj + 0003:0006e108 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a108 ServerDlg.obj + 0003:0006e130 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 0086a130 ServerDlg.obj + 0003:0006e138 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@@Z 0086a138 ServerDlg.obj + 0003:0006e160 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a160 ServerDlg.obj + 0003:0006e188 __unwindtable$??$?0U?$pair@IPAVCNpcTable@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 0086a188 ServerDlg.obj + 0003:0006e190 __ehfuncinfo$??$?0U?$pair@IPAVCNpcTable@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVCNpcTable@@@std@@PAX@1@$$QAU?$pair@IPAVCNpcTable@@@1@@Z 0086a190 ServerDlg.obj + 0003:0006e1b8 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@2@XZ 0086a1b8 ServerDlg.obj + 0003:0006e1e0 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a1e0 ServerDlg.obj + 0003:0006e208 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 0086a208 ServerDlg.obj + 0003:0006e210 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@@Z 0086a210 ServerDlg.obj + 0003:0006e238 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086a238 ServerDlg.obj + 0003:0006e260 __unwindtable$??$?0U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 0086a260 ServerDlg.obj + 0003:0006e268 __ehfuncinfo$??$?0U?$pair@IPAU_OBJECT_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_OBJECT_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_OBJECT_EVENT@@@1@@Z 0086a268 ServerDlg.obj + 0003:0006e290 __ehfuncinfo$??$_Erase_tree_and_orphan@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBGPAVKOSocket@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@1@@Z 0086a290 ServerDlg.obj + 0003:0006e2b8 __unwindtable$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@AAU?$pair@$$CBGPAVKOSocket@@@2@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z 0086a2b8 ServerDlg.obj + 0003:0006e2c0 __ehfuncinfo$??$_Buynode@V?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@std@@AAU?$pair@$$CBGPAVKOSocket@@@2@@?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@SAPAU01@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBGPAVKOSocket@@@std@@PAX@std@@@1@PAU01@AAU?$pair@$$CBGPAVKOSocket@@@1@@Z 0086a2c0 ServerDlg.obj + 0003:0006e2e8 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@@Z 0086a2e8 ServerDlg.obj + 0003:0006e310 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 0086a310 ServerDlg.obj + 0003:0006e338 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU01@@Z 0086a338 ServerDlg.obj + 0003:0006e360 __unwindtable$?HealAreaCheck@CUser@@QAEXHH@Z 0086a360 AIUser.obj + 0003:0006e380 __ehfuncinfo$?HealAreaCheck@CUser@@QAEXHH@Z 0086a380 AIUser.obj + 0003:0006e3ac __ehfuncinfo$?max@?$numeric_limits@_K@std@@SA_KXZ 0086a3ac shared:globals.obj + 0003:0006e3d4 __unwindtable$?myrand@@YAHHH@Z 0086a3d4 shared:globals.obj + 0003:0006e3dc __ehfuncinfo$?myrand@@YAHHH@Z 0086a3dc shared:globals.obj + 0003:0006e404 __unwindtable$?RandUInt64@@YA_KXZ 0086a404 shared:globals.obj + 0003:0006e40c __ehfuncinfo$?RandUInt64@@YA_KXZ 0086a40c shared:globals.obj + 0003:0006e434 __ehfuncinfo$??$swap@HX@std@@YAXAAH0@Z 0086a434 shared:globals.obj + 0003:0006e45c __ehfuncinfo$??$move@AAH@std@@YA$$QAHAAH@Z 0086a45c shared:globals.obj + 0003:0006e484 __ehfuncinfo$??0?$_Atomic_storage@I$03@std@@QAE@I@Z 0086a484 shared:ReferenceObject.obj + 0003:0006e4ac __ehfuncinfo$??E?$_Atomic_integral@I$03@std@@QAEIXZ 0086a4ac shared:ReferenceObject.obj + 0003:0006e4d4 __ehfuncinfo$??F?$_Atomic_integral@I$03@std@@QAEIXZ 0086a4d4 shared:ReferenceObject.obj + 0003:0006e4fc __ehfuncinfo$??$_Atomic_address_as@JU?$_Atomic_padded@I@std@@@std@@YAPCJAAU?$_Atomic_padded@I@0@@Z 0086a4fc shared:ReferenceObject.obj + 0003:0006e524 __ehfuncinfo$?store@?$_Atomic_storage@_N$00@std@@QAEX_N@Z 0086a524 shared:SocketMgr.obj + 0003:0006e54c __ehfuncinfo$??4?$atomic@_N@std@@QAE_N_N@Z 0086a54c shared:SocketMgr.obj + 0003:0006e574 __unwindtable$??0SocketMgr@@QAE@XZ 0086a574 shared:SocketMgr.obj + 0003:0006e57c __ehfuncinfo$??0SocketMgr@@QAE@XZ 0086a57c shared:SocketMgr.obj + 0003:0006e5a4 __unwindtable$?SpawnWorkerThreads@SocketMgr@@QAEXXZ 0086a5a4 shared:SocketMgr.obj + 0003:0006e5ac __ehfuncinfo$?SpawnWorkerThreads@SocketMgr@@QAEXXZ 0086a5ac shared:SocketMgr.obj + 0003:0006e5d4 __unwindtable$?ShutdownThreads@SocketMgr@@QAEXXZ 0086a5d4 shared:SocketMgr.obj + 0003:0006e5ec __ehfuncinfo$?ShutdownThreads@SocketMgr@@QAEXXZ 0086a5ec shared:SocketMgr.obj + 0003:0006e618 __unwindtable$?OnDisconnect@SocketMgr@@UAEXPAVSocket@@@Z 0086a618 shared:SocketMgr.obj + 0003:0006e620 __ehfuncinfo$?OnDisconnect@SocketMgr@@UAEXPAVSocket@@@Z 0086a620 shared:SocketMgr.obj + 0003:0006e648 __ehfuncinfo$??1SocketMgr@@UAE@XZ 0086a648 shared:SocketMgr.obj + 0003:0006e670 __ehfuncinfo$?store@?$_Atomic_storage@I$03@std@@QAEXI@Z 0086a670 shared:SocketMgr.obj + 0003:0006e698 __ehfuncinfo$??4?$atomic@I@std@@QAEII@Z 0086a698 shared:SocketMgr.obj + 0003:0006e6c0 __unwindtable$?HandleWriteComplete@@YAXPAVSocket@@I@Z 0086a6c0 shared:SocketMgr.obj + 0003:0006e6c8 __ehfuncinfo$?HandleWriteComplete@@YAXPAVSocket@@I@Z 0086a6c8 shared:SocketMgr.obj + 0003:0006e6f0 __ehfuncinfo$??0?$allocator@PAVSocket@@@std@@QAE@XZ 0086a6f0 shared:SocketMgr.obj + 0003:0006e718 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@PAVSocket@@@std@@@std@@SAIABV?$allocator@PAVSocket@@@2@@Z 0086a718 shared:SocketMgr.obj + 0003:0006e740 __ehfuncinfo$??1?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE@XZ 0086a740 shared:SocketMgr.obj + 0003:0006e768 __ehfuncinfo$?_Unchecked_begin@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QAE?AV?$_Deque_unchecked_iterator@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@2@XZ 0086a768 shared:SocketMgr.obj + 0003:0006e790 __ehfuncinfo$?max_size@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBEIXZ 0086a790 shared:SocketMgr.obj + 0003:0006e7b8 __ehfuncinfo$?empty@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@QBE_NXZ 0086a7b8 shared:SocketMgr.obj + 0003:0006e7e0 __ehfuncinfo$?_Tidy@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEXXZ 0086a7e0 shared:SocketMgr.obj + 0003:0006e808 __ehfuncinfo$?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$allocator@PAVSocket@@@2@XZ 0086a808 shared:SocketMgr.obj + 0003:0006e830 __ehfuncinfo$?_Getal@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$allocator@PAVSocket@@@2@XZ 0086a830 shared:SocketMgr.obj + 0003:0006e858 __ehfuncinfo$?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 0086a858 shared:SocketMgr.obj + 0003:0006e880 __ehfuncinfo$?_Get_data@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@XZ 0086a880 shared:SocketMgr.obj + 0003:0006e8a8 __ehfuncinfo$?_Map@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAPAPAPAVSocket@@XZ 0086a8a8 shared:SocketMgr.obj + 0003:0006e8d0 __ehfuncinfo$?_Mapsize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 0086a8d0 shared:SocketMgr.obj + 0003:0006e8f8 __ehfuncinfo$?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 0086a8f8 shared:SocketMgr.obj + 0003:0006e920 __ehfuncinfo$?_Myoff@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 0086a920 shared:SocketMgr.obj + 0003:0006e948 __ehfuncinfo$?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@AAEAAIXZ 0086a948 shared:SocketMgr.obj + 0003:0006e970 __ehfuncinfo$?_Mysize@?$deque@PAVSocket@@V?$allocator@PAVSocket@@@std@@@std@@ABEABIXZ 0086a970 shared:SocketMgr.obj + 0003:0006e998 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QAEAAV?$allocator@PAVSocket@@@2@XZ 0086a998 shared:SocketMgr.obj + 0003:0006e9c0 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAVSocket@@@std@@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@2@$00@std@@QBEABV?$allocator@PAVSocket@@@2@XZ 0086a9c0 shared:SocketMgr.obj + 0003:0006e9e8 __ehfuncinfo$??$?0PAVSocket@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 0086a9e8 shared:SocketMgr.obj + 0003:0006ea10 __ehfuncinfo$??$?0PAVSocket@@@?$allocator@PAPAVSocket@@@std@@QAE@ABV?$allocator@PAVSocket@@@1@@Z 0086aa10 shared:SocketMgr.obj + 0003:0006ea38 __ehfuncinfo$??$addressof@PAPAVSocket@@@std@@YAPAPAPAVSocket@@AAPAPAV1@@Z 0086aa38 shared:SocketMgr.obj + 0003:0006ea60 __ehfuncinfo$??$_Atomic_reinterpret_as@D_N@std@@YADAB_N@Z 0086aa60 shared:SocketMgr.obj + 0003:0006ea88 __ehfuncinfo$??$_Atomic_address_as@DU?$_Atomic_padded@_N@std@@@std@@YAPCDAAU?$_Atomic_padded@_N@0@@Z 0086aa88 shared:SocketMgr.obj + 0003:0006eab0 __ehfuncinfo$??$addressof@V?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@std@@@std@@YAPAV?$_Deque_val@U?$_Deque_simple_types@PAVSocket@@@std@@@0@AAV10@@Z 0086aab0 shared:SocketMgr.obj + 0003:0006ead8 __ehfuncinfo$??$_Destroy_range@V?$allocator@PAPAVSocket@@@std@@@std@@YAXPAPAPAVSocket@@QAPAPAV1@AAV?$allocator@PAPAVSocket@@@0@@Z 0086aad8 shared:SocketMgr.obj + 0003:0006eb00 __ehfuncinfo$??$addressof@$$CB_N@std@@YAPB_NAB_N@Z 0086ab00 shared:SocketMgr.obj + 0003:0006eb28 __ehfuncinfo$??$forward@ABQAVSocket@@@std@@YAABQAVSocket@@ABQAV1@@Z 0086ab28 shared:SocketMgr.obj + 0003:0006eb50 __ehfuncinfo$??$_Atomic_reinterpret_as@JI@std@@YAJABI@Z 0086ab50 shared:SocketMgr.obj + 0003:0006eb78 __ehfuncinfo$??$addressof@$$CBI@std@@YAPBIABI@Z 0086ab78 shared:SocketMgr.obj + 0003:0006eba0 __ehfuncinfo$??0Socket@@QAE@III@Z 0086aba0 shared:Socket.obj + 0003:0006ebc4 __unwindtable$??0Socket@@QAE@III@Z 0086abc4 shared:Socket.obj + 0003:0006ebf4 __ehfuncinfo$??1Socket@@UAE@XZ 0086abf4 shared:Socket.obj + 0003:0006ec1c __unwindtable$??0KOSocket@@QAE@GPAVSocketMgr@@III@Z 0086ac1c shared:KOSocket.obj + 0003:0006ec24 __ehfuncinfo$??0KOSocket@@QAE@GPAVSocketMgr@@III@Z 0086ac24 shared:KOSocket.obj + 0003:0006ec4c __unwindtable$?OnConnect@KOSocket@@UAEXXZ 0086ac4c shared:KOSocket.obj + 0003:0006ec5c __ehfuncinfo$?OnConnect@KOSocket@@UAEXXZ 0086ac5c shared:KOSocket.obj + 0003:0006ec88 __ehfuncinfo$?OnRead@KOSocket@@UAEXXZ 0086ac88 shared:KOSocket.obj + 0003:0006ecac __unwindtable$?OnRead@KOSocket@@UAEXXZ 0086acac shared:KOSocket.obj + 0003:0006ecf0 __unwindtable$?DecryptPacket@KOSocket@@UAE_NPAEAAVPacket@@@Z 0086acf0 shared:KOSocket.obj + 0003:0006ecf8 __ehfuncinfo$?DecryptPacket@KOSocket@@UAE_NPAEAAVPacket@@@Z 0086acf8 shared:KOSocket.obj + 0003:0006ed20 __unwindtable$?SendCompressed@KOSocket@@UAE_NPAVPacket@@@Z 0086ad20 shared:KOSocket.obj + 0003:0006ed28 __ehfuncinfo$?SendCompressed@KOSocket@@UAE_NPAVPacket@@@Z 0086ad28 shared:KOSocket.obj + 0003:0006ed50 __unwindtable$?OnDisconnect@KOSocket@@UAEXXZ 0086ad50 shared:KOSocket.obj + 0003:0006ed58 __ehfuncinfo$?OnDisconnect@KOSocket@@UAEXXZ 0086ad58 shared:KOSocket.obj + 0003:0006ed80 __ehfuncinfo$??$addressof@$$CBV?$vector@EV?$allocator@E@std@@@std@@@std@@YAPBV?$vector@EV?$allocator@E@std@@@0@ABV10@@Z 0086ad80 shared:KOSocket.obj + 0003:0006eda8 __ehfuncinfo$??$_Pocca@V?$allocator@E@std@@@std@@YAXAAV?$allocator@E@0@ABV10@@Z 0086ada8 shared:KOSocket.obj + 0003:0006edd0 __ehfuncinfo$??$_Verify_range@E@std@@YAXQBE0@Z 0086add0 shared:KOSocket.obj + 0003:0006edf8 __ehfuncinfo$??$_Refancy@PAE$0A@@std@@YAPAEPAE@Z 0086adf8 shared:KOSocket.obj + 0003:0006ee20 __ehfuncinfo$?now@system_clock@chrono@std@@SA?AV?$time_point@Usystem_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0JIJGIA@@std@@@23@@23@XZ 0086ae20 shared:Condition.obj + 0003:0006ee48 __ehfuncinfo$?zero@?$duration@_JU?$ratio@$00$0DOI@@std@@@chrono@std@@SA?AV123@XZ 0086ae48 shared:Condition.obj + 0003:0006ee70 __ehfuncinfo$??0mutex@std@@QAE@XZ 0086ae70 shared:Condition.obj + 0003:0006ee98 __ehfuncinfo$??1condition_variable@std@@QAE@XZ 0086ae98 shared:Condition.obj + 0003:0006eec0 __ehfuncinfo$?notify_one@condition_variable@std@@QAEXXZ 0086aec0 shared:Condition.obj + 0003:0006eee8 __ehfuncinfo$?notify_all@condition_variable@std@@QAEXXZ 0086aee8 shared:Condition.obj + 0003:0006ef10 __ehfuncinfo$?_Mycnd@condition_variable@std@@AAEPAU_Cnd_internal_imp_t@@XZ 0086af10 shared:Condition.obj + 0003:0006ef38 __ehfuncinfo$??1?$unique_lock@Vmutex@std@@@std@@QAE@XZ 0086af38 shared:Condition.obj + 0003:0006ef60 __ehfuncinfo$?mutex@?$unique_lock@Vmutex@std@@@std@@QBEPAV02@XZ 0086af60 shared:Condition.obj + 0003:0006ef88 __ehfuncinfo$??1Condition@@QAE@XZ 0086af88 shared:Condition.obj + 0003:0006efb0 __unwindtable$?Wait@Condition@@QAEI_J@Z 0086afb0 shared:Condition.obj + 0003:0006efb8 __ehfuncinfo$?Wait@Condition@@QAEI_J@Z 0086afb8 shared:Condition.obj + 0003:0006efe0 __unwindtable$?Wait@Condition@@QAEIXZ 0086afe0 shared:Condition.obj + 0003:0006efe8 __ehfuncinfo$?Wait@Condition@@QAEIXZ 0086afe8 shared:Condition.obj + 0003:0006f010 __ehfuncinfo$??$addressof@Vmutex@std@@@std@@YAPAVmutex@0@AAV10@@Z 0086b010 shared:Condition.obj + 0003:0006f038 __ehfuncinfo$?zero@?$duration_values@_J@chrono@std@@SA_JXZ 0086b038 shared:Condition.obj + 0003:0006f060 __unwindtable$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z 0086b060 shared:tstring.obj + 0003:0006f080 __ehfuncinfo$?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0@Z 0086b080 shared:tstring.obj + 0003:0006f0ac __ehfuncinfo$?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 0086b0ac shared:tstring.obj + 0003:0006f0d4 __ehfuncinfo$?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ 0086b0d4 shared:tstring.obj + 0003:0006f0fc __ehfuncinfo$?rbegin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 0086b0fc shared:tstring.obj + 0003:0006f124 __ehfuncinfo$?rend@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@2@XZ 0086b124 shared:tstring.obj + 0003:0006f14c __unwindtable$?_string_format@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV12@PAD@Z 0086b14c shared:tstring.obj + 0003:0006f154 __ehfuncinfo$?_string_format@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV12@PAD@Z 0086b154 shared:tstring.obj + 0003:0006f17c __unwindtable$?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ 0086b17c shared:tstring.obj + 0003:0006f18c __ehfuncinfo$?string_format@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@ZZ 0086b18c shared:tstring.obj + 0003:0006f1b8 __ehfuncinfo$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 0086b1b8 shared:tstring.obj + 0003:0006f1dc __unwindtable$?rtrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 0086b1dc shared:tstring.obj + 0003:0006f214 __unwindtable$?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 0086b214 shared:tstring.obj + 0003:0006f224 __ehfuncinfo$?ltrim@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV12@@Z 0086b224 shared:tstring.obj + 0003:0006f250 __ehfuncinfo$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXH@Z 0086b250 shared:tstring.obj + 0003:0006f278 __unwindtable$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 0086b278 shared:tstring.obj + 0003:0006f280 __ehfuncinfo$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 0086b280 shared:tstring.obj + 0003:0006f2a8 __unwindtable$??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z 0086b2a8 shared:tstring.obj + 0003:0006f2b0 __ehfuncinfo$??0?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@QAE@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z 0086b2b0 shared:tstring.obj + 0003:0006f2d8 __unwindtable$??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 0086b2d8 shared:tstring.obj + 0003:0006f2e8 __ehfuncinfo$??$find_if@V?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 0086b2e8 shared:tstring.obj + 0003:0006f314 __unwindtable$??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 0086b314 shared:tstring.obj + 0003:0006f324 __ehfuncinfo$??$find_if@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@2@@std@@YA?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@0@V10@V10@V?$unary_negate@V?$pointer_to_unary_function@HHP6AHH@Z@std@@@0@@Z 0086b324 shared:tstring.obj + 0003:0006f350 __ehfuncinfo$??$_Refancy@PAD$0A@@std@@YAPADPAD@Z 0086b350 shared:tstring.obj + 0003:0006f378 __ehfuncinfo$??$_Const_cast@$$CBD@std@@YA@PBD@Z 0086b378 shared:tstring.obj + 0003:0006f3a0 __unwindtable$??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z 0086b3a0 shared:tstring.obj + 0003:0006f3b0 __ehfuncinfo$??$_Verify_range@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V12@$0A@@std@@YAXABV?$reverse_iterator@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@0@0@Z 0086b3b0 shared:tstring.obj + 0003:0006f3dc __ehfuncinfo$?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z 0086b3dc shared:SMDFile.obj + 0003:0006f404 __ehfuncinfo$??0SMDFile@@QAE@XZ 0086b404 shared:SMDFile.obj + 0003:0006f428 __unwindtable$??0SMDFile@@QAE@XZ 0086b428 shared:SMDFile.obj + 0003:0006f460 __ehfuncinfo$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0086b460 shared:SMDFile.obj + 0003:0006f484 __unwindtable$?Load@SMDFile@@SAPAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0086b484 shared:SMDFile.obj + 0003:0006f4bc __unwindtable$?LoadWarpList@SMDFile@@QAEXPAU_iobuf@@@Z 0086b4bc shared:SMDFile.obj + 0003:0006f4c4 __ehfuncinfo$?LoadWarpList@SMDFile@@QAEXPAU_iobuf@@@Z 0086b4c4 shared:SMDFile.obj + 0003:0006f4ec __unwindtable$?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z 0086b4ec shared:SMDFile.obj + 0003:0006f4fc __ehfuncinfo$?GetWarpList@SMDFile@@QAEXHAAV?$set@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@@std@@@Z 0086b4fc shared:SMDFile.obj + 0003:0006f528 __ehfuncinfo$??1SMDFile@@UAE@XZ 0086b528 shared:SMDFile.obj + 0003:0006f550 __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@QAE@XZ 0086b550 shared:SMDFile.obj + 0003:0006f578 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@@Z 0086b578 shared:SMDFile.obj + 0003:0006f5a0 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0086b5a0 shared:SMDFile.obj + 0003:0006f5c8 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 0086b5c8 shared:SMDFile.obj + 0003:0006f5f0 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@2@XZ 0086b5f0 shared:SMDFile.obj + 0003:0006f618 __ehfuncinfo$?size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086b618 shared:SMDFile.obj + 0003:0006f640 __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086b640 shared:SMDFile.obj + 0003:0006f668 __ehfuncinfo$?empty@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0086b668 shared:SMDFile.obj + 0003:0006f690 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086b690 shared:SMDFile.obj + 0003:0006f6b8 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086b6b8 shared:SMDFile.obj + 0003:0006f6c0 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086b6c0 shared:SMDFile.obj + 0003:0006f6e8 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 0086b6e8 shared:SMDFile.obj + 0003:0006f710 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 0086b710 shared:SMDFile.obj + 0003:0006f738 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 0086b738 shared:SMDFile.obj + 0003:0006f760 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 0086b760 shared:SMDFile.obj + 0003:0006f788 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_WARP_INFO@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@XZ 0086b788 shared:SMDFile.obj + 0003:0006f7b0 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@QAU32@@Z 0086b7b0 shared:SMDFile.obj + 0003:0006f7d8 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 0086b7d8 shared:SMDFile.obj + 0003:0006f800 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@2@XZ 0086b800 shared:SMDFile.obj + 0003:0006f828 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 0086b828 shared:SMDFile.obj + 0003:0006f850 __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE_NIPAU_WARP_INFO@@@Z 0086b850 shared:SMDFile.obj + 0003:0006f858 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE_NIPAU_WARP_INFO@@@Z 0086b858 shared:SMDFile.obj + 0003:0006f880 __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ 0086b880 shared:SMDFile.obj + 0003:0006f898 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAEXXZ 0086b898 shared:SMDFile.obj + 0003:0006f8c4 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 0086b8c4 shared:SMDFile.obj + 0003:0006f8ec __unwindtable$??0?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 0086b8ec shared:SMDFile.obj + 0003:0006f8f4 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_WARP_INFO@@@@QAE@XZ 0086b8f4 shared:SMDFile.obj + 0003:0006f91c __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@QAE@XZ 0086b91c shared:SMDFile.obj + 0003:0006f944 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@@Z 0086b944 shared:SMDFile.obj + 0003:0006f96c __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0086b96c shared:SMDFile.obj + 0003:0006f994 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 0086b994 shared:SMDFile.obj + 0003:0006f9bc __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@2@XZ 0086b9bc shared:SMDFile.obj + 0003:0006f9e4 __ehfuncinfo$?size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086b9e4 shared:SMDFile.obj + 0003:0006fa0c __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086ba0c shared:SMDFile.obj + 0003:0006fa34 __ehfuncinfo$?empty@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0086ba34 shared:SMDFile.obj + 0003:0006fa5c __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086ba5c shared:SMDFile.obj + 0003:0006fa84 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086ba84 shared:SMDFile.obj + 0003:0006fa8c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086ba8c shared:SMDFile.obj + 0003:0006fab4 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 0086bab4 shared:SMDFile.obj + 0003:0006fadc __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 0086badc shared:SMDFile.obj + 0003:0006fb04 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 0086bb04 shared:SMDFile.obj + 0003:0006fb2c __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 0086bb2c shared:SMDFile.obj + 0003:0006fb54 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAU_REGENE_EVENT@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@XZ 0086bb54 shared:SMDFile.obj + 0003:0006fb7c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@QAU32@@Z 0086bb7c shared:SMDFile.obj + 0003:0006fba4 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 0086bba4 shared:SMDFile.obj + 0003:0006fbcc __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@2@XZ 0086bbcc shared:SMDFile.obj + 0003:0006fbf4 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 0086bbf4 shared:SMDFile.obj + 0003:0006fc1c __unwindtable$?PutData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE_NIPAU_REGENE_EVENT@@@Z 0086bc1c shared:SMDFile.obj + 0003:0006fc24 __ehfuncinfo$?PutData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE_NIPAU_REGENE_EVENT@@@Z 0086bc24 shared:SMDFile.obj + 0003:0006fc4c __unwindtable$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ 0086bc4c shared:SMDFile.obj + 0003:0006fc64 __ehfuncinfo$?DeleteAllData@?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAEXXZ 0086bc64 shared:SMDFile.obj + 0003:0006fc90 __ehfuncinfo$??1?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 0086bc90 shared:SMDFile.obj + 0003:0006fcb8 __unwindtable$??0?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 0086bcb8 shared:SMDFile.obj + 0003:0006fcc0 __ehfuncinfo$??0?$CSTLMapOnlyLoad@U_REGENE_EVENT@@@@QAE@XZ 0086bcc0 shared:SMDFile.obj + 0003:0006fce8 __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@QAE@XZ 0086bce8 shared:SMDFile.obj + 0003:0006fd10 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@@Z 0086bd10 shared:SMDFile.obj + 0003:0006fd38 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE@XZ 0086bd38 shared:SMDFile.obj + 0003:0006fd60 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@2@XZ 0086bd60 shared:SMDFile.obj + 0003:0006fd88 __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@QBEIXZ 0086bd88 shared:SMDFile.obj + 0003:0006fdb0 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086bdb0 shared:SMDFile.obj + 0003:0006fdb8 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086bdb8 shared:SMDFile.obj + 0003:0006fde0 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086bde0 shared:SMDFile.obj + 0003:0006fe08 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 0086be08 shared:SMDFile.obj + 0003:0006fe30 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 0086be30 shared:SMDFile.obj + 0003:0006fe58 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 0086be58 shared:SMDFile.obj + 0003:0006fe80 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@XZ 0086be80 shared:SMDFile.obj + 0003:0006fea8 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@QAU32@@Z 0086bea8 shared:SMDFile.obj + 0003:0006fed0 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 0086bed0 shared:SMDFile.obj + 0003:0006fef8 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@2@XZ 0086bef8 shared:SMDFile.obj + 0003:0006ff20 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086bf20 shared:SMDFile.obj + 0003:0006ff48 __ehfuncinfo$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 0086bf48 shared:SMDFile.obj + 0003:0006ff70 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086bf70 shared:SMDFile.obj + 0003:0006ff78 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086bf78 shared:SMDFile.obj + 0003:0006ffa0 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@@Z 0086bfa0 shared:SMDFile.obj + 0003:0006ffc8 __ehfuncinfo$?max_size@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@QBEIXZ 0086bfc8 shared:SMDFile.obj + 0003:0006fff0 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABU?$less@PAU_WARP_INFO@@@2@XZ 0086bff0 shared:SMDFile.obj + 0003:00070018 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 0086c018 shared:SMDFile.obj + 0003:00070040 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 0086c040 shared:SMDFile.obj + 0003:00070068 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 0086c068 shared:SMDFile.obj + 0003:00070090 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tset_traits@PAU_WARP_INFO@@U?$less@PAU_WARP_INFO@@@std@@V?$allocator@PAU_WARP_INFO@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@XZ 0086c090 shared:SMDFile.obj + 0003:000700b8 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@QAU32@@Z 0086c0b8 shared:SMDFile.obj + 0003:000700e0 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 0086c0e0 shared:SMDFile.obj + 0003:00070108 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@2@XZ 0086c108 shared:SMDFile.obj + 0003:00070130 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@PAU_WARP_INFO@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAU_WARP_INFO@@@2@XZ 0086c130 shared:SMDFile.obj + 0003:00070158 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@2@AAU32@@Z 0086c158 shared:SMDFile.obj + 0003:00070180 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 0086c180 shared:SMDFile.obj + 0003:000701a8 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 0086c1a8 shared:SMDFile.obj + 0003:000701d0 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 0086c1d0 shared:SMDFile.obj + 0003:000701f8 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 0086c1f8 shared:SMDFile.obj + 0003:00070220 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@SAPAU?$pair@$$CBIPAU_WARP_INFO@@@2@AAU32@@Z 0086c220 shared:SMDFile.obj + 0003:00070248 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 0086c248 shared:SMDFile.obj + 0003:00070270 __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 0086c270 shared:SMDFile.obj + 0003:00070298 __ehfuncinfo$??$?0IPAU_WARP_INFO@@$0A@@?$pair@$$CBIPAU_WARP_INFO@@@std@@QAE@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 0086c298 shared:SMDFile.obj + 0003:000702c0 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086c2c0 shared:SMDFile.obj + 0003:000702c8 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086c2c8 shared:SMDFile.obj + 0003:000702f0 __ehfuncinfo$??$?0IPAU_REGENE_EVENT@@$0A@@?$pair@$$CBIPAU_REGENE_EVENT@@@std@@QAE@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 0086c2f0 shared:SMDFile.obj + 0003:00070318 __ehfuncinfo$??$addressof@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@YAPAU?$pair@$$CBIPAU_WARP_INFO@@@0@AAU10@@Z 0086c318 shared:SMDFile.obj + 0003:00070340 __ehfuncinfo$??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 0086c340 shared:SMDFile.obj + 0003:00070368 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@AAV10@@Z 0086c368 shared:SMDFile.obj + 0003:00070390 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@SAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@2@AAU32@@Z 0086c390 shared:SMDFile.obj + 0003:000703b8 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@AAV10@@Z 0086c3b8 shared:SMDFile.obj + 0003:000703e0 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 0086c3e0 shared:SMDFile.obj + 0003:00070408 __ehfuncinfo$??$addressof@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@YAPAU?$pair@$$CBIPAU_REGENE_EVENT@@@0@AAU10@@Z 0086c408 shared:SMDFile.obj + 0003:00070430 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@@Z 0086c430 shared:SMDFile.obj + 0003:00070458 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@@Z 0086c458 shared:SMDFile.obj + 0003:00070480 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@0@ABV10@@Z 0086c480 shared:SMDFile.obj + 0003:000704a8 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@0@ABV10@@Z 0086c4a8 shared:SMDFile.obj + 0003:000704d0 __ehfuncinfo$??$forward@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 0086c4d0 shared:SMDFile.obj + 0003:000704f8 __ehfuncinfo$??$forward@AAPAVSMDFile@@@std@@YAAAPAVSMDFile@@AAPAV1@@Z 0086c4f8 shared:SMDFile.obj + 0003:00070520 __ehfuncinfo$??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@0@AAU10@@Z 0086c520 shared:SMDFile.obj + 0003:00070548 __ehfuncinfo$??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@1@AB_N@Z 0086c548 shared:SMDFile.obj + 0003:00070570 __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@@Z 0086c570 shared:SMDFile.obj + 0003:00070598 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 0086c598 shared:SMDFile.obj + 0003:000705c0 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 0086c5c0 shared:SMDFile.obj + 0003:000705e8 __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 0086c5e8 shared:SMDFile.obj + 0003:00070610 __ehfuncinfo$??$forward@AAPAU_WARP_INFO@@@std@@YAAAPAU_WARP_INFO@@AAPAU1@@Z 0086c610 shared:SMDFile.obj + 0003:00070638 __ehfuncinfo$??$?0AAIAAPAU_WARP_INFO@@$0A@@?$pair@IPAU_WARP_INFO@@@std@@QAE@AAIAAPAU_WARP_INFO@@@Z 0086c638 shared:SMDFile.obj + 0003:00070660 __ehfuncinfo$??$forward@U?$pair@IPAU_WARP_INFO@@@std@@@std@@YA$$QAU?$pair@IPAU_WARP_INFO@@@0@AAU10@@Z 0086c660 shared:SMDFile.obj + 0003:00070688 __ehfuncinfo$??$forward@AAPAU_REGENE_EVENT@@@std@@YAAAPAU_REGENE_EVENT@@AAPAU1@@Z 0086c688 shared:SMDFile.obj + 0003:000706b0 __ehfuncinfo$??$?0AAIAAPAU_REGENE_EVENT@@$0A@@?$pair@IPAU_REGENE_EVENT@@@std@@QAE@AAIAAPAU_REGENE_EVENT@@@Z 0086c6b0 shared:SMDFile.obj + 0003:000706d8 __ehfuncinfo$??$forward@U?$pair@IPAU_REGENE_EVENT@@@std@@@std@@YA$$QAU?$pair@IPAU_REGENE_EVENT@@@0@AAU10@@Z 0086c6d8 shared:SMDFile.obj + 0003:00070700 __ehfuncinfo$??$forward@ABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABU10@@Z 0086c700 shared:SMDFile.obj + 0003:00070728 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 0086c728 shared:SMDFile.obj + 0003:00070750 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 0086c750 shared:SMDFile.obj + 0003:00070778 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU01@@Z 0086c778 shared:SMDFile.obj + 0003:000707a0 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 0086c7a0 shared:SMDFile.obj + 0003:000707c8 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU01@@Z 0086c7c8 shared:SMDFile.obj + 0003:000707f0 __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@AAV10@@Z 0086c7f0 shared:SMDFile.obj + 0003:00070818 __ehfuncinfo$??$_Get_size_of_n@$0DA@@std@@YAII@Z 0086c818 shared:SMDFile.obj + 0003:00070840 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@0@ABV10@@Z 0086c840 shared:SMDFile.obj + 0003:00070868 __ehfuncinfo$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@1@AB_N@Z 0086c868 shared:SMDFile.obj + 0003:00070890 __ehfuncinfo$?_Extract@?$_In_place_key_extract_set@PAU_WARP_INFO@@PAU1@@std@@SAABQAU_WARP_INFO@@ABQAU3@@Z 0086c890 shared:SMDFile.obj + 0003:000708b8 __ehfuncinfo$??$?0AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 0086c8b8 shared:SMDFile.obj + 0003:000708e0 __ehfuncinfo$??$forward@ABQAU_WARP_INFO@@@std@@YAABQAU_WARP_INFO@@ABQAU1@@Z 0086c8e0 shared:SMDFile.obj + 0003:00070908 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAU_WARP_INFO@@PAX@2@XZ 0086c908 shared:SMDFile.obj + 0003:00070930 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 0086c930 shared:SMDFile.obj + 0003:00070958 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z 0086c958 shared:SMDFile.obj + 0003:00070960 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@@Z 0086c960 shared:SMDFile.obj + 0003:00070988 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@XZ 0086c988 shared:SMDFile.obj + 0003:000709b0 __unwindtable$??$?0ABQAU_WARP_INFO@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z 0086c9b0 shared:SMDFile.obj + 0003:000709b8 __ehfuncinfo$??$?0ABQAU_WARP_INFO@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@1@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@ABQAU_WARP_INFO@@@Z 0086c9b8 shared:SMDFile.obj + 0003:000709e0 __ehfuncinfo$??$?0PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@1@$$QA_N@Z 0086c9e0 shared:SMDFile.obj + 0003:00070a08 __ehfuncinfo$??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@0@AAV10@@Z 0086ca08 shared:SMDFile.obj + 0003:00070a30 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU01@@Z 0086ca30 shared:SMDFile.obj + 0003:00070a58 __ehfuncinfo$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@1@AB_N@Z 0086ca58 shared:SMDFile.obj + 0003:00070a80 __ehfuncinfo$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@1@AB_N@Z 0086ca80 shared:SMDFile.obj + 0003:00070aa8 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 0086caa8 shared:SMDFile.obj + 0003:00070ad0 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 0086cad0 shared:SMDFile.obj + 0003:00070af8 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 0086caf8 shared:SMDFile.obj + 0003:00070b20 __ehfuncinfo$??$addressof@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 0086cb20 shared:SMDFile.obj + 0003:00070b48 __ehfuncinfo$??$addressof@PAU_WARP_INFO@@@std@@YAPAPAU_WARP_INFO@@AAPAU1@@Z 0086cb48 shared:SMDFile.obj + 0003:00070b70 __ehfuncinfo$??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 0086cb70 shared:SMDFile.obj + 0003:00070b98 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@2@XZ 0086cb98 shared:SMDFile.obj + 0003:00070bc0 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086cbc0 shared:SMDFile.obj + 0003:00070be8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 0086cbe8 shared:SMDFile.obj + 0003:00070bf0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@@Z 0086cbf0 shared:SMDFile.obj + 0003:00070c18 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086cc18 shared:SMDFile.obj + 0003:00070c40 __unwindtable$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 0086cc40 shared:SMDFile.obj + 0003:00070c48 __ehfuncinfo$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@1@@Z 0086cc48 shared:SMDFile.obj + 0003:00070c70 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@1@$$QA_N@Z 0086cc70 shared:SMDFile.obj + 0003:00070c98 __ehfuncinfo$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@@std@@@std@@@0@AAV10@@Z 0086cc98 shared:SMDFile.obj + 0003:00070cc0 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 0086ccc0 shared:SMDFile.obj + 0003:00070ce8 __ehfuncinfo$??$forward@PAU?$_Tree_node@PAU_WARP_INFO@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAU_WARP_INFO@@PAX@0@AAPAU10@@Z 0086cce8 shared:SMDFile.obj + 0003:00070d10 __ehfuncinfo$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 0086cd10 shared:SMDFile.obj + 0003:00070d38 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@2@XZ 0086cd38 shared:SMDFile.obj + 0003:00070d60 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086cd60 shared:SMDFile.obj + 0003:00070d88 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 0086cd88 shared:SMDFile.obj + 0003:00070d90 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@@Z 0086cd90 shared:SMDFile.obj + 0003:00070db8 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086cdb8 shared:SMDFile.obj + 0003:00070de0 __unwindtable$??$?0U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 0086cde0 shared:SMDFile.obj + 0003:00070de8 __ehfuncinfo$??$?0U?$pair@IPAU_WARP_INFO@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QAU?$pair@IPAU_WARP_INFO@@@1@@Z 0086cde8 shared:SMDFile.obj + 0003:00070e10 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@1@$$QA_N@Z 0086ce10 shared:SMDFile.obj + 0003:00070e38 __ehfuncinfo$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_WARP_INFO@@@std@@@std@@@std@@@0@AAV10@@Z 0086ce38 shared:SMDFile.obj + 0003:00070e60 __ehfuncinfo$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 0086ce60 shared:SMDFile.obj + 0003:00070e88 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@2@XZ 0086ce88 shared:SMDFile.obj + 0003:00070eb0 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086ceb0 shared:SMDFile.obj + 0003:00070ed8 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 0086ced8 shared:SMDFile.obj + 0003:00070ee0 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@@Z 0086cee0 shared:SMDFile.obj + 0003:00070f08 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086cf08 shared:SMDFile.obj + 0003:00070f30 __unwindtable$??$?0U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 0086cf30 shared:SMDFile.obj + 0003:00070f38 __ehfuncinfo$??$?0U?$pair@IPAU_REGENE_EVENT@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QAU?$pair@IPAU_REGENE_EVENT@@@1@@Z 0086cf38 shared:SMDFile.obj + 0003:00070f60 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@1@$$QA_N@Z 0086cf60 shared:SMDFile.obj + 0003:00070f88 __ehfuncinfo$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@@std@@@std@@@0@AAV10@@Z 0086cf88 shared:SMDFile.obj + 0003:00070fb0 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAU_WARP_INFO@@@std@@@0@ABV10@@Z 0086cfb0 shared:SMDFile.obj + 0003:00070fd8 __ehfuncinfo$??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z 0086cfd8 shared:SMDFile.obj + 0003:00071000 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVSMDFile@@@std@@PAX@0@AAPAU10@@Z 0086d000 shared:SMDFile.obj + 0003:00071028 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_WARP_INFO@@@std@@PAX@0@AAPAU10@@Z 0086d028 shared:SMDFile.obj + 0003:00071050 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAU_REGENE_EVENT@@@std@@PAX@0@AAPAU10@@Z 0086d050 shared:SMDFile.obj + 0003:00071078 __ehfuncinfo$??$_Traits_compare@U?$char_traits@D@std@@@std@@YAHQBDI0I@Z 0086d078 shared:SMDFile.obj + 0003:000710a0 __ehfuncinfo$??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 0086d0a0 shared:SMDFile.obj + 0003:000710c8 __ehfuncinfo$??$forward@PAVSMDFile@@@std@@YA$$QAPAVSMDFile@@AAPAV1@@Z 0086d0c8 shared:SMDFile.obj + 0003:000710f0 __ehfuncinfo$??$forward@PAU_WARP_INFO@@@std@@YA$$QAPAU_WARP_INFO@@AAPAU1@@Z 0086d0f0 shared:SMDFile.obj + 0003:00071118 __ehfuncinfo$??$forward@PAU_REGENE_EVENT@@@std@@YA$$QAPAU_REGENE_EVENT@@AAPAU1@@Z 0086d118 shared:SMDFile.obj + 0003:00071140 __ehfuncinfo$??0thread@std@@QAE@XZ 0086d140 shared:Thread.obj + 0003:00071168 __ehfuncinfo$??4thread@std@@QAEAAV01@$$QAV01@@Z 0086d168 shared:Thread.obj + 0003:00071190 __unwindtable$??0Thread@@QAE@P6GIPAX@Z0@Z 0086d190 shared:Thread.obj + 0003:00071198 __ehfuncinfo$??0Thread@@QAE@P6GIPAX@Z0@Z 0086d198 shared:Thread.obj + 0003:000711c0 __catchsym$?start@Thread@@QAE_NP6GIPAX@Z0@Z$3 0086d1c0 shared:Thread.obj + 0003:000711d0 __unwindtable$?start@Thread@@QAE_NP6GIPAX@Z0@Z 0086d1d0 shared:Thread.obj + 0003:000711e0 __tryblocktable$?start@Thread@@QAE_NP6GIPAX@Z0@Z 0086d1e0 shared:Thread.obj + 0003:000711f4 __ehfuncinfo$?start@Thread@@QAE_NP6GIPAX@Z0@Z 0086d1f4 shared:Thread.obj + 0003:00071220 __catchsym$?waitForExit@Thread@@QAE_NXZ$2 0086d220 shared:Thread.obj + 0003:00071230 __unwindtable$?waitForExit@Thread@@QAE_NXZ 0086d230 shared:Thread.obj + 0003:00071240 __tryblocktable$?waitForExit@Thread@@QAE_NXZ 0086d240 shared:Thread.obj + 0003:00071254 __ehfuncinfo$?waitForExit@Thread@@QAE_NXZ 0086d254 shared:Thread.obj + 0003:00071280 __unwindtable$??$?0AAP6GIPAX@ZAAPAXX@thread@std@@QAE@AAP6GIPAX@ZAAPAX@Z 0086d280 shared:Thread.obj + 0003:00071288 __ehfuncinfo$??$?0AAP6GIPAX@ZAAPAXX@thread@std@@QAE@AAP6GIPAX@ZAAPAX@Z 0086d288 shared:Thread.obj + 0003:000712b0 __ehfuncinfo$??$forward@AAP6GIPAX@Z@std@@YAAAP6GIPAX@ZAAP6GI0@Z@Z 0086d2b0 shared:Thread.obj + 0003:000712d8 __ehfuncinfo$??$forward@AAPAX@std@@YAAAPAXAAPAX@Z 0086d2d8 shared:Thread.obj + 0003:00071300 __ehfuncinfo$??R?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@QBEXPAV?$tuple@P6GIPAX@ZPAX@1@@Z 0086d300 shared:Thread.obj + 0003:00071328 __ehfuncinfo$??1?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@XZ 0086d328 shared:Thread.obj + 0003:00071350 __ehfuncinfo$?get@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QBEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 0086d350 shared:Thread.obj + 0003:00071378 __ehfuncinfo$?release@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAEPAV?$tuple@P6GIPAX@ZPAX@2@XZ 0086d378 shared:Thread.obj + 0003:000713a0 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@PAV?$tuple@P6GIPAX@ZPAX@2@$00@std@@QAEAAU?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@XZ 0086d3a0 shared:Thread.obj + 0003:000713c8 __ehfuncinfo$??$_Invoke@V?$tuple@P6GIPAX@ZPAX@std@@$0A@$00@thread@std@@CGIPAX@Z 0086d3c8 shared:Thread.obj + 0003:000713f0 __ehfuncinfo$??$?0AAP6GIPAX@ZAAPAX$0A@@?$tuple@P6GIPAX@ZPAX@std@@QAE@AAP6GIPAX@ZAAPAX@Z 0086d3f0 shared:Thread.obj + 0003:00071418 __ehfuncinfo$??$?0U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@std@@$0A@@?$unique_ptr@V?$tuple@P6GIPAX@ZPAX@std@@U?$default_delete@V?$tuple@P6GIPAX@ZPAX@std@@@2@@std@@QAE@PAV?$tuple@P6GIPAX@ZPAX@1@@Z 0086d418 shared:Thread.obj + 0003:00071440 __ehfuncinfo$??$get@$0A@P6GIPAX@ZPAX@std@@YAAAP6GIPAX@ZAAV?$tuple@P6GIPAX@ZPAX@0@@Z 0086d440 shared:Thread.obj + 0003:00071468 __ehfuncinfo$??$move@AAP6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 0086d468 shared:Thread.obj + 0003:00071490 __ehfuncinfo$??$get@$00P6GIPAX@ZPAX@std@@YAAAPAXAAV?$tuple@P6GIPAX@ZPAX@0@@Z 0086d490 shared:Thread.obj + 0003:000714b8 __ehfuncinfo$??$move@AAPAX@std@@YA$$QAPAXAAPAX@Z 0086d4b8 shared:Thread.obj + 0003:000714e0 __ehfuncinfo$??$forward@P6GIPAX@Z@std@@YA$$QAP6GIPAX@ZAAP6GI0@Z@Z 0086d4e0 shared:Thread.obj + 0003:00071508 __ehfuncinfo$??$forward@PAX@std@@YA$$QAPAXAAPAX@Z 0086d508 shared:Thread.obj + 0003:00071530 __ehfuncinfo$??$forward@AAPAV?$tuple@P6GIPAX@ZPAX@std@@@std@@YAAAPAV?$tuple@P6GIPAX@ZPAX@0@AAPAV10@@Z 0086d530 shared:Thread.obj + 0003:00071558 __ehfuncinfo$?_Move_assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXAAV12@U_Equal_allocators@2@@Z 0086d558 shared:OdbcCommand.obj + 0003:00071580 __ehfuncinfo$??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z 0086d580 shared:OdbcCommand.obj + 0003:000715a8 __unwindtable$??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z 0086d5a8 shared:OdbcCommand.obj + 0003:000715b8 __ehfuncinfo$??0OdbcCommand@@QAE@PAVOdbcConnection@@@Z 0086d5b8 shared:OdbcCommand.obj + 0003:000715e4 __unwindtable$?BindParameters@OdbcCommand@@AAE_NXZ 0086d5e4 shared:OdbcCommand.obj + 0003:000715f4 __ehfuncinfo$?BindParameters@OdbcCommand@@AAE_NXZ 0086d5f4 shared:OdbcCommand.obj + 0003:00071620 __unwindtable$?Execute@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d620 shared:OdbcCommand.obj + 0003:00071628 __ehfuncinfo$?Execute@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d628 shared:OdbcCommand.obj + 0003:00071650 __unwindtable$?Prepare@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d650 shared:OdbcCommand.obj + 0003:00071658 __ehfuncinfo$?Prepare@OdbcCommand@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d658 shared:OdbcCommand.obj + 0003:00071680 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAEJ@Z 0086d680 shared:OdbcCommand.obj + 0003:00071688 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAEJ@Z 0086d688 shared:OdbcCommand.obj + 0003:000716b0 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPACJ@Z 0086d6b0 shared:OdbcCommand.obj + 0003:000716b8 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPACJ@Z 0086d6b8 shared:OdbcCommand.obj + 0003:000716e0 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAGJ@Z 0086d6e0 shared:OdbcCommand.obj + 0003:000716e8 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAGJ@Z 0086d6e8 shared:OdbcCommand.obj + 0003:00071710 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAFJ@Z 0086d710 shared:OdbcCommand.obj + 0003:00071718 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAFJ@Z 0086d718 shared:OdbcCommand.obj + 0003:00071740 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAIJ@Z 0086d740 shared:OdbcCommand.obj + 0003:00071748 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAIJ@Z 0086d748 shared:OdbcCommand.obj + 0003:00071770 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAHJ@Z 0086d770 shared:OdbcCommand.obj + 0003:00071778 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAHJ@Z 0086d778 shared:OdbcCommand.obj + 0003:000717a0 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPAMJ@Z 0086d7a0 shared:OdbcCommand.obj + 0003:000717a8 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPAMJ@Z 0086d7a8 shared:OdbcCommand.obj + 0003:000717d0 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPANJ@Z 0086d7d0 shared:OdbcCommand.obj + 0003:000717d8 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPANJ@Z 0086d7d8 shared:OdbcCommand.obj + 0003:00071800 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPA_KJ@Z 0086d800 shared:OdbcCommand.obj + 0003:00071808 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPA_KJ@Z 0086d808 shared:OdbcCommand.obj + 0003:00071830 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPA_JJ@Z 0086d830 shared:OdbcCommand.obj + 0003:00071838 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPA_JJ@Z 0086d838 shared:OdbcCommand.obj + 0003:00071860 __unwindtable$?AddParameter@OdbcCommand@@QAEXFPBDJF@Z 0086d860 shared:OdbcCommand.obj + 0003:00071868 __ehfuncinfo$?AddParameter@OdbcCommand@@QAEXFPBDJF@Z 0086d868 shared:OdbcCommand.obj + 0003:00071890 __unwindtable$?FetchString@OdbcCommand@@QAE_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d890 shared:OdbcCommand.obj + 0003:00071898 __ehfuncinfo$?FetchString@OdbcCommand@@QAE_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z 0086d898 shared:OdbcCommand.obj + 0003:000718c0 __ehfuncinfo$??1OdbcCommand@@QAE@XZ 0086d8c0 shared:OdbcCommand.obj + 0003:000718e8 __unwindtable$?ClearParameters@OdbcCommand@@AAEXXZ 0086d8e8 shared:OdbcCommand.obj + 0003:000718f8 __ehfuncinfo$?ClearParameters@OdbcCommand@@AAEXXZ 0086d8f8 shared:OdbcCommand.obj + 0003:00071924 __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@QAE@XZ 0086d924 shared:OdbcCommand.obj + 0003:0007194c __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@@Z 0086d94c shared:OdbcCommand.obj + 0003:00071974 __ehfuncinfo$??1?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE@XZ 0086d974 shared:OdbcCommand.obj + 0003:0007199c __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 0086d99c shared:OdbcCommand.obj + 0003:000719c4 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@2@XZ 0086d9c4 shared:OdbcCommand.obj + 0003:000719ec __ehfuncinfo$?size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086d9ec shared:OdbcCommand.obj + 0003:00071a14 __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBEIXZ 0086da14 shared:OdbcCommand.obj + 0003:00071a3c __ehfuncinfo$?empty@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QBE_NXZ 0086da3c shared:OdbcCommand.obj + 0003:00071a64 __ehfuncinfo$?clear@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@QAEXXZ 0086da64 shared:OdbcCommand.obj + 0003:00071a8c __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086da8c shared:OdbcCommand.obj + 0003:00071a94 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEXXZ 0086da94 shared:OdbcCommand.obj + 0003:00071abc __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABU?$less@I@2@XZ 0086dabc shared:OdbcCommand.obj + 0003:00071ae4 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0086dae4 shared:OdbcCommand.obj + 0003:00071b0c __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0086db0c shared:OdbcCommand.obj + 0003:00071b34 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 0086db34 shared:OdbcCommand.obj + 0003:00071b5c __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@IPAVOdbcParameter@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPAVOdbcParameter@@@std@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@XZ 0086db5c shared:OdbcCommand.obj + 0003:00071b84 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@QAU32@@Z 0086db84 shared:OdbcCommand.obj + 0003:00071bac __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0086dbac shared:OdbcCommand.obj + 0003:00071bd4 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@2@XZ 0086dbd4 shared:OdbcCommand.obj + 0003:00071bfc __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@I@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@I@2@XZ 0086dbfc shared:OdbcCommand.obj + 0003:00071c24 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086dc24 shared:OdbcCommand.obj + 0003:00071c2c __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086dc2c shared:OdbcCommand.obj + 0003:00071c54 __unwindtable$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z 0086dc54 shared:OdbcCommand.obj + 0003:00071c5c __ehfuncinfo$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z 0086dc5c shared:OdbcCommand.obj + 0003:00071c84 __ehfuncinfo$??$?0IPAVOdbcParameter@@$0A@@?$pair@$$CBIPAVOdbcParameter@@@std@@QAE@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 0086dc84 shared:OdbcCommand.obj + 0003:00071cac __ehfuncinfo$??R?$default_delete@D@std@@QBEXPAD@Z 0086dcac shared:OdbcCommand.obj + 0003:00071cd4 __ehfuncinfo$??1?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@XZ 0086dcd4 shared:OdbcCommand.obj + 0003:00071cfc __ehfuncinfo$?get@?$unique_ptr@DU?$default_delete@D@std@@@std@@QBEPADXZ 0086dcfc shared:OdbcCommand.obj + 0003:00071d24 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$default_delete@D@std@@PAD$00@std@@QAEAAU?$default_delete@D@2@XZ 0086dd24 shared:OdbcCommand.obj + 0003:00071d4c __ehfuncinfo$??$?0U?$default_delete@D@std@@$0A@@?$unique_ptr@DU?$default_delete@D@std@@@std@@QAE@PAD@Z 0086dd4c shared:OdbcCommand.obj + 0003:00071d74 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@SAPAU?$pair@$$CBIPAVOdbcParameter@@@2@AAU32@@Z 0086dd74 shared:OdbcCommand.obj + 0003:00071d9c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@@Z 0086dd9c shared:OdbcCommand.obj + 0003:00071dc4 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 0086ddc4 shared:OdbcCommand.obj + 0003:00071dec __ehfuncinfo$??$?0U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 0086ddec shared:OdbcCommand.obj + 0003:00071e14 __ehfuncinfo$??$addressof@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 0086de14 shared:OdbcCommand.obj + 0003:00071e3c __ehfuncinfo$??$addressof@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@YAPAU?$pair@$$CBIPAVOdbcParameter@@@0@AAU10@@Z 0086de3c shared:OdbcCommand.obj + 0003:00071e64 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@ABV10@@Z 0086de64 shared:OdbcCommand.obj + 0003:00071e8c __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@0@AAV10@@Z 0086de8c shared:OdbcCommand.obj + 0003:00071eb4 __ehfuncinfo$??$_Pocma@V?$allocator@D@std@@@std@@YAXAAV?$allocator@D@0@0@Z 0086deb4 shared:OdbcCommand.obj + 0003:00071edc __ehfuncinfo$??$forward@PAVOdbcParameter@@@std@@YA$$QAPAVOdbcParameter@@AAPAV1@@Z 0086dedc shared:OdbcCommand.obj + 0003:00071f04 __ehfuncinfo$??$?0IPAVOdbcParameter@@$0A@@?$pair@IPAVOdbcParameter@@@std@@QAE@$$QAI$$QAPAVOdbcParameter@@@Z 0086df04 shared:OdbcCommand.obj + 0003:00071f2c __ehfuncinfo$??$forward@U?$pair@IPAVOdbcParameter@@@std@@@std@@YA$$QAU?$pair@IPAVOdbcParameter@@@0@AAU10@@Z 0086df2c shared:OdbcCommand.obj + 0003:00071f54 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 0086df54 shared:OdbcCommand.obj + 0003:00071f7c __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU01@@Z 0086df7c shared:OdbcCommand.obj + 0003:00071fa4 __ehfuncinfo$??$addressof@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAPAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 0086dfa4 shared:OdbcCommand.obj + 0003:00071fcc __ehfuncinfo$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@1@AB_N@Z 0086dfcc shared:OdbcCommand.obj + 0003:00071ff4 __ehfuncinfo$??$forward@AAPAD@std@@YAAAPADAAPAD@Z 0086dff4 shared:OdbcCommand.obj + 0003:0007201c __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 0086e01c shared:OdbcCommand.obj + 0003:00072044 __ehfuncinfo$??$?0AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 0086e044 shared:OdbcCommand.obj + 0003:0007206c __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@2@XZ 0086e06c shared:OdbcCommand.obj + 0003:00072094 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086e094 shared:OdbcCommand.obj + 0003:000720bc __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 0086e0bc shared:OdbcCommand.obj + 0003:000720c4 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@@Z 0086e0c4 shared:OdbcCommand.obj + 0003:000720ec __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086e0ec shared:OdbcCommand.obj + 0003:00072114 __unwindtable$??$?0U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 0086e114 shared:OdbcCommand.obj + 0003:0007211c __ehfuncinfo$??$?0U?$pair@IPAVOdbcParameter@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QAU?$pair@IPAVOdbcParameter@@@1@@Z 0086e11c shared:OdbcCommand.obj + 0003:00072144 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@1@$$QA_N@Z 0086e144 shared:OdbcCommand.obj + 0003:0007216c __ehfuncinfo$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBIPAVOdbcParameter@@@std@@@std@@@std@@@0@AAV10@@Z 0086e16c shared:OdbcCommand.obj + 0003:00072194 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBIPAVOdbcParameter@@@std@@PAX@0@AAPAU10@@Z 0086e194 shared:OdbcCommand.obj + 0003:000721bc __ehfuncinfo$??0OdbcConnection@@QAE@XZ 0086e1bc shared:OdbcConnection.obj + 0003:000721e0 __unwindtable$??0OdbcConnection@@QAE@XZ 0086e1e0 shared:OdbcConnection.obj + 0003:00072210 __ehfuncinfo$?Connect@OdbcConnection@@QAE_NXZ 0086e210 shared:OdbcConnection.obj + 0003:00072234 __unwindtable$?Connect@OdbcConnection@@QAE_NXZ 0086e234 shared:OdbcConnection.obj + 0003:00072290 __unwindtable$?CreateCommand@OdbcConnection@@QAEPAVOdbcCommand@@XZ 0086e290 shared:OdbcConnection.obj + 0003:00072298 __ehfuncinfo$?CreateCommand@OdbcConnection@@QAEPAVOdbcCommand@@XZ 0086e298 shared:OdbcConnection.obj + 0003:000722c0 __unwindtable$?GetSQLError@OdbcConnection@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAX@Z 0086e2c0 shared:OdbcConnection.obj + 0003:000722c8 __ehfuncinfo$?GetSQLError@OdbcConnection@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAX@Z 0086e2c8 shared:OdbcConnection.obj + 0003:000722f0 __unwindtable$?GetError@OdbcConnection@@QAEPAUOdbcError@@XZ 0086e2f0 shared:OdbcConnection.obj + 0003:000722f8 __ehfuncinfo$?GetError@OdbcConnection@@QAEPAUOdbcError@@XZ 0086e2f8 shared:OdbcConnection.obj + 0003:00072320 __unwindtable$?ResetErrors@OdbcConnection@@QAEXXZ 0086e320 shared:OdbcConnection.obj + 0003:00072328 __ehfuncinfo$?ResetErrors@OdbcConnection@@QAEXXZ 0086e328 shared:OdbcConnection.obj + 0003:00072350 __unwindtable$?Disconnect@OdbcConnection@@QAEXXZ 0086e350 shared:OdbcConnection.obj + 0003:00072368 __ehfuncinfo$?Disconnect@OdbcConnection@@QAEXXZ 0086e368 shared:OdbcConnection.obj + 0003:00072394 __ehfuncinfo$??1OdbcConnection@@QAE@XZ 0086e394 shared:OdbcConnection.obj + 0003:000723bc __unwindtable$?AddCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 0086e3bc shared:OdbcConnection.obj + 0003:000723c4 __ehfuncinfo$?AddCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 0086e3c4 shared:OdbcConnection.obj + 0003:000723ec __unwindtable$?RemoveCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 0086e3ec shared:OdbcConnection.obj + 0003:000723f4 __ehfuncinfo$?RemoveCommand@OdbcConnection@@AAEXPAVOdbcCommand@@@Z 0086e3f4 shared:OdbcConnection.obj + 0003:0007241c __unwindtable$?ReportSQLError@OdbcConnection@@AAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAXPBD1ZZ 0086e41c shared:OdbcConnection.obj + 0003:00072424 __ehfuncinfo$?ReportSQLError@OdbcConnection@@AAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@FPAXPBD1ZZ 0086e424 shared:OdbcConnection.obj + 0003:0007244c __ehfuncinfo$??0?$allocator@PAUOdbcError@@@std@@QAE@XZ 0086e44c shared:OdbcConnection.obj + 0003:00072474 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@PAUOdbcError@@@std@@@std@@SAIABV?$allocator@PAUOdbcError@@@2@@Z 0086e474 shared:OdbcConnection.obj + 0003:0007249c __ehfuncinfo$??0?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 0086e49c shared:OdbcConnection.obj + 0003:000724c4 __ehfuncinfo$??1?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAE@XZ 0086e4c4 shared:OdbcConnection.obj + 0003:000724ec __ehfuncinfo$?empty@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBE_NXZ 0086e4ec shared:OdbcConnection.obj + 0003:00072514 __ehfuncinfo$?max_size@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 0086e514 shared:OdbcConnection.obj + 0003:0007253c __ehfuncinfo$?capacity@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QBEIXZ 0086e53c shared:OdbcConnection.obj + 0003:00072564 __ehfuncinfo$?_Tidy@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEXXZ 0086e564 shared:OdbcConnection.obj + 0003:0007258c __ehfuncinfo$?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@AAEAAV?$allocator@PAUOdbcError@@@2@XZ 0086e58c shared:OdbcConnection.obj + 0003:000725b4 __ehfuncinfo$?_Getal@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@ABEABV?$allocator@PAUOdbcError@@@2@XZ 0086e5b4 shared:OdbcConnection.obj + 0003:000725dc __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QAEAAV?$allocator@PAUOdbcError@@@2@XZ 0086e5dc shared:OdbcConnection.obj + 0003:00072604 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@PAUOdbcError@@@std@@V?$_Vector_val@U?$_Simple_types@PAUOdbcError@@@std@@@2@$00@std@@QBEABV?$allocator@PAUOdbcError@@@2@XZ 0086e604 shared:OdbcConnection.obj + 0003:0007262c __ehfuncinfo$??0?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@QAE@XZ 0086e62c shared:OdbcConnection.obj + 0003:00072654 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@@Z 0086e654 shared:OdbcConnection.obj + 0003:0007267c __ehfuncinfo$??1?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE@XZ 0086e67c shared:OdbcConnection.obj + 0003:000726a4 __ehfuncinfo$?begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 0086e6a4 shared:OdbcConnection.obj + 0003:000726cc __ehfuncinfo$?end@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@2@XZ 0086e6cc shared:OdbcConnection.obj + 0003:000726f4 __ehfuncinfo$?_Unchecked_begin@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAE?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@U_Iterator_base0@2@@2@XZ 0086e6f4 shared:OdbcConnection.obj + 0003:0007271c __ehfuncinfo$?size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 0086e71c shared:OdbcConnection.obj + 0003:00072744 __ehfuncinfo$?max_size@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QBEIXZ 0086e744 shared:OdbcConnection.obj + 0003:0007276c __ehfuncinfo$?clear@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@QAEXXZ 0086e76c shared:OdbcConnection.obj + 0003:00072794 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ 0086e794 shared:OdbcConnection.obj + 0003:0007279c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEXXZ 0086e79c shared:OdbcConnection.obj + 0003:000727c4 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABU?$less@PAVOdbcCommand@@@2@XZ 0086e7c4 shared:OdbcConnection.obj + 0003:000727ec __ehfuncinfo$?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 0086e7ec shared:OdbcConnection.obj + 0003:00072814 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 0086e814 shared:OdbcConnection.obj + 0003:0007283c __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IAEPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 0086e83c shared:OdbcConnection.obj + 0003:00072864 __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tset_traits@PAVOdbcCommand@@U?$less@PAVOdbcCommand@@@std@@V?$allocator@PAVOdbcCommand@@@3@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@XZ 0086e864 shared:OdbcConnection.obj + 0003:0007288c __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@QAU32@@Z 0086e88c shared:OdbcConnection.obj + 0003:000728b4 __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QAEAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 0086e8b4 shared:OdbcConnection.obj + 0003:000728dc __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@2@XZ 0086e8dc shared:OdbcConnection.obj + 0003:00072904 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@PAVOdbcCommand@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@2@$00@2@$00@std@@QBEABU?$less@PAVOdbcCommand@@@2@XZ 0086e904 shared:OdbcConnection.obj + 0003:0007292c __unwindtable$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z 0086e92c shared:OdbcConnection.obj + 0003:00072934 __ehfuncinfo$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z 0086e934 shared:OdbcConnection.obj + 0003:0007295c __unwindtable$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE?AV01@H@Z 0086e95c shared:OdbcConnection.obj + 0003:00072964 __ehfuncinfo$??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@QAE?AV01@H@Z 0086e964 shared:OdbcConnection.obj + 0003:0007298c __ehfuncinfo$??$_Erase_tree@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@@Z 0086e98c shared:OdbcConnection.obj + 0003:000729b4 __ehfuncinfo$??$_Erase_head@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@QAEXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0086e9b4 shared:OdbcConnection.obj + 0003:000729dc __ehfuncinfo$??$?0U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0086e9dc shared:OdbcConnection.obj + 0003:00072a04 __ehfuncinfo$??$forward@ABQAUOdbcError@@@std@@YAABQAUOdbcError@@ABQAU1@@Z 0086ea04 shared:OdbcConnection.obj + 0003:00072a2c __catchsym$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z$2 0086ea2c shared:OdbcConnection.obj + 0003:00072a3c __unwindtable$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z 0086ea3c shared:OdbcConnection.obj + 0003:00072a4c __tryblocktable$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z 0086ea4c shared:OdbcConnection.obj + 0003:00072a60 __ehfuncinfo$??$_Emplace_reallocate@ABQAUOdbcError@@@?$vector@PAUOdbcError@@V?$allocator@PAUOdbcError@@@std@@@std@@QAEPAPAUOdbcError@@QAPAU2@ABQAU2@@Z 0086ea60 shared:OdbcConnection.obj + 0003:00072a8c __ehfuncinfo$??$?0PAUOdbcError@@@?$allocator@U_Container_proxy@std@@@std@@QAE@ABV?$allocator@PAUOdbcError@@@1@@Z 0086ea8c shared:OdbcConnection.obj + 0003:00072ab4 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@ABV10@@Z 0086eab4 shared:OdbcConnection.obj + 0003:00072adc __ehfuncinfo$??$addressof@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@YAPAV?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@0@AAV10@@Z 0086eadc shared:OdbcConnection.obj + 0003:00072b04 __ehfuncinfo$??$_Freenode@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 0086eb04 shared:OdbcConnection.obj + 0003:00072b2c __ehfuncinfo$??$_Destroy_range@V?$allocator@PAUOdbcError@@@std@@@std@@YAXPAPAUOdbcError@@QAPAU1@AAV?$allocator@PAUOdbcError@@@0@@Z 0086eb2c shared:OdbcConnection.obj + 0003:00072b54 __ehfuncinfo$??$move@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 0086eb54 shared:OdbcConnection.obj + 0003:00072b7c __ehfuncinfo$??$?0V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@1@AB_N@Z 0086eb7c shared:OdbcConnection.obj + 0003:00072ba4 __ehfuncinfo$??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@AAPAU01@$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@PAU12@@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@0@Z 0086eba4 shared:OdbcConnection.obj + 0003:00072bcc __ehfuncinfo$??$_Freenode0@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@?$_Tree_node@PAVOdbcCommand@@PAX@std@@SAXAAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU01@@Z 0086ebcc shared:OdbcConnection.obj + 0003:00072bf4 __ehfuncinfo$??$forward@ABU?$less@PAVOdbcCommand@@@std@@@std@@YAABU?$less@PAVOdbcCommand@@@0@ABU10@@Z 0086ebf4 shared:OdbcConnection.obj + 0003:00072c1c __ehfuncinfo$??$addressof@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAPAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 0086ec1c shared:OdbcConnection.obj + 0003:00072c44 __ehfuncinfo$??$addressof@PAVOdbcCommand@@@std@@YAPAPAVOdbcCommand@@AAPAV1@@Z 0086ec44 shared:OdbcConnection.obj + 0003:00072c6c __ehfuncinfo$?_Extract@?$_In_place_key_extract_set@PAVOdbcCommand@@PAV1@@std@@SAABQAVOdbcCommand@@ABQAV3@@Z 0086ec6c shared:OdbcConnection.obj + 0003:00072c94 __ehfuncinfo$??$?0AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 0086ec94 shared:OdbcConnection.obj + 0003:00072cbc __ehfuncinfo$??$forward@ABQAVOdbcCommand@@@std@@YAABQAVOdbcCommand@@ABQAV1@@Z 0086ecbc shared:OdbcConnection.obj + 0003:00072ce4 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@PAVOdbcCommand@@PAX@2@XZ 0086ece4 shared:OdbcConnection.obj + 0003:00072d0c __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 0086ed0c shared:OdbcConnection.obj + 0003:00072d34 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0086ed34 shared:OdbcConnection.obj + 0003:00072d3c __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@@Z 0086ed3c shared:OdbcConnection.obj + 0003:00072d64 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@XZ 0086ed64 shared:OdbcConnection.obj + 0003:00072d8c __unwindtable$??$?0ABQAVOdbcCommand@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z 0086ed8c shared:OdbcConnection.obj + 0003:00072d94 __ehfuncinfo$??$?0ABQAVOdbcCommand@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@PAVOdbcCommand@@PAX@std@@@1@PAU?$_Tree_node@PAVOdbcCommand@@PAX@1@ABQAVOdbcCommand@@@Z 0086ed94 shared:OdbcConnection.obj + 0003:00072dbc __ehfuncinfo$??$?0PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@1@$$QA_N@Z 0086edbc shared:OdbcConnection.obj + 0003:00072de4 __ehfuncinfo$??$forward@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@PAVOdbcCommand@@@std@@@std@@@0@AAV10@@Z 0086ede4 shared:OdbcConnection.obj + 0003:00072e0c __ehfuncinfo$??$forward@AAPAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YAAAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 0086ee0c shared:OdbcConnection.obj + 0003:00072e34 __ehfuncinfo$??$forward@PAU?$_Tree_node@PAVOdbcCommand@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@PAVOdbcCommand@@PAX@0@AAPAU10@@Z 0086ee34 shared:OdbcConnection.obj + 0003:00072e5c __unwindtable$?Read@OdbcRecordset@@QAEPAD_N@Z 0086ee5c shared:OdbcRecordset.obj + 0003:00072e7c __ehfuncinfo$?Read@OdbcRecordset@@QAEPAD_N@Z 0086ee7c shared:OdbcRecordset.obj + 0003:00072ea8 __ehfuncinfo$??1OdbcRecordset@@UAE@XZ 0086eea8 shared:OdbcRecordset.obj + 0003:00072ed0 __ehfuncinfo$?find@?$_Narrow_char_traits@DH@std@@SAPBDQBDIABD@Z 0086eed0 shared:Ini.obj + 0003:00072ef8 __ehfuncinfo$?eq@?$_Narrow_char_traits@DH@std@@SA_NABD0@Z 0086eef8 shared:Ini.obj + 0003:00072f20 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z 0086ef20 shared:Ini.obj + 0003:00072f30 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@IIABV?$allocator@D@1@@Z 0086ef30 shared:Ini.obj + 0003:00072f5c __ehfuncinfo$?find@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 0086ef5c shared:Ini.obj + 0003:00072f84 __ehfuncinfo$?find_first_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 0086ef84 shared:Ini.obj + 0003:00072fac __ehfuncinfo$?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z 0086efac shared:Ini.obj + 0003:00072fd4 __ehfuncinfo$?get_allocator@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$allocator@D@2@XZ 0086efd4 shared:Ini.obj + 0003:00072ffc __ehfuncinfo$??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z 0086effc shared:Ini.obj + 0003:00073024 __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@QAE@XZ 0086f024 shared:Ini.obj + 0003:0007304c __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@@Z 0086f04c shared:Ini.obj + 0003:00073074 __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 0086f074 shared:Ini.obj + 0003:0007309c __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@2@XZ 0086f09c shared:Ini.obj + 0003:000730c4 __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@QBEIXZ 0086f0c4 shared:Ini.obj + 0003:000730ec __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086f0ec shared:Ini.obj + 0003:000730f4 __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086f0f4 shared:Ini.obj + 0003:0007311c __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f11c shared:Ini.obj + 0003:00073144 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 0086f144 shared:Ini.obj + 0003:0007316c __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@XZ 0086f16c shared:Ini.obj + 0003:00073194 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@QAU32@@Z 0086f194 shared:Ini.obj + 0003:000731bc __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@2@XZ 0086f1bc shared:Ini.obj + 0003:000731e4 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f1e4 shared:Ini.obj + 0003:0007320c __unwindtable$??0CIni@@QAE@PBD@Z 0086f20c shared:Ini.obj + 0003:0007321c __ehfuncinfo$??0CIni@@QAE@PBD@Z 0086f21c shared:Ini.obj + 0003:00073248 __ehfuncinfo$?Load@CIni@@QAE_NPBD@Z 0086f248 shared:Ini.obj + 0003:0007326c __unwindtable$?Load@CIni@@QAE_NPBD@Z 0086f26c shared:Ini.obj + 0003:000732c0 __unwindtable$?Save@CIni@@QAEXPBD@Z 0086f2c0 shared:Ini.obj + 0003:000732e0 __ehfuncinfo$?Save@CIni@@QAEXPBD@Z 0086f2e0 shared:Ini.obj + 0003:0007330c __ehfuncinfo$?GetInt@CIni@@QAEHPBD0H@Z 0086f30c shared:Ini.obj + 0003:00073330 __unwindtable$?GetInt@CIni@@QAEHPBD0H@Z 0086f330 shared:Ini.obj + 0003:0007337c __ehfuncinfo$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0086f37c shared:Ini.obj + 0003:000733a0 __unwindtable$?GetString@CIni@@QAEXPBD00AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z 0086f3a0 shared:Ini.obj + 0003:000733ec __ehfuncinfo$?SetString@CIni@@QAEHPBD00@Z 0086f3ec shared:Ini.obj + 0003:00073410 __unwindtable$?SetString@CIni@@QAEHPBD00@Z 0086f410 shared:Ini.obj + 0003:0007345c __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086f45c shared:Ini.obj + 0003:00073464 __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086f464 shared:Ini.obj + 0003:0007348c __ehfuncinfo$??0?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@QAE@XZ 0086f48c shared:Ini.obj + 0003:000734b4 __ehfuncinfo$?max_size@?$_Default_allocator_traits@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@SAIABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@@Z 0086f4b4 shared:Ini.obj + 0003:000734dc __ehfuncinfo$?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 0086f4dc shared:Ini.obj + 0003:00073504 __ehfuncinfo$?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@2@XZ 0086f504 shared:Ini.obj + 0003:0007352c __ehfuncinfo$?max_size@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QBEIXZ 0086f52c shared:Ini.obj + 0003:00073554 __unwindtable$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086f554 shared:Ini.obj + 0003:0007355c __ehfuncinfo$?_Alloc_sentinel_and_proxy@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEXXZ 0086f55c shared:Ini.obj + 0003:00073584 __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f584 shared:Ini.obj + 0003:000735ac __ehfuncinfo$?_Getcomp@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f5ac shared:Ini.obj + 0003:000735d4 __ehfuncinfo$?_Getal@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 0086f5d4 shared:Ini.obj + 0003:000735fc __ehfuncinfo$?_Get_scary@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@IBEPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@XZ 0086f5fc shared:Ini.obj + 0003:00073624 __ehfuncinfo$?_Insert_node@?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@U?$_Tree_id@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@QAU32@@Z 0086f624 shared:Ini.obj + 0003:0007364c __ehfuncinfo$?_Get_first@?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@std@@QBEABV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@2@XZ 0086f64c shared:Ini.obj + 0003:00073674 __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QAEAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f674 shared:Ini.obj + 0003:0007369c __ehfuncinfo$?_Get_first@?$_Compressed_pair@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@V?$_Compressed_pair@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@2@$00@2@$00@std@@QBEABU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@XZ 0086f69c shared:Ini.obj + 0003:000736c4 __unwindtable$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0086f6c4 shared:Ini.obj + 0003:000736cc __ehfuncinfo$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0086f6cc shared:Ini.obj + 0003:000736f4 __unwindtable$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086f6f4 shared:Ini.obj + 0003:000736fc __ehfuncinfo$??E?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@QAE?AV01@H@Z 0086f6fc shared:Ini.obj + 0003:00073724 __unwindtable$??$?0PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0086f724 shared:Ini.obj + 0003:0007372c __ehfuncinfo$??$?0PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@$0A@@?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0086f72c shared:Ini.obj + 0003:00073754 __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@2@AAU32@@Z 0086f754 shared:Ini.obj + 0003:0007377c __ehfuncinfo$?pointer_to@?$pointer_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@2@AAU32@@Z 0086f77c shared:Ini.obj + 0003:000737a4 __ehfuncinfo$??$_Traits_rfind_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 0086f7a4 shared:Ini.obj + 0003:000737cc __ehfuncinfo$??$_Traits_find_ch@U?$char_traits@D@std@@@std@@YAIQBDIID@Z 0086f7cc shared:Ini.obj + 0003:000737f4 __ehfuncinfo$??$move@AAV?$basic_istream@DU?$char_traits@D@std@@@std@@@std@@YA$$QAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@@Z 0086f7f4 shared:Ini.obj + 0003:0007381c __catchsym$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z$3 0086f81c shared:Ini.obj + 0003:0007382c __tryblocktable$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z 0086f82c shared:Ini.obj + 0003:00073840 __unwindtable$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z 0086f840 shared:Ini.obj + 0003:00073858 __ehfuncinfo$??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@$$QAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@D@Z 0086f858 shared:Ini.obj + 0003:00073888 __ehfuncinfo$??$forward@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 0086f888 shared:Ini.obj + 0003:000738b0 __unwindtable$??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z 0086f8b0 shared:Ini.obj + 0003:000738b8 __ehfuncinfo$??$?0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@$0A@@?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@1@@Z 0086f8b8 shared:Ini.obj + 0003:000738e0 __ehfuncinfo$??$forward@U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@YA$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@0@AAU10@@Z 0086f8e0 shared:Ini.obj + 0003:00073908 __ehfuncinfo$??$forward@AAPBD@std@@YAAAPBDAAPBD@Z 0086f908 shared:Ini.obj + 0003:00073930 __ehfuncinfo$??$forward@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@std@@YA$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@0@AAU10@@Z 0086f930 shared:Ini.obj + 0003:00073958 __ehfuncinfo$??$?0ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 0086f958 shared:Ini.obj + 0003:00073980 __ehfuncinfo$??$forward@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@@Z 0086f980 shared:Ini.obj + 0003:000739a8 __ehfuncinfo$??$forward_as_tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 0086f9a8 shared:Ini.obj + 0003:000739d0 __ehfuncinfo$??0?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 0086f9d0 shared:Ini.obj + 0003:000739f8 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@2@XZ 0086f9f8 shared:Ini.obj + 0003:00073a20 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086fa20 shared:Ini.obj + 0003:00073a48 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 0086fa48 shared:Ini.obj + 0003:00073a50 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@@Z 0086fa50 shared:Ini.obj + 0003:00073a78 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086fa78 shared:Ini.obj + 0003:00073aa0 __unwindtable$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0086faa0 shared:Ini.obj + 0003:00073aa8 __ehfuncinfo$??$?0ABUpiecewise_construct_t@std@@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0086faa8 shared:Ini.obj + 0003:00073ad0 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@$$QA_N@Z 0086fad0 shared:Ini.obj + 0003:00073af8 __ehfuncinfo$??$forward_as_tuple@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA?AV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z 0086faf8 shared:Ini.obj + 0003:00073b20 __ehfuncinfo$??0?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV01@@Z 0086fb20 shared:Ini.obj + 0003:00073b48 __unwindtable$??$?0ABUpiecewise_construct_t@std@@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0086fb48 shared:Ini.obj + 0003:00073b50 __ehfuncinfo$??$?0ABUpiecewise_construct_t@std@@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@V?$tuple@$$V@1@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@1@ABUpiecewise_construct_t@1@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@$$QAV?$tuple@$$V@1@@Z 0086fb50 shared:Ini.obj + 0003:00073b78 __ehfuncinfo$??$_Get_size_of_n@$0EI@@std@@YAII@Z 0086fb78 shared:Ini.obj + 0003:00073ba0 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@0@ABV10@@Z 0086fba0 shared:Ini.obj + 0003:00073bc8 __ehfuncinfo$??$_Get_size_of_n@$0DI@@std@@YAII@Z 0086fbc8 shared:Ini.obj + 0003:00073bf0 __ehfuncinfo$??$addressof@$$CBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@YAPBV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@0@ABV10@@Z 0086fbf0 shared:Ini.obj + 0003:00073c18 __ehfuncinfo$??$?0V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@AB_N$0A@@?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@_N@std@@QAE@$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@1@AB_N@Z 0086fc18 shared:Ini.obj + 0003:00073c40 __unwindtable$??$_Emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0086fc40 shared:Ini.obj + 0003:00073c48 __ehfuncinfo$??$_Emplace@U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 0086fc48 shared:Ini.obj + 0003:00073c70 __ehfuncinfo$??$forward@ABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAABQAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@ABQAU10@@Z 0086fc70 shared:Ini.obj + 0003:00073c98 __ehfuncinfo$??$?0ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$0A@@?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0086fc98 shared:Ini.obj + 0003:00073cc0 __ehfuncinfo$??$forward@V?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0086fcc0 shared:Ini.obj + 0003:00073ce8 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 0086fce8 shared:Ini.obj + 0003:00073d10 __ehfuncinfo$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$V$0A@@?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@QAE@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z 0086fd10 shared:Ini.obj + 0003:00073d38 __ehfuncinfo$??$forward@V?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 0086fd38 shared:Ini.obj + 0003:00073d60 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 0086fd60 shared:Ini.obj + 0003:00073d88 __ehfuncinfo$??$forward@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YAAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 0086fd88 shared:Ini.obj + 0003:00073db0 __ehfuncinfo$??$move@AAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@YA$$QAV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@0@AAV10@@Z 0086fdb0 shared:Ini.obj + 0003:00073dd8 __ehfuncinfo$??$move@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 0086fdd8 shared:Ini.obj + 0003:00073e00 __ehfuncinfo$??$_Swap_adl@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 0086fe00 shared:Ini.obj + 0003:00073e28 __ehfuncinfo$??$swap@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@X@std@@YAXAAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@0@Z 0086fe28 shared:Ini.obj + 0003:00073e50 __ehfuncinfo$??$_Swap_adl@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 0086fe50 shared:Ini.obj + 0003:00073e78 __ehfuncinfo$??$swap@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@X@std@@YAXAAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@0@Z 0086fe78 shared:Ini.obj + 0003:00073ea0 __ehfuncinfo$??$swap@IX@std@@YAXAAI0@Z 0086fea0 shared:Ini.obj + 0003:00073ec8 __ehfuncinfo$??$?0AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 0086fec8 shared:Ini.obj + 0003:00073ef0 __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@2@XZ 0086fef0 shared:Ini.obj + 0003:00073f18 __ehfuncinfo$??1?$_Alloc_construct_ptr@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086ff18 shared:Ini.obj + 0003:00073f40 __unwindtable$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 0086ff40 shared:Ini.obj + 0003:00073f48 __ehfuncinfo$??0?$_Tree_temp_node_alloc@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@@Z 0086ff48 shared:Ini.obj + 0003:00073f70 __ehfuncinfo$??1?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@XZ 0086ff70 shared:Ini.obj + 0003:00073f98 __unwindtable$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0086ff98 shared:Ini.obj + 0003:00073fa0 __ehfuncinfo$??$?0U?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@1@@Z 0086ffa0 shared:Ini.obj + 0003:00073fc8 __ehfuncinfo$??$?0PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N$0A@@?$pair@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@_N@std@@QAE@$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QA_N@Z 0086ffc8 shared:Ini.obj + 0003:00073ff0 __ehfuncinfo$??$forward@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@std@@@std@@YA$$QAV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@@std@@@std@@@0@AAV10@@Z 0086fff0 shared:Ini.obj + 0003:00074018 __unwindtable$??$?0U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 00870018 shared:Ini.obj + 0003:00074020 __ehfuncinfo$??$?0U?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@std@@@?$_Tree_temp_node@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@@std@@QAE@AAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@1@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@1@$$QAU?$pair@PBDV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@1@@Z 00870020 shared:Ini.obj + 0003:00074048 __ehfuncinfo$??$forward@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 00870048 shared:Ini.obj + 0003:00074070 __ehfuncinfo$??$forward@V?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@@std@@YA$$QAV?$allocator@U?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@0@AAV10@@Z 00870070 shared:Ini.obj + 0003:00074098 __ehfuncinfo$??$move@AAI@std@@YA$$QAIAAI@Z 00870098 shared:Ini.obj + 0003:000740c0 __ehfuncinfo$??$move@AAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAU?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAU10@@Z 008700c0 shared:Ini.obj + 0003:000740e8 __ehfuncinfo$??$move@AAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@PAX@0@AAPAU10@@Z 008700e8 shared:Ini.obj + 0003:00074110 __ehfuncinfo$??$forward@PAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@std@@@std@@YA$$QAPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@2@@std@@PAX@0@AAPAU10@@Z 00870110 shared:Ini.obj + 0003:00074138 __ehfuncinfo$??$move@AAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 00870138 shared:Ini.obj + 0003:00074160 __ehfuncinfo$??$get@$0A@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YAABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 00870160 shared:Ini.obj + 0003:00074188 __ehfuncinfo$??$move@AAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@YA$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@AAV10@@Z 00870188 shared:Ini.obj + 0003:000741b0 __ehfuncinfo$??$get@$0A@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV?$tuple@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@0@@Z 008701b0 shared:Ini.obj + 0003:000741d8 __ehfuncinfo$??$forward@PBD@std@@YA$$QAPBDAAPBD@Z 008701d8 shared:Ini.obj + 0003:00074200 __ehfuncinfo$??$forward@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z 00870200 shared:Ini.obj + 0003:00074228 __ehfuncinfo$??1CircularBuffer@@QAE@XZ 00870228 shared:CircularBuffer.obj + 0003:00074250 __ehfuncinfo$?_Check_memory_order@std@@YAXW4memory_order@1@@Z 00870250 shared:SocketWin32.obj + 0003:00074278 __ehfuncinfo$?compare_exchange_strong@?$_Atomic_storage@_N$00@std@@QAE_NAA_N_NW4memory_order@2@@Z 00870278 shared:SocketWin32.obj + 0003:000742a0 __unwindtable$?WriteCallback@Socket@@QAEXXZ 008702a0 shared:SocketWin32.obj + 0003:000742a8 __ehfuncinfo$?WriteCallback@Socket@@QAEXXZ 008702a8 shared:SocketWin32.obj + 0003:000742d0 __unwindtable$?SetupReadEvent@Socket@@QAEXXZ 008702d0 shared:SocketWin32.obj + 0003:000742d8 __ehfuncinfo$?SetupReadEvent@Socket@@QAEXXZ 008702d8 shared:SocketWin32.obj + 0003:00074534 __ehfuncinfo$??_EGlobalCore@details@Concurrency@@QAEPAXI@Z 00870534 libcpmtd:mutex.obj + 0003:0007455c __ehfuncinfo$?generic_category@std@@YAABVerror_category@1@XZ 0087055c libcpmtd:thread0.obj + 0003:00074584 __unwindtable$??0system_error@std@@QAE@HABVerror_category@1@PBD@Z 00870584 libcpmtd:thread0.obj + 0003:0007458c __ehfuncinfo$??0system_error@std@@QAE@HABVerror_category@1@PBD@Z 0087058c libcpmtd:thread0.obj + 0003:000745e0 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 008705e0 libcpmtd:xonce.obj + 0003:000745f0 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z 008705f0 libcpmtd:xonce.obj + 0003:0007461c __ehfuncinfo$?system_category@std@@YAABVerror_category@1@XZ 0087061c libcpmtd:xonce.obj + 0003:00074644 __unwindtable$??0system_error@std@@QAE@Verror_code@1@@Z 00870644 libcpmtd:xonce.obj + 0003:0007464c __ehfuncinfo$??0system_error@std@@QAE@Verror_code@1@@Z 0087064c libcpmtd:xonce.obj + 0003:00074674 __unwindtable$?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 00870674 libcpmtd:xonce.obj + 0003:0007467c __ehfuncinfo$?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z 0087067c libcpmtd:xonce.obj + 0003:000746a4 __ehfuncinfo$?default_error_condition@_System_error_category@std@@UBE?AVerror_condition@2@H@Z 008706a4 libcpmtd:xonce.obj + 0003:000746cc __ehfuncinfo$??$?0PA_WU?$default_delete@$$BY0A@_W@std@@$0A@X@?$unique_ptr@$$BY0A@_WU?$default_delete@$$BY0A@_W@std@@@std@@QAE@PA_W@Z 008706cc libcpmtd:syserror.obj + 0003:000746f4 __unwindtable$?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z 008706f4 libcpmtd:locale0.obj + 0003:000746fc __ehfuncinfo$?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z 008706fc libcpmtd:locale0.obj + 0003:00074724 __ehfuncinfo$??1_Locimp@locale@std@@MAE@XZ 00870724 libcpmtd:locale0.obj + 0003:0007474c __unwindtable$?_New_Locimp@_Locimp@locale@std@@CAPAV123@_N@Z 0087074c libcpmtd:locale0.obj + 0003:00074754 __ehfuncinfo$?_New_Locimp@_Locimp@locale@std@@CAPAV123@_N@Z 00870754 libcpmtd:locale0.obj + 0003:0007477c __unwindtable$?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z 0087077c libcpmtd:locale0.obj + 0003:00074784 __ehfuncinfo$?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z 00870784 libcpmtd:locale0.obj + 0003:000747ac __unwindtable$??0_Locimp@locale@std@@AAE@_N@Z 008707ac libcpmtd:locale0.obj + 0003:000747b4 __ehfuncinfo$??0_Locimp@locale@std@@AAE@_N@Z 008707b4 libcpmtd:locale0.obj + 0003:000747dc __unwindtable$??0_Locimp@locale@std@@AAE@ABV012@@Z 008707dc libcpmtd:locale0.obj + 0003:000747ec __ehfuncinfo$??0_Locimp@locale@std@@AAE@ABV012@@Z 008707ec libcpmtd:locale0.obj + 0003:00074818 __unwindtable$?_Init@locale@std@@CAPAV_Locimp@12@_N@Z 00870818 libcpmtd:locale0.obj + 0003:00074820 __ehfuncinfo$?_Init@locale@std@@CAPAV_Locimp@12@_N@Z 00870820 libcpmtd:locale0.obj + 0003:00074848 __ehfuncinfo$?_Tidy@ios_base@std@@AAEXXZ 00870848 libcpmtd:ios.obj + 0003:00074870 __unwindtable$?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z 00870870 libcpmtd:locale.obj + 0003:00074878 __ehfuncinfo$?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z 00870878 libcpmtd:locale.obj + 0003:000748a0 __unwindtable$?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z 008708a0 libcpmtd:locale.obj + 0003:000748b0 __ehfuncinfo$?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z 008708b0 libcpmtd:locale.obj + 0003:000748dc __ehfuncinfo$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z 008708dc libcpmtd:locale.obj + 0003:00074900 __unwindtable$?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z 00870900 libcpmtd:locale.obj + 0003:00074930 __unwindtable$?global@locale@std@@SA?AV12@ABV12@@Z 00870930 libcpmtd:locale.obj + 0003:00074940 __ehfuncinfo$?global@locale@std@@SA?AV12@ABV12@@Z 00870940 libcpmtd:locale.obj + 0003:0007496c __unwindtable$?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087096c libcpmtd:locale.obj + 0003:00074984 __ehfuncinfo$?_Getcat@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00870984 libcpmtd:locale.obj + 0003:000749b0 __unwindtable$??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008709b0 libcpmtd:locale.obj + 0003:000749b8 __ehfuncinfo$??0?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008709b8 libcpmtd:locale.obj + 0003:000749e0 __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 008709e0 libcpmtd:locale.obj + 0003:00074a04 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 00870a04 libcpmtd:locale.obj + 0003:00074a34 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 00870a34 libcpmtd:locale.obj + 0003:00074a3c __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 00870a3c libcpmtd:locale.obj + 0003:00074a64 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00870a64 libcpmtd:locale.obj + 0003:00074a6c __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00870a6c libcpmtd:locale.obj + 0003:00074a94 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00870a94 libcpmtd:locale.obj + 0003:00074a9c __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00870a9c libcpmtd:locale.obj + 0003:00074ac4 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 00870ac4 libcpmtd:locale.obj + 0003:00074acc __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 00870acc libcpmtd:locale.obj + 0003:00074af4 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 00870af4 libcpmtd:locale.obj + 0003:00074afc __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 00870afc libcpmtd:locale.obj + 0003:00074b24 __unwindtable$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 00870b24 libcpmtd:locale.obj + 0003:00074b2c __ehfuncinfo$?do_get@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 00870b2c libcpmtd:locale.obj + 0003:00074b54 __unwindtable$?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z 00870b54 libcpmtd:locale.obj + 0003:00074b64 __ehfuncinfo$?_Getifld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1HABVlocale@2@@Z 00870b64 libcpmtd:locale.obj + 0003:00074b90 __unwindtable$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 00870b90 libcpmtd:locale.obj + 0003:00074bb0 __ehfuncinfo$?_Getffld@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 00870bb0 libcpmtd:locale.obj + 0003:00074bdc __unwindtable$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 00870bdc libcpmtd:locale.obj + 0003:00074bfc __ehfuncinfo$?_Getffldx@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@1AAVios_base@2@PAH@Z 00870bfc libcpmtd:locale.obj + 0003:00074c28 __unwindtable$??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00870c28 libcpmtd:locale.obj + 0003:00074c38 __ehfuncinfo$??$use_facet@V?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00870c38 libcpmtd:locale.obj + 0003:00074c64 __unwindtable$?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00870c64 libcpmtd:locale.obj + 0003:00074c7c __ehfuncinfo$?_Getcat@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00870c7c libcpmtd:locale.obj + 0003:00074ca8 __unwindtable$??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00870ca8 libcpmtd:locale.obj + 0003:00074cb0 __ehfuncinfo$??0?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00870cb0 libcpmtd:locale.obj + 0003:00074cd8 __unwindtable$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z 00870cd8 libcpmtd:locale.obj + 0003:00074ce8 __ehfuncinfo$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_N@Z 00870ce8 libcpmtd:locale.obj + 0003:00074d14 __unwindtable$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z 00870d14 libcpmtd:locale.obj + 0003:00074d1c __ehfuncinfo$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DN@Z 00870d1c libcpmtd:locale.obj + 0003:00074d44 __unwindtable$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z 00870d44 libcpmtd:locale.obj + 0003:00074d4c __ehfuncinfo$?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DO@Z 00870d4c libcpmtd:locale.obj + 0003:00074d74 __unwindtable$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z 00870d74 libcpmtd:locale.obj + 0003:00074d94 __ehfuncinfo$?_Fput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBDI@Z 00870d94 libcpmtd:locale.obj + 0003:00074dc0 __unwindtable$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z 00870dc0 libcpmtd:locale.obj + 0003:00074de0 __ehfuncinfo$?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z 00870de0 libcpmtd:locale.obj + 0003:00074e0c __unwindtable$??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00870e0c libcpmtd:locale.obj + 0003:00074e1c __ehfuncinfo$??$use_facet@V?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00870e1c libcpmtd:locale.obj + 0003:00074e48 __unwindtable$??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z 00870e48 libcpmtd:locale.obj + 0003:00074e50 __ehfuncinfo$??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z 00870e50 libcpmtd:locale.obj + 0003:00074e78 __unwindtable$?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00870e78 libcpmtd:locale.obj + 0003:00074e90 __ehfuncinfo$?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00870e90 libcpmtd:locale.obj + 0003:00074ebc __unwindtable$?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 00870ebc libcpmtd:locale.obj + 0003:00074ec4 __ehfuncinfo$?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 00870ec4 libcpmtd:locale.obj + 0003:00074eec __unwindtable$??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z 00870eec libcpmtd:locale.obj + 0003:00074efc __ehfuncinfo$??$use_facet@V?$numpunct@D@std@@@std@@YAABV?$numpunct@D@0@ABVlocale@0@@Z 00870efc libcpmtd:locale.obj + 0003:00074f28 __unwindtable$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 00870f28 libcpmtd:locale.obj + 0003:00074f30 __ehfuncinfo$??$_Getloctxt@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@0@0IPBD@Z 00870f30 libcpmtd:locale.obj + 0003:00074f58 __ehfuncinfo$??1_Init_atexit@@QAE@XZ 00870f58 libcpmtd:iosptrs.obj + 0003:00074f80 __unwindtable$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z 00870f80 libcpmtd:wlocale.obj + 0003:00074f90 __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z 00870f90 libcpmtd:wlocale.obj + 0003:00074fbc __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 00870fbc libcpmtd:wlocale.obj + 0003:00074fe4 __unwindtable$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z 00870fe4 libcpmtd:wlocale.obj + 0003:00074ff4 __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_WI@Z 00870ff4 libcpmtd:wlocale.obj + 0003:00075020 __unwindtable$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z 00871020 libcpmtd:wlocale.obj + 0003:00075030 __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@QB_W@Z 00871030 libcpmtd:wlocale.obj + 0003:0007505c __unwindtable$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z 0087105c libcpmtd:wlocale.obj + 0003:0007506c __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@I_W@Z 0087106c libcpmtd:wlocale.obj + 0003:00075098 __ehfuncinfo$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@$$QAV01@@Z 00871098 libcpmtd:wlocale.obj + 0003:000750c0 __ehfuncinfo$?_Take_contents@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 008710c0 libcpmtd:wlocale.obj + 0003:000750e8 __ehfuncinfo$??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ 008710e8 libcpmtd:wlocale.obj + 0003:00075110 __ehfuncinfo$?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 00871110 libcpmtd:wlocale.obj + 0003:00075138 __ehfuncinfo$?end@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ 00871138 libcpmtd:wlocale.obj + 0003:00075160 __ehfuncinfo$?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ 00871160 libcpmtd:wlocale.obj + 0003:00075188 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAEXXZ 00871188 libcpmtd:wlocale.obj + 0003:000751b0 __ehfuncinfo$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 008711b0 libcpmtd:wlocale.obj + 0003:000751d4 __unwindtable$?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 008711d4 libcpmtd:wlocale.obj + 0003:0007524c __ehfuncinfo$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 0087124c libcpmtd:wlocale.obj + 0003:00075270 __unwindtable$?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 00871270 libcpmtd:wlocale.obj + 0003:000752e8 __unwindtable$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 008712e8 libcpmtd:wlocale.obj + 0003:000752f0 __ehfuncinfo$?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ 008712f0 libcpmtd:wlocale.obj + 0003:00075318 __unwindtable$??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00871318 libcpmtd:wlocale.obj + 0003:00075320 __ehfuncinfo$??0?$codecvt@_WDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00871320 libcpmtd:wlocale.obj + 0003:00075348 __unwindtable$?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871348 libcpmtd:wlocale.obj + 0003:00075360 __ehfuncinfo$?_Getcat@?$codecvt@_WDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871360 libcpmtd:wlocale.obj + 0003:0007538c __unwindtable$??0?$codecvt@GDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 0087138c libcpmtd:wlocale.obj + 0003:00075394 __ehfuncinfo$??0?$codecvt@GDU_Mbstatet@@@std@@QAE@ABV_Locinfo@1@I@Z 00871394 libcpmtd:wlocale.obj + 0003:000753bc __unwindtable$?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008713bc libcpmtd:wlocale.obj + 0003:000753d4 __ehfuncinfo$?_Getcat@?$codecvt@GDU_Mbstatet@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008713d4 libcpmtd:wlocale.obj + 0003:00075400 __unwindtable$??0?$ctype@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871400 libcpmtd:wlocale.obj + 0003:00075408 __ehfuncinfo$??0?$ctype@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871408 libcpmtd:wlocale.obj + 0003:00075430 __unwindtable$?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871430 libcpmtd:wlocale.obj + 0003:00075448 __ehfuncinfo$?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871448 libcpmtd:wlocale.obj + 0003:00075474 __unwindtable$??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z 00871474 libcpmtd:wlocale.obj + 0003:0007547c __ehfuncinfo$??0?$ctype@G@std@@QAE@ABV_Locinfo@1@I@Z 0087147c libcpmtd:wlocale.obj + 0003:000754a4 __unwindtable$?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008714a4 libcpmtd:wlocale.obj + 0003:000754bc __ehfuncinfo$?_Getcat@?$ctype@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008714bc libcpmtd:wlocale.obj + 0003:000754e8 __unwindtable$??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008714e8 libcpmtd:wlocale.obj + 0003:000754f8 __ehfuncinfo$??0?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008714f8 libcpmtd:wlocale.obj + 0003:00075524 __unwindtable$?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871524 libcpmtd:wlocale.obj + 0003:0007553c __ehfuncinfo$?_Getcat@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087153c libcpmtd:wlocale.obj + 0003:00075568 __unwindtable$?_Init@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00871568 libcpmtd:wlocale.obj + 0003:00075570 __ehfuncinfo$?_Init@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00871570 libcpmtd:wlocale.obj + 0003:00075598 __unwindtable$?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z 00871598 libcpmtd:wlocale.obj + 0003:000755a8 __ehfuncinfo$?do_put@?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBUtm@@DD@Z 008715a8 libcpmtd:wlocale.obj + 0003:000755d4 __unwindtable$??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z 008715d4 libcpmtd:wlocale.obj + 0003:000755e4 __ehfuncinfo$??$use_facet@V?$ctype@_W@std@@@std@@YAABV?$ctype@_W@0@ABVlocale@0@@Z 008715e4 libcpmtd:wlocale.obj + 0003:00075610 __unwindtable$?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871610 libcpmtd:wlocale.obj + 0003:00075628 __ehfuncinfo$?_Getcat@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871628 libcpmtd:wlocale.obj + 0003:00075654 __unwindtable$??0?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871654 libcpmtd:wlocale.obj + 0003:0007565c __ehfuncinfo$??0?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087165c libcpmtd:wlocale.obj + 0003:00075684 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 00871684 libcpmtd:wlocale.obj + 0003:000756a8 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 008716a8 libcpmtd:wlocale.obj + 0003:000756d8 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 008716d8 libcpmtd:wlocale.obj + 0003:000756e0 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 008716e0 libcpmtd:wlocale.obj + 0003:00075708 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00871708 libcpmtd:wlocale.obj + 0003:00075710 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00871710 libcpmtd:wlocale.obj + 0003:00075738 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00871738 libcpmtd:wlocale.obj + 0003:00075740 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00871740 libcpmtd:wlocale.obj + 0003:00075768 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 00871768 libcpmtd:wlocale.obj + 0003:00075770 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 00871770 libcpmtd:wlocale.obj + 0003:00075798 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 00871798 libcpmtd:wlocale.obj + 0003:000757a0 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 008717a0 libcpmtd:wlocale.obj + 0003:000757c8 __unwindtable$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 008717c8 libcpmtd:wlocale.obj + 0003:000757d0 __ehfuncinfo$?do_get@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 008717d0 libcpmtd:wlocale.obj + 0003:000757f8 __unwindtable$?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z 008717f8 libcpmtd:wlocale.obj + 0003:00075808 __ehfuncinfo$?_Getifld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1HABVlocale@2@@Z 00871808 libcpmtd:wlocale.obj + 0003:00075834 __unwindtable$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 00871834 libcpmtd:wlocale.obj + 0003:00075854 __ehfuncinfo$?_Getffld@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 00871854 libcpmtd:wlocale.obj + 0003:00075880 __unwindtable$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 00871880 libcpmtd:wlocale.obj + 0003:000758a0 __ehfuncinfo$?_Getffldx@?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@1AAVios_base@2@PAH@Z 008718a0 libcpmtd:wlocale.obj + 0003:000758cc __unwindtable$??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 008718cc libcpmtd:wlocale.obj + 0003:000758dc __ehfuncinfo$??$use_facet@V?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 008718dc libcpmtd:wlocale.obj + 0003:00075908 __unwindtable$?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871908 libcpmtd:wlocale.obj + 0003:00075920 __ehfuncinfo$?_Getcat@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871920 libcpmtd:wlocale.obj + 0003:0007594c __unwindtable$??0?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087194c libcpmtd:wlocale.obj + 0003:00075954 __ehfuncinfo$??0?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871954 libcpmtd:wlocale.obj + 0003:0007597c __unwindtable$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z 0087197c libcpmtd:wlocale.obj + 0003:0007598c __ehfuncinfo$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_W_N@Z 0087198c libcpmtd:wlocale.obj + 0003:000759b8 __unwindtable$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WN@Z 008719b8 libcpmtd:wlocale.obj + 0003:000759c0 __ehfuncinfo$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WN@Z 008719c0 libcpmtd:wlocale.obj + 0003:000759e8 __unwindtable$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WO@Z 008719e8 libcpmtd:wlocale.obj + 0003:000759f0 __ehfuncinfo$?do_put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WO@Z 008719f0 libcpmtd:wlocale.obj + 0003:00075a18 __unwindtable$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z 00871a18 libcpmtd:wlocale.obj + 0003:00075a38 __ehfuncinfo$?_Fput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPBDI@Z 00871a38 libcpmtd:wlocale.obj + 0003:00075a64 __unwindtable$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z 00871a64 libcpmtd:wlocale.obj + 0003:00075a84 __ehfuncinfo$?_Iput@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WPADI@Z 00871a84 libcpmtd:wlocale.obj + 0003:00075ab0 __unwindtable$??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00871ab0 libcpmtd:wlocale.obj + 0003:00075ac0 __ehfuncinfo$??$use_facet@V?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00871ac0 libcpmtd:wlocale.obj + 0003:00075aec __unwindtable$??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z 00871aec libcpmtd:wlocale.obj + 0003:00075af4 __ehfuncinfo$??0?$numpunct@_W@std@@QAE@ABV_Locinfo@1@I_N@Z 00871af4 libcpmtd:wlocale.obj + 0003:00075b1c __unwindtable$?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871b1c libcpmtd:wlocale.obj + 0003:00075b34 __ehfuncinfo$?_Getcat@?$numpunct@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871b34 libcpmtd:wlocale.obj + 0003:00075b60 __unwindtable$?_Init@?$numpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 00871b60 libcpmtd:wlocale.obj + 0003:00075b68 __ehfuncinfo$?_Init@?$numpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 00871b68 libcpmtd:wlocale.obj + 0003:00075b90 __unwindtable$??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z 00871b90 libcpmtd:wlocale.obj + 0003:00075ba0 __ehfuncinfo$??$use_facet@V?$numpunct@_W@std@@@std@@YAABV?$numpunct@_W@0@ABVlocale@0@@Z 00871ba0 libcpmtd:wlocale.obj + 0003:00075bcc __unwindtable$??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871bcc libcpmtd:wlocale.obj + 0003:00075bd4 __ehfuncinfo$??0?$collate@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871bd4 libcpmtd:wlocale.obj + 0003:00075bfc __ehfuncinfo$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871bfc libcpmtd:wlocale.obj + 0003:00075c20 __unwindtable$?_Getcat@?$collate@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871c20 libcpmtd:wlocale.obj + 0003:00075c50 __unwindtable$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z 00871c50 libcpmtd:wlocale.obj + 0003:00075c68 __ehfuncinfo$?do_transform@?$collate@_W@std@@MBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PB_W0@Z 00871c68 libcpmtd:wlocale.obj + 0003:00075c94 __unwindtable$??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z 00871c94 libcpmtd:wlocale.obj + 0003:00075ca4 __ehfuncinfo$??$use_facet@V?$collate@_W@std@@@std@@YAABV?$collate@_W@0@ABVlocale@0@@Z 00871ca4 libcpmtd:wlocale.obj + 0003:00075cd0 __unwindtable$??0?$messages@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871cd0 libcpmtd:wlocale.obj + 0003:00075cd8 __ehfuncinfo$??0?$messages@_W@std@@QAE@ABV_Locinfo@1@I@Z 00871cd8 libcpmtd:wlocale.obj + 0003:00075d00 __unwindtable$?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871d00 libcpmtd:wlocale.obj + 0003:00075d18 __ehfuncinfo$?_Getcat@?$messages@_W@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871d18 libcpmtd:wlocale.obj + 0003:00075d44 __unwindtable$??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z 00871d44 libcpmtd:wlocale.obj + 0003:00075d54 __ehfuncinfo$??$use_facet@V?$messages@_W@std@@@std@@YAABV?$messages@_W@0@ABVlocale@0@@Z 00871d54 libcpmtd:wlocale.obj + 0003:00075d80 __unwindtable$??0?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871d80 libcpmtd:wlocale.obj + 0003:00075d88 __ehfuncinfo$??0?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871d88 libcpmtd:wlocale.obj + 0003:00075db0 __unwindtable$?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871db0 libcpmtd:wlocale.obj + 0003:00075dc8 __ehfuncinfo$?_Getcat@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871dc8 libcpmtd:wlocale.obj + 0003:00075df4 __unwindtable$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00871df4 libcpmtd:wlocale.obj + 0003:00075dfc __ehfuncinfo$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00871dfc libcpmtd:wlocale.obj + 0003:00075e24 __unwindtable$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 00871e24 libcpmtd:wlocale.obj + 0003:00075e2c __ehfuncinfo$?do_get@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 00871e2c libcpmtd:wlocale.obj + 0003:00075e54 __ehfuncinfo$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z 00871e54 libcpmtd:wlocale.obj + 0003:00075e78 __unwindtable$?_Getmfld@?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@0_NAAVios_base@2@AAY0M@_W@Z 00871e78 libcpmtd:wlocale.obj + 0003:00075f24 __unwindtable$??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00871f24 libcpmtd:wlocale.obj + 0003:00075f34 __ehfuncinfo$??$use_facet@V?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00871f34 libcpmtd:wlocale.obj + 0003:00075f60 __unwindtable$??0?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871f60 libcpmtd:wlocale.obj + 0003:00075f68 __ehfuncinfo$??0?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00871f68 libcpmtd:wlocale.obj + 0003:00075f90 __unwindtable$?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871f90 libcpmtd:wlocale.obj + 0003:00075fa8 __ehfuncinfo$?_Getcat@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00871fa8 libcpmtd:wlocale.obj + 0003:00075fd4 __unwindtable$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z 00871fd4 libcpmtd:wlocale.obj + 0003:00075fe4 __ehfuncinfo$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WO@Z 00871fe4 libcpmtd:wlocale.obj + 0003:00076010 __unwindtable$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 00872010 libcpmtd:wlocale.obj + 0003:00076020 __ehfuncinfo$?do_put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_WABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z 00872020 libcpmtd:wlocale.obj + 0003:0007604c __ehfuncinfo$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z 0087204c libcpmtd:wlocale.obj + 0003:00076070 __unwindtable$?_Putmfld@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@_NAAVios_base@2@_W1V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@3@Z 00872070 libcpmtd:wlocale.obj + 0003:000760f8 __unwindtable$?_Put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@I@Z 008720f8 libcpmtd:wlocale.obj + 0003:00076100 __ehfuncinfo$?_Put@?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@I@Z 00872100 libcpmtd:wlocale.obj + 0003:00076128 __unwindtable$??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00872128 libcpmtd:wlocale.obj + 0003:00076138 __ehfuncinfo$??$use_facet@V?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$money_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00872138 libcpmtd:wlocale.obj + 0003:00076164 __unwindtable$??0?$_Mpunct@_W@std@@QAE@ABV_Locinfo@1@I_N1@Z 00872164 libcpmtd:wlocale.obj + 0003:0007616c __ehfuncinfo$??0?$_Mpunct@_W@std@@QAE@ABV_Locinfo@1@I_N1@Z 0087216c libcpmtd:wlocale.obj + 0003:00076194 __unwindtable$?_Init@?$_Mpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 00872194 libcpmtd:wlocale.obj + 0003:0007619c __ehfuncinfo$?_Init@?$_Mpunct@_W@std@@IAEXABV_Locinfo@2@_N@Z 0087219c libcpmtd:wlocale.obj + 0003:000761c4 __unwindtable$?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008721c4 libcpmtd:wlocale.obj + 0003:000761dc __ehfuncinfo$?_Getcat@?$moneypunct@_W$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008721dc libcpmtd:wlocale.obj + 0003:00076208 __unwindtable$??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z 00872208 libcpmtd:wlocale.obj + 0003:00076218 __ehfuncinfo$??$use_facet@V?$moneypunct@_W$0A@@std@@@std@@YAABV?$moneypunct@_W$0A@@0@ABVlocale@0@@Z 00872218 libcpmtd:wlocale.obj + 0003:00076244 __unwindtable$?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872244 libcpmtd:wlocale.obj + 0003:0007625c __ehfuncinfo$?_Getcat@?$moneypunct@_W$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087225c libcpmtd:wlocale.obj + 0003:00076288 __unwindtable$??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z 00872288 libcpmtd:wlocale.obj + 0003:00076298 __ehfuncinfo$??$use_facet@V?$moneypunct@_W$00@std@@@std@@YAABV?$moneypunct@_W$00@0@ABVlocale@0@@Z 00872298 libcpmtd:wlocale.obj + 0003:000762c4 __unwindtable$??0?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008722c4 libcpmtd:wlocale.obj + 0003:000762cc __ehfuncinfo$??0?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008722cc libcpmtd:wlocale.obj + 0003:000762f4 __unwindtable$?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008722f4 libcpmtd:wlocale.obj + 0003:0007630c __ehfuncinfo$?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087230c libcpmtd:wlocale.obj + 0003:00076338 __unwindtable$?_Init@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00872338 libcpmtd:wlocale.obj + 0003:00076340 __ehfuncinfo$?_Init@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00872340 libcpmtd:wlocale.obj + 0003:00076368 __unwindtable$?do_get_time@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00872368 libcpmtd:wlocale.obj + 0003:00076370 __ehfuncinfo$?do_get_time@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00872370 libcpmtd:wlocale.obj + 0003:00076398 __unwindtable$?do_get_date@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00872398 libcpmtd:wlocale.obj + 0003:000763a0 __ehfuncinfo$?do_get_date@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008723a0 libcpmtd:wlocale.obj + 0003:000763c8 __unwindtable$?do_get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008723c8 libcpmtd:wlocale.obj + 0003:000763d0 __ehfuncinfo$?do_get_year@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008723d0 libcpmtd:wlocale.obj + 0003:000763f8 __unwindtable$?do_get@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 008723f8 libcpmtd:wlocale.obj + 0003:00076400 __ehfuncinfo$?do_get@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 00872400 libcpmtd:wlocale.obj + 0003:00076428 __unwindtable$?_Getfmt@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00872428 libcpmtd:wlocale.obj + 0003:00076430 __ehfuncinfo$?_Getfmt@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00872430 libcpmtd:wlocale.obj + 0003:00076458 __unwindtable$??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00872458 libcpmtd:wlocale.obj + 0003:00076468 __ehfuncinfo$??$use_facet@V?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00872468 libcpmtd:wlocale.obj + 0003:00076494 __unwindtable$??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 00872494 libcpmtd:wlocale.obj + 0003:000764a4 __ehfuncinfo$??$use_facet@V?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@@std@@YAABV?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@0@ABVlocale@0@@Z 008724a4 libcpmtd:wlocale.obj + 0003:000764d0 __unwindtable$??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z 008724d0 libcpmtd:wlocale.obj + 0003:000764e0 __ehfuncinfo$??$use_facet@V?$codecvt@_WDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@_WDU_Mbstatet@@@0@ABVlocale@0@@Z 008724e0 libcpmtd:wlocale.obj + 0003:0007650c __unwindtable$??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z 0087250c libcpmtd:wlocale.obj + 0003:0007651c __ehfuncinfo$??$use_facet@V?$ctype@G@std@@@std@@YAABV?$ctype@G@0@ABVlocale@0@@Z 0087251c libcpmtd:wlocale.obj + 0003:00076548 __unwindtable$?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872548 libcpmtd:wlocale.obj + 0003:00076560 __ehfuncinfo$?_Getcat@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872560 libcpmtd:wlocale.obj + 0003:0007658c __unwindtable$??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087258c libcpmtd:wlocale.obj + 0003:00076594 __ehfuncinfo$??0?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872594 libcpmtd:wlocale.obj + 0003:000765bc __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 008725bc libcpmtd:wlocale.obj + 0003:000765e0 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_N@Z 008725e0 libcpmtd:wlocale.obj + 0003:00076610 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 00872610 libcpmtd:wlocale.obj + 0003:00076618 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAG@Z 00872618 libcpmtd:wlocale.obj + 0003:00076640 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00872640 libcpmtd:wlocale.obj + 0003:00076648 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAJ@Z 00872648 libcpmtd:wlocale.obj + 0003:00076670 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00872670 libcpmtd:wlocale.obj + 0003:00076678 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAK@Z 00872678 libcpmtd:wlocale.obj + 0003:000766a0 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 008726a0 libcpmtd:wlocale.obj + 0003:000766a8 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_J@Z 008726a8 libcpmtd:wlocale.obj + 0003:000766d0 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 008726d0 libcpmtd:wlocale.obj + 0003:000766d8 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAA_K@Z 008726d8 libcpmtd:wlocale.obj + 0003:00076700 __unwindtable$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 00872700 libcpmtd:wlocale.obj + 0003:00076708 __ehfuncinfo$?do_get@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHAAPAX@Z 00872708 libcpmtd:wlocale.obj + 0003:00076730 __unwindtable$?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z 00872730 libcpmtd:wlocale.obj + 0003:00076740 __ehfuncinfo$?_Getifld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1HABVlocale@2@@Z 00872740 libcpmtd:wlocale.obj + 0003:0007676c __unwindtable$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 0087276c libcpmtd:wlocale.obj + 0003:0007678c __ehfuncinfo$?_Getffld@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 0087278c libcpmtd:wlocale.obj + 0003:000767b8 __unwindtable$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 008727b8 libcpmtd:wlocale.obj + 0003:000767d8 __ehfuncinfo$?_Getffldx@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@1AAVios_base@2@PAH@Z 008727d8 libcpmtd:wlocale.obj + 0003:00076804 __unwindtable$??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 00872804 libcpmtd:wlocale.obj + 0003:00076814 __ehfuncinfo$??$use_facet@V?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 00872814 libcpmtd:wlocale.obj + 0003:00076840 __unwindtable$?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872840 libcpmtd:wlocale.obj + 0003:00076858 __ehfuncinfo$?_Getcat@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872858 libcpmtd:wlocale.obj + 0003:00076884 __unwindtable$??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872884 libcpmtd:wlocale.obj + 0003:0007688c __ehfuncinfo$??0?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087288c libcpmtd:wlocale.obj + 0003:000768b4 __unwindtable$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z 008728b4 libcpmtd:wlocale.obj + 0003:000768c4 __ehfuncinfo$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z 008728c4 libcpmtd:wlocale.obj + 0003:000768f0 __unwindtable$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z 008728f0 libcpmtd:wlocale.obj + 0003:000768f8 __ehfuncinfo$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GN@Z 008728f8 libcpmtd:wlocale.obj + 0003:00076920 __unwindtable$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z 00872920 libcpmtd:wlocale.obj + 0003:00076928 __ehfuncinfo$?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GO@Z 00872928 libcpmtd:wlocale.obj + 0003:00076950 __unwindtable$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z 00872950 libcpmtd:wlocale.obj + 0003:00076970 __ehfuncinfo$?_Fput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBDI@Z 00872970 libcpmtd:wlocale.obj + 0003:0007699c __unwindtable$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z 0087299c libcpmtd:wlocale.obj + 0003:000769bc __ehfuncinfo$?_Iput@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPADI@Z 008729bc libcpmtd:wlocale.obj + 0003:000769e8 __unwindtable$??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008729e8 libcpmtd:wlocale.obj + 0003:000769f8 __ehfuncinfo$??$use_facet@V?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008729f8 libcpmtd:wlocale.obj + 0003:00076a24 __unwindtable$??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z 00872a24 libcpmtd:wlocale.obj + 0003:00076a2c __ehfuncinfo$??0?$numpunct@G@std@@QAE@ABV_Locinfo@1@I_N@Z 00872a2c libcpmtd:wlocale.obj + 0003:00076a54 __unwindtable$?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872a54 libcpmtd:wlocale.obj + 0003:00076a6c __ehfuncinfo$?_Getcat@?$numpunct@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872a6c libcpmtd:wlocale.obj + 0003:00076a98 __unwindtable$?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 00872a98 libcpmtd:wlocale.obj + 0003:00076aa0 __ehfuncinfo$?_Init@?$numpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 00872aa0 libcpmtd:wlocale.obj + 0003:00076ac8 __unwindtable$??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z 00872ac8 libcpmtd:wlocale.obj + 0003:00076ad8 __ehfuncinfo$??$use_facet@V?$numpunct@G@std@@@std@@YAABV?$numpunct@G@0@ABVlocale@0@@Z 00872ad8 libcpmtd:wlocale.obj + 0003:00076b04 __unwindtable$??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z 00872b04 libcpmtd:wlocale.obj + 0003:00076b0c __ehfuncinfo$??0?$collate@G@std@@QAE@ABV_Locinfo@1@I@Z 00872b0c libcpmtd:wlocale.obj + 0003:00076b34 __ehfuncinfo$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872b34 libcpmtd:wlocale.obj + 0003:00076b58 __unwindtable$?_Getcat@?$collate@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872b58 libcpmtd:wlocale.obj + 0003:00076b88 __unwindtable$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z 00872b88 libcpmtd:wlocale.obj + 0003:00076ba0 __ehfuncinfo$?do_transform@?$collate@G@std@@MBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@PBG0@Z 00872ba0 libcpmtd:wlocale.obj + 0003:00076bcc __unwindtable$??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z 00872bcc libcpmtd:wlocale.obj + 0003:00076bdc __ehfuncinfo$??$use_facet@V?$collate@G@std@@@std@@YAABV?$collate@G@0@ABVlocale@0@@Z 00872bdc libcpmtd:wlocale.obj + 0003:00076c08 __unwindtable$??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z 00872c08 libcpmtd:wlocale.obj + 0003:00076c10 __ehfuncinfo$??0?$messages@G@std@@QAE@ABV_Locinfo@1@I@Z 00872c10 libcpmtd:wlocale.obj + 0003:00076c38 __unwindtable$?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872c38 libcpmtd:wlocale.obj + 0003:00076c50 __ehfuncinfo$?_Getcat@?$messages@G@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872c50 libcpmtd:wlocale.obj + 0003:00076c7c __unwindtable$??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z 00872c7c libcpmtd:wlocale.obj + 0003:00076c8c __ehfuncinfo$??$use_facet@V?$messages@G@std@@@std@@YAABV?$messages@G@0@ABVlocale@0@@Z 00872c8c libcpmtd:wlocale.obj + 0003:00076cb8 __unwindtable$??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872cb8 libcpmtd:wlocale.obj + 0003:00076cc0 __ehfuncinfo$??0?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872cc0 libcpmtd:wlocale.obj + 0003:00076ce8 __unwindtable$?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872ce8 libcpmtd:wlocale.obj + 0003:00076d00 __ehfuncinfo$?_Getcat@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872d00 libcpmtd:wlocale.obj + 0003:00076d2c __unwindtable$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00872d2c libcpmtd:wlocale.obj + 0003:00076d34 __ehfuncinfo$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00872d34 libcpmtd:wlocale.obj + 0003:00076d5c __unwindtable$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 00872d5c libcpmtd:wlocale.obj + 0003:00076d64 __ehfuncinfo$?do_get@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 00872d64 libcpmtd:wlocale.obj + 0003:00076d8c __ehfuncinfo$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z 00872d8c libcpmtd:wlocale.obj + 0003:00076db0 __unwindtable$?_Getmfld@?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@0_NAAVios_base@2@AAY0M@G@Z 00872db0 libcpmtd:wlocale.obj + 0003:00076e5c __unwindtable$??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 00872e5c libcpmtd:wlocale.obj + 0003:00076e6c __ehfuncinfo$??$use_facet@V?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 00872e6c libcpmtd:wlocale.obj + 0003:00076e98 __unwindtable$??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872e98 libcpmtd:wlocale.obj + 0003:00076ea0 __ehfuncinfo$??0?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00872ea0 libcpmtd:wlocale.obj + 0003:00076ec8 __unwindtable$?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872ec8 libcpmtd:wlocale.obj + 0003:00076ee0 __ehfuncinfo$?_Getcat@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00872ee0 libcpmtd:wlocale.obj + 0003:00076f0c __unwindtable$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z 00872f0c libcpmtd:wlocale.obj + 0003:00076f1c __ehfuncinfo$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GO@Z 00872f1c libcpmtd:wlocale.obj + 0003:00076f48 __unwindtable$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 00872f48 libcpmtd:wlocale.obj + 0003:00076f58 __ehfuncinfo$?do_put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@GABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z 00872f58 libcpmtd:wlocale.obj + 0003:00076f84 __ehfuncinfo$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z 00872f84 libcpmtd:wlocale.obj + 0003:00076fa8 __unwindtable$?_Putmfld@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@_NAAVios_base@2@G1V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@G@Z 00872fa8 libcpmtd:wlocale.obj + 0003:00077030 __unwindtable$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z 00873030 libcpmtd:wlocale.obj + 0003:00077040 __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@ABV01@@Z 00873040 libcpmtd:wlocale.obj + 0003:0007706c __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 0087306c libcpmtd:wlocale.obj + 0003:00077094 __unwindtable$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z 00873094 libcpmtd:wlocale.obj + 0003:000770a4 __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBGI@Z 008730a4 libcpmtd:wlocale.obj + 0003:000770d0 __unwindtable$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z 008730d0 libcpmtd:wlocale.obj + 0003:000770e0 __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@QBG@Z 008730e0 libcpmtd:wlocale.obj + 0003:0007710c __unwindtable$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z 0087310c libcpmtd:wlocale.obj + 0003:0007711c __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@IG@Z 0087311c libcpmtd:wlocale.obj + 0003:00077148 __ehfuncinfo$??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@$$QAV01@@Z 00873148 libcpmtd:wlocale.obj + 0003:00077170 __ehfuncinfo$?_Take_contents@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXAAV12@U?$integral_constant@_N$00@2@@Z 00873170 libcpmtd:wlocale.obj + 0003:00077198 __ehfuncinfo$??1?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@XZ 00873198 libcpmtd:wlocale.obj + 0003:000771c0 __ehfuncinfo$?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 008731c0 libcpmtd:wlocale.obj + 0003:000771e8 __ehfuncinfo$?end@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@XZ 008731e8 libcpmtd:wlocale.obj + 0003:00077210 __ehfuncinfo$?c_str@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEPBGXZ 00873210 libcpmtd:wlocale.obj + 0003:00077238 __ehfuncinfo$?_Tidy_deallocate@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAEXXZ 00873238 libcpmtd:wlocale.obj + 0003:00077260 __unwindtable$?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@I@Z 00873260 libcpmtd:wlocale.obj + 0003:00077268 __ehfuncinfo$?_Put@?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@2@I@Z 00873268 libcpmtd:wlocale.obj + 0003:00077290 __unwindtable$??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 00873290 libcpmtd:wlocale.obj + 0003:000772a0 __ehfuncinfo$??$use_facet@V?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$money_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008732a0 libcpmtd:wlocale.obj + 0003:000772cc __unwindtable$??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N1@Z 008732cc libcpmtd:wlocale.obj + 0003:000772d4 __ehfuncinfo$??0?$_Mpunct@G@std@@QAE@ABV_Locinfo@1@I_N1@Z 008732d4 libcpmtd:wlocale.obj + 0003:000772fc __unwindtable$?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 008732fc libcpmtd:wlocale.obj + 0003:00077304 __ehfuncinfo$?_Init@?$_Mpunct@G@std@@IAEXABV_Locinfo@2@_N@Z 00873304 libcpmtd:wlocale.obj + 0003:0007732c __unwindtable$?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087332c libcpmtd:wlocale.obj + 0003:00077344 __ehfuncinfo$?_Getcat@?$moneypunct@G$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873344 libcpmtd:wlocale.obj + 0003:00077370 __unwindtable$??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z 00873370 libcpmtd:wlocale.obj + 0003:00077380 __ehfuncinfo$??$use_facet@V?$moneypunct@G$0A@@std@@@std@@YAABV?$moneypunct@G$0A@@0@ABVlocale@0@@Z 00873380 libcpmtd:wlocale.obj + 0003:000773ac __unwindtable$?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008733ac libcpmtd:wlocale.obj + 0003:000773c4 __ehfuncinfo$?_Getcat@?$moneypunct@G$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008733c4 libcpmtd:wlocale.obj + 0003:000773f0 __unwindtable$??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z 008733f0 libcpmtd:wlocale.obj + 0003:00077400 __ehfuncinfo$??$use_facet@V?$moneypunct@G$00@std@@@std@@YAABV?$moneypunct@G$00@0@ABVlocale@0@@Z 00873400 libcpmtd:wlocale.obj + 0003:0007742c __unwindtable$??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087342c libcpmtd:wlocale.obj + 0003:00077434 __ehfuncinfo$??0?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00873434 libcpmtd:wlocale.obj + 0003:0007745c __unwindtable$?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087345c libcpmtd:wlocale.obj + 0003:00077474 __ehfuncinfo$?_Getcat@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873474 libcpmtd:wlocale.obj + 0003:000774a0 __unwindtable$?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 008734a0 libcpmtd:wlocale.obj + 0003:000774a8 __ehfuncinfo$?_Init@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 008734a8 libcpmtd:wlocale.obj + 0003:000774d0 __unwindtable$?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008734d0 libcpmtd:wlocale.obj + 0003:000774d8 __ehfuncinfo$?do_get_time@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008734d8 libcpmtd:wlocale.obj + 0003:00077500 __unwindtable$?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00873500 libcpmtd:wlocale.obj + 0003:00077508 __ehfuncinfo$?do_get_date@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00873508 libcpmtd:wlocale.obj + 0003:00077530 __unwindtable$?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00873530 libcpmtd:wlocale.obj + 0003:00077538 __ehfuncinfo$?do_get_year@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00873538 libcpmtd:wlocale.obj + 0003:00077560 __unwindtable$?do_get@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 00873560 libcpmtd:wlocale.obj + 0003:00077568 __ehfuncinfo$?do_get@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 00873568 libcpmtd:wlocale.obj + 0003:00077590 __unwindtable$?_Getfmt@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00873590 libcpmtd:wlocale.obj + 0003:00077598 __ehfuncinfo$?_Getfmt@?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@GU?$char_traits@G@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00873598 libcpmtd:wlocale.obj + 0003:000775c0 __unwindtable$??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008735c0 libcpmtd:wlocale.obj + 0003:000775d0 __ehfuncinfo$??$use_facet@V?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008735d0 libcpmtd:wlocale.obj + 0003:000775fc __unwindtable$??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008735fc libcpmtd:wlocale.obj + 0003:0007760c __ehfuncinfo$??0?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 0087360c libcpmtd:wlocale.obj + 0003:00077638 __unwindtable$?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873638 libcpmtd:wlocale.obj + 0003:00077650 __ehfuncinfo$?_Getcat@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873650 libcpmtd:wlocale.obj + 0003:0007767c __unwindtable$?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0087367c libcpmtd:wlocale.obj + 0003:00077684 __ehfuncinfo$?_Init@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00873684 libcpmtd:wlocale.obj + 0003:000776ac __unwindtable$?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z 008736ac libcpmtd:wlocale.obj + 0003:000776bc __ehfuncinfo$?do_put@?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@GPBUtm@@DD@Z 008736bc libcpmtd:wlocale.obj + 0003:000776e8 __unwindtable$??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008736e8 libcpmtd:wlocale.obj + 0003:000776f8 __ehfuncinfo$??$use_facet@V?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@@std@@YAABV?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@0@ABVlocale@0@@Z 008736f8 libcpmtd:wlocale.obj + 0003:00077724 __unwindtable$??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z 00873724 libcpmtd:wlocale.obj + 0003:00077734 __ehfuncinfo$??$use_facet@V?$codecvt@GDU_Mbstatet@@@std@@@std@@YAABV?$codecvt@GDU_Mbstatet@@@0@ABVlocale@0@@Z 00873734 libcpmtd:wlocale.obj + 0003:00077760 __ehfuncinfo$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEXH@Z 00873760 libcpmtd:wlocale.obj + 0003:00077788 __unwindtable$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 00873788 libcpmtd:wlocale.obj + 0003:00077790 __ehfuncinfo$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 00873790 libcpmtd:wlocale.obj + 0003:000777b8 __unwindtable$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 008737b8 libcpmtd:wlocale.obj + 0003:000777c0 __ehfuncinfo$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBE?AV01@H@Z 008737c0 libcpmtd:wlocale.obj + 0003:000777e8 __unwindtable$??$_Getloctxt@DV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBD@Z 008737e8 libcpmtd:wlocale.obj + 0003:000777f0 __ehfuncinfo$??$_Getloctxt@DV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBD@Z 008737f0 libcpmtd:wlocale.obj + 0003:00077818 __unwindtable$??$_Getloctxt@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBG@Z 00873818 libcpmtd:wlocale.obj + 0003:00077820 __ehfuncinfo$??$_Getloctxt@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@GU?$char_traits@G@std@@@0@0IPBG@Z 00873820 libcpmtd:wlocale.obj + 0003:00077848 __ehfuncinfo$?_Verify_offset@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBEXH@Z 00873848 libcpmtd:wlocale.obj + 0003:00077870 __unwindtable$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 00873870 libcpmtd:wlocale.obj + 0003:00077878 __ehfuncinfo$??H?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 00873878 libcpmtd:wlocale.obj + 0003:000778a0 __unwindtable$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 008738a0 libcpmtd:wlocale.obj + 0003:000778a8 __ehfuncinfo$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@G@std@@@std@@@std@@QBE?AV01@H@Z 008738a8 libcpmtd:wlocale.obj + 0003:000778d0 __unwindtable$??$_Getloctxt@DV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPBD@Z 008738d0 libcpmtd:wlocale.obj + 0003:000778d8 __ehfuncinfo$??$_Getloctxt@DV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPBD@Z 008738d8 libcpmtd:wlocale.obj + 0003:00077900 __unwindtable$??$_Getloctxt@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPB_W@Z 00873900 libcpmtd:wlocale.obj + 0003:00077908 __ehfuncinfo$??$_Getloctxt@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@YAHAAV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@0@0IPB_W@Z 00873908 libcpmtd:wlocale.obj + 0003:00077930 __unwindtable$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z 00873930 libcpmtd:xlocale.obj + 0003:00077940 __ehfuncinfo$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBDI@Z 00873940 libcpmtd:xlocale.obj + 0003:0007796c __ehfuncinfo$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 0087396c libcpmtd:xlocale.obj + 0003:00077990 __unwindtable$?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z 00873990 libcpmtd:xlocale.obj + 0003:000779dc __unwindtable$??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z 008739dc libcpmtd:xlocale.obj + 0003:000779e4 __ehfuncinfo$??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z 008739e4 libcpmtd:xlocale.obj + 0003:00077a0c __ehfuncinfo$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873a0c libcpmtd:xlocale.obj + 0003:00077a30 __unwindtable$?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873a30 libcpmtd:xlocale.obj + 0003:00077a60 __unwindtable$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z 00873a60 libcpmtd:xlocale.obj + 0003:00077a78 __ehfuncinfo$?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z 00873a78 libcpmtd:xlocale.obj + 0003:00077aa4 __unwindtable$??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z 00873aa4 libcpmtd:xlocale.obj + 0003:00077ab4 __ehfuncinfo$??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z 00873ab4 libcpmtd:xlocale.obj + 0003:00077ae0 __unwindtable$??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z 00873ae0 libcpmtd:xlocale.obj + 0003:00077ae8 __ehfuncinfo$??0?$messages@D@std@@QAE@ABV_Locinfo@1@I@Z 00873ae8 libcpmtd:xlocale.obj + 0003:00077b10 __unwindtable$?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873b10 libcpmtd:xlocale.obj + 0003:00077b28 __ehfuncinfo$?_Getcat@?$messages@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873b28 libcpmtd:xlocale.obj + 0003:00077b54 __unwindtable$??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z 00873b54 libcpmtd:xlocale.obj + 0003:00077b64 __ehfuncinfo$??$use_facet@V?$messages@D@std@@@std@@YAABV?$messages@D@0@ABVlocale@0@@Z 00873b64 libcpmtd:xlocale.obj + 0003:00077b90 __unwindtable$??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00873b90 libcpmtd:xlocale.obj + 0003:00077b98 __ehfuncinfo$??0?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00873b98 libcpmtd:xlocale.obj + 0003:00077bc0 __unwindtable$?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873bc0 libcpmtd:xlocale.obj + 0003:00077bd8 __ehfuncinfo$?_Getcat@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873bd8 libcpmtd:xlocale.obj + 0003:00077c04 __unwindtable$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00873c04 libcpmtd:xlocale.obj + 0003:00077c0c __ehfuncinfo$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAO@Z 00873c0c libcpmtd:xlocale.obj + 0003:00077c34 __unwindtable$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00873c34 libcpmtd:xlocale.obj + 0003:00077c3c __ehfuncinfo$?do_get@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0_NAAVios_base@2@AAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00873c3c libcpmtd:xlocale.obj + 0003:00077c64 __ehfuncinfo$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z 00873c64 libcpmtd:xlocale.obj + 0003:00077c88 __unwindtable$?_Getmfld@?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0_NAAVios_base@2@AAY0M@D@Z 00873c88 libcpmtd:xlocale.obj + 0003:00077d34 __unwindtable$??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00873d34 libcpmtd:xlocale.obj + 0003:00077d44 __ehfuncinfo$??$use_facet@V?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00873d44 libcpmtd:xlocale.obj + 0003:00077d70 __unwindtable$??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00873d70 libcpmtd:xlocale.obj + 0003:00077d78 __ehfuncinfo$??0?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 00873d78 libcpmtd:xlocale.obj + 0003:00077da0 __unwindtable$?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873da0 libcpmtd:xlocale.obj + 0003:00077db8 __ehfuncinfo$?_Getcat@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873db8 libcpmtd:xlocale.obj + 0003:00077de4 __unwindtable$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z 00873de4 libcpmtd:xlocale.obj + 0003:00077df4 __ehfuncinfo$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DO@Z 00873df4 libcpmtd:xlocale.obj + 0003:00077e20 __unwindtable$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00873e20 libcpmtd:xlocale.obj + 0003:00077e30 __ehfuncinfo$?do_put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@DABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z 00873e30 libcpmtd:xlocale.obj + 0003:00077e5c __ehfuncinfo$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z 00873e5c libcpmtd:xlocale.obj + 0003:00077e80 __unwindtable$?_Putmfld@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@_NAAVios_base@2@D1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z 00873e80 libcpmtd:xlocale.obj + 0003:00077f08 __unwindtable$?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@I@Z 00873f08 libcpmtd:xlocale.obj + 0003:00077f10 __ehfuncinfo$?_Put@?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@CA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@I@Z 00873f10 libcpmtd:xlocale.obj + 0003:00077f38 __unwindtable$??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00873f38 libcpmtd:xlocale.obj + 0003:00077f48 __ehfuncinfo$??$use_facet@V?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$money_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00873f48 libcpmtd:xlocale.obj + 0003:00077f74 __unwindtable$??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N1@Z 00873f74 libcpmtd:xlocale.obj + 0003:00077f7c __ehfuncinfo$??0?$_Mpunct@D@std@@QAE@ABV_Locinfo@1@I_N1@Z 00873f7c libcpmtd:xlocale.obj + 0003:00077fa4 __unwindtable$?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 00873fa4 libcpmtd:xlocale.obj + 0003:00077fac __ehfuncinfo$?_Init@?$_Mpunct@D@std@@IAEXABV_Locinfo@2@_N@Z 00873fac libcpmtd:xlocale.obj + 0003:00077fd4 __unwindtable$?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873fd4 libcpmtd:xlocale.obj + 0003:00077fec __ehfuncinfo$?_Getcat@?$moneypunct@D$0A@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00873fec libcpmtd:xlocale.obj + 0003:00078018 __unwindtable$??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z 00874018 libcpmtd:xlocale.obj + 0003:00078028 __ehfuncinfo$??$use_facet@V?$moneypunct@D$0A@@std@@@std@@YAABV?$moneypunct@D$0A@@0@ABVlocale@0@@Z 00874028 libcpmtd:xlocale.obj + 0003:00078054 __unwindtable$?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00874054 libcpmtd:xlocale.obj + 0003:0007806c __ehfuncinfo$?_Getcat@?$moneypunct@D$00@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087406c libcpmtd:xlocale.obj + 0003:00078098 __unwindtable$??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z 00874098 libcpmtd:xlocale.obj + 0003:000780a8 __ehfuncinfo$??$use_facet@V?$moneypunct@D$00@std@@@std@@YAABV?$moneypunct@D$00@0@ABVlocale@0@@Z 008740a8 libcpmtd:xlocale.obj + 0003:000780d4 __unwindtable$??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008740d4 libcpmtd:xlocale.obj + 0003:000780dc __ehfuncinfo$??0?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008740dc libcpmtd:xlocale.obj + 0003:00078104 __unwindtable$?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 00874104 libcpmtd:xlocale.obj + 0003:0007811c __ehfuncinfo$?_Getcat@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 0087411c libcpmtd:xlocale.obj + 0003:00078148 __unwindtable$?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00874148 libcpmtd:xlocale.obj + 0003:00078150 __ehfuncinfo$?_Init@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00874150 libcpmtd:xlocale.obj + 0003:00078178 __unwindtable$?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00874178 libcpmtd:xlocale.obj + 0003:00078180 __ehfuncinfo$?do_get_time@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 00874180 libcpmtd:xlocale.obj + 0003:000781a8 __unwindtable$?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008741a8 libcpmtd:xlocale.obj + 0003:000781b0 __ehfuncinfo$?do_get_date@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008741b0 libcpmtd:xlocale.obj + 0003:000781d8 __unwindtable$?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008741d8 libcpmtd:xlocale.obj + 0003:000781e0 __ehfuncinfo$?do_get_year@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z 008741e0 libcpmtd:xlocale.obj + 0003:00078208 __unwindtable$?do_get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 00874208 libcpmtd:xlocale.obj + 0003:00078210 __ehfuncinfo$?do_get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@DD@Z 00874210 libcpmtd:xlocale.obj + 0003:00078238 __unwindtable$?_Getfmt@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00874238 libcpmtd:xlocale.obj + 0003:00078240 __ehfuncinfo$?_Getfmt@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD@Z 00874240 libcpmtd:xlocale.obj + 0003:00078268 __unwindtable$??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00874268 libcpmtd:xlocale.obj + 0003:00078278 __ehfuncinfo$??$use_facet@V?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00874278 libcpmtd:xlocale.obj + 0003:000782a4 __unwindtable$??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008742a4 libcpmtd:xlocale.obj + 0003:000782b4 __ehfuncinfo$??0?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAE@ABV_Locinfo@1@I@Z 008742b4 libcpmtd:xlocale.obj + 0003:000782e0 __unwindtable$?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008742e0 libcpmtd:xlocale.obj + 0003:000782f8 __ehfuncinfo$?_Getcat@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z 008742f8 libcpmtd:xlocale.obj + 0003:00078324 __unwindtable$?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 00874324 libcpmtd:xlocale.obj + 0003:0007832c __ehfuncinfo$?_Init@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEXABV_Locinfo@2@@Z 0087432c libcpmtd:xlocale.obj + 0003:00078354 __unwindtable$?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z 00874354 libcpmtd:xlocale.obj + 0003:00078364 __ehfuncinfo$?do_put@?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPBUtm@@DD@Z 00874364 libcpmtd:xlocale.obj + 0003:00078390 __unwindtable$??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 00874390 libcpmtd:xlocale.obj + 0003:000783a0 __ehfuncinfo$??$use_facet@V?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@@std@@YAABV?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@0@ABVlocale@0@@Z 008743a0 libcpmtd:xlocale.obj + 0003:000783cc __unwindtable$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 008743cc libcpmtd:xlocale.obj + 0003:000783d4 __ehfuncinfo$??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE?AV01@H@Z 008743d4 libcpmtd:xlocale.obj + 0003:00078400 __sehtable$?notify_debugger@@YAXABUtagEXCEPTION_VISUALCPP_DEBUG_INFO@@@Z 00874400 LIBCMTD:error.obj + 0003:00078420 __sehtable$??_L@YGXPAXIIP6EX0@Z1@Z 00874420 LIBCMTD:ehvecctr.obj + 0003:00078440 __sehtable$??_M@YGXPAXIIP6EX0@Z@Z 00874440 LIBCMTD:ehvecdtr.obj + 0003:00078460 __sehtable$?__ArrayUnwind@@YGXPAXIIP6EX0@Z@Z 00874460 LIBCMTD:ehvecdtr.obj + 0003:00078480 __sehtable$___scrt_is_nonwritable_in_current_image 00874480 LIBCMTD:utility.obj + 0003:000784a0 __sehtable$?__scrt_common_main_seh@@YAHXZ 008744a0 LIBCMTD:exe_main.obj + 0003:00078508 __unwindtable$?try_lock_for@critical_section@Concurrency@@QAE_NI@Z 00874508 libconcrtd:rtlocks.obj + 0003:00078510 __ehfuncinfo$?try_lock_for@critical_section@Concurrency@@QAE_NI@Z 00874510 libconcrtd:rtlocks.obj + 0003:00078538 __ehfuncinfo$??1scoped_lock@critical_section@Concurrency@@QAE@XZ 00874538 libconcrtd:rtlocks.obj + 0003:00078560 __ehfuncinfo$??1scoped_lock@reader_writer_lock@Concurrency@@QAE@XZ 00874560 libconcrtd:rtlocks.obj + 0003:00078588 __ehfuncinfo$??1scoped_lock_read@reader_writer_lock@Concurrency@@QAE@XZ 00874588 libconcrtd:rtlocks.obj + 0003:000785b0 __ehfuncinfo$??1_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@XZ 008745b0 libconcrtd:rtlocks.obj + 0003:000785d8 __ehfuncinfo$??1_Scoped_lock@_ReentrantPPLLock@details@Concurrency@@QAE@XZ 008745d8 libconcrtd:rtlocks.obj + 0003:00078644 __ehfuncinfo$??1event@Concurrency@@QAE@XZ 00874644 libconcrtd:event.obj + 0003:0007866c __unwindtable$?wait@event@Concurrency@@QAEII@Z 0087466c libconcrtd:event.obj + 0003:00078674 __ehfuncinfo$?wait@event@Concurrency@@QAEII@Z 00874674 libconcrtd:event.obj + 0003:0007869c __unwindtable$?set@event@Concurrency@@QAEXXZ 0087469c libconcrtd:event.obj + 0003:000786ac __ehfuncinfo$?set@event@Concurrency@@QAEXXZ 008746ac libconcrtd:event.obj + 0003:000786d8 __unwindtable$?reset@event@Concurrency@@QAEXXZ 008746d8 libconcrtd:event.obj + 0003:000786e0 __ehfuncinfo$?reset@event@Concurrency@@QAEXXZ 008746e0 libconcrtd:event.obj + 0003:00078708 __unwindtable$?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z 00874708 libconcrtd:event.obj + 0003:00078718 __ehfuncinfo$?wait_for_multiple@event@Concurrency@@SAIPAPAV12@I_NI@Z 00874718 libconcrtd:event.obj + 0003:00078744 __ehfuncinfo$??1_Condition_variable@details@Concurrency@@QAE@XZ 00874744 libconcrtd:event.obj + 0003:0007876c __unwindtable$?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z 0087476c libconcrtd:event.obj + 0003:00078774 __ehfuncinfo$?wait@_Condition_variable@details@Concurrency@@QAEXAAVcritical_section@3@@Z 00874774 libconcrtd:event.obj + 0003:0007879c __unwindtable$?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z 0087479c libconcrtd:event.obj + 0003:000787ac __ehfuncinfo$?wait_for@_Condition_variable@details@Concurrency@@QAE_NAAVcritical_section@3@I@Z 008747ac libconcrtd:event.obj + 0003:000787d8 __unwindtable$?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ 008747d8 libconcrtd:event.obj + 0003:000787e0 __ehfuncinfo$?notify_one@_Condition_variable@details@Concurrency@@QAEXXZ 008747e0 libconcrtd:event.obj + 0003:00078808 __ehfuncinfo$??1MultiWaitBlockHolder@details@Concurrency@@QAE@XZ 00874808 libconcrtd:event.obj + 0003:00078830 __ehfuncinfo$??1WaiterThreadPool@platform@details@Concurrency@@QAE@XZ 00874830 libconcrtd:Platform.obj + 0003:0007889c __ehfuncinfo$??1_Scoped_lock@_NonReentrantBlockingLock@details@Concurrency@@QAE@XZ 0087489c libconcrtd:ResourceManager.obj + 0003:000788c4 __ehfuncinfo$??1_Scoped_lock@_NonReentrantLock@details@Concurrency@@QAE@XZ 008748c4 libconcrtd:ResourceManager.obj + 0003:000788ec __unwindtable$?Initialize@GlobalCore@details@Concurrency@@QAEXPAUGlobalNode@23@IE@Z 008748ec libconcrtd:ResourceManager.obj + 0003:000788f4 __ehfuncinfo$?Initialize@GlobalCore@details@Concurrency@@QAEXPAUGlobalNode@23@IE@Z 008748f4 libconcrtd:ResourceManager.obj + 0003:0007891c __unwindtable$?Initialize@GlobalNode@details@Concurrency@@QAEXPAVResourceManager@23@GGKII@Z 0087491c libconcrtd:ResourceManager.obj + 0003:00078924 __ehfuncinfo$?Initialize@GlobalNode@details@Concurrency@@QAEXPAVResourceManager@23@GGKII@Z 00874924 libconcrtd:ResourceManager.obj + 0003:0007894c __ehfuncinfo$??_EGlobalNode@details@Concurrency@@QAEPAXI@Z 0087494c libconcrtd:ResourceManager.obj + 0003:00078974 __unwindtable$?Release@ResourceManager@details@Concurrency@@UAEIXZ 00874974 libconcrtd:ResourceManager.obj + 0003:0007897c __ehfuncinfo$?Release@ResourceManager@details@Concurrency@@UAEIXZ 0087497c libconcrtd:ResourceManager.obj + 0003:000789a4 __unwindtable$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ 008749a4 libconcrtd:ResourceManager.obj + 0003:000789bc __ehfuncinfo$?CreateSingleton@ResourceManager@details@Concurrency@@SAPAV123@XZ 008749bc libconcrtd:ResourceManager.obj + 0003:000789e8 __unwindtable$?Version@ResourceManager@details@Concurrency@@SA?AW4OSVersion@IResourceManager@3@XZ 008749e8 libconcrtd:ResourceManager.obj + 0003:000789f0 __ehfuncinfo$?Version@ResourceManager@details@Concurrency@@SA?AW4OSVersion@IResourceManager@3@XZ 008749f0 libconcrtd:ResourceManager.obj + 0003:00078a18 __unwindtable$?GetNodeCount@ResourceManager@details@Concurrency@@SAIXZ 00874a18 libconcrtd:ResourceManager.obj + 0003:00078a20 __ehfuncinfo$?GetNodeCount@ResourceManager@details@Concurrency@@SAIXZ 00874a20 libconcrtd:ResourceManager.obj + 0003:00078a48 __unwindtable$?GetCoreCount@ResourceManager@details@Concurrency@@SAIXZ 00874a48 libconcrtd:ResourceManager.obj + 0003:00078a50 __ehfuncinfo$?GetCoreCount@ResourceManager@details@Concurrency@@SAIXZ 00874a50 libconcrtd:ResourceManager.obj + 0003:00078a78 __unwindtable$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z 00874a78 libconcrtd:ResourceManager.obj + 0003:00078a90 __ehfuncinfo$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXK@Z 00874a90 libconcrtd:ResourceManager.obj + 0003:00078abc __unwindtable$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z 00874abc libconcrtd:ResourceManager.obj + 0003:00078ad4 __ehfuncinfo$?SetTaskExecutionResources@ResourceManager@details@Concurrency@@SAXGPAU_GROUP_AFFINITY@@@Z 00874ad4 libconcrtd:ResourceManager.obj + 0003:00078b00 __unwindtable$?SubscribeCurrentThread@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@@Z 00874b00 libconcrtd:ResourceManager.obj + 0003:00078b08 __ehfuncinfo$?SubscribeCurrentThread@ResourceManager@details@Concurrency@@QAEPAVExecutionResource@23@PAVSchedulerProxy@23@@Z 00874b08 libconcrtd:ResourceManager.obj + 0003:00078b30 __unwindtable$?RemoveExecutionResource@ResourceManager@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 00874b30 libconcrtd:ResourceManager.obj + 0003:00078b38 __ehfuncinfo$?RemoveExecutionResource@ResourceManager@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 00874b38 libconcrtd:ResourceManager.obj + 0003:00078b60 __unwindtable$?Shutdown@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 00874b60 libconcrtd:ResourceManager.obj + 0003:00078b68 __ehfuncinfo$?Shutdown@ResourceManager@details@Concurrency@@QAEXPAVSchedulerProxy@23@@Z 00874b68 libconcrtd:ResourceManager.obj + 0003:00078b90 __unwindtable$?RequestInitialVirtualProcessors@ResourceManager@details@Concurrency@@QAEPAUIExecutionResource@3@PAVSchedulerProxy@23@_N@Z 00874b90 libconcrtd:ResourceManager.obj + 0003:00078b98 __ehfuncinfo$?RequestInitialVirtualProcessors@ResourceManager@details@Concurrency@@QAEPAUIExecutionResource@3@PAVSchedulerProxy@23@_N@Z 00874b98 libconcrtd:ResourceManager.obj + 0003:00078bc0 __unwindtable$?CreateNodeTopology@ResourceManager@details@Concurrency@@UAEXIPAIPAPAI0@Z 00874bc0 libconcrtd:ResourceManager.obj + 0003:00078bc8 __ehfuncinfo$?CreateNodeTopology@ResourceManager@details@Concurrency@@UAEXIPAIPAPAI0@Z 00874bc8 libconcrtd:ResourceManager.obj + 0003:00078bf0 __unwindtable$?CurrentSubscriptionLevel@ResourceManager@details@Concurrency@@QAEIII@Z 00874bf0 libconcrtd:ResourceManager.obj + 0003:00078bf8 __ehfuncinfo$?CurrentSubscriptionLevel@ResourceManager@details@Concurrency@@QAEIII@Z 00874bf8 libconcrtd:ResourceManager.obj + 0003:00078c20 __unwindtable$?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ 00874c20 libconcrtd:ResourceManager.obj + 0003:00078c28 __ehfuncinfo$?CreateAllocatedNodeData@ResourceManager@details@Concurrency@@QAEPAUSchedulerNode@23@XZ 00874c28 libconcrtd:ResourceManager.obj + 0003:00078c50 __unwindtable$??0ResourceManager@details@Concurrency@@AAE@XZ 00874c50 libconcrtd:ResourceManager.obj + 0003:00078c60 __ehfuncinfo$??0ResourceManager@details@Concurrency@@AAE@XZ 00874c60 libconcrtd:ResourceManager.obj + 0003:00078c8c __ehfuncinfo$??1ResourceManager@details@Concurrency@@AAE@XZ 00874c8c libconcrtd:ResourceManager.obj + 0003:00078cb4 __unwindtable$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ 00874cb4 libconcrtd:ResourceManager.obj + 0003:00078cd4 __ehfuncinfo$?CaptureProcessAffinity@ResourceManager@details@Concurrency@@CAXXZ 00874cd4 libconcrtd:ResourceManager.obj + 0003:00078d00 __unwindtable$?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z 00874d00 libconcrtd:ResourceManager.obj + 0003:00078d10 __ehfuncinfo$?CreateSchedulerProxy@ResourceManager@details@Concurrency@@AAEPAVSchedulerProxy@23@PAUIScheduler@3@@Z 00874d10 libconcrtd:ResourceManager.obj + 0003:00078d3c __unwindtable$?DynamicResourceManager@ResourceManager@details@Concurrency@@AAEXXZ 00874d3c libconcrtd:ResourceManager.obj + 0003:00078d44 __ehfuncinfo$?DynamicResourceManager@ResourceManager@details@Concurrency@@AAEXXZ 00874d44 libconcrtd:ResourceManager.obj + 0003:00078df4 __ehfuncinfo$??1_Scoped_lock@_ReaderWriterLock@details@Concurrency@@QAE@XZ 00874df4 libconcrtd:SchedulerBase.obj + 0003:00078e1c __ehfuncinfo$??1_Scoped_lock@_HyperNonReentrantLock@details@Concurrency@@QAE@XZ 00874e1c libconcrtd:SchedulerBase.obj + 0003:00078e44 __unwindtable$??0RealizedChore@details@Concurrency@@QAE@P6AXPAX@Z0@Z 00874e44 libconcrtd:SchedulerBase.obj + 0003:00078e4c __ehfuncinfo$??0RealizedChore@details@Concurrency@@QAE@P6AXPAX@Z0@Z 00874e4c libconcrtd:SchedulerBase.obj + 0003:00078e74 __unwindtable$?Insert@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABI0@Z 00874e74 libconcrtd:SchedulerBase.obj + 0003:00078e7c __ehfuncinfo$?Insert@?$Hash@II@details@Concurrency@@QAEPAUListNode@123@ABI0@Z 00874e7c libconcrtd:SchedulerBase.obj + 0003:00078ea4 __ehfuncinfo$??1?$Hash@II@details@Concurrency@@QAE@XZ 00874ea4 libconcrtd:SchedulerBase.obj + 0003:00078ecc __ehfuncinfo$??1SubAllocator@details@Concurrency@@QAE@XZ 00874ecc libconcrtd:SchedulerBase.obj + 0003:00078ef4 __unwindtable$??0NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ 00874ef4 libconcrtd:SchedulerBase.obj + 0003:00078efc __ehfuncinfo$??0NumaInformation@SchedulerBase@details@Concurrency@@QAE@XZ 00874efc libconcrtd:SchedulerBase.obj + 0003:00078f24 __ehfuncinfo$??_ENumaInformation@SchedulerBase@details@Concurrency@@QAEPAXI@Z 00874f24 libconcrtd:SchedulerBase.obj + 0003:00078f4c __ehfuncinfo$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 00874f4c libconcrtd:SchedulerBase.obj + 0003:00078f70 __unwindtable$??0SchedulerBase@details@Concurrency@@QAE@ABVSchedulerPolicy@2@@Z 00874f70 libconcrtd:SchedulerBase.obj + 0003:00078fe0 __ehfuncinfo$??1SchedulerBase@details@Concurrency@@UAE@XZ 00874fe0 libconcrtd:SchedulerBase.obj + 0003:00079008 __unwindtable$?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z 00875008 libconcrtd:SchedulerBase.obj + 0003:00079018 __ehfuncinfo$?SetDefaultSchedulerPolicy@SchedulerBase@details@Concurrency@@SAXABVSchedulerPolicy@3@@Z 00875018 libconcrtd:SchedulerBase.obj + 0003:00079044 __unwindtable$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 00875044 libconcrtd:SchedulerBase.obj + 0003:0007904c __ehfuncinfo$?CreateScheduleGroup@SchedulerBase@details@Concurrency@@UAEPAVScheduleGroup@3@XZ 0087504c libconcrtd:SchedulerBase.obj + 0003:00079074 __unwindtable$?IsAvailableLocation@SchedulerBase@details@Concurrency@@UBE_NABVlocation@3@@Z 00875074 libconcrtd:SchedulerBase.obj + 0003:0007907c __ehfuncinfo$?IsAvailableLocation@SchedulerBase@details@Concurrency@@UBE_NABVlocation@3@@Z 0087507c libconcrtd:SchedulerBase.obj + 0003:000790a4 __catchsym$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z$2 008750a4 libconcrtd:SchedulerBase.obj + 0003:000790b4 __unwindtable$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 008750b4 libconcrtd:SchedulerBase.obj + 0003:000790c4 __tryblocktable$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 008750c4 libconcrtd:SchedulerBase.obj + 0003:000790d8 __ehfuncinfo$?GetInternalContext@SchedulerBase@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 008750d8 libconcrtd:SchedulerBase.obj + 0003:00079104 __unwindtable$?GetRealizedChore@SchedulerBase@details@Concurrency@@QAEPAVRealizedChore@23@P6AXPAX@Z0@Z 00875104 libconcrtd:SchedulerBase.obj + 0003:0007910c __ehfuncinfo$?GetRealizedChore@SchedulerBase@details@Concurrency@@QAEPAVRealizedChore@23@P6AXPAX@Z0@Z 0087510c libconcrtd:SchedulerBase.obj + 0003:00079134 __unwindtable$?FoundAvailableVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 00875134 libconcrtd:SchedulerBase.obj + 0003:0007913c __ehfuncinfo$?FoundAvailableVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 0087513c libconcrtd:SchedulerBase.obj + 0003:00079164 __unwindtable$?StartupVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@K@Z 00875164 libconcrtd:SchedulerBase.obj + 0003:0007916c __ehfuncinfo$?StartupVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@K@Z 0087516c libconcrtd:SchedulerBase.obj + 0003:00079194 __unwindtable$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 00875194 libconcrtd:SchedulerBase.obj + 0003:0007919c __ehfuncinfo$?StartupIdleVirtualProcessor@SchedulerBase@details@Concurrency@@QAE_NPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 0087519c libconcrtd:SchedulerBase.obj + 0003:000791c4 __unwindtable$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 008751c4 libconcrtd:SchedulerBase.obj + 0003:000791cc __ehfuncinfo$?StartupNewVirtualProcessor@SchedulerBase@details@Concurrency@@UAEXPAVScheduleGroupSegmentBase@23@Vlocation@3@@Z 008751cc libconcrtd:SchedulerBase.obj + 0003:000791f4 __unwindtable$?PushRunnableToInactive@SchedulerBase@details@Concurrency@@UAE_NPAVInternalContextBase@23@Vlocation@3@@Z 008751f4 libconcrtd:SchedulerBase.obj + 0003:000791fc __ehfuncinfo$?PushRunnableToInactive@SchedulerBase@details@Concurrency@@UAE_NPAVInternalContextBase@23@Vlocation@3@@Z 008751fc libconcrtd:SchedulerBase.obj + 0003:00079224 __unwindtable$?GetSubAllocator@SchedulerBase@details@Concurrency@@SAPAVSubAllocator@23@_N@Z 00875224 libconcrtd:SchedulerBase.obj + 0003:0007922c __ehfuncinfo$?GetSubAllocator@SchedulerBase@details@Concurrency@@SAPAVSubAllocator@23@_N@Z 0087522c libconcrtd:SchedulerBase.obj + 0003:00079254 __unwindtable$?AddContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00875254 libconcrtd:SchedulerBase.obj + 0003:0007925c __ehfuncinfo$?AddContext@SchedulerBase@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 0087525c libconcrtd:SchedulerBase.obj + 0003:00079284 __unwindtable$?GetBitSet@SchedulerBase@details@Concurrency@@QAE?AVQuickBitSet@23@PBVlocation@3@@Z 00875284 libconcrtd:SchedulerBase.obj + 0003:0007928c __ehfuncinfo$?GetBitSet@SchedulerBase@details@Concurrency@@QAE?AVQuickBitSet@23@PBVlocation@3@@Z 0087528c libconcrtd:SchedulerBase.obj + 0003:000792b4 __unwindtable$??0?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 008752b4 libconcrtd:SchedulerBase.obj + 0003:000792bc __ehfuncinfo$??0?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 008752bc libconcrtd:SchedulerBase.obj + 0003:000792e4 __ehfuncinfo$??1?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 008752e4 libconcrtd:SchedulerBase.obj + 0003:0007930c __unwindtable$?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z 0087530c libconcrtd:SchedulerBase.obj + 0003:00079314 __ehfuncinfo$?Add@?$ListArray@VScheduleGroupBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupBase@23@@Z 00875314 libconcrtd:SchedulerBase.obj + 0003:0007933c __unwindtable$?AddTail@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z 0087533c libconcrtd:SchedulerBase.obj + 0003:00079344 __ehfuncinfo$?AddTail@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEXPAVWaitNode@SchedulerBase@23@@Z 00875344 libconcrtd:SchedulerBase.obj + 0003:0007936c __unwindtable$?RemoveHead@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ 0087536c libconcrtd:SchedulerBase.obj + 0003:00079374 __ehfuncinfo$?RemoveHead@?$SafeRWList@VWaitNode@SchedulerBase@details@Concurrency@@VNoCount@CollectionTypes@34@V_ReaderWriterLock@34@@details@Concurrency@@QAEPAVWaitNode@SchedulerBase@23@XZ 00875374 libconcrtd:SchedulerBase.obj + 0003:0007939c __unwindtable$??0?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 0087539c libconcrtd:SchedulerBase.obj + 0003:000793a4 __ehfuncinfo$??0?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 008753a4 libconcrtd:SchedulerBase.obj + 0003:000793cc __ehfuncinfo$??1?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAE@XZ 008753cc libconcrtd:SchedulerBase.obj + 0003:000793f4 __unwindtable$?CheckStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 008753f4 libconcrtd:SchedulerBase.obj + 0003:000793fc __ehfuncinfo$?CheckStaticConstruction@SchedulerBase@details@Concurrency@@CAXXZ 008753fc libconcrtd:SchedulerBase.obj + 0003:00079424 __unwindtable$?StaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ 00875424 libconcrtd:SchedulerBase.obj + 0003:0007942c __ehfuncinfo$?StaticDestruction@SchedulerBase@details@Concurrency@@CAXXZ 0087542c libconcrtd:SchedulerBase.obj + 0003:00079454 __unwindtable$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ 00875454 libconcrtd:SchedulerBase.obj + 0003:00079474 __ehfuncinfo$?Initialize@SchedulerBase@details@Concurrency@@AAEXXZ 00875474 libconcrtd:SchedulerBase.obj + 0003:000794a0 __unwindtable$?GetExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z 008754a0 libconcrtd:SchedulerBase.obj + 0003:000794a8 __ehfuncinfo$?GetExternalContext@SchedulerBase@details@Concurrency@@AAEPAVExternalContextBase@23@_N@Z 008754a8 libconcrtd:SchedulerBase.obj + 0003:000794d0 __unwindtable$?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ 008754d0 libconcrtd:SchedulerBase.obj + 0003:000794e0 __ehfuncinfo$?GetDefaultScheduler@SchedulerBase@details@Concurrency@@CAPAV123@XZ 008754e0 libconcrtd:SchedulerBase.obj + 0003:0007950c __unwindtable$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z 0087550c libconcrtd:SchedulerBase.obj + 0003:00079524 __ehfuncinfo$?InternalCreateScheduleGroup@SchedulerBase@details@Concurrency@@AAEPAVScheduleGroup@3@PAVlocation@3@@Z 00875524 libconcrtd:SchedulerBase.obj + 0003:00079550 __unwindtable$??0CacheLocalScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 00875550 libconcrtd:SchedulerBase.obj + 0003:00079558 __ehfuncinfo$??0CacheLocalScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 00875558 libconcrtd:SchedulerBase.obj + 0003:00079580 __unwindtable$?Dequeue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 00875580 libconcrtd:SchedulerBase.obj + 0003:00079588 __ehfuncinfo$?Dequeue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@XZ 00875588 libconcrtd:SchedulerBase.obj + 0003:000795b0 __unwindtable$?AllocateSegment@CacheLocalScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 008755b0 libconcrtd:SchedulerBase.obj + 0003:000795b8 __ehfuncinfo$?AllocateSegment@CacheLocalScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 008755b8 libconcrtd:SchedulerBase.obj + 0003:000795e0 __unwindtable$??0FairScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 008755e0 libconcrtd:SchedulerBase.obj + 0003:000795e8 __ehfuncinfo$??0FairScheduleGroupSegment@details@Concurrency@@QAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 008755e8 libconcrtd:SchedulerBase.obj + 0003:00079610 __unwindtable$??0FairScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 00875610 libconcrtd:SchedulerBase.obj + 0003:00079618 __ehfuncinfo$??0FairScheduleGroup@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 00875618 libconcrtd:SchedulerBase.obj + 0003:00079640 __unwindtable$?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 00875640 libconcrtd:SchedulerBase.obj + 0003:00079650 __ehfuncinfo$?AllocateSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 00875650 libconcrtd:SchedulerBase.obj + 0003:0007978c __unwindtable$??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 0087578c libconcrtd:UMSThreadProxy.obj + 0003:00079794 __ehfuncinfo$??0UMSThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 00875794 libconcrtd:UMSThreadProxy.obj + 0003:000797bc __ehfuncinfo$??1UMSThreadProxy@details@Concurrency@@UAE@XZ 008757bc libconcrtd:UMSThreadProxy.obj + 0003:0007982c __ehfuncinfo$??1_Cancellation_beacon@details@Concurrency@@QAE@XZ 0087582c libconcrtd:ContextBase.obj + 0003:00079854 __ehfuncinfo$??1_Scoped_lock@_CriticalNonReentrantLock@details@Concurrency@@QAE@XZ 00875854 libconcrtd:ContextBase.obj + 0003:0007987c __unwindtable$?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 0087587c libconcrtd:ContextBase.obj + 0003:0007988c __ehfuncinfo$?GrowAndPush@?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEXPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 0087588c libconcrtd:ContextBase.obj + 0003:000798b8 __unwindtable$?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 008758b8 libconcrtd:ContextBase.obj + 0003:000798c8 __ehfuncinfo$?SyncPush@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEHPAV_UnrealizedChore@23@VSlot@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@23@@Z 008758c8 libconcrtd:ContextBase.obj + 0003:000798f4 __unwindtable$?SyncPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEPAV_UnrealizedChore@23@XZ 008758f4 libconcrtd:ContextBase.obj + 0003:000798fc __ehfuncinfo$?SyncPop@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@AAEPAV_UnrealizedChore@23@XZ 008758fc libconcrtd:ContextBase.obj + 0003:00079924 __unwindtable$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 00875924 libconcrtd:ContextBase.obj + 0003:0007993c __ehfuncinfo$??0ContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 0087593c libconcrtd:ContextBase.obj + 0003:00079968 __unwindtable$?CreateWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 00875968 libconcrtd:ContextBase.obj + 0003:00079970 __ehfuncinfo$?CreateWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 00875970 libconcrtd:ContextBase.obj + 0003:00079998 __unwindtable$?CreateStructuredWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 00875998 libconcrtd:ContextBase.obj + 0003:000799a0 __ehfuncinfo$?CreateStructuredWorkQueue@ContextBase@details@Concurrency@@QAEXXZ 008759a0 libconcrtd:ContextBase.obj + 0003:000799c8 __sehtable$?DetachStealers@ContextBase@details@Concurrency@@QAEXXZ 008759c8 libconcrtd:ContextBase.obj + 0003:000799f4 __unwindtable$?CancelStealers@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 008759f4 libconcrtd:ContextBase.obj + 0003:000799fc __ehfuncinfo$?CancelStealers@ContextBase@details@Concurrency@@QAEXPAV_TaskCollectionBase@23@@Z 008759fc libconcrtd:ContextBase.obj + 0003:00079a24 __unwindtable$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00875a24 libconcrtd:ContextBase.obj + 0003:00079a2c __ehfuncinfo$?AddTail@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00875a2c libconcrtd:ContextBase.obj + 0003:00079a54 __unwindtable$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00875a54 libconcrtd:ContextBase.obj + 0003:00079a5c __ehfuncinfo$?Remove@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEXPAUListEntry@23@@Z 00875a5c libconcrtd:ContextBase.obj + 0003:00079a84 __ehfuncinfo$??1?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAE@XZ 00875a84 libconcrtd:ContextBase.obj + 0003:00079aac __unwindtable$?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ 00875aac libconcrtd:ContextBase.obj + 0003:00079abc __ehfuncinfo$?Grow@CancellationBeaconStack@ContextBase@details@Concurrency@@AAEXXZ 00875abc libconcrtd:ContextBase.obj + 0003:00079ae8 __unwindtable$?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z 00875ae8 libconcrtd:ContextBase.obj + 0003:00079af0 __ehfuncinfo$?Add@?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAEHPAVWorkQueue@23@@Z 00875af0 libconcrtd:ContextBase.obj + 0003:00079b18 __ehfuncinfo$??1_Scoped_lock_read@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 00875b18 libconcrtd:ContextBase.obj + 0003:00079b40 __ehfuncinfo$??1exception_ptr@std@@QAE@XZ 00875b40 libconcrtd:TaskCollection.obj + 0003:00079b68 __ehfuncinfo$??1_StructuredTaskCollection@details@Concurrency@@QAE@XZ 00875b68 libconcrtd:TaskCollection.obj + 0003:00079b90 __unwindtable$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875b90 libconcrtd:TaskCollection.obj + 0003:00079ba0 __tryblocktable$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875ba0 libconcrtd:TaskCollection.obj + 0003:00079bb4 __catchsym$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$3 00875bb4 libconcrtd:TaskCollection.obj + 0003:00079bd4 __ehfuncinfo$?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875bd4 libconcrtd:TaskCollection.obj + 0003:00079c04 __unwindtable$??0_TaskCollection@details@Concurrency@@QAE@XZ 00875c04 libconcrtd:TaskCollection.obj + 0003:00079c0c __ehfuncinfo$??0_TaskCollection@details@Concurrency@@QAE@XZ 00875c0c libconcrtd:TaskCollection.obj + 0003:00079c34 __unwindtable$??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 00875c34 libconcrtd:TaskCollection.obj + 0003:00079c3c __ehfuncinfo$??0_TaskCollection@details@Concurrency@@QAE@PAV_CancellationTokenState@12@@Z 00875c3c libconcrtd:TaskCollection.obj + 0003:00079c64 __ehfuncinfo$??1_TaskCollection@details@Concurrency@@QAE@XZ 00875c64 libconcrtd:TaskCollection.obj + 0003:00079c8c __catchsym$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z$3 00875c8c libconcrtd:TaskCollection.obj + 0003:00079c9c __tryblocktable$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 00875c9c libconcrtd:TaskCollection.obj + 0003:00079cb0 __unwindtable$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 00875cb0 libconcrtd:TaskCollection.obj + 0003:00079cc8 __ehfuncinfo$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@PAVlocation@3@@Z 00875cc8 libconcrtd:TaskCollection.obj + 0003:00079cf8 __catchsym$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z$3 00875cf8 libconcrtd:TaskCollection.obj + 0003:00079d08 __tryblocktable$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 00875d08 libconcrtd:TaskCollection.obj + 0003:00079d1c __unwindtable$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 00875d1c libconcrtd:TaskCollection.obj + 0003:00079d34 __ehfuncinfo$?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z 00875d34 libconcrtd:TaskCollection.obj + 0003:00079d64 __unwindtable$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875d64 libconcrtd:TaskCollection.obj + 0003:00079d74 __tryblocktable$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875d74 libconcrtd:TaskCollection.obj + 0003:00079d88 __catchsym$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z$3 00875d88 libconcrtd:TaskCollection.obj + 0003:00079da8 __ehfuncinfo$?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z 00875da8 libconcrtd:TaskCollection.obj + 0003:00079dd8 __unwindtable$??0_TaskCollection@details@Concurrency@@AAE@PAV012@_N@Z 00875dd8 libconcrtd:TaskCollection.obj + 0003:00079de0 __ehfuncinfo$??0_TaskCollection@details@Concurrency@@AAE@PAV012@_N@Z 00875de0 libconcrtd:TaskCollection.obj + 0003:00079e08 __unwindtable$?_Alias@_TaskCollection@details@Concurrency@@AAEPAV123@XZ 00875e08 libconcrtd:TaskCollection.obj + 0003:00079e10 __ehfuncinfo$?_Alias@_TaskCollection@details@Concurrency@@AAEPAV123@XZ 00875e10 libconcrtd:TaskCollection.obj + 0003:00079e38 __unwindtable$?_FullAliasWait@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 00875e38 libconcrtd:TaskCollection.obj + 0003:00079e40 __ehfuncinfo$?_FullAliasWait@_TaskCollection@details@Concurrency@@AAEXPAV123@@Z 00875e40 libconcrtd:TaskCollection.obj + 0003:00079e68 __unwindtable$?_CancelStolenContexts@_TaskCollection@details@Concurrency@@AAEX_N0@Z 00875e68 libconcrtd:TaskCollection.obj + 0003:00079e70 __ehfuncinfo$?_CancelStolenContexts@_TaskCollection@details@Concurrency@@AAEX_N0@Z 00875e70 libconcrtd:TaskCollection.obj + 0003:00079e98 __unwindtable$?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z 00875e98 libconcrtd:TaskCollection.obj + 0003:00079ea0 __ehfuncinfo$?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPAV123@PAV_CancellationTokenState@23@@Z 00875ea0 libconcrtd:TaskCollection.obj + 0003:00079ec8 __unwindtable$??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z 00875ec8 libconcrtd:TaskCollection.obj + 0003:00079ed8 __ehfuncinfo$??0_AsyncTaskCollection@details@Concurrency@@AAE@PAV_CancellationTokenState@12@@Z 00875ed8 libconcrtd:TaskCollection.obj + 0003:00079f04 __ehfuncinfo$??1?$lock_guard@Vmutex@std@@@std@@QAE@XZ 00875f04 libconcrtd:TaskCollection.obj + 0003:00079f2c __unwindtable$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 00875f2c libconcrtd:TaskCollection.obj + 0003:00079f34 __ehfuncinfo$??0_CancellationTokenRegistration@details@Concurrency@@QAE@J@Z 00875f34 libconcrtd:TaskCollection.obj + 0003:00079f5c __unwindtable$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 00875f5c libconcrtd:TaskCollection.obj + 0003:00079f64 __ehfuncinfo$?push_back@TokenRegistrationContainer@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@34@@Z 00875f64 libconcrtd:TaskCollection.obj + 0003:00079f8c __unwindtable$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 00875f8c libconcrtd:TaskCollection.obj + 0003:00079f94 __ehfuncinfo$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEPAV_CancellationTokenRegistration@23@P6AXPAX@Z0H@Z 00875f94 libconcrtd:TaskCollection.obj + 0003:00079fbc __unwindtable$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00875fbc libconcrtd:TaskCollection.obj + 0003:00079fc4 __ehfuncinfo$?_RegisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00875fc4 libconcrtd:TaskCollection.obj + 0003:00079fec __unwindtable$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00875fec libconcrtd:TaskCollection.obj + 0003:00079ffc __ehfuncinfo$?_DeregisterCallback@_CancellationTokenState@details@Concurrency@@QAEXPAV_CancellationTokenRegistration@23@@Z 00875ffc libconcrtd:TaskCollection.obj + 0003:0007a028 __unwindtable$?Insert@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@0@Z 00876028 libconcrtd:TaskCollection.obj + 0003:0007a030 __ehfuncinfo$?Insert@?$Hash@PAV_TaskCollection@details@Concurrency@@PAV123@@details@Concurrency@@QAEPAUListNode@123@ABQAV_TaskCollection@23@0@Z 00876030 libconcrtd:TaskCollection.obj + 0003:0007a124 __catchsym$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z$2 00876124 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a134 __unwindtable$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z 00876134 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a144 __tryblocktable$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z 00876144 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a158 __ehfuncinfo$?_Initialize@SchedulerPolicy@Concurrency@@AAEXIPAPAD@Z 00876158 libconcrtd:SchedulerPolicyBase.obj + 0003:0007a250 __ehfuncinfo$??1_Scoped_lock@_ReentrantBlockingLock@details@Concurrency@@QAE@XZ 00876250 libconcrtd:SchedulerProxy.obj + 0003:0007a278 __unwindtable$??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 00876278 libconcrtd:SchedulerProxy.obj + 0003:0007a288 __ehfuncinfo$??0SchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 00876288 libconcrtd:SchedulerProxy.obj + 0003:0007a2b4 __unwindtable$?CreateOversubscriber@SchedulerProxy@details@Concurrency@@UAEPAUIVirtualProcessorRoot@3@PAUIExecutionResource@3@@Z 008762b4 libconcrtd:SchedulerProxy.obj + 0003:0007a2bc __ehfuncinfo$?CreateOversubscriber@SchedulerProxy@details@Concurrency@@UAEPAUIVirtualProcessorRoot@3@PAUIExecutionResource@3@@Z 008762bc libconcrtd:SchedulerProxy.obj + 0003:0007a2e4 __unwindtable$?CreateExternalThreadResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAUSchedulerNode@23@I@Z 008762e4 libconcrtd:SchedulerProxy.obj + 0003:0007a2ec __ehfuncinfo$?CreateExternalThreadResource@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAUSchedulerNode@23@I@Z 008762ec libconcrtd:SchedulerProxy.obj + 0003:0007a314 __unwindtable$?CreateVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 00876314 libconcrtd:SchedulerProxy.obj + 0003:0007a31c __ehfuncinfo$?CreateVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 0087631c libconcrtd:SchedulerProxy.obj + 0003:0007a344 __unwindtable$?AddVirtualProcessorRoots@SchedulerProxy@details@Concurrency@@QAEXPAPAUIVirtualProcessorRoot@3@I@Z 00876344 libconcrtd:SchedulerProxy.obj + 0003:0007a34c __ehfuncinfo$?AddVirtualProcessorRoots@SchedulerProxy@details@Concurrency@@QAEXPAPAUIVirtualProcessorRoot@3@I@Z 0087634c libconcrtd:SchedulerProxy.obj + 0003:0007a374 __unwindtable$?RemoveCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z 00876374 libconcrtd:SchedulerProxy.obj + 0003:0007a37c __ehfuncinfo$?RemoveCore@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerNode@23@I@Z 0087637c libconcrtd:SchedulerProxy.obj + 0003:0007a3a4 __unwindtable$?SendCoreNotification@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerCore@23@_N@Z 008763a4 libconcrtd:SchedulerProxy.obj + 0003:0007a3ac __ehfuncinfo$?SendCoreNotification@SchedulerProxy@details@Concurrency@@QAEXPAUSchedulerCore@23@_N@Z 008763ac libconcrtd:SchedulerProxy.obj + 0003:0007a3d4 __unwindtable$?DestroyVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 008763d4 libconcrtd:SchedulerProxy.obj + 0003:0007a3dc __ehfuncinfo$?DestroyVirtualProcessorRoot@SchedulerProxy@details@Concurrency@@QAEXPAVVirtualProcessorRoot@23@@Z 008763dc libconcrtd:SchedulerProxy.obj + 0003:0007a404 __unwindtable$?DestroyExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 00876404 libconcrtd:SchedulerProxy.obj + 0003:0007a40c __ehfuncinfo$?DestroyExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 0087640c libconcrtd:SchedulerProxy.obj + 0003:0007a434 __unwindtable$?AddExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 00876434 libconcrtd:SchedulerProxy.obj + 0003:0007a43c __ehfuncinfo$?AddExecutionResource@SchedulerProxy@details@Concurrency@@QAEXPAVExecutionResource@23@@Z 0087643c libconcrtd:SchedulerProxy.obj + 0003:0007a464 __unwindtable$?GetResourceForNewSubscription@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAV423@@Z 00876464 libconcrtd:SchedulerProxy.obj + 0003:0007a46c __ehfuncinfo$?GetResourceForNewSubscription@SchedulerProxy@details@Concurrency@@QAEPAVExecutionResource@23@PAV423@@Z 0087646c libconcrtd:SchedulerProxy.obj + 0003:0007a494 __ehfuncinfo$??1SchedulerProxy@details@Concurrency@@IAE@XZ 00876494 libconcrtd:SchedulerProxy.obj + 0003:0007a4bc __unwindtable$??0FreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 008764bc libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a4c4 __ehfuncinfo$??0FreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@I@Z 008764c4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a4ec __unwindtable$??0UMSFreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 008764ec libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a4f4 __ehfuncinfo$??0UMSFreeThreadProxy@details@Concurrency@@QAE@PAUIThreadProxyFactory@12@PAXI@Z 008764f4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a51c __unwindtable$??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 0087651c libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a524 __ehfuncinfo$??0?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 00876524 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a54c __unwindtable$?CreateFactory@FreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 0087654c libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a554 __ehfuncinfo$?CreateFactory@FreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 00876554 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a57c __unwindtable$?Create@FreeThreadProxyFactory@details@Concurrency@@EAEPAVFreeThreadProxy@23@I@Z 0087657c libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a584 __ehfuncinfo$?Create@FreeThreadProxyFactory@details@Concurrency@@EAEPAVFreeThreadProxy@23@I@Z 00876584 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a5ac __unwindtable$??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 008765ac libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a5b4 __ehfuncinfo$??0?$ThreadProxyFactory@VUMSFreeThreadProxy@details@Concurrency@@@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 008765b4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a5dc __unwindtable$?CreateFactory@UMSFreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 008765dc libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a5e4 __ehfuncinfo$?CreateFactory@UMSFreeThreadProxyFactory@details@Concurrency@@SAPAV123@PAVThreadProxyFactoryManager@23@@Z 008765e4 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a60c __unwindtable$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 0087660c libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a624 __ehfuncinfo$??0UMSFreeThreadProxyFactory@details@Concurrency@@IAE@PAVThreadProxyFactoryManager@12@@Z 00876624 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a650 __unwindtable$?Create@UMSFreeThreadProxyFactory@details@Concurrency@@EAEPAVUMSFreeThreadProxy@23@I@Z 00876650 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a658 __ehfuncinfo$?Create@UMSFreeThreadProxyFactory@details@Concurrency@@EAEPAVUMSFreeThreadProxy@23@I@Z 00876658 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a680 __unwindtable$??0ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 00876680 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a688 __ehfuncinfo$??0ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 00876688 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a6b0 __ehfuncinfo$??1ThreadProxyFactoryManager@details@Concurrency@@QAE@XZ 008766b0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a6d8 __unwindtable$?GetFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVFreeThreadProxyFactory@23@XZ 008766d8 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a6e0 __ehfuncinfo$?GetFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVFreeThreadProxyFactory@23@XZ 008766e0 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a708 __unwindtable$?GetUMSFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVUMSFreeThreadProxyFactory@23@XZ 00876708 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a710 __ehfuncinfo$?GetUMSFreeThreadProxyFactory@ThreadProxyFactoryManager@details@Concurrency@@QAEPAVUMSFreeThreadProxyFactory@23@XZ 00876710 libconcrtd:ThreadProxyFactoryManager.obj + 0003:0007a738 __unwindtable$?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ 00876738 libconcrtd:Trace.obj + 0003:0007a740 __ehfuncinfo$?_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ 00876740 libconcrtd:Trace.obj + 0003:0007a768 __ehfuncinfo$??0Etw@details@Concurrency@@AAE@XZ 00876768 libconcrtd:Trace.obj + 0003:0007a790 __unwindtable$?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z 00876790 libconcrtd:InternalContextBase.obj + 0003:0007a7a0 __ehfuncinfo$?GrowAndPush@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@AAEXPAVInternalContextBase@23@VSlot@?$Mailbox@VInternalContextBase@details@Concurrency@@@23@@Z 008767a0 libconcrtd:InternalContextBase.obj + 0003:0007a7cc __ehfuncinfo$??1ScopedCriticalRegion@ContextBase@details@Concurrency@@QAE@XZ 008767cc libconcrtd:InternalContextBase.obj + 0003:0007a7f4 __ehfuncinfo$??1InternalContextBase@details@Concurrency@@UAE@XZ 008767f4 libconcrtd:InternalContextBase.obj + 0003:0007a81c __unwindtable$?Dispatch@InternalContextBase@details@Concurrency@@UAEXPAUDispatchState@3@@Z 0087681c libconcrtd:InternalContextBase.obj + 0003:0007a824 __ehfuncinfo$?Dispatch@InternalContextBase@details@Concurrency@@UAEXPAUDispatchState@3@@Z 00876824 libconcrtd:InternalContextBase.obj + 0003:0007a84c __unwindtable$?Alloc@InternalContextBase@details@Concurrency@@UAEPAXI@Z 0087684c libconcrtd:InternalContextBase.obj + 0003:0007a854 __ehfuncinfo$?Alloc@InternalContextBase@details@Concurrency@@UAEPAXI@Z 00876854 libconcrtd:InternalContextBase.obj + 0003:0007a87c __unwindtable$?AddToRunnables@InternalContextBase@details@Concurrency@@MAEXVlocation@3@@Z 0087687c libconcrtd:InternalContextBase.obj + 0003:0007a884 __ehfuncinfo$?AddToRunnables@InternalContextBase@details@Concurrency@@MAEXVlocation@3@@Z 00876884 libconcrtd:InternalContextBase.obj + 0003:0007a8ac __unwindtable$?SwitchTo@InternalContextBase@details@Concurrency@@IAEXPAV123@W4ReasonForSwitch@123@@Z 008768ac libconcrtd:InternalContextBase.obj + 0003:0007a8b4 __ehfuncinfo$?SwitchTo@InternalContextBase@details@Concurrency@@IAEXPAV123@W4ReasonForSwitch@123@@Z 008768b4 libconcrtd:InternalContextBase.obj + 0003:0007a9ec __unwindtable$??0VirtualProcessor@details@Concurrency@@QAE@XZ 008769ec libconcrtd:VirtualProcessor.obj + 0003:0007aa04 __ehfuncinfo$??0VirtualProcessor@details@Concurrency@@QAE@XZ 00876a04 libconcrtd:VirtualProcessor.obj + 0003:0007aa30 __ehfuncinfo$??1VirtualProcessor@details@Concurrency@@UAE@XZ 00876a30 libconcrtd:VirtualProcessor.obj + 0003:0007aa58 __unwindtable$??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z 00876a58 libconcrtd:VirtualProcessor.obj + 0003:0007aa60 __ehfuncinfo$??0?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAE@PAV_HyperNonReentrantLock@12@@Z 00876a60 libconcrtd:VirtualProcessor.obj + 0003:0007aa88 __unwindtable$?Initialize@VirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00876a88 libconcrtd:VirtualProcessor.obj + 0003:0007aa90 __ehfuncinfo$?Initialize@VirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00876a90 libconcrtd:VirtualProcessor.obj + 0003:0007aab8 __unwindtable$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00876ab8 libconcrtd:SchedulingNode.obj + 0003:0007aac0 __ehfuncinfo$?Steal@?$StructuredWorkStealingQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVInternalContextBase@23@_N@Z 00876ac0 libconcrtd:SchedulingNode.obj + 0003:0007aae8 __unwindtable$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z 00876ae8 libconcrtd:SchedulingNode.obj + 0003:0007ab00 __ehfuncinfo$??0SchedulingNode@details@Concurrency@@QAE@ABVQuickBitSet@12@KPAVSchedulingRing@12@@Z 00876b00 libconcrtd:SchedulingNode.obj + 0003:0007ab2c __ehfuncinfo$??1SchedulingNode@details@Concurrency@@QAE@XZ 00876b2c libconcrtd:SchedulingNode.obj + 0003:0007ab54 __unwindtable$??0?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876b54 libconcrtd:SchedulingNode.obj + 0003:0007ab5c __ehfuncinfo$??0?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876b5c libconcrtd:SchedulingNode.obj + 0003:0007ab84 __ehfuncinfo$??1?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAE@XZ 00876b84 libconcrtd:SchedulingNode.obj + 0003:0007abac __unwindtable$?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z 00876bac libconcrtd:SchedulingNode.obj + 0003:0007abb4 __ehfuncinfo$?Add@?$ListArray@VVirtualProcessor@details@Concurrency@@@details@Concurrency@@QAEHPAVVirtualProcessor@23@@Z 00876bb4 libconcrtd:SchedulingNode.obj + 0003:0007abdc __unwindtable$?FoundAvailableVirtualProcessor@SchedulingNode@details@Concurrency@@AAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 00876bdc libconcrtd:SchedulingNode.obj + 0003:0007abe4 __ehfuncinfo$?FoundAvailableVirtualProcessor@SchedulingNode@details@Concurrency@@AAE_NAAVClaimTicket@VirtualProcessor@23@Vlocation@3@K@Z 00876be4 libconcrtd:SchedulingNode.obj + 0003:0007ac0c __ehfuncinfo$??1AllocatorBucket@details@Concurrency@@QAE@XZ 00876c0c libconcrtd:SubAllocator.obj + 0003:0007ac34 __unwindtable$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z 00876c34 libconcrtd:SchedulingRing.obj + 0003:0007ac4c __ehfuncinfo$??0SchedulingRing@details@Concurrency@@QAE@PAVSchedulerBase@12@H@Z 00876c4c libconcrtd:SchedulingRing.obj + 0003:0007ac78 __unwindtable$??0?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876c78 libconcrtd:SchedulingRing.obj + 0003:0007ac80 __ehfuncinfo$??0?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876c80 libconcrtd:SchedulingRing.obj + 0003:0007aca8 __ehfuncinfo$??1?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAE@XZ 00876ca8 libconcrtd:SchedulingRing.obj + 0003:0007acd0 __unwindtable$??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z 00876cd0 libconcrtd:ScheduleGroupBase.obj + 0003:0007ace0 __ehfuncinfo$??0?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@ABVQuickBitSet@12@_NI@Z 00876ce0 libconcrtd:ScheduleGroupBase.obj + 0003:0007ad0c __ehfuncinfo$??1?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@XZ 00876d0c libconcrtd:ScheduleGroupBase.obj + 0003:0007ad34 __unwindtable$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00876d34 libconcrtd:ScheduleGroupBase.obj + 0003:0007ad3c __ehfuncinfo$?Grow@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEPAUSegment@123@PAU4123@@Z 00876d3c libconcrtd:ScheduleGroupBase.obj + 0003:0007ad64 __unwindtable$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00876d64 libconcrtd:ScheduleGroupBase.obj + 0003:0007ad6c __ehfuncinfo$?DemandInitialize@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@AAEXXZ 00876d6c libconcrtd:ScheduleGroupBase.obj + 0003:0007ad94 __unwindtable$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00876d94 libconcrtd:ScheduleGroupBase.obj + 0003:0007ad9c __ehfuncinfo$?Add@?$ListArray@VExternalStatistics@details@Concurrency@@@details@Concurrency@@QAEHPAVExternalStatistics@23@@Z 00876d9c libconcrtd:ScheduleGroupBase.obj + 0003:0007adc4 __unwindtable$?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z 00876dc4 libconcrtd:ScheduleGroupBase.obj + 0003:0007adcc __ehfuncinfo$?Add@?$ListArray@VScheduleGroupSegmentBase@details@Concurrency@@@details@Concurrency@@QAEHPAVScheduleGroupSegmentBase@23@@Z 00876dcc libconcrtd:ScheduleGroupBase.obj + 0003:0007adf4 __ehfuncinfo$??1ScheduleGroupSegmentBase@details@Concurrency@@UAE@XZ 00876df4 libconcrtd:ScheduleGroupBase.obj + 0003:0007ae1c __unwindtable$?ScheduleTask@ScheduleGroupSegmentBase@details@Concurrency@@QAEXP6AXPAX@Z0@Z 00876e1c libconcrtd:ScheduleGroupBase.obj + 0003:0007ae24 __ehfuncinfo$?ScheduleTask@ScheduleGroupSegmentBase@details@Concurrency@@QAEXP6AXPAX@Z0@Z 00876e24 libconcrtd:ScheduleGroupBase.obj + 0003:0007ae4c __ehfuncinfo$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 00876e4c libconcrtd:ScheduleGroupBase.obj + 0003:0007ae70 __unwindtable$??0ScheduleGroupSegmentBase@details@Concurrency@@IAE@PAVScheduleGroupBase@12@PAVSchedulingRing@12@PAVlocation@2@@Z 00876e70 libconcrtd:ScheduleGroupBase.obj + 0003:0007aeb4 __unwindtable$?Initialize@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVScheduleGroupBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 00876eb4 libconcrtd:ScheduleGroupBase.obj + 0003:0007aebc __ehfuncinfo$?Initialize@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVScheduleGroupBase@23@PAVSchedulingRing@23@PAVlocation@3@@Z 00876ebc libconcrtd:ScheduleGroupBase.obj + 0003:0007aee4 __unwindtable$?AddRunnableContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@Vlocation@3@@Z 00876ee4 libconcrtd:ScheduleGroupBase.obj + 0003:0007aeec __ehfuncinfo$?AddRunnableContext@ScheduleGroupSegmentBase@details@Concurrency@@IAEXPAVInternalContextBase@23@Vlocation@3@@Z 00876eec libconcrtd:ScheduleGroupBase.obj + 0003:0007af14 __unwindtable$?Enqueue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 00876f14 libconcrtd:ScheduleGroupBase.obj + 0003:0007af1c __ehfuncinfo$?Enqueue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVRealizedChore@23@@Z 00876f1c libconcrtd:ScheduleGroupBase.obj + 0003:0007af44 __unwindtable$?Dequeue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 00876f44 libconcrtd:ScheduleGroupBase.obj + 0003:0007af4c __ehfuncinfo$?Dequeue@?$SafeSQueue@VRealizedChore@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEPAVRealizedChore@23@XZ 00876f4c libconcrtd:ScheduleGroupBase.obj + 0003:0007af74 __unwindtable$??0?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876f74 libconcrtd:ScheduleGroupBase.obj + 0003:0007af7c __ehfuncinfo$??0?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876f7c libconcrtd:ScheduleGroupBase.obj + 0003:0007afa4 __ehfuncinfo$??1?$ListArray@VWorkQueue@details@Concurrency@@@details@Concurrency@@QAE@XZ 00876fa4 libconcrtd:ScheduleGroupBase.obj + 0003:0007afcc __unwindtable$??0?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876fcc libconcrtd:ScheduleGroupBase.obj + 0003:0007afd4 __ehfuncinfo$??0?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@12@HH@Z 00876fd4 libconcrtd:ScheduleGroupBase.obj + 0003:0007affc __ehfuncinfo$??1?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAE@XZ 00876ffc libconcrtd:ScheduleGroupBase.obj + 0003:0007b024 __unwindtable$?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 00877024 libconcrtd:ScheduleGroupBase.obj + 0003:0007b02c __ehfuncinfo$?Add@?$ListArray@U?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@details@Concurrency@@@details@Concurrency@@QAEHPAU?$ListArrayInlineLink@VWorkQueue@details@Concurrency@@@23@@Z 0087702c libconcrtd:ScheduleGroupBase.obj + 0003:0007b054 __unwindtable$??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 00877054 libconcrtd:ScheduleGroupBase.obj + 0003:0007b064 __ehfuncinfo$??0ScheduleGroupBase@details@Concurrency@@QAE@PAVSchedulerBase@12@PAVlocation@2@@Z 00877064 libconcrtd:ScheduleGroupBase.obj + 0003:0007b090 __unwindtable$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 00877090 libconcrtd:ScheduleGroupBase.obj + 0003:0007b0a8 __ehfuncinfo$?LocateSegment@ScheduleGroupBase@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 008770a8 libconcrtd:ScheduleGroupBase.obj + 0003:0007b0d4 __unwindtable$?FindSegment@ScheduleGroupBase@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 008770d4 libconcrtd:ScheduleGroupBase.obj + 0003:0007b0dc __ehfuncinfo$?FindSegment@ScheduleGroupBase@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 008770dc libconcrtd:ScheduleGroupBase.obj + 0003:0007b104 __unwindtable$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 00877104 libconcrtd:ScheduleGroupBase.obj + 0003:0007b10c __ehfuncinfo$??0Segment@?$Mailbox@V_UnrealizedChore@details@Concurrency@@@details@Concurrency@@QAE@PAVSchedulerBase@23@ABVQuickBitSet@23@II@Z 0087710c libconcrtd:ScheduleGroupBase.obj + 0003:0007b134 __unwindtable$??IQuickBitSet@details@Concurrency@@QBE?AV012@ABV012@@Z 00877134 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b13c __ehfuncinfo$??IQuickBitSet@details@Concurrency@@QBE?AV012@ABV012@@Z 0087713c libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b164 __unwindtable$?PostAffinityMessage@SchedulerBase@details@Concurrency@@QAEXABVQuickBitSet@23@@Z 00877164 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b16c __ehfuncinfo$?PostAffinityMessage@SchedulerBase@details@Concurrency@@QAEXABVQuickBitSet@23@@Z 0087716c libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b194 __unwindtable$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 00877194 libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b19c __ehfuncinfo$?Enqueue@?$SafeSQueue@VInternalContextBase@details@Concurrency@@V_HyperNonReentrantLock@23@@details@Concurrency@@QAEXPAVInternalContextBase@23@@Z 0087719c libconcrtd:CacheLocalScheduleGroup.obj + 0003:0007b1c4 __unwindtable$?LocateSegment@FairScheduleGroup@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 008771c4 libconcrtd:FairScheduleGroup.obj + 0003:0007b1cc __ehfuncinfo$?LocateSegment@FairScheduleGroup@details@Concurrency@@UAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@_N@Z 008771cc libconcrtd:FairScheduleGroup.obj + 0003:0007b1f4 __unwindtable$?FindSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 008771f4 libconcrtd:FairScheduleGroup.obj + 0003:0007b1fc __ehfuncinfo$?FindSegment@FairScheduleGroup@details@Concurrency@@MAEPAVScheduleGroupSegmentBase@23@PAVlocation@3@PAVSchedulingRing@23@@Z 008771fc libconcrtd:FairScheduleGroup.obj + 0003:0007b224 __unwindtable$??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 00877224 libconcrtd:ExternalContextBase.obj + 0003:0007b234 __ehfuncinfo$??0ExternalContextBase@details@Concurrency@@QAE@PAVSchedulerBase@12@_N@Z 00877234 libconcrtd:ExternalContextBase.obj + 0003:0007b260 __ehfuncinfo$??1ExternalContextBase@details@Concurrency@@UAE@XZ 00877260 libconcrtd:ExternalContextBase.obj + 0003:0007b288 __unwindtable$?Create@ThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 00877288 libconcrtd:ThreadScheduler.obj + 0003:0007b290 __ehfuncinfo$?Create@ThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 00877290 libconcrtd:ThreadScheduler.obj + 0003:0007b2b8 __unwindtable$?CreateVirtualProcessor@ThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 008772b8 libconcrtd:ThreadScheduler.obj + 0003:0007b2c0 __ehfuncinfo$?CreateVirtualProcessor@ThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 008772c0 libconcrtd:ThreadScheduler.obj + 0003:0007b2e8 __unwindtable$?CreateInternalContext@ThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 008772e8 libconcrtd:ThreadScheduler.obj + 0003:0007b2f0 __ehfuncinfo$?CreateInternalContext@ThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 008772f0 libconcrtd:ThreadScheduler.obj + 0003:0007b318 __unwindtable$?Create@UMSThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 00877318 libconcrtd:UMSThreadScheduler.obj + 0003:0007b320 __ehfuncinfo$?Create@UMSThreadScheduler@details@Concurrency@@SAPAV123@ABVSchedulerPolicy@3@@Z 00877320 libconcrtd:UMSThreadScheduler.obj + 0003:0007b348 __unwindtable$?CreateVirtualProcessor@UMSThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00877348 libconcrtd:UMSThreadScheduler.obj + 0003:0007b350 __ehfuncinfo$?CreateVirtualProcessor@UMSThreadScheduler@details@Concurrency@@UAEPAVVirtualProcessor@23@PAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00877350 libconcrtd:UMSThreadScheduler.obj + 0003:0007b378 __unwindtable$?MoveCompletionListToRunnables@UMSThreadScheduler@details@Concurrency@@QAE_NVlocation@3@@Z 00877378 libconcrtd:UMSThreadScheduler.obj + 0003:0007b380 __ehfuncinfo$?MoveCompletionListToRunnables@UMSThreadScheduler@details@Concurrency@@QAE_NVlocation@3@@Z 00877380 libconcrtd:UMSThreadScheduler.obj + 0003:0007b3a8 __unwindtable$?CreateInternalContext@UMSThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 008773a8 libconcrtd:UMSThreadScheduler.obj + 0003:0007b3b0 __ehfuncinfo$?CreateInternalContext@UMSThreadScheduler@details@Concurrency@@MAEPAVInternalContextBase@23@XZ 008773b0 libconcrtd:UMSThreadScheduler.obj + 0003:0007b3d8 __unwindtable$??0UMSThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 008773d8 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0007b3e0 __ehfuncinfo$??0UMSThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 008773e0 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0007b408 __unwindtable$?Initialize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00877408 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0007b410 __ehfuncinfo$?Initialize@UMSThreadVirtualProcessor@details@Concurrency@@MAEXPAVSchedulingNode@23@PAUIVirtualProcessorRoot@3@@Z 00877410 libconcrtd:UMSThreadVirtualProcessor.obj + 0003:0007b438 __unwindtable$??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ 00877438 libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b448 __ehfuncinfo$??0TransmogrifiedPrimary@details@Concurrency@@QAE@XZ 00877448 libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b474 __ehfuncinfo$??1TransmogrifiedPrimary@details@Concurrency@@UAE@XZ 00877474 libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b49c __unwindtable$?Enqueue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 0087749c libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b4a4 __ehfuncinfo$?Enqueue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEXPAVUMSThreadProxy@23@@Z 008774a4 libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b4cc __unwindtable$?Dequeue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 008774cc libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b4d4 __ehfuncinfo$?Dequeue@?$SafeSQueue@VUMSThreadProxy@details@Concurrency@@V_NonReentrantLock@23@@details@Concurrency@@QAEPAVUMSThreadProxy@23@XZ 008774d4 libconcrtd:TransmogrifiedPrimary.obj + 0003:0007b4fc __unwindtable$?RemoveHead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUListEntry@23@XZ 008774fc libconcrtd:Transmogrificator.obj + 0003:0007b504 __ehfuncinfo$?RemoveHead@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAEPAUListEntry@23@XZ 00877504 libconcrtd:Transmogrificator.obj + 0003:0007b52c __ehfuncinfo$??1Transmogrificator@details@Concurrency@@QAE@XZ 0087752c libconcrtd:Transmogrificator.obj + 0003:0007b554 __unwindtable$?BeginTransmogrifying@Transmogrificator@details@Concurrency@@AAEXXZ 00877554 libconcrtd:Transmogrificator.obj + 0003:0007b55c __ehfuncinfo$?BeginTransmogrifying@Transmogrificator@details@Concurrency@@AAEXXZ 0087755c libconcrtd:Transmogrificator.obj + 0003:0007b584 __ehfuncinfo$??0exception_ptr@std@@QAE@XZ 00877584 libconcrtd:TaskCollectionBase.obj + 0003:0007b5ac __ehfuncinfo$??0exception_ptr@std@@QAE@ABV01@@Z 008775ac libconcrtd:TaskCollectionBase.obj + 0003:0007b5d4 __ehfuncinfo$?_Current_exception@exception_ptr@std@@SA?AV12@XZ 008775d4 libconcrtd:TaskCollectionBase.obj + 0003:0007b5fc __unwindtable$?rethrow_exception@std@@YAXVexception_ptr@1@@Z 008775fc libconcrtd:TaskCollectionBase.obj + 0003:0007b604 __ehfuncinfo$?rethrow_exception@std@@YAXVexception_ptr@1@@Z 00877604 libconcrtd:TaskCollectionBase.obj + 0003:0007b62c __unwindtable$?_RethrowException@_TaskCollectionBase@details@Concurrency@@IAEXXZ 0087762c libconcrtd:TaskCollectionBase.obj + 0003:0007b634 __ehfuncinfo$?_RethrowException@_TaskCollectionBase@details@Concurrency@@IAEXXZ 00877634 libconcrtd:TaskCollectionBase.obj + 0003:0007b65c __unwindtable$??0WorkQueue@details@Concurrency@@QAE@XZ 0087765c libconcrtd:WorkQueue.obj + 0003:0007b66c __ehfuncinfo$??0WorkQueue@details@Concurrency@@QAE@XZ 0087766c libconcrtd:WorkQueue.obj + 0003:0007b698 __unwindtable$?Steal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z 00877698 libconcrtd:WorkQueue.obj + 0003:0007b6a0 __ehfuncinfo$?Steal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_N@Z 008776a0 libconcrtd:WorkQueue.obj + 0003:0007b6c8 __sehtable$?TryToSteal@WorkQueue@details@Concurrency@@QAEPAV_UnrealizedChore@23@_NAA_N@Z 008776c8 libconcrtd:WorkQueue.obj + 0003:0007b6e8 __unwindtable$??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 008776e8 libconcrtd:WorkQueue.obj + 0003:0007b6f0 __ehfuncinfo$??0?$StructuredWorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 008776f0 libconcrtd:WorkQueue.obj + 0003:0007b718 __unwindtable$??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 00877718 libconcrtd:WorkQueue.obj + 0003:0007b720 __ehfuncinfo$??0?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAE@PAV_CriticalNonReentrantLock@12@@Z 00877720 libconcrtd:WorkQueue.obj + 0003:0007b748 __unwindtable$?Sweep@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 00877748 libconcrtd:WorkQueue.obj + 0003:0007b750 __ehfuncinfo$?Sweep@?$WorkStealingQueue@V_UnrealizedChore@details@Concurrency@@V_CriticalNonReentrantLock@23@@details@Concurrency@@QAEXP6A_NPAV_UnrealizedChore@23@PAX@Z12@Z 00877750 libconcrtd:WorkQueue.obj + 0003:0007b778 __unwindtable$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00877778 libconcrtd:Chores.obj + 0003:0007b788 __tryblocktable$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00877788 libconcrtd:Chores.obj + 0003:0007b79c __catchsym$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$3 0087779c libconcrtd:Chores.obj + 0003:0007b7bc __ehfuncinfo$?_StructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 008777bc libconcrtd:Chores.obj + 0003:0007b7ec __catchsym$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$8 008777ec libconcrtd:Chores.obj + 0003:0007b80c __catchsym$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z$7 0087780c libconcrtd:Chores.obj + 0003:0007b82c __ehfuncinfo$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 0087782c libconcrtd:Chores.obj + 0003:0007b850 __tryblocktable$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00877850 libconcrtd:Chores.obj + 0003:0007b878 __unwindtable$?_UnstructuredChoreWrapper@_UnrealizedChore@details@Concurrency@@CAXPAV123@@Z 00877878 libconcrtd:Chores.obj + 0003:0007b8b4 __unwindtable$??0VirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 008778b4 libconcrtd:VirtualProcessorRoot.obj + 0003:0007b8bc __ehfuncinfo$??0VirtualProcessorRoot@details@Concurrency@@QAE@PAVSchedulerProxy@12@PAUSchedulerNode@12@I@Z 008778bc libconcrtd:VirtualProcessorRoot.obj + 0003:0007b8e4 __ehfuncinfo$??1ThreadProxy@details@Concurrency@@UAE@XZ 008778e4 libconcrtd:ThreadProxy.obj + 0003:0007b90c __unwindtable$?SearchCacheLocal@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 0087790c libconcrtd:SearchAlgorithms.obj + 0003:0007b914 __ehfuncinfo$?SearchCacheLocal@WorkSearchContext@details@Concurrency@@AAE_NPAVWorkItem@23@PAVScheduleGroupSegmentBase@23@_NK@Z 00877914 libconcrtd:SearchAlgorithms.obj + 0003:0007b93c __unwindtable$?current@location@Concurrency@@SA?AV12@XZ 0087793c libconcrtd:location.obj + 0003:0007b94c __ehfuncinfo$?current@location@Concurrency@@SA?AV12@XZ 0087794c libconcrtd:location.obj + 0003:0007b978 __unwindtable$?_Current_node@location@Concurrency@@SA?AV12@XZ 00877978 libconcrtd:location.obj + 0003:0007b988 __ehfuncinfo$?_Current_node@location@Concurrency@@SA?AV12@XZ 00877988 libconcrtd:location.obj + 0003:0007b9b4 __unwindtable$??0ThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 008779b4 libconcrtd:ThreadVirtualProcessor.obj + 0003:0007b9bc __ehfuncinfo$??0ThreadVirtualProcessor@details@Concurrency@@QAE@PAVSchedulingNode@12@PAUIVirtualProcessorRoot@2@@Z 008779bc libconcrtd:ThreadVirtualProcessor.obj + 0003:0007b9e4 __unwindtable$?DoPolling@UMSBackgroundPoller@details@Concurrency@@QAE_NXZ 008779e4 libconcrtd:UMSBackgroundPoller.obj + 0003:0007b9ec __ehfuncinfo$?DoPolling@UMSBackgroundPoller@details@Concurrency@@QAE_NXZ 008779ec libconcrtd:UMSBackgroundPoller.obj + 0003:0007ba14 __ehfuncinfo$??1_Scoped_lock@?$SafeRWList@UListEntry@details@Concurrency@@VNoCount@CollectionTypes@23@V_ReaderWriterLock@23@@details@Concurrency@@QAE@XZ 00877a14 libconcrtd:UMSBackgroundPoller.obj + 0003:0007ba3c __unwindtable$??0UMSSchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 00877a3c libconcrtd:UMSSchedulerProxy.obj + 0003:0007ba44 __ehfuncinfo$??0UMSSchedulerProxy@details@Concurrency@@QAE@PAUIScheduler@2@PAVResourceManager@12@ABVSchedulerPolicy@2@@Z 00877a44 libconcrtd:UMSSchedulerProxy.obj + 0003:0007ba6c __ehfuncinfo$??1UMSSchedulerProxy@details@Concurrency@@QAE@XZ 00877a6c libconcrtd:UMSSchedulerProxy.obj + 0003:0007ba94 __unwindtable$?CreateVirtualProcessorRoot@UMSSchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 00877a94 libconcrtd:UMSSchedulerProxy.obj + 0003:0007ba9c __ehfuncinfo$?CreateVirtualProcessorRoot@UMSSchedulerProxy@details@Concurrency@@UAEPAVVirtualProcessorRoot@23@PAUSchedulerNode@23@I@Z 00877a9c libconcrtd:UMSSchedulerProxy.obj + 0003:0007bac4 __ehfuncinfo$??1ScopedCriticalRegion@UMSThreadProxy@details@Concurrency@@QAE@XZ 00877ac4 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007baec __unwindtable$??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z 00877aec libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bafc __ehfuncinfo$??0UMSFreeVirtualProcessorRoot@details@Concurrency@@QAE@PAVUMSSchedulerProxy@12@PAUSchedulerNode@12@I@Z 00877afc libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb28 __catchsym$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z$3 00877b28 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb38 __tryblocktable$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00877b38 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb4c __unwindtable$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00877b4c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb64 __ehfuncinfo$?Activate@UMSFreeVirtualProcessorRoot@details@Concurrency@@UAEXPAUIExecutionContext@3@@Z 00877b64 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb94 __unwindtable$?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 00877b94 libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bb9c __ehfuncinfo$?CreatePrimary@UMSFreeVirtualProcessorRoot@details@Concurrency@@AAEXXZ 00877b9c libconcrtd:UMSFreeVirtualProcessorRoot.obj + 0003:0007bbc8 __sehtable$___RTDynamicCast 00877bc8 libvcruntimed:rtti.obj + 0003:0007bbe8 __sehtable$___RTtypeid 00877be8 libvcruntimed:rtti.obj + 0003:0007bc08 __sehtable$___RTCastToVoid 00877c08 libvcruntimed:rtti.obj + 0003:0007bcb8 __sehtable$?FrameUnwindToState@__FrameHandler3@@SAXPAUEHRegistrationNode@@PAXPBU_s_FuncInfo@@H@Z 00877cb8 libvcruntimed:frame.obj + 0003:0007bce8 __sehtable$?CallCatchBlock@@YAPAXPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAU_CONTEXT@@PBU_s_FuncInfo@@PAXHK@Z 00877ce8 libvcruntimed:frame.obj + 0003:0007bd14 __catchsym$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z$2 00877d14 libvcruntimed:frame.obj + 0003:0007bd24 __unwindtable$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z 00877d24 libvcruntimed:frame.obj + 0003:0007bd34 __tryblocktable$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z 00877d34 libvcruntimed:frame.obj + 0003:0007bd48 __ehfuncinfo$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z 00877d48 libvcruntimed:frame.obj + 0003:0007bd78 __sehtable$??$BuildCatchObjectHelperInternal@V__FrameHandler3@@@@YAHPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 00877d78 libvcruntimed:frame.obj + 0003:0007bd98 __sehtable$??$BuildCatchObjectInternal@V__FrameHandler3@@@@YAXPAUEHExceptionRecord@@PAXPBU_s_HandlerType@@PBU_s_CatchableType@@@Z 00877d98 libvcruntimed:frame.obj + 0003:0007be00 __sehtable$___unDNameEx 00877e00 libvcruntimed:undname.obj + 0003:0007be20 __unwindtable$?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 00877e20 libvcruntimed:undname.obj + 0003:0007be28 __ehfuncinfo$?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 00877e28 libvcruntimed:undname.obj + 0003:0007be50 __sehtable$___DestructExceptionObject 00877e50 libvcruntimed:ehhelpers.obj + 0003:0007be70 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877e70 libucrtd:dbgrpt.obj + 0003:0007be90 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877e90 libucrtd:dbgrpt.obj + 0003:0007beb0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877eb0 libucrtd:output.obj + 0003:0007bed0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877ed0 libucrtd:output.obj + 0003:0007bef0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877ef0 libucrtd:output.obj + 0003:0007bf10 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877f10 libucrtd:output.obj + 0003:0007bf30 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877f30 libucrtd:output.obj + 0003:0007bf50 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00877f50 libucrtd:output.obj + 0003:0007bf70 __sehtable$_fread_s 00877f70 libucrtd:fread.obj + 0003:0007bf90 __sehtable$__CrtCheckMemory 00877f90 libucrtd:debug_heap.obj + 0003:0007bfb0 __sehtable$__CrtDoForAllClientObjects 00877fb0 libucrtd:debug_heap.obj + 0003:0007bfd0 __sehtable$__CrtIsMemoryBlock 00877fd0 libucrtd:debug_heap.obj + 0003:0007bff0 __sehtable$__CrtMemCheckpoint 00877ff0 libucrtd:debug_heap.obj + 0003:0007c010 __sehtable$__CrtMemDumpAllObjectsSince 00878010 libucrtd:debug_heap.obj + 0003:0007c030 __sehtable$__CrtSetDbgFlag 00878030 libucrtd:debug_heap.obj + 0003:0007c050 __sehtable$__expand_dbg 00878050 libucrtd:debug_heap.obj + 0003:0007c070 __sehtable$__free_dbg 00878070 libucrtd:debug_heap.obj + 0003:0007c090 __sehtable$__msize_dbg 00878090 libucrtd:debug_heap.obj + 0003:0007c0b0 __sehtable$__realloc_dbg 008780b0 libucrtd:debug_heap.obj + 0003:0007c0d0 __sehtable$?is_bad_read_pointer@@YA_NQBXI@Z 008780d0 libucrtd:debug_heap.obj + 0003:0007c0f0 __sehtable$?validate_heap_if_required_nolock@@YAXXZ 008780f0 libucrtd:debug_heap.obj + 0003:0007c110 __sehtable$?heap_alloc_dbg_internal@@YAPAXIHQBDH@Z 00878110 libucrtd:debug_heap.obj + 0003:0007c130 __sehtable$__CrtSetDbgBlockType 00878130 libucrtd:debug_heap.obj + 0003:0007c150 __sehtable$_fclose 00878150 libucrtd:fclose.obj + 0003:0007c170 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878170 libucrtd:fflush.obj + 0003:0007c190 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878190 libucrtd:fflush.obj + 0003:0007c1b0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 008781b0 libucrtd:fflush.obj + 0003:0007c1d0 __sehtable$_fgetc 008781d0 libucrtd:fgetc.obj + 0003:0007c1f0 __sehtable$_fputc 008781f0 libucrtd:fputc.obj + 0003:0007c210 __sehtable$?common_fseek@@YAHV__crt_stdio_stream@@_JH@Z 00878210 libucrtd:fseek.obj + 0003:0007c230 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@I@@QAEI$$QAV@@AAV@@$$QAV@@@Z 00878230 libucrtd:fwrite.obj + 0003:0007c250 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00878250 libucrtd:setvbuf.obj + 0003:0007c270 __sehtable$_ungetc 00878270 libucrtd:ungetc.obj + 0003:0007c290 __sehtable$_terminate 00878290 libucrtd:terminate.obj + 0003:0007c2b0 __sehtable$_signal 008782b0 libucrtd:signal.obj + 0003:0007c2d0 __sehtable$_raise 008782d0 libucrtd:signal.obj + 0003:0007c2f0 __sehtable$?ctrlevent_capture@@YGHK@Z 008782f0 libucrtd:signal.obj + 0003:0007c310 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@P6AXH@Z@@QAEP6AXH@Z$$QAV@@AAV@@$$QAV@@@Z 00878310 libucrtd:signal.obj + 0003:0007c330 __sehtable$??$common_fsopen@D@@YAPAU_iobuf@@QBD0H@Z 00878330 libucrtd:fopen.obj + 0003:0007c350 __sehtable$??$common_fsopen@_W@@YAPAU_iobuf@@QB_W0H@Z 00878350 libucrtd:fopen.obj + 0003:0007c370 __sehtable$??$thread_start@P6AXPAX@Z@@YGKQAX@Z 00878370 libucrtd:thread.obj + 0003:0007c390 __sehtable$??$thread_start@P6GIPAX@Z@@YGKQAX@Z 00878390 libucrtd:thread.obj + 0003:0007c3b0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 008783b0 libucrtd:fputs.obj + 0003:0007c3d0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@PAD@@QAEPAD$$QAV@@AAV@@$$QAV@@@Z 008783d0 libucrtd:setlocale.obj + 0003:0007c3f0 __ehfuncinfo$??1?$__crt_win32_buffer@_WU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 008783f0 libucrtd:strftime.obj + 0003:0007c418 __ehfuncinfo$??1?$__crt_win32_buffer@DU__crt_win32_buffer_no_resizing@@@@QAE@XZ 00878418 libucrtd:strftime.obj + 0003:0007c440 __sehtable$__query_new_handler 00878440 libucrtd:new_handler.obj + 0003:0007c460 __sehtable$__set_new_handler 00878460 libucrtd:new_handler.obj + 0003:0007c480 __sehtable$??R@@QBE@XZ 00878480 libucrtd:exit.obj + 0003:0007c4a0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 008784a0 libucrtd:exit.obj + 0003:0007c4c0 __unwindtable$??R@@QBEHXZ 008784c0 libucrtd:onexit.obj + 0003:0007c4c8 __ehfuncinfo$??R@@QBEHXZ 008784c8 libucrtd:onexit.obj + 0003:0007c4f0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 008784f0 libucrtd:onexit.obj + 0003:0007c510 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00878510 libucrtd:onexit.obj + 0003:0007c530 __sehtable$__setmode 00878530 libucrtd:setmode.obj + 0003:0007c550 __sehtable$__free_locale 00878550 libucrtd:wsetlocale.obj + 0003:0007c580 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878580 libucrtd:wsetlocale.obj + 0003:0007c5a0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 008785a0 libucrtd:wsetlocale.obj + 0003:0007c5c0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 008785c0 libucrtd:wsetlocale.obj + 0003:0007c5e0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 008785e0 libucrtd:wsetlocale.obj + 0003:0007c600 __sehtable$??$?RV@@AAV@@AAV@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@AAV@@@Z 00878600 libucrtd:wsetlocale.obj + 0003:0007c620 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878620 libucrtd:per_thread_data.obj + 0003:0007c640 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878640 libucrtd:per_thread_data.obj + 0003:0007c660 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878660 libucrtd:per_thread_data.obj + 0003:0007c680 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878680 libucrtd:per_thread_data.obj + 0003:0007c6a0 __sehtable$__VCrtDbgReportA 008786a0 libucrtd:dbgrptt.obj + 0003:0007c6d0 __sehtable$__VCrtDbgReportW 008786d0 libucrtd:dbgrptt.obj + 0003:0007c700 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00878700 libucrtd:winapi_thunks.obj + 0003:0007c720 __sehtable$__fcloseall 00878720 libucrtd:closeall.obj + 0003:0007c740 __sehtable$___acrt_initialize_lowio 00878740 libucrtd:ioinit.obj + 0003:0007c760 __unwindtable$?fp_format_a@@YAHQBNPADIQADIH_NIQAU__crt_locale_pointers@@@Z 00878760 libucrtd:cvt.obj + 0003:0007c768 __ehfuncinfo$?fp_format_a@@YAHQBNPADIQADIH_NIQAU__crt_locale_pointers@@@Z 00878768 libucrtd:cvt.obj + 0003:0007c790 __sehtable$_fputwc 00878790 libucrtd:fputwc.obj + 0003:0007c7b0 __sehtable$__read 008787b0 libucrtd:read.obj + 0003:0007c7d0 __sehtable$??$common_getenv@D@@YAPADQBD@Z 008787d0 libucrtd:getenv.obj + 0003:0007c7f0 __sehtable$??$common_getenv@_W@@YAPA_WQB_W@Z 008787f0 libucrtd:getenv.obj + 0003:0007c810 __sehtable$??$common_getenv_s@D@@YAHQAIQADIQBD@Z 00878810 libucrtd:getenv.obj + 0003:0007c830 __sehtable$??$common_getenv_s@_W@@YAHQAIQA_WIQB_W@Z 00878830 libucrtd:getenv.obj + 0003:0007c850 __sehtable$??$common_dupenv_s@D@@YAHQAPADQAIQBDH2H@Z 00878850 libucrtd:getenv.obj + 0003:0007c870 __sehtable$??$common_dupenv_s@_W@@YAHQAPA_WQAIQB_WHQBDH@Z 00878870 libucrtd:getenv.obj + 0003:0007c890 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@_N@@QAE_N$$QAV@@AAV@@$$QAV@@@Z 00878890 libucrtd:spawnv.obj + 0003:0007c8b0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 008788b0 libucrtd:close.obj + 0003:0007c8d0 __sehtable$?__acrt_stdio_allocate_stream@@YA?AV__crt_stdio_stream@@XZ 008788d0 libucrtd:stream.obj + 0003:0007c8f0 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 008788f0 libucrtd:commit.obj + 0003:0007c910 __sehtable$__write 00878910 libucrtd:write.obj + 0003:0007c930 __sehtable$??$common_ftell@J@@YAJV__crt_stdio_stream@@@Z 00878930 libucrtd:ftell.obj + 0003:0007c950 __sehtable$??$common_ftell@_J@@YA_JV__crt_stdio_stream@@@Z 00878950 libucrtd:ftell.obj + 0003:0007c970 __sehtable$??$common_lseek@J@@YAJHJH@Z 00878970 libucrtd:lseek.obj + 0003:0007c990 __sehtable$??$common_lseek@_J@@YA_JH_JH@Z 00878990 libucrtd:lseek.obj + 0003:0007c9b0 __sehtable$__tzset 008789b0 libucrtd:tzset.obj + 0003:0007c9d0 __sehtable$__isindst 008789d0 libucrtd:tzset.obj + 0003:0007c9f0 __sehtable$___tzset 008789f0 libucrtd:tzset.obj + 0003:0007ca10 __unwindtable$?_wcstombs_l_helper@@YAIPADPB_WIPAU__crt_locale_pointers@@@Z 00878a10 libucrtd:wcstombs.obj + 0003:0007ca18 __ehfuncinfo$?_wcstombs_l_helper@@YAIPADPB_WIPAU__crt_locale_pointers@@@Z 00878a18 libucrtd:wcstombs.obj + 0003:0007ca40 __sehtable$___set_fpsr_sse2 00878a40 libucrtd:fpctrl.obj + 0003:0007ca60 __ehfuncinfo$??1?$__crt_win32_buffer@DU__crt_win32_buffer_internal_dynamic_resizing@@@@QAE@XZ 00878a60 libucrtd:argv_wildcards.obj + 0003:0007ca88 __sehtable$?update_thread_multibyte_data_internal@@YAPAU__crt_multibyte_data@@QAU__acrt_ptd@@QAPAU1@@Z 00878a88 libucrtd:mbctype.obj + 0003:0007caa8 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@X@@QAEX$$QAV@@AAV@@$$QAV@@@Z 00878aa8 libucrtd:mbctype.obj + 0003:0007cac8 __sehtable$__open_osfhandle 00878ac8 libucrtd:osfinfo.obj + 0003:0007cae8 __sehtable$__alloc_osfhnd 00878ae8 libucrtd:osfinfo.obj + 0003:0007cb08 __sehtable$___acrt_lowio_ensure_fh_exists 00878b08 libucrtd:osfinfo.obj + 0003:0007cb28 __sehtable$___acrt_update_thread_locale_data 00878b28 libucrtd:locale_refcounting.obj + 0003:0007cb48 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@G@@QAEG$$QAV@@AAV@@$$QAV@@@Z 00878b48 libucrtd:putwch.obj + 0003:0007cb68 __sehtable$??$common_open@D@@YAHQBDHH@Z 00878b68 libucrtd:open.obj + 0003:0007cb88 __sehtable$??$common_open@_W@@YAHQB_WHH@Z 00878b88 libucrtd:open.obj + 0003:0007cba8 __sehtable$??$common_sopen_dispatch@D@@YAHQBDHHHQAHH@Z 00878ba8 libucrtd:open.obj + 0003:0007cbc8 __sehtable$??$common_sopen_dispatch@_W@@YAHQB_WHHHQAHH@Z 00878bc8 libucrtd:open.obj + 0003:0007cbe8 __unwindtable$?_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z 00878be8 libucrtd:wcrtomb.obj + 0003:0007cbf0 __ehfuncinfo$?_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z 00878bf0 libucrtd:wcrtomb.obj + 0003:0007cc18 __unwindtable$?shortsort@@YAXPAD0IP6AHPBX1@Z@Z 00878c18 libucrtd:qsort.obj + 0003:0007cc20 __ehfuncinfo$?shortsort@@YAXPAD0IP6AHPBX1@Z@Z 00878c20 libucrtd:qsort.obj + 0003:0007cc48 __sehtable$??$?RV@@AAV@@V@@@?$__crt_seh_guarded_call@H@@QAEH$$QAV@@AAV@@$$QAV@@@Z 00878c48 libucrtd:chsize.obj + 0003:0007cc68 __unwindtable$?_CallInContext@_ContextCallback@details@Concurrency@@QBEXV?$function@$$A6AXXZ@std@@_N@Z 00878c68 libcpmtd:ppltasks.obj + 0003:0007cc70 __ehfuncinfo$?_CallInContext@_ContextCallback@details@Concurrency@@QBEXV?$function@$$A6AXXZ@std@@_N@Z 00878c70 libcpmtd:ppltasks.obj + 0003:0007cc98 __unwindtable$?__ExceptionPtrCurrentException@@YAXPAX@Z 00878c98 libcpmtd:excptptr.obj + 0003:0007cca0 __ehfuncinfo$?__ExceptionPtrCurrentException@@YAXPAX@Z 00878ca0 libcpmtd:excptptr.obj + 0003:0007ccc8 __unwindtable$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00878cc8 libcpmtd:excptptr.obj + 0003:0007ccd8 __tryblocktable$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00878cd8 libcpmtd:excptptr.obj + 0003:0007ccec __catchsym$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ$4 00878cec libcpmtd:excptptr.obj + 0003:0007cd0c __ehfuncinfo$?_CurrentException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00878d0c libcpmtd:excptptr.obj + 0003:0007cd3c __unwindtable$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z 00878d3c libcpmtd:excptptr.obj + 0003:0007cd4c __tryblocktable$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z 00878d4c libcpmtd:excptptr.obj + 0003:0007cd60 __catchsym$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z$4 00878d60 libcpmtd:excptptr.obj + 0003:0007cd80 __ehfuncinfo$?_CopyException@__ExceptionPtr@@SA?AV?$shared_ptr@V__ExceptionPtr@@@std@@PBXPBU_s_ThrowInfo@@@Z 00878d80 libcpmtd:excptptr.obj + 0003:0007cdb0 __ehfuncinfo$??1__ExceptionPtr@@QAE@XZ 00878db0 libcpmtd:excptptr.obj + 0003:0007cdd8 __unwindtable$?_InitBadAllocException@__ExceptionPtr@@CA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00878dd8 libcpmtd:excptptr.obj + 0003:0007cde0 __ehfuncinfo$?_InitBadAllocException@__ExceptionPtr@@CA?AV?$shared_ptr@V__ExceptionPtr@@@std@@XZ 00878de0 libcpmtd:excptptr.obj + 0003:0007ce08 __ehfuncinfo$?_PlacementInitBadAllocException@__ExceptionPtr@@CGHPAX0PAPAX@Z 00878e08 libcpmtd:excptptr.obj + 0003:0007ce30 __catchsym$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z$2 00878e30 libcpmtd:excptptr.obj + 0003:0007ce40 __unwindtable$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z 00878e40 libcpmtd:excptptr.obj + 0003:0007ce50 __tryblocktable$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z 00878e50 libcpmtd:excptptr.obj + 0003:0007ce64 __ehfuncinfo$?_CallCopyCtor@__ExceptionPtr@@ABEXPAX0IQBU_s_CatchableType@@@Z 00878e64 libcpmtd:excptptr.obj + 0003:0007ce90 __unwindtable$??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z 00878e90 libcpmtd:excptptr.obj + 0003:0007cea0 __ehfuncinfo$??$make_shared@V__ExceptionPtr@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@AAPAUEHExceptionRecord@@$$QA_N@Z 00878ea0 libcpmtd:excptptr.obj + 0003:0007cecc __unwindtable$??$allocate_shared@V__ExceptionPtr@@U?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 00878ecc libcpmtd:excptptr.obj + 0003:0007ced4 __ehfuncinfo$??$allocate_shared@V__ExceptionPtr@@U?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N@std@@YA?AV?$shared_ptr@V__ExceptionPtr@@@0@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 00878ed4 libcpmtd:excptptr.obj + 0003:0007cefc __ehfuncinfo$?_Destroy@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@EAEXXZ 00878efc libcpmtd:excptptr.obj + 0003:0007cf24 __ehfuncinfo$??$_Delete_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 00878f24 libcpmtd:excptptr.obj + 0003:0007cf4c __ehfuncinfo$?_Destroy@?$_Ref_count_obj@V__ExceptionPtr@@@std@@EAEXXZ 00878f4c libcpmtd:excptptr.obj + 0003:0007cf74 __unwindtable$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAE@AAPAUEHExceptionRecord@@$$QA_N@Z 00878f74 libcpmtd:excptptr.obj + 0003:0007cf7c __ehfuncinfo$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj@V__ExceptionPtr@@@std@@QAE@AAPAUEHExceptionRecord@@$$QA_N@Z 00878f7c libcpmtd:excptptr.obj + 0003:0007cfa4 __ehfuncinfo$??$_Deallocate_plain@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@YAXAAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@QAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@@Z 00878fa4 libcpmtd:excptptr.obj + 0003:0007cfcc __unwindtable$??$_Alloc_new@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N$0A@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 00878fcc libcpmtd:excptptr.obj + 0003:0007cfd4 __ehfuncinfo$??$_Alloc_new@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@_N$0A@@std@@YAPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@0@AAU?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 00878fd4 libcpmtd:excptptr.obj + 0003:0007cffc __ehfuncinfo$?_Release@?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAEPAV?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@2@XZ 00878ffc libcpmtd:excptptr.obj + 0003:0007d024 __ehfuncinfo$??1?$_Alloc_construct_ptr@U?$_StaticAllocator@V?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@@@@std@@QAE@XZ 00879024 libcpmtd:excptptr.obj + 0003:0007d04c __unwindtable$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAE@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 0087904c libcpmtd:excptptr.obj + 0003:0007d054 __ehfuncinfo$??$?0AAPAUEHExceptionRecord@@_N@?$_Ref_count_obj_alloc@V__ExceptionPtr@@U?$_StaticAllocator@H@@@std@@QAE@ABU?$_StaticAllocator@H@@AAPAUEHExceptionRecord@@$$QA_N@Z 00879054 libcpmtd:excptptr.obj + 0003:0007d080 __sehtable$__IsNonwritableInCurrentImage 00879080 LIBCMTD:pesect.obj + 0004:00000014 ?surround_fx@@3PAMA 0087c014 Npc.obj + 0004:00000034 ?surround_fz@@3PAMA 0087c034 Npc.obj + 0004:00000060 ?surround_fx@@3PAMA 0087c060 AIUser.obj + 0004:00000080 ?surround_fz@@3PAMA 0087c080 AIUser.obj + 0004:000000b0 ?ophandlers@@3PAP6AXPAVSocket@@I@ZA 0087c0b0 shared:SocketMgr.obj + 0004:000000d0 _crc32_tab 0087c0d0 shared:crc32.obj + 0004:0000059c ?init@std@@3JA 0087c59c libcpmtd:xlock.obj + 0004:000005a4 ?isPackaged@?1??__crtIsPackagedApp@@9@4HA 0087c5a4 libcpmtd:winapisupp.obj + 0004:000005fc ?atcount_cdecl@@3IA 0087c5fc libcpmtd:iosptrs.obj + 0004:0000065c ?g_CommitFrequency@details@Concurrency@@3HA 0087c65c libconcrtd:utils.obj + 0004:000006d8 ?eventGuidRegistration@?4??_RegisterConcRTEventTracing@details@Concurrency@@YAXXZ@4PAU_TRACE_GUID_REGISTRATION@@A 0087c6d8 libconcrtd:Trace.obj + 0004:00000720 ?__vcrt_flsindex@@3KA 0087c720 libvcruntimed:per_thread_data.obj + 0004:00000820 ?__acrt_current_request_number@@3JA 0087c820 libucrtd:debug_heap.obj + 0004:0000083c ?errno_no_memory@@3HA 0087c83c libucrtd:errno.obj + 0004:00000840 ?doserrno_no_memory@@3KA 0087c840 libucrtd:errno.obj + 0004:000008bc __ctype_loc_style 0087c8bc libucrtd:wsetlocale.obj + 0004:000008c0 ?__acrt_flsindex@@3KA 0087c8c0 libucrtd:per_thread_data.obj + 0004:0000092c ?__acrt_debug_fill_threshold@@3IA 0087c92c libucrtd:debug_fill_threshold.obj + 0004:00000b70 ?tzstd_program@@3PADA 0087cb70 libucrtd:timeset.obj + 0004:00000bc0 ?tzdst_program@@3PADA 0087cbc0 libucrtd:timeset.obj + 0004:00000c0c ?tzname_states@@3PAY01PADA 0087cc0c libucrtd:timeset.obj + 0004:00000c18 ?dststart@@3Utransitiondate@?A0x7639d0b4@@A 0087cc18 libucrtd:tzset.obj + 0004:00000c28 ?dstend@@3Utransitiondate@?A0x7639d0b4@@A 0087cc28 libucrtd:tzset.obj + 0004:00000c3c ?__DAZ_ENABLED@?1??__set_fpsr_sse2@@9@9 0087cc3c libucrtd:fpctrl.obj + 0004:00000c40 __mbctypes 0087cc40 libucrtd:mbctype.obj + 0004:00000d78 __mbcasemaps 0087cd78 libucrtd:mbctype.obj + 0004:00000eac ?__rgctypeflag@@3PADA 0087ceac libucrtd:mbctype.obj + 0004:00000eb0 ?__rgcode_page_info@@3PAUcode_page_info@@A 0087ceb0 libucrtd:mbctype.obj + 0004:00001260 ?__dcrt_lowio_console_output_handle@@3PAXA 0087d260 libucrtd:initcon.obj + 0004:00001270 ?_StaticAllocStorageLeft@@3IA 0087d270 libcpmtd:excptptr.obj + 0004:00004790 ?s_hEvent@@3VCondition@@A 00880790 main.obj + 0004:00004859 ?rand@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880859 ServerDlg.obj + 0004:0000485a ?bNumNpc@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 0088085a ServerDlg.obj + 0004:0000485b ?bZoneID@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 0088085b ServerDlg.obj + 0004:000048a8 ?nRandom@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4HA 008808a8 ServerDlg.obj + 0004:000048ac ?pNpcTable@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4PAVCNpcTable@@A 008808ac ServerDlg.obj + 0004:000048b0 ?pRoom@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4PAVCRoomEvent@@A 008808b0 ServerDlg.obj + 0004:000048b4 ?fRandom_X@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4MA 008808b4 ServerDlg.obj + 0004:000048b8 ?szPath@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4PADA 008808b8 ServerDlg.obj + 0004:00004aac ?fRandom_Z@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4MA 00880aac ServerDlg.obj + 0004:00004ab0 ?$TSS0@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4HA 00880ab0 ServerDlg.obj + 0004:00004ab4 ?bActType@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab4 ServerDlg.obj + 0004:00004ab5 ?bRegenType@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab5 ServerDlg.obj + 0004:00004ab6 ?bDungeonFamily@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab6 ServerDlg.obj + 0004:00004ab7 ?bSpecialType@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab7 ServerDlg.obj + 0004:00004ab8 ?bTrapNumber@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab8 ServerDlg.obj + 0004:00004ab9 ?isNPC@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4EA 00880ab9 ServerDlg.obj + 0004:00004abc ?sSid@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4GA 00880abc ServerDlg.obj + 0004:00004ac0 ?sRegTime@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4GA 00880ac0 ServerDlg.obj + 0004:00004ac4 ?iRange@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4GA 00880ac4 ServerDlg.obj + 0004:00004ac8 ?xiDontKnow@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4GA 00880ac8 ServerDlg.obj + 0004:00004acc ?EveTRoom@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4GA 00880acc ServerDlg.obj + 0004:00004ad0 ?bDirection@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4FA 00880ad0 ServerDlg.obj + 0004:00004ad4 ?iLeftX@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4HA 00880ad4 ServerDlg.obj + 0004:00004ad8 ?iTopZ@?1??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4HA 00880ad8 ServerDlg.obj + 0004:00004adc ?szX@?CB@??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4PADA 00880adc ServerDlg.obj + 0004:00004ae4 ?szZ@?CB@??LoadSpawnCallback@CServerDlg@@QAE_NPAVOdbcCommand@@@Z@4PADA 00880ae4 ServerDlg.obj + 0004:00004aec ?fRandom_X@?1??SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z@4MA 00880aec ServerDlg.obj + 0004:00004af0 ?fRandom_Z@?1??SpawnEventNpc@CServerDlg@@QAEPAVCNpc@@G_NEMMMGGEFG0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_KG@Z@4MA 00880af0 ServerDlg.obj + 0004:00004bb4 ?s_timeThread@@3VThread@@A 00880bb4 shared:TimeThread.obj + 0004:00004bc0 ?g_bRunningThread@@3_NA 00880bc0 shared:TimeThread.obj + 0004:00004bd0 ?s_randomNumberGenerator@@3V?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@A 00880bd0 shared:globals.obj + 0004:00005f58 ?s_rngLock@@3Vrecursive_mutex@std@@A 00881f58 shared:globals.obj + 0004:00005f88 ?s_rngSeeded@@3_NA 00881f88 shared:globals.obj + 0004:000063d0 ?bRefCounterInitialised@?1???0SocketMgr@@QAE@XZ@4_NA 008823d0 shared:SocketMgr.obj + 0004:000063f8 ?szError@?1??Read@OdbcRecordset@@QAEPAD_N@Z@4PADA 008823f8 shared:OdbcRecordset.obj + 0004:00006498 ?initlocks@std@@3V_Init_locks@1@A 00882498 libcpmtd:xlock.obj + 0004:000064a0 ?mtx@std@@3PAU_RTL_CRITICAL_SECTION@@A 008824a0 libcpmtd:xlock.obj + 0004:000065c8 ?classic_locale@std@@3Vlocale@1@A 008825c8 libcpmtd:locale0.obj + 0004:000065d0 ?_Fac_tidy_reg@std@@3U_Fac_tidy_reg_t@1@B 008825d0 libcpmtd:locale0.obj + 0004:000065d4 ?_Fac_head@std@@3PAU_Fac_node@1@A 008825d4 libcpmtd:locale0.obj + 0004:000065d8 _global_locale 008825d8 libcpmtd:locale0.obj + 0004:000065e5 ?registered@?1??_Setgloballocale@locale@std@@CAXPAX@Z@4_NA 008825e5 libcpmtd:locale0.obj + 0004:000065ec ?stdstr@std@@3PAPAVios_base@1@A 008825ec libcpmtd:ios.obj + 0004:00006614 ?stdopens@std@@3PADA 00882614 libcpmtd:ios.obj + 0004:00006630 _thread_exit_data 00882630 libcpmtd:xnotify.obj + 0004:00006918 ?initlocks@std@@3V_Init_locks@1@A 00882918 libcpmtd:iosptrs.obj + 0004:00006919 ?init_atexit@@3U_Init_atexit@@A 00882919 libcpmtd:iosptrs.obj + 0004:0000691c ?atfuns_cdecl@@3PAP6AXXZA 0088291c libcpmtd:iosptrs.obj + 0004:00006a54 ?init@?1??_RTC_InitBase@@9@4_NA 00882a54 LIBCMTD:init.obj + 0004:00006a60 ?is_initialized_as_dll@@3_NA 00882a60 LIBCMTD:utility.obj + 0004:00006a61 ?module_local_atexit_table_initialized@@3_NA 00882a61 LIBCMTD:utility.obj + 0004:00006a64 ?module_local_atexit_table@@3U_onexit_table_t@@A 00882a64 LIBCMTD:utility.obj + 0004:00006a70 ?module_local_at_quick_exit_table@@3U_onexit_table_t@@A 00882a70 LIBCMTD:utility.obj + 0004:00006a88 _GS_ExceptionRecord 00882a88 LIBCMTD:gs_report.obj + 0004:00006ad8 _GS_ContextRecord 00882ad8 LIBCMTD:gs_report.obj + 0004:00006e44 ?g_tss_cv@@3U_RTL_CONDITION_VARIABLE@@A 00882e44 LIBCMTD:thread_safe_statics.obj + 0004:00006e48 ?g_tss_event@@3PAXA 00882e48 LIBCMTD:thread_safe_statics.obj + 0004:00006e4c ?g_tss_mutex@@3U_RTL_CRITICAL_SECTION@@A 00882e4c LIBCMTD:thread_safe_statics.obj + 0004:00006e64 ?g_sleep_condition_variable_cs@@3P6GHPAU_RTL_CONDITION_VARIABLE@@PAU_RTL_CRITICAL_SECTION@@K@ZA 00882e64 LIBCMTD:thread_safe_statics.obj + 0004:00006e68 ?g_wake_all_condition_variable@@3P6GXPAU_RTL_CONDITION_VARIABLE@@@ZA 00882e68 LIBCMTD:thread_safe_statics.obj + 0004:00006e78 ?_RTC_ErrorReportFunc@@3P6AHHPBDH00ZZA 00882e78 LIBCMTD:userapi.obj + 0004:00006e7c ?_RTC_ErrorReportFuncW@@3P6AHHPB_WH00ZZA 00882e7c LIBCMTD:userapi.obj + 0004:00006e84 ?mspdb@@3PAUHINSTANCE__@@A 00882e84 LIBCMTD:pdblkup.obj + 0004:00006e88 ?alreadyTried@?1??GetPdbDll@@YAPAUHINSTANCE__@@XZ@4_NA 00882e88 LIBCMTD:pdblkup.obj + 0004:00006e89 ?PDBOK@?1??_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z@4_NA 00882e89 LIBCMTD:pdblkup.obj + 0004:00006ec8 ?s_defaultWaiterPool@platform@details@Concurrency@@3VDefaultWaiterPool@123@A 00882ec8 libconcrtd:Platform.obj + 0004:00006ecc ?s_pfnGetCurrentProcessorNumberEx@platform@details@Concurrency@@3P6GXPAU_PROCESSOR_NUMBER@@@ZA 00882ecc libconcrtd:Platform.obj + 0004:00006ed0 ?s_pfnSetThreadGroupAffinity@platform@details@Concurrency@@3P6GHPAXPBU_GROUP_AFFINITY@@PAU4@@ZA 00882ed0 libconcrtd:Platform.obj + 0004:00006ed4 ?s_pfnGetThreadGroupAffinity@platform@details@Concurrency@@3P6GHPAXPAU_GROUP_AFFINITY@@@ZA 00882ed4 libconcrtd:Platform.obj + 0004:00006ed8 ?s_waiterPool@platform@details@Concurrency@@3PAVWaiterThreadPool@123@A 00882ed8 libconcrtd:Platform.obj + 0004:00006ee8 ?g_DebugOutFilePtr@details@Concurrency@@3PAU_iobuf@@A 00882ee8 libconcrtd:utils.obj + 0004:00006eec ?g_DesiredTraceLevel@details@Concurrency@@3HA 00882eec libconcrtd:utils.obj + 0004:00006ef0 ?g_TraceCount@details@Concurrency@@3_KA 00882ef0 libconcrtd:utils.obj + 0004:00007028 ?__vcrt_startup_thread_ptd@@3U__vcrt_ptd@@A 00883028 libvcruntimed:per_thread_data.obj + 0004:0000705c ___vcrt_lock_table 0088305c libvcruntimed:locks.obj + 0004:00007074 ___vcrt_locks_initialized 00883074 libvcruntimed:locks.obj + 0004:000070a8 ?heap@@3V_HeapManager@@A 008830a8 libvcruntimed:undname.obj + 0004:000070c8 ?buf@?1??dbGetString@DName@@QBEPADXZ@4PADA 008830c8 libvcruntimed:undname.obj + 0004:00007128 ?module_handles@@3PAPAUHINSTANCE__@@A 00883128 libvcruntimed:winapi_downlevel.obj + 0004:00007134 ?function_pointers@@3PAPAXA 00883134 libvcruntimed:winapi_downlevel.obj + 0004:00007154 ?__acrt_invalid_parameter_handler@@3V?$dual_state_global@P6AXPB_W00II@Z@__crt_state_management@@A 00883154 libucrtd:invalid_parameter.obj + 0004:00007168 ?__acrt_first_block@@3PAU_CrtMemBlockHeader@@A 00883168 libucrtd:debug_heap.obj + 0004:0000716c ?__acrt_last_block@@3PAU_CrtMemBlockHeader@@A 0088316c libucrtd:debug_heap.obj + 0004:00007170 ?__acrt_total_allocations@@3IA 00883170 libucrtd:debug_heap.obj + 0004:00007174 ?__acrt_current_allocations@@3IA 00883174 libucrtd:debug_heap.obj + 0004:00007178 ?__acrt_max_allocations@@3IA 00883178 libucrtd:debug_heap.obj + 0004:0000717c ?__acrt_check_frequency@@3IA 0088317c libucrtd:debug_heap.obj + 0004:00007180 ?__acrt_check_counter@@3IA 00883180 libucrtd:debug_heap.obj + 0004:00007188 ?heap_validation_pending@@3_NA 00883188 libucrtd:debug_heap.obj + 0004:00007189 ?console_ctrl_handler_installed@@3_NA 00883189 libucrtd:signal.obj + 0004:0000718c ?ctrlc_action@@3V?$dual_state_global@P6AXH@Z@__crt_state_management@@A 0088318c libucrtd:signal.obj + 0004:00007190 ?ctrlbreak_action@@3V?$dual_state_global@P6AXH@Z@__crt_state_management@@A 00883190 libucrtd:signal.obj + 0004:00007194 ?abort_action@@3V?$dual_state_global@P6AXH@Z@__crt_state_management@@A 00883194 libucrtd:signal.obj + 0004:00007198 ?term_action@@3V?$dual_state_global@P6AXH@Z@__crt_state_management@@A 00883198 libucrtd:signal.obj + 0004:000071a0 ?__acrt_lock_table@@3PAU_RTL_CRITICAL_SECTION@@A 008831a0 libucrtd:locks.obj + 0004:000072f0 ?__acrt_locks_initialized@@3IA 008832f0 libucrtd:locks.obj + 0004:00007340 ?__acrt_new_handler@@3V?$dual_state_global@P6AHI@Z@__crt_state_management@@A 00883340 libucrtd:new_handler.obj + 0004:00007344 ?c_termination_complete@@3JA 00883344 libucrtd:exit.obj + 0004:00007348 ?thread_local_exit_callback_func@@3P6GXPAXK0@ZA 00883348 libucrtd:exit.obj + 0004:00007350 ?program_name@?1???$common_configure_argv@D@@YAHW4_crt_argv_mode@@@Z@4PADA 00883350 libucrtd:argv_parsing.obj + 0004:00007490 ?program_name@?1???$common_configure_argv@_W@@YAHW4_crt_argv_mode@@@Z@4PA_WA 00883490 libucrtd:argv_parsing.obj + 0004:00007738 ?__acrt_app_type@@3W4_crt_app_type@@A 00883738 libucrtd:report_runtime_error.obj + 0004:00007740 ?outmsg@?9??__acrt_report_runtime_error@@9@4PA_WA 00883740 libucrtd:report_runtime_error.obj + 0004:00007ea4 ?user_matherr@@3V?$dual_state_global@P6AHPAU_exception@@@Z@__crt_state_management@@A 00883ea4 libucrtd:matherr.obj + 0004:00007ec8 ?__acrt_global_new_mode@@3V?$dual_state_global@J@__crt_state_management@@A 00883ec8 libucrtd:new_mode.obj + 0004:00007ee0 ?module_handles@@3PAPAUHINSTANCE__@@A 00883ee0 libucrtd:winapi_thunks.obj + 0004:00007f30 ?encoded_function_pointers@@3PAPAXA 00883f30 libucrtd:winapi_thunks.obj + 0004:00007fe4 ?static_enum_proc@?1??enum_system_locales_ex_nolock@@YAHQ6GHPA_WKJ@Z@Z@4P6GH0KJ@ZA 00883fe4 libucrtd:winapi_thunks.obj + 0004:00008254 ?internal_state@?1??_mbtowc_l@@9@4U_Mbstatet@@A 00884254 libucrtd:mbtowc.obj + 0004:00008260 ?enable_percent_n@@3IA 00884260 libucrtd:printf_count_output.obj + 0004:00008270 ___acrt_error_mode 00884270 libucrtd:set_error_mode.obj + 0004:00008284 ?_tzname@@3V?$dual_state_global@PAPAD@__crt_state_management@@A 00884284 libucrtd:timeset.obj + 0004:0000828c ?last_tz@@3PADA 0088428c libucrtd:tzset.obj + 0004:00008290 ?tz_api_used@@3HA 00884290 libucrtd:tzset.obj + 0004:00008298 ?tz_info@@3U_TIME_ZONE_INFORMATION@@A 00884298 libucrtd:tzset.obj + 0004:00008368 ?first_time@?1??__tzset@@9@4JA 00884368 libucrtd:tzset.obj + 0004:0000836c ?state_cache@?1???$get_cached_win_policy@Ubegin_thread_init_policy_properties@?1??__acrt_get_begin_thread_init_policy@@YA?AW4begin_thread_init_policy@@XZ@@@YA?AW4begin_thread_init_policy@@W4AppPolicyThreadInitializationType@@@Z@4JA 0088436c libucrtd:win_policies.obj + 0004:00008370 ?state_cache@?1???$get_cached_win_policy@Udeveloper_information_policy_properties@?1??__acrt_get_developer_information_policy@@YA?AW4developer_information_policy@@XZ@@@YA?AW4developer_information_policy@@W4AppPolicyShowDeveloperDiagnostic@@@Z@4JA 00884370 libucrtd:win_policies.obj + 0004:00008374 ?state_cache@?1???$get_cached_win_policy@Uwindowing_model_policy_properties@?1??__acrt_get_windowing_model_policy@@YA?AW4windowing_model_policy@@XZ@@@YA?AW4windowing_model_policy@@W4AppPolicyWindowingModel@@@Z@4JA 00884374 libucrtd:win_policies.obj + 0004:00008384 ?fSystemSet@@3HA 00884384 libucrtd:mbctype.obj + 0004:0000838b ?initialized@?1??__acrt_initialize_multibyte@@9@4_NA 0088438b libucrtd:mbctype.obj + 0004:00008390 ?mbst@?1??mbrlen@@9@4U_Mbstatet@@A 00884390 libucrtd:mbrtowc.obj + 0004:0000839c ?mbst@?1??mbrtowc@@9@4U_Mbstatet@@A 0088439c libucrtd:mbrtowc.obj + 0004:000083a8 ?mbst@?1??_mbsrtowcs_helper@@YAIPA_WPAPBDIPAU_Mbstatet@@@Z@4U2@A 008843a8 libucrtd:mbrtowc.obj + 0004:000083b8 __pmatherr_set 008843b8 libucrtd:libm_error.obj + 0004:000083bc ?local_state@?6??_wcrtomb_s_l@@YAHQAHQADI_WQAU_Mbstatet@@QAU__crt_locale_pointers@@@Z@4U2@A 008843bc libucrtd:wcrtomb.obj + 0004:000083c8 ?internal_pst@?1??__mbrtoc32_utf8@__crt_mbstring@@YAIPA_UPBDIPAU_Mbstatet@@@Z@4U3@A 008843c8 libucrtd:mbrtoc32.obj + 0004:000083d8 ?internal_pst@?1??__c16rtomb_utf8@__crt_mbstring@@YAIPAD_SPAU_Mbstatet@@@Z@4U3@A 008843d8 libucrtd:c16rtomb.obj + 0004:000083e4 ?s_asyncId@platform@details@Concurrency@@3IA 008843e4 libcpmtd:ppltasks.obj + 0004:000083e8 ?_Flag@?1??_BadAllocException@__ExceptionPtr@@SAABV?$shared_ptr@V__ExceptionPtr@@@std@@XZ@4PAXA 008843e8 libcpmtd:excptptr.obj + 0004:000083f0 ?_Storage@?1??_BadAllocException@__ExceptionPtr@@SAABV?$shared_ptr@V__ExceptionPtr@@@std@@XZ@4T?$_Align_type@H$0FE@@4@A 008843f0 libcpmtd:excptptr.obj + 0004:00008458 ?_StaticAllocStorage@@3PADA 00884458 libcpmtd:excptptr.obj + 0005:000007ea .idata$6 008857ea ws2_32:WS2_32.dll + 0005:000008e4 .idata$6 008858e4 kernel32:KERNEL32.dll + 0005:000008f2 .idata$6 008858f2 odbc32:ODBC32.dll + 0006:00000000 __B4D3B869_stdafx@h 00887000 shared:TimeThread.obj + 0006:00000001 __7B45F61B_shared@pch 00887001 shared:TimeThread.obj + 0006:00000002 __4B3541EE_stdio@h 00887002 shared:TimeThread.obj + 0006:00000003 __23AD7809_corecrt_stdio_config@h 00887003 shared:TimeThread.obj + 0006:00000004 __B62FE6C9_time@h 00887004 shared:TimeThread.obj + 0006:00000005 __4FFA0077_Thread@h 00887005 shared:TimeThread.obj + 0006:00000006 __A03E271B_thread 00887006 shared:TimeThread.obj + 0006:00000007 __F6CC3FA2_TimeThread@cpp 00887007 shared:TimeThread.obj + 0006:00000008 __02EAB8A8_stdafx@cpp 00887008 shared:TimeThread.obj + 0006:0000000a __CFC461D7_vcruntime_new@h 0088700a shared:globals.obj + 0006:0000000b __E410F33D_corecrt_math@h 0088700b shared:globals.obj + 0006:0000000c __36B85FDF_stdlib@h 0088700c shared:globals.obj + 0006:0000000d __689BD87C_cstdlib 0088700d shared:globals.obj + 0006:0000000e __23AD7809_corecrt_stdio_config@h 0088700e shared:globals.obj + 0006:0000000f __DD74D44A_corecrt_wstdio@h 0088700f shared:globals.obj + 0006:00000010 __4B3541EE_stdio@h 00887010 shared:globals.obj + 0006:00000011 __82CA083D_corecrt_memcpy_s@h 00887011 shared:globals.obj + 0006:00000012 __990BA27D_corecrt_wconio@h 00887012 shared:globals.obj + 0006:00000013 __D837D19F_corecrt_wio@h 00887013 shared:globals.obj + 0006:00000014 __61E6ED1F_corecrt_wstring@h 00887014 shared:globals.obj + 0006:00000015 __FE12CC83_corecrt_wtime@h 00887015 shared:globals.obj + 0006:00000016 __01EE68DC_stat@h 00887016 shared:globals.obj + 0006:00000017 __B513A213_wchar@h 00887017 shared:globals.obj + 0006:00000018 __C7DD5323_limits 00887018 shared:globals.obj + 0006:00000019 __72E614B1_type_traits 00887019 shared:globals.obj + 0006:0000001a __A2957829_malloc@h 0088701a shared:globals.obj + 0006:0000001b __85DDF3E7_vcruntime_exception@h 0088701b shared:globals.obj + 0006:0000001c __0F8E31A9_exception 0088701c shared:globals.obj + 0006:0000001d __F8BB3D43_corecrt_memory@h 0088701d shared:globals.obj + 0006:0000001e __B0CBCB7B_string@h 0088701e shared:globals.obj + 0006:0000001f __D60B0676_xutility 0088701f shared:globals.obj + 0006:00000020 __35033E34_xmemory 00887020 shared:globals.obj + 0006:00000021 __E542737D_algorithm 00887021 shared:globals.obj + 0006:00000022 __941D13D0_ctype@h 00887022 shared:globals.obj + 0006:00000023 __DF6784BA_basetsd@h 00887023 shared:globals.obj + 0006:00000024 __73E5A5AE_guiddef@h 00887024 shared:globals.obj + 0006:00000025 __20E88E2C_winnt@h 00887025 shared:globals.obj + 0006:00000026 __B0708975_processthreadsapi@h 00887026 shared:globals.obj + 0006:00000027 __14D8E0CB_memoryapi@h 00887027 shared:globals.obj + 0006:00000028 __0A5E6AC9_winerror@h 00887028 shared:globals.obj + 0006:00000029 __95229982_winbase@h 00887029 shared:globals.obj + 0006:0000002a __FDCAD2F5_winuser@h 0088702a shared:globals.obj + 0006:0000002b __7F05D861_stralign@h 0088702b shared:globals.obj + 0006:0000002c __88C98DD3_winsock2@h 0088702c shared:globals.obj + 0006:0000002d __2063063A_ws2ipdef@h 0088702d shared:globals.obj + 0006:0000002e __FF9C2137_ws2tcpip@h 0088702e shared:globals.obj + 0006:0000002f __890DC717_ratio 0088702f shared:globals.obj + 0006:00000030 __B62FE6C9_time@h 00887030 shared:globals.obj + 0006:00000031 __A33055A9_chrono 00887031 shared:globals.obj + 0006:00000032 __ACCC90E1_vcruntime_typeinfo@h 00887032 shared:globals.obj + 0006:00000033 __7B735FAD_memory 00887033 shared:globals.obj + 0006:00000034 __6FCFA2ED_xthreads@h 00887034 shared:globals.obj + 0006:00000035 __439D47F8_tuple 00887035 shared:globals.obj + 0006:00000036 __A03E271B_thread 00887036 shared:globals.obj + 0006:00000037 __ACE80FE1_atomic 00887037 shared:globals.obj + 0006:00000038 __41D0B8A8_xstring 00887038 shared:globals.obj + 0006:00000039 __86C00BF4_stdexcept 00887039 shared:globals.obj + 0006:0000003a __544DB471_xcall_once@h 0088703a shared:globals.obj + 0006:0000003b __EB10A651_system_error 0088703b shared:globals.obj + 0006:0000003c __9BA0CD47_mutex 0088703c shared:globals.obj + 0006:0000003d __E5BE5EB9_cmath 0088703d shared:globals.obj + 0006:0000003e __8725B14D_random 0088703e shared:globals.obj + 0006:0000003f __EC97A2BB_xtree 0088703f shared:globals.obj + 0006:00000040 __0FA0D931_string 00887040 shared:globals.obj + 0006:00000041 __FF61FF39_mbstring@h 00887041 shared:globals.obj + 0006:00000042 __84FBB88E_tchar@h 00887042 shared:globals.obj + 0006:00000043 __861371A5_ByteBuffer@h 00887043 shared:globals.obj + 0006:00000044 __BAD61026_Packet@h 00887044 shared:globals.obj + 0006:00000045 __024EB521_globals@h 00887045 shared:globals.obj + 0006:00000046 __4FFA0077_Thread@h 00887046 shared:globals.obj + 0006:00000047 __27A9034B_CircularBuffer@h 00887047 shared:globals.obj + 0006:00000048 __A0D1D437_SocketDefines@h 00887048 shared:globals.obj + 0006:00000049 __64666C98_Socket@h 00887049 shared:globals.obj + 0006:0000004a __07734859_SocketMgr@h 0088704a shared:globals.obj + 0006:0000004b __6D39ABD9_JvCryption@h 0088704b shared:globals.obj + 0006:0000004c __1F38FBF6_KOSocket@h 0088704c shared:globals.obj + 0006:0000004d __B4D3B869_stdafx@h 0088704d shared:globals.obj + 0006:0000004e __44FBB785_globals@cpp 0088704e shared:globals.obj + 0006:0000004f __941CAD6C_Atomic@h 0088704f shared:globals.obj + 0006:00000050 __8A7023C3_vector 00887050 shared:globals.obj + 0006:00000051 __5F965DF7_utility 00887051 shared:globals.obj + 0006:00000052 __0582BD7F_xatomic@h 00887052 shared:globals.obj + 0006:00000053 __A889CAE5_xstddef 00887053 shared:globals.obj + 0006:00000062 __CFC461D7_vcruntime_new@h 00887062 shared:ReferenceObject.obj + 0006:00000063 __E410F33D_corecrt_math@h 00887063 shared:ReferenceObject.obj + 0006:00000064 __36B85FDF_stdlib@h 00887064 shared:ReferenceObject.obj + 0006:00000065 __689BD87C_cstdlib 00887065 shared:ReferenceObject.obj + 0006:00000066 __23AD7809_corecrt_stdio_config@h 00887066 shared:ReferenceObject.obj + 0006:00000067 __DD74D44A_corecrt_wstdio@h 00887067 shared:ReferenceObject.obj + 0006:00000068 __4B3541EE_stdio@h 00887068 shared:ReferenceObject.obj + 0006:00000069 __82CA083D_corecrt_memcpy_s@h 00887069 shared:ReferenceObject.obj + 0006:0000006a __990BA27D_corecrt_wconio@h 0088706a shared:ReferenceObject.obj + 0006:0000006b __D837D19F_corecrt_wio@h 0088706b shared:ReferenceObject.obj + 0006:0000006c __61E6ED1F_corecrt_wstring@h 0088706c shared:ReferenceObject.obj + 0006:0000006d __FE12CC83_corecrt_wtime@h 0088706d shared:ReferenceObject.obj + 0006:0000006e __01EE68DC_stat@h 0088706e shared:ReferenceObject.obj + 0006:0000006f __B513A213_wchar@h 0088706f shared:ReferenceObject.obj + 0006:00000070 __C7DD5323_limits 00887070 shared:ReferenceObject.obj + 0006:00000071 __72E614B1_type_traits 00887071 shared:ReferenceObject.obj + 0006:00000072 __A2957829_malloc@h 00887072 shared:ReferenceObject.obj + 0006:00000073 __85DDF3E7_vcruntime_exception@h 00887073 shared:ReferenceObject.obj + 0006:00000074 __0F8E31A9_exception 00887074 shared:ReferenceObject.obj + 0006:00000075 __F8BB3D43_corecrt_memory@h 00887075 shared:ReferenceObject.obj + 0006:00000076 __B0CBCB7B_string@h 00887076 shared:ReferenceObject.obj + 0006:00000077 __D60B0676_xutility 00887077 shared:ReferenceObject.obj + 0006:00000078 __35033E34_xmemory 00887078 shared:ReferenceObject.obj + 0006:00000079 __E542737D_algorithm 00887079 shared:ReferenceObject.obj + 0006:0000007a __941D13D0_ctype@h 0088707a shared:ReferenceObject.obj + 0006:0000007b __DF6784BA_basetsd@h 0088707b shared:ReferenceObject.obj + 0006:0000007c __73E5A5AE_guiddef@h 0088707c shared:ReferenceObject.obj + 0006:0000007d __20E88E2C_winnt@h 0088707d shared:ReferenceObject.obj + 0006:0000007e __B0708975_processthreadsapi@h 0088707e shared:ReferenceObject.obj + 0006:0000007f __14D8E0CB_memoryapi@h 0088707f shared:ReferenceObject.obj + 0006:00000080 __0A5E6AC9_winerror@h 00887080 shared:ReferenceObject.obj + 0006:00000081 __95229982_winbase@h 00887081 shared:ReferenceObject.obj + 0006:00000082 __FDCAD2F5_winuser@h 00887082 shared:ReferenceObject.obj + 0006:00000083 __7F05D861_stralign@h 00887083 shared:ReferenceObject.obj + 0006:00000084 __88C98DD3_winsock2@h 00887084 shared:ReferenceObject.obj + 0006:00000085 __2063063A_ws2ipdef@h 00887085 shared:ReferenceObject.obj + 0006:00000086 __FF9C2137_ws2tcpip@h 00887086 shared:ReferenceObject.obj + 0006:00000087 __890DC717_ratio 00887087 shared:ReferenceObject.obj + 0006:00000088 __B62FE6C9_time@h 00887088 shared:ReferenceObject.obj + 0006:00000089 __A33055A9_chrono 00887089 shared:ReferenceObject.obj + 0006:0000008a __ACCC90E1_vcruntime_typeinfo@h 0088708a shared:ReferenceObject.obj + 0006:0000008b __7B735FAD_memory 0088708b shared:ReferenceObject.obj + 0006:0000008c __6FCFA2ED_xthreads@h 0088708c shared:ReferenceObject.obj + 0006:0000008d __439D47F8_tuple 0088708d shared:ReferenceObject.obj + 0006:0000008e __A03E271B_thread 0088708e shared:ReferenceObject.obj + 0006:0000008f __ACE80FE1_atomic 0088708f shared:ReferenceObject.obj + 0006:00000090 __41D0B8A8_xstring 00887090 shared:ReferenceObject.obj + 0006:00000091 __86C00BF4_stdexcept 00887091 shared:ReferenceObject.obj + 0006:00000092 __544DB471_xcall_once@h 00887092 shared:ReferenceObject.obj + 0006:00000093 __EB10A651_system_error 00887093 shared:ReferenceObject.obj + 0006:00000094 __9BA0CD47_mutex 00887094 shared:ReferenceObject.obj + 0006:00000095 __E5BE5EB9_cmath 00887095 shared:ReferenceObject.obj + 0006:00000096 __8725B14D_random 00887096 shared:ReferenceObject.obj + 0006:00000097 __EC97A2BB_xtree 00887097 shared:ReferenceObject.obj + 0006:00000098 __0FA0D931_string 00887098 shared:ReferenceObject.obj + 0006:00000099 __FF61FF39_mbstring@h 00887099 shared:ReferenceObject.obj + 0006:0000009a __84FBB88E_tchar@h 0088709a shared:ReferenceObject.obj + 0006:0000009b __861371A5_ByteBuffer@h 0088709b shared:ReferenceObject.obj + 0006:0000009c __BAD61026_Packet@h 0088709c shared:ReferenceObject.obj + 0006:0000009d __024EB521_globals@h 0088709d shared:ReferenceObject.obj + 0006:0000009e __4FFA0077_Thread@h 0088709e shared:ReferenceObject.obj + 0006:0000009f __27A9034B_CircularBuffer@h 0088709f shared:ReferenceObject.obj + 0006:000000a0 __A0D1D437_SocketDefines@h 008870a0 shared:ReferenceObject.obj + 0006:000000a1 __64666C98_Socket@h 008870a1 shared:ReferenceObject.obj + 0006:000000a2 __07734859_SocketMgr@h 008870a2 shared:ReferenceObject.obj + 0006:000000a3 __6D39ABD9_JvCryption@h 008870a3 shared:ReferenceObject.obj + 0006:000000a4 __1F38FBF6_KOSocket@h 008870a4 shared:ReferenceObject.obj + 0006:000000a5 __B4D3B869_stdafx@h 008870a5 shared:ReferenceObject.obj + 0006:000000a6 __46BAFD6C_ReferenceObject@h 008870a6 shared:ReferenceObject.obj + 0006:000000a7 __792B0B9B_ReferenceObject@cpp 008870a7 shared:ReferenceObject.obj + 0006:000000a8 __941CAD6C_Atomic@h 008870a8 shared:ReferenceObject.obj + 0006:000000a9 __8A7023C3_vector 008870a9 shared:ReferenceObject.obj + 0006:000000aa __5F965DF7_utility 008870aa shared:ReferenceObject.obj + 0006:000000ab __0582BD7F_xatomic@h 008870ab shared:ReferenceObject.obj + 0006:000000ac __A889CAE5_xstddef 008870ac shared:ReferenceObject.obj + 0006:000000bc __CFC461D7_vcruntime_new@h 008870bc shared:SocketMgr.obj + 0006:000000bd __E410F33D_corecrt_math@h 008870bd shared:SocketMgr.obj + 0006:000000be __36B85FDF_stdlib@h 008870be shared:SocketMgr.obj + 0006:000000bf __689BD87C_cstdlib 008870bf shared:SocketMgr.obj + 0006:000000c0 __23AD7809_corecrt_stdio_config@h 008870c0 shared:SocketMgr.obj + 0006:000000c1 __DD74D44A_corecrt_wstdio@h 008870c1 shared:SocketMgr.obj + 0006:000000c2 __4B3541EE_stdio@h 008870c2 shared:SocketMgr.obj + 0006:000000c3 __82CA083D_corecrt_memcpy_s@h 008870c3 shared:SocketMgr.obj + 0006:000000c4 __990BA27D_corecrt_wconio@h 008870c4 shared:SocketMgr.obj + 0006:000000c5 __D837D19F_corecrt_wio@h 008870c5 shared:SocketMgr.obj + 0006:000000c6 __61E6ED1F_corecrt_wstring@h 008870c6 shared:SocketMgr.obj + 0006:000000c7 __FE12CC83_corecrt_wtime@h 008870c7 shared:SocketMgr.obj + 0006:000000c8 __01EE68DC_stat@h 008870c8 shared:SocketMgr.obj + 0006:000000c9 __B513A213_wchar@h 008870c9 shared:SocketMgr.obj + 0006:000000ca __C7DD5323_limits 008870ca shared:SocketMgr.obj + 0006:000000cb __72E614B1_type_traits 008870cb shared:SocketMgr.obj + 0006:000000cc __A2957829_malloc@h 008870cc shared:SocketMgr.obj + 0006:000000cd __85DDF3E7_vcruntime_exception@h 008870cd shared:SocketMgr.obj + 0006:000000ce __0F8E31A9_exception 008870ce shared:SocketMgr.obj + 0006:000000cf __F8BB3D43_corecrt_memory@h 008870cf shared:SocketMgr.obj + 0006:000000d0 __B0CBCB7B_string@h 008870d0 shared:SocketMgr.obj + 0006:000000d1 __D60B0676_xutility 008870d1 shared:SocketMgr.obj + 0006:000000d2 __35033E34_xmemory 008870d2 shared:SocketMgr.obj + 0006:000000d3 __E542737D_algorithm 008870d3 shared:SocketMgr.obj + 0006:000000d4 __941D13D0_ctype@h 008870d4 shared:SocketMgr.obj + 0006:000000d5 __DF6784BA_basetsd@h 008870d5 shared:SocketMgr.obj + 0006:000000d6 __73E5A5AE_guiddef@h 008870d6 shared:SocketMgr.obj + 0006:000000d7 __20E88E2C_winnt@h 008870d7 shared:SocketMgr.obj + 0006:000000d8 __B0708975_processthreadsapi@h 008870d8 shared:SocketMgr.obj + 0006:000000d9 __14D8E0CB_memoryapi@h 008870d9 shared:SocketMgr.obj + 0006:000000da __0A5E6AC9_winerror@h 008870da shared:SocketMgr.obj + 0006:000000db __95229982_winbase@h 008870db shared:SocketMgr.obj + 0006:000000dc __FDCAD2F5_winuser@h 008870dc shared:SocketMgr.obj + 0006:000000dd __7F05D861_stralign@h 008870dd shared:SocketMgr.obj + 0006:000000de __88C98DD3_winsock2@h 008870de shared:SocketMgr.obj + 0006:000000df __2063063A_ws2ipdef@h 008870df shared:SocketMgr.obj + 0006:000000e0 __FF9C2137_ws2tcpip@h 008870e0 shared:SocketMgr.obj + 0006:000000e1 __890DC717_ratio 008870e1 shared:SocketMgr.obj + 0006:000000e2 __B62FE6C9_time@h 008870e2 shared:SocketMgr.obj + 0006:000000e3 __A33055A9_chrono 008870e3 shared:SocketMgr.obj + 0006:000000e4 __ACCC90E1_vcruntime_typeinfo@h 008870e4 shared:SocketMgr.obj + 0006:000000e5 __7B735FAD_memory 008870e5 shared:SocketMgr.obj + 0006:000000e6 __6FCFA2ED_xthreads@h 008870e6 shared:SocketMgr.obj + 0006:000000e7 __439D47F8_tuple 008870e7 shared:SocketMgr.obj + 0006:000000e8 __A03E271B_thread 008870e8 shared:SocketMgr.obj + 0006:000000e9 __ACE80FE1_atomic 008870e9 shared:SocketMgr.obj + 0006:000000ea __41D0B8A8_xstring 008870ea shared:SocketMgr.obj + 0006:000000eb __86C00BF4_stdexcept 008870eb shared:SocketMgr.obj + 0006:000000ec __544DB471_xcall_once@h 008870ec shared:SocketMgr.obj + 0006:000000ed __EB10A651_system_error 008870ed shared:SocketMgr.obj + 0006:000000ee __9BA0CD47_mutex 008870ee shared:SocketMgr.obj + 0006:000000ef __E5BE5EB9_cmath 008870ef shared:SocketMgr.obj + 0006:000000f0 __8725B14D_random 008870f0 shared:SocketMgr.obj + 0006:000000f1 __EC97A2BB_xtree 008870f1 shared:SocketMgr.obj + 0006:000000f2 __0FA0D931_string 008870f2 shared:SocketMgr.obj + 0006:000000f3 __FF61FF39_mbstring@h 008870f3 shared:SocketMgr.obj + 0006:000000f4 __84FBB88E_tchar@h 008870f4 shared:SocketMgr.obj + 0006:000000f5 __861371A5_ByteBuffer@h 008870f5 shared:SocketMgr.obj + 0006:000000f6 __BAD61026_Packet@h 008870f6 shared:SocketMgr.obj + 0006:000000f7 __024EB521_globals@h 008870f7 shared:SocketMgr.obj + 0006:000000f8 __4FFA0077_Thread@h 008870f8 shared:SocketMgr.obj + 0006:000000f9 __27A9034B_CircularBuffer@h 008870f9 shared:SocketMgr.obj + 0006:000000fa __A0D1D437_SocketDefines@h 008870fa shared:SocketMgr.obj + 0006:000000fb __64666C98_Socket@h 008870fb shared:SocketMgr.obj + 0006:000000fc __07734859_SocketMgr@h 008870fc shared:SocketMgr.obj + 0006:000000fd __6D39ABD9_JvCryption@h 008870fd shared:SocketMgr.obj + 0006:000000fe __1F38FBF6_KOSocket@h 008870fe shared:SocketMgr.obj + 0006:000000ff __B4D3B869_stdafx@h 008870ff shared:SocketMgr.obj + 0006:00000100 __6D719143_condition_variable 00887100 shared:SocketMgr.obj + 0006:00000101 __A97CFCB0_functional 00887101 shared:SocketMgr.obj + 0006:00000102 __962EF056_pplinterface@h 00887102 shared:SocketMgr.obj + 0006:00000103 __58453551_ppltaskscheduler@h 00887103 shared:SocketMgr.obj + 0006:00000104 __157CFEC7_pplcancellation_token@h 00887104 shared:SocketMgr.obj + 0006:00000105 __7FF6E8EA_pplwin@h 00887105 shared:SocketMgr.obj + 0006:00000106 __5847FB33_xmmintrin@h 00887106 shared:SocketMgr.obj + 0006:00000107 __BB5CC1C1_ppltasks@h 00887107 shared:SocketMgr.obj + 0006:00000108 __59F55A10_future 00887108 shared:SocketMgr.obj + 0006:00000109 __6011CFE7_SocketMgr@cpp 00887109 shared:SocketMgr.obj + 0006:0000010a __8A7023C3_vector 0088710a shared:SocketMgr.obj + 0006:0000010b __941CAD6C_Atomic@h 0088710b shared:SocketMgr.obj + 0006:0000010c __0A90000B_queue 0088710c shared:SocketMgr.obj + 0006:0000010d __E9A644CA_deque 0088710d shared:SocketMgr.obj + 0006:0000010e __5F965DF7_utility 0088710e shared:SocketMgr.obj + 0006:0000010f __0582BD7F_xatomic@h 0088710f shared:SocketMgr.obj + 0006:00000110 __A889CAE5_xstddef 00887110 shared:SocketMgr.obj + 0006:00000122 __B4D3B869_stdafx@h 00887122 shared:DebugUtils.obj + 0006:00000123 __7B45F61B_shared@pch 00887123 shared:DebugUtils.obj + 0006:00000124 __4B3541EE_stdio@h 00887124 shared:DebugUtils.obj + 0006:00000125 __23AD7809_corecrt_stdio_config@h 00887125 shared:DebugUtils.obj + 0006:00000126 __E58DC48E_DebugUtils@cpp 00887126 shared:DebugUtils.obj + 0006:00000127 __02EAB8A8_stdafx@cpp 00887127 shared:DebugUtils.obj + 0006:00000129 __CFC461D7_vcruntime_new@h 00887129 shared:Socket.obj + 0006:0000012a __E410F33D_corecrt_math@h 0088712a shared:Socket.obj + 0006:0000012b __36B85FDF_stdlib@h 0088712b shared:Socket.obj + 0006:0000012c __689BD87C_cstdlib 0088712c shared:Socket.obj + 0006:0000012d __23AD7809_corecrt_stdio_config@h 0088712d shared:Socket.obj + 0006:0000012e __DD74D44A_corecrt_wstdio@h 0088712e shared:Socket.obj + 0006:0000012f __4B3541EE_stdio@h 0088712f shared:Socket.obj + 0006:00000130 __82CA083D_corecrt_memcpy_s@h 00887130 shared:Socket.obj + 0006:00000131 __990BA27D_corecrt_wconio@h 00887131 shared:Socket.obj + 0006:00000132 __D837D19F_corecrt_wio@h 00887132 shared:Socket.obj + 0006:00000133 __61E6ED1F_corecrt_wstring@h 00887133 shared:Socket.obj + 0006:00000134 __FE12CC83_corecrt_wtime@h 00887134 shared:Socket.obj + 0006:00000135 __01EE68DC_stat@h 00887135 shared:Socket.obj + 0006:00000136 __B513A213_wchar@h 00887136 shared:Socket.obj + 0006:00000137 __C7DD5323_limits 00887137 shared:Socket.obj + 0006:00000138 __72E614B1_type_traits 00887138 shared:Socket.obj + 0006:00000139 __A2957829_malloc@h 00887139 shared:Socket.obj + 0006:0000013a __85DDF3E7_vcruntime_exception@h 0088713a shared:Socket.obj + 0006:0000013b __0F8E31A9_exception 0088713b shared:Socket.obj + 0006:0000013c __F8BB3D43_corecrt_memory@h 0088713c shared:Socket.obj + 0006:0000013d __B0CBCB7B_string@h 0088713d shared:Socket.obj + 0006:0000013e __D60B0676_xutility 0088713e shared:Socket.obj + 0006:0000013f __35033E34_xmemory 0088713f shared:Socket.obj + 0006:00000140 __E542737D_algorithm 00887140 shared:Socket.obj + 0006:00000141 __941D13D0_ctype@h 00887141 shared:Socket.obj + 0006:00000142 __DF6784BA_basetsd@h 00887142 shared:Socket.obj + 0006:00000143 __73E5A5AE_guiddef@h 00887143 shared:Socket.obj + 0006:00000144 __20E88E2C_winnt@h 00887144 shared:Socket.obj + 0006:00000145 __B0708975_processthreadsapi@h 00887145 shared:Socket.obj + 0006:00000146 __14D8E0CB_memoryapi@h 00887146 shared:Socket.obj + 0006:00000147 __0A5E6AC9_winerror@h 00887147 shared:Socket.obj + 0006:00000148 __95229982_winbase@h 00887148 shared:Socket.obj + 0006:00000149 __FDCAD2F5_winuser@h 00887149 shared:Socket.obj + 0006:0000014a __7F05D861_stralign@h 0088714a shared:Socket.obj + 0006:0000014b __88C98DD3_winsock2@h 0088714b shared:Socket.obj + 0006:0000014c __2063063A_ws2ipdef@h 0088714c shared:Socket.obj + 0006:0000014d __FF9C2137_ws2tcpip@h 0088714d shared:Socket.obj + 0006:0000014e __890DC717_ratio 0088714e shared:Socket.obj + 0006:0000014f __B62FE6C9_time@h 0088714f shared:Socket.obj + 0006:00000150 __A33055A9_chrono 00887150 shared:Socket.obj + 0006:00000151 __ACCC90E1_vcruntime_typeinfo@h 00887151 shared:Socket.obj + 0006:00000152 __7B735FAD_memory 00887152 shared:Socket.obj + 0006:00000153 __6FCFA2ED_xthreads@h 00887153 shared:Socket.obj + 0006:00000154 __439D47F8_tuple 00887154 shared:Socket.obj + 0006:00000155 __A03E271B_thread 00887155 shared:Socket.obj + 0006:00000156 __ACE80FE1_atomic 00887156 shared:Socket.obj + 0006:00000157 __41D0B8A8_xstring 00887157 shared:Socket.obj + 0006:00000158 __86C00BF4_stdexcept 00887158 shared:Socket.obj + 0006:00000159 __544DB471_xcall_once@h 00887159 shared:Socket.obj + 0006:0000015a __EB10A651_system_error 0088715a shared:Socket.obj + 0006:0000015b __9BA0CD47_mutex 0088715b shared:Socket.obj + 0006:0000015c __E5BE5EB9_cmath 0088715c shared:Socket.obj + 0006:0000015d __8725B14D_random 0088715d shared:Socket.obj + 0006:0000015e __EC97A2BB_xtree 0088715e shared:Socket.obj + 0006:0000015f __0FA0D931_string 0088715f shared:Socket.obj + 0006:00000160 __FF61FF39_mbstring@h 00887160 shared:Socket.obj + 0006:00000161 __84FBB88E_tchar@h 00887161 shared:Socket.obj + 0006:00000162 __861371A5_ByteBuffer@h 00887162 shared:Socket.obj + 0006:00000163 __BAD61026_Packet@h 00887163 shared:Socket.obj + 0006:00000164 __024EB521_globals@h 00887164 shared:Socket.obj + 0006:00000165 __4FFA0077_Thread@h 00887165 shared:Socket.obj + 0006:00000166 __27A9034B_CircularBuffer@h 00887166 shared:Socket.obj + 0006:00000167 __A0D1D437_SocketDefines@h 00887167 shared:Socket.obj + 0006:00000168 __64666C98_Socket@h 00887168 shared:Socket.obj + 0006:00000169 __07734859_SocketMgr@h 00887169 shared:Socket.obj + 0006:0000016a __6D39ABD9_JvCryption@h 0088716a shared:Socket.obj + 0006:0000016b __1F38FBF6_KOSocket@h 0088716b shared:Socket.obj + 0006:0000016c __B4D3B869_stdafx@h 0088716c shared:Socket.obj + 0006:0000016d __8EF3AE2C_Socket@cpp 0088716d shared:Socket.obj + 0006:0000016e __941CAD6C_Atomic@h 0088716e shared:Socket.obj + 0006:0000016f __8A7023C3_vector 0088716f shared:Socket.obj + 0006:00000170 __5F965DF7_utility 00887170 shared:Socket.obj + 0006:00000171 __0582BD7F_xatomic@h 00887171 shared:Socket.obj + 0006:00000172 __A889CAE5_xstddef 00887172 shared:Socket.obj + 0006:00000181 __CFC461D7_vcruntime_new@h 00887181 shared:KOSocket.obj + 0006:00000182 __E410F33D_corecrt_math@h 00887182 shared:KOSocket.obj + 0006:00000183 __36B85FDF_stdlib@h 00887183 shared:KOSocket.obj + 0006:00000184 __689BD87C_cstdlib 00887184 shared:KOSocket.obj + 0006:00000185 __23AD7809_corecrt_stdio_config@h 00887185 shared:KOSocket.obj + 0006:00000186 __DD74D44A_corecrt_wstdio@h 00887186 shared:KOSocket.obj + 0006:00000187 __4B3541EE_stdio@h 00887187 shared:KOSocket.obj + 0006:00000188 __82CA083D_corecrt_memcpy_s@h 00887188 shared:KOSocket.obj + 0006:00000189 __990BA27D_corecrt_wconio@h 00887189 shared:KOSocket.obj + 0006:0000018a __D837D19F_corecrt_wio@h 0088718a shared:KOSocket.obj + 0006:0000018b __61E6ED1F_corecrt_wstring@h 0088718b shared:KOSocket.obj + 0006:0000018c __FE12CC83_corecrt_wtime@h 0088718c shared:KOSocket.obj + 0006:0000018d __01EE68DC_stat@h 0088718d shared:KOSocket.obj + 0006:0000018e __B513A213_wchar@h 0088718e shared:KOSocket.obj + 0006:0000018f __C7DD5323_limits 0088718f shared:KOSocket.obj + 0006:00000190 __72E614B1_type_traits 00887190 shared:KOSocket.obj + 0006:00000191 __A2957829_malloc@h 00887191 shared:KOSocket.obj + 0006:00000192 __85DDF3E7_vcruntime_exception@h 00887192 shared:KOSocket.obj + 0006:00000193 __0F8E31A9_exception 00887193 shared:KOSocket.obj + 0006:00000194 __F8BB3D43_corecrt_memory@h 00887194 shared:KOSocket.obj + 0006:00000195 __B0CBCB7B_string@h 00887195 shared:KOSocket.obj + 0006:00000196 __D60B0676_xutility 00887196 shared:KOSocket.obj + 0006:00000197 __35033E34_xmemory 00887197 shared:KOSocket.obj + 0006:00000198 __E542737D_algorithm 00887198 shared:KOSocket.obj + 0006:00000199 __941D13D0_ctype@h 00887199 shared:KOSocket.obj + 0006:0000019a __DF6784BA_basetsd@h 0088719a shared:KOSocket.obj + 0006:0000019b __73E5A5AE_guiddef@h 0088719b shared:KOSocket.obj + 0006:0000019c __20E88E2C_winnt@h 0088719c shared:KOSocket.obj + 0006:0000019d __B0708975_processthreadsapi@h 0088719d shared:KOSocket.obj + 0006:0000019e __14D8E0CB_memoryapi@h 0088719e shared:KOSocket.obj + 0006:0000019f __0A5E6AC9_winerror@h 0088719f shared:KOSocket.obj + 0006:000001a0 __95229982_winbase@h 008871a0 shared:KOSocket.obj + 0006:000001a1 __FDCAD2F5_winuser@h 008871a1 shared:KOSocket.obj + 0006:000001a2 __7F05D861_stralign@h 008871a2 shared:KOSocket.obj + 0006:000001a3 __88C98DD3_winsock2@h 008871a3 shared:KOSocket.obj + 0006:000001a4 __2063063A_ws2ipdef@h 008871a4 shared:KOSocket.obj + 0006:000001a5 __FF9C2137_ws2tcpip@h 008871a5 shared:KOSocket.obj + 0006:000001a6 __890DC717_ratio 008871a6 shared:KOSocket.obj + 0006:000001a7 __B62FE6C9_time@h 008871a7 shared:KOSocket.obj + 0006:000001a8 __A33055A9_chrono 008871a8 shared:KOSocket.obj + 0006:000001a9 __ACCC90E1_vcruntime_typeinfo@h 008871a9 shared:KOSocket.obj + 0006:000001aa __7B735FAD_memory 008871aa shared:KOSocket.obj + 0006:000001ab __6FCFA2ED_xthreads@h 008871ab shared:KOSocket.obj + 0006:000001ac __439D47F8_tuple 008871ac shared:KOSocket.obj + 0006:000001ad __A03E271B_thread 008871ad shared:KOSocket.obj + 0006:000001ae __ACE80FE1_atomic 008871ae shared:KOSocket.obj + 0006:000001af __41D0B8A8_xstring 008871af shared:KOSocket.obj + 0006:000001b0 __86C00BF4_stdexcept 008871b0 shared:KOSocket.obj + 0006:000001b1 __544DB471_xcall_once@h 008871b1 shared:KOSocket.obj + 0006:000001b2 __EB10A651_system_error 008871b2 shared:KOSocket.obj + 0006:000001b3 __9BA0CD47_mutex 008871b3 shared:KOSocket.obj + 0006:000001b4 __E5BE5EB9_cmath 008871b4 shared:KOSocket.obj + 0006:000001b5 __8725B14D_random 008871b5 shared:KOSocket.obj + 0006:000001b6 __EC97A2BB_xtree 008871b6 shared:KOSocket.obj + 0006:000001b7 __0FA0D931_string 008871b7 shared:KOSocket.obj + 0006:000001b8 __FF61FF39_mbstring@h 008871b8 shared:KOSocket.obj + 0006:000001b9 __84FBB88E_tchar@h 008871b9 shared:KOSocket.obj + 0006:000001ba __861371A5_ByteBuffer@h 008871ba shared:KOSocket.obj + 0006:000001bb __BAD61026_Packet@h 008871bb shared:KOSocket.obj + 0006:000001bc __024EB521_globals@h 008871bc shared:KOSocket.obj + 0006:000001bd __4FFA0077_Thread@h 008871bd shared:KOSocket.obj + 0006:000001be __27A9034B_CircularBuffer@h 008871be shared:KOSocket.obj + 0006:000001bf __A0D1D437_SocketDefines@h 008871bf shared:KOSocket.obj + 0006:000001c0 __64666C98_Socket@h 008871c0 shared:KOSocket.obj + 0006:000001c1 __07734859_SocketMgr@h 008871c1 shared:KOSocket.obj + 0006:000001c2 __6D39ABD9_JvCryption@h 008871c2 shared:KOSocket.obj + 0006:000001c3 __1F38FBF6_KOSocket@h 008871c3 shared:KOSocket.obj + 0006:000001c4 __B4D3B869_stdafx@h 008871c4 shared:KOSocket.obj + 0006:000001c5 __1BE695BC_KOSocket@cpp 008871c5 shared:KOSocket.obj + 0006:000001c6 __941CAD6C_Atomic@h 008871c6 shared:KOSocket.obj + 0006:000001c7 __8A7023C3_vector 008871c7 shared:KOSocket.obj + 0006:000001c8 __5F965DF7_utility 008871c8 shared:KOSocket.obj + 0006:000001c9 __0582BD7F_xatomic@h 008871c9 shared:KOSocket.obj + 0006:000001ca __A889CAE5_xstddef 008871ca shared:KOSocket.obj + 0006:000001d9 __CFC461D7_vcruntime_new@h 008871d9 shared:Condition.obj + 0006:000001da __E410F33D_corecrt_math@h 008871da shared:Condition.obj + 0006:000001db __36B85FDF_stdlib@h 008871db shared:Condition.obj + 0006:000001dc __689BD87C_cstdlib 008871dc shared:Condition.obj + 0006:000001dd __23AD7809_corecrt_stdio_config@h 008871dd shared:Condition.obj + 0006:000001de __DD74D44A_corecrt_wstdio@h 008871de shared:Condition.obj + 0006:000001df __4B3541EE_stdio@h 008871df shared:Condition.obj + 0006:000001e0 __82CA083D_corecrt_memcpy_s@h 008871e0 shared:Condition.obj + 0006:000001e1 __990BA27D_corecrt_wconio@h 008871e1 shared:Condition.obj + 0006:000001e2 __D837D19F_corecrt_wio@h 008871e2 shared:Condition.obj + 0006:000001e3 __61E6ED1F_corecrt_wstring@h 008871e3 shared:Condition.obj + 0006:000001e4 __FE12CC83_corecrt_wtime@h 008871e4 shared:Condition.obj + 0006:000001e5 __01EE68DC_stat@h 008871e5 shared:Condition.obj + 0006:000001e6 __B513A213_wchar@h 008871e6 shared:Condition.obj + 0006:000001e7 __C7DD5323_limits 008871e7 shared:Condition.obj + 0006:000001e8 __72E614B1_type_traits 008871e8 shared:Condition.obj + 0006:000001e9 __A2957829_malloc@h 008871e9 shared:Condition.obj + 0006:000001ea __85DDF3E7_vcruntime_exception@h 008871ea shared:Condition.obj + 0006:000001eb __0F8E31A9_exception 008871eb shared:Condition.obj + 0006:000001ec __F8BB3D43_corecrt_memory@h 008871ec shared:Condition.obj + 0006:000001ed __B0CBCB7B_string@h 008871ed shared:Condition.obj + 0006:000001ee __D60B0676_xutility 008871ee shared:Condition.obj + 0006:000001ef __35033E34_xmemory 008871ef shared:Condition.obj + 0006:000001f0 __E542737D_algorithm 008871f0 shared:Condition.obj + 0006:000001f1 __941D13D0_ctype@h 008871f1 shared:Condition.obj + 0006:000001f2 __DF6784BA_basetsd@h 008871f2 shared:Condition.obj + 0006:000001f3 __73E5A5AE_guiddef@h 008871f3 shared:Condition.obj + 0006:000001f4 __20E88E2C_winnt@h 008871f4 shared:Condition.obj + 0006:000001f5 __B0708975_processthreadsapi@h 008871f5 shared:Condition.obj + 0006:000001f6 __14D8E0CB_memoryapi@h 008871f6 shared:Condition.obj + 0006:000001f7 __0A5E6AC9_winerror@h 008871f7 shared:Condition.obj + 0006:000001f8 __95229982_winbase@h 008871f8 shared:Condition.obj + 0006:000001f9 __FDCAD2F5_winuser@h 008871f9 shared:Condition.obj + 0006:000001fa __7F05D861_stralign@h 008871fa shared:Condition.obj + 0006:000001fb __88C98DD3_winsock2@h 008871fb shared:Condition.obj + 0006:000001fc __2063063A_ws2ipdef@h 008871fc shared:Condition.obj + 0006:000001fd __FF9C2137_ws2tcpip@h 008871fd shared:Condition.obj + 0006:000001fe __890DC717_ratio 008871fe shared:Condition.obj + 0006:000001ff __B62FE6C9_time@h 008871ff shared:Condition.obj + 0006:00000200 __A33055A9_chrono 00887200 shared:Condition.obj + 0006:00000201 __ACCC90E1_vcruntime_typeinfo@h 00887201 shared:Condition.obj + 0006:00000202 __7B735FAD_memory 00887202 shared:Condition.obj + 0006:00000203 __6FCFA2ED_xthreads@h 00887203 shared:Condition.obj + 0006:00000204 __439D47F8_tuple 00887204 shared:Condition.obj + 0006:00000205 __A03E271B_thread 00887205 shared:Condition.obj + 0006:00000206 __ACE80FE1_atomic 00887206 shared:Condition.obj + 0006:00000207 __41D0B8A8_xstring 00887207 shared:Condition.obj + 0006:00000208 __86C00BF4_stdexcept 00887208 shared:Condition.obj + 0006:00000209 __544DB471_xcall_once@h 00887209 shared:Condition.obj + 0006:0000020a __EB10A651_system_error 0088720a shared:Condition.obj + 0006:0000020b __9BA0CD47_mutex 0088720b shared:Condition.obj + 0006:0000020c __E5BE5EB9_cmath 0088720c shared:Condition.obj + 0006:0000020d __8725B14D_random 0088720d shared:Condition.obj + 0006:0000020e __EC97A2BB_xtree 0088720e shared:Condition.obj + 0006:0000020f __0FA0D931_string 0088720f shared:Condition.obj + 0006:00000210 __FF61FF39_mbstring@h 00887210 shared:Condition.obj + 0006:00000211 __84FBB88E_tchar@h 00887211 shared:Condition.obj + 0006:00000212 __861371A5_ByteBuffer@h 00887212 shared:Condition.obj + 0006:00000213 __BAD61026_Packet@h 00887213 shared:Condition.obj + 0006:00000214 __024EB521_globals@h 00887214 shared:Condition.obj + 0006:00000215 __4FFA0077_Thread@h 00887215 shared:Condition.obj + 0006:00000216 __27A9034B_CircularBuffer@h 00887216 shared:Condition.obj + 0006:00000217 __A0D1D437_SocketDefines@h 00887217 shared:Condition.obj + 0006:00000218 __64666C98_Socket@h 00887218 shared:Condition.obj + 0006:00000219 __07734859_SocketMgr@h 00887219 shared:Condition.obj + 0006:0000021a __6D39ABD9_JvCryption@h 0088721a shared:Condition.obj + 0006:0000021b __1F38FBF6_KOSocket@h 0088721b shared:Condition.obj + 0006:0000021c __B4D3B869_stdafx@h 0088721c shared:Condition.obj + 0006:0000021d __6D719143_condition_variable 0088721d shared:Condition.obj + 0006:0000021e __A283E822_Condition@h 0088721e shared:Condition.obj + 0006:0000021f __7A0C69C2_Condition@cpp 0088721f shared:Condition.obj + 0006:00000220 __941CAD6C_Atomic@h 00887220 shared:Condition.obj + 0006:00000221 __8A7023C3_vector 00887221 shared:Condition.obj + 0006:00000222 __5F965DF7_utility 00887222 shared:Condition.obj + 0006:00000223 __0582BD7F_xatomic@h 00887223 shared:Condition.obj + 0006:00000224 __A889CAE5_xstddef 00887224 shared:Condition.obj + 0006:00000234 __CFC461D7_vcruntime_new@h 00887234 shared:signal_handler.obj + 0006:00000235 __E410F33D_corecrt_math@h 00887235 shared:signal_handler.obj + 0006:00000236 __36B85FDF_stdlib@h 00887236 shared:signal_handler.obj + 0006:00000237 __689BD87C_cstdlib 00887237 shared:signal_handler.obj + 0006:00000238 __23AD7809_corecrt_stdio_config@h 00887238 shared:signal_handler.obj + 0006:00000239 __DD74D44A_corecrt_wstdio@h 00887239 shared:signal_handler.obj + 0006:0000023a __4B3541EE_stdio@h 0088723a shared:signal_handler.obj + 0006:0000023b __82CA083D_corecrt_memcpy_s@h 0088723b shared:signal_handler.obj + 0006:0000023c __990BA27D_corecrt_wconio@h 0088723c shared:signal_handler.obj + 0006:0000023d __D837D19F_corecrt_wio@h 0088723d shared:signal_handler.obj + 0006:0000023e __61E6ED1F_corecrt_wstring@h 0088723e shared:signal_handler.obj + 0006:0000023f __FE12CC83_corecrt_wtime@h 0088723f shared:signal_handler.obj + 0006:00000240 __01EE68DC_stat@h 00887240 shared:signal_handler.obj + 0006:00000241 __B513A213_wchar@h 00887241 shared:signal_handler.obj + 0006:00000242 __C7DD5323_limits 00887242 shared:signal_handler.obj + 0006:00000243 __72E614B1_type_traits 00887243 shared:signal_handler.obj + 0006:00000244 __A2957829_malloc@h 00887244 shared:signal_handler.obj + 0006:00000245 __85DDF3E7_vcruntime_exception@h 00887245 shared:signal_handler.obj + 0006:00000246 __0F8E31A9_exception 00887246 shared:signal_handler.obj + 0006:00000247 __F8BB3D43_corecrt_memory@h 00887247 shared:signal_handler.obj + 0006:00000248 __B0CBCB7B_string@h 00887248 shared:signal_handler.obj + 0006:00000249 __D60B0676_xutility 00887249 shared:signal_handler.obj + 0006:0000024a __35033E34_xmemory 0088724a shared:signal_handler.obj + 0006:0000024b __E542737D_algorithm 0088724b shared:signal_handler.obj + 0006:0000024c __941D13D0_ctype@h 0088724c shared:signal_handler.obj + 0006:0000024d __DF6784BA_basetsd@h 0088724d shared:signal_handler.obj + 0006:0000024e __73E5A5AE_guiddef@h 0088724e shared:signal_handler.obj + 0006:0000024f __20E88E2C_winnt@h 0088724f shared:signal_handler.obj + 0006:00000250 __B0708975_processthreadsapi@h 00887250 shared:signal_handler.obj + 0006:00000251 __14D8E0CB_memoryapi@h 00887251 shared:signal_handler.obj + 0006:00000252 __0A5E6AC9_winerror@h 00887252 shared:signal_handler.obj + 0006:00000253 __95229982_winbase@h 00887253 shared:signal_handler.obj + 0006:00000254 __FDCAD2F5_winuser@h 00887254 shared:signal_handler.obj + 0006:00000255 __7F05D861_stralign@h 00887255 shared:signal_handler.obj + 0006:00000256 __88C98DD3_winsock2@h 00887256 shared:signal_handler.obj + 0006:00000257 __2063063A_ws2ipdef@h 00887257 shared:signal_handler.obj + 0006:00000258 __FF9C2137_ws2tcpip@h 00887258 shared:signal_handler.obj + 0006:00000259 __890DC717_ratio 00887259 shared:signal_handler.obj + 0006:0000025a __B62FE6C9_time@h 0088725a shared:signal_handler.obj + 0006:0000025b __A33055A9_chrono 0088725b shared:signal_handler.obj + 0006:0000025c __ACCC90E1_vcruntime_typeinfo@h 0088725c shared:signal_handler.obj + 0006:0000025d __7B735FAD_memory 0088725d shared:signal_handler.obj + 0006:0000025e __6FCFA2ED_xthreads@h 0088725e shared:signal_handler.obj + 0006:0000025f __439D47F8_tuple 0088725f shared:signal_handler.obj + 0006:00000260 __A03E271B_thread 00887260 shared:signal_handler.obj + 0006:00000261 __ACE80FE1_atomic 00887261 shared:signal_handler.obj + 0006:00000262 __41D0B8A8_xstring 00887262 shared:signal_handler.obj + 0006:00000263 __86C00BF4_stdexcept 00887263 shared:signal_handler.obj + 0006:00000264 __544DB471_xcall_once@h 00887264 shared:signal_handler.obj + 0006:00000265 __EB10A651_system_error 00887265 shared:signal_handler.obj + 0006:00000266 __9BA0CD47_mutex 00887266 shared:signal_handler.obj + 0006:00000267 __E5BE5EB9_cmath 00887267 shared:signal_handler.obj + 0006:00000268 __8725B14D_random 00887268 shared:signal_handler.obj + 0006:00000269 __EC97A2BB_xtree 00887269 shared:signal_handler.obj + 0006:0000026a __0FA0D931_string 0088726a shared:signal_handler.obj + 0006:0000026b __FF61FF39_mbstring@h 0088726b shared:signal_handler.obj + 0006:0000026c __84FBB88E_tchar@h 0088726c shared:signal_handler.obj + 0006:0000026d __861371A5_ByteBuffer@h 0088726d shared:signal_handler.obj + 0006:0000026e __BAD61026_Packet@h 0088726e shared:signal_handler.obj + 0006:0000026f __024EB521_globals@h 0088726f shared:signal_handler.obj + 0006:00000270 __4FFA0077_Thread@h 00887270 shared:signal_handler.obj + 0006:00000271 __27A9034B_CircularBuffer@h 00887271 shared:signal_handler.obj + 0006:00000272 __A0D1D437_SocketDefines@h 00887272 shared:signal_handler.obj + 0006:00000273 __64666C98_Socket@h 00887273 shared:signal_handler.obj + 0006:00000274 __07734859_SocketMgr@h 00887274 shared:signal_handler.obj + 0006:00000275 __6D39ABD9_JvCryption@h 00887275 shared:signal_handler.obj + 0006:00000276 __1F38FBF6_KOSocket@h 00887276 shared:signal_handler.obj + 0006:00000277 __B4D3B869_stdafx@h 00887277 shared:signal_handler.obj + 0006:00000278 __6D719143_condition_variable 00887278 shared:signal_handler.obj + 0006:00000279 __488B8434_signal_handler@cpp 00887279 shared:signal_handler.obj + 0006:0000027a __941CAD6C_Atomic@h 0088727a shared:signal_handler.obj + 0006:0000027b __8A7023C3_vector 0088727b shared:signal_handler.obj + 0006:0000027c __5F965DF7_utility 0088727c shared:signal_handler.obj + 0006:0000027d __0582BD7F_xatomic@h 0088727d shared:signal_handler.obj + 0006:0000027e __A889CAE5_xstddef 0088727e shared:signal_handler.obj + 0006:0000028e __CFC461D7_vcruntime_new@h 0088728e shared:tstring.obj + 0006:0000028f __82CA083D_corecrt_memcpy_s@h 0088728f shared:tstring.obj + 0006:00000290 __F8BB3D43_corecrt_memory@h 00887290 shared:tstring.obj + 0006:00000291 __61E6ED1F_corecrt_wstring@h 00887291 shared:tstring.obj + 0006:00000292 __B0CBCB7B_string@h 00887292 shared:tstring.obj + 0006:00000293 __23AD7809_corecrt_stdio_config@h 00887293 shared:tstring.obj + 0006:00000294 __DD74D44A_corecrt_wstdio@h 00887294 shared:tstring.obj + 0006:00000295 __4B3541EE_stdio@h 00887295 shared:tstring.obj + 0006:00000296 __990BA27D_corecrt_wconio@h 00887296 shared:tstring.obj + 0006:00000297 __D837D19F_corecrt_wio@h 00887297 shared:tstring.obj + 0006:00000298 __FE12CC83_corecrt_wtime@h 00887298 shared:tstring.obj + 0006:00000299 __01EE68DC_stat@h 00887299 shared:tstring.obj + 0006:0000029a __B513A213_wchar@h 0088729a shared:tstring.obj + 0006:0000029b __E410F33D_corecrt_math@h 0088729b shared:tstring.obj + 0006:0000029c __36B85FDF_stdlib@h 0088729c shared:tstring.obj + 0006:0000029d __689BD87C_cstdlib 0088729d shared:tstring.obj + 0006:0000029e __C7DD5323_limits 0088729e shared:tstring.obj + 0006:0000029f __72E614B1_type_traits 0088729f shared:tstring.obj + 0006:000002a0 __A2957829_malloc@h 008872a0 shared:tstring.obj + 0006:000002a1 __85DDF3E7_vcruntime_exception@h 008872a1 shared:tstring.obj + 0006:000002a2 __0F8E31A9_exception 008872a2 shared:tstring.obj + 0006:000002a3 __D60B0676_xutility 008872a3 shared:tstring.obj + 0006:000002a4 __35033E34_xmemory 008872a4 shared:tstring.obj + 0006:000002a5 __41D0B8A8_xstring 008872a5 shared:tstring.obj + 0006:000002a6 __941D13D0_ctype@h 008872a6 shared:tstring.obj + 0006:000002a7 __0FA0D931_string 008872a7 shared:tstring.obj + 0006:000002a8 __FF61FF39_mbstring@h 008872a8 shared:tstring.obj + 0006:000002a9 __84FBB88E_tchar@h 008872a9 shared:tstring.obj + 0006:000002aa __439D47F8_tuple 008872aa shared:tstring.obj + 0006:000002ab __ACCC90E1_vcruntime_typeinfo@h 008872ab shared:tstring.obj + 0006:000002ac __A97CFCB0_functional 008872ac shared:tstring.obj + 0006:000002ad __E542737D_algorithm 008872ad shared:tstring.obj + 0006:000002ae __1C23FC83_tstring@cpp 008872ae shared:tstring.obj + 0006:000002af __5F965DF7_utility 008872af shared:tstring.obj + 0006:000002b0 __A889CAE5_xstddef 008872b0 shared:tstring.obj + 0006:000002b8 __B4D3B869_stdafx@h 008872b8 shared:SMDFile.obj + 0006:000002b9 __7B45F61B_shared@pch 008872b9 shared:SMDFile.obj + 0006:000002ba __32C79CB7_set 008872ba shared:SMDFile.obj + 0006:000002bb __D60B0676_xutility 008872bb shared:SMDFile.obj + 0006:000002bc __B4D3B869_stdafx@h 008872bc shared:SMDFile.obj + 0006:000002bd __6FCFA2ED_xthreads@h 008872bd shared:SMDFile.obj + 0006:000002be __7FD2AC54_STLMapOnlyLoad@h 008872be shared:SMDFile.obj + 0006:000002bf __477E13D0_map 008872bf shared:SMDFile.obj + 0006:000002c0 __EC97A2BB_xtree 008872c0 shared:SMDFile.obj + 0006:000002c1 __4B3541EE_stdio@h 008872c1 shared:SMDFile.obj + 0006:000002c2 __23AD7809_corecrt_stdio_config@h 008872c2 shared:SMDFile.obj + 0006:000002c3 __C7DD5323_limits 008872c3 shared:SMDFile.obj + 0006:000002c4 __CFC461D7_vcruntime_new@h 008872c4 shared:SMDFile.obj + 0006:000002c5 __72E614B1_type_traits 008872c5 shared:SMDFile.obj + 0006:000002c6 __024EB521_globals@h 008872c6 shared:SMDFile.obj + 0006:000002c7 __9BA0CD47_mutex 008872c7 shared:SMDFile.obj + 0006:000002c8 __DD00BB62_SMDFile@cpp 008872c8 shared:SMDFile.obj + 0006:000002c9 __3D13F872_SMDFile@h 008872c9 shared:SMDFile.obj + 0006:000002ca __46BAFD6C_ReferenceObject@h 008872ca shared:SMDFile.obj + 0006:000002cb __02EAB8A8_stdafx@cpp 008872cb shared:SMDFile.obj + 0006:000002cc __35033E34_xmemory 008872cc shared:SMDFile.obj + 0006:000002cd __5F965DF7_utility 008872cd shared:SMDFile.obj + 0006:000002ce __A889CAE5_xstddef 008872ce shared:SMDFile.obj + 0006:000002cf __41D0B8A8_xstring 008872cf shared:SMDFile.obj + 0006:000002d0 __4DDF2879_structs@h 008872d0 shared:SMDFile.obj + 0006:000002d1 __24B69A46_N3ShapeMgr@h 008872d1 shared:SMDFile.obj + 0006:000002d2 __E410F33D_corecrt_math@h 008872d2 shared:SMDFile.obj + 0006:000002d3 __4E1550D4_My_3DStruct@h 008872d3 shared:SMDFile.obj + 0006:000002d9 __CFC461D7_vcruntime_new@h 008872d9 shared:Thread.obj + 0006:000002da __E410F33D_corecrt_math@h 008872da shared:Thread.obj + 0006:000002db __36B85FDF_stdlib@h 008872db shared:Thread.obj + 0006:000002dc __689BD87C_cstdlib 008872dc shared:Thread.obj + 0006:000002dd __23AD7809_corecrt_stdio_config@h 008872dd shared:Thread.obj + 0006:000002de __DD74D44A_corecrt_wstdio@h 008872de shared:Thread.obj + 0006:000002df __4B3541EE_stdio@h 008872df shared:Thread.obj + 0006:000002e0 __82CA083D_corecrt_memcpy_s@h 008872e0 shared:Thread.obj + 0006:000002e1 __990BA27D_corecrt_wconio@h 008872e1 shared:Thread.obj + 0006:000002e2 __D837D19F_corecrt_wio@h 008872e2 shared:Thread.obj + 0006:000002e3 __61E6ED1F_corecrt_wstring@h 008872e3 shared:Thread.obj + 0006:000002e4 __FE12CC83_corecrt_wtime@h 008872e4 shared:Thread.obj + 0006:000002e5 __01EE68DC_stat@h 008872e5 shared:Thread.obj + 0006:000002e6 __B513A213_wchar@h 008872e6 shared:Thread.obj + 0006:000002e7 __C7DD5323_limits 008872e7 shared:Thread.obj + 0006:000002e8 __72E614B1_type_traits 008872e8 shared:Thread.obj + 0006:000002e9 __A2957829_malloc@h 008872e9 shared:Thread.obj + 0006:000002ea __85DDF3E7_vcruntime_exception@h 008872ea shared:Thread.obj + 0006:000002eb __0F8E31A9_exception 008872eb shared:Thread.obj + 0006:000002ec __F8BB3D43_corecrt_memory@h 008872ec shared:Thread.obj + 0006:000002ed __B0CBCB7B_string@h 008872ed shared:Thread.obj + 0006:000002ee __D60B0676_xutility 008872ee shared:Thread.obj + 0006:000002ef __35033E34_xmemory 008872ef shared:Thread.obj + 0006:000002f0 __E542737D_algorithm 008872f0 shared:Thread.obj + 0006:000002f1 __941D13D0_ctype@h 008872f1 shared:Thread.obj + 0006:000002f2 __DF6784BA_basetsd@h 008872f2 shared:Thread.obj + 0006:000002f3 __73E5A5AE_guiddef@h 008872f3 shared:Thread.obj + 0006:000002f4 __20E88E2C_winnt@h 008872f4 shared:Thread.obj + 0006:000002f5 __B0708975_processthreadsapi@h 008872f5 shared:Thread.obj + 0006:000002f6 __14D8E0CB_memoryapi@h 008872f6 shared:Thread.obj + 0006:000002f7 __0A5E6AC9_winerror@h 008872f7 shared:Thread.obj + 0006:000002f8 __95229982_winbase@h 008872f8 shared:Thread.obj + 0006:000002f9 __FDCAD2F5_winuser@h 008872f9 shared:Thread.obj + 0006:000002fa __7F05D861_stralign@h 008872fa shared:Thread.obj + 0006:000002fb __88C98DD3_winsock2@h 008872fb shared:Thread.obj + 0006:000002fc __2063063A_ws2ipdef@h 008872fc shared:Thread.obj + 0006:000002fd __FF9C2137_ws2tcpip@h 008872fd shared:Thread.obj + 0006:000002fe __890DC717_ratio 008872fe shared:Thread.obj + 0006:000002ff __B62FE6C9_time@h 008872ff shared:Thread.obj + 0006:00000300 __A33055A9_chrono 00887300 shared:Thread.obj + 0006:00000301 __ACCC90E1_vcruntime_typeinfo@h 00887301 shared:Thread.obj + 0006:00000302 __7B735FAD_memory 00887302 shared:Thread.obj + 0006:00000303 __6FCFA2ED_xthreads@h 00887303 shared:Thread.obj + 0006:00000304 __439D47F8_tuple 00887304 shared:Thread.obj + 0006:00000305 __A03E271B_thread 00887305 shared:Thread.obj + 0006:00000306 __ACE80FE1_atomic 00887306 shared:Thread.obj + 0006:00000307 __41D0B8A8_xstring 00887307 shared:Thread.obj + 0006:00000308 __86C00BF4_stdexcept 00887308 shared:Thread.obj + 0006:00000309 __544DB471_xcall_once@h 00887309 shared:Thread.obj + 0006:0000030a __EB10A651_system_error 0088730a shared:Thread.obj + 0006:0000030b __9BA0CD47_mutex 0088730b shared:Thread.obj + 0006:0000030c __E5BE5EB9_cmath 0088730c shared:Thread.obj + 0006:0000030d __8725B14D_random 0088730d shared:Thread.obj + 0006:0000030e __EC97A2BB_xtree 0088730e shared:Thread.obj + 0006:0000030f __0FA0D931_string 0088730f shared:Thread.obj + 0006:00000310 __FF61FF39_mbstring@h 00887310 shared:Thread.obj + 0006:00000311 __84FBB88E_tchar@h 00887311 shared:Thread.obj + 0006:00000312 __861371A5_ByteBuffer@h 00887312 shared:Thread.obj + 0006:00000313 __BAD61026_Packet@h 00887313 shared:Thread.obj + 0006:00000314 __024EB521_globals@h 00887314 shared:Thread.obj + 0006:00000315 __4FFA0077_Thread@h 00887315 shared:Thread.obj + 0006:00000316 __27A9034B_CircularBuffer@h 00887316 shared:Thread.obj + 0006:00000317 __A0D1D437_SocketDefines@h 00887317 shared:Thread.obj + 0006:00000318 __64666C98_Socket@h 00887318 shared:Thread.obj + 0006:00000319 __07734859_SocketMgr@h 00887319 shared:Thread.obj + 0006:0000031a __6D39ABD9_JvCryption@h 0088731a shared:Thread.obj + 0006:0000031b __1F38FBF6_KOSocket@h 0088731b shared:Thread.obj + 0006:0000031c __B4D3B869_stdafx@h 0088731c shared:Thread.obj + 0006:0000031d __131147E0_Thread@cpp 0088731d shared:Thread.obj + 0006:0000031e __941CAD6C_Atomic@h 0088731e shared:Thread.obj + 0006:0000031f __8A7023C3_vector 0088731f shared:Thread.obj + 0006:00000320 __5F965DF7_utility 00887320 shared:Thread.obj + 0006:00000321 __0582BD7F_xatomic@h 00887321 shared:Thread.obj + 0006:00000322 __A889CAE5_xstddef 00887322 shared:Thread.obj + 0006:00000331 __CFC461D7_vcruntime_new@h 00887331 shared:SocketOpsWin32.obj + 0006:00000332 __E410F33D_corecrt_math@h 00887332 shared:SocketOpsWin32.obj + 0006:00000333 __36B85FDF_stdlib@h 00887333 shared:SocketOpsWin32.obj + 0006:00000334 __689BD87C_cstdlib 00887334 shared:SocketOpsWin32.obj + 0006:00000335 __23AD7809_corecrt_stdio_config@h 00887335 shared:SocketOpsWin32.obj + 0006:00000336 __DD74D44A_corecrt_wstdio@h 00887336 shared:SocketOpsWin32.obj + 0006:00000337 __4B3541EE_stdio@h 00887337 shared:SocketOpsWin32.obj + 0006:00000338 __82CA083D_corecrt_memcpy_s@h 00887338 shared:SocketOpsWin32.obj + 0006:00000339 __990BA27D_corecrt_wconio@h 00887339 shared:SocketOpsWin32.obj + 0006:0000033a __D837D19F_corecrt_wio@h 0088733a shared:SocketOpsWin32.obj + 0006:0000033b __61E6ED1F_corecrt_wstring@h 0088733b shared:SocketOpsWin32.obj + 0006:0000033c __FE12CC83_corecrt_wtime@h 0088733c shared:SocketOpsWin32.obj + 0006:0000033d __01EE68DC_stat@h 0088733d shared:SocketOpsWin32.obj + 0006:0000033e __B513A213_wchar@h 0088733e shared:SocketOpsWin32.obj + 0006:0000033f __C7DD5323_limits 0088733f shared:SocketOpsWin32.obj + 0006:00000340 __72E614B1_type_traits 00887340 shared:SocketOpsWin32.obj + 0006:00000341 __A2957829_malloc@h 00887341 shared:SocketOpsWin32.obj + 0006:00000342 __85DDF3E7_vcruntime_exception@h 00887342 shared:SocketOpsWin32.obj + 0006:00000343 __0F8E31A9_exception 00887343 shared:SocketOpsWin32.obj + 0006:00000344 __F8BB3D43_corecrt_memory@h 00887344 shared:SocketOpsWin32.obj + 0006:00000345 __B0CBCB7B_string@h 00887345 shared:SocketOpsWin32.obj + 0006:00000346 __D60B0676_xutility 00887346 shared:SocketOpsWin32.obj + 0006:00000347 __35033E34_xmemory 00887347 shared:SocketOpsWin32.obj + 0006:00000348 __E542737D_algorithm 00887348 shared:SocketOpsWin32.obj + 0006:00000349 __941D13D0_ctype@h 00887349 shared:SocketOpsWin32.obj + 0006:0000034a __DF6784BA_basetsd@h 0088734a shared:SocketOpsWin32.obj + 0006:0000034b __73E5A5AE_guiddef@h 0088734b shared:SocketOpsWin32.obj + 0006:0000034c __20E88E2C_winnt@h 0088734c shared:SocketOpsWin32.obj + 0006:0000034d __B0708975_processthreadsapi@h 0088734d shared:SocketOpsWin32.obj + 0006:0000034e __14D8E0CB_memoryapi@h 0088734e shared:SocketOpsWin32.obj + 0006:0000034f __0A5E6AC9_winerror@h 0088734f shared:SocketOpsWin32.obj + 0006:00000350 __95229982_winbase@h 00887350 shared:SocketOpsWin32.obj + 0006:00000351 __FDCAD2F5_winuser@h 00887351 shared:SocketOpsWin32.obj + 0006:00000352 __7F05D861_stralign@h 00887352 shared:SocketOpsWin32.obj + 0006:00000353 __88C98DD3_winsock2@h 00887353 shared:SocketOpsWin32.obj + 0006:00000354 __2063063A_ws2ipdef@h 00887354 shared:SocketOpsWin32.obj + 0006:00000355 __FF9C2137_ws2tcpip@h 00887355 shared:SocketOpsWin32.obj + 0006:00000356 __890DC717_ratio 00887356 shared:SocketOpsWin32.obj + 0006:00000357 __B62FE6C9_time@h 00887357 shared:SocketOpsWin32.obj + 0006:00000358 __A33055A9_chrono 00887358 shared:SocketOpsWin32.obj + 0006:00000359 __ACCC90E1_vcruntime_typeinfo@h 00887359 shared:SocketOpsWin32.obj + 0006:0000035a __7B735FAD_memory 0088735a shared:SocketOpsWin32.obj + 0006:0000035b __6FCFA2ED_xthreads@h 0088735b shared:SocketOpsWin32.obj + 0006:0000035c __439D47F8_tuple 0088735c shared:SocketOpsWin32.obj + 0006:0000035d __A03E271B_thread 0088735d shared:SocketOpsWin32.obj + 0006:0000035e __ACE80FE1_atomic 0088735e shared:SocketOpsWin32.obj + 0006:0000035f __41D0B8A8_xstring 0088735f shared:SocketOpsWin32.obj + 0006:00000360 __86C00BF4_stdexcept 00887360 shared:SocketOpsWin32.obj + 0006:00000361 __544DB471_xcall_once@h 00887361 shared:SocketOpsWin32.obj + 0006:00000362 __EB10A651_system_error 00887362 shared:SocketOpsWin32.obj + 0006:00000363 __9BA0CD47_mutex 00887363 shared:SocketOpsWin32.obj + 0006:00000364 __E5BE5EB9_cmath 00887364 shared:SocketOpsWin32.obj + 0006:00000365 __8725B14D_random 00887365 shared:SocketOpsWin32.obj + 0006:00000366 __EC97A2BB_xtree 00887366 shared:SocketOpsWin32.obj + 0006:00000367 __0FA0D931_string 00887367 shared:SocketOpsWin32.obj + 0006:00000368 __FF61FF39_mbstring@h 00887368 shared:SocketOpsWin32.obj + 0006:00000369 __84FBB88E_tchar@h 00887369 shared:SocketOpsWin32.obj + 0006:0000036a __861371A5_ByteBuffer@h 0088736a shared:SocketOpsWin32.obj + 0006:0000036b __BAD61026_Packet@h 0088736b shared:SocketOpsWin32.obj + 0006:0000036c __024EB521_globals@h 0088736c shared:SocketOpsWin32.obj + 0006:0000036d __4FFA0077_Thread@h 0088736d shared:SocketOpsWin32.obj + 0006:0000036e __27A9034B_CircularBuffer@h 0088736e shared:SocketOpsWin32.obj + 0006:0000036f __A0D1D437_SocketDefines@h 0088736f shared:SocketOpsWin32.obj + 0006:00000370 __64666C98_Socket@h 00887370 shared:SocketOpsWin32.obj + 0006:00000371 __07734859_SocketMgr@h 00887371 shared:SocketOpsWin32.obj + 0006:00000372 __6D39ABD9_JvCryption@h 00887372 shared:SocketOpsWin32.obj + 0006:00000373 __1F38FBF6_KOSocket@h 00887373 shared:SocketOpsWin32.obj + 0006:00000374 __B4D3B869_stdafx@h 00887374 shared:SocketOpsWin32.obj + 0006:00000375 __95BDDBD9_SocketOpsWin32@cpp 00887375 shared:SocketOpsWin32.obj + 0006:00000376 __941CAD6C_Atomic@h 00887376 shared:SocketOpsWin32.obj + 0006:00000377 __8A7023C3_vector 00887377 shared:SocketOpsWin32.obj + 0006:00000378 __5F965DF7_utility 00887378 shared:SocketOpsWin32.obj + 0006:00000379 __0582BD7F_xatomic@h 00887379 shared:SocketOpsWin32.obj + 0006:0000037a __A889CAE5_xstddef 0088737a shared:SocketOpsWin32.obj + 0006:00000389 __CFC461D7_vcruntime_new@h 00887389 shared:OdbcCommand.obj + 0006:0000038a __E410F33D_corecrt_math@h 0088738a shared:OdbcCommand.obj + 0006:0000038b __36B85FDF_stdlib@h 0088738b shared:OdbcCommand.obj + 0006:0000038c __689BD87C_cstdlib 0088738c shared:OdbcCommand.obj + 0006:0000038d __23AD7809_corecrt_stdio_config@h 0088738d shared:OdbcCommand.obj + 0006:0000038e __DD74D44A_corecrt_wstdio@h 0088738e shared:OdbcCommand.obj + 0006:0000038f __4B3541EE_stdio@h 0088738f shared:OdbcCommand.obj + 0006:00000390 __82CA083D_corecrt_memcpy_s@h 00887390 shared:OdbcCommand.obj + 0006:00000391 __990BA27D_corecrt_wconio@h 00887391 shared:OdbcCommand.obj + 0006:00000392 __D837D19F_corecrt_wio@h 00887392 shared:OdbcCommand.obj + 0006:00000393 __61E6ED1F_corecrt_wstring@h 00887393 shared:OdbcCommand.obj + 0006:00000394 __FE12CC83_corecrt_wtime@h 00887394 shared:OdbcCommand.obj + 0006:00000395 __01EE68DC_stat@h 00887395 shared:OdbcCommand.obj + 0006:00000396 __B513A213_wchar@h 00887396 shared:OdbcCommand.obj + 0006:00000397 __C7DD5323_limits 00887397 shared:OdbcCommand.obj + 0006:00000398 __72E614B1_type_traits 00887398 shared:OdbcCommand.obj + 0006:00000399 __A2957829_malloc@h 00887399 shared:OdbcCommand.obj + 0006:0000039a __85DDF3E7_vcruntime_exception@h 0088739a shared:OdbcCommand.obj + 0006:0000039b __0F8E31A9_exception 0088739b shared:OdbcCommand.obj + 0006:0000039c __F8BB3D43_corecrt_memory@h 0088739c shared:OdbcCommand.obj + 0006:0000039d __B0CBCB7B_string@h 0088739d shared:OdbcCommand.obj + 0006:0000039e __D60B0676_xutility 0088739e shared:OdbcCommand.obj + 0006:0000039f __35033E34_xmemory 0088739f shared:OdbcCommand.obj + 0006:000003a0 __E542737D_algorithm 008873a0 shared:OdbcCommand.obj + 0006:000003a1 __941D13D0_ctype@h 008873a1 shared:OdbcCommand.obj + 0006:000003a2 __DF6784BA_basetsd@h 008873a2 shared:OdbcCommand.obj + 0006:000003a3 __73E5A5AE_guiddef@h 008873a3 shared:OdbcCommand.obj + 0006:000003a4 __20E88E2C_winnt@h 008873a4 shared:OdbcCommand.obj + 0006:000003a5 __B0708975_processthreadsapi@h 008873a5 shared:OdbcCommand.obj + 0006:000003a6 __14D8E0CB_memoryapi@h 008873a6 shared:OdbcCommand.obj + 0006:000003a7 __0A5E6AC9_winerror@h 008873a7 shared:OdbcCommand.obj + 0006:000003a8 __95229982_winbase@h 008873a8 shared:OdbcCommand.obj + 0006:000003a9 __FDCAD2F5_winuser@h 008873a9 shared:OdbcCommand.obj + 0006:000003aa __7F05D861_stralign@h 008873aa shared:OdbcCommand.obj + 0006:000003ab __88C98DD3_winsock2@h 008873ab shared:OdbcCommand.obj + 0006:000003ac __2063063A_ws2ipdef@h 008873ac shared:OdbcCommand.obj + 0006:000003ad __FF9C2137_ws2tcpip@h 008873ad shared:OdbcCommand.obj + 0006:000003ae __890DC717_ratio 008873ae shared:OdbcCommand.obj + 0006:000003af __B62FE6C9_time@h 008873af shared:OdbcCommand.obj + 0006:000003b0 __A33055A9_chrono 008873b0 shared:OdbcCommand.obj + 0006:000003b1 __ACCC90E1_vcruntime_typeinfo@h 008873b1 shared:OdbcCommand.obj + 0006:000003b2 __7B735FAD_memory 008873b2 shared:OdbcCommand.obj + 0006:000003b3 __6FCFA2ED_xthreads@h 008873b3 shared:OdbcCommand.obj + 0006:000003b4 __439D47F8_tuple 008873b4 shared:OdbcCommand.obj + 0006:000003b5 __A03E271B_thread 008873b5 shared:OdbcCommand.obj + 0006:000003b6 __ACE80FE1_atomic 008873b6 shared:OdbcCommand.obj + 0006:000003b7 __41D0B8A8_xstring 008873b7 shared:OdbcCommand.obj + 0006:000003b8 __86C00BF4_stdexcept 008873b8 shared:OdbcCommand.obj + 0006:000003b9 __544DB471_xcall_once@h 008873b9 shared:OdbcCommand.obj + 0006:000003ba __EB10A651_system_error 008873ba shared:OdbcCommand.obj + 0006:000003bb __9BA0CD47_mutex 008873bb shared:OdbcCommand.obj + 0006:000003bc __E5BE5EB9_cmath 008873bc shared:OdbcCommand.obj + 0006:000003bd __8725B14D_random 008873bd shared:OdbcCommand.obj + 0006:000003be __EC97A2BB_xtree 008873be shared:OdbcCommand.obj + 0006:000003bf __0FA0D931_string 008873bf shared:OdbcCommand.obj + 0006:000003c0 __FF61FF39_mbstring@h 008873c0 shared:OdbcCommand.obj + 0006:000003c1 __84FBB88E_tchar@h 008873c1 shared:OdbcCommand.obj + 0006:000003c2 __861371A5_ByteBuffer@h 008873c2 shared:OdbcCommand.obj + 0006:000003c3 __BAD61026_Packet@h 008873c3 shared:OdbcCommand.obj + 0006:000003c4 __024EB521_globals@h 008873c4 shared:OdbcCommand.obj + 0006:000003c5 __4FFA0077_Thread@h 008873c5 shared:OdbcCommand.obj + 0006:000003c6 __27A9034B_CircularBuffer@h 008873c6 shared:OdbcCommand.obj + 0006:000003c7 __A0D1D437_SocketDefines@h 008873c7 shared:OdbcCommand.obj + 0006:000003c8 __64666C98_Socket@h 008873c8 shared:OdbcCommand.obj + 0006:000003c9 __07734859_SocketMgr@h 008873c9 shared:OdbcCommand.obj + 0006:000003ca __6D39ABD9_JvCryption@h 008873ca shared:OdbcCommand.obj + 0006:000003cb __1F38FBF6_KOSocket@h 008873cb shared:OdbcCommand.obj + 0006:000003cc __B4D3B869_stdafx@h 008873cc shared:OdbcCommand.obj + 0006:000003cd __E1525AB4_OdbcParameter@h 008873cd shared:OdbcCommand.obj + 0006:000003ce __F76DC18B_OdbcCommand@h 008873ce shared:OdbcCommand.obj + 0006:000003cf __45505F97_OdbcConnection@h 008873cf shared:OdbcCommand.obj + 0006:000003d0 __477BA3E0_OdbcCommand@cpp 008873d0 shared:OdbcCommand.obj + 0006:000003d1 __477E13D0_map 008873d1 shared:OdbcCommand.obj + 0006:000003d2 __941CAD6C_Atomic@h 008873d2 shared:OdbcCommand.obj + 0006:000003d3 __8A7023C3_vector 008873d3 shared:OdbcCommand.obj + 0006:000003d4 __5F965DF7_utility 008873d4 shared:OdbcCommand.obj + 0006:000003d5 __0582BD7F_xatomic@h 008873d5 shared:OdbcCommand.obj + 0006:000003d6 __A889CAE5_xstddef 008873d6 shared:OdbcCommand.obj + 0006:000003e6 __CFC461D7_vcruntime_new@h 008873e6 shared:OdbcConnection.obj + 0006:000003e7 __E410F33D_corecrt_math@h 008873e7 shared:OdbcConnection.obj + 0006:000003e8 __36B85FDF_stdlib@h 008873e8 shared:OdbcConnection.obj + 0006:000003e9 __689BD87C_cstdlib 008873e9 shared:OdbcConnection.obj + 0006:000003ea __23AD7809_corecrt_stdio_config@h 008873ea shared:OdbcConnection.obj + 0006:000003eb __DD74D44A_corecrt_wstdio@h 008873eb shared:OdbcConnection.obj + 0006:000003ec __4B3541EE_stdio@h 008873ec shared:OdbcConnection.obj + 0006:000003ed __82CA083D_corecrt_memcpy_s@h 008873ed shared:OdbcConnection.obj + 0006:000003ee __990BA27D_corecrt_wconio@h 008873ee shared:OdbcConnection.obj + 0006:000003ef __D837D19F_corecrt_wio@h 008873ef shared:OdbcConnection.obj + 0006:000003f0 __61E6ED1F_corecrt_wstring@h 008873f0 shared:OdbcConnection.obj + 0006:000003f1 __FE12CC83_corecrt_wtime@h 008873f1 shared:OdbcConnection.obj + 0006:000003f2 __01EE68DC_stat@h 008873f2 shared:OdbcConnection.obj + 0006:000003f3 __B513A213_wchar@h 008873f3 shared:OdbcConnection.obj + 0006:000003f4 __C7DD5323_limits 008873f4 shared:OdbcConnection.obj + 0006:000003f5 __72E614B1_type_traits 008873f5 shared:OdbcConnection.obj + 0006:000003f6 __A2957829_malloc@h 008873f6 shared:OdbcConnection.obj + 0006:000003f7 __85DDF3E7_vcruntime_exception@h 008873f7 shared:OdbcConnection.obj + 0006:000003f8 __0F8E31A9_exception 008873f8 shared:OdbcConnection.obj + 0006:000003f9 __F8BB3D43_corecrt_memory@h 008873f9 shared:OdbcConnection.obj + 0006:000003fa __B0CBCB7B_string@h 008873fa shared:OdbcConnection.obj + 0006:000003fb __D60B0676_xutility 008873fb shared:OdbcConnection.obj + 0006:000003fc __35033E34_xmemory 008873fc shared:OdbcConnection.obj + 0006:000003fd __E542737D_algorithm 008873fd shared:OdbcConnection.obj + 0006:000003fe __941D13D0_ctype@h 008873fe shared:OdbcConnection.obj + 0006:000003ff __DF6784BA_basetsd@h 008873ff shared:OdbcConnection.obj + 0006:00000400 __73E5A5AE_guiddef@h 00887400 shared:OdbcConnection.obj + 0006:00000401 __20E88E2C_winnt@h 00887401 shared:OdbcConnection.obj + 0006:00000402 __B0708975_processthreadsapi@h 00887402 shared:OdbcConnection.obj + 0006:00000403 __14D8E0CB_memoryapi@h 00887403 shared:OdbcConnection.obj + 0006:00000404 __0A5E6AC9_winerror@h 00887404 shared:OdbcConnection.obj + 0006:00000405 __95229982_winbase@h 00887405 shared:OdbcConnection.obj + 0006:00000406 __FDCAD2F5_winuser@h 00887406 shared:OdbcConnection.obj + 0006:00000407 __7F05D861_stralign@h 00887407 shared:OdbcConnection.obj + 0006:00000408 __88C98DD3_winsock2@h 00887408 shared:OdbcConnection.obj + 0006:00000409 __2063063A_ws2ipdef@h 00887409 shared:OdbcConnection.obj + 0006:0000040a __FF9C2137_ws2tcpip@h 0088740a shared:OdbcConnection.obj + 0006:0000040b __890DC717_ratio 0088740b shared:OdbcConnection.obj + 0006:0000040c __B62FE6C9_time@h 0088740c shared:OdbcConnection.obj + 0006:0000040d __A33055A9_chrono 0088740d shared:OdbcConnection.obj + 0006:0000040e __ACCC90E1_vcruntime_typeinfo@h 0088740e shared:OdbcConnection.obj + 0006:0000040f __7B735FAD_memory 0088740f shared:OdbcConnection.obj + 0006:00000410 __6FCFA2ED_xthreads@h 00887410 shared:OdbcConnection.obj + 0006:00000411 __439D47F8_tuple 00887411 shared:OdbcConnection.obj + 0006:00000412 __A03E271B_thread 00887412 shared:OdbcConnection.obj + 0006:00000413 __ACE80FE1_atomic 00887413 shared:OdbcConnection.obj + 0006:00000414 __41D0B8A8_xstring 00887414 shared:OdbcConnection.obj + 0006:00000415 __86C00BF4_stdexcept 00887415 shared:OdbcConnection.obj + 0006:00000416 __544DB471_xcall_once@h 00887416 shared:OdbcConnection.obj + 0006:00000417 __EB10A651_system_error 00887417 shared:OdbcConnection.obj + 0006:00000418 __9BA0CD47_mutex 00887418 shared:OdbcConnection.obj + 0006:00000419 __E5BE5EB9_cmath 00887419 shared:OdbcConnection.obj + 0006:0000041a __8725B14D_random 0088741a shared:OdbcConnection.obj + 0006:0000041b __EC97A2BB_xtree 0088741b shared:OdbcConnection.obj + 0006:0000041c __0FA0D931_string 0088741c shared:OdbcConnection.obj + 0006:0000041d __FF61FF39_mbstring@h 0088741d shared:OdbcConnection.obj + 0006:0000041e __84FBB88E_tchar@h 0088741e shared:OdbcConnection.obj + 0006:0000041f __861371A5_ByteBuffer@h 0088741f shared:OdbcConnection.obj + 0006:00000420 __BAD61026_Packet@h 00887420 shared:OdbcConnection.obj + 0006:00000421 __024EB521_globals@h 00887421 shared:OdbcConnection.obj + 0006:00000422 __4FFA0077_Thread@h 00887422 shared:OdbcConnection.obj + 0006:00000423 __27A9034B_CircularBuffer@h 00887423 shared:OdbcConnection.obj + 0006:00000424 __A0D1D437_SocketDefines@h 00887424 shared:OdbcConnection.obj + 0006:00000425 __64666C98_Socket@h 00887425 shared:OdbcConnection.obj + 0006:00000426 __07734859_SocketMgr@h 00887426 shared:OdbcConnection.obj + 0006:00000427 __6D39ABD9_JvCryption@h 00887427 shared:OdbcConnection.obj + 0006:00000428 __1F38FBF6_KOSocket@h 00887428 shared:OdbcConnection.obj + 0006:00000429 __B4D3B869_stdafx@h 00887429 shared:OdbcConnection.obj + 0006:0000042a __E1525AB4_OdbcParameter@h 0088742a shared:OdbcConnection.obj + 0006:0000042b __F76DC18B_OdbcCommand@h 0088742b shared:OdbcConnection.obj + 0006:0000042c __45505F97_OdbcConnection@h 0088742c shared:OdbcConnection.obj + 0006:0000042d __B6BBF2C3_OdbcConnection@cpp 0088742d shared:OdbcConnection.obj + 0006:0000042e __32C79CB7_set 0088742e shared:OdbcConnection.obj + 0006:0000042f __8A7023C3_vector 0088742f shared:OdbcConnection.obj + 0006:00000430 __941CAD6C_Atomic@h 00887430 shared:OdbcConnection.obj + 0006:00000431 __5F965DF7_utility 00887431 shared:OdbcConnection.obj + 0006:00000432 __0582BD7F_xatomic@h 00887432 shared:OdbcConnection.obj + 0006:00000433 __A889CAE5_xstddef 00887433 shared:OdbcConnection.obj + 0006:00000443 __CFC461D7_vcruntime_new@h 00887443 shared:OdbcRecordset.obj + 0006:00000444 __E410F33D_corecrt_math@h 00887444 shared:OdbcRecordset.obj + 0006:00000445 __36B85FDF_stdlib@h 00887445 shared:OdbcRecordset.obj + 0006:00000446 __689BD87C_cstdlib 00887446 shared:OdbcRecordset.obj + 0006:00000447 __23AD7809_corecrt_stdio_config@h 00887447 shared:OdbcRecordset.obj + 0006:00000448 __DD74D44A_corecrt_wstdio@h 00887448 shared:OdbcRecordset.obj + 0006:00000449 __4B3541EE_stdio@h 00887449 shared:OdbcRecordset.obj + 0006:0000044a __82CA083D_corecrt_memcpy_s@h 0088744a shared:OdbcRecordset.obj + 0006:0000044b __990BA27D_corecrt_wconio@h 0088744b shared:OdbcRecordset.obj + 0006:0000044c __D837D19F_corecrt_wio@h 0088744c shared:OdbcRecordset.obj + 0006:0000044d __61E6ED1F_corecrt_wstring@h 0088744d shared:OdbcRecordset.obj + 0006:0000044e __FE12CC83_corecrt_wtime@h 0088744e shared:OdbcRecordset.obj + 0006:0000044f __01EE68DC_stat@h 0088744f shared:OdbcRecordset.obj + 0006:00000450 __B513A213_wchar@h 00887450 shared:OdbcRecordset.obj + 0006:00000451 __C7DD5323_limits 00887451 shared:OdbcRecordset.obj + 0006:00000452 __72E614B1_type_traits 00887452 shared:OdbcRecordset.obj + 0006:00000453 __A2957829_malloc@h 00887453 shared:OdbcRecordset.obj + 0006:00000454 __85DDF3E7_vcruntime_exception@h 00887454 shared:OdbcRecordset.obj + 0006:00000455 __0F8E31A9_exception 00887455 shared:OdbcRecordset.obj + 0006:00000456 __F8BB3D43_corecrt_memory@h 00887456 shared:OdbcRecordset.obj + 0006:00000457 __B0CBCB7B_string@h 00887457 shared:OdbcRecordset.obj + 0006:00000458 __D60B0676_xutility 00887458 shared:OdbcRecordset.obj + 0006:00000459 __35033E34_xmemory 00887459 shared:OdbcRecordset.obj + 0006:0000045a __E542737D_algorithm 0088745a shared:OdbcRecordset.obj + 0006:0000045b __941D13D0_ctype@h 0088745b shared:OdbcRecordset.obj + 0006:0000045c __DF6784BA_basetsd@h 0088745c shared:OdbcRecordset.obj + 0006:0000045d __73E5A5AE_guiddef@h 0088745d shared:OdbcRecordset.obj + 0006:0000045e __20E88E2C_winnt@h 0088745e shared:OdbcRecordset.obj + 0006:0000045f __B0708975_processthreadsapi@h 0088745f shared:OdbcRecordset.obj + 0006:00000460 __14D8E0CB_memoryapi@h 00887460 shared:OdbcRecordset.obj + 0006:00000461 __0A5E6AC9_winerror@h 00887461 shared:OdbcRecordset.obj + 0006:00000462 __95229982_winbase@h 00887462 shared:OdbcRecordset.obj + 0006:00000463 __FDCAD2F5_winuser@h 00887463 shared:OdbcRecordset.obj + 0006:00000464 __7F05D861_stralign@h 00887464 shared:OdbcRecordset.obj + 0006:00000465 __88C98DD3_winsock2@h 00887465 shared:OdbcRecordset.obj + 0006:00000466 __2063063A_ws2ipdef@h 00887466 shared:OdbcRecordset.obj + 0006:00000467 __FF9C2137_ws2tcpip@h 00887467 shared:OdbcRecordset.obj + 0006:00000468 __890DC717_ratio 00887468 shared:OdbcRecordset.obj + 0006:00000469 __B62FE6C9_time@h 00887469 shared:OdbcRecordset.obj + 0006:0000046a __A33055A9_chrono 0088746a shared:OdbcRecordset.obj + 0006:0000046b __ACCC90E1_vcruntime_typeinfo@h 0088746b shared:OdbcRecordset.obj + 0006:0000046c __7B735FAD_memory 0088746c shared:OdbcRecordset.obj + 0006:0000046d __6FCFA2ED_xthreads@h 0088746d shared:OdbcRecordset.obj + 0006:0000046e __439D47F8_tuple 0088746e shared:OdbcRecordset.obj + 0006:0000046f __A03E271B_thread 0088746f shared:OdbcRecordset.obj + 0006:00000470 __ACE80FE1_atomic 00887470 shared:OdbcRecordset.obj + 0006:00000471 __41D0B8A8_xstring 00887471 shared:OdbcRecordset.obj + 0006:00000472 __86C00BF4_stdexcept 00887472 shared:OdbcRecordset.obj + 0006:00000473 __544DB471_xcall_once@h 00887473 shared:OdbcRecordset.obj + 0006:00000474 __EB10A651_system_error 00887474 shared:OdbcRecordset.obj + 0006:00000475 __9BA0CD47_mutex 00887475 shared:OdbcRecordset.obj + 0006:00000476 __E5BE5EB9_cmath 00887476 shared:OdbcRecordset.obj + 0006:00000477 __8725B14D_random 00887477 shared:OdbcRecordset.obj + 0006:00000478 __EC97A2BB_xtree 00887478 shared:OdbcRecordset.obj + 0006:00000479 __0FA0D931_string 00887479 shared:OdbcRecordset.obj + 0006:0000047a __FF61FF39_mbstring@h 0088747a shared:OdbcRecordset.obj + 0006:0000047b __84FBB88E_tchar@h 0088747b shared:OdbcRecordset.obj + 0006:0000047c __861371A5_ByteBuffer@h 0088747c shared:OdbcRecordset.obj + 0006:0000047d __BAD61026_Packet@h 0088747d shared:OdbcRecordset.obj + 0006:0000047e __024EB521_globals@h 0088747e shared:OdbcRecordset.obj + 0006:0000047f __4FFA0077_Thread@h 0088747f shared:OdbcRecordset.obj + 0006:00000480 __27A9034B_CircularBuffer@h 00887480 shared:OdbcRecordset.obj + 0006:00000481 __A0D1D437_SocketDefines@h 00887481 shared:OdbcRecordset.obj + 0006:00000482 __64666C98_Socket@h 00887482 shared:OdbcRecordset.obj + 0006:00000483 __07734859_SocketMgr@h 00887483 shared:OdbcRecordset.obj + 0006:00000484 __6D39ABD9_JvCryption@h 00887484 shared:OdbcRecordset.obj + 0006:00000485 __1F38FBF6_KOSocket@h 00887485 shared:OdbcRecordset.obj + 0006:00000486 __B4D3B869_stdafx@h 00887486 shared:OdbcRecordset.obj + 0006:00000487 __E1525AB4_OdbcParameter@h 00887487 shared:OdbcRecordset.obj + 0006:00000488 __F76DC18B_OdbcCommand@h 00887488 shared:OdbcRecordset.obj + 0006:00000489 __45505F97_OdbcConnection@h 00887489 shared:OdbcRecordset.obj + 0006:0000048a __F283982F_OdbcRecordset@h 0088748a shared:OdbcRecordset.obj + 0006:0000048b __9FA736B3_OdbcRecordset@cpp 0088748b shared:OdbcRecordset.obj + 0006:0000048c __941CAD6C_Atomic@h 0088748c shared:OdbcRecordset.obj + 0006:0000048d __8A7023C3_vector 0088748d shared:OdbcRecordset.obj + 0006:0000048e __5F965DF7_utility 0088748e shared:OdbcRecordset.obj + 0006:0000048f __0582BD7F_xatomic@h 0088748f shared:OdbcRecordset.obj + 0006:00000490 __A889CAE5_xstddef 00887490 shared:OdbcRecordset.obj + 0006:000004a0 __B4D3B869_stdafx@h 008874a0 shared:Ini.obj + 0006:000004a1 __7B45F61B_shared@pch 008874a1 shared:Ini.obj + 0006:000004a2 __8DFE165D_ostream 008874a2 shared:Ini.obj + 0006:000004a3 __439D47F8_tuple 008874a3 shared:Ini.obj + 0006:000004a4 __7B735FAD_memory 008874a4 shared:Ini.obj + 0006:000004a5 __0FA0D931_string 008874a5 shared:Ini.obj + 0006:000004a6 __ACCC90E1_vcruntime_typeinfo@h 008874a6 shared:Ini.obj + 0006:000004a7 __0B3486A5_iosfwd 008874a7 shared:Ini.obj + 0006:000004a8 __8460B348_streambuf 008874a8 shared:Ini.obj + 0006:000004a9 __EE2E2367_istream 008874a9 shared:Ini.obj + 0006:000004aa __477E13D0_map 008874aa shared:Ini.obj + 0006:000004ab __EC97A2BB_xtree 008874ab shared:Ini.obj + 0006:000004ac __4B3541EE_stdio@h 008874ac shared:Ini.obj + 0006:000004ad __23AD7809_corecrt_stdio_config@h 008874ad shared:Ini.obj + 0006:000004ae __0F7E3DBF_Ini@cpp 008874ae shared:Ini.obj + 0006:000004af __1866538E_fstream 008874af shared:Ini.obj + 0006:000004b0 __47FDC738_ios 008874b0 shared:Ini.obj + 0006:000004b1 __B513A213_wchar@h 008874b1 shared:Ini.obj + 0006:000004b2 __E410F33D_corecrt_math@h 008874b2 shared:Ini.obj + 0006:000004b3 __0069AA8E_xlocnum 008874b3 shared:Ini.obj + 0006:000004b4 __9BA0CD47_mutex 008874b4 shared:Ini.obj + 0006:000004b5 __EB10A651_system_error 008874b5 shared:Ini.obj + 0006:000004b6 __86C00BF4_stdexcept 008874b6 shared:Ini.obj + 0006:000004b7 __85DDF3E7_vcruntime_exception@h 008874b7 shared:Ini.obj + 0006:000004b8 __80B861B4_xiosbase 008874b8 shared:Ini.obj + 0006:000004b9 __D60B0676_xutility 008874b9 shared:Ini.obj + 0006:000004ba __C7DD5323_limits 008874ba shared:Ini.obj + 0006:000004bb __CFC461D7_vcruntime_new@h 008874bb shared:Ini.obj + 0006:000004bc __72E614B1_type_traits 008874bc shared:Ini.obj + 0006:000004bd __02EAB8A8_stdafx@cpp 008874bd shared:Ini.obj + 0006:000004be __35033E34_xmemory 008874be shared:Ini.obj + 0006:000004bf __5F965DF7_utility 008874bf shared:Ini.obj + 0006:000004c0 __A889CAE5_xstddef 008874c0 shared:Ini.obj + 0006:000004c1 __41D0B8A8_xstring 008874c1 shared:Ini.obj + 0006:000004c2 __9EEECC99_xlocale 008874c2 shared:Ini.obj + 0006:000004c3 __B95D16A7_xlocinfo 008874c3 shared:Ini.obj + 0006:000004c4 __573608A2_xfacet 008874c4 shared:Ini.obj + 0006:000004cc __7B45F61B_shared@pch 008874cc shared:stdafx.obj + 0006:000004cd __CFC461D7_vcruntime_new@h 008874cd shared:stdafx.obj + 0006:000004ce __E410F33D_corecrt_math@h 008874ce shared:stdafx.obj + 0006:000004cf __36B85FDF_stdlib@h 008874cf shared:stdafx.obj + 0006:000004d0 __689BD87C_cstdlib 008874d0 shared:stdafx.obj + 0006:000004d1 __23AD7809_corecrt_stdio_config@h 008874d1 shared:stdafx.obj + 0006:000004d2 __DD74D44A_corecrt_wstdio@h 008874d2 shared:stdafx.obj + 0006:000004d3 __4B3541EE_stdio@h 008874d3 shared:stdafx.obj + 0006:000004d4 __82CA083D_corecrt_memcpy_s@h 008874d4 shared:stdafx.obj + 0006:000004d5 __990BA27D_corecrt_wconio@h 008874d5 shared:stdafx.obj + 0006:000004d6 __D837D19F_corecrt_wio@h 008874d6 shared:stdafx.obj + 0006:000004d7 __61E6ED1F_corecrt_wstring@h 008874d7 shared:stdafx.obj + 0006:000004d8 __FE12CC83_corecrt_wtime@h 008874d8 shared:stdafx.obj + 0006:000004d9 __01EE68DC_stat@h 008874d9 shared:stdafx.obj + 0006:000004da __B513A213_wchar@h 008874da shared:stdafx.obj + 0006:000004db __C7DD5323_limits 008874db shared:stdafx.obj + 0006:000004dc __72E614B1_type_traits 008874dc shared:stdafx.obj + 0006:000004dd __A2957829_malloc@h 008874dd shared:stdafx.obj + 0006:000004de __85DDF3E7_vcruntime_exception@h 008874de shared:stdafx.obj + 0006:000004df __0F8E31A9_exception 008874df shared:stdafx.obj + 0006:000004e0 __F8BB3D43_corecrt_memory@h 008874e0 shared:stdafx.obj + 0006:000004e1 __B0CBCB7B_string@h 008874e1 shared:stdafx.obj + 0006:000004e2 __D60B0676_xutility 008874e2 shared:stdafx.obj + 0006:000004e3 __35033E34_xmemory 008874e3 shared:stdafx.obj + 0006:000004e4 __E542737D_algorithm 008874e4 shared:stdafx.obj + 0006:000004e5 __941D13D0_ctype@h 008874e5 shared:stdafx.obj + 0006:000004e6 __DF6784BA_basetsd@h 008874e6 shared:stdafx.obj + 0006:000004e7 __73E5A5AE_guiddef@h 008874e7 shared:stdafx.obj + 0006:000004e8 __20E88E2C_winnt@h 008874e8 shared:stdafx.obj + 0006:000004e9 __B0708975_processthreadsapi@h 008874e9 shared:stdafx.obj + 0006:000004ea __14D8E0CB_memoryapi@h 008874ea shared:stdafx.obj + 0006:000004eb __0A5E6AC9_winerror@h 008874eb shared:stdafx.obj + 0006:000004ec __95229982_winbase@h 008874ec shared:stdafx.obj + 0006:000004ed __FDCAD2F5_winuser@h 008874ed shared:stdafx.obj + 0006:000004ee __7F05D861_stralign@h 008874ee shared:stdafx.obj + 0006:000004ef __88C98DD3_winsock2@h 008874ef shared:stdafx.obj + 0006:000004f0 __2063063A_ws2ipdef@h 008874f0 shared:stdafx.obj + 0006:000004f1 __FF9C2137_ws2tcpip@h 008874f1 shared:stdafx.obj + 0006:000004f2 __890DC717_ratio 008874f2 shared:stdafx.obj + 0006:000004f3 __B62FE6C9_time@h 008874f3 shared:stdafx.obj + 0006:000004f4 __A33055A9_chrono 008874f4 shared:stdafx.obj + 0006:000004f5 __ACCC90E1_vcruntime_typeinfo@h 008874f5 shared:stdafx.obj + 0006:000004f6 __7B735FAD_memory 008874f6 shared:stdafx.obj + 0006:000004f7 __6FCFA2ED_xthreads@h 008874f7 shared:stdafx.obj + 0006:000004f8 __439D47F8_tuple 008874f8 shared:stdafx.obj + 0006:000004f9 __A03E271B_thread 008874f9 shared:stdafx.obj + 0006:000004fa __ACE80FE1_atomic 008874fa shared:stdafx.obj + 0006:000004fb __41D0B8A8_xstring 008874fb shared:stdafx.obj + 0006:000004fc __86C00BF4_stdexcept 008874fc shared:stdafx.obj + 0006:000004fd __544DB471_xcall_once@h 008874fd shared:stdafx.obj + 0006:000004fe __EB10A651_system_error 008874fe shared:stdafx.obj + 0006:000004ff __9BA0CD47_mutex 008874ff shared:stdafx.obj + 0006:00000500 __E5BE5EB9_cmath 00887500 shared:stdafx.obj + 0006:00000501 __8725B14D_random 00887501 shared:stdafx.obj + 0006:00000502 __EC97A2BB_xtree 00887502 shared:stdafx.obj + 0006:00000503 __0FA0D931_string 00887503 shared:stdafx.obj + 0006:00000504 __FF61FF39_mbstring@h 00887504 shared:stdafx.obj + 0006:00000505 __84FBB88E_tchar@h 00887505 shared:stdafx.obj + 0006:00000506 __861371A5_ByteBuffer@h 00887506 shared:stdafx.obj + 0006:00000507 __BAD61026_Packet@h 00887507 shared:stdafx.obj + 0006:00000508 __024EB521_globals@h 00887508 shared:stdafx.obj + 0006:00000509 __4FFA0077_Thread@h 00887509 shared:stdafx.obj + 0006:0000050a __27A9034B_CircularBuffer@h 0088750a shared:stdafx.obj + 0006:0000050b __A0D1D437_SocketDefines@h 0088750b shared:stdafx.obj + 0006:0000050c __64666C98_Socket@h 0088750c shared:stdafx.obj + 0006:0000050d __07734859_SocketMgr@h 0088750d shared:stdafx.obj + 0006:0000050e __6D39ABD9_JvCryption@h 0088750e shared:stdafx.obj + 0006:0000050f __1F38FBF6_KOSocket@h 0088750f shared:stdafx.obj + 0006:00000510 __B4D3B869_stdafx@h 00887510 shared:stdafx.obj + 0006:00000511 __941CAD6C_Atomic@h 00887511 shared:stdafx.obj + 0006:00000512 __8A7023C3_vector 00887512 shared:stdafx.obj + 0006:00000513 __5F965DF7_utility 00887513 shared:stdafx.obj + 0006:00000514 __0582BD7F_xatomic@h 00887514 shared:stdafx.obj + 0006:00000515 __A889CAE5_xstddef 00887515 shared:stdafx.obj + 0006:00000516 __02EAB8A8_stdafx@cpp 00887516 shared:stdafx.obj + 0006:00000526 __CFC461D7_vcruntime_new@h 00887526 shared:CircularBuffer.obj + 0006:00000527 __E410F33D_corecrt_math@h 00887527 shared:CircularBuffer.obj + 0006:00000528 __36B85FDF_stdlib@h 00887528 shared:CircularBuffer.obj + 0006:00000529 __689BD87C_cstdlib 00887529 shared:CircularBuffer.obj + 0006:0000052a __23AD7809_corecrt_stdio_config@h 0088752a shared:CircularBuffer.obj + 0006:0000052b __DD74D44A_corecrt_wstdio@h 0088752b shared:CircularBuffer.obj + 0006:0000052c __4B3541EE_stdio@h 0088752c shared:CircularBuffer.obj + 0006:0000052d __82CA083D_corecrt_memcpy_s@h 0088752d shared:CircularBuffer.obj + 0006:0000052e __990BA27D_corecrt_wconio@h 0088752e shared:CircularBuffer.obj + 0006:0000052f __D837D19F_corecrt_wio@h 0088752f shared:CircularBuffer.obj + 0006:00000530 __61E6ED1F_corecrt_wstring@h 00887530 shared:CircularBuffer.obj + 0006:00000531 __FE12CC83_corecrt_wtime@h 00887531 shared:CircularBuffer.obj + 0006:00000532 __01EE68DC_stat@h 00887532 shared:CircularBuffer.obj + 0006:00000533 __B513A213_wchar@h 00887533 shared:CircularBuffer.obj + 0006:00000534 __C7DD5323_limits 00887534 shared:CircularBuffer.obj + 0006:00000535 __72E614B1_type_traits 00887535 shared:CircularBuffer.obj + 0006:00000536 __A2957829_malloc@h 00887536 shared:CircularBuffer.obj + 0006:00000537 __85DDF3E7_vcruntime_exception@h 00887537 shared:CircularBuffer.obj + 0006:00000538 __0F8E31A9_exception 00887538 shared:CircularBuffer.obj + 0006:00000539 __F8BB3D43_corecrt_memory@h 00887539 shared:CircularBuffer.obj + 0006:0000053a __B0CBCB7B_string@h 0088753a shared:CircularBuffer.obj + 0006:0000053b __D60B0676_xutility 0088753b shared:CircularBuffer.obj + 0006:0000053c __35033E34_xmemory 0088753c shared:CircularBuffer.obj + 0006:0000053d __E542737D_algorithm 0088753d shared:CircularBuffer.obj + 0006:0000053e __941D13D0_ctype@h 0088753e shared:CircularBuffer.obj + 0006:0000053f __DF6784BA_basetsd@h 0088753f shared:CircularBuffer.obj + 0006:00000540 __73E5A5AE_guiddef@h 00887540 shared:CircularBuffer.obj + 0006:00000541 __20E88E2C_winnt@h 00887541 shared:CircularBuffer.obj + 0006:00000542 __B0708975_processthreadsapi@h 00887542 shared:CircularBuffer.obj + 0006:00000543 __14D8E0CB_memoryapi@h 00887543 shared:CircularBuffer.obj + 0006:00000544 __0A5E6AC9_winerror@h 00887544 shared:CircularBuffer.obj + 0006:00000545 __95229982_winbase@h 00887545 shared:CircularBuffer.obj + 0006:00000546 __FDCAD2F5_winuser@h 00887546 shared:CircularBuffer.obj + 0006:00000547 __7F05D861_stralign@h 00887547 shared:CircularBuffer.obj + 0006:00000548 __88C98DD3_winsock2@h 00887548 shared:CircularBuffer.obj + 0006:00000549 __2063063A_ws2ipdef@h 00887549 shared:CircularBuffer.obj + 0006:0000054a __FF9C2137_ws2tcpip@h 0088754a shared:CircularBuffer.obj + 0006:0000054b __890DC717_ratio 0088754b shared:CircularBuffer.obj + 0006:0000054c __B62FE6C9_time@h 0088754c shared:CircularBuffer.obj + 0006:0000054d __A33055A9_chrono 0088754d shared:CircularBuffer.obj + 0006:0000054e __ACCC90E1_vcruntime_typeinfo@h 0088754e shared:CircularBuffer.obj + 0006:0000054f __7B735FAD_memory 0088754f shared:CircularBuffer.obj + 0006:00000550 __6FCFA2ED_xthreads@h 00887550 shared:CircularBuffer.obj + 0006:00000551 __439D47F8_tuple 00887551 shared:CircularBuffer.obj + 0006:00000552 __A03E271B_thread 00887552 shared:CircularBuffer.obj + 0006:00000553 __ACE80FE1_atomic 00887553 shared:CircularBuffer.obj + 0006:00000554 __41D0B8A8_xstring 00887554 shared:CircularBuffer.obj + 0006:00000555 __86C00BF4_stdexcept 00887555 shared:CircularBuffer.obj + 0006:00000556 __544DB471_xcall_once@h 00887556 shared:CircularBuffer.obj + 0006:00000557 __EB10A651_system_error 00887557 shared:CircularBuffer.obj + 0006:00000558 __9BA0CD47_mutex 00887558 shared:CircularBuffer.obj + 0006:00000559 __E5BE5EB9_cmath 00887559 shared:CircularBuffer.obj + 0006:0000055a __8725B14D_random 0088755a shared:CircularBuffer.obj + 0006:0000055b __EC97A2BB_xtree 0088755b shared:CircularBuffer.obj + 0006:0000055c __0FA0D931_string 0088755c shared:CircularBuffer.obj + 0006:0000055d __FF61FF39_mbstring@h 0088755d shared:CircularBuffer.obj + 0006:0000055e __84FBB88E_tchar@h 0088755e shared:CircularBuffer.obj + 0006:0000055f __861371A5_ByteBuffer@h 0088755f shared:CircularBuffer.obj + 0006:00000560 __BAD61026_Packet@h 00887560 shared:CircularBuffer.obj + 0006:00000561 __024EB521_globals@h 00887561 shared:CircularBuffer.obj + 0006:00000562 __4FFA0077_Thread@h 00887562 shared:CircularBuffer.obj + 0006:00000563 __27A9034B_CircularBuffer@h 00887563 shared:CircularBuffer.obj + 0006:00000564 __A0D1D437_SocketDefines@h 00887564 shared:CircularBuffer.obj + 0006:00000565 __64666C98_Socket@h 00887565 shared:CircularBuffer.obj + 0006:00000566 __07734859_SocketMgr@h 00887566 shared:CircularBuffer.obj + 0006:00000567 __6D39ABD9_JvCryption@h 00887567 shared:CircularBuffer.obj + 0006:00000568 __1F38FBF6_KOSocket@h 00887568 shared:CircularBuffer.obj + 0006:00000569 __B4D3B869_stdafx@h 00887569 shared:CircularBuffer.obj + 0006:0000056a __F9EB07F6_CircularBuffer@cpp 0088756a shared:CircularBuffer.obj + 0006:0000056b __941CAD6C_Atomic@h 0088756b shared:CircularBuffer.obj + 0006:0000056c __8A7023C3_vector 0088756c shared:CircularBuffer.obj + 0006:0000056d __5F965DF7_utility 0088756d shared:CircularBuffer.obj + 0006:0000056e __0582BD7F_xatomic@h 0088756e shared:CircularBuffer.obj + 0006:0000056f __A889CAE5_xstddef 0088756f shared:CircularBuffer.obj + 0006:0000057e __CFC461D7_vcruntime_new@h 0088757e shared:SocketWin32.obj + 0006:0000057f __E410F33D_corecrt_math@h 0088757f shared:SocketWin32.obj + 0006:00000580 __36B85FDF_stdlib@h 00887580 shared:SocketWin32.obj + 0006:00000581 __689BD87C_cstdlib 00887581 shared:SocketWin32.obj + 0006:00000582 __23AD7809_corecrt_stdio_config@h 00887582 shared:SocketWin32.obj + 0006:00000583 __DD74D44A_corecrt_wstdio@h 00887583 shared:SocketWin32.obj + 0006:00000584 __4B3541EE_stdio@h 00887584 shared:SocketWin32.obj + 0006:00000585 __82CA083D_corecrt_memcpy_s@h 00887585 shared:SocketWin32.obj + 0006:00000586 __990BA27D_corecrt_wconio@h 00887586 shared:SocketWin32.obj + 0006:00000587 __D837D19F_corecrt_wio@h 00887587 shared:SocketWin32.obj + 0006:00000588 __61E6ED1F_corecrt_wstring@h 00887588 shared:SocketWin32.obj + 0006:00000589 __FE12CC83_corecrt_wtime@h 00887589 shared:SocketWin32.obj + 0006:0000058a __01EE68DC_stat@h 0088758a shared:SocketWin32.obj + 0006:0000058b __B513A213_wchar@h 0088758b shared:SocketWin32.obj + 0006:0000058c __C7DD5323_limits 0088758c shared:SocketWin32.obj + 0006:0000058d __72E614B1_type_traits 0088758d shared:SocketWin32.obj + 0006:0000058e __A2957829_malloc@h 0088758e shared:SocketWin32.obj + 0006:0000058f __85DDF3E7_vcruntime_exception@h 0088758f shared:SocketWin32.obj + 0006:00000590 __0F8E31A9_exception 00887590 shared:SocketWin32.obj + 0006:00000591 __F8BB3D43_corecrt_memory@h 00887591 shared:SocketWin32.obj + 0006:00000592 __B0CBCB7B_string@h 00887592 shared:SocketWin32.obj + 0006:00000593 __D60B0676_xutility 00887593 shared:SocketWin32.obj + 0006:00000594 __35033E34_xmemory 00887594 shared:SocketWin32.obj + 0006:00000595 __E542737D_algorithm 00887595 shared:SocketWin32.obj + 0006:00000596 __941D13D0_ctype@h 00887596 shared:SocketWin32.obj + 0006:00000597 __DF6784BA_basetsd@h 00887597 shared:SocketWin32.obj + 0006:00000598 __73E5A5AE_guiddef@h 00887598 shared:SocketWin32.obj + 0006:00000599 __20E88E2C_winnt@h 00887599 shared:SocketWin32.obj + 0006:0000059a __B0708975_processthreadsapi@h 0088759a shared:SocketWin32.obj + 0006:0000059b __14D8E0CB_memoryapi@h 0088759b shared:SocketWin32.obj + 0006:0000059c __0A5E6AC9_winerror@h 0088759c shared:SocketWin32.obj + 0006:0000059d __95229982_winbase@h 0088759d shared:SocketWin32.obj + 0006:0000059e __FDCAD2F5_winuser@h 0088759e shared:SocketWin32.obj + 0006:0000059f __7F05D861_stralign@h 0088759f shared:SocketWin32.obj + 0006:000005a0 __88C98DD3_winsock2@h 008875a0 shared:SocketWin32.obj + 0006:000005a1 __2063063A_ws2ipdef@h 008875a1 shared:SocketWin32.obj + 0006:000005a2 __FF9C2137_ws2tcpip@h 008875a2 shared:SocketWin32.obj + 0006:000005a3 __890DC717_ratio 008875a3 shared:SocketWin32.obj + 0006:000005a4 __B62FE6C9_time@h 008875a4 shared:SocketWin32.obj + 0006:000005a5 __A33055A9_chrono 008875a5 shared:SocketWin32.obj + 0006:000005a6 __ACCC90E1_vcruntime_typeinfo@h 008875a6 shared:SocketWin32.obj + 0006:000005a7 __7B735FAD_memory 008875a7 shared:SocketWin32.obj + 0006:000005a8 __6FCFA2ED_xthreads@h 008875a8 shared:SocketWin32.obj + 0006:000005a9 __439D47F8_tuple 008875a9 shared:SocketWin32.obj + 0006:000005aa __A03E271B_thread 008875aa shared:SocketWin32.obj + 0006:000005ab __ACE80FE1_atomic 008875ab shared:SocketWin32.obj + 0006:000005ac __41D0B8A8_xstring 008875ac shared:SocketWin32.obj + 0006:000005ad __86C00BF4_stdexcept 008875ad shared:SocketWin32.obj + 0006:000005ae __544DB471_xcall_once@h 008875ae shared:SocketWin32.obj + 0006:000005af __EB10A651_system_error 008875af shared:SocketWin32.obj + 0006:000005b0 __9BA0CD47_mutex 008875b0 shared:SocketWin32.obj + 0006:000005b1 __E5BE5EB9_cmath 008875b1 shared:SocketWin32.obj + 0006:000005b2 __8725B14D_random 008875b2 shared:SocketWin32.obj + 0006:000005b3 __EC97A2BB_xtree 008875b3 shared:SocketWin32.obj + 0006:000005b4 __0FA0D931_string 008875b4 shared:SocketWin32.obj + 0006:000005b5 __FF61FF39_mbstring@h 008875b5 shared:SocketWin32.obj + 0006:000005b6 __84FBB88E_tchar@h 008875b6 shared:SocketWin32.obj + 0006:000005b7 __861371A5_ByteBuffer@h 008875b7 shared:SocketWin32.obj + 0006:000005b8 __BAD61026_Packet@h 008875b8 shared:SocketWin32.obj + 0006:000005b9 __024EB521_globals@h 008875b9 shared:SocketWin32.obj + 0006:000005ba __4FFA0077_Thread@h 008875ba shared:SocketWin32.obj + 0006:000005bb __27A9034B_CircularBuffer@h 008875bb shared:SocketWin32.obj + 0006:000005bc __A0D1D437_SocketDefines@h 008875bc shared:SocketWin32.obj + 0006:000005bd __64666C98_Socket@h 008875bd shared:SocketWin32.obj + 0006:000005be __07734859_SocketMgr@h 008875be shared:SocketWin32.obj + 0006:000005bf __6D39ABD9_JvCryption@h 008875bf shared:SocketWin32.obj + 0006:000005c0 __1F38FBF6_KOSocket@h 008875c0 shared:SocketWin32.obj + 0006:000005c1 __B4D3B869_stdafx@h 008875c1 shared:SocketWin32.obj + 0006:000005c2 __664D6C30_SocketWin32@cpp 008875c2 shared:SocketWin32.obj + 0006:000005c3 __941CAD6C_Atomic@h 008875c3 shared:SocketWin32.obj + 0006:000005c4 __8A7023C3_vector 008875c4 shared:SocketWin32.obj + 0006:000005c5 __5F965DF7_utility 008875c5 shared:SocketWin32.obj + 0006:000005c6 __0582BD7F_xatomic@h 008875c6 shared:SocketWin32.obj + 0006:000005c7 __A889CAE5_xstddef 008875c7 shared:SocketWin32.obj + 0006:000005d6 __359C7BED_crc32@c 008875d6 shared:crc32.obj + 0006:000005d7 __CFC461D7_vcruntime_new@h 008875d7 shared:JvCryption.obj + 0006:000005d8 __E410F33D_corecrt_math@h 008875d8 shared:JvCryption.obj + 0006:000005d9 __36B85FDF_stdlib@h 008875d9 shared:JvCryption.obj + 0006:000005da __689BD87C_cstdlib 008875da shared:JvCryption.obj + 0006:000005db __23AD7809_corecrt_stdio_config@h 008875db shared:JvCryption.obj + 0006:000005dc __DD74D44A_corecrt_wstdio@h 008875dc shared:JvCryption.obj + 0006:000005dd __4B3541EE_stdio@h 008875dd shared:JvCryption.obj + 0006:000005de __82CA083D_corecrt_memcpy_s@h 008875de shared:JvCryption.obj + 0006:000005df __990BA27D_corecrt_wconio@h 008875df shared:JvCryption.obj + 0006:000005e0 __D837D19F_corecrt_wio@h 008875e0 shared:JvCryption.obj + 0006:000005e1 __61E6ED1F_corecrt_wstring@h 008875e1 shared:JvCryption.obj + 0006:000005e2 __FE12CC83_corecrt_wtime@h 008875e2 shared:JvCryption.obj + 0006:000005e3 __01EE68DC_stat@h 008875e3 shared:JvCryption.obj + 0006:000005e4 __B513A213_wchar@h 008875e4 shared:JvCryption.obj + 0006:000005e5 __C7DD5323_limits 008875e5 shared:JvCryption.obj + 0006:000005e6 __72E614B1_type_traits 008875e6 shared:JvCryption.obj + 0006:000005e7 __A2957829_malloc@h 008875e7 shared:JvCryption.obj + 0006:000005e8 __85DDF3E7_vcruntime_exception@h 008875e8 shared:JvCryption.obj + 0006:000005e9 __0F8E31A9_exception 008875e9 shared:JvCryption.obj + 0006:000005ea __F8BB3D43_corecrt_memory@h 008875ea shared:JvCryption.obj + 0006:000005eb __B0CBCB7B_string@h 008875eb shared:JvCryption.obj + 0006:000005ec __D60B0676_xutility 008875ec shared:JvCryption.obj + 0006:000005ed __35033E34_xmemory 008875ed shared:JvCryption.obj + 0006:000005ee __E542737D_algorithm 008875ee shared:JvCryption.obj + 0006:000005ef __941D13D0_ctype@h 008875ef shared:JvCryption.obj + 0006:000005f0 __DF6784BA_basetsd@h 008875f0 shared:JvCryption.obj + 0006:000005f1 __73E5A5AE_guiddef@h 008875f1 shared:JvCryption.obj + 0006:000005f2 __20E88E2C_winnt@h 008875f2 shared:JvCryption.obj + 0006:000005f3 __B0708975_processthreadsapi@h 008875f3 shared:JvCryption.obj + 0006:000005f4 __14D8E0CB_memoryapi@h 008875f4 shared:JvCryption.obj + 0006:000005f5 __0A5E6AC9_winerror@h 008875f5 shared:JvCryption.obj + 0006:000005f6 __95229982_winbase@h 008875f6 shared:JvCryption.obj + 0006:000005f7 __FDCAD2F5_winuser@h 008875f7 shared:JvCryption.obj + 0006:000005f8 __7F05D861_stralign@h 008875f8 shared:JvCryption.obj + 0006:000005f9 __88C98DD3_winsock2@h 008875f9 shared:JvCryption.obj + 0006:000005fa __2063063A_ws2ipdef@h 008875fa shared:JvCryption.obj + 0006:000005fb __FF9C2137_ws2tcpip@h 008875fb shared:JvCryption.obj + 0006:000005fc __890DC717_ratio 008875fc shared:JvCryption.obj + 0006:000005fd __B62FE6C9_time@h 008875fd shared:JvCryption.obj + 0006:000005fe __A33055A9_chrono 008875fe shared:JvCryption.obj + 0006:000005ff __ACCC90E1_vcruntime_typeinfo@h 008875ff shared:JvCryption.obj + 0006:00000600 __7B735FAD_memory 00887600 shared:JvCryption.obj + 0006:00000601 __6FCFA2ED_xthreads@h 00887601 shared:JvCryption.obj + 0006:00000602 __439D47F8_tuple 00887602 shared:JvCryption.obj + 0006:00000603 __A03E271B_thread 00887603 shared:JvCryption.obj + 0006:00000604 __ACE80FE1_atomic 00887604 shared:JvCryption.obj + 0006:00000605 __41D0B8A8_xstring 00887605 shared:JvCryption.obj + 0006:00000606 __86C00BF4_stdexcept 00887606 shared:JvCryption.obj + 0006:00000607 __544DB471_xcall_once@h 00887607 shared:JvCryption.obj + 0006:00000608 __EB10A651_system_error 00887608 shared:JvCryption.obj + 0006:00000609 __9BA0CD47_mutex 00887609 shared:JvCryption.obj + 0006:0000060a __E5BE5EB9_cmath 0088760a shared:JvCryption.obj + 0006:0000060b __8725B14D_random 0088760b shared:JvCryption.obj + 0006:0000060c __EC97A2BB_xtree 0088760c shared:JvCryption.obj + 0006:0000060d __0FA0D931_string 0088760d shared:JvCryption.obj + 0006:0000060e __FF61FF39_mbstring@h 0088760e shared:JvCryption.obj + 0006:0000060f __84FBB88E_tchar@h 0088760f shared:JvCryption.obj + 0006:00000610 __861371A5_ByteBuffer@h 00887610 shared:JvCryption.obj + 0006:00000611 __BAD61026_Packet@h 00887611 shared:JvCryption.obj + 0006:00000612 __024EB521_globals@h 00887612 shared:JvCryption.obj + 0006:00000613 __4FFA0077_Thread@h 00887613 shared:JvCryption.obj + 0006:00000614 __27A9034B_CircularBuffer@h 00887614 shared:JvCryption.obj + 0006:00000615 __A0D1D437_SocketDefines@h 00887615 shared:JvCryption.obj + 0006:00000616 __64666C98_Socket@h 00887616 shared:JvCryption.obj + 0006:00000617 __07734859_SocketMgr@h 00887617 shared:JvCryption.obj + 0006:00000618 __6D39ABD9_JvCryption@h 00887618 shared:JvCryption.obj + 0006:00000619 __1F38FBF6_KOSocket@h 00887619 shared:JvCryption.obj + 0006:0000061a __B4D3B869_stdafx@h 0088761a shared:JvCryption.obj + 0006:0000061b __62918E24_JvCryption@cpp 0088761b shared:JvCryption.obj + 0006:0000061c __941CAD6C_Atomic@h 0088761c shared:JvCryption.obj + 0006:0000061d __8A7023C3_vector 0088761d shared:JvCryption.obj + 0006:0000061e __5F965DF7_utility 0088761e shared:JvCryption.obj + 0006:0000061f __0582BD7F_xatomic@h 0088761f shared:JvCryption.obj + 0006:00000620 __A889CAE5_xstddef 00887620 shared:JvCryption.obj + 0006:0000062f __A8F1A3FC_lzf@c 0088762f shared:lzf.obj + 0006:00000630 __CFC461D7_vcruntime_new@h 00887630 shared:OdbcParameter.obj + 0006:00000631 __E410F33D_corecrt_math@h 00887631 shared:OdbcParameter.obj + 0006:00000632 __36B85FDF_stdlib@h 00887632 shared:OdbcParameter.obj + 0006:00000633 __689BD87C_cstdlib 00887633 shared:OdbcParameter.obj + 0006:00000634 __23AD7809_corecrt_stdio_config@h 00887634 shared:OdbcParameter.obj + 0006:00000635 __DD74D44A_corecrt_wstdio@h 00887635 shared:OdbcParameter.obj + 0006:00000636 __4B3541EE_stdio@h 00887636 shared:OdbcParameter.obj + 0006:00000637 __82CA083D_corecrt_memcpy_s@h 00887637 shared:OdbcParameter.obj + 0006:00000638 __990BA27D_corecrt_wconio@h 00887638 shared:OdbcParameter.obj + 0006:00000639 __D837D19F_corecrt_wio@h 00887639 shared:OdbcParameter.obj + 0006:0000063a __61E6ED1F_corecrt_wstring@h 0088763a shared:OdbcParameter.obj + 0006:0000063b __FE12CC83_corecrt_wtime@h 0088763b shared:OdbcParameter.obj + 0006:0000063c __01EE68DC_stat@h 0088763c shared:OdbcParameter.obj + 0006:0000063d __B513A213_wchar@h 0088763d shared:OdbcParameter.obj + 0006:0000063e __C7DD5323_limits 0088763e shared:OdbcParameter.obj + 0006:0000063f __72E614B1_type_traits 0088763f shared:OdbcParameter.obj + 0006:00000640 __A2957829_malloc@h 00887640 shared:OdbcParameter.obj + 0006:00000641 __85DDF3E7_vcruntime_exception@h 00887641 shared:OdbcParameter.obj + 0006:00000642 __0F8E31A9_exception 00887642 shared:OdbcParameter.obj + 0006:00000643 __F8BB3D43_corecrt_memory@h 00887643 shared:OdbcParameter.obj + 0006:00000644 __B0CBCB7B_string@h 00887644 shared:OdbcParameter.obj + 0006:00000645 __D60B0676_xutility 00887645 shared:OdbcParameter.obj + 0006:00000646 __35033E34_xmemory 00887646 shared:OdbcParameter.obj + 0006:00000647 __E542737D_algorithm 00887647 shared:OdbcParameter.obj + 0006:00000648 __941D13D0_ctype@h 00887648 shared:OdbcParameter.obj + 0006:00000649 __DF6784BA_basetsd@h 00887649 shared:OdbcParameter.obj + 0006:0000064a __73E5A5AE_guiddef@h 0088764a shared:OdbcParameter.obj + 0006:0000064b __20E88E2C_winnt@h 0088764b shared:OdbcParameter.obj + 0006:0000064c __B0708975_processthreadsapi@h 0088764c shared:OdbcParameter.obj + 0006:0000064d __14D8E0CB_memoryapi@h 0088764d shared:OdbcParameter.obj + 0006:0000064e __0A5E6AC9_winerror@h 0088764e shared:OdbcParameter.obj + 0006:0000064f __95229982_winbase@h 0088764f shared:OdbcParameter.obj + 0006:00000650 __FDCAD2F5_winuser@h 00887650 shared:OdbcParameter.obj + 0006:00000651 __7F05D861_stralign@h 00887651 shared:OdbcParameter.obj + 0006:00000652 __88C98DD3_winsock2@h 00887652 shared:OdbcParameter.obj + 0006:00000653 __2063063A_ws2ipdef@h 00887653 shared:OdbcParameter.obj + 0006:00000654 __FF9C2137_ws2tcpip@h 00887654 shared:OdbcParameter.obj + 0006:00000655 __890DC717_ratio 00887655 shared:OdbcParameter.obj + 0006:00000656 __B62FE6C9_time@h 00887656 shared:OdbcParameter.obj + 0006:00000657 __A33055A9_chrono 00887657 shared:OdbcParameter.obj + 0006:00000658 __ACCC90E1_vcruntime_typeinfo@h 00887658 shared:OdbcParameter.obj + 0006:00000659 __7B735FAD_memory 00887659 shared:OdbcParameter.obj + 0006:0000065a __6FCFA2ED_xthreads@h 0088765a shared:OdbcParameter.obj + 0006:0000065b __439D47F8_tuple 0088765b shared:OdbcParameter.obj + 0006:0000065c __A03E271B_thread 0088765c shared:OdbcParameter.obj + 0006:0000065d __ACE80FE1_atomic 0088765d shared:OdbcParameter.obj + 0006:0000065e __41D0B8A8_xstring 0088765e shared:OdbcParameter.obj + 0006:0000065f __86C00BF4_stdexcept 0088765f shared:OdbcParameter.obj + 0006:00000660 __544DB471_xcall_once@h 00887660 shared:OdbcParameter.obj + 0006:00000661 __EB10A651_system_error 00887661 shared:OdbcParameter.obj + 0006:00000662 __9BA0CD47_mutex 00887662 shared:OdbcParameter.obj + 0006:00000663 __E5BE5EB9_cmath 00887663 shared:OdbcParameter.obj + 0006:00000664 __8725B14D_random 00887664 shared:OdbcParameter.obj + 0006:00000665 __EC97A2BB_xtree 00887665 shared:OdbcParameter.obj + 0006:00000666 __0FA0D931_string 00887666 shared:OdbcParameter.obj + 0006:00000667 __FF61FF39_mbstring@h 00887667 shared:OdbcParameter.obj + 0006:00000668 __84FBB88E_tchar@h 00887668 shared:OdbcParameter.obj + 0006:00000669 __861371A5_ByteBuffer@h 00887669 shared:OdbcParameter.obj + 0006:0000066a __BAD61026_Packet@h 0088766a shared:OdbcParameter.obj + 0006:0000066b __024EB521_globals@h 0088766b shared:OdbcParameter.obj + 0006:0000066c __4FFA0077_Thread@h 0088766c shared:OdbcParameter.obj + 0006:0000066d __27A9034B_CircularBuffer@h 0088766d shared:OdbcParameter.obj + 0006:0000066e __A0D1D437_SocketDefines@h 0088766e shared:OdbcParameter.obj + 0006:0000066f __64666C98_Socket@h 0088766f shared:OdbcParameter.obj + 0006:00000670 __07734859_SocketMgr@h 00887670 shared:OdbcParameter.obj + 0006:00000671 __6D39ABD9_JvCryption@h 00887671 shared:OdbcParameter.obj + 0006:00000672 __1F38FBF6_KOSocket@h 00887672 shared:OdbcParameter.obj + 0006:00000673 __B4D3B869_stdafx@h 00887673 shared:OdbcParameter.obj + 0006:00000674 __E1525AB4_OdbcParameter@h 00887674 shared:OdbcParameter.obj + 0006:00000675 __F76DC18B_OdbcCommand@h 00887675 shared:OdbcParameter.obj + 0006:00000676 __45505F97_OdbcConnection@h 00887676 shared:OdbcParameter.obj + 0006:00000677 __7878D52F_OdbcParameter@cpp 00887677 shared:OdbcParameter.obj + 0006:00000678 __941CAD6C_Atomic@h 00887678 shared:OdbcParameter.obj + 0006:00000679 __8A7023C3_vector 00887679 shared:OdbcParameter.obj + 0006:0000067a __5F965DF7_utility 0088767a shared:OdbcParameter.obj + 0006:0000067b __0582BD7F_xatomic@h 0088767b shared:OdbcParameter.obj + 0006:0000067c __A889CAE5_xstddef 0088767c shared:OdbcParameter.obj + 0009:00000400 $R000000 0088a400 AIServer.res + 0009:00000968 $R000568 0088a968 AIServer.res + 0009:00001030 $R000C30 0088b030 AIServer.res + 0009:000018d8 $R0014D8 0088b8d8 AIServer.res + 0009:00002780 $R002380 0088c780 AIServer.res + 0009:00002be8 $R0027E8 0088cbe8 AIServer.res + 0009:00003570 $R003170 0088d570 AIServer.res + 0009:00004618 $R004218 0088e618 AIServer.res + 0009:00006bc0 $R0067C0 00890bc0 AIServer.res + 0009:000173e8 $R016FE8 008a13e8 AIServer.res + 0009:00017470 $R017070 008a1470 AIServer.res diff --git a/server/AIServer/Debug/Server.pch b/server/AIServer/Debug/Server.pch new file mode 100644 index 0000000..c3c9a2c Binary files /dev/null and b/server/AIServer/Debug/Server.pch differ diff --git a/server/AIServer/Debug/ServerDlg.obj b/server/AIServer/Debug/ServerDlg.obj new file mode 100644 index 0000000..ed5b4f7 Binary files /dev/null and b/server/AIServer/Debug/ServerDlg.obj differ diff --git a/server/AIServer/Debug/StdAfx.obj b/server/AIServer/Debug/StdAfx.obj new file mode 100644 index 0000000..f747970 Binary files /dev/null and b/server/AIServer/Debug/StdAfx.obj differ diff --git a/server/AIServer/Debug/Unit.obj b/server/AIServer/Debug/Unit.obj new file mode 100644 index 0000000..6181cb1 Binary files /dev/null and b/server/AIServer/Debug/Unit.obj differ diff --git a/server/AIServer/Debug/main.obj b/server/AIServer/Debug/main.obj new file mode 100644 index 0000000..eb4414c Binary files /dev/null and b/server/AIServer/Debug/main.obj differ diff --git a/server/AIServer/Debug/proj-AIServer.log b/server/AIServer/Debug/proj-AIServer.log new file mode 100644 index 0000000..8c4b042 --- /dev/null +++ b/server/AIServer/Debug/proj-AIServer.log @@ -0,0 +1,8 @@ + cl : Command line warning D9035 : option 'Gm' has been deprecated and will be removed in a future release + ServerDlg.cpp +F:\005SERVER\server source\AIServer\ServerDlg.cpp(344,45): warning C4267: '=': conversion from 'size_t' to 'short', possible loss of data +F:\005SERVER\server source\AIServer\ServerDlg.cpp(857,67): warning C4244: 'argument': conversion from 'float' to 'int32', possible loss of data +F:\005SERVER\server source\AIServer\ServerDlg.cpp(857,46): warning C4244: 'argument': conversion from 'float' to 'int32', possible loss of data +F:\005SERVER\server source\AIServer\ServerDlg.cpp(863,67): warning C4244: 'argument': conversion from 'float' to 'int32', possible loss of data +F:\005SERVER\server source\AIServer\ServerDlg.cpp(863,46): warning C4244: 'argument': conversion from 'float' to 'int32', possible loss of data + proj-AIServer.vcxproj -> F:\005SERVER\server source\..\bin\Debug\AIServer.exe diff --git a/server/AIServer/Debug/proj-AIServer.vcxproj.FileListAbsolute.txt b/server/AIServer/Debug/proj-AIServer.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/AIServer/Debug/vc142.idb b/server/AIServer/Debug/vc142.idb new file mode 100644 index 0000000..339ad85 Binary files /dev/null and b/server/AIServer/Debug/vc142.idb differ diff --git a/server/AIServer/Debug/vc142.pdb b/server/AIServer/Debug/vc142.pdb new file mode 100644 index 0000000..e8db0d8 Binary files /dev/null and b/server/AIServer/Debug/vc142.pdb differ diff --git a/server/AIServer/Debug/vcpkg.applocal.log b/server/AIServer/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/server/AIServer/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ + diff --git a/server/AIServer/Define.h b/server/AIServer/Define.h new file mode 100644 index 0000000..373c316 --- /dev/null +++ b/server/AIServer/Define.h @@ -0,0 +1,105 @@ +#pragma once + +// +// Defines About Communication +// +#define MAX_SOCKET 100 +#define MAX_PATH_LINE 100 + +#define MAX_NPC_SIZE 30 +#define MAX_WEAPON_NAME_SIZE 40 +#define VIEW_DIST 48 // ðŸ +#define MAX_UPGRADE_WEAPON 12 + +//enum MOVE_SPEED {SPEED_SLOW=0, SPEED_NORMAL, SPEED_FAST}; +//enum USER_TYPE {TYPE_USER=0, TYPE_MONSTER, TYPE_NPC, TYPE_DOOR, TYPE_GUARD}; + +// Npc InOut +#define NPC_IN 0X01 +#define NPC_OUT 0X02 + +#define TILE_SIZE 4 +#define CELL_SIZE 4 + +#define COMPARE(x,min,max) ((x>=min)&&(x iItems; +}; + +struct _NPC_LIVE_TIME +{ + uint16 nIndex; + int16 SocketID; + uint16 Nid; + uint16 Duration; + int32 SpawnedTime; + +}; + +#include "../shared/database/structs.h" \ No newline at end of file diff --git a/server/AIServer/GameSocket.cpp b/server/AIServer/GameSocket.cpp new file mode 100644 index 0000000..4a9a57b --- /dev/null +++ b/server/AIServer/GameSocket.cpp @@ -0,0 +1,643 @@ +#include "stdafx.h" +#include "GameSocket.h" +#include "User.h" +#include "MAP.h" +#include "Region.h" +#include "../shared/globals.h" +#include "../GameServer/MagicProcess.h" +#include "Npc.h" + +CGameSocket::~CGameSocket() {} + +void CGameSocket::OnConnect() +{ + KOSocket::OnConnect(); + Initialize(); +} + +void CGameSocket::Initialize() +{ + m_Party.Initialize(); +} + +void CGameSocket::OnDisconnect() +{ + TRACE("*** CloseProcess - socketID=%d ... server=%s *** \n", GetSocketID(), GetRemoteIP().c_str()); + g_pMain->DeleteAllUserList(this); +} + +bool CGameSocket::HandlePacket(Packet & pkt) +{ + switch (pkt.GetOpcode()) + { + case AI_SERVER_CONNECT: + RecvServerConnect(pkt); + break; + case AG_USER_INFO: + RecvUserInfo(pkt); + break; + case AG_USER_INOUT: + RecvUserInOut(pkt); + break; + case AG_USER_MOVE: + RecvUserMove(pkt); + break; + case AG_USER_LOG_OUT: + RecvUserLogOut(pkt); + break; + case AG_USER_REGENE: + RecvUserRegene(pkt); + break; + case AG_USER_SET_HP: + RecvUserSetHP(pkt); + break; + case AG_NPC_HP_CHANGE: + RecvNpcHpChange(pkt); + break; + case AG_USER_UPDATE: + RecvUserUpdate(pkt); + break; + case AG_ZONE_CHANGE: + RecvZoneChange(pkt); + break; + case AG_USER_PARTY: + m_Party.PartyProcess(pkt); + break; + case AG_USER_INFO_ALL: + RecvUserInfoAllData(pkt); + break; + case AG_PARTY_INFO_ALL: + RecvPartyInfoAllData(pkt); + break; + case AG_HEAL_MAGIC: + RecvHealMagic(pkt); + break; + case AG_TIME_WEATHER: + RecvTimeAndWeather(pkt); + break; + case AG_BATTLE_EVENT: + RecvBattleEvent(pkt); + break; + case AG_NPC_GATE_OPEN: + RecvGateOpen(pkt); + break; + case AG_USER_VISIBILITY: + RecvUserVisibility(pkt); + break; + case AG_NPC_SPAWN_REQ: + RecvNpcSpawnRequest(pkt); + break; + case AG_NPC_KILL_REQ: + RecvNpcKillRequest(pkt); + break; + case AG_MAGIC_ATTACK_REQ: + CMagicProcess::MagicPacket(pkt); + break; + case AG_NPC_UPDATE: + RecvNpcUpdate(pkt); + break; + case MOVE_RESULT: + RecvNpcMoveResult(pkt); + break; + case AG_USER_EVENTROOM: + uint16 uRoomEvent; + uint16 uid; + pkt >> uid >> uRoomEvent; + + g_pMain->UserEventRoomUpdate(uid,uRoomEvent); + break; + case AG_CSW_OP_CL: + bool Status; + pkt >> Status; + g_pMain->CSWOpen = Status; + break; + case AG_USER_TRANS_CHANGE: + RecvUserTransform(pkt); + break; + case AG_CHAOS_CUBE: + uint16 nid; + pkt >> nid; + CNpc* pNpc = g_pMain->GetNpcPtr(nid); + + if (pNpc != nullptr) + pNpc->ChaosCubeControl(); + break; + } + return true; +} + +void CGameSocket::RecvNpcMoveResult(Packet & pkt) +{ + uint8 flag; // 01(INFO_MODIFY), 02(INFO_DELETE) + uint16 sNid; + float fX, fY, fZ, fSecForMetor; + pkt >> flag >> sNid >> fX >> fZ >> fY >> fSecForMetor; + + CNpc * pNpc = g_pMain->GetNpcPtr(sNid); + if (pNpc == nullptr) + return; + + pNpc->RegisterRegion(fX, fZ); +} +void CGameSocket::RecvServerConnect(Packet & pkt) +{ + uint8 byReconnect = pkt.read(); + printf("Game Server connected - %s\n", GetRemoteIP().c_str()); + + + Packet result(AI_SERVER_CONNECT, byReconnect); + Send(&result); + + if (byReconnect == 1) + printf("**** ReConnect - server=%s, socket = %d ****\n ", GetRemoteIP().c_str(), GetSocketID()); + else + printf("**** Connect - server=%s, socket = %d ****\n ", GetRemoteIP().c_str(), GetSocketID()); + + g_pMain->m_bFirstServerFlag = true; + g_pMain->AllNpcInfo(); +} + +void CGameSocket::RecvUserInfo(Packet & pkt) +{ + CUser *pUser = new CUser(); + pUser->Initialize(); + + pkt >> pUser->m_iUserId; + ReadUserInfo(pkt, pUser); + + if (pUser->GetName().empty() || pUser->GetName().length() > MAX_ID_SIZE) + { + delete pUser; + return; + } + + pUser->m_pMap = g_pMain->GetZoneByID(pUser->m_bZone); + pUser->m_bLive = AI_USER_LIVE; + + TRACE("**** RecvUserInfo()---> uid = %d, name=%s ******\n", + pUser->GetID(), pUser->GetName().c_str()); + + if (!g_pMain->SetUserPtr(pUser->GetID(), pUser)) + delete pUser; +} + +void CGameSocket::ReadUserInfo(Packet & pkt, CUser * pUser) +{ + uint32 equippedItems = 0; + + pkt.SByte(); + pkt >> pUser->m_strUserID >> pUser->m_bZone >> pUser->m_bNation + >> pUser->m_bLevel >> pUser->m_sHP >> pUser->m_sMP + >> pUser->m_sTotalHit >> pUser->m_bAttackAmount + >> pUser->m_sTotalAc >> pUser->m_sACAmount + >> pUser->m_fTotalHitrate >> pUser->m_fTotalEvasionrate + >> pUser->m_sItemAc + >> pUser->m_sPartyNumber + >> pUser->m_byIsOP >> pUser->m_bInvisibilityType + >> equippedItems; + + if (pUser->m_sPartyNumber != -1) + pUser->m_byNowParty = 1; + + Guard lock(pUser->_unitlock); + pUser->m_equippedItemBonuses.clear(); + + for (uint32 i = 0; i < equippedItems; i++) + { + uint8 bSlot; uint32 bonusCount; + Unit::ItemBonusMap bonusMap; + + pkt >> bSlot >> bonusCount; + for (uint32 x = 0; x < bonusCount; x++) + { + uint8 bType; int16 sAmount; + pkt >> bType >> sAmount; + bonusMap.insert(std::make_pair(bType, sAmount)); + } + + pUser->m_equippedItemBonuses[bSlot] = bonusMap; + } +} + +void CGameSocket::RecvUserInOut(Packet & pkt) +{ + std::string strUserID; + uint8 bType; + uint16 uid; + float fX, fZ; + pkt.SByte(); + pkt >> bType >> uid >> strUserID >> fX >> fZ; + if (fX < 0 || fZ < 0) + { + TRACE("Error:: RecvUserInOut(),, uid = %d, fX=%.2f, fZ=%.2f\n", uid, fX, fZ); + return; + } + + int region_x = 0, region_z=0; + int x1 = (int)fX / TILE_SIZE; + int z1 = (int)fZ / TILE_SIZE; + region_x = (int)fX / VIEW_DIST; + region_z = (int)fZ / VIEW_DIST; + + MAP* pMap = nullptr; + CUser* pUser = g_pMain->GetUserPtr(uid); + if (pUser == nullptr) + return; + + pMap = pUser->GetMap(); + if (pMap == nullptr) + { + TRACE("#### Fail : pMap == nullptr ####\n"); + return; + } + + if (x1 < 0 || z1 < 0 || x1 >= pMap->GetMapSize() || z1 >= pMap->GetMapSize()) + { + TRACE("#### RecvUserInOut Fail : [name=%s], x1=%d, z1=%d #####\n", pUser->GetName().c_str(), region_x, region_z); + return; + } + + //if (pMap->m_pMap[x1][z1].m_sEvent == 0) return; + if (region_x > pMap->GetXRegionMax() || region_z > pMap->GetZRegionMax()) + { + TRACE("#### GameSocket-RecvUserInOut() Fail : [name=%s], nRX=%d, nRZ=%d #####\n", pUser->GetName().c_str(), region_x, region_z); + return; + } + + pUser->m_curx = pUser->m_fWill_x = fX; + pUser->m_curz = pUser->m_fWill_z = fZ; + + // leaving a region + if (bType == 2) + { + pMap->RegionUserRemove(region_x, region_z, uid); + } + // entering a region + else if (pUser->m_sRegionX != region_x || pUser->m_sRegionZ != region_z) + { + pUser->m_sRegionX = region_x; + pUser->m_sRegionZ = region_z; + + pMap->RegionUserAdd(region_x, region_z, uid); + } +} + +void CGameSocket::RecvUserMove(Packet & pkt) +{ + uint16 uid, speed; + float fX, fZ, fY; + pkt >> uid >> fX >> fZ >> fY >> speed; + SetUid(fX, fZ, uid, speed); +} + +bool CGameSocket::SetUid(float x, float z, int id, int speed) +{ + int x1 = (int)x / TILE_SIZE; + int z1 = (int)z / TILE_SIZE; + int nRX = (int)x / VIEW_DIST; + int nRZ = (int)z / VIEW_DIST; + + CUser* pUser = g_pMain->GetUserPtr(id); + if(pUser == nullptr) + { + TRACE("#### User sid = %d ####\n", id); + return false; + } + + MAP* pMap = pUser->GetMap(); + if (pMap == nullptr) + { + TRACE("#### User not in valid zone, sid = %d ####\n", id); + return false; + } + + if(x1 < 0 || z1 < 0 || x1 >= pMap->GetMapSize() || z1 >= pMap->GetMapSize()) + { + TRACE("#### GameSocket ,, SetUid Fail : [nid=%d, name=%s], x1=%d, z1=%d #####\n", id, pUser->GetName().c_str(), x1, z1); + return false; + } + + if(nRX > pMap->GetXRegionMax() || nRZ > pMap->GetZRegionMax()) + { + TRACE("#### GameSocket , SetUid Fail : [nid=%d, name=%s], nRX=%d, nRZ=%d #####\n", id, pUser->GetName().c_str(), nRX, nRZ); + return false; + } + + // if(pMap->m_pMap[x1][z1].m_sEvent == 0) return false; + + if (pUser != nullptr) + { + if (pUser->isDead()) + return false; + + ///// attack ~ + if( speed != 0 ) { + pUser->m_curx = pUser->m_fWill_x; + pUser->m_curz = pUser->m_fWill_z; + pUser->m_fWill_x = x; + pUser->m_fWill_z = z; + } + else { + pUser->m_curx = pUser->m_fWill_x = x; + pUser->m_curz = pUser->m_fWill_z = z; + } + /////~ attack + + if(pUser->m_sRegionX != nRX || pUser->m_sRegionZ != nRZ) + { + pMap->RegionUserRemove(pUser->m_sRegionX, pUser->m_sRegionZ, id); + pUser->m_sRegionX = nRX; pUser->m_sRegionZ = nRZ; + pMap->RegionUserAdd(pUser->m_sRegionX, pUser->m_sRegionZ, id); + } + } + + // dungeon work + int room = pMap->IsRoomCheck( x, z ); + + return true; +} + +void CGameSocket::RecvUserLogOut(Packet & pkt) +{ + uint16 sessionId; + std::string strUserID; + pkt >> sessionId >> strUserID; // double byte string for once + + g_pMain->DeleteUserPtr(sessionId); + //TRACE("**** User LogOut -- uid = %d, name = %s\n", sessionId, strUserID.c_str()); +} + +void CGameSocket::RecvUserRegene(Packet & pkt) +{ + uint16 uid, sHP; + pkt >> uid >> sHP; + + CUser* pUser = g_pMain->GetUserPtr(uid); + if(pUser == nullptr) + return; + + pUser->m_bLive = AI_USER_LIVE; + pUser->m_sHP = sHP; + + TRACE("**** RecvUserRegene -- uid = (%s,%d), HP = %d\n", pUser->GetName().c_str(), pUser->GetID(), pUser->m_sHP); +} + +void CGameSocket::RecvUserSetHP(Packet & pkt) +{ + uint16 sid, sHP, tid; + pkt >> sid >> sHP >> tid; + + CUser* pUser = g_pMain->GetUserPtr(sid); + Unit * pAttacker = g_pMain->GetUnitPtr(tid); + + if (pUser == nullptr + || pUser->m_sHP == sHP) + return; + + pUser->m_sHP = sHP; + if (sHP == 0) + pUser->OnDeath(pAttacker); +} + +void CGameSocket::RecvNpcHpChange(Packet & pkt) +{ + int16 nid, sAttackerID; + int32 nHP, nAmount; + uint8 attributeType = AttributeNone; + + pkt >> nid >> sAttackerID >> nHP >> nAmount >> attributeType; + CNpc * pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr) + return; + + if (nAmount < 0) + { + pNpc->RecvAttackReq(-nAmount, sAttackerID, (AttributeType) attributeType); + return; + } + else + { + pNpc->m_iHP += nAmount; + if (pNpc->m_iHP > pNpc->m_iMaxHP) + pNpc->m_iHP = pNpc->m_iMaxHP; + } +} + +void CGameSocket::RecvUserUpdate(Packet & pkt) +{ + CUser* pUser = g_pMain->GetUserPtr(pkt.read()); + if (pUser == nullptr) + return; + + ReadUserInfo(pkt, pUser); +} + +void CGameSocket::RecvZoneChange(Packet & pkt) +{ + uint16 uid = pkt.read(); + uint8 byZoneNumber = pkt.read(); + + CUser* pUser = g_pMain->GetUserPtr(uid); + if (pUser == nullptr) + return; + + pUser->m_pMap = g_pMain->GetZoneByID(byZoneNumber); + pUser->m_bZone = byZoneNumber; + + TRACE("**** RecvZoneChange -- user(%s, %d), cur_zone = %d\n", pUser->GetName().c_str(), pUser->GetID(), byZoneNumber); +} + +void CGameSocket::RecvUserInfoAllData(Packet & pkt) +{ + uint8 byCount = pkt.read(); + for (int i = 0; i < byCount; i++) + RecvUserInfo(pkt); +} + +void CGameSocket::RecvGateOpen(Packet & pkt) +{ + uint16 nid; + bool byGateOpen; + + pkt >> nid >> byGateOpen; + if (nid < NPC_BAND) + { + TRACE("#### RecvGateOpen() nid Fail --> nid = %d ####\n", nid); + return; + } + + CNpc* pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr) + return; + + if (!pNpc->isGate()) + { + TRACE("#### RecvGateOpen() NpcType Fail --> type = %d ####\n", pNpc->GetType()); + return; + } + + pNpc->m_byGateOpen = byGateOpen; + TRACE("**** RecvGateOpen()---> nid = %d, byGateOpen = %d ******\n", nid, byGateOpen); +} + +void CGameSocket::RecvUserVisibility(Packet & pkt) +{ + uint16 sid; + uint8 bIsInvisible; + pkt >> sid >> bIsInvisible; + + CUser *pUser = g_pMain->GetUserPtr(sid); + if (pUser == nullptr) + return; + + pUser->m_bInvisibilityType = bIsInvisible; +} + +void CGameSocket::RecvUserTransform(Packet & pkt) +{ + uint16 sid; + uint8 type; + pkt >> sid >> type; + + CUser *pUser = g_pMain->GetUserPtr(sid); + if (pUser == nullptr) + return; + + pUser->m_transformationType = TransformationType(type); +} + +void CGameSocket::RecvPartyInfoAllData(Packet & pkt) +{ + uint16 sPartyIndex = pkt.read(); + if (sPartyIndex >= SHRT_MAX) + { + TRACE("#### RecvPartyInfoAllData Index Fail - index = %d ####\n", sPartyIndex); + return; + } + + _PARTY_GROUP *pParty = new _PARTY_GROUP; + pParty->wIndex = sPartyIndex; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + pParty->uid[i] = pkt.read(); + + if (g_pMain->m_arParty.PutData(pParty->wIndex, pParty)) + TRACE("**** RecvPartyInfoAllData()---> PartyIndex = %d ******\n", sPartyIndex); +} + +void CGameSocket::RecvHealMagic(Packet & pkt) +{ + uint16 sid = pkt.read(); + CUser* pUser = g_pMain->GetUserPtr(sid); + + if (pUser == nullptr + || pUser->isDead()) + return; + + pUser->HealMagic(); +} + +void CGameSocket::RecvTimeAndWeather(Packet & pkt) +{ + pkt >> g_pMain->m_iYear >> g_pMain->m_iMonth >> g_pMain->m_iDate + >> g_pMain->m_iHour >> g_pMain->m_iMin + >> g_pMain->m_iWeather >> g_pMain->m_iAmount; + + // We'll class day time as 6am to 9pm. + g_pMain->m_bIsNight = (g_pMain->m_iHour <= 5 || g_pMain->m_iHour >= 21); +} + +void CGameSocket::RecvBattleEvent(Packet & pkt) +{ + uint8 bType = pkt.read(), bEvent = pkt.read(); + + if (bEvent == BATTLEZONE_OPEN || bEvent == BATTLEZONE_CLOSE) + { + g_pMain->m_sKillKarusNpc = 0; + g_pMain->m_sKillElmoNpc = 0; + g_pMain->m_byBattleEvent = bEvent; + if (bEvent == BATTLEZONE_CLOSE) + g_pMain->ResetBattleZone(); + } + + foreach_stlmap (itr, g_pMain->m_arNpc) + { + CNpc *pNpc = itr->second; + if (pNpc == nullptr) + continue; + + if (pNpc->GetType() > 10 && (pNpc->GetNation() == KARUS || pNpc->GetNation() == ELMORAD)) + { + if (bEvent == BATTLEZONE_OPEN || bEvent == BATTLEZONE_CLOSE) + pNpc->ChangeAbility(bEvent); + } + } +} + +void CGameSocket::RecvNpcSpawnRequest(Packet & pkt) +{ + uint16 sSid, sX, sY, sZ, sCount, sRadius, sDuration; + int16 socketID; + uint16 nEventRoom; + uint8 byZone; + uint8 nation; + bool nIsPet; + std::string strPetName; + std::string strUserName; + uint64 nSerial; + uint16 UserId; + bool bIsMonster; + float fX, fY, fZ; + + pkt >> sSid >> bIsMonster >> byZone >> sX >> sY >> sZ >> sCount >> sRadius >> sDuration >> nation >> socketID >> nEventRoom >> nIsPet >> strPetName >> strUserName >> nSerial >> UserId; + + fX = sX / 10.0f; + fY = sY / 10.0f; + fZ = sZ / 10.0f; + + + for (uint16 i = 0; i < sCount; i++) + g_pMain->SpawnEventNpc(sSid, bIsMonster, + byZone, fX, fY, fZ, sRadius, sDuration, nation, socketID, nEventRoom, nIsPet, strPetName, strUserName, nSerial, UserId); +} + +void CGameSocket::RecvNpcKillRequest(Packet & pkt) +{ + uint16 nid; + pkt >> nid; + + if (nid < NPC_BAND) // is player + { + foreach_stlmap (itr, g_pMain->m_arNpc) + { + CNpc *pNpc = itr->second; + if (pNpc == nullptr) + continue; + + if (pNpc->m_oSocketID != nid) + continue; + + pNpc->m_oSocketID = -1; + pNpc->Dead(); + } + } + else + { + CNpc* pNpc = g_pMain->GetNpcPtr(nid); + + if (pNpc != nullptr) + pNpc->Dead(); + } +} + +void CGameSocket::RecvNpcUpdate(Packet & pkt) +{ + uint16 sSid; + bool bIsMonster; + uint8 byGroup = 0; + uint16 sPid = 0; + + pkt >> sSid >> bIsMonster >> byGroup >> sPid; + + g_pMain->NpcUpdate(sSid, bIsMonster, byGroup, sPid); +} diff --git a/server/AIServer/GameSocket.h b/server/AIServer/GameSocket.h new file mode 100644 index 0000000..44e7e9d --- /dev/null +++ b/server/AIServer/GameSocket.h @@ -0,0 +1,49 @@ +#pragma once + +#include "../shared/KOSocket.h" +#include "Party.h" + +class CUser; +class MAP; + +class CGameSocket : public KOSocket +{ +public: + CParty m_Party; + + CGameSocket(uint16 socketID, SocketMgr *mgr) : KOSocket(socketID, mgr, -1, 524288, 524288) {} + + virtual void OnConnect(); + + void Initialize(); + bool HandlePacket(Packet & pkt); + + virtual void OnDisconnect(); + void RecvServerConnect(Packet & pkt); + void RecvNpcMoveResult(Packet & pkt); + void RecvUserInfo(Packet & pkt); + void ReadUserInfo(Packet & pkt, CUser * pUser); + void RecvUserInOut(Packet & pkt); + void RecvUserMove(Packet & pkt); + void RecvUserLogOut(Packet & pkt); + void RecvUserRegene(Packet & pkt); + void RecvUserSetHP(Packet & pkt); + void RecvNpcHpChange(Packet & pkt); + void RecvUserUpdate(Packet & pkt); + void RecvZoneChange(Packet & pkt); + void RecvUserInfoAllData(Packet & pkt); + void RecvPartyInfoAllData(Packet & pkt); + void RecvGateOpen(Packet & pkt); + void RecvUserVisibility(Packet & pkt); + void RecvUserTransform(Packet & pkt); + void RecvHealMagic(Packet & pkt); + void RecvTimeAndWeather(Packet & pkt); + void RecvBattleEvent(Packet & pkt); + void RecvNpcSpawnRequest(Packet & pkt); + void RecvNpcKillRequest(Packet & pkt); + void RecvNpcUpdate(Packet & pkt); + + bool SetUid(float x, float z, int id, int speed); + + virtual ~CGameSocket(); +}; \ No newline at end of file diff --git a/server/AIServer/MAP.cpp b/server/AIServer/MAP.cpp new file mode 100644 index 0000000..6c673d0 --- /dev/null +++ b/server/AIServer/MAP.cpp @@ -0,0 +1,487 @@ +#include "stdafx.h" +#include "MAP.h" +#include "ServerDlg.h" +#include "Region.h" +#include "Npc.h" +#include "User.h" +#include "RoomEvent.h" +#include "../shared/packets.h" +#include +#include +#include "../shared/SMDFile.h" + +INLINE int ParseSpace( char* tBuf, char* sBuf) +{ + int i = 0, index = 0; + bool flag = false; + + while (sBuf[index] == ' ' || sBuf[index] == '\t') + index++; + + while (sBuf[index] !=' ' && sBuf[index] !='\t' && sBuf[index] != 0) + { + tBuf[i++] = sBuf[index++]; + flag = true; + } + tBuf[i] = 0; + + while (sBuf[index] == ' ' || sBuf[index] == '\t') + index++; + + return !flag ? 0 : index; +}; + +using namespace std; + +/* passthru methods */ +int MAP::GetMapSize() { return m_smdFile->GetMapSize(); } +float MAP::GetUnitDistance() { return m_smdFile->GetUnitDistance(); } +int MAP::GetXRegionMax() { return m_smdFile->GetXRegionMax(); } +int MAP::GetZRegionMax() { return m_smdFile->GetZRegionMax(); } +short * MAP::GetEventIDs() { return m_smdFile->GetEventIDs(); } + +MAP::MAP() : m_smdFile(nullptr), m_ppRegion(nullptr), + m_fHeight(nullptr), m_byRoomType(0), m_byRoomEvent(0), + m_byRoomStatus(RoomStatusInitialised), m_byInitRoomCount(0), + m_nZoneNumber(0), m_sKarusRoom(0), m_sElmoradRoom(0) +{ +} + +bool MAP::Initialize(_ZONE_INFO *pZone) +{ + m_nZoneNumber = pZone->m_nZoneNumber; + m_byRoomEvent = pZone->m_byRoomEvent; + + m_smdFile = SMDFile::Load(pZone->m_MapName); + + if (m_smdFile != nullptr) + { + SetZoneAttributes(m_nZoneNumber); + foreach_stlmap_nolock(itr, g_pMain->m_ObjectEventArray) + { + if (itr->second->sZoneID == m_nZoneNumber) + { + _OBJECT_EVENT * pEvent = itr->second; + if (pEvent->sType == OBJECT_GATE + || pEvent->sType == OBJECT_GATE2 + || pEvent->sType == OBJECT_GATE_LEVER + || pEvent->sType == OBJECT_ANVIL + || pEvent->sType == OBJECT_ARTIFACT + || pEvent->sType == OBJECT_GATE_UNK) + g_pMain->AddObjectEventNpc(pEvent, this); + + } + } + + m_ppRegion = new CRegion*[m_smdFile->m_nXRegion]; + for (int i = 0; i < m_smdFile->m_nXRegion; i++) + m_ppRegion[i] = new CRegion[m_smdFile->m_nZRegion](); + } + + if (m_byRoomEvent > 0) + { + if (!LoadRoomEvent()) + { + printf("ERROR: Unable to load room event (%d.aievt) for map - %s\n", + m_byRoomEvent, pZone->m_MapName.c_str()); + m_byRoomEvent = 0; + } + else + { + m_byRoomEvent = 1; + } + } + + return (m_smdFile != nullptr); +} + +MAP::~MAP() +{ + RemoveMapData(); + + if (m_smdFile != nullptr) + m_smdFile->DecRef(); +} + +void MAP::RemoveMapData() +{ + if( m_ppRegion ) { + for(int i=0; i <= GetXRegionMax(); i++) { + delete[] m_ppRegion[i]; + m_ppRegion[i] = nullptr; + } + delete[] m_ppRegion; + m_ppRegion = nullptr; + } + + if (m_fHeight) + { + delete[] m_fHeight; + m_fHeight = nullptr; + } + + m_arRoomEventArray.DeleteAllData(); +} + +bool MAP::IsMovable(int dest_x, int dest_y) +{ + return m_smdFile->GetEventID(dest_x, dest_y) == 0; +} + +void MAP::RegionUserAdd(int rx, int rz, int uid) +{ + if (rx < 0 || rz < 0 || rx > GetXRegionMax() || rz > GetZRegionMax()) + return; + + Guard lock(m_lock); + CRegion * pRegion = &m_ppRegion[rx][rz]; + + if (pRegion == nullptr) + return; + + int *pInt = new int; + *pInt = uid; + if (!pRegion->m_RegionUserArray.PutData(uid, pInt)) + delete pInt; + + pRegion->m_byMoving = !pRegion->m_RegionUserArray.IsEmpty(); +} + +bool MAP::RegionUserRemove(int rx, int rz, int uid) +{ + if (rx < 0 || rz < 0 || rx > GetXRegionMax() || rz > GetZRegionMax()) + return false; + + Guard lock(m_lock); + CRegion * pRegion = &m_ppRegion[rx][rz]; + + if (pRegion == nullptr) + return false; + + pRegion->m_RegionUserArray.DeleteData(uid); + pRegion->m_byMoving = !pRegion->m_RegionUserArray.IsEmpty(); + return true; +} + +void MAP::RegionNpcAdd(int rx, int rz, int nid) +{ + if (rx < 0 || rz < 0 || rx > GetXRegionMax() || rz > GetZRegionMax()) + return; + + Guard lock(m_lock); + int *pInt = new int; + *pInt = nid; + if (!m_ppRegion[rx][rz].m_RegionNpcArray.PutData(nid, pInt)) + delete pInt; +} + +bool MAP::RegionNpcRemove(int rx, int rz, int nid) +{ + if (rx < 0 || rz < 0 || rx > GetXRegionMax() || rz > GetZRegionMax()) + return false; + + Guard lock(m_lock); + m_ppRegion[rx][rz].m_RegionNpcArray.DeleteData( nid ); + return true; +} + + +CRegion * MAP::GetRegion(uint16 regionX, uint16 regionZ) +{ + if (regionX > GetXRegionMax() + || regionZ > GetZRegionMax()) + return nullptr; + + Guard lock(m_lock); + return &m_ppRegion[regionX][regionZ]; +} + +bool MAP::LoadRoomEvent() +{ + uint32 length, count; + string filename = string_format(MAP_DIR "%d.aievt", m_byRoomEvent); + char byte; + char buf[4096]; + char first[1024]; + char temp[1024]; + int index = 0; + int t_index = 0, logic=0, exec=0; + int event_num = 0, nation = 0; + + CRoomEvent* pEvent = nullptr; + ifstream is(filename); + if (!is) + { + printf("ERROR: %s does not exist or no permission to access.\n", filename.c_str()); + return false; + } + + is.seekg(0, is.end); + length = (uint32)is.tellg(); + is.seekg (0, is.beg); + + count = 0; + + while (count < length) + { + is.read(&byte, 1); + count ++; + + if( byte != '\r' && byte != '\n' ) buf[index++] = byte; + + if((byte == '\n' || count == length ) && index > 1 ) { + buf[index] = (uint8) 0; + t_index = 0; + + if( buf[t_index] == ';' || buf[t_index] == '/' ) { // ּ ó + index = 0; + continue; + } + + t_index += ParseSpace( first, buf + t_index ); + + if( !strcmp( first, "ROOM" ) ) { + logic = 0; exec = 0; + t_index += ParseSpace( temp, buf + t_index ); event_num = atoi( temp ); + + if( m_arRoomEventArray.IsExist(event_num) ) { + TRACE("Event Double !!\n" ); + goto cancel_event_load; + } + + pEvent = nullptr; + pEvent = SetRoomEvent( event_num ); + } + else if( !strcmp( first, "TYPE" ) ) { + t_index += ParseSpace( temp, buf + t_index ); m_byRoomType = atoi( temp ); + } + else if( !strcmp( first, "L" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + } + else if( !strcmp( first, "E" ) ) { + if (!pEvent + || exec >= MAX_CHECK_EVENT) + goto cancel_event_load; + + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Exec[exec].sNumber = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Exec[exec].sOption_1 = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Exec[exec].sOption_2 = atoi( temp ); + exec++; + } + else if( !strcmp( first, "A" ) ) { + if (!pEvent + || logic >= MAX_CHECK_EVENT) + goto cancel_event_load; + + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Logic[logic].sNumber = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Logic[logic].sOption_1 = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_Logic[logic].sOption_2 = atoi( temp ); + logic++; + pEvent->m_byCheck = logic; + } + else if( !strcmp( first, "O" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + } + else if( !strcmp( first, "NATION" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + + t_index += ParseSpace( temp, buf + t_index ); nation = atoi( temp ); + if( nation == KARUS ) { + m_sKarusRoom++; + } + else if( nation == ELMORAD ) { + m_sElmoradRoom++; + } + } + else if( !strcmp( first, "POS" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iInitMinX = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iInitMinZ = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iInitMaxX = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iInitMaxZ = atoi( temp ); + } + else if( !strcmp( first, "POSEND" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iEndMinX = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iEndMinZ = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iEndMaxX = atoi( temp ); + t_index += ParseSpace( temp, buf + t_index ); pEvent->m_iEndMaxZ = atoi( temp ); + } + else if( !strcmp( first, "END" ) ) { + if( !pEvent ) { + goto cancel_event_load; + } + } + + index = 0; + } + } + + is.close(); + + return true; + +cancel_event_load: + printf("Unable to load AI EVT (%d.aievt), failed in or near event number %d.\n", + m_byRoomEvent, event_num); + is.close(); + return false; +} + +int MAP::IsRoomCheck(float fx, float fz) +{ + int nX = (int)fx, nZ = (int)fz; + int minX=0, minZ=0, maxX=0, maxZ=0; + int room_number = 0; + + foreach_stlmap_nolock (itr, m_arRoomEventArray) + { + CRoomEvent * pRoom = itr->second; + if (pRoom == nullptr + || pRoom->isCleared()) + continue; + + if (pRoom->isInitialised()) + { + minX = pRoom->m_iInitMinX; minZ = pRoom->m_iInitMinZ; + maxX = pRoom->m_iInitMaxX; maxZ = pRoom->m_iInitMaxZ; + } + else if (pRoom->isInProgress()) + { + if (pRoom->m_Logic[0].sNumber != 4) + continue; + + minX = pRoom->m_iEndMinX; minZ = pRoom->m_iEndMinZ; + maxX = pRoom->m_iEndMaxX; maxZ = pRoom->m_iEndMaxZ; + } + + CRect r(minX, minZ, maxX, maxZ); + if (r.PtInRect(nX, nZ)) + { + if (pRoom->isInitialised()) + { + pRoom->m_byStatus = RoomStatusInProgress; + pRoom->m_tDelayTime = UNIXTIME; + room_number = itr->first; + TRACE(" Room Check - number = %d, x=%d, z=%d\n", room_number, nX, nZ); + //wsprintf(notify, "** ˸ : [%d Zone][%d] 濡 Ű ȯմϴ **", m_nZoneNumber, pRoom->m_sRoomNumber); + //g_pMain->SendSystemMsg(notify, PUBLIC_CHAT); + } + else if(pRoom->isInProgress())// room already in progress + { + pRoom->m_byStatus = RoomStatusCleared; + //wsprintf(notify, "** ˸ : [%d Zone][%d] ǥ ؼ Ŭ ˴ϴ٤ **", m_nZoneNumber, pRoom->m_sRoomNumber); + //g_pMain->SendSystemMsg(notify, PUBLIC_CHAT); + } + + return room_number; + } + } + + return room_number; +} + +CRoomEvent* MAP::SetRoomEvent( int number ) +{ + CRoomEvent* pEvent = m_arRoomEventArray.GetData( number ); + if( pEvent ) { + TRACE("#### SetRoom Error : double event number = %d ####\n", number); + return nullptr; + } + + pEvent = new CRoomEvent(); + pEvent->m_iZoneNumber = m_nZoneNumber; + pEvent->m_sRoomNumber = number; + if( !m_arRoomEventArray.PutData( pEvent->m_sRoomNumber, pEvent) ) { + delete pEvent; + pEvent = nullptr; + return nullptr; + } + + return pEvent; +} + +bool MAP::IsRoomStatusCheck() +{ + int nClearRoom = 1, + nTotalRoom = m_arRoomEventArray.GetSize() + 1; + + if (m_byRoomStatus == RoomStatusInProgress) + m_byInitRoomCount++; + + foreach_stlmap_nolock (itr, m_arRoomEventArray) + { + CRoomEvent *pRoom = itr->second; + if (pRoom == nullptr) + { + TRACE("#### IsRoomStatusCheck Error : room empty number = %d ####\n", itr->first); + continue; + } + + if (m_byRoomStatus == RoomStatusInitialised) + { + if (pRoom->isCleared()) + nClearRoom += 1; + + if (m_byRoomType == 0) + { + if (nTotalRoom == nClearRoom) + { + m_byRoomStatus = RoomStatusInProgress; + return true; + } + } + } + else if (m_byRoomStatus == RoomStatusInProgress) + { + if (m_byInitRoomCount >= 10) + { + pRoom->InitializeRoom(); + nClearRoom += 1; + if (nTotalRoom == nClearRoom) + { + m_byRoomStatus = RoomStatusCleared; + return true; + } + } + } + else if (m_byRoomStatus == RoomStatusCleared) + { + m_byRoomStatus = RoomStatusInitialised; + m_byInitRoomCount = 0; + return true; + } + } + return false; +} + + + +void MAP::InitializeRoom() +{ + foreach_stlmap_nolock (itr, m_arRoomEventArray) + { + CRoomEvent *pRoom = itr->second; + if (pRoom == nullptr) + { + TRACE("#### InitializeRoom Error : room empty number = %d ####\n", itr->first); + continue; + } + + pRoom->InitializeRoom(); + m_byRoomStatus = RoomStatusInitialised; + m_byInitRoomCount = 0; + } +} \ No newline at end of file diff --git a/server/AIServer/MAP.h b/server/AIServer/MAP.h new file mode 100644 index 0000000..d6d4a67 --- /dev/null +++ b/server/AIServer/MAP.h @@ -0,0 +1,99 @@ +#pragma once + +#include "../N3BASE/N3ShapeMgr.h" +#include "../shared/STLMap.h" +#include "../shared/STLMapOnlyLoad.h" +#include "Extern.h" +#include "RoomEvent.h" + +typedef CSTLMapOnlyLoad <_OBJECT_EVENT> ObjectEventArray; +typedef CSTLMapOnlyLoad RoomEventArray; + +class CRegion; +class CNpc; +class CUser; +class CBot; +// temporary +struct CSize +{ + CSize() : cx(0), cy(0) {} + CSize(int cx, int cy) : cx(cx), cy(cy) {} + int cx, cy; +}; + +class SMDFile; +class MAP +{ +public: + // Passthru methods + int GetMapSize(); + float GetUnitDistance(); + int GetXRegionMax(); + int GetZRegionMax(); + short * GetEventIDs(); + + CRegion** m_ppRegion; // 64 Ÿ.. + int m_nZoneNumber; // zone number + int m_nServerNo; + float* m_fHeight; + uint8 m_byRoomType; // ʱȭ( 0:ڵ ʱȭ, 1:̺Ʈ (Ư Ϸ ʱȭ) + uint8 m_byRoomEvent; // event room(0:empty, 1:use) + RoomStatus m_byRoomStatus; // room status(1:, 2: ʱȭ, 3:ʱȭ Ϸ) + uint8 m_byInitRoomCount; // room ʱȭ ð (Ϳ ȭ ߱ ) + RoomEventArray m_arRoomEventArray; + short m_sKarusRoom; // karus + short m_sElmoradRoom; // elmorad + + std::recursive_mutex m_lock; + +public: + MAP(); + virtual ~MAP(); + + bool Initialize(_ZONE_INFO *pZone); + + bool LoadRoomEvent(); + float GetHeight( float x, float z ); + + bool RegionNpcRemove( int rx, int rz, int nid ); + void RegionNpcAdd( int rx, int rz, int nid ); + bool RegionUserRemove( int rx, int rz, int uid ); + void RegionUserAdd( int rx, int rz, int uid ); + + CRegion * GetRegion(uint16 regionX, uint16 regionZ); + + int IsRoomCheck(float fx, float fz); // , ġ ġ ִ Ǵ + bool IsRoomStatusCheck(); + + bool IsMovable(int dest_x, int dest_y); + void InitializeRoom(); + + CRoomEvent* SetRoomEvent( int number ); + void RemoveMapData(); + + SMDFile * m_smdFile; + + /* the following should all be duplicated to AI server's map class for now */ + + INLINE bool canTradeWithOtherNation() { return (m_zoneFlags & ZF_TRADE_OTHER_NATION) != 0; } + INLINE bool canTalkToOtherNation() { return (m_zoneFlags & ZF_TALK_OTHER_NATION) != 0; } + INLINE bool canAttackOtherNation() { return (m_zoneFlags & ZF_ATTACK_OTHER_NATION) != 0; } + INLINE bool canAttackSameNation() { return (m_zoneFlags & ZF_ATTACK_SAME_NATION) != 0; } + INLINE bool isWarZone() { return (m_zoneFlags & ZF_WAR_ZONE) != 0; } + INLINE bool isNationPVPZone() { return canAttackOtherNation() && !canAttackSameNation(); } + INLINE bool areNPCsFriendly() { return (m_zoneFlags & ZF_FRIENDLY_NPCS) != 0; } + + INLINE uint8 GetZoneType() { return m_zoneType; } + INLINE uint8 GetTariff() { return m_byTariff; } + + INLINE uint8 GetMinLevelReq() { return m_byMinLevel; } + INLINE uint8 GetMaxLevelReq() { return m_byMaxLevel; } + +protected: + void SetZoneAttributes(int zoneNumber); + + ZoneAbilityType m_zoneType; + uint16 m_zoneFlags; + uint8 m_byTariff; + uint8 m_byMinLevel, m_byMaxLevel; +}; \ No newline at end of file diff --git a/server/AIServer/Npc.cpp b/server/AIServer/Npc.cpp new file mode 100644 index 0000000..6d7c1a0 --- /dev/null +++ b/server/AIServer/Npc.cpp @@ -0,0 +1,4252 @@ +#include "stdafx.h" +#include "Region.h" +#include "Extern.h" +#include "Npc.h" +#include "User.h" +#include "NpcThread.h" + +// 1m +//float surround_fx[8] = {0.0f, -0.7071f, -1.0f, -0.7083f, 0.0f, 0.7059f, 1.0000f, 0.7083f}; +//float surround_fz[8] = {1.0f, 0.7071f, 0.0f, -0.7059f, -1.0f, -0.7083f, -0.0017f, 0.7059f}; +// 2m +static float surround_fx[8] = {0.0f, -1.4142f, -2.0f, -1.4167f, 0.0f, 1.4117f, 2.0000f, 1.4167f}; +static float surround_fz[8] = {2.0f, 1.4142f, 0.0f, -1.4167f, -2.0f, -1.4167f, -0.0035f, 1.4117f}; + +enum +{ + TENDER_ATTACK_TYPE = 0, // The spawn is passive, i.e. won't attack until it's attacked, or it expects same-type spawns to help out. + ATROCITY_ATTACK_TYPE = 1 // The spawn is aggressive, i.e. it's just as happy to attack you first. +}; + +#define NO_ACTION 0 +#define ATTACK_TO_TRACE 1 // °ø°İ¿¡¼­ Ãß°İ +#define LONG_ATTACK_RANGE 15 // Àå°Å¸® °ø°İ À¯È¿°Å¸® +#define SHORT_ATTACK_RANGE 1 // Á÷Á¢°ø°İ À¯È¿°Å¸® + +#define ARROW_MIN 291010000 +#define ARROW_MAX 292010000 + +#define FAINTING_TIME 2 // in seconds + +bool CNpc::RegisterRegion(float x, float z) +{ + MAP* pMap = GetMap(); + if (pMap == nullptr) + { + TRACE("#### Npc-SetUid Zone Fail : [name=%s], zone=%d #####\n", GetName().c_str(), GetZoneID()); + return false; + } + + int x1 = (int)x / TILE_SIZE; + int z1 = (int)z / TILE_SIZE; + int nRX = (int)x / VIEW_DIST; + int nRY = (int)z / VIEW_DIST; + + if (x1 < 0 || z1 < 0 || x1 >= pMap->GetMapSize() || z1 >= pMap->GetMapSize()) + { + TRACE("#### SetUid failed : [nid=%d, sid=%d, zone=%d], coordinates out of range of map x=%d, z=%d, map size=%d #####\n", + GetID(), GetProtoID(), GetZoneID(), x1, z1, pMap->GetMapSize()); + return false; + } + + // if(pMap->m_pMap[x1][z1].m_sEvent == 0) return false; + if(nRX > pMap->GetXRegionMax() || nRY > pMap->GetZRegionMax() || nRX < 0 || nRY < 0) + { + TRACE("#### SetUid Fail : [nid=%d, sid=%d], nRX=%d, nRZ=%d #####\n", GetID(), GetProtoID(), nRX, nRY); + return false; + } + + if (GetRegionX() != nRX || GetRegionZ() != nRY) + { + int nOld_RX = GetRegionX(); + int nOld_RZ = GetRegionZ(); + + m_sRegionX = nRX; + m_sRegionZ = nRY; + + pMap->RegionNpcAdd(GetRegionX(), GetRegionZ(), GetID()); + pMap->RegionNpcRemove(nOld_RX, nOld_RZ, GetID()); + + SendRegionUpdate(); + } + + return true; +} + +void CNpc::SendInOut(InOutType type) +{ + Packet result(AG_NPC_INOUT); + result << uint8(type) << GetID() << GetX() << GetZ() << GetY(); + g_pMain->Send(&result); +} + +void CNpc::SendNpcInfo() +{ + Packet result(AG_NPC_INFO); + result.SByte(); + FillNpcInfo(result); + g_pMain->Send(&result); +} + +/** +* @brief Sends a region update packet to the game server +* to indicate the NPC has changed regions, so it should +* handle showing/removing the NPCs from applicable players. +*/ +void CNpc::SendRegionUpdate() +{ + Packet result(AG_NPC_REGION_UPDATE); + result << GetID() << GetX() << GetY() << GetZ(); + g_pMain->Send(&result); +} + +CNpc::CNpc() : Unit(UnitNPC), m_bDelete(false), + m_NpcState(NPC_LIVE), m_OldNpcState(m_NpcState), m_byGateOpen(false), m_byObjectType(NORMAL_OBJECT), m_byPathCount(0), + m_byAttackPos(0), m_ItemUserLevel(0), m_Delay(0), m_nActiveSkillID(0), m_sActiveTargetID(-1), m_sActiveCastTime(0), + m_byDirection(0),m_bIsEventNpc(false), + m_proto(nullptr), m_pPath(nullptr) +{ + InitTarget(); + + m_fDelayTime = getMSTime(); + LastChangeTimeCC = UNIXTIME + 60; + m_tNpcAttType = ATROCITY_ATTACK_TYPE; + m_bHasFriends = false; // :'( + m_byMoveType = 1; + m_byInitMoveType = 1; + m_byRegenType = 0; + m_byDungeonFamily = 0; + m_bySpecialType = NpcSpecialTypeNone; + m_byTrapNumber = 0; + m_byChangeType = 0; + m_byDeadType = 0; + m_sMaxPathCount = 0; + m_sRealPathCount = 0; + + nIsPet = false; + strPetName = ""; + strUserName = ""; + nSerial = 0; + UserId = -1; + m_bFirstLive = true; + + m_fHPChangeTime = getMSTime(); + m_tFaintingTime = 0; + + m_nLimitMinX = m_nLimitMinZ = 0; + m_nLimitMaxX = m_nLimitMaxZ = 0; + m_bIsEventNpc = false; + m_fSecForRealMoveMetor = 0.0f; + InitUserList(); + + m_bTracing = false; + m_fTracingStartX = m_fTracingStartZ = 0.0f; + + for(int i=0; iGetUserPtr(m_Target.id); + if (pUser != nullptr + && m_byAttackPos > 0 && m_byAttackPos < 9) + pUser->m_sSurroundNpcNumber[m_byAttackPos - 1] = -1; + } + } + + m_byAttackPos = 0; + m_Target.id = -1; + m_Target.bSet = false; + m_Target.x = m_Target.y = m_Target.z = 0.0f; + m_bTracing = false; +} + +void CNpc::Init() +{ + m_pMap = g_pMain->GetZoneByID(GetZoneID()); + m_Delay = 0; + m_fDelayTime = getMSTime(); + + if (GetMap() == nullptr) + { + TRACE("#### Npc-Init Zone Fail : [name=%s], zone=%d #####\n", GetName().c_str(), GetZoneID()); + return; + } +} + +void CNpc::InitPos() +{ + static const float fDD = 1.5f; + static const float fx[4][5] = + { // battle pos + { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }, // 0 + { 0.0f, -(fDD*2), -(fDD*2), -(fDD*4), -(fDD*4) }, // 1 + { 0.0f, 0.0f, -(fDD*2), -(fDD*2), -(fDD*2) }, // 2 + { 0.0f, -(fDD*2), -(fDD*2), -(fDD*2), -(fDD*4) } // 3 + }; + + static const float fz[4][5] = + { // battle pos + { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }, // 0 + { 0.0f, (fDD*1), -(fDD*1), (fDD*1), -(fDD*1) }, // 1 + { 0.0f, -(fDD*2), (fDD*1), (fDD*1), (fDD*3) }, // 2 + { 0.0f, (fDD*2), 0.0f, -(fDD*2), 0.0f } // 3 + }; + + if (m_byBattlePos > 3) + return; + + m_fBattlePos_x = fx[m_byBattlePos][m_byPathCount - 1]; + m_fBattlePos_z = fz[m_byBattlePos][m_byPathCount - 1]; +} + +void CNpc::Load(uint16 sNpcID, CNpcTable * proto, bool bMonster, uint8 nation) +{ + + m_sNid = sNpcID + NPC_BAND; + + m_proto = proto; + + m_bMonster = bMonster; + + m_sSize = proto->m_sSize; + m_iWeapon_1 = proto->m_iWeapon_1; + m_iWeapon_2 = proto->m_iWeapon_2; + m_bNation = nation == 0 ? proto->m_byGroup : nation; + m_bLevel = (uint8) proto->m_sLevel; // max level used that I know about is 250, no need for 2 bytes + + // Monsters cannot, by design, be friendly to everybody. + if (isMonster() && GetNation() == Nation::ALL) + m_bNation = Nation::NONE; + + m_byActType = proto->m_byActType; + m_byRank = proto->m_byRank; + m_byTitle = proto->m_byTitle; + m_iSellingGroup = proto->m_iSellingGroup; + m_iHP = proto->m_iMaxHP; + m_iMaxHP = proto->m_iMaxHP; + m_sMP = proto->m_sMaxMP; + m_sMaxMP = proto->m_sMaxMP; + m_sAttack = proto->m_sAttack; + m_sTotalAc = proto->m_sDefense; + m_fTotalHitrate = proto->m_sHitRate; + m_fTotalEvasionrate = proto->m_sEvadeRate; + m_sTotalHit = proto->m_sDamage; + m_sAttackDelay = proto->m_sAttackDelay; + m_sSpeed = proto->m_sSpeed; + + // Object NPCs should have an effective speed of 1x (not that it should matter, mind) + if (m_byObjectType == SPECIAL_OBJECT) + m_sSpeed = 1000; + + m_fSpeed_1 = (float)proto->m_bySpeed_1 * ((float)m_sSpeed / 1000); + m_fSpeed_2 = (float)proto->m_bySpeed_2 * ((float)m_sSpeed / 1000); + m_fOldSpeed_1 = (float)proto->m_bySpeed_1 * ((float)m_sSpeed / 1000); + m_fOldSpeed_2 = (float)proto->m_bySpeed_2 * ((float)m_sSpeed / 1000); + + m_fSecForMetor = 4.0f; + m_sStandTime = proto->m_sStandTime; + m_sFireR = proto->m_byFireR; + m_sColdR = proto->m_byColdR; + m_sLightningR = proto->m_byLightningR; + m_sMagicR = proto->m_byMagicR; + m_sDiseaseR = proto->m_byDiseaseR; + m_sPoisonR = proto->m_byPoisonR; + m_bySearchRange = proto->m_bySearchRange; + m_byAttackRange = proto->m_byAttackRange; + m_byTracingRange = proto->m_byTracingRange; + m_iMoney = proto->m_iMoney; + m_iItem = proto->m_iItem; + + m_sRegenTime = 160 * MINUTE; + m_sMaxPathCount = 0; + + if(GetType() == OBJECT_ARTIFACT && proto->m_sSid == 541) + m_sRegenTime = 1; + + m_pMap = g_pMain->GetZoneByID(GetZoneID()); + m_bFirstLive = 1; +} + +void CNpc::SendMoveResult(float fX, float fY, float fZ, float fSpeed /*= 0.0f*/) +{ + /*Packet result(MOVE_RESULT, uint8(SUCCESS)); + result << GetID() << fX << fZ << fY << fSpeed; + g_pMain->Send(&result); + RegisterRegion(fX, fZ);*/ + Packet result(MOVE_RESULT, uint8(SUCCESS)); + result << GetID() << fX << fZ << fY; + if(m_bIceSpeedAmount > 0) + result << fSpeed / float(m_bIceSpeedAmount); + else + result << fSpeed ; + g_pMain->Send(&result); + RegisterRegion(fX, fZ); +} + +time_t CNpc::NpcLive() +{ + // Dungeon Work + if (GetZoneID() == ZONE_DELOS + && GetProto()->m_sSid != 541 + && g_pMain->CSWOpen) + return false; + + if (m_byRegenType == 2 || (m_byRegenType == 1 && m_byChangeType == 100)) + { + m_NpcState = NPC_LIVE; + return m_sRegenTime; + } + + if(GetProtoID() == CHAOS_CUBE_SSID) + LastChangeTimeCC = UNIXTIME; + + m_NpcState = SetLive() ? NPC_STANDING : NPC_LIVE; + return m_sStandTime; +} + +time_t CNpc::NpcTracing() +{ + if (m_sStepCount != 0) + { + if (m_fPrevX < 0 || m_fPrevZ < 0) + { + TRACE("### Npc-NpcTracing Fail : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), m_fPrevX, m_fPrevZ); + } + else + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + } + } + + if (isNonAttackingObject()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return 0; + } + + // Prevent spawns like Guard Towers from following + // targets while attacking. + if (m_byMoveType == 4 || m_byMoveType == 5) + { + m_NpcState = NPC_FIGHTING; + return 0; + } + + auto result = IsCloseTarget(m_byAttackRange, AttackTypePhysical); + if (result == CloseTargetInGeneralRange) + { + NpcMoveEnd(); + m_NpcState = NPC_FIGHTING; + return 0; + } + else if (result == CloseTargetInvalid) + { + InitTarget(); + NpcMoveEnd(); + m_NpcState = NPC_STANDING; + return 0; + } + else if (result == CloseTargetInAttackRange && GetProto()->m_byDirectAttack == 2) + { + NpcMoveEnd(); + m_NpcState = NPC_FIGHTING; + return 0; + } + + if (m_byActionFlag == ATTACK_TO_TRACE) + { + m_byActionFlag = NO_ACTION; + m_bStopFollowingTarget = true; + + // If we're not already following a user, define our start coords. + if (!m_bTracing) + { + m_fTracingStartX = GetX(); + m_fTracingStartZ = GetZ(); + m_bTracing = true; + } + } + + if (m_bStopFollowingTarget) + { + if (!ResetPath())// && !m_tNpcTraceType) + { + TRACE("##### NpcTracing Fail : ÆĞ½ºÆÄÀÎµå ½ÇÆĞ , NPC_STANDINGÀ¸·Î ######\n"); + InitTarget(); + NpcMoveEnd(); // À̵¿ ³¡.. + m_NpcState = NPC_STANDING; + return 0; + } + } + + if ( (!m_bPathFlag && !StepMove()) + || (m_bPathFlag && !StepNoPathMove())) + { + m_NpcState = NPC_STANDING; + TRACE("### NpcTracing Fail : StepMove ½ÇÆĞ, %s, %d ### \n", GetName().c_str(), GetID()); + return 0; + } + + if (!IsMovingEnd()) + SendMoveResult(GetX(), GetY(), GetZ(), (float)m_sSpeed / 1000); + else + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + SendMoveResult(m_fPrevX, m_fPrevY, m_fPrevZ, (float)m_sSpeed / 1000); + } + if (result == CloseTargetInAttackRange + && GetProto()->m_byDirectAttack == 0 + && !isHealer()) + TracingAttack(); + + return m_sSpeed; +} + +time_t CNpc::NpcAttacking() +{ + if (isDead()) + { + Dead(); + return -1; + } + + if (isNonAttackingObject()) + { + m_NpcState = NPC_STANDING; + return 0; + } + + auto result = IsCloseTarget(m_byAttackRange, AttackTypeNone); + + + if (result == CloseTargetInGeneralRange) + { + m_NpcState = NPC_FIGHTING; + return m_sAttackDelay; + } + + int nValue = GetTargetPath(); + if (nValue == -1) + { + if (!RandomMove()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + InitTarget(); + m_iAniFrameCount = 0; + m_NpcState = NPC_MOVING; + return 0; + } + else if (nValue == 0) + { + m_fSecForMetor = m_fSpeed_2; + IsNoPathFind(m_fSecForMetor); + } + + m_NpcState = NPC_TRACING; + return m_sStandTime; +} + +time_t CNpc::NpcMoving() +{ + if (isDead()) + { + Dead(); + return -1; + } + + if (m_sStepCount != 0) + { + if (m_fPrevX < 0 || m_fPrevZ < 0) + { + TRACE("### Npc-Moving Fail : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), m_fPrevX, m_fPrevZ); + } + else + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + } + } + + if (FindEnemy()) + { + NpcMoveEnd(); + m_NpcState = NPC_ATTACKING; + return 0; + } + + if (IsMovingEnd()) + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + if (GetX() < 0 || GetZ() < 0) + TRACE("Npc-NpcMoving-2 : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), GetX(), GetZ()); + + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + if ( (!m_bPathFlag && !StepMove()) + || (m_bPathFlag && !StepNoPathMove())) + { + m_NpcState = NPC_STANDING; + return 0; + } + + SendMoveResult(m_fPrevX, m_fPrevY, m_fPrevZ, (float)m_sSpeed / 1000); + return m_sSpeed; +} +void CNpc::ChaosCubeControl() +{ + LastChangeTimeCC = UNIXTIME; + uint16 mrand,randx,randz; + mrand = myrand(1,50); + + if(m_byGateOpen) + SendInOut(INOUT_OUT); + else + { + if(mrand > 30) + { + randx = myrand(64,187); + randz = myrand(107,156); + } + else + { + randx = myrand(100,150); + randz = myrand(95,195); + } + + m_curx = float(uint16(randx)); + m_curz = float(uint16(randz)); + + SendMoveResult(GetX(), GetY(), GetZ()); + SendInOut(INOUT_IN); + + } + + m_byGateOpen = !m_byGateOpen; +} + +time_t CNpc::NpcStanding() +{ + /* if (g_pMain->m_bIsNight) + { + m_NpcState = NPC_SLEEPING; + return 0; + } */ + + MAP* pMap = GetMap(); + if (pMap == nullptr) + { + TRACE("### NpcStanding Zone Index Error : nid=%d, name=%s, zone=%d ###\n", GetID(), GetName().c_str(), GetZoneID()); + return -1; + } + + CRoomEvent * pRoom = pMap->m_arRoomEventArray.GetData(m_byDungeonFamily); + if (pRoom != nullptr + && pRoom->m_byStatus == 1) + { + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + if (RandomMove()) + { + + m_iAniFrameCount = 0; + m_NpcState = NPC_MOVING; + return m_sStandTime; + } + + m_NpcState = NPC_STANDING; + + if(GetProtoID() == CHAOS_CUBE_SSID + && LastChangeTimeCC + 30 < UNIXTIME) + ChaosCubeControl(); + + if (GetType() == NPC_SPECIAL_GATE + && g_pMain->m_byBattleEvent == BATTLEZONE_OPEN + && GetZoneID() != ZONE_DELOS) + { + if(m_byGateOpen && UnixGateClose == 30) + { + m_byGateOpen = !m_byGateOpen; + Packet result(AG_NPC_GATE_OPEN); + result << GetID() << GetProtoID() << m_byGateOpen; + g_pMain->Send(&result); + UnixGateOpen = 0; + } + else if (!m_byGateOpen && UnixGateOpen == 180) + { + m_byGateOpen = !m_byGateOpen; + Packet result(AG_NPC_GATE_OPEN); + result << GetID() << GetProtoID() << m_byGateOpen; + g_pMain->Send(&result); + UnixGateClose = 0; + } + UnixGateClose++; + UnixGateOpen++; + } + return m_sStandTime; +} + +time_t CNpc::NpcBack() +{ + if (isDead()) + { + Dead(); + return -1; + } + + if (hasTarget() + && g_pMain->GetUnitPtr(m_Target.id) == nullptr) + { + m_NpcState = NPC_STANDING; + return 0;//STEP_DELAY; + } + + if (m_sStepCount != 0) + { + if (m_fPrevX < 0 || m_fPrevZ < 0) + { + TRACE("### Npc-NpcBack Fail-1 : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), m_fPrevX, m_fPrevZ); + } + else + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + } + } + + if (IsMovingEnd()) + { + m_curx = m_fPrevX; + m_curz = m_fPrevZ; + + if (GetX() < 0 || GetZ() < 0) + TRACE("Npc-NpcBack-2 : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), GetX(), GetZ()); + + SendMoveResult(GetX(), GetY(), GetZ()); + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + if ( (!m_bPathFlag && !StepMove()) + || (m_bPathFlag && !StepNoPathMove())) + { + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + SendMoveResult(m_fPrevX, m_fPrevY, m_fPrevZ, (float)m_sSpeed / 1000); + return m_sSpeed; +} + +bool CNpc::SetLive() +{ + /* Kontrolu buraya koyucaz csw icin*/ + if (GetZoneID() == ZONE_DELOS + && GetProto()->m_sSid != 541 + && g_pMain->CSWOpen) + return false; + + int i = 0, j = 0; + m_iHP = m_iMaxHP; + m_sMP = m_sMaxMP; + m_iPattenFrame = 0; + m_bStopFollowingTarget = false; + m_byActionFlag = NO_ACTION; + m_byMaxDamagedNation = 0; + + m_sRegionX = m_sRegionZ = -1; + m_fAdd_x = 0.0f; m_fAdd_z = 0.0f; + m_fStartPoint_X = 0.0f; m_fStartPoint_Y = 0.0f; + m_fEndPoint_X = 0.0f; m_fEndPoint_Y = 0.0f; + m_min_x = m_min_y = m_max_x = m_max_y = 0; + + InitTarget(); + ClearPathFindData(); + InitUserList(); + //InitPos(); + + CNpc* pNpc = nullptr; + + if (m_bIsEventNpc && !m_bFirstLive) + { + m_bDelete = true; + return true; + } + + MAP* pMap = GetMap(); + if (pMap == nullptr) + return false; + + if (m_bFirstLive) + { + m_nInitX = m_fPrevX = GetX(); + m_nInitY = m_fPrevY = GetY(); + m_nInitZ = m_fPrevZ = GetZ(); + } + + if (GetX() < 0 || GetZ() < 0) + TRACE("Npc-SetLive-1 : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), GetX(), GetZ()); + + int dest_x = (int)m_nInitX / TILE_SIZE; + int dest_z = (int)m_nInitZ / TILE_SIZE; + + bool bMove = pMap->IsMovable(dest_x, dest_z); + + if (GetType() != NPCTYPE_MONSTER /*|| m_bIsEventNpc*/) + { + m_curx = m_fPrevX = m_nInitX; + m_cury = m_fPrevY = m_nInitY; + m_curz = m_fPrevZ = m_nInitZ; + } + else + { + int nX = 0; + int nZ = 0; + int nTileX = 0; + int nTileZ = 0; + int nRandom = 0; + + while (1) + { + i++; + nRandom = abs(m_nInitMinX - m_nInitMaxX); + if (nRandom <= 1) + nX = m_nInitMinX; + else + { + if (m_nInitMinX < m_nInitMaxX) + nX = myrand(m_nInitMinX, m_nInitMaxX); + else + nX = myrand(m_nInitMaxX, m_nInitMinX); + } + nRandom = abs(m_nInitMinY - m_nInitMaxY); + if (nRandom <= 1) + nZ = m_nInitMinY; + else + { + if (m_nInitMinY < m_nInitMaxY) + nZ = myrand(m_nInitMinY, m_nInitMaxY); + else + nZ = myrand(m_nInitMaxY, m_nInitMinY); + } + + nTileX = nX / TILE_SIZE; + nTileZ = nZ / TILE_SIZE; + + if (nTileX >= pMap->GetMapSize()) + nTileX = pMap->GetMapSize(); + if (nTileZ >= pMap->GetMapSize()) + nTileZ = pMap->GetMapSize(); + + if (nTileX < 0 || nTileZ < 0) + { + TRACE("#### Npc-SetLive() Fail : nTileX=%d, nTileZ=%d #####\n", nTileX, nTileZ); + return false; + } + + m_nInitX = m_fPrevX = m_curx = (float)nX; + m_nInitZ = m_fPrevZ = m_curz = (float)nZ; + + if (GetX() < 0 || GetZ() < 0) + TRACE("Npc-SetLive-2 : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), GetX(), GetZ()); + + break; + } + } + + m_fHPChangeTime = getMSTime(); + m_tFaintingTime = 0; + + if (GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + { + m_byActType = 4; + m_bySearchRange = myrand(200,255); + } + + if (m_bFirstLive) + { + switch (m_byActType) + { + case 1: + case 2: + m_tNpcAttType = TENDER_ATTACK_TYPE; + break; + + case 3: + case 4: + m_bHasFriends = true; // yay! + m_tNpcAttType = ATROCITY_ATTACK_TYPE; + break; + + case 6: + break; + + default: + m_tNpcAttType = ATROCITY_ATTACK_TYPE; + } + + m_bFirstLive = false; + + if (g_pMain->m_CurrentNPC.increment() == g_pMain->m_TotalNPC + && !m_bIsEventNpc) + { + printf("Monster All Init Success - %d\n", (uint16) g_pMain->m_TotalNPC); + g_pMain->GameServerAcceptThread(); + } + } + + if (m_byMoveType == 2 && m_sMaxPathCount == 2) + { + __Vector3 vS, vE, vDir; + float fDir; + vS.Set((float)m_PathList.pPattenPos[0].x, 0, (float)m_PathList.pPattenPos[0].z); + vE.Set((float)m_PathList.pPattenPos[1].x, 0, (float)m_PathList.pPattenPos[1].z); + vDir = vE - vS; + vDir.Normalize(); + Yaw2D(vDir.x, vDir.z, fDir); + m_byDirection = (int16)fDir; + } + + RegisterRegion(GetX(), GetZ()); + m_byDeadType = 0; + + SendNpcInfo(); + return true; +} + +bool CNpc::RandomMove() +{ + m_fSecForMetor = m_fSpeed_1; + + if (GetMap() == nullptr + || m_bySearchRange == 0 + || m_byMoveType == 0 + || m_byMoveType == 4) + return false; + + float fDestX = -1.0f, fDestZ = -1.0f; + int max_xx = GetMap()->GetMapSize(); + int max_zz = GetMap()->GetMapSize(); + int x = 0, y = 0; + + __Vector3 vStart, vEnd, vNewPos; + float fDis = 0.0f; + + int nPathCount = 0; + + int random_x = 0, random_z = 0; + + if (m_byMoveType == 1) + { + random_x = 4; + random_z = 4; + + switch (m_iPattenFrame) + { + case -4: + fDestX = GetX() + m_pPattenPos.x - (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z - (float)random_z/2; + m_iPattenFrame = 0; + break; + case -3: + fDestX = GetX() + m_pPattenPos.x - (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z - (float)random_z/2; + m_iPattenFrame--; + break; + case -2: + fDestX = GetX() + m_pPattenPos.x + (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z + (float)random_z/2; + m_iPattenFrame--; + break; + case -1: + fDestX = GetX() + m_pPattenPos.x + (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z + (float)random_z/2; + m_iPattenFrame--; + break; + case 0: + fDestX = (short)m_nInitX; + fDestZ = (short)m_nInitZ; + m_iPattenFrame = myrand(-1,1); + break; + case 1: + fDestX = GetX() + m_pPattenPos.x + (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z + (float)random_z/2; + m_iPattenFrame++; + break; + case 2: + fDestX = GetX() + m_pPattenPos.x + (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z + (float)random_z/2; + m_iPattenFrame++; + break; + case 3: + fDestX = GetX() + m_pPattenPos.x - (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z - (float)random_z/2; + m_iPattenFrame++; + break; + case 4: + fDestX = GetX() + m_pPattenPos.x - (float)random_x/2; + fDestZ = GetZ() + m_pPattenPos.z - (float)random_z/2; + m_iPattenFrame = 0; + break; + } + + vStart.Set(GetX(), GetY(), GetZ()); + vEnd.Set(fDestX, 0, fDestZ); + fDis = GetDistance(vStart, vEnd); + + + GetVectorPosition(vStart, vEnd, fDis > m_fSecForMetor ? m_fSecForMetor : fDis, &vNewPos); + fDestX = vNewPos.x; + fDestZ = vNewPos.z; + + + } + else if (m_byMoveType == 2) + { + if (IsInPathRange() == false) + { + nPathCount = GetNearPathPoint(); + m_sRealPathCount = nPathCount; + if (!isInRangeSlow((float)m_PathList.pPattenPos[GetMyPath()].x + m_fBattlePos_x, (float)m_PathList.pPattenPos[GetMyPath()].z + m_fBattlePos_z,m_fSecForMetor)) + { + vStart.Set(GetX(), GetY(), GetZ()); + fDestX = (float)m_PathList.pPattenPos[GetMyPath()].x; + fDestZ = (float)m_PathList.pPattenPos[GetMyPath()].z; + vEnd.Set(fDestX, 0, fDestZ); + fDis = GetDistance(vStart, vEnd); + GetVectorPosition(vStart, vEnd, fDis > m_fSecForMetor ? m_fSecForMetor : fDis, &vNewPos); + fDestX = vNewPos.x; + fDestZ = vNewPos.z; + } + else + { + fDestX = (float)m_PathList.pPattenPos[GetMyPath()].x; + fDestZ = (float)m_PathList.pPattenPos[GetMyPath()].z; + + if((m_sRealPathCount+1) == m_sMaxPathCount) + m_sRealPathCount = -m_sRealPathCount; + + m_sRealPathCount++; + } + } + else + { + vStart.Set(GetX(), GetY(), GetZ()); + fDestX = (float)m_PathList.pPattenPos[GetMyPath()].x; + fDestZ = (float)m_PathList.pPattenPos[GetMyPath()].z; + vEnd.Set(fDestX, 0, fDestZ); + fDis = GetDistance(vStart, vEnd); + GetVectorPosition(vStart, vEnd, fDis > m_fSecForMetor ? m_fSecForMetor : fDis, &vNewPos); + fDestX = vNewPos.x; + fDestZ = vNewPos.z; + if((m_sRealPathCount+1) == m_sMaxPathCount) + m_sRealPathCount = -m_sRealPathCount; + m_sRealPathCount++; + } + + + } + + vStart.Set(GetX(), 0, GetZ()); + vEnd.Set(fDestX, 0, fDestZ); + + if (GetX() < 0 || GetZ() < 0 || fDestX < 0 || fDestZ < 0) + { + /*TRACE("##### RandomMove Fail : value is negative.. [nid = %d, name=%s], cur_x=%.2f, z=%.2f, dest_x=%.2f, dest_z=%.2f#####\n", + GetID(), GetName().c_str(), GetX(), GetZ(), fDestX, fDestZ);*/ + return false; + } + + int mapWidth = (int)(max_xx * GetMap()->GetUnitDistance()); + + if (GetX() >= mapWidth || GetZ() >= mapWidth || fDestX >= mapWidth || fDestZ >= mapWidth) + { + /*TRACE("##### RandomMove Fail : value is overflow .. [nid = %d, name=%s], cur_x=%.2f, z=%.2f, dest_x=%.2f, dest_z=%.2f#####\n", + GetID(), GetName().c_str(), GetX(), GetZ(), fDestX, fDestZ);*/ + return false; + } + + if (GetType() == NPC_DUNGEON_MONSTER + && !isInSpawnRange((int)fDestX, (int)fDestZ)) + return false; + + fDis = GetDistance(vStart, vEnd); + + if (fDis <= m_fSecForMetor) + { + ClearPathFindData(); + m_fStartPoint_X = GetX(); + m_fStartPoint_Y = GetZ(); + m_fEndPoint_X = fDestX; + m_fEndPoint_Y = fDestZ; + m_bPathFlag = true; + m_iAniFrameIndex = 1; + m_pPoint[0].fXPos = m_fEndPoint_X; + m_pPoint[0].fZPos = m_fEndPoint_Y; + return true; + } + + float fTempRange = (float)fDis+2; + int min_x = (int)(GetX() - fTempRange)/TILE_SIZE; if(min_x < 0) min_x = 0; + int min_z = (int)(GetZ() - fTempRange)/TILE_SIZE; if(min_z < 0) min_z = 0; + int max_x = (int)(GetX() + fTempRange)/TILE_SIZE; if(max_x >= max_xx) max_x = max_xx - 1; + int max_z = (int)(GetZ() + fTempRange)/TILE_SIZE; if(min_z >= max_zz) min_z = max_zz - 1; + + CPoint start, end; + start.x = (int)(GetX()/TILE_SIZE) - min_x; + start.y = (int)(GetZ()/TILE_SIZE) - min_z; + end.x = (int)(fDestX/TILE_SIZE) - min_x; + end.y = (int)(fDestZ/TILE_SIZE) - min_z; + + if(start.x < 0 || start.y < 0 || end.x < 0 || end.y < 0) return false; + + m_fStartPoint_X = GetX(); m_fStartPoint_Y = GetZ(); + m_fEndPoint_X = fDestX; m_fEndPoint_Y = fDestZ; + + m_min_x = min_x; + m_min_y = min_z; + m_max_x = max_x; + m_max_y = max_z; + + if (m_byMoveType == 2 || m_byMoveType == 3) + { + IsNoPathFind(m_fSecForMetor); + return true; + } + + return PathFind(start, end, m_fSecForMetor) == 1; +} + + +bool CNpc::RandomBackMove() +{ + m_fSecForMetor = m_fSpeed_1; + + if (m_bySearchRange == 0) return false; + + float fDestX = -1.0f, fDestZ = -1.0f; + if (GetMap() == nullptr) + { + TRACE("#### Npc-RandomBackMove Zone Fail : [name=%s], zone=%d #####\n", GetName().c_str(), GetZoneID()); + return false; + } + + int max_xx = GetMap()->GetMapSize(); + int max_zz = GetMap()->GetMapSize(); + int x = 0, y = 0; + float fTempRange = (float)m_bySearchRange*2; + int min_x = (int)(GetX() - fTempRange)/TILE_SIZE; if(min_x < 0) min_x = 0; + int min_z = (int)(GetZ() - fTempRange)/TILE_SIZE; if(min_z < 0) min_z = 0; + int max_x = (int)(GetX() + fTempRange)/TILE_SIZE; if(max_x > max_xx) max_x = max_xx; + int max_z = (int)(GetZ() + fTempRange)/TILE_SIZE; if(max_z > max_zz) max_z = max_zz; + + __Vector3 vStart, vEnd, vEnd22; + float fDis = 0.0f; + vStart.Set(GetX(), GetY(), GetZ()); + + uint16 nID = m_Target.id; // Target À» ±¸ÇÑ´Ù. + CUser* pUser = nullptr; + + int iDir = 0; + + int iRandomX = 0, iRandomZ = 0, iRandomValue=0; + iRandomValue = rand() % 2; + + // Head towards player + if (nID < NPC_BAND) + { + pUser = g_pMain->GetUserPtr(nID); + if (pUser == nullptr) + return false; + + if((int)pUser->GetX() != (int)GetX()) + { + iRandomX = myrand((int)m_bySearchRange, (int)(m_bySearchRange*1.5)); + iRandomZ = myrand(0, (int)m_bySearchRange); + + if((int)pUser->GetX() > (int)GetX()) + iDir = 1; + else + iDir = 2; + } + else // zÃàÀ¸·Î + { + iRandomZ = myrand((int)m_bySearchRange, (int)(m_bySearchRange*1.5)); + iRandomX = myrand(0, (int)m_bySearchRange); + if((int)pUser->GetZ() > (int)GetZ()) + iDir = 3; + else + iDir = 4; + } + + switch(iDir) + { + case 1: + fDestX = GetX() - iRandomX; + if(iRandomValue == 0) + fDestZ = GetZ() - iRandomX; + else + fDestZ = GetZ() + iRandomX; + break; + case 2: + fDestX = GetX() + iRandomX; + if(iRandomValue == 0) + fDestZ = GetZ() - iRandomX; + else + fDestZ = GetZ() + iRandomX; + break; + case 3: + fDestZ = GetZ() - iRandomX; + if(iRandomValue == 0) + fDestX = GetX() - iRandomX; + else + fDestX = GetX() + iRandomX; + break; + case 4: + fDestZ = GetZ() - iRandomX; + if(iRandomValue == 0) + fDestX = GetX() - iRandomX; + else + fDestX = GetX() + iRandomX; + break; + } + + vEnd.Set(fDestX, 0, fDestZ); + fDis = GetDistance(vStart, vEnd); + + GetVectorPosition(vStart, vEnd, fDis > m_fSecForMetor ? m_fSecForMetor : fDis, &vEnd22); + fDestX = vEnd22.x; + fDestZ = vEnd22.z; + } + // Head towards monster/NPC + else + { + } + + CPoint start, end; + start.x = (int)(GetX()/TILE_SIZE) - min_x; + start.y = (int)(GetZ()/TILE_SIZE) - min_z; + end.x = (int)(fDestX/TILE_SIZE) - min_x; + end.y = (int)(fDestZ/TILE_SIZE) - min_z; + + if (start.x < 0 || start.y < 0 || end.x < 0 || end.y < 0) + return false; + + m_fStartPoint_X = GetX(); m_fStartPoint_Y = GetZ(); + m_fEndPoint_X = fDestX; m_fEndPoint_Y = fDestZ; + + m_min_x = min_x; + m_min_y = min_z; + m_max_x = max_x; + m_max_y = max_z; + + int nValue = PathFind(start, end, m_fSecForMetor); + if (nValue == 1) + return true; + + return false; +} + +bool CNpc::IsInPathRange() +{ + + static const float fPathRange = 40.0f; + return isInRangeSlow((float)m_PathList.pPattenPos[GetMyPath()].x + m_fBattlePos_x, + (float)m_PathList.pPattenPos[GetMyPath()].z + m_fBattlePos_z, + fPathRange + 1); +} + +int CNpc::GetNearPathPoint() +{ + int Number = 0; + float Range = 0.0f, myR = 0.0f; + foreach_array(i,m_PathList.pPattenPos) + { + _PattenPos * pPos = &m_PathList.pPattenPos[i]; + + if(pPos->x < 1 + || pPos->z < 1) + continue; + + __Vector3 vTarget, vNpc; + vNpc.Set(GetX(),0,GetZ()); + vTarget.Set(pPos->x, 0, pPos->z); + myR = GetDistance(vNpc,vTarget); + if((myR < Range || Range == 0.0f) && myR > 0.0f) + { + Range = myR; + Number = i; + } + } + + int myRRR = myrand(0,10000); + if(myRRR > 5000) + Number = -Number; + + return Number; +} + +bool CNpc::isInSpawnRange(int nX, int nZ) +{ + CRect r(m_nLimitMinX, m_nLimitMinZ, m_nLimitMaxX, m_nLimitMaxZ); + return r.PtInRect(nX, nZ); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// PathFind ¸¦ ¼öÇàÇÑ´Ù. +// +int CNpc::PathFind(CPoint start, CPoint end, float fDistance) +{ + ClearPathFindData(); + + if (start.x < 0 || start.y < 0 + || end.x < 0 || end.y < 0) + return -1; + + if (start.x == end.x && start.y == end.y) + { + m_bPathFlag = true; + m_iAniFrameIndex = 1; + m_pPoint[0].fXPos = m_fEndPoint_X; + m_pPoint[0].fZPos = m_fEndPoint_Y; + return 1; + } + + if (IsPathFindCheck(fDistance)) + { + m_bPathFlag = true; + return 1; + } + + m_vMapSize.cx = m_max_x - m_min_x + 1; + m_vMapSize.cy = m_max_y - m_min_y + 1; + + m_pPath = nullptr; + + m_vPathFind.SetMap(m_vMapSize.cx, m_vMapSize.cy, GetMap(), m_min_x, m_min_y); + m_pPath = m_vPathFind.FindPath(end.x, end.y, start.x, start.y); + + int count = 0; + while (m_pPath != nullptr) + { + m_pPath = m_pPath->Parent; + if (m_pPath == nullptr) + break; + + m_pPoint[count].pPoint.x = m_pPath->x + m_min_x; + m_pPoint[count++].pPoint.y = m_pPath->y + m_min_y; + } + + if (count <= 0 || count >= MAX_PATH_LINE) + return 0; + + m_iAniFrameIndex = count - 1; + int nAdd = GetDir(m_fStartPoint_X, m_fStartPoint_Y, m_fEndPoint_X, m_fEndPoint_Y); + + for (int i = 0; i < count; i++) + { + if (i == (count - 1)) + { + m_pPoint[i].fXPos = m_fEndPoint_X; + m_pPoint[i].fZPos = m_fEndPoint_Y; + } + else + { + m_pPoint[i].fXPos = (float)(m_pPoint[i].pPoint.x * TILE_SIZE + m_fAdd_x); + m_pPoint[i].fZPos = (float)(m_pPoint[i].pPoint.y * TILE_SIZE + m_fAdd_z); + } + } + + return 1; +} + +void CNpc::Dead(Unit * pKiller /*= nullptr*/, bool bSendDeathPacket /*= false*/) +{ + MAP* pMap = GetMap(); + if (pMap == nullptr) + return; + + m_iHP = 0; + m_NpcState = NPC_DEAD; + m_Delay = m_sRegenTime; + m_bFirstLive = false; + m_byDeadType = 100; // ÀüÀïÀ̺¥Æ®Áß¿¡¼­ Á×´Â °æ¿ì + + if (GetRegionX() > pMap->GetXRegionMax() || GetRegionZ() > pMap->GetZRegionMax()) + { + TRACE("#### Npc-Dead() Fail : [nid=%d, sid=%d], nRX=%d, nRZ=%d #####\n", + GetID(), GetProtoID(), GetRegionX(), GetRegionZ()); + return; + } + + pMap->RegionNpcRemove(GetRegionX(), GetRegionZ(), GetID()); + + if (bSendDeathPacket) + { + + SendExpToUserList(); + SendDeathAnimation(pKiller); + if (isShowBox()) + GiveNpcHaveItem(); + } +} + +bool CNpc::isShowBox() +{ + uint8 bType = GetType(); + + if (bType == NPC_CHAOS_STONE + || bType == NPC_PVP_MONUMENT + || bType == NPC_BORDER_MONUMENT + || bType == NPC_BIFROST_MONUMENT + || bType == NPC_GUARD_TOWER1 + || bType == NPC_GUARD_TOWER2 + || bType == NPC_SCARECROW + || bType == NPC_KARUS_WARDER1 + || bType == NPC_KARUS_WARDER2 + || bType == NPC_ELMORAD_WARDER1 + || bType == NPC_ELMORAD_WARDER2 + || bType == NPC_KARUS_GATEKEEPER + || bType == NPC_ELMORAD_GATEKEEPER + || bType == NPC_BATTLE_MONUMENT + || bType == NPC_KARUS_MONUMENT + || bType == NPC_HUMAN_MONUMENT + || GetZoneID() == ZONE_FORGOTTEN_TEMPLE + || GetZoneID() == ZONE_PRISON + || nIsPet) + return false; + + return true; +} + +bool CNpc::FindEnemy() +{ + if (isNonAttackingObject()) + return false; + + bool bIsGuard = isGuard(); + + // We shouldn't really need this anymore... + bool bIsNeutralZone = (GetZoneID() == ZONE_MORADONM2 || GetZoneID() == ZONE_MORADON || GetZoneID() == ZONE_ARENA); + + // Disable AI enemy finding (of users) in neutral zones. + // Guards and monsters are, however, allowed. + if (!isMonster() + && !bIsGuard + && bIsNeutralZone) + return false; + + // Healer Npc + int iMonsterNid = 0; + if (isHealer()) + { + iMonsterNid = FindFriend(MonSearchNeedsHealing); + if (iMonsterNid != 0) + return true; + } + + MAP* pMap = GetMap(); + if (pMap == nullptr) return false; + CUser *pUser = nullptr; + CNpc *pNpc = nullptr; + + int target_uid = 0; + __Vector3 vUser, vNpc; + float fDis = 0.0f; + float fCompareDis = 0.0f; + vNpc.Set(GetX(), GetY(), GetZ()); + + float fSearchRange = (float)m_bySearchRange; + + int iExpand = FindEnemyRegion(); + + if (GetRegionX() > pMap->GetXRegionMax() + || GetRegionZ() > pMap->GetZRegionMax()) + return false; + + /*** If we're a monster, we can find user enemies anywhere. If we're an NPC, we must not be friendly. ***/ + if (isMonster() + || (!GetMap()->areNPCsFriendly() || GetNation() != Nation::ALL)) + { + fCompareDis = FindEnemyExpand(GetRegionX(), GetRegionZ(), fCompareDis, UnitPlayer); + + int x=0, y=0; + // ÀÌ¿ôÇØ ÀÖ´Â RegionÀ» °Ë»öÇØ¼­,, ¸óÀÇ À§Ä¡¿Í Á¦ÀÏ °¡±î¿î UserÀ» ÇâÇØ.. À̵¿.. + for(int l=0; l<4; l++) + { + if(m_iFind_X[l] == 0 && m_iFind_Y[l] == 0) continue; + + x = GetRegionX() + (m_iFind_X[l]); + y = GetRegionZ() + (m_iFind_Y[l]); + + // À̺κР¼öÁ¤¿ä¸Á,, + if (x < 0 + || y < 0 + || x > pMap->GetXRegionMax() + || y > pMap->GetZRegionMax()) + continue; + + fCompareDis = FindEnemyExpand(x, y, fCompareDis, UnitPlayer); + } + + if (hasTarget() && (fCompareDis <= fSearchRange)) + return true; + + fCompareDis = 0.0f; + } + + /*** Only find NPC/mob enemies if we are a guard ***/ + if (bIsGuard) // || GetType() == NPCTYPE_MONSTER) + { + fCompareDis = FindEnemyExpand(GetRegionX(), GetRegionZ(), fCompareDis, UnitNPC); + + int x=0, y=0; + + // ÀÌ¿ôÇØ ÀÖ´Â RegionÀ» °Ë»öÇØ¼­,, ¸óÀÇ À§Ä¡¿Í Á¦ÀÏ °¡±î¿î UserÀ» ÇâÇØ.. À̵¿.. + for(int l=0; l<4; l++) { + if(m_iFind_X[l] == 0 && m_iFind_Y[l] == 0) continue; + + x = GetRegionX() + (m_iFind_X[l]); + y = GetRegionZ() + (m_iFind_Y[l]); + + // À̺κР¼öÁ¤¿ä¸Á,, + if(x < 0 || y < 0 || x > pMap->GetXRegionMax() || y > pMap->GetZRegionMax()) continue; + + fCompareDis = FindEnemyExpand(x, y, fCompareDis, UnitNPC); + } + + if (hasTarget() && (fCompareDis <= fSearchRange)) + return true; + } + + // ¾Æ¹«µµ ¾øÀ¸¹Ç·Î ¸®½ºÆ®¿¡ °ü¸®ÇÏ´Â À¯Àú¸¦ ÃʱâÈ­ÇÑ´Ù. + InitUserList(); + InitTarget(); + return false; +} + +// Npc°¡ À¯Àú¸¦ °Ë»öÇÒ¶§ ¾î´À Region±îÁö °Ë»öÇØ¾ß ÇÏ´ÂÁö¸¦ ÆÇ´Ü.. +int CNpc::FindEnemyRegion() +{ + /* + 1 2 3 + 4 0 5 + 6 7 8 + */ + int iRetValue = 0; + int iSX = GetRegionX() * VIEW_DIST; + int iSZ = GetRegionZ() * VIEW_DIST; + int iEX = (GetRegionX()+1) * VIEW_DIST; + int iEZ = (GetRegionZ()+1) * VIEW_DIST; + int iSearchRange = m_bySearchRange; + int iCurSX = (int)GetX() - m_bySearchRange; + int iCurSY = (int)GetX() - m_bySearchRange; + int iCurEX = (int)GetX() + m_bySearchRange; + int iCurEY = (int)GetX() + m_bySearchRange; + + int iMyPos = GetMyField(); + + switch(iMyPos) + { + case 1: + if((iCurSX < iSX) && (iCurSY < iSZ)) + iRetValue = 1; + else if((iCurSX > iSX) && (iCurSY < iSZ)) + iRetValue = 2; + else if((iCurSX < iSX) && (iCurSY > iSZ)) + iRetValue = 4; + else if((iCurSX >= iSX) && (iCurSY >= iSZ)) + iRetValue = 0; + break; + case 2: + if((iCurEX < iEX) && (iCurSY < iSZ)) + iRetValue = 2; + else if((iCurEX > iEX) && (iCurSY < iSZ)) + iRetValue = 3; + else if((iCurEX <= iEX) && (iCurSY >= iSZ)) + iRetValue = 0; + else if((iCurEX > iEX) && (iCurSY > iSZ)) + iRetValue = 5; + break; + case 3: + if((iCurSX < iSX) && (iCurEY < iEZ)) + iRetValue = 4; + else if((iCurSX >= iSX) && (iCurEY <= iEZ)) + iRetValue = 0; + else if((iCurSX < iSX) && (iCurEY > iEZ)) + iRetValue = 6; + else if((iCurSX > iSX) && (iCurEY > iEZ)) + iRetValue = 7; + break; + case 4: + if((iCurEX <= iEX) && (iCurEY <= iEZ)) + iRetValue = 0; + else if((iCurEX > iEX) && (iCurEY < iEZ)) + iRetValue = 5; + else if((iCurEX < iEX) && (iCurEY > iEZ)) + iRetValue = 7; + else if((iCurEX > iEX) && (iCurEY > iEZ)) + iRetValue = 8; + break; + } + + if(iRetValue <= 0) // Àӽ÷Πº¸Á¤(¹®Á¦½Ã),, Çϱâ À§ÇѰÍ.. + iRetValue = 0; + + switch(iRetValue) + { + case 0: + m_iFind_X[0] = 0; m_iFind_Y[0] = 0; + m_iFind_X[1] = 0; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 0; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 1: + m_iFind_X[0] = -1; m_iFind_Y[0] = -1; + m_iFind_X[1] = 0; m_iFind_Y[1] = -1; + m_iFind_X[2] = -1; m_iFind_Y[2] = 0; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 2: + m_iFind_X[0] = 0; m_iFind_Y[0] = -1; + m_iFind_X[1] = 0; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 0; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 3: + m_iFind_X[0] = 0; m_iFind_Y[0] = 0; + m_iFind_X[1] = 1; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 1; + m_iFind_X[3] = 1; m_iFind_Y[3] = 1; + break; + case 4: + m_iFind_X[0] = -1; m_iFind_Y[0] = 0; + m_iFind_X[1] = 0; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 0; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 5: + m_iFind_X[0] = 0; m_iFind_Y[0] = 0; + m_iFind_X[1] = 1; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 0; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 6: + m_iFind_X[0] = -1; m_iFind_Y[0] = 0; + m_iFind_X[1] = 0; m_iFind_Y[1] = 0; + m_iFind_X[2] = -1; m_iFind_Y[2] = 1; + m_iFind_X[3] = 0; m_iFind_Y[3] = 1; + break; + case 7: + m_iFind_X[0] = 0; m_iFind_Y[0] = 0; + m_iFind_X[1] = 0; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 1; + m_iFind_X[3] = 0; m_iFind_Y[3] = 0; + break; + case 8: + m_iFind_X[0] = 0; m_iFind_Y[0] = 0; + m_iFind_X[1] = 1; m_iFind_Y[1] = 0; + m_iFind_X[2] = 0; m_iFind_Y[2] = 1; + m_iFind_X[3] = 1; m_iFind_Y[3] = 1; + break; + } + + return iRetValue; +} + +float CNpc::FindEnemyExpand(int nRX, int nRZ, float fCompDis, UnitType unitType) +{ + MAP* pMap = GetMap(); + float fDis = 0.0f; + if(pMap == nullptr) return fDis; + float fComp = fCompDis; + float fSearchRange = (float)m_bySearchRange; + uint16 target_uid; + __Vector3 vUser, vNpc, vMon; + vNpc.Set(GetX(), GetY(), GetZ()); + + // Finding players + if (unitType == UnitPlayer) + { + Guard lock(pMap->m_lock); + CRegion *pRegion = &pMap->m_ppRegion[nRX][nRZ]; + + if (pRegion == nullptr || (pRegion && pRegion->m_RegionUserArray.IsEmpty())) + return 0.0f; + + foreach_stlmap (itr, pRegion->m_RegionUserArray) + { + CUser *pUser = g_pMain->GetUserPtr(*itr->second); + if (pUser == nullptr + || pUser->isDead() + || !CanAttack(pUser) + || pUser->m_bInvisibilityType + || pUser->isGM() + || GetNation() == Nation::ALL + || pUser->GetEventRoom() != GetEventRoom() + || (m_tNpcAttType == ATROCITY_ATTACK_TYPE && !IsDamagedUserList(pUser) && pUser->m_transformationType == TransformationMonster))//Transform + continue; + + float fDis = Unit::GetDistanceSqrt(pUser); + if (fDis > fSearchRange + || fDis < fComp) + continue; + + target_uid = pUser->GetID(); + fComp = fDis; + + // Aggressive spawns don't mind attacking first. + if (m_tNpcAttType == ATROCITY_ATTACK_TYPE + // Passive spawns will only attack if they've been attacked first, or they've got backup! (Cowards!) + || (m_tNpcAttType == TENDER_ATTACK_TYPE && (IsDamagedUserList(pUser) || (m_bHasFriends && m_Target.id == target_uid)))) + { + m_Target.id = target_uid; + m_Target.bSet = true; + m_Target.x = pUser->GetX(); + m_Target.y = pUser->GetY(); + m_Target.z = pUser->GetZ(); + } + } + + } + // Finding NPCs/monsters + else if (unitType == UnitNPC) + { + Guard lock(pMap->m_lock); + CRegion *pRegion = &pMap->m_ppRegion[nRX][nRZ]; + + if (pRegion == nullptr || (pRegion && pRegion->m_RegionNpcArray.IsEmpty())) + return 0.0f; + + foreach_stlmap (itr, pRegion->m_RegionNpcArray) + { + int nNpcid = *itr->second; + if( nNpcid < NPC_BAND ) continue; + CNpc *pNpc = g_pMain->GetNpcPtr(nNpcid); + + if (pNpc == nullptr + || pNpc == this + || pNpc->isDead() + || pNpc->GetNation() == Nation::ALL + || pNpc->isNonAttackableObject() + || !isHostileTo(pNpc)) + continue; + + vMon.Set(pNpc->GetX(), pNpc->GetY(), pNpc->GetZ()); + fDis = GetDistance(vMon, vNpc); + + if (fDis > fSearchRange || fDis < fComp) + continue; + + target_uid = nNpcid; + fComp = fDis; + m_Target.id = target_uid; + m_Target.bSet = true; + m_Target.x = pNpc->GetX(); + m_Target.y = pNpc->GetY(); + m_Target.z = pNpc->GetZ(); + } + } + + return fComp; +} + +// regionÀ» 4µîºĞÇØ¼­ ¸ó½ºÅÍÀÇ ÇöÀç À§Ä¡°¡ regionÀÇ ¾î´À ºÎºĞ¿¡ µé¾î°¡´ÂÁö¸¦ ÆÇ´Ü +int CNpc::GetMyField() +{ + int iRet = 0; + int iX = GetRegionX() * VIEW_DIST; + int iZ = GetRegionZ() * VIEW_DIST; + int iAdd = VIEW_DIST / 2; + int iCurX = (int)GetX(); // monster current position_x + int iCurZ = (int)GetZ(); + if(COMPARE(iCurX, iX, iX+iAdd) && COMPARE(iCurZ, iZ, iZ+iAdd)) + iRet = 1; + else if(COMPARE(iCurX, iX+iAdd, iX+VIEW_DIST) && COMPARE(iCurZ, iZ, iZ+iAdd)) + iRet = 2; + else if(COMPARE(iCurX, iX, iX+iAdd) && COMPARE(iCurZ, iZ+iAdd, iZ+VIEW_DIST)) + iRet = 3; + else if(COMPARE(iCurX, iX+iAdd, iX+VIEW_DIST) && COMPARE(iCurZ, iZ+iAdd, iZ+VIEW_DIST)) + iRet = 4; + + return iRet; +} + +bool CNpc::IsDamagedUserList(CUser *pUser) +{ + if (pUser == nullptr) + return false; + + if (m_DamagedUserListCount == 0) + return false; + + + for (int i = 0; i < NPC_HAVE_USER_LIST; i++){ + if (m_DamagedUserList[i].GetID == pUser->GetID()) + return true; + } + + return false; +} + +int CNpc::IsSurround(CUser* pUser) +{ + if (GetProto()->m_byDirectAttack) + return 0; + + if(pUser == nullptr) return -2; // User°¡ ¾øÀ¸¹Ç·Î Ÿ°ÙÁöÁ¤ ½ÇÆĞ.. + int nDir = pUser->IsSurroundCheck(GetX(), 0.0f, GetZ(), GetID()); + if(nDir != 0) + { + m_byAttackPos = nDir; + return nDir; + } + return -1; // Ÿ°ÙÀÌ µÑ·¯ ½×¿© ÀÖÀ½... +} + +// Path Find ·Î ãÀº±æÀ» ´Ù À̵¿ Çß´ÂÁö ÆÇ´Ü +bool CNpc::IsMovingEnd() +{ + if (m_fPrevX == m_fEndPoint_X && m_fPrevZ == m_fEndPoint_Y) + { + //m_sStepCount = 0; + m_iAniFrameCount = 0; + return true; + } + + return false; +} + +// Step ¼ö ¸¸Å­ ŸÄÏÀ» ÇâÇØ À̵¿ÇÑ´Ù. +bool CNpc::StepMove() +{ + m_fSecForMetor = m_fSpeed_1; + + if(m_NpcState != NPC_MOVING && m_NpcState != NPC_TRACING && m_NpcState != NPC_BACK) return false; + + __Vector3 vStart, vEnd, vDis; + float fDis; + + float fOldCurX = 0.0f, fOldCurZ = 0.0f; + + if(m_sStepCount == 0) { + fOldCurX = GetX(); fOldCurZ = GetZ(); + } + else { + fOldCurX = m_fPrevX; fOldCurZ = m_fPrevZ; + } + + vStart.Set(fOldCurX, 0, fOldCurZ); + vEnd.Set(m_pPoint[m_iAniFrameCount].fXPos, 0, m_pPoint[m_iAniFrameCount].fZPos); + + // ¾ÈÀü ÄÚµå.. + if(m_pPoint[m_iAniFrameCount].fXPos < 0 || m_pPoint[m_iAniFrameCount].fZPos < 0) + { + m_fPrevX = m_fEndPoint_X; + m_fPrevZ = m_fEndPoint_Y; + + RegisterRegion(m_fPrevX, m_fPrevZ); + return false; + } + + fDis = GetDistance(vStart, vEnd); + if (fDis > m_fSecForMetor) + { + GetVectorPosition(vStart, vEnd, m_fSecForMetor, &vDis); + m_fPrevX = vDis.x; + m_fPrevZ = vDis.z; + } + else + { + m_iAniFrameCount++; + if(m_iAniFrameCount == m_iAniFrameIndex) + { + vEnd.Set(m_pPoint[m_iAniFrameCount].fXPos, 0, m_pPoint[m_iAniFrameCount].fZPos); + fDis = GetDistance(vStart, vEnd); + // ¸¶Áö¸· ÁÂÇ¥´Â m_fSecForMetor ~ m_fSecForMetor+1 »çÀ̵µ °¡´ÉÇÏ°Ô À̵¿ + if(fDis > m_fSecForMetor) + { + GetVectorPosition(vStart, vEnd, m_fSecForMetor, &vDis); + m_fPrevX = vDis.x; + m_fPrevZ = vDis.z; + //m_iAniFrameCount--; + } + else + { + m_fPrevX = m_fEndPoint_X; + m_fPrevZ = m_fEndPoint_Y; + } + } + else + { + vEnd.Set(m_pPoint[m_iAniFrameCount].fXPos, 0, m_pPoint[m_iAniFrameCount].fZPos); + fDis = GetDistance(vStart, vEnd); + if(fDis >= m_fSecForMetor) + { + GetVectorPosition(vStart, vEnd, m_fSecForMetor, &vDis); + m_fPrevX = vDis.x; + m_fPrevZ = vDis.z; + } + else + { + m_fPrevX = m_fEndPoint_X; + m_fPrevZ = m_fEndPoint_Y; + } + } + } + + vStart.Set(fOldCurX, 0, fOldCurZ); + vEnd.Set(m_fPrevX, 0, m_fPrevZ); + + m_fSecForRealMoveMetor = GetDistance(vStart, vEnd); + + if(m_fSecForRealMoveMetor > m_fSecForMetor+1) + { + TRACE("#### move fail : [nid = %d], m_fSecForMetor = %.2f\n", GetID(), m_fSecForRealMoveMetor); + } + + if (m_sStepCount++ > 0) + { + m_curx = fOldCurX; m_curz = fOldCurZ; + if(GetX() < 0 || GetZ() < 0) + TRACE("Npc-StepMove : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), GetX(), GetZ()); + + return RegisterRegion(GetX(), GetZ()); + } + + return true; +} + +bool CNpc::StepNoPathMove() +{ + if(m_NpcState != NPC_MOVING && m_NpcState != NPC_TRACING && m_NpcState != NPC_BACK) return false; + + __Vector3 vStart, vEnd; + float fOldCurX = 0.0f, fOldCurZ = 0.0f; + + if(m_sStepCount == 0) { + fOldCurX = GetX(); fOldCurZ = GetZ(); + } + else { + fOldCurX = m_fPrevX; fOldCurZ = m_fPrevZ; + } + + + if(m_sStepCount < 0 || m_sStepCount >= m_iAniFrameIndex) { + TRACE("#### IsNoPtahfind Fail : nid=%d,%s, count=%d/%d ####\n", GetID(), GetName().c_str(), m_sStepCount, m_iAniFrameIndex); + return false; + } + + vStart.Set(fOldCurX, 0, fOldCurZ); + m_fPrevX = m_pPoint[m_sStepCount].fXPos; + m_fPrevZ = m_pPoint[m_sStepCount].fZPos; + vEnd.Set(m_fPrevX, 0, m_fPrevZ); + + if(m_fPrevX == -1 || m_fPrevZ == -1) { + TRACE("##### StepNoPath Fail : nid=%d,%s, x=%.2f, z=%.2f #####\n", GetID(), GetName().c_str(), m_fPrevX, m_fPrevZ); + return false; + } + + m_fSecForRealMoveMetor = GetDistance(vStart, vEnd); + + if (m_sStepCount++ > 0) + { + if(fOldCurX < 0 || fOldCurZ < 0) { + TRACE("#### Npc-StepNoPathMove Fail : nid=(%d, %s), x=%.2f, z=%.2f\n", GetID(), GetName().c_str(), fOldCurX, fOldCurZ); + return false; + } + else + { + m_curx = fOldCurX; m_curz = fOldCurZ; + } + + return RegisterRegion(GetX(), GetZ()); + } + + return true; +} + +CloseTargetResult CNpc::IsCloseTarget(int nRange, AttackType attackType) +{ + if (!hasTarget()) + return CloseTargetInvalid; + + CUser * pUser = nullptr; + CNpc * pNpc = nullptr; + __Vector3 vUser, vWillUser, vNpc, vDistance; + float fDis = 0.0f, fWillDis = 0.0f, fX = 0.0f, fZ = 0.0f; + bool bUserType = false; // Ÿ°ÙÀÌ À¯ÀúÀ̸é true + vNpc.Set(GetX(), GetY(), GetZ()); + + if (m_Target.id < NPC_BAND) + { + pUser = g_pMain->GetUserPtr(m_Target.id); + if (pUser == nullptr) + { + InitTarget(); + return CloseTargetInvalid; + } + + vUser.Set(pUser->GetX(), pUser->GetY(), pUser->GetZ()); + vWillUser.Set(pUser->m_fWill_x, pUser->m_fWill_y, pUser->m_fWill_z); + fX = pUser->GetX(); + fZ = pUser->GetZ(); + + vDistance = vWillUser - vNpc; + fWillDis = vDistance.Magnitude(); + fWillDis = fWillDis - m_proto->m_fBulk; + bUserType = true; + } + else + { + + pNpc = g_pMain->GetNpcPtr(m_Target.id); + if(pNpc == nullptr) + { + + InitTarget(); + return CloseTargetInvalid; + } + vUser.Set(pNpc->GetX(), pNpc->GetY(), pNpc->GetZ()); + fX = pNpc->GetX(); + fZ = pNpc->GetZ(); + } + + vDistance = vUser - vNpc; + fDis = vDistance.Magnitude(); + + fDis = fDis - m_proto->m_fBulk; + + + if (fDis >= 30 && attackType ==1) + { + return CloseTargetInvalid; + + } + + if (GetType() == NPC_DUNGEON_MONSTER && !isInSpawnRange((int)vUser.x, (int)vUser.z)) + return CloseTargetInvalid; + + if (attackType == AttackTypePhysical) + { + + m_bStopFollowingTarget = true; + if (pUser != nullptr) + { + if (m_Target.x == pUser->GetX() && m_Target.z == pUser->GetZ()) + m_bStopFollowingTarget = true; + } + } + + if ((int)fDis > nRange) + { + + if (attackType == nRange) + { + m_bStopFollowingTarget = true; + m_Target.x = fX; + m_Target.z = fZ; + } + return CloseTargetNotInRange; + } + + m_fEndPoint_X = GetX(); + m_fEndPoint_Y = GetZ(); + m_Target.x = fX; + m_Target.z = fZ; + + if (GetProto()->m_byDirectAttack == 1) + { + + if (fDis <= LONG_ATTACK_RANGE) return CloseTargetInGeneralRange; + else if (fDis <= nRange) return CloseTargetInAttackRange; + } + else + { + if (attackType == AttackTypeMagic) + { + + if (fDis <= (SHORT_ATTACK_RANGE + m_proto->m_fBulk )) return CloseTargetInGeneralRange; + else if (fDis <= nRange) return CloseTargetInAttackRange; + + if (bUserType && fWillDis > (SHORT_ATTACK_RANGE + m_proto->m_fBulk) && fWillDis <= nRange) + return CloseTargetInAttackRange; + } + else + { + + if (fDis <= (SHORT_ATTACK_RANGE + m_proto->m_fBulk)) return CloseTargetInGeneralRange; + else if (fDis <= nRange) return CloseTargetInAttackRange; + } + } + + return CloseTargetNotInRange; +} + +// Target °ú NPC °£ Path FindingÀ» ¼öÇàÇÑ´Ù. +int CNpc::GetTargetPath(int option) +{ + int nInitType = m_byInitMoveType; + if (m_byInitMoveType >= 100) + nInitType -= 100; + + if (GetType() != NPC_MONSTER + && m_byMoveType != nInitType) + m_byMoveType = nInitType; + + m_fSecForMetor = m_fSpeed_2; + CUser* pUser = nullptr; + CNpc* pNpc = nullptr; + float iTempRange = 0.0f; + __Vector3 vUser, vNpc, vDistance, vEnd22; + float fDis = 0.0f; + float fDegree = 0.0f, fTargetDistance = 0.0f; + float fSurX = 0.0f, fSurZ = 0.0f; + + // Player + if (m_Target.id < NPC_BAND) + { + pUser = g_pMain->GetUserPtr(m_Target.id); + if(pUser == nullptr + || pUser->isDead() + || pUser->GetZoneID() != GetZoneID()) + { + InitTarget(); + return -1; + } + + if(option == 1) { // magicÀ̳ª ȰµîÀ¸·Î °ø°İ ´çÇß´Ù¸é... + vNpc.Set(GetX(), GetY(), GetZ()); + vUser.Set(pUser->GetX(), pUser->GetY(), pUser->GetZ()); + fDis = GetDistance(vNpc, vUser); + if(fDis >= NPC_MAX_MOVE_RANGE) return -1; // ³Ê¹« °Å¸®°¡ ¸Ö¾î¼­,, ÃßÀûÀÌ ¾ÈµÇ°Ô.. + iTempRange = fDis + 10; + } + else { + iTempRange = (float)m_bySearchRange; // ÀϽÃÀûÀ¸·Î º¸Á¤ÇÑ´Ù. + if(IsDamagedUserList(pUser)) iTempRange = (float)(m_byTracingRange * 2); // °ø°İ¹ŞÀº »óŸé ãÀ» ¹üÀ§ Áõ°¡. + else iTempRange += 2; + } + + if (m_bTracing + && !isInRangeSlow(m_fTracingStartX, m_fTracingStartZ, iTempRange)) + { + InitTarget(); + return -1; + } + } + // NPC + else if(m_Target.id >= NPC_BAND) { // Target ÀÌ mon ÀÎ °æ¿ì + pNpc = g_pMain->GetNpcPtr(m_Target.id); + if(pNpc == nullptr) { + InitTarget(); + return -1; + } + if(pNpc->m_iHP <= 0 || pNpc->m_NpcState == NPC_DEAD) { + InitTarget(); + return -1; + } + + iTempRange = (float)m_byTracingRange; // ÀϽÃÀûÀ¸·Î º¸Á¤ÇÑ´Ù. + } + + MAP* pMap = GetMap(); + if (pMap == nullptr) + return -1; + + int max_xx = pMap->GetMapSize(); + int max_zz = pMap->GetMapSize(); + + int min_x = (int)(GetX() - iTempRange)/TILE_SIZE; if(min_x < 0) min_x = 0; + int min_z = (int)(GetZ() - iTempRange)/TILE_SIZE; if(min_z < 0) min_z = 0; + int max_x = (int)(GetX() + iTempRange)/TILE_SIZE; if(max_x > max_xx) max_x = max_xx; + int max_z = (int)(GetZ() + iTempRange)/TILE_SIZE; if(min_z > max_zz) min_z = max_zz; + + // Targeting player + if (m_Target.id < NPC_BAND) + { + if (pUser == nullptr) + return -1; + + CRect r = CRect(min_x, min_z, max_x+1, max_z+1); + if (!r.PtInRect((int)pUser->GetX()/TILE_SIZE, (int)pUser->GetZ()/TILE_SIZE)) + { + TRACE("### Npc-GetTargetPath() User Fail return -1: [nid=%d] t_Name=%s, AttackPos=%d ###\n", GetID(), pUser->GetName().c_str(), m_byAttackPos); + return -1; + } + + m_fStartPoint_X = GetX(); m_fStartPoint_Y = GetZ(); + + vNpc.Set(GetX(), GetY(), GetZ()); + vUser.Set(pUser->GetX(), pUser->GetY(), pUser->GetZ()); + + IsSurround(pUser); + + if(m_byAttackPos > 0 && m_byAttackPos < 9) { + fDegree = (float)((m_byAttackPos-1)*45); + fTargetDistance = 2.0f+m_proto->m_fBulk; + ComputeDestPos(vUser, fDegree, fTargetDistance, &vEnd22); + fSurX = vEnd22.x - vUser.x; fSurZ = vEnd22.z - vUser.z; + m_fEndPoint_X = vUser.x + fSurX; m_fEndPoint_Y = vUser.z + fSurZ; + } + else + { + CalcAdaptivePosition(vNpc, vUser, 2.0f+m_proto->m_fBulk, &vEnd22); + m_fEndPoint_X = vEnd22.x; m_fEndPoint_Y = vEnd22.z; + } + } + else + { + if (pNpc == nullptr) + return -1; + + CRect r = CRect(min_x, min_z, max_x+1, max_z+1); + if (!r.PtInRect((int)pNpc->GetX()/TILE_SIZE, (int)pNpc->GetZ()/TILE_SIZE)) + { + TRACE("### Npc-GetTargetPath() Npc Fail return -1: [nid=%d] t_Name=%s, AttackPos=%d ###\n", GetID(), pNpc->GetName().c_str(), m_byAttackPos); + return -1; + } + + m_fStartPoint_X = GetX(); m_fStartPoint_Y = GetZ(); + + vNpc.Set(GetX(), GetY(), GetZ()); + vUser.Set(pNpc->GetX(), pNpc->GetY(), pNpc->GetZ()); + + CalcAdaptivePosition(vNpc, vUser, 2.0f+m_proto->m_fBulk, &vEnd22); + m_fEndPoint_X = vEnd22.x; m_fEndPoint_Y = vEnd22.z; + } + + vDistance = vEnd22 - vNpc; + fDis = vDistance.Magnitude(); + + if(fDis <= m_fSecForMetor) { + ClearPathFindData(); + m_bPathFlag = true; + m_iAniFrameIndex = 1; + m_pPoint[0].fXPos = m_fEndPoint_X; + m_pPoint[0].fZPos = m_fEndPoint_Y; + return true; + } + + if((int)fDis > iTempRange) { + TRACE("Npc-GetTargetPath() searchrange over Fail return -1: [nid=%d,%s]\n", GetID(), GetName().c_str()); + return -1; + } + + + if (GetType() != NPC_DUNGEON_MONSTER + && hasTarget()) + return 0; + + CPoint start, end; + start.x = (int)(GetX()/TILE_SIZE) - min_x; + start.y = (int)(GetZ()/TILE_SIZE) - min_z; + end.x = (int)(vEnd22.x/TILE_SIZE) - min_x; + end.y = (int)(vEnd22.z/TILE_SIZE) - min_z; + + if (GetType() == NPC_DUNGEON_MONSTER + && !isInSpawnRange((int)vEnd22.x, (int)vEnd22.z)) + return -1; + + m_min_x = min_x; + m_min_y = min_z; + m_max_x = max_x; + m_max_y = max_z; + + return PathFind(start, end, m_fSecForMetor); +} + +time_t CNpc::Attack() +{ + try { + if (isDead()) + return -1; + + int nRandom = 0, nPercent=1000, SinglePercent=5000; + bool bTeleport = false; + + if (isNonAttackingObject()) + { + m_NpcState = NPC_STANDING; + InitTarget(); + return 0; + } + + if (GetProto()->m_byDirectAttack == 1) + return LongAndMagicAttack(); + + int nStandingTime = m_sStandTime; + auto result = IsCloseTarget(m_byAttackRange, AttackTypeMagic); + + if (result == CloseTargetNotInRange) + { + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return m_sAttackDelay; + } + else if (result == CloseTargetInAttackRange) + { + if (GetProto()->m_byDirectAttack == 2) + return LongAndMagicAttack(); + + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return m_sAttackDelay; + } + else if (result == CloseTargetInvalid) + { + m_NpcState = NPC_STANDING; + InitTarget(); + return 0; + } + + int nDamage = 0; + uint16 nID = m_Target.id; // Target À» ±¸ÇÑ´Ù. + + // Targeting player + if (nID < NPC_BAND) + { + CUser * pUser = g_pMain->GetUserPtr(nID); + if (pUser == nullptr + || pUser->isDead() + || pUser->m_bInvisibilityType) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return 0; + } + + // Don't attack GMs. + if (pUser->isGM()) + { + InitTarget(); + m_NpcState = NPC_MOVING; + return 0; + } + + if (GetProto()->m_byMagicAttack > 3) + { + nRandom = myrand(1, 10000); + if (nRandom < nPercent) + { + _MAGIC_TABLE * myMagic = nullptr; + bool Magic1 = false, Magic2 = false; + uint8 SelectedMagic = 0; + myMagic = g_pMain->m_MagictableArray.GetData(m_proto->m_iMagic1); + + if(myMagic == nullptr) + Magic1 = false; + else if(myMagic->bMoral == 10) + Magic1 = true; + + _MAGIC_TABLE * myMagic2 = g_pMain->m_MagictableArray.GetData(m_proto->m_iMagic2); + + if(myMagic2 == nullptr) + Magic2 = false; + else if(myMagic2->bMoral == 10) + Magic2 = true; + + if(!Magic2 && Magic1) + SelectedMagic = 1; + else if(Magic2 && !Magic1) + SelectedMagic = 2; + else if(Magic1 && Magic2) + SelectedMagic = myrand(0,10000) > 4999 ? 1 : 2; + else + SelectedMagic = 0; + + if(SelectedMagic > 0) + { + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, SelectedMagic == 1 ? m_proto->m_iMagic1 : m_proto->m_iMagic2, GetID(), -1, int16(pUser->GetX()), int16(pUser->GetY()), int16(pUser->GetZ())); + return m_sAttackDelay + 1000; + } + } + else if(nRandom < SinglePercent) + { + _MAGIC_TABLE * myMagic = nullptr; + bool Magic1 = false, Magic2 = false, Magic3 = false; + uint32 SelectedMagic = 0; + myMagic = g_pMain->m_MagictableArray.GetData(m_proto->m_iMagic1); + + if(myMagic == nullptr) + Magic1 = false; + else if(myMagic->bMoral == 7) + Magic1 = true; + + _MAGIC_TABLE * myMagic2 = g_pMain->m_MagictableArray.GetData(m_proto->m_iMagic2); + + if(myMagic2 == nullptr) + Magic2 = false; + else if(myMagic2->bMoral == 7) + Magic2 = true; + + _MAGIC_TABLE * myMagic3 = g_pMain->m_MagictableArray.GetData(m_proto->m_iMagic3); + + if(myMagic3 == nullptr) + Magic3 = false; + else if(myMagic3->bMoral == 7) + Magic3 = true; + + std::vector MagicList; + + if(Magic1) + MagicList.push_back(m_proto->m_iMagic1); + if(Magic2) + MagicList.push_back(m_proto->m_iMagic2); + if(Magic3) + MagicList.push_back(m_proto->m_iMagic3); + + if(MagicList.size() > 0) + { + uint8 SelectedSkill = 0; + SelectedSkill = myrand(1,MagicList.size()); + + if(SelectedSkill == 1) + SelectedMagic = m_proto->m_iMagic1; + + if(SelectedSkill == 2) + SelectedMagic = m_proto->m_iMagic2; + + if(SelectedSkill == 3) + SelectedMagic = m_proto->m_iMagic3; + + if(SelectedMagic > 0) + { + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, SelectedMagic, GetID(), pUser->GetID()); + return m_sAttackDelay; + } + } + } + } + else if (GetProto()->m_byMagicAttack == 2 || GetProto()->m_byMagicAttack == 3) + { + nRandom = myrand(1, 10000); + if (nRandom < nPercent) + { + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, m_proto->m_iMagic1, GetID(), pUser->GetID()); + return m_sAttackDelay; + } + } + + + SendAttackRequest(pUser->GetID()); + } + else // Targeting NPC + { + CNpc * pNpc = g_pMain->GetNpcPtr(nID); + if (pNpc == nullptr + || pNpc->isDead()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return 0; + } + + if (isHealer() + && !isHostileTo(pNpc)) + { + m_NpcState = NPC_HEALING; + return 0; + } + + SendAttackRequest(pNpc->GetID()); + } + + return m_sAttackDelay; + } + catch (...) { + printf("Error catched\n"); + return 0; + } +} + +void CNpc::SendAttackRequest(int16 tid) +{ + Packet result(AG_ATTACK_REQ); + result << GetID() << tid; + g_pMain->Send(&result); +} + +time_t CNpc::LongAndMagicAttack() +{ + int nStandingTime = m_sStandTime; + auto result = IsCloseTarget(m_byAttackRange, AttackTypeMagic); + if (result == CloseTargetNotInRange) + { + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return 0; + } + else if (result == CloseTargetInAttackRange && GetProto()->m_byDirectAttack == 1) + { + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return 0; + } + else if (result == CloseTargetInvalid) + { + m_NpcState = NPC_STANDING; + InitTarget(); + return 0; + } + + CNpc* pNpc = nullptr; + CUser* pUser = nullptr; + int nDamage = 0; + uint16 nID = m_Target.id; + + if (nID < NPC_BAND) + { + pUser = g_pMain->GetUserPtr(nID); + if (pUser == nullptr + || pUser->isDead() + || pUser->m_bInvisibilityType + // Don't cast skills on GMs. + || pUser->isGM()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return nStandingTime; + } + + CNpcMagicProcess::MagicPacket(MAGIC_CASTING, m_proto->m_iMagic1, GetID(), pUser->GetID()); + return m_sAttackDelay; + } + else // Target monster/NPC + { + CNpc * pNpc = g_pMain->GetNpcPtr(nID); + if (pNpc == nullptr + || pNpc->isDead()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return nStandingTime; + } + } + + return m_sAttackDelay; +} + +void CNpc::TracingAttack() +{ + uint16 nID = m_Target.id; + if (nID < NPC_BAND) // Target is a player + { + CUser * pUser = g_pMain->GetUserPtr(nID); + if (pUser == nullptr + || pUser->isDead() + || pUser->m_bInvisibilityType + || pUser->isGM() + || !GetMap()->canAttackOtherNation() + || pUser->GetID() == m_oSocketID) + return; + } + else // Target is an NPC/monster + { + CNpc * pNpc = g_pMain->GetNpcPtr(nID); + if (pNpc == nullptr + || pNpc->isDead()) + return; + } + SendAttackRequest(nID); +} + +void CNpc::MoveAttack() +{ + if (!hasTarget()) + return; + + __Vector3 vUser, vNpc; + __Vector3 vDistance, vEnd22; + + float fDis = 0.0f; + float fX = 0.0f, fZ = 0.0f; + + vNpc.Set(GetX(), GetY(), GetZ()); + + if (m_Target.id < NPC_BAND) // Target is a player + { + __Vector3 vUser; + CUser * pUser = g_pMain->GetUserPtr(m_Target.id); + if (pUser == nullptr) + { + InitTarget(); + return; + } + vUser.Set(pUser->GetX(), pUser->GetY(), pUser->GetZ()); + + CalcAdaptivePosition(vNpc, vUser, 2, &vEnd22); + + if(m_byAttackPos > 0 && m_byAttackPos < 9) + { + fX = vUser.x + surround_fx[m_byAttackPos-1]; fZ = vUser.z + surround_fz[m_byAttackPos-1]; + vEnd22.Set(fX, 0, fZ); + } + else + { + fX = vEnd22.x; fZ = vEnd22.z; + } + } + else // Target is an NPC/monster + { + CNpc * pNpc = g_pMain->GetNpcPtr(m_Target.id); + if (pNpc == nullptr) + { + InitTarget(); + return; + } + vUser.Set(pNpc->GetX(), pNpc->GetY(), pNpc->GetZ()); + + CalcAdaptivePosition(vNpc, vUser, 2, &vEnd22); + fX = vEnd22.x; fZ = vEnd22.z; + } + + vDistance = vUser - vNpc; + fDis = vDistance.Magnitude(); + + if ((int)fDis < 3) return; + + vDistance = vEnd22 - vNpc; + fDis = vDistance.Magnitude(); + m_curx = vEnd22.x; + m_curz = vEnd22.z; + + if (GetX() < 0 || GetZ() < 0) + { + TRACE("Npc-MoveAttack : nid=(%d, %s), x=%.2f, z=%.2f\n", + GetID(), GetName().c_str(), GetX(), GetZ()); + } + + // Move to target... then stop (this is really awkward behaviour.) + SendMoveResult(GetX(), GetY(), GetZ(), (float)m_sSpeed / 1000); + + RegisterRegion(GetX(), GetZ()); + + m_fEndPoint_X = GetX(); + m_fEndPoint_Y = GetZ(); +} + +bool CNpc::IsChangePath() +{ + float fCurX=0.0f, fCurZ=0.0f; + GetTargetPos(fCurX, fCurZ); + + __Vector3 vStart, vEnd; + vStart.Set(m_fEndPoint_X, 0, m_fEndPoint_Y); + vEnd.Set(fCurX, 0, fCurZ); + + float fDis = GetDistance(vStart, vEnd); + float fCompDis = 3.0f; + + if(fDis < fCompDis) + return false; + + return true; +} + +bool CNpc::GetTargetPos(float& x, float& z) +{ + if (!hasTarget()) + return false; + + Unit * pUnit = g_pMain->GetUnitPtr(m_Target.id); + if (pUnit == nullptr) + return false; + + x = pUnit->GetX(); + z = pUnit->GetZ(); + + return true; +} + +// Target °ú NPC °£¿¡ ±æÃ£±â¸¦ ´Ù½ÃÇÑ´Ù. +bool CNpc::ResetPath() +{ + float cur_x, cur_z; + GetTargetPos(cur_x, cur_z); + + // TRACE("ResetPath : user pos ,, x=%.2f, z=%.2f\n", cur_x, cur_z); + + m_Target.x = cur_x; + m_Target.z = cur_z; + + int nValue = GetTargetPath(); + if(nValue == -1) // Ÿ°ÙÀÌ ¾ø¾îÁö°Å³ª,, ¸Ö¾îÁ³À½À¸·Î... + { + TRACE("Npc-ResetPath Fail - target_x = %.2f, z=%.2f, value=%d\n", m_Target.x, m_Target.z, nValue); + return false; + } + else if(nValue == 0) // Ÿ°Ù ¹æÇâÀ¸·Î ¹Ù·Î °£´Ù.. + { + m_fSecForMetor = m_fSpeed_2; // °ø°İÀ϶§´Â ¶Ù´Â ¼Óµµ·Î... + IsNoPathFind(m_fSecForMetor); + } + + //TRACE("Npc-ResetPath - target_x = %.2f, z=%.2f, value=%d\n", m_Target.x, m_Target.z, nValue); + + return true; +} + +void CNpc::ChangeTarget(int nAttackType, CUser *pUser) +{ + int preDamage, lastDamage; + __Vector3 vUser, vNpc; + float fDistance1 = 0.0f, fDistance2 = 0.0f; + int iRandom = myrand(0, 100); + + if (pUser == nullptr + || pUser->isDead() + || !isHostileTo(pUser) + || pUser->m_bInvisibilityType + || pUser->isGM() + || m_NpcState == NPC_FAINTING + || isNonAttackingObject()) + return; + + CUser *preUser = nullptr; + if (hasTarget() && m_Target.id < NPC_BAND) + preUser = g_pMain->GetUserPtr(m_Target.id); + + if (pUser == preUser) + { + if (m_bHasFriends || GetType() == NPC_BOSS) + FindFriend(GetType() == NPC_BOSS ? MonSearchAny : MonSearchSameFamily); + + return; + } + + if (preUser != nullptr) + { + preDamage = 0; lastDamage = 0; + + if (iRandom >= 0 && iRandom < 50) + { + preDamage = preUser->GetDamage(this, nullptr, true); + lastDamage = pUser->GetDamage(this, nullptr, true); + + if (preDamage > lastDamage) + return; + } + else if(iRandom >= 50 && iRandom < 80) + { + vNpc.Set(GetX(), GetY(), GetZ()); + vUser.Set(preUser->GetX(), 0, preUser->GetZ()); + fDistance1 = GetDistance(vNpc, vUser); + vUser.Set(pUser->GetX(), 0, pUser->GetZ()); + fDistance2 = GetDistance(vNpc, vUser); + + if (fDistance2 > fDistance1) + return; + } + else if (iRandom >= 80 && iRandom < 95) + { + preDamage = GetDamage(preUser, nullptr, true); /* preview the amount of damage that might be dealt for comparison */ + lastDamage = GetDamage(pUser, nullptr, true); + //TRACE("Npc-changeTarget 333 - iRandom=%d, pre=%d, last=%d\n", iRandom, preDamage, lastDamage); + if(preDamage > lastDamage) return; + } + } + else if(preUser == nullptr && nAttackType == 1004) return; // Heal magic¿¡ ¹İÀÀÇÏÁö ¾Êµµ·Ï.. + + m_Target.id = pUser->GetID(); + m_Target.bSet = true; + m_Target.x = pUser->GetX(); + m_Target.y = pUser->GetY(); + m_Target.z = pUser->GetZ(); + + //TRACE("Npc-changeTarget - target_x = %.2f, z=%.2f\n", m_Target.x, m_Target.z); + + int nValue = 0; + // ¾î½½·· °Å¸®´Âµ¥ °ø°İÇÏ¸é ¹Ù·Î ¹İ°İ + if(m_NpcState == NPC_STANDING || m_NpcState == NPC_MOVING || m_NpcState == NPC_SLEEPING) + { // °¡±îÀÌ ÀÖÀ¸¸é ¹İ°İÀ¸·Î À̾îÁö±¸ + if(IsCloseTarget(pUser, m_byAttackRange) == true) + { + m_NpcState = NPC_FIGHTING; + m_Delay = 0; + } + else // ¹Ù·Î µµ¸Á°¡¸é ÁÂÇ¥¸¦ °»½ÅÇϰí ÃßÀû + { + nValue = GetTargetPath(1); + if(nValue == 1) // ¹İ°İ µ¿ÀÛÈÄ ¾à°£ÀÇ µô·¹ÀÌ ½Ã°£ÀÌ ÀÖÀ½ + { + m_NpcState = NPC_TRACING; + m_Delay = 0; + } + else if(nValue == -1) + { + m_NpcState = NPC_STANDING; + m_Delay = 0; + } + else if(nValue == 0) + { + m_fSecForMetor = m_fSpeed_2; // °ø°İÀ϶§´Â ¶Ù´Â ¼Óµµ·Î... + IsNoPathFind(m_fSecForMetor); + m_NpcState = NPC_TRACING; + m_Delay = 0; + } + } + } + // else m_NpcState = NPC_ATTACKING; // ÇÑÂü °ø°İÇϴµ¥ ´©°¡ ¹æÇØÇÏ¸é ¸ñÇ¥¸¦ ¹Ù²Ş + + if (m_bHasFriends || GetType() == NPC_BOSS) + FindFriend(GetType() == NPC_BOSS ? MonSearchAny : MonSearchSameFamily); +} + +// ³ª¸¦ °ø°İÇÑ Npc¸¦ Ÿ°ÙÀ¸·Î »ï´Â´Ù.(±âÁØ : ·¾°ú HP¸¦ ±âÁØÀ¸·Î ¼±Á¤) +void CNpc::ChangeNTarget(CNpc *pNpc) +{ + int preDamage, lastDamage; + __Vector3 vMonster, vNpc; + float fDist = 0.0f; + + if (pNpc == nullptr + || pNpc->m_NpcState == NPC_DEAD + || !hasTarget() + || m_Target.id < NPC_BAND) + return; + + CNpc *preNpc = g_pMain->GetNpcPtr(m_Target.id); + if (preNpc == nullptr + || pNpc == preNpc) return; + + preDamage = GetDamage(preNpc, nullptr, true); /* preview the damage that might be dealt for comparison */ + lastDamage = GetDamage(pNpc, nullptr, true); + + vNpc.Set(GetX(), GetY(), GetZ()); + vMonster.Set(preNpc->GetX(), 0, preNpc->GetZ()); + fDist = GetDistance(vNpc, vMonster); + preDamage = (int)((double)preDamage/fDist + 0.5); + vMonster.Set(pNpc->GetX(), 0, pNpc->GetZ()); + fDist = GetDistance(vNpc, vMonster); + lastDamage = (int)((double)lastDamage/fDist + 0.5); + + if(preDamage > lastDamage) return; + + m_Target.id = pNpc->GetID(); + m_Target.bSet = true; + m_Target.x = pNpc->GetX(); + m_Target.y = pNpc->GetZ(); + m_Target.z = pNpc->GetZ(); + + int nValue = 0; + if (m_NpcState == NPC_STANDING || m_NpcState == NPC_MOVING || m_NpcState == NPC_SLEEPING) + { + if (IsCloseTarget(m_byAttackRange, AttackTypeNone) == 1) + { + m_NpcState = NPC_FIGHTING; + m_Delay = 0; + } + else + { + nValue = GetTargetPath(); + if (nValue == 1) + { + m_NpcState = NPC_TRACING; + m_Delay = 0; + } + else if(nValue == -1) + { + m_NpcState = NPC_STANDING; + m_Delay = 0; + } + else if(nValue == 0) + { + m_fSecForMetor = m_fSpeed_2; + IsNoPathFind(m_fSecForMetor); + m_NpcState = NPC_TRACING; + m_Delay = 0; + } + } + } + // else m_NpcState = NPC_ATTACKING; // ÇÑÂü °ø°İÇϴµ¥ ´©°¡ ¹æÇØÇÏ¸é ¸ñÇ¥¸¦ ¹Ù²Ş + + if (m_bHasFriends) + FindFriend(); +} + +void CNpc::RecvAttackReq(int nDamage, uint16 sAttackerID, AttributeType attributeType /*= AttributeNone*/) +{ + m_DamagedUserListCount = 0; + for (int i = 0; i < NPC_HAVE_USER_LIST; i++){ + + if ((uint32(UNIXTIME) - m_DamagedUserList[i].lastdamagedt) < 60) + m_DamagedUserListCount++; + + + if ((uint32(UNIXTIME) - m_DamagedUserList[i].lastdamagedt) > 60 && m_DamagedUserList[i].GetID != sAttackerID && m_DamagedUserList[i].Damage > 0) + m_DamagedUserList[i].Reset(); + + } + + + + if (isDead() || nDamage < 0) + return; + + int MyDamage = 0; + MyDamage = nDamage; + + CUser * pAttacker = g_pMain->GetUserPtr(sAttackerID); + + if (pAttacker != nullptr + && pAttacker->isPlayer()) + { + if (IsDamagedUserList(pAttacker)){ + for (int i = 0; i < NPC_HAVE_USER_LIST; i++){ + + if (m_DamagedUserList[i].GetID == pAttacker->GetID()){ + m_DamagedUserList[i].Damage += MyDamage; + m_DamagedUserList[i].lastdamagedt = uint32(UNIXTIME); + } + } + }else{ + if(m_DamagedUserListCount < NPC_HAVE_USER_LIST){ + m_DamagedUserList[m_DamagedUserListCount].GetID = sAttackerID; + m_DamagedUserList[m_DamagedUserListCount].Damage = MyDamage; + m_DamagedUserList[m_DamagedUserListCount].lastdamagedt = uint32(UNIXTIME); + m_DamagedUserListCount++; + } + else + { + for (int i = 0; i < NPC_HAVE_USER_LIST; i++){ + + if (m_DamagedUserList[i].GetID == -1){ + m_DamagedUserList[i].GetID = sAttackerID; + m_DamagedUserList[i].Damage = MyDamage; + m_DamagedUserList[i].lastdamagedt = uint32(UNIXTIME); + } + } + } + } + } + + Unit * pAttackers = g_pMain->GetUnitPtr(sAttackerID); + + m_TotalDamage += nDamage; + HpChange(-nDamage, pAttackers, false); + + if (pAttackers == nullptr) + return; + + if (!pAttackers->isPlayer()) + { + ChangeNTarget(TO_NPC(pAttackers)); + return; + } + + if (m_NpcState != NPC_FAINTING) + { + int iRandom = myrand(1, 100); + int sDamage=0; + + switch (attributeType) + { + case 1: + sDamage = (int)(10 + (40 - 40 * ((double)m_sFireR / 80))); + break; + case 2: + sDamage = (int)(10 + (40 - 40 * ((double)m_sColdR))); + break; + case 3: + sDamage = (int)(10 + (40 - 40 * ((double)m_sLightningR / 80))); + break; + case 4: + sDamage = (int)(10 + (40 - 40 * ((double)m_sMagicR / 80))); + break; + case 5: + sDamage = (int)(10 + (40 - 40 * ((double)m_sDiseaseR / 80))); + break; + case 6: + sDamage = (int)(10 + (40 - 40 * ((double)m_sPoisonR / 80))); + break; + sDamage = nDamage; + + default: + break; + } + + if (COMPARE(iRandom, 0, sDamage)) + { + m_NpcState = NPC_FAINTING; + m_Delay = 0; + m_tFaintingTime = UNIXTIME; + } + else + { + ChangeTarget(0, TO_USER(pAttacker)); + } + } +} + +void CNpc::NpcCalling(float fDis,float fDistance, __Vector3 oPos, __Vector3 cPost){ + float bChamber = TILE_SIZE + 3; + + + if (m_bSpeedAmount > 0 && m_bSpeedAmount < 100) { + float pTile = (float)(10 - (m_bSpeedAmount / 10) - TILE_SIZE); + bChamber -= (pTile >= 1 ? pTile + 2 : 0); + } + else if (m_bSpeedAmount > 100) { + float pTile = (float)(10 - (m_bSpeedAmount / 10) - TILE_SIZE); + bChamber += (pTile >= 1 ? pTile + 2 : 0); + } + + bChamber = fDis / bChamber; + if (bChamber > 15) + bChamber = 15; + + m_curx = (cPost.x / bChamber) + oPos.x; + m_curz = (cPost.z / bChamber) + oPos.z; + + + float tempSpeed = m_fSecForRealMoveMetor; + + + if (tempSpeed == 0) + tempSpeed = m_fSpeed_1; + + + float nMoveSpeed = (float)(tempSpeed / ((float)m_sSpeed / 1000.0f)); + + if (nMoveSpeed != 0) { + SendMoveResult(m_curx, m_fPrevY, m_curz, (float)(nMoveSpeed)); + } +} + +void CNpc::HpChange(int amount, Unit *pAttacker /*= nullptr*/, bool bSendToGameServer /*= true*/) +{ + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + int32 oldHP = m_iHP; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + if (amount < 0 && -amount >= m_iHP) + m_iHP = 0; + else if (amount >= 0 && m_iHP + amount > m_iMaxHP) + m_iHP = m_iMaxHP; + else + m_iHP += amount; + + if (bSendToGameServer) + { + Packet result(AG_NPC_HP_CHANGE); + result << GetID() << tid << m_iHP << amount; + g_pMain->Send(&result); + } + + if (m_iHP == 0) + Dead(pAttacker); +} + +void CNpc::SendExpToUserList() +{ + if (GetMap() == nullptr) + return; + + std::string strMaxDamageUser; + int nMaxDamage = 0; + + + std::map filteredDamageList; + std::map partyIndex; + + // Filter the damage list first, so we only send one packet per party. + // Rewards are shared based upon the total amount of damage dealt. + + // NOTE: If a player logs out & another takes its place, it is currently possible + // For this new session to be counted as the old when the mob is killed. + // This does, however, requires the player to be in the same zone, in range at the time + // of the mob's death -- so it is rather unlikely. We should fix this later. + if (m_DamagedUserListCount > 0){ + for (int i = 0; i < NPC_HAVE_USER_LIST; i++){ + + if (m_DamagedUserList[i].GetID < 0 || m_DamagedUserList[i].GetID > NPC_BAND) + continue; + + if ((uint32(UNIXTIME) - m_DamagedUserList[i].lastdamagedt) > 60) + continue; + + CUser * pUser = g_pMain->GetUserPtr(m_DamagedUserList[i].GetID); + if (pUser == nullptr + || !isInRangeSlow(pUser, NPC_EXP_RANGE)) + continue; + + // Not in a party, we can add them to the list as a solo attacker. + if (!pUser->isInParty()) + { + + auto filteredDamageListItr = filteredDamageList.find(pUser); + + if(filteredDamageListItr == filteredDamageList.end()){ + filteredDamageList.insert(std::make_pair(pUser, m_DamagedUserList[i].Damage)); + }else{ + filteredDamageList[pUser] = m_DamagedUserList[i].Damage; + } + continue; + } + + // In a party, so check if another party member is already in the list first. + auto partyItr = partyIndex.find(pUser->GetPartyID()); + + // No other party member, so add us to the filtered damage list & the party index + // for future reference. + if (partyItr == partyIndex.end() && pUser->isInParty()) + { + + filteredDamageList[pUser] = m_DamagedUserList[i].Damage; + + partyIndex.insert(std::make_pair(pUser->GetPartyID(), pUser)); + } + // There is another pf pir party members in the damage list already, so just add + // to their damage total. + else + { + filteredDamageList[partyItr->second] += m_DamagedUserList[i].Damage; + } + + } + } + // Now we can go through the filtered list and tell the game server to distribute rewards + // for the kill. + if (filteredDamageList.size() != 0){ + foreach (itr, filteredDamageList) + { + CUser * pUser = itr->first; + if (pUser->isPlayer() || pUser->isGM()){ + Packet result(AG_USER_EXP); + result << pUser->GetID() + << GetID() + // target's damage vs total damage dealt to the NPC + << itr->second << m_TotalDamage + << m_proto->m_iExp << m_proto->m_iLoyalty; + g_pMain->Send(&result); + + if (itr->second > nMaxDamage) + { + m_sMaxDamageUserid = pUser->GetID(); + strMaxDamageUser = pUser->GetName(); + nMaxDamage = itr->second; + } + } + } + } + if (g_pMain->m_byBattleEvent == BATTLEZONE_OPEN + && !strMaxDamageUser.empty() + && m_bySpecialType >= NpcSpecialTypeKarusWarder1 && m_bySpecialType <= NpcSpecialTypeElmoradKeeper) + { + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_MAX_USER)); + + switch (m_bySpecialType) + { + case NpcSpecialTypeKarusWarder1: result << uint8(3); g_pMain->m_sKillKarusNpc++; break; + case NpcSpecialTypeKarusWarder2: result << uint8(4); g_pMain->m_sKillKarusNpc++; break; + case NpcSpecialTypeElmoradWarder1: result << uint8(5); g_pMain->m_sKillElmoNpc++; break; + case NpcSpecialTypeElmoradWarder2: result << uint8(6); g_pMain->m_sKillElmoNpc++; break; + case NpcSpecialTypeKarusKeeper: result << uint8(7); g_pMain->m_sKillKarusNpc++; break; + case NpcSpecialTypeElmoradKeeper: result << uint8(8); g_pMain->m_sKillElmoNpc++; break; + } + + result.SByte(); + result << strMaxDamageUser; + g_pMain->Send(&result); + + bool bKarusComplete = (g_pMain->m_sKillKarusNpc == GetMap()->m_sKarusRoom), + bElMoradComplete = (g_pMain->m_sKillElmoNpc == GetMap()->m_sElmoradRoom); + + if (bKarusComplete || bElMoradComplete) + { + result.clear(); + result << uint8(BATTLE_EVENT_RESULT) + << uint8(bKarusComplete ? KARUS : ELMORAD) + << strMaxDamageUser; + g_pMain->Send(&result); + } + } +} +bool CNpc::IsCloseTarget(CUser *pUser, int nRange) +{ + if (pUser == nullptr + || pUser->isDead() + || !isInRangeSlow(pUser, nRange * 2.0f)) + return false; + + m_Target.id = pUser->GetID(); + m_Target.bSet = true; + m_Target.x = pUser->GetX(); + m_Target.y = pUser->GetY(); + m_Target.z = pUser->GetZ(); + + return true; +} + +int CNpc::FindFriend(MonSearchType type) +{ + CNpc* pNpc = nullptr; + MAP* pMap = GetMap(); + if (pMap == nullptr + || m_bySearchRange == 0 + || (type != MonSearchNeedsHealing && hasTarget())) + return 0; + + int min_x = (int)(GetX() - m_bySearchRange)/VIEW_DIST; if(min_x < 0) min_x = 0; + int min_z = (int)(GetZ() - m_bySearchRange)/VIEW_DIST; if(min_z < 0) min_z = 0; + int max_x = (int)(GetX() + m_bySearchRange)/VIEW_DIST; if(max_x > pMap->GetXRegionMax()) max_x = pMap->GetXRegionMax(); + int max_z = (int)(GetZ() + m_bySearchRange)/VIEW_DIST; if(min_z > pMap->GetZRegionMax()) min_z = pMap->GetZRegionMax(); + + int search_x = max_x - min_x + 1; + int search_z = max_z - min_z + 1; + + int i, j, count = 0; + _TargetHealer arHealer[9]; + for(i=0; i<9; i++) { + arHealer[i].sNID = -1; + arHealer[i].sValue = 0; + } + + for (i = 0; i < search_x; i++) + for (j = 0; j < search_z; j++) + FindFriendRegion(min_x+i, min_z+j, pMap, &arHealer[count], type); + + int iValue = 0, iMonsterNid = 0; + for (i=0; i<9; i++) + { + if (iValue < arHealer[i].sValue) + { + iValue = arHealer[i].sValue; + iMonsterNid = arHealer[i].sNID; + } + } + + if (iMonsterNid != 0) + { + m_Target.id = iMonsterNid; + m_Target.bSet = true; + return iMonsterNid; + } + + return 0; +} + +void CNpc::FindFriendRegion(int x, int z, MAP* pMap, _TargetHealer* pHealer, MonSearchType type) +{ + if (x < 0 || z < 0 || x > pMap->GetXRegionMax() || z > pMap->GetZRegionMax()) + { + TRACE("#### Npc-FindFriendRegion() Fail : [nid=%d, sid=%d], nRX=%d, nRZ=%d #####\n", GetID(), GetProtoID(), x, z); + return; + } + + Guard lock(pMap->m_lock); + CRegion *pRegion = &pMap->m_ppRegion[x][z]; + + if (pRegion == nullptr) + return; + + __Vector3 vStart, vEnd; + float fDis = 0.0f, + fSearchRange = (type == MonSearchNeedsHealing ? (float)m_byAttackRange : (float)m_byTracingRange); + int iValue = 0; + + vStart.Set(GetX(), GetY(), GetZ()); + + foreach_stlmap (itr, pRegion->m_RegionNpcArray) + { + CNpc * pNpc = g_pMain->GetNpcPtr(itr->first); + + if (pNpc != nullptr && pNpc->m_NpcState != NPC_DEAD && pNpc->GetID() != GetID()) + { + vEnd.Set(pNpc->GetX(), pNpc->GetY(), pNpc->GetZ()); + fDis = GetDistance(vStart, vEnd); + + if (fDis <= fSearchRange) + { + if (type == MonSearchAny) + { + if (GetID() != pNpc->GetID()) + { + //if (pNpc->hasTarget() && pNpc->m_NpcState == NPC_FIGHTING) + // continue; + + pNpc->m_Target.id = m_Target.id; + pNpc->m_Target.bSet = true; + pNpc->m_Target.x = m_Target.x; + pNpc->m_Target.y = m_Target.y; + pNpc->m_Target.z = m_Target.z; + pNpc->NpcStrategy(NPC_ATTACK_SHOUT); + } + } + else if (type == MonSearchSameFamily) + { + if (pNpc->m_bHasFriends && GetID() != pNpc->GetID() && pNpc->m_proto->m_byFamilyType == m_proto->m_byFamilyType) { + //if (pNpc->hasTarget() && pNpc->m_NpcState == NPC_FIGHTING) + // continue; 10.12.16 + + pNpc->m_Target.id = m_Target.id; + pNpc->m_Target.bSet = true; + pNpc->m_Target.x = m_Target.x; + pNpc->m_Target.y = m_Target.y; + pNpc->m_Target.z = m_Target.z; + pNpc->NpcStrategy(NPC_ATTACK_SHOUT); + } + } + else if (type == MonSearchNeedsHealing) + { + if (pHealer == nullptr) + return; + + int iHP = (int)(pNpc->m_iMaxHP * 0.9); + if(pNpc->m_iHP <= iHP) { // HP üũ + int iCompValue = (int)((pNpc->m_iMaxHP - pNpc->m_iHP) / (pNpc->m_iMaxHP * 0.01)); + if (iValue < iCompValue) { + iValue = iCompValue; + pHealer->sNID = pNpc->GetID(); + pHealer->sValue = iValue; + } + } + } + } + else continue; + } + } +} + +void CNpc::NpcStrategy(uint8 type) +{ + switch(type) + { + case NPC_ATTACK_SHOUT: + m_NpcState = NPC_TRACING; + m_Delay = m_sSpeed;//STEP_DELAY; + m_fDelayTime = getMSTime(); + break; + } +} + +void CNpc::FillNpcInfo(Packet & result) +{ + result << uint8(1) + << GetID() << GetProtoID() << m_proto->m_sPid + << m_sSize << m_iWeapon_1 << m_iWeapon_2 + << GetZoneID() << GetName() + << (m_proto->m_byGroupSpecial > 0 ? m_proto->m_byGroupSpecial : GetNation()) << GetLevel() + << GetX() << GetZ() << GetY() << m_byDirection + << GetType() + << m_iSellingGroup << m_iMaxHP << m_iHP + << m_byGateOpen + << m_fTotalHitrate << m_fTotalEvasionrate + << m_sTotalAc << m_sTotalHit + << m_byObjectType << m_byTrapNumber + << m_bMonster << m_oSocketID << m_bEventRoom + // Include resistance data, note that we don't need to send modified amounts as + // there's no skill handling here - it happens in GameServer. + // We will probably need to update the AI server (from GameServer) with this data. + << m_sFireR << m_sColdR << m_sLightningR + << m_sMagicR << m_sDiseaseR << m_sPoisonR + << m_bIsEventNpc << nIsPet << strPetName << strUserName << nSerial << UserId; +} + +int CNpc::GetDir(float x1, float z1, float x2, float z2) +{ + int nDir; // 3 4 5 + // 2 8 6 + // 1 0 7 + + int nDirCount = 0; + + int x11 = (int)x1 / TILE_SIZE; + int y11 = (int)z1 / TILE_SIZE; + int x22 = (int)x2 / TILE_SIZE; + int y22 = (int)z2 / TILE_SIZE; + + int deltax = x22 - x11; + int deltay = y22 - y11; + + int fx = ((int)x1/TILE_SIZE) * TILE_SIZE; + int fy = ((int)z1/TILE_SIZE) * TILE_SIZE; + + float add_x = x1 - fx; + float add_y = z1 - fy; + + if (deltay==0) { + if (x22>x11) nDir = DIR_RIGHT; + else nDir = DIR_LEFT; + goto result_value; + } + if (deltax==0) + { + if (y22>y11) nDir = DIR_DOWN; + else nDir = DIR_UP; + goto result_value; + } + else + { + if (y22>y11) + { + if (x22>x11) + nDir = DIR_DOWNRIGHT; + else + nDir = DIR_DOWNLEFT; + } + else + { + if (x22 > x11) + nDir = DIR_UPRIGHT; + else + nDir = DIR_UPLEFT; + } + } + +result_value: + + switch(nDir) + { + case DIR_DOWN: + m_fAdd_x = add_x; + m_fAdd_z = 3; + break; + case DIR_DOWNLEFT: + m_fAdd_x = 1; + m_fAdd_z = 3; + break; + case DIR_LEFT: + m_fAdd_x = 1; + m_fAdd_z = add_y; + break; + case DIR_UPLEFT: + m_fAdd_x = 1; + m_fAdd_z = 1; + break; + case DIR_UP: + m_fAdd_x = add_x; + m_fAdd_z = 1; + break; + case DIR_UPRIGHT: + m_fAdd_x = 3; + m_fAdd_z = 1; + break; + case DIR_RIGHT: + m_fAdd_x = 3; + m_fAdd_z = add_y; + break; + case DIR_DOWNRIGHT: + m_fAdd_x = 3; + m_fAdd_z = 3; + break; + } + + return nDir; +} + +void CNpc::NpcMoveEnd() +{ + RegisterRegion(GetX(), GetZ()); + SendMoveResult(GetX(), GetY(), GetZ(), (float)m_sSpeed / 1000); +} + +void CNpc::GetVectorPosition(__Vector3 & vOrig, __Vector3 & vDest, float fDis, __Vector3 * vResult) +{ + *vResult = vDest - vOrig; + vResult->Magnitude(); + vResult->Normalize(); + *vResult *= fDis; + *vResult += vOrig; +} + +float CNpc::GetDistance(__Vector3 & vOrig, __Vector3 & vDest) +{ + return (vOrig - vDest).Magnitude(); +} + +bool CNpc::GetUserInView() +{ + MAP* pMap = GetMap(); + if (pMap == nullptr) return false; + //if( m_ZoneIndex > 5 || m_ZoneIndex < 0) return false; // ÀÓ½ÃÄÚµå ( 2002.03.24 ) + int min_x = (int)(GetX() - NPC_VIEW_RANGE)/VIEW_DIST; if(min_x < 0) min_x = 0; + int min_z = (int)(GetZ() - NPC_VIEW_RANGE)/VIEW_DIST; if(min_z < 0) min_z = 0; + int max_x = (int)(GetX() + NPC_VIEW_RANGE)/VIEW_DIST; if(max_x > pMap->GetXRegionMax()) max_x = pMap->GetXRegionMax(); + int max_z = (int)(GetZ() + NPC_VIEW_RANGE)/VIEW_DIST; if(max_z > pMap->GetZRegionMax()) max_z = pMap->GetZRegionMax(); + + int search_x = max_x - min_x + 1; + int search_z = max_z - min_z + 1; + + bool bFlag = false; + int i, j; + + for(i = 0; i < search_x; i++) { + for(j = 0; j < search_z; j++) { + bFlag = GetUserInViewRange(min_x+i, min_z+j); + if(bFlag == true) return true; + } + } + + return false; +} + +bool CNpc::GetUserInViewRange(int x, int z) +{ + MAP* pMap = GetMap(); + if (pMap == nullptr || x < 0 || z < 0 || x > pMap->GetXRegionMax() || z > pMap->GetZRegionMax()) + { + TRACE("#### Npc-GetUserInViewRange() Fail : [nid=%d, sid=%d], x1=%d, z1=%d #####\n", GetID(), GetProtoID(), x, z); + return false; + } + + Guard lock(pMap->m_lock); + CRegion * pRegion = pMap->GetRegion(x, z); + + if (pRegion == nullptr) + return false; + + float fDis = 0.0f; + + foreach_stlmap (itr, pRegion->m_RegionUserArray) + { + CUser *pUser = g_pMain->GetUserPtr(*itr->second); + if (pUser == nullptr) + continue; + + if (isInRangeSlow(pUser, NPC_VIEW_RANGE)) + return true; + } + + return false; +} + +void CNpc::CalcAdaptivePosition(__Vector3 & vPosOrig, __Vector3 & vPosDest, float fAttackDistance, __Vector3 * vResult) +{ + *vResult = vPosOrig - vPosDest; + vResult->Normalize(); + *vResult *= fAttackDistance; + *vResult += vPosDest; +} + +bool CNpc::IsPathFindCheck(float fDistance) +{ + int nX = 0, nZ = 0; + __Vector3 vStart, vEnd, vDis, vOldDis; + float fDis = 0.0f; + vStart.Set(m_fStartPoint_X, 0, m_fStartPoint_Y); + vEnd.Set(m_fEndPoint_X, 0, m_fEndPoint_Y); + vDis.Set(m_fStartPoint_X, 0, m_fStartPoint_Y); + int count = 0; + int nError = 0; + + MAP* pMap = GetMap(); + + nX = (int)(vStart.x / TILE_SIZE); + nZ = (int)(vStart.z / TILE_SIZE); + if (pMap->IsMovable(nX, nZ)) + return false; + + nX = (int)(vEnd.x / TILE_SIZE); + nZ = (int)(vEnd.z / TILE_SIZE); + if (pMap->IsMovable(nX, nZ)) + return false; + + do + { + vOldDis.Set(vDis.x, 0, vDis.z); + GetVectorPosition(vDis, vEnd, fDistance, &vDis); + fDis = GetDistance(vOldDis, vEnd); + + if (fDis > NPC_MAX_MOVE_RANGE) + { + nError = -1; + break; + } + + nX = (int)(vDis.x / TILE_SIZE); + nZ = (int)(vDis.z / TILE_SIZE); + + if (pMap->IsMovable(nX, nZ) + || count >= MAX_PATH_LINE) + { + nError = -1; + break; + } + + m_pPoint[count].fXPos = vEnd.x; + m_pPoint[count++].fZPos = vEnd.z; + + } while (fDis <= fDistance); + + m_iAniFrameIndex = count; + + if (nError == -1) + return false; + + return true; +} + +// ÆĞ½º ÆÄÀε带 ÇÏÁö ¾Ê°í °ø°İ´ë»óÀ¸·Î °¡´Â ·çƾ.. +void CNpc::IsNoPathFind(float fDistance) +{ + ClearPathFindData(); + m_bPathFlag = true; + + int nX = 0, nZ = 0; + __Vector3 vStart, vEnd, vDis, vOldDis; + float fDis = 0.0f; + vStart.Set(m_fStartPoint_X, 0, m_fStartPoint_Y); + vEnd.Set(m_fEndPoint_X, 0, m_fEndPoint_Y); + vDis.Set(m_fStartPoint_X, 0, m_fStartPoint_Y); + int count = 0; + int nError = 0; + + + fDis = GetDistance(vStart, vEnd); + if (fDis > NPC_MAX_MOVE_RANGE) { + ClearPathFindData(); + TRACE("#### Npc-IsNoPathFind Fail : NPC_MAX_MOVE_RANGE overflow .. [nid = %d, name=%s], cur_x=%.2f, z=%.2f, dest_x=%.2f, dest_z=%.2f, fDis=%.2f#####\n", + GetID(), GetName().c_str(), m_fStartPoint_X, m_fStartPoint_Y, m_fEndPoint_X, m_fEndPoint_Y, fDis); + return; + } + + + if (GetMap() == nullptr) + { + ClearPathFindData(); + TRACE("#### Npc-IsNoPathFind No map : [nid=%d, name=%s], zone=%d #####\n", GetID(), GetName().c_str(), GetZoneID()); + return; + } + MAP* pMap = GetMap(); + + + vOldDis.Set(vDis.x, 0, vDis.z); + fDis = GetDistance(vOldDis, vEnd); + + + if (count < 0 || count >= MAX_PATH_LINE) + count = 0; + + + + GetVectorPosition(vDis, vEnd, fDistance, &vDis); + NpcCalling(fDis,fDistance, vOldDis, vDis); + + if (count <= 0 || count >= MAX_PATH_LINE) { + ClearPathFindData(); + TRACE("#### IsNoPtahfind Fail : nid=%d,%s, count=%d ####\n", GetID(), GetName().c_str(), count); + return; + } + m_iAniFrameIndex = count; + + +} + +void CNpc::GiveNpcHaveItem() +{ + bool isMonsterStone = false; + if (m_sMaxDamageUserid < 0 || m_sMaxDamageUserid > MAX_USER) + return; + + int iPer = 0, iMakeItemCode = 0, iMoney = 0, iRandom, nCount = 0; + + iRandom = myrand(70, 100); + iMoney = m_iMoney * iRandom / 100; + + _NpcGiveItem m_GiveItemList[NPC_HAVE_ITEM_LIST]; + if (iMoney > 0) + { + if (iMoney >= SHRT_MAX) + iMoney = 32000; + + m_GiveItemList[nCount].sSid = TYPE_MONEY_SID; + m_GiveItemList[nCount++].count = iMoney; + } + + _K_MONSTER_ITEM * pItem = g_pMain->m_NpcItemArray.GetData(m_iItem); + if (pItem != nullptr) + { + + isMonsterStone = false; + // j = iItem + for (int j = 0; j < 5; j++) + { + + iMakeItemCode = 0; + iRandom = myrand(1, 10000); + + // Boş itemler + if (pItem->iItem[j] == 0 || pItem->sPercent[j] == 0) + { + iPer = MONSTERSTONEDROPRATE; + if(iRandom <= iPer && !isMonsterStone) + { + m_GiveItemList[nCount].sSid = ITEM_MONSTER_STONE; + m_GiveItemList[nCount].count = 1; + isMonsterStone = true; + nCount++; + } + + continue; + } + + + iPer = pItem->sPercent[j]; + // iRandom > iPer item çıkmadı ve Monster Stonede çıkmamışsa Monster stone ihtimalleri + if(iRandom > iPer && !isMonsterStone) + { + if(iRandom <= MONSTERSTONEDROPRATE) + { + m_GiveItemList[nCount].sSid = ITEM_MONSTER_STONE; + m_GiveItemList[nCount].count = 1; + isMonsterStone = true; + nCount++; + } + continue; + + } + else if(iRandom > iPer)// İtem çıkmadıysa devam + continue; + + // Item çıktı + // ItemProdution + if (pItem->iItem[j] < 100) + iMakeItemCode = ItemProdution(pItem->iItem[j]); + // ItemGroups + else if(pItem->iItem[j] < 100000000) + { + _MAKE_ITEM_GROUP * pGroup = g_pMain->m_MakeItemGroupArray.GetData(pItem->iItem[j]); + if (pGroup == nullptr) + continue; + + iMakeItemCode = pGroup->iItems[myrand(1, pGroup->iItems.size()) - 1]; + } + + if (iMakeItemCode == 0 && pItem->iItem[j] < 100000000) + continue; + else if(iMakeItemCode == 0) + iMakeItemCode = pItem->iItem[j]; + // Normal items + m_GiveItemList[nCount].sSid = iMakeItemCode; + + if (m_GiveItemList[nCount].sSid == 391010000) + m_GiveItemList[nCount].count = 20; + else + m_GiveItemList[nCount].count = 1; + + nCount++; + } + } + + Packet result(AG_NPC_GIVE_ITEM); + result << m_sMaxDamageUserid << GetID() + << GetZoneID() << GetRegionX() << GetRegionZ() + << GetX() << GetZ() << GetY() + << uint8(nCount); + + for (int i = 0; i < nCount; i++) + result << m_GiveItemList[i].sSid << m_GiveItemList[i].count; + + g_pMain->Send(&result); +} + + +void CNpc::Yaw2D(float fDirX, float fDirZ, float& fYawResult) +{ + if ( fDirX >= 0.0f ) + { + if ( fDirZ >= 0.0f ) + fYawResult = (float)(asin(fDirX)); + else + fYawResult = D3DXToRadian(90.0f) + (float)(acos(fDirX)); + } + else + { + if ( fDirZ >= 0.0f ) + fYawResult = D3DXToRadian(270.0f) + (float)(acos(-fDirX)); + else + fYawResult = D3DXToRadian(180.0f) + (float)(asin(-fDirX)); + } +} + +void CNpc::ComputeDestPos(__Vector3 & vCur, float fDegree, float fDistance, __Vector3 * vResult) +{ + __Matrix44 mtxRot; + vResult->Set(0.0f, 0.0f, 1.0f); + mtxRot.RotationY(D3DXToRadian(fDegree)); + *vResult *= mtxRot; + *vResult *= fDistance; + *vResult += vCur; +} + +void CNpc::HpChange() +{ + m_fHPChangeTime = getMSTime(); + + if (isDead() + || GetHealth() == GetMaxHealth()) + return; + + HpChange((int)(m_iMaxHP / 20)); +} + +bool CNpc::CheckFindEnemy() +{ + if (isGuard()) + return true; + + MAP* pMap = GetMap(); + + if (pMap == nullptr) + return false; + + if (pMap->GetRegion(GetRegionX(),GetRegionZ()) == nullptr) + return false; + else + return true; + + return false; +} + +int CNpc::ItemProdution(int item_number) // ¾ÆÀÌÅÛ Á¦ÀÛ +{ + int iItemNumber = 0, iRandom = 0, i=0, iItemGrade = 0, iItemLevel = 0; + int iDefault = 0, iItemCode=0, iItemKey=0, iRand2=0, iRand3=0, iRand4=0, iRand5=0; + int iTemp1 = 0, iTemp2 = 0, iTemp3 = 0; + + iRandom = myrand(1, 10000); + + iItemGrade = GetItemGrade(item_number); + if(iItemGrade == 0) return 0; + iItemLevel = GetLevel() / 5; + + if( COMPARE( iRandom, 1, 4001) ) { // ¹«±â±¸ ¾ÆÀÌÅÛ + iDefault = 100000000; + iRandom = myrand( 1, 10000 ); // ¹«±âÀÇ Á¾·ù¸¦ °áÁ¤(´Ü°Ë, °Ë, µµ³¢,,,,) + if( COMPARE ( iRandom, 1, 701 ) ) iRand2 = 10000000; + else if( COMPARE ( iRandom, 701, 1401 ) ) iRand2 = 20000000; + else if( COMPARE ( iRandom, 1401, 2101 ) ) iRand2 = 30000000; + else if( COMPARE ( iRandom, 2101, 2801 ) ) iRand2 = 40000000; + else if( COMPARE ( iRandom, 2801, 3501 ) ) iRand2 = 50000000; + else if( COMPARE ( iRandom, 3501, 5501 ) ) iRand2 = 60000000; + else if( COMPARE ( iRandom, 5501, 6501 ) ) iRand2 = 70000000; + else if( COMPARE ( iRandom, 6501, 8501 ) ) iRand2 = 80000000; + else if( COMPARE ( iRandom, 8501, 10001 ) ) iRand2 = 90000000; + + iTemp1 = GetWeaponItemCodeNumber(true); + //TRACE("ItemProdution : GetWeaponItemCodeNumber() = %d, iRand2=%d\n", iTemp1, iRand2); + if( iTemp1 == 0 ) return 0; + iItemCode = iTemp1 * 100000; // ·çÆÃºĞÆ÷Ç¥ ÂüÁ¶ + + iRand3 = myrand(1, 10000); // Á¾Á·(¿¤¸ğ, Ä«·ç½º) + if( COMPARE( iRand3, 1, 5000) ) iRand3 = 10000; + else iRand3 = 50000; + iRand4 = myrand(1, 10000); // ÇѼÕ, ¾ç¼Õ¹«±âÀÎÁö¸¦ °áÁ¤ + if( COMPARE( iRand4, 1, 5000) ) iRand4 = 0; + else iRand4 = 5000000; + + iRandom = GetItemCodeNumber(iItemLevel, 1); // ·¹À̸ÅÁ÷Ç¥ Àû¿ë + //TRACE("ItemProdution : GetItemCodeNumber() = %d, iRand2=%d, iRand3=%d, iRand4=%d\n", iRandom, iRand2, iRand3, iRand4); + if(iRandom == -1) { // À߸øµÈ ¾ÆÀÌÅÛ »ı¼º½ÇÆĞ + return 0; + } + iRand5 = iRandom * 10; + iItemNumber = iDefault + iItemCode + iRand2 + iRand3 + iRand4 + iRand5 + iItemGrade; + + //TRACE("ItemProdution : Weapon Success item_number = %d, default=%d, itemcode=%d, iRand2=%d, iRand3=%d, iRand4=%d, iRand5, iItemGrade=%d\n", iItemNumber, iDefault, iItemCode, iRand2, iRand3, iRand4, iRand5, iItemGrade); + } + else if( COMPARE( iRandom, 4001, 8001) ) { // ¹æ¾î±¸ ¾ÆÀÌÅÛ + iDefault = 200000000; + + iTemp1 = GetWeaponItemCodeNumber(false); + //TRACE("ItemProdution : GetWeaponItemCodeNumber() = %d\n", iTemp1 ); + if( iTemp1 == 0 ) return 0; + iItemCode = iTemp1 * 1000000; // ·çÆÃºĞÆ÷Ç¥ ÂüÁ¶ + + if( m_byMaxDamagedNation == KARUS ) { // Á¾Á· + iRandom = myrand(0, 10000); // Á÷¾÷ÀÇ °©¿ÊÀ» °áÁ¤ + if( COMPARE( iRandom, 0, 2000) ) { + iRand2 = 0; + iRand3 = 10000; // Àü»ç°©¿ÊÀº ¾ÆÅ©Åõ¾Æ·º¸¸ °¡Áöµµ·Ï + } + else if( COMPARE( iRandom, 2000, 4000) ) { + iRand2 = 40000000; + iRand3 = 20000; // ·Î±×°©¿ÊÀº Åõ¾Æ·º¸¸ °¡Áöµµ·Ï + } + else if( COMPARE( iRandom, 4000, 6000) ) { + iRand2 = 60000000; + iRand3 = 30000; // ¸¶¹ı»ç°©¿ÊÀº ¸µÅ¬ Åõ¾Æ·º¸¸ °¡Áöµµ·Ï + } + else if( COMPARE( iRandom, 6000, 10001) ) { + iRand2 = 80000000; + iRandom = myrand(0, 10000); + if( COMPARE( iRandom, 0, 5000) ) iRand3 = 20000; // »çÁ¦°©¿ÊÀº Åõ¾Æ·º + else iRand3 = 40000; // »çÁ¦°©¿ÊÀº Ç»¸®Åõ¾Æ·º + } + } + else if( m_byMaxDamagedNation == ELMORAD ) { + iRandom = myrand(0, 10000); // Á÷¾÷ÀÇ °©¿ÊÀ» °áÁ¤ + if( COMPARE( iRandom, 0, 3300) ) { + iRand2 = 0; + iItemKey = myrand(0, 10000); // Àü»ç°©¿ÊÀº ¸ğµç Á¾Á·ÀÌ °¡Áü + if( COMPARE( iItemKey, 0, 3333) ) iRand3 = 110000; + else if( COMPARE( iItemKey, 3333, 6666) ) iRand3 = 120000; + else if( COMPARE( iItemKey, 6666, 10001) ) iRand3 = 130000; + } + else if( COMPARE( iRandom, 3300, 5600) ) { + iRand2 = 40000000; + iItemKey = myrand(0, 10000); // ·Î±×°©¿ÊÀº ³²ÀÚ¿Í ¿©ÀÚ¸¸ °¡Áü + if( COMPARE( iItemKey, 0, 5000) ) iRand3 = 120000; + else iRand3 = 130000; + } + else if( COMPARE( iRandom, 5600, 7800) ) { + iRand2 = 60000000; + iItemKey = myrand(0, 10000); // ¸¶¹ı»ç°©¿ÊÀº ³²ÀÚ¿Í ¿©ÀÚ¸¸ °¡Áü + if( COMPARE( iItemKey, 0, 5000) ) iRand3 = 120000; + else iRand3 = 130000; + } + else if( COMPARE( iRandom, 7800, 10001) ) { + iRand2 = 80000000; + iItemKey = myrand(0, 10000); // »çÁ¦°©¿ÊÀº ³²ÀÚ¿Í ¿©ÀÚ¸¸ °¡Áü + if( COMPARE( iItemKey, 0, 5000) ) iRand3 = 120000; + else iRand3 = 130000; + } + + } + + iTemp2 = myrand(0, 10000); // ¸öÀÇ ºÎÀ§ ¾ÆÀÌÅÛ °áÁ¤ + if( COMPARE( iTemp2, 0, 2000) ) iRand4 = 1000; + else if( COMPARE( iTemp2, 2000, 4000) ) iRand4 = 2000; + else if( COMPARE( iTemp2, 4000, 6000) ) iRand4 = 3000; + else if( COMPARE( iTemp2, 6000, 8000) ) iRand4 = 4000; + else if( COMPARE( iTemp2, 8000, 10001) ) iRand4 = 5000; + iRandom = GetItemCodeNumber(iItemLevel, 2); // ·¹À̸ÅÁ÷Ç¥ Àû¿ë + if(iRandom == -1) { // À߸øµÈ ¾ÆÀÌÅÛ »ı¼º½ÇÆĞ + return 0; + } + iRand5 = iRandom * 10; + iItemNumber = iDefault + iRand2 + iItemCode + iRand3 + iRand4 + iRand5 + iItemGrade; // iItemGrade : ¾ÆÀÌÅÛ µî±Ş»ı¼ºÇ¥ Àû¿ë + //TRACE("ItemProdution : Defensive Success item_number = %d, default=%d, iRand2=%d, itemcode=%d, iRand3=%d, iRand4=%d, iRand5, iItemGrade=%d\n", iItemNumber, iDefault, iRand2, iItemCode, iRand3, iRand4, iRand5, iItemGrade); + } + else if( COMPARE( iRandom, 8001, 10001) ) { // ¾Ç¼¼»ç¸® ¾ÆÀÌÅÛ + iDefault = 300000000; + iRandom = myrand(0, 10000); // ¾Ç¼¼»ç¸® Á¾·ù°áÁ¤(±Í°í¸®, ¸ñ°ÉÀÌ, ¹İÁö, º§Æ®) + if( COMPARE( iRandom, 0, 2500) ) iRand2 = 10000000; + else if( COMPARE( iRandom, 2500, 5000) ) iRand2 = 20000000; + else if( COMPARE( iRandom, 5000, 7500) ) iRand2 = 30000000; + else if( COMPARE( iRandom, 7500, 10001) ) iRand2 = 40000000; + iRand3 = myrand(1, 10000); // Á¾Á·(¿¤¸ğ¶óµå, Ä«·ç½º) + if( COMPARE( iRand3, 1, 5000) ) iRand3 = 110000; + else iRand3 = 150000; + iRandom = GetItemCodeNumber(iItemLevel, 3); // ·¹À̸ÅÁ÷Ç¥ Àû¿ë + //TRACE("ItemProdution : GetItemCodeNumber() = %d\n", iRandom); + if(iRandom == -1) { // À߸øµÈ ¾ÆÀÌÅÛ »ı¼º½ÇÆĞ + return 0; + } + iRand4 = iRandom * 10; + iItemNumber = iDefault + iRand2 + iRand3 + iRand4 + iItemGrade; + //TRACE("ItemProdution : Accessary Success item_number = %d, default=%d, iRand2=%d, iRand3=%d, iRand4=%d, iItemGrade=%d\n", iItemNumber, iDefault, iRand2, iRand3, iRand4, iItemGrade); + } + + return iItemNumber; +} + +int CNpc::GetItemGrade(int item_grade) +{ + int iPercent = 0, iRandom = 0, i=0; + _MAKE_ITEM_GRADE_CODE* pItemData = nullptr; + + iRandom = myrand(1, 1000); + pItemData = g_pMain->m_MakeGradeItemArray.GetData(item_grade); + if(pItemData == nullptr) return 0; + + + for(i=0; i<9; i++) { + if(i == 0) { + if(pItemData->sGrade[i] == 0) { + iPercent += pItemData->sGrade[i]; + continue; + } + if( COMPARE( iRandom, 0, pItemData->sGrade[i]) ) return i+1; + else { + iPercent += pItemData->sGrade[i]; + continue; + } + } + else { + if(pItemData->sGrade[i] == 0) { + iPercent += pItemData->sGrade[i]; + continue; + } + + if( COMPARE( iRandom, iPercent, iPercent+pItemData->sGrade[i]) ) return i+1; + else { + iPercent += pItemData->sGrade[i]; + continue; + } + } + + } + + return 0; +} + +int CNpc::GetWeaponItemCodeNumber(bool bWeapon) +{ + _MAKE_WEAPON * pItemData = nullptr; + + if (bWeapon) + pItemData = g_pMain->m_MakeWeaponItemArray.GetData(GetLevel() / 10); + else + pItemData = g_pMain->m_MakeDefensiveItemArray.GetData(GetLevel() / 10); + + if (pItemData == nullptr) + return 0; + + for (int i = 0, iPercent = 0, iRandom = myrand(0, 1000); i < MAX_UPGRADE_WEAPON; i++) + { + if (pItemData->sClass[i] == 0) + { + iPercent += pItemData->sClass[i]; + continue; + } + + if (COMPARE(iRandom, iPercent, iPercent + pItemData->sClass[i])) + return i + 1; + + iPercent += pItemData->sClass[i]; + } + + return 0; +} + +int CNpc::GetItemCodeNumber(int level, int item_type) +{ + int iItemCode = 0, iItemType = 0, iPercent = 0; + + _MAKE_ITEM_LARE_CODE * pItemData = g_pMain->m_MakeLareItemArray.GetData(level); + if (pItemData == nullptr) + return -1; + + int iItemPercent[] = { pItemData->sLareItem, pItemData->sMagicItem, pItemData->sGeneralItem }; + int iRandom = myrand(0, 1000); + for (int i = 0; i < 3; i++) + { + if (i == 0) + { + if (COMPARE(iRandom, 0, iItemPercent[i])) + { + iItemType = i+1; + break; + } + else + { + iPercent += iItemPercent[i]; + continue; + } + } + else + { + if (COMPARE(iRandom, iPercent, iPercent+iItemPercent[i])) + { + iItemType = i+1; + break; + } + else { + iPercent += iItemPercent[i]; + continue; + } + } + } + + switch (iItemType) + { + case 1: // lare item + if (item_type == 1) + iItemCode = myrand(16, 24); + else if (item_type == 2) + iItemCode = myrand(12, 24); + else if (item_type == 3) + iItemCode = myrand(0, 10); + break; + + case 2: // magic item + if (item_type == 1) + iItemCode = myrand(6, 15); + else if (item_type == 2) + iItemCode = myrand(6, 11); + else if (item_type == 3) + iItemCode = myrand(0, 10); + break; + + case 3: // general item + if (item_type == 1 + || item_type == 2) + iItemCode = 5; + else if (item_type == 3) + iItemCode = myrand(0, 10); + break; + } + + return iItemCode; +} + +time_t CNpc::NpcSleeping() +{ + if (!g_pMain->m_bIsNight) + { + m_NpcState = NPC_STANDING; + return m_Delay; + } + + m_NpcState = NPC_SLEEPING; + return m_sStandTime; +} + +time_t CNpc::NpcFainting() +{ + if (UNIXTIME < (m_tFaintingTime + FAINTING_TIME)) + return -1; + + m_NpcState = NPC_STANDING; + m_tFaintingTime = 0; + return 0; +} + +time_t CNpc::NpcHealing() +{ + if (!isHealer()) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + auto result = IsCloseTarget(m_byAttackRange, AttackTypeMagic); + if (result == CloseTargetNotInRange) + { + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return 0; + } + else if (result == CloseTargetInAttackRange) + { + if (GetProto()->m_byDirectAttack == 2) + return LongAndMagicAttack(); + + + m_sStepCount = 0; + m_byActionFlag = ATTACK_TO_TRACE; + m_NpcState = NPC_TRACING; + return 0; + } + else if (result == CloseTargetInvalid) + { + m_NpcState = NPC_STANDING; + InitTarget(); + return 0; + } + + if (hasTarget() + && m_Target.id >= NPC_BAND) + { + CNpc * pNpc = g_pMain->GetNpcPtr(m_Target.id); + if (pNpc == nullptr + || pNpc->isDead()) + { + InitTarget(); + return m_sStandTime; + } + + int iHP = (int)(pNpc->GetMaxHealth() * 0.9); + if (pNpc->GetHealth() >= iHP) + { + InitTarget(); + } + else + { + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, m_proto->m_iMagic3, GetID(), m_Target.id); + return m_sAttackDelay; + } + } + + int iMonsterNid = FindFriend(MonSearchNeedsHealing); + if (iMonsterNid == 0) + { + InitTarget(); + m_NpcState = NPC_STANDING; + return m_sStandTime; + } + + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, m_proto->m_iMagic3, GetID(), iMonsterNid); + return m_sAttackDelay; +} + +time_t CNpc::NpcCasting() +{ + if (isDead()) + return -1; + + // Officially the attack delay overlaps with the cast time, so more often than not + // by the time the skill's cast, there should be very little to no delay for all cases I can see. + // Regardless, we'll allow for longer delays if set. + // NOTE: If it goes below 0 (which it will most of the time), the caller won't care to handle it. + time_t tAttackDelay = m_sAttackDelay - m_sActiveCastTime; + + CNpcMagicProcess::MagicPacket(MAGIC_EFFECTING, m_nActiveSkillID, GetID(), m_sActiveTargetID); + + m_NpcState = m_OldNpcState; + m_nActiveSkillID = 0; + m_sActiveTargetID = -1; + m_sActiveCastTime = 0; + + return tAttackDelay; +} + +int CNpc::GetPartyExp(int party_level, int man, int nNpcExp) +{ + int nPartyExp = 0; + int nLevel = party_level / man; + double TempValue = 0; + nLevel = GetLevel() - nLevel; + + if (nLevel < 2) + { + nPartyExp = nNpcExp; // x1 + } + else if (nLevel >= 2 && nLevel < 5) + { + TempValue = nNpcExp * 1.1; // x1.1 + nPartyExp = (int)TempValue; + if (TempValue > nPartyExp) + nPartyExp++; + } + else if (nLevel >= 5 && nLevel < 8) + { + TempValue = nNpcExp * 1.2; // x1.2 + nPartyExp = (int)TempValue; + if (TempValue > nPartyExp) + nPartyExp++; + } + else if (nLevel >= 8) + { + TempValue = nNpcExp * 1.3; // x1.3 + nPartyExp = (int)TempValue; + } + + return nPartyExp; +} + +void CNpc::ChangeAbility(int iChangeType) +{ + if (iChangeType > 2) + return; + + int nHP = 0, nAC=0, nDamage=0, nMagicR=0, nDiseaseR=0, nPoisonR=0, nLightningR=0, nFireR=0, nColdR=0; + CNpcTable* pNpcTable = GetProto(); + + if (iChangeType == BATTLEZONE_OPEN) + { + nHP = (int)(pNpcTable->m_iMaxHP / 2); + nAC = (int)(pNpcTable->m_sDefense * 0.2); + nDamage = (int)(pNpcTable->m_sDamage * 0.3); + nMagicR = (int)(pNpcTable->m_byMagicR / 2); + nDiseaseR = (int)(pNpcTable->m_byDiseaseR / 2); + nPoisonR = (int)(pNpcTable->m_byPoisonR / 2); + nLightningR = (int)(pNpcTable->m_byLightningR / 2); + nFireR = (int)(pNpcTable->m_byFireR / 2); + nColdR = (int)(pNpcTable->m_byColdR / 2); + m_iMaxHP = nHP; + + if (GetHealth() > nHP) + HpChange(); + + m_sTotalAc = nAC; + m_sTotalHit = nDamage; + m_sFireR = nFireR; + m_sColdR = nColdR; + m_sLightningR = nLightningR; + m_sMagicR = nMagicR; + m_sDiseaseR = nDiseaseR; + m_sPoisonR = nPoisonR; + } + else if (iChangeType == BATTLEZONE_CLOSE) + { + m_iMaxHP = pNpcTable->m_iMaxHP; + if (GetMaxHealth() > GetHealth()) + { + m_iHP = GetMaxHealth() - 50; + HpChange(); + } + + m_sTotalHit = pNpcTable->m_sDamage; + m_sTotalAc = pNpcTable->m_sDefense; + m_sFireR = pNpcTable->m_byFireR; + m_sColdR = pNpcTable->m_byColdR; + m_sLightningR = pNpcTable->m_byLightningR; + m_sMagicR = pNpcTable->m_byMagicR; + m_sDiseaseR = pNpcTable->m_byDiseaseR; + m_sPoisonR = pNpcTable->m_byPoisonR; + } +} diff --git a/server/AIServer/Npc.h b/server/AIServer/Npc.h new file mode 100644 index 0000000..1d81975 --- /dev/null +++ b/server/AIServer/Npc.h @@ -0,0 +1,457 @@ +#pragma once + +#include "NpcTable.h" +#include "NpcMagicProcess.h" + +#define MAX_PATH_SIZE 100 + +#define NPC_MAX_USER_LIST 5 + +#define NPC_ATTACK_SHOUT 0 +#define NPC_SUBTYPE_LONG_MON 1 + +#define NPC_TRACING_STEP 100 + +#define NPC_HAVE_USER_LIST 100 +#define NPC_HAVE_ITEM_LIST 6 +#define NPC_PATTEN_LIST 5 +#define NPC_PATH_LIST 50 +#define NPC_MAX_PATH_LIST 10000 +#define NPC_EXP_RANGE 50.0f +#define NPC_EXP_PERSENT 50 + +#define NPC_SECFORMETER_MOVE 4 +#define NPC_SECFORMETER_RUN 4 +#define NPC_VIEW_RANGE 100.0f + +#define MAX_MAGIC_TYPE3 20 +#define MAX_MAGIC_TYPE4 9 + +struct _NpcSkillList +{ + short sSid; + uint8 tLevel; + uint8 tOnOff; +}; + +struct _NpcDamagedList +{ + uint16 GetID; + int Damage; + uint32 lastdamagedt; + + INLINE void Reset() + { + GetID = -1; + Damage = 0; + lastdamagedt = 0; + } +}; + +struct _NpcGiveItem +{ + int sSid; // item serial number + short count; // item ( ) +}; + +struct _Target +{ + uint16 id; // ݴ User uid + bool bSet; + float x; // User x pos + float y; // User y pos + float z; // User z pos +}; + +struct _PattenPos +{ + short x; + short z; +}; + +struct _PathList +{ + _PattenPos pPattenPos[NPC_MAX_PATH_LIST]; +}; + +struct _TargetHealer +{ + short sNID; // npc nid + short sValue; // +}; + +class MAP; + +#include "../GameServer/Unit.h" + +enum MonSearchType +{ + MonSearchSameFamily, // find any available mobs of the same family + MonSearchAny, // find any available mob + MonSearchNeedsHealing // find any mob that needs healing +}; + +enum CloseTargetResult +{ + CloseTargetInvalid, + CloseTargetNotInRange, + CloseTargetInGeneralRange, + CloseTargetInAttackRange +}; + +enum NpcSpecialType +{ + NpcSpecialTypeNone = 0, + NpcSpecialTypeCycleSpawn = 7, + NpcSpecialTypeKarusWarder1 = 90, + NpcSpecialTypeKarusWarder2 = 91, + NpcSpecialTypeElmoradWarder1 = 92, + NpcSpecialTypeElmoradWarder2 = 93, + NpcSpecialTypeKarusKeeper = 98, + NpcSpecialTypeElmoradKeeper = 99 +}; + +struct __Vector3; +class CNpc : public Unit +{ +public: + uint16 GetID() { return m_sNid; } + INLINE uint16 GetProtoID() { return GetProto()->m_sSid; } + std::string & GetName() { return GetProto()->m_strName; } + + int32 GetHealth() { return m_iHP; } + int32 GetMaxHealth() { return GetProto()->m_iMaxHP; } + int32 GetMana() { return m_sMP; } + int32 GetMaxMana() { return GetProto()->m_sMaxMP; } + + void GetInOut(Packet &, uint8) {} + void AddToRegion(int16 sRegionX, int16 sRegionZ) {} + + void HpChange(int amount, Unit *pAttacker = nullptr, bool bSendToGameServer = true); + void MSpChange(int amount) {} + void NpcCalling(float fDis,float fDistance, __Vector3 oPos, __Vector3 cPost); + + INLINE CNpcTable * GetProto() { return m_proto; } + INLINE uint8 GetType() { return GetProto()->m_tNpcType; } + + INLINE bool isHealer() { return GetType() == NPC_HEALER; } + + INLINE bool isGuard() + { + return GetType() == NPC_GUARD || GetType() == NPC_PATROL_GUARD || GetType() == NPC_STORE_GUARD; + } + + INLINE bool isGate() + { + return GetType() == NPC_GATE + || GetType() == NPC_GATE2 + || GetType() == NPC_PHOENIX_GATE + || GetType() == NPC_SPECIAL_GATE + || GetType() == NPC_VICTORY_GATE + || GetType() == NPC_GATE_LEVER + || GetType() == NPC_BORDER_MONUMENT; + } + + INLINE bool isArtifact() + { + return GetType() == NPC_ARTIFACT + || GetType() == NPC_DESTROYED_ARTIFACT + || GetType() == NPC_ARTIFACT1 + || GetType() == NPC_ARTIFACT2 + || GetType() == NPC_ARTIFACT3 + || GetType() == NPC_ARTIFACT4; + } + + INLINE bool isNonAttackingObject() { return isGate() || GetType() == NPC_GATE_LEVER || isArtifact() || GetType() == NPC_SCARECROW || GetType() == NPC_BORDER_MONUMENT || GetType() == NPC_CHAOS_STONE; } + INLINE bool isNonAttackableObject() { return GetType() == NPC_GATE_LEVER || GetType() == NPC_BORDER_MONUMENT; } + + INLINE bool isDead() { return m_NpcState == NPC_DEAD || m_iHP <= 0; } + INLINE bool isAlive() { return !isDead(); } + INLINE bool isMonster() { return m_bMonster; } + INLINE int GetMyPath() { return (m_sRealPathCount < 0) ? -m_sRealPathCount : m_sRealPathCount;} + INLINE bool hasTarget() { return m_Target.bSet; } + + CNpcTable *m_proto; + + _Target m_Target; // ,, + short m_ItemUserLevel; // ̻ ۸ ؾϴ Ƿ + + _NpcDamagedList m_DamagedUserList[NPC_HAVE_USER_LIST]; // max NPC_HAVE_USER_LIST? + std::recursive_mutex m_damageListLock; + + int m_TotalDamage; + short m_sMaxDamageUserid; // ְ ̵ .. + + _PathList m_PathList; // Npc н Ʈ + _PattenPos m_pPattenPos; // Npc ,, + + //int m_iPattenNumber; // Ϲȣ + short m_iPattenFrame; // ġ.. + + uint8 m_byMoveType; // NPC ൿŸ(̵) + uint8 m_byInitMoveType; // NPC ʱ ൿŸ(̵) + short m_sMaxPathCount, m_sRealPathCount; // NPC PathList Max Count + + bool nIsPet; + std::string strPetName, strUserName; + uint16 UserId; + uint64 nSerial; + bool m_bFirstLive; // NPC ó Ǵ ׾ Ƴ Ǵ. + uint8 m_OldNpcState, m_NpcState; + + short m_sNid; + + float m_nInitX; // ó ġ X + float m_nInitY; // ó ġ Y + float m_nInitZ; // ó ġ Z + + float m_fPrevX; // Prev X Pos; + float m_fPrevY; // Prev Y Pos; + float m_fPrevZ; // Prev Z Pos; + int m_DamagedUserListCount; // dmgx + // + // PathFind Info + // + short m_min_x; + short m_min_y; + short m_max_x; + short m_max_y; + + typedef struct { long cx; long cy; } Size; + Size m_vMapSize; + + float m_fStartPoint_X, m_fStartPoint_Y; + float m_fEndPoint_X, m_fEndPoint_Y; + + short m_sStepCount; + + CPathFind m_vPathFind; + _PathNode *m_pPath; + + int m_nInitMinX; // ʱġ + int m_nInitMinY; + int m_nInitMaxX; + int m_nInitMaxY; + + time_t m_fHPChangeTime; + time_t m_tFaintingTime; + time_t LastChangeTimeCC; + + //---------------------------------------------------------------- + // MONSTER DB ʿ ִ + //---------------------------------------------------------------- + short m_sSize; // ij (100 ۼƮ ) + int m_iWeapon_1; // + int m_iWeapon_2; // + uint8 m_byActType; // ൿ + uint8 m_byRank; // + uint8 m_byTitle; // + int m_iSellingGroup; // ׷(ǸŸ NPC 츸) + int m_iMaxHP; // ִ HP + short m_sMaxMP; // ִ MP + short m_sAttack; // ݰ( ..) + short m_sAttackDelay; // ݵ + short m_sSpeed; // ̵ӵ + float m_fSpeed_1; // ⺻ ̵ Ÿ (1ʿ ִ Ÿ) + float m_fSpeed_2; // ٴ ̵ Ÿ.. (1ʿ ִ Ÿ) + short m_sStandTime; // ִ ð + + uint8 m_bySearchRange; // Ž + uint8 m_byAttackRange; // Ÿ + uint8 m_byTracingRange; // ߰ Ÿ + + int m_iMoney; // + int m_iItem; // + + int m_iHP; // HP + short m_sMP; // MP + + float m_fSecForMetor; // ʴ ִ Ÿ.. + + //---------------------------------------------------------------- + // MONSTER AI õ + //---------------------------------------------------------------- + uint8 m_tNpcAttType; // : (1), İ(0) + bool m_bHasFriends; // When set, monsters behave in groups (defined by their family type) and will seek out help from nearby similar mobs. + uint8 m_byAttackPos; // User κп ϴ Ǵ(8) + uint8 m_byBattlePos; //  Ǵ.. + bool m_byGateOpen; // 쿡.. ... Gate Npc Status -> 1 : open 0 : close + uint8 m_byMaxDamagedNation; // .. (1:ī罺, 2:) + uint8 m_byObjectType; // 0, objectŸ(, ) 1 + uint8 m_byDungeonFamily; // йи ( ) + NpcSpecialType m_bySpecialType; // ° ϴ Ǵ(0: , 1:ϴ , + // 2:״° ϴ ( ), + // 3: ִ (Ͱ Ǵ ʹ ׵) + // 4:ϸ鼭 ״° ϴ (m_sControlSid) + // 5:ó ׾ִٰ ϴ ,, + // 6:ð Ŀ ൿϴ ,, + // 100:׾ ּ + uint8 m_byTrapNumber; // Ʈ ȣ,, + uint8 m_byChangeType; // 0:, 1:ϱ غ, 2:ٸͷ , 3: , 100: + uint8 m_byRegenType; // 0: .. , 1:ѹ ȵǴ Ư , 2: ȵ + uint8 m_byDeadType; // 0: ִ , 100:̺Ʈ + + + //---------------------------------------------------------------- + // MONSTER_POS DB ʿ ִ + //---------------------------------------------------------------- + time_t m_Delay; // this doesn't really need to be time_t, but we'll use it (at least for now) for consistency + time_t m_fDelayTime; // Npc Threadüũ Ÿ... + + uint8 m_byType; + int m_sRegenTime; // NPC ð + + int16 m_byDirection; + + int m_nLimitMinX; // Ȱ + int m_nLimitMinZ; + int m_nLimitMaxX; + int m_nLimitMaxZ; + + bool m_bIsEventNpc; + + float m_fAdd_x; + float m_fAdd_z; + + float m_fBattlePos_x; + float m_fBattlePos_z; + + float m_fSecForRealMoveMetor; // ʴ ִ Ÿ..( Ŭ̾Ʈ ִ Ÿ) + + bool m_bPathFlag; // н ε ࿩ üũ .. + + //---------------------------------------------------------------- + // NPC ̵ + //---------------------------------------------------------------- + _NpcPosition m_pPoint[MAX_PATH_LINE]; // ̵ ǥ + + short m_iAniFrameIndex; + short m_iAniFrameCount; + uint8 m_byPathCount; // н ̵ϴ ġ ʵ,, + bool m_bStopFollowingTarget; // when set, indicates that an NPC should stop following its target + uint8 m_byActionFlag; // ൿȭ ÷ ( 0 : ൿȭ , 1 : ݿ ߰) + + bool m_bTracing; + float m_fTracingStartX, m_fTracingStartZ; + + short m_iFind_X[4]; // find enemy ã Region˻翵 + short m_iFind_Y[4]; + + float m_fOldSpeed_1; // ⺻ ̵ Ÿ (1ʿ ִ Ÿ) + float m_fOldSpeed_2; // ٴ ̵ Ÿ.. (1ʿ ִ Ÿ) + + bool m_bMonster; + + uint32 m_nActiveSkillID; // ID of skill currently being cast + int16 m_sActiveTargetID; // ID of the target of the skill currently being cast + uint16 m_sActiveCastTime; // Cast time of the skill currently being cast (in seconds) + + bool m_bDelete; // when set, will remove the NPC from the server after execution. + + int16 m_oSocketID; // owner user + uint16 m_bEventRoom; + int UnixGateOpen, UnixGateClose; +public: + CNpc(); + virtual ~CNpc(); + + void Init(); // NPC ⺻ ʱȭ + void InitTarget(void); + void InitUserList(); + void InitPos(); + + void Load(uint16 sNpcID, CNpcTable * proto, bool bMonster, uint8 nation = 0); + void SendMoveResult(float fX, float fY, float fZ, float fSpeed = 0.0f); + +protected: + void ClearPathFindData(void); + +public: + + void FillNpcInfo(Packet & result); + void NpcStrategy(uint8 type); + int FindFriend(MonSearchType type = MonSearchSameFamily); + void FindFriendRegion(int x, int z, MAP* pMap, _TargetHealer* pHealer, MonSearchType type = MonSearchSameFamily); + bool IsCloseTarget(CUser *pUser, int nRange); + void SendExpToUserList(); + INLINE void SetNPCEventRoom(uint16 nEventRoom) { m_bEventRoom = nEventRoom; } + + void RecvAttackReq(int nDamage, uint16 sAttackerID, AttributeType attributeType = AttributeNone); + void ChangeTarget(int nAttackType, CUser *pUser); + void ChangeNTarget(CNpc *pNpc); + bool ResetPath(); + bool GetTargetPos(float& x, float& z); + bool IsChangePath(); + time_t Attack(); + time_t LongAndMagicAttack(); + void TracingAttack(); + int GetTargetPath(int option = 0); + CloseTargetResult IsCloseTarget(int nRange, AttackType attackType); + bool StepMove(); + bool StepNoPathMove(); + bool IsMovingEnd(); + int IsSurround(CUser* pUser); + bool IsDamagedUserList(CUser *pUser); + bool IsPathFindCheck(float fDistance); + void IsNoPathFind(float fDistance); + void GiveNpcHaveItem(); + + time_t NpcLive(); + time_t NpcTracing(); + time_t NpcAttacking(); + time_t NpcMoving(); + time_t NpcSleeping(); + time_t NpcFainting(); + time_t NpcHealing(); + time_t NpcCasting(); + time_t NpcStanding(); + time_t NpcBack(); + bool SetLive(); + void ChaosCubeControl(); + bool isInSpawnRange(int nX, int nZ); + bool RandomMove(); + bool RandomBackMove(); + bool IsInPathRange(); + int GetNearPathPoint(); + short GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + short GetDamage(CUser *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + short GetDamage(CNpc *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + + void SendAttackRequest(int16 tid); + + bool RegisterRegion(float x, float z); + void SendInOut(InOutType type); + void SendNpcInfo(); + void SendRegionUpdate(); + void Dead(Unit * pKiller = nullptr, bool bSendDeathPacket = true); + bool isShowBox(); + + bool FindEnemy(); + bool CheckFindEnemy(); + int FindEnemyRegion(); + float FindEnemyExpand(int nRX, int nRZ, float fCompDis, UnitType unitType); + int GetMyField(); + + int GetDir(float x1, float z1, float x2, float z2); + void NpcMoveEnd(); + + void GetVectorPosition(__Vector3 & vOrig, __Vector3 & vDest, float fDis, __Vector3 * vResult); + void CalcAdaptivePosition(__Vector3 & vPosOrig, __Vector3 & vPosDest, float fAttackDistance, __Vector3 * vResult); + void ComputeDestPos(__Vector3 & vCur, float fDegree, float fDistance, __Vector3 * vResult); + void Yaw2D(float fDirX, float fDirZ, float& fYawResult); + float GetDistance(__Vector3 & vOrig, __Vector3 & vDest); + int PathFind(CPoint start, CPoint end, float fDistance); + bool GetUserInView(); + bool GetUserInViewRange(int x, int z); + void MoveAttack(); + void HpChange(); + int ItemProdution(int item_number); + int GetItemGrade(int item_grade); + int GetItemCodeNumber(int level, int item_type); + int GetWeaponItemCodeNumber(bool bWeapon); + int GetPartyExp( int party_level, int man, int nNpcExp ); + void ChangeAbility(int iChangeType); + bool Teleport(); + + bool isHostileTo(Unit * pTarget); +}; diff --git a/server/AIServer/NpcMagicProcess.cpp b/server/AIServer/NpcMagicProcess.cpp new file mode 100644 index 0000000..dfc63e1 --- /dev/null +++ b/server/AIServer/NpcMagicProcess.cpp @@ -0,0 +1,35 @@ +#include "stdafx.h" +#include "NpcMagicProcess.h" +#include "ServerDlg.h" +#include "Npc.h" + +time_t CNpcMagicProcess::MagicPacket(uint8 opcode, uint32 nSkillID, int16 sCasterID, int16 sTargetID, int16 sData1, int16 sData2, int16 sData3) +{ + _MAGIC_TABLE * pSkill = g_pMain->m_MagictableArray.GetData(nSkillID); + if (pSkill == nullptr) + return -1; + + Packet result(AG_MAGIC_ATTACK_REQ, opcode); + result << nSkillID << sCasterID << sTargetID << sData1 << sData2 << sData3; + g_pMain->Send(&result); + + // NOTE: Client controls skill hits. + // Since we block these, we need to handle this ourselves. + // This WILL need to be rewritten once spawns are though, as it is HORRIBLE. + if (opcode != MAGIC_EFFECTING) + { + CNpc * pNpc = g_pMain->GetNpcPtr(sCasterID); + if (pNpc == nullptr) + return -1; + + pNpc->m_OldNpcState = pNpc->m_NpcState; + pNpc->m_NpcState = NPC_CASTING; + pNpc->m_nActiveSkillID = nSkillID; + pNpc->m_sActiveTargetID = sTargetID; + pNpc->m_sActiveCastTime = pSkill->bCastTime * MINUTE; + + return pNpc->m_sActiveCastTime; + } + + return -1; +} diff --git a/server/AIServer/NpcMagicProcess.h b/server/AIServer/NpcMagicProcess.h new file mode 100644 index 0000000..0520d6f --- /dev/null +++ b/server/AIServer/NpcMagicProcess.h @@ -0,0 +1,8 @@ +#pragma once + +class CNpcMagicProcess +{ +public: + static time_t MagicPacket(uint8 opcode, uint32 nSkillID, int16 sCasterID, int16 sTargetID, + int16 sData1 = 0, int16 sData2 = 0, int16 sData3 = 0); +}; diff --git a/server/AIServer/NpcTable.h b/server/AIServer/NpcTable.h new file mode 100644 index 0000000..5a7db36 --- /dev/null +++ b/server/AIServer/NpcTable.h @@ -0,0 +1,66 @@ +#pragma once + +#define MONSTER_SPEED 5000 + +class CNpcTable +{ +public: + uint16 m_sSid; // MONSTER(NPC) Serial ID + std::string m_strName; // MONSTER(NPC) Name + uint16 m_sPid; // MONSTER(NPC) Picture ID + uint16 m_sSize; // ij (100 ۼƮ ) + uint32 m_iWeapon_1; // 迭() + uint32 m_iWeapon_2; // 迭(޼) + uint8 m_byGroup; // Ҽ + uint8 m_byActType; // ൿ + uint8 m_tNpcType; // NPC Type + // 0 : Monster + // 1 : Normal NPC + uint8 m_byFamilyType; // ̿ 踦 Ѵ. + uint8 m_byRank; // + uint8 m_byTitle; // + uint32 m_iSellingGroup; // ׷(ǸŸ NPC 츸) + uint16 m_sLevel; // level + uint32 m_iExp; // ġ + uint32 m_iLoyalty; // loyalty + + uint32 m_iMaxHP; // ִ HP + uint16 m_sMaxMP; // ִ MP + + uint16 m_sAttack; // ݰ + uint16 m_sDefense; //  + uint16 m_sHitRate; // Ÿݼ + uint16 m_sEvadeRate; // ȸǼ + uint16 m_sDamage; // ⺻ + uint16 m_sAttackDelay; // ݵ + uint16 m_sSpeed; // ̵ӵ + uint8 m_bySpeed_1; // ⺻ ̵ Ÿ + uint8 m_bySpeed_2; // ٴ ̵ Ÿ.. + uint16 m_sStandTime; // ִ ð + uint32 m_iMagic1; // 븶 1 + uint32 m_iMagic2; // 븶 2 + uint32 m_iMagic3; // 븶 3 + + uint16 m_byFireR; // ȭ ׷ + uint16 m_byColdR; // ñ ׷ + uint16 m_byLightningR; // ׷ + uint16 m_byMagicR; // ׷ + uint16 m_byDiseaseR; // ׷ + uint16 m_byPoisonR; // ׷ + + float m_fBulk; + + uint8 m_bySearchRange; // Ž + uint8 m_byAttackRange; // Ÿ + uint8 m_byTracingRange; // ߰ݰŸ + + uint32 m_iMoney; // + uint16 m_iItem; // + uint8 m_byDirectAttack; // ݹ( 0 : , 1:հ(), 2:, ) + uint8 m_byMagicAttack; // ( 0: , 1:, 2:, 3:) + uint8 m_byGroupSpecial; + + CNpcTable() : m_sSpeed(MONSTER_SPEED) + { + } +}; \ No newline at end of file diff --git a/server/AIServer/NpcThread.cpp b/server/AIServer/NpcThread.cpp new file mode 100644 index 0000000..8217072 --- /dev/null +++ b/server/AIServer/NpcThread.cpp @@ -0,0 +1,221 @@ +#include "stdafx.h" +#include "NpcThread.h" +#include "Npc.h" + +#define DELAY 250 + +uint32 THREADCALL NpcThreadProc(void * pParam) +{ + try + { + CNpcThread* pInfo = (CNpcThread *)pParam; + + if (!pInfo) + return 0; + + CNpc *pNpc= nullptr; + CNpc *pNpcList[32768]; + time_t dwDiffTime = 0, dwTickTime = 0, fTime2 = 0; + int nTempTotalNPC, NpcCount = 0; + +ThreadReloadNPC: + NpcCount = 0; + foreach (itr, pInfo->m_pNpcs) + { + pNpcList[NpcCount] = *itr; + if (pNpcList[NpcCount] == nullptr) + continue; + + NpcCount++; + } + + nTempTotalNPC = g_pMain->m_TotalNPC; + + while (!g_bNpcExit) + { + fTime2 = getMSTime(); + + if (g_pMain->m_TotalNPC != nTempTotalNPC) + goto ThreadReloadNPC; + + for (int x = 0; x < NpcCount; x++) + { + try + { + pNpc = nullptr; + pNpc = pNpcList[x]; + + if (pNpc == nullptr) + continue; + + if(pNpc->GetID() < 0) + continue; + + + + dwTickTime = fTime2 - pNpc->m_fDelayTime; + + if (pNpc->m_Delay > (int)dwTickTime && !pNpc->m_bFirstLive && pNpc->m_Delay != 0) + { + if (pNpc->m_Delay < 0) + pNpc->m_Delay = 0; + + if (pNpc->m_NpcState == NPC_STANDING + && pNpc->CheckFindEnemy() + && pNpc->FindEnemy()) + { + pNpc->m_NpcState = NPC_ATTACKING; + pNpc->m_Delay = 0; + } + if (pNpc->GetName() != "Guard tower") + continue; + } + + + dwTickTime = fTime2 - pNpc->m_fHPChangeTime; + if (10000 < dwTickTime) + pNpc->HpChange(); + + uint8 bState = pNpc->m_NpcState; + time_t tDelay = -1; + switch (bState) + { + case NPC_LIVE: + tDelay = pNpc->NpcLive(); + break; + + case NPC_STANDING: + tDelay = pNpc->NpcStanding(); + break; + + case NPC_MOVING: + tDelay = pNpc->NpcMoving(); + break; + + case NPC_ATTACKING: + tDelay = pNpc->NpcAttacking(); + break; + + case NPC_TRACING: + tDelay = pNpc->NpcTracing(); + break; + + case NPC_FIGHTING: + tDelay = pNpc->Attack(); + break; + + case NPC_BACK: + tDelay = pNpc->NpcBack(); + break; + + case NPC_STRATEGY: + break; + + case NPC_DEAD: + pNpc->m_NpcState = NPC_LIVE; + break; + + case NPC_SLEEPING: + tDelay = pNpc->NpcSleeping(); + break; + + case NPC_FAINTING: + tDelay = pNpc->NpcFainting(); + break; + + case NPC_HEALING: + tDelay = pNpc->NpcHealing(); + break; + + case NPC_CASTING: + tDelay = pNpc->NpcCasting(); + break; + } + + // This may not be necessary, but it keeps behaviour identical. + if (bState != NPC_LIVE && bState != NPC_DEAD + && pNpc->m_NpcState != NPC_DEAD) + pNpc->m_fDelayTime = getMSTime(); + + if (tDelay >= 0) + pNpc->m_Delay = tDelay; + + if (pNpc->m_bDelete) + { + uint16 myId = pNpc->GetID(); + Guard lock(g_pMain->m_freeIdsLock); + g_pMain->freeIDs.push_back(myId); + pInfo->RemoveNPC(pNpc); + g_pMain->m_arNpc.DeleteData(myId); + --g_pMain->m_TotalNPC; + goto ThreadReloadNPC; + } + + } + catch (std::system_error & ex) + { + printf("[ %s ] Warning 1 : %s\n", __FUNCTION__, ex.what()); + continue; + } + } + + sleep(250); + } + } + catch (std::system_error & ex) + { + printf("[ %s ] Warning 2 : %s\n", __FUNCTION__, ex.what()); + } + return 0; +} + +uint32 THREADCALL ZoneEventThreadProc(void * pParam /* = nullptr */) +{ + while (!g_bNpcExit) + { + foreach_stlmap_nolock (itr, g_pMain->g_arZone) + { + MAP *pMap = itr->second; + if (pMap == nullptr + || pMap->m_byRoomEvent == 0 + || pMap->IsRoomStatusCheck()) + continue; + + foreach_stlmap_nolock (itr, pMap->m_arRoomEventArray) + { + CRoomEvent * pRoom = itr->second; + if (pRoom == nullptr + || !pRoom->isInProgress()) + continue; + + pRoom->MainRoom(); + } + } + + sleep(1000); + } + + return 0; +} + +void CNpcThread::AddNPC(CNpc * pNpc) +{ + Guard lock(m_lock); + m_pNpcs.insert(pNpc); +} + +void CNpcThread::RemoveNPC(CNpc * pNpc) +{ + Guard lock(m_lock); + m_pNpcs.erase(pNpc); +} + +CNpcThread::CNpcThread() +{ +} + +CNpcThread::~CNpcThread() +{ + Guard lock(m_lock); + m_pNpcs.clear(); +} diff --git a/server/AIServer/NpcThread.h b/server/AIServer/NpcThread.h new file mode 100644 index 0000000..777c0fe --- /dev/null +++ b/server/AIServer/NpcThread.h @@ -0,0 +1,21 @@ +#pragma once + +uint32 THREADCALL NpcThreadProc(void * lpParam /* CNpcThread ptr */); +uint32 THREADCALL ZoneEventThreadProc(void * lpParam /* = nullptr */); + +typedef std::set NpcSet; + +class CNpc; +class CNpcThread +{ +public: + CNpcThread(); + void AddNPC(CNpc * pNpc); + void RemoveNPC(CNpc * pNpc); + virtual ~CNpcThread(); + +public: + NpcSet m_pNpcs; + std::recursive_mutex m_lock; + Thread m_thread; +}; diff --git a/server/AIServer/Party.cpp b/server/AIServer/Party.cpp new file mode 100644 index 0000000..2600c76 --- /dev/null +++ b/server/AIServer/Party.cpp @@ -0,0 +1,132 @@ +#include "stdafx.h" +#include "Party.h" +#include "User.h" + +CParty::CParty() +{ +} + +CParty::~CParty() +{ + +} + +void CParty::Initialize() +{ +} + +void CParty::PartyProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + switch (opcode) + { + case PARTY_CREATE: + PartyCreate(pkt); + break; + case PARTY_INSERT: + PartyInsert(pkt); + break; + case PARTY_REMOVE: + PartyRemove(pkt); + break; + case PARTY_DELETE: + PartyDelete(pkt); + break; + } +} + +void CParty::PartyCreate(Packet & pkt) +{ + uint16 sPartyIndex = pkt.read(), sUid = pkt.read(); + short sHP = 0, sClass = 0; + uint8 byLevel= 0; + _PARTY_GROUP* pParty = nullptr; + CUser* pUser = nullptr; + + pUser = g_pMain->GetUserPtr(sUid); + if(pUser) { + pUser->m_byNowParty = 1; + pUser->m_sPartyNumber = sPartyIndex; + } + + pParty = new _PARTY_GROUP; + pParty->wIndex = sPartyIndex; + pParty->uid[0] = sUid; + + if( g_pMain->m_arParty.PutData( pParty->wIndex, pParty ) ) { + TRACE("Party - Create() : Party number = %d, uid=%d, %d \n", sPartyIndex, pParty->uid[0], pParty->uid[1]); + } +} + +void CParty::PartyInsert(Packet & pkt) +{ + uint16 sPartyIndex = pkt.read(); + uint8 byIndex = pkt.read(); + uint16 sUid = pkt.read(), sHP = 0, sClass = 0; + uint8 byLevel= 0; + _PARTY_GROUP* pParty = nullptr; + CUser* pUser = nullptr; + + pParty = g_pMain->m_arParty.GetData( sPartyIndex ); + if( !pParty ) { // ̻ + return; + } + + if(byIndex >= 0 && byIndex < 8) { + pParty->uid[byIndex] = sUid; + + pUser = g_pMain->GetUserPtr(sUid); + if(pUser) { + pUser->m_byNowParty = 1; + pUser->m_sPartyNumber = sPartyIndex; + } + } +} + +void CParty::PartyRemove(Packet & pkt) +{ + uint16 sPartyIndex = pkt.read(), sUid = pkt.read(); + _PARTY_GROUP* pParty = nullptr; + CUser* pUser = nullptr; + + if (sUid > MAX_USER) return; + + pParty = g_pMain->m_arParty.GetData( sPartyIndex ); + if( !pParty ) { // ̻ + return; + } + + for( int i=0; i<8; i++ ) { + if( pParty->uid[i] != -1 ) { + if( pParty->uid[i] == sUid ) { + pParty->uid[i] = -1; + + pUser = g_pMain->GetUserPtr(sUid); + if(pUser) { + pUser->m_byNowParty = 0; + pUser->m_sPartyNumber = -1; + } + } + } + } +} + +void CParty::PartyDelete(Packet & pkt) +{ + uint16 sPartyIndex = pkt.read(); + _PARTY_GROUP *pParty = g_pMain->m_arParty.GetData(sPartyIndex); + if (pParty == nullptr) + return; + + for( int i=0; i<8; i++ ) { + if( pParty->uid[i] != -1 ) { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if(pUser) { + pUser->m_byNowParty = 0; + pUser->m_sPartyNumber = -1; + } + } + } + + g_pMain->m_arParty.DeleteData( pParty->wIndex ); +} diff --git a/server/AIServer/Party.h b/server/AIServer/Party.h new file mode 100644 index 0000000..b72b7f7 --- /dev/null +++ b/server/AIServer/Party.h @@ -0,0 +1,16 @@ +#pragma once + +class CParty +{ +public: + CParty(); + virtual ~CParty(); + + void Initialize(); + + void PartyDelete(Packet & pkt); + void PartyRemove(Packet & pkt); + void PartyInsert(Packet & pkt); + void PartyCreate(Packet & pkt); + void PartyProcess(Packet & pkt); +}; diff --git a/server/AIServer/PathFind.cpp b/server/AIServer/PathFind.cpp new file mode 100644 index 0000000..b964e19 --- /dev/null +++ b/server/AIServer/PathFind.cpp @@ -0,0 +1,338 @@ +#include "stdafx.h" +#include "MAP.h" +#include "PathFind.h" +#include "ServerDlg.h" + +#define LEVEL_ONE_FIND_CROSS 2 +#define LEVEL_ONE_FIND_DIAGONAL 3 +#define LEVEL_TWO_FIND_CROSS 11 +#define LEVEL_TWO_FIND_DIAGONAL 10 + +CPathFind::CPathFind() +{ + m_pStack = (STACK *)calloc(1, sizeof(STACK)); + m_pOpen = nullptr; + m_pClosed = nullptr; + m_pMap = nullptr; + m_lMapUse = 0; +} + +CPathFind::~CPathFind() +{ + ClearData(); + free(m_pStack); +} + +void CPathFind::ClearData() +{ + _PathNode *t_node1, *t_node2; + + if(m_pOpen) + { + t_node1 = m_pOpen->NextNode; + while(t_node1) + { + t_node2 = t_node1->NextNode; + free(t_node1); + t_node1 = t_node2; + } + free(m_pOpen); + m_pOpen = nullptr; + } + + if(m_pClosed) + { + t_node1 = m_pClosed->NextNode; + while(t_node1) + { + t_node2 = t_node1->NextNode; + free(t_node1); + t_node1 = t_node2; + } + free(m_pClosed); + m_pClosed = nullptr; + } +} + +void CPathFind::SetMap(int x, int y, MAP * pMap, int16 min_x, int16 min_y) +{ + m_vMapSize.cx = x; + m_vMapSize.cy = y; + m_pMap = pMap; + m_min_x = min_x; + m_min_y = min_y; +} + +_PathNode *CPathFind::FindPath(int start_x, int start_y, int dest_x, int dest_y) +{ + _PathNode *t_node, *r_node = nullptr; + + // if(!m_pMap) return nullptr; + + ClearData(); + m_pOpen = (_PathNode *)calloc(1, sizeof(_PathNode)); + m_pClosed = (_PathNode *)calloc(1, sizeof(_PathNode)); + + t_node = (_PathNode *)calloc(1, sizeof(_PathNode)); + t_node->g = 0; + t_node->h = (int)sqrt((double)((start_x-dest_x)*(start_x-dest_x) + (start_y-dest_y)*(start_y-dest_y))); + // t_node->h = (int)std::max( start_x-dest_x, start_y-dest_y ); + t_node->f = t_node->g + t_node->h; + t_node->x = start_x; + t_node->y = start_y; + + int maxtry = abs(start_x-dest_x)*m_vMapSize.cx + abs(start_y-dest_y)*m_vMapSize.cy + 1; + int count = 0; + m_pOpen->NextNode = t_node; + while (1) + { + if (count++ > maxtry * 2) + return nullptr; + + r_node = (_PathNode *)ReturnBestNode(); + if (r_node == nullptr) return r_node; + if (r_node->x == dest_x && r_node->y == dest_y) + return r_node; + + FindChildPath(r_node, dest_x, dest_y); + } + return r_node; +} + +_PathNode *CPathFind::ReturnBestNode() +{ + _PathNode *tmp; + + if(m_pOpen->NextNode == nullptr) { + return nullptr; + } + + tmp=m_pOpen->NextNode; // point to first node on m_pOpen + m_pOpen->NextNode=tmp->NextNode; // Make m_pOpen point to nextnode or nullptr. + + tmp->NextNode=m_pClosed->NextNode; + m_pClosed->NextNode=tmp; + + return(tmp); +} + +void CPathFind::FindChildPath(_PathNode *node, int dx, int dy) +{ + int x, y; + // UpperLeft + if(IsBlankMap(x=node->x-1,y=node->y-1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_CROSS ); + // Upper + if(IsBlankMap(x=node->x,y=node->y-1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_DIAGONAL ); + // UpperRight + if(IsBlankMap(x=node->x+1,y=node->y-1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_CROSS ); + // Right + if(IsBlankMap(x=node->x+1,y=node->y)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_DIAGONAL ); + // LowerRight + if(IsBlankMap(x=node->x+1,y=node->y+1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_CROSS ); + // Lower + if(IsBlankMap(x=node->x,y=node->y+1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_DIAGONAL ); + // LowerLeft + if(IsBlankMap(x=node->x-1,y=node->y+1)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_CROSS ); + // Left + if(IsBlankMap(x=node->x-1,y=node->y)) + FindChildPathSub(node, x, y, dx, dy, LEVEL_TWO_FIND_DIAGONAL ); +} + +void CPathFind::FindChildPathSub(_PathNode *node, int x, int y, int dx, int dy, int arg) +{ + int g, c=0; + _PathNode *old_node,*t_node; + + g = node->g + arg; + + if((old_node = CheckOpen(x, y)) != nullptr) + { + for(c = 0; c < 8; c++) + { + if(node->Child[c] == nullptr) + { + break; + } + } + node->Child[c] = old_node; + if(g < old_node->g) + { + old_node->Parent = node; + old_node->g = g; + old_node->f = g + old_node->h; + } + } + else if((old_node = CheckClosed(x, y)) != nullptr) + { + for(c = 0; c < 8; c++) + { + if(node->Child[c] == nullptr) + { + break; + } + } + node->Child[c] = old_node; + if(g < old_node->g) + { + old_node->Parent = node; + old_node->g = g; + old_node->f = g + old_node->h; + PropagateDown(old_node); + } + } + else + { + t_node = (_PathNode *)calloc(1, sizeof(_PathNode)); + t_node->Parent = node; + t_node->g = g; + // t_node->h = (int)sqrt((x-dx)*(x-dx) + (y-dy)*(y-dy)); + t_node->h = (int)std::max( x-dx, y-dy ); + t_node->f = g + t_node->h; + t_node->x = x; + t_node->y = y; + Insert(t_node); + for(c = 0; c < 8; c++) + { + if(node->Child[c] == nullptr) + { + break; + } + } + node->Child[c] = t_node; + } +} + +_PathNode *CPathFind::CheckOpen(int x, int y) +{ + _PathNode *tmp = m_pOpen->NextNode; + while (tmp != nullptr) + { + if (tmp->x == x && tmp->y == y) + return tmp; + + tmp = tmp->NextNode; + } + + return nullptr; +} + +_PathNode *CPathFind::CheckClosed(int x, int y) +{ + _PathNode *tmp; + + tmp = m_pClosed->NextNode; + + while(tmp != nullptr) + { + if(tmp->x == x && tmp->y == y) + { + return tmp; + } + else + { + tmp = tmp->NextNode; + } + } + + return nullptr; +} + +void CPathFind::Insert(_PathNode *node) +{ + _PathNode *tmp1, *tmp2; + int f; + + if(m_pOpen->NextNode == nullptr) + { + m_pOpen->NextNode = node; + return; + } + + f = node->f; + tmp1 = m_pOpen; + tmp2 = m_pOpen->NextNode; + while((tmp2 != nullptr) && (tmp2->f < f)) + { + tmp1 = tmp2; + tmp2 = tmp2->NextNode; + } + node->NextNode = tmp2; + tmp1->NextNode = node; +} + +void CPathFind::PropagateDown(_PathNode *old) +{ + int c, g; + _PathNode *child, *parent; + + g = old->g; + for(c = 0; c < 8; c++) + { + if((child = old->Child[c]) == nullptr) + { + break; + } + if(g+1 < child->g) + { + child->g = g+1; + child->f = child->g + child->h; + child->Parent = old; + Push(child); + } + } + + while (m_pStack->NextStackPtr != nullptr) + { + parent = Pop(); + for(c = 0; c < 8; c++) + { + if((child = parent->Child[c])==nullptr) + { + break; + } + if(parent->g+1 < child->g) + { + child->g = parent->g+1; + child->f = parent->g + parent->h; + child->Parent = parent; + Push(child); + } + } + } +} + +void CPathFind::Push(_PathNode *node) +{ + STACK *tmp; + + tmp = (STACK *)calloc(1, sizeof(STACK)); + tmp->NodePtr = node; + tmp->NextStackPtr = m_pStack->NextStackPtr; + m_pStack->NextStackPtr = tmp; +} + +_PathNode *CPathFind::Pop() +{ + _PathNode *t_node; + STACK *t_stack; + + t_stack = m_pStack->NextStackPtr; + t_node = t_stack->NodePtr; + + m_pStack->NextStackPtr = t_stack->NextStackPtr; + free(t_stack); + + return t_node; +} + +bool CPathFind::IsBlankMap(int x, int y) +{ + return m_pMap->IsMovable(m_min_x + x, m_min_y + y); +} diff --git a/server/AIServer/PathFind.h b/server/AIServer/PathFind.h new file mode 100644 index 0000000..7f4d4e8 --- /dev/null +++ b/server/AIServer/PathFind.h @@ -0,0 +1,67 @@ +#pragma once + +// temporary +struct CPoint +{ + CPoint() {} + CPoint(int x, int y) : x(x), y(y) {} + int x, y; +}; + +class CRect +{ +public: + CRect(int x1, int y1, int x3, int y3) + : A(x1, y1), C(x3, y3) {} + bool PtInRect(int x, int y) { return (x >= A.x && x <= C.x && y >= A.y && y <= C.y); } +private: + CPoint A, C; +}; + +class _PathNode { +public: + int f; + int h; + int g; + int x; + int y; + _PathNode *Parent; + _PathNode *Child[8]; + _PathNode *NextNode; +}; + +class STACK { +public: + _PathNode *NodePtr; + STACK *NextStackPtr; +}; + +class CPathFind +{ +public: + bool IsBlankMap(int x, int y); + void SetMap(int x, int y, MAP * pMap, int16 min_x, int16 min_y); + void PropagateDown(_PathNode *old); + void Insert(_PathNode *node); + _PathNode *CheckOpen(int x, int y); + _PathNode *CheckClosed(int x, int y); + void FindChildPathSub(_PathNode *node, int x, int y, int dx, int dy, int arg); + void FindChildPath(_PathNode *node, int dx, int dy); + void ClearData(); + _PathNode *ReturnBestNode(); + _PathNode *FindPath(int start_x, int start_y, int dest_x, int dest_y); + CPathFind(); + virtual ~CPathFind(); + + void Push(_PathNode *node); + _PathNode *Pop(); + +protected: + long m_lMapUse; + _PathNode *m_pOpen, *m_pClosed; + STACK *m_pStack; + MAP *m_pMap; + int16 m_min_x, m_min_y; + uint32 m_nMapSize; + CSize m_vMapSize; +}; \ No newline at end of file diff --git a/server/AIServer/RES/AIServer.ico b/server/AIServer/RES/AIServer.ico new file mode 100644 index 0000000..2a2155f Binary files /dev/null and b/server/AIServer/RES/AIServer.ico differ diff --git a/server/AIServer/RES/AIServer.rc b/server/AIServer/RES/AIServer.rc new file mode 100644 index 0000000..f5e36c9 Binary files /dev/null and b/server/AIServer/RES/AIServer.rc differ diff --git a/server/AIServer/Region.h b/server/AIServer/Region.h new file mode 100644 index 0000000..8306c9b --- /dev/null +++ b/server/AIServer/Region.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../shared/STLMap.h" + +typedef CSTLMap ZoneUserArray; +typedef CSTLMap ZoneNpcArray; + +class CRegion +{ +public: + CRegion() : m_byMoving(0) {} + ZoneUserArray m_RegionUserArray; + ZoneNpcArray m_RegionNpcArray; + uint8 m_byMoving; // move : 1, not moving : 0 +}; \ No newline at end of file diff --git a/server/AIServer/Release/AIServer.res b/server/AIServer/Release/AIServer.res new file mode 100644 index 0000000..8bb0b1e Binary files /dev/null and b/server/AIServer/Release/AIServer.res differ diff --git a/server/AIServer/Release/AIServer.tlog/AIServer.lastbuildstate b/server/AIServer/Release/AIServer.tlog/AIServer.lastbuildstate new file mode 100644 index 0000000..4047048 --- /dev/null +++ b/server/AIServer/Release/AIServer.tlog/AIServer.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Release|Win32|F:\005SERVER\server source\| diff --git a/server/AIServer/Release/AIServer.tlog/CL.command.1.tlog b/server/AIServer/Release/AIServer.tlog/CL.command.1.tlog new file mode 100644 index 0000000..22f22f0 Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/CL.command.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/CL.read.1.tlog b/server/AIServer/Release/AIServer.tlog/CL.read.1.tlog new file mode 100644 index 0000000..71d6dbe Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/CL.read.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/CL.write.1.tlog b/server/AIServer/Release/AIServer.tlog/CL.write.1.tlog new file mode 100644 index 0000000..6e9f184 Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/CL.write.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/link.command.1.tlog b/server/AIServer/Release/AIServer.tlog/link.command.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/server/AIServer/Release/AIServer.tlog/link.command.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/AIServer/Release/AIServer.tlog/link.read.1.tlog b/server/AIServer/Release/AIServer.tlog/link.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/server/AIServer/Release/AIServer.tlog/link.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/AIServer/Release/AIServer.tlog/link.write.1.tlog b/server/AIServer/Release/AIServer.tlog/link.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/server/AIServer/Release/AIServer.tlog/link.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/AIServer/Release/AIServer.tlog/rc.command.1.tlog b/server/AIServer/Release/AIServer.tlog/rc.command.1.tlog new file mode 100644 index 0000000..bedef93 Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/rc.command.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/rc.read.1.tlog b/server/AIServer/Release/AIServer.tlog/rc.read.1.tlog new file mode 100644 index 0000000..13cd326 Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/rc.read.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/rc.write.1.tlog b/server/AIServer/Release/AIServer.tlog/rc.write.1.tlog new file mode 100644 index 0000000..50dbc4f Binary files /dev/null and b/server/AIServer/Release/AIServer.tlog/rc.write.1.tlog differ diff --git a/server/AIServer/Release/AIServer.tlog/unsuccessfulbuild b/server/AIServer/Release/AIServer.tlog/unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/server/AIServer/Release/AIUser.obj b/server/AIServer/Release/AIUser.obj new file mode 100644 index 0000000..c0e2088 Binary files /dev/null and b/server/AIServer/Release/AIUser.obj differ diff --git a/server/AIServer/Release/GameSocket.obj b/server/AIServer/Release/GameSocket.obj new file mode 100644 index 0000000..e3e7e91 Binary files /dev/null and b/server/AIServer/Release/GameSocket.obj differ diff --git a/server/AIServer/Release/MAP.obj b/server/AIServer/Release/MAP.obj new file mode 100644 index 0000000..58dc8df Binary files /dev/null and b/server/AIServer/Release/MAP.obj differ diff --git a/server/AIServer/Release/MagicProcess.obj b/server/AIServer/Release/MagicProcess.obj new file mode 100644 index 0000000..7ceb36a Binary files /dev/null and b/server/AIServer/Release/MagicProcess.obj differ diff --git a/server/AIServer/Release/N3ShapeMgr.obj b/server/AIServer/Release/N3ShapeMgr.obj new file mode 100644 index 0000000..60dce3b Binary files /dev/null and b/server/AIServer/Release/N3ShapeMgr.obj differ diff --git a/server/AIServer/Release/Npc.obj b/server/AIServer/Release/Npc.obj new file mode 100644 index 0000000..48628a7 Binary files /dev/null and b/server/AIServer/Release/Npc.obj differ diff --git a/server/AIServer/Release/NpcMagicProcess.obj b/server/AIServer/Release/NpcMagicProcess.obj new file mode 100644 index 0000000..7f46be6 Binary files /dev/null and b/server/AIServer/Release/NpcMagicProcess.obj differ diff --git a/server/AIServer/Release/NpcThread.obj b/server/AIServer/Release/NpcThread.obj new file mode 100644 index 0000000..4003382 Binary files /dev/null and b/server/AIServer/Release/NpcThread.obj differ diff --git a/server/AIServer/Release/Party.obj b/server/AIServer/Release/Party.obj new file mode 100644 index 0000000..b596729 Binary files /dev/null and b/server/AIServer/Release/Party.obj differ diff --git a/server/AIServer/Release/PathFind.obj b/server/AIServer/Release/PathFind.obj new file mode 100644 index 0000000..99ce204 Binary files /dev/null and b/server/AIServer/Release/PathFind.obj differ diff --git a/server/AIServer/Release/RoomEvent.obj b/server/AIServer/Release/RoomEvent.obj new file mode 100644 index 0000000..0881c17 Binary files /dev/null and b/server/AIServer/Release/RoomEvent.obj differ diff --git a/server/AIServer/Release/Server.pch b/server/AIServer/Release/Server.pch new file mode 100644 index 0000000..64acb81 Binary files /dev/null and b/server/AIServer/Release/Server.pch differ diff --git a/server/AIServer/Release/ServerDlg.obj b/server/AIServer/Release/ServerDlg.obj new file mode 100644 index 0000000..d771de4 Binary files /dev/null and b/server/AIServer/Release/ServerDlg.obj differ diff --git a/server/AIServer/Release/StdAfx.obj b/server/AIServer/Release/StdAfx.obj new file mode 100644 index 0000000..ebad5c6 Binary files /dev/null and b/server/AIServer/Release/StdAfx.obj differ diff --git a/server/AIServer/Release/Unit.obj b/server/AIServer/Release/Unit.obj new file mode 100644 index 0000000..8fc01ce Binary files /dev/null and b/server/AIServer/Release/Unit.obj differ diff --git a/server/AIServer/Release/main.obj b/server/AIServer/Release/main.obj new file mode 100644 index 0000000..9f86203 Binary files /dev/null and b/server/AIServer/Release/main.obj differ diff --git a/server/AIServer/Release/proj-AIServer.log b/server/AIServer/Release/proj-AIServer.log new file mode 100644 index 0000000..ef44351 --- /dev/null +++ b/server/AIServer/Release/proj-AIServer.log @@ -0,0 +1,60 @@ +shared.lib(TimeThread.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(TimeThread.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(TimeThread.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification +shared.lib(ReferenceObject.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(ReferenceObject.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(globals.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(globals.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(SocketMgr.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(SocketMgr.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(Socket.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(Socket.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(KOSocket.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(KOSocket.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(Condition.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(Condition.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(signal_handler.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(signal_handler.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(SMDFile.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(SMDFile.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(tstring.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(tstring.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(Thread.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(Thread.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(Ini.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(Ini.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(SocketOpsWin32.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(SocketOpsWin32.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(OdbcConnection.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(OdbcConnection.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(OdbcRecordset.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(OdbcRecordset.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(OdbcCommand.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(OdbcCommand.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(stdafx.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(stdafx.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(CircularBuffer.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(CircularBuffer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(SocketWin32.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(SocketWin32.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(DebugUtils.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(DebugUtils.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(JvCryption.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(JvCryption.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +shared.lib(OdbcParameter.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in MagicProcess.obj +shared.lib(OdbcParameter.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MT_StaticRelease' in MagicProcess.obj +LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library +shared.lib(OdbcRecordset.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(OdbcCommand.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(SocketWin32.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(SMDFile.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(tstring.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(Ini.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(OdbcConnection.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(globals.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(SocketMgr.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(Socket.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(KOSocket.obj) : error LNK2001: unresolved external symbol __CrtDbgReport +shared.lib(Ini.obj) : error LNK2001: unresolved external symbol __free_dbg +shared.lib(Ini.obj) : error LNK2001: unresolved external symbol __malloc_dbg +F:\005SERVER\server source\..\bin\Release\AIServer.exe : fatal error LNK1120: 3 unresolved externals diff --git a/server/AIServer/Release/vc142.pdb b/server/AIServer/Release/vc142.pdb new file mode 100644 index 0000000..4543ea6 Binary files /dev/null and b/server/AIServer/Release/vc142.pdb differ diff --git a/server/AIServer/RoomEvent.cpp b/server/AIServer/RoomEvent.cpp new file mode 100644 index 0000000..2be67cc --- /dev/null +++ b/server/AIServer/RoomEvent.cpp @@ -0,0 +1,320 @@ +#include "stdafx.h" +#include "RoomEvent.h" +#include "resource.h" +#include "Npc.h" + +CRoomEvent::CRoomEvent() +{ + m_iZoneNumber = 0; + m_sRoomNumber = 0; + m_byStatus = RoomStatusInitialised; + m_iInitMinX = 0; + m_iInitMinZ = 0; + m_iInitMaxX = 0; + m_iInitMaxZ = 0; + m_iEndMinX = 0; + m_iEndMinZ = 0; + m_iEndMaxX = 0; + m_iEndMaxZ = 0; + m_byCheck = 0; + m_byRoomType = 0; + + Initialize(); +} + +CRoomEvent::~CRoomEvent() +{ +} + +void CRoomEvent::Initialize() +{ + m_tDelayTime = 0; + m_byLogicNumber = 1; + + for(int i=0; iSendSystemMsg(notify, PUBLIC_CHAT); + m_byStatus = RoomStatusCleared; + } + } +} + +bool CRoomEvent::CheckEvent(int event_num) +{ + int nMinute = 0, nOption_1 = 0, nOption_2 = 0; + CNpc* pNpc = nullptr; + bool bRetValue = false; + + if( m_byLogicNumber == 0 || m_byLogicNumber > MAX_CHECK_EVENT ) { + TRACE("### Check Event Fail :: array overflow = %d ###\n", m_byLogicNumber); + return false; + } + + switch( event_num ) { + case 1: // Ư ͸ ̴ + nOption_1 = m_Logic[ m_byLogicNumber-1 ].sOption_1; + pNpc = GetNpcPtr( nOption_1 ); + if( pNpc ) { + if( pNpc->m_byChangeType == 100 ) return true; + } else { + if (nOption_1 != 11510 && nOption_1 != 21510) + TRACE("### CheckEvent Error : monster nid = %d, logic=%d ###\n", nOption_1, m_byLogicNumber); + } + //TRACE("---Check Event : monster dead = %d \n", nMonsterNid); + break; + case 2: // ͸ ׿ + bRetValue = CheckMonsterCount( 0, 0, 3 ); + if( bRetValue ) { + TRACE(" ͸ ׿ \n"); + return true; + } + break; + case 3: // е ߶ + nMinute = m_Logic[ m_byLogicNumber-1 ].sOption_1; + nMinute = nMinute * 60; // ʷ ȯ + if (UNIXTIME >= m_tDelayTime + nMinute ) { // ѽð + return true; + } + break; + case 4: // ǥ ̵ + + break; + case 5: // Ư͸ ɼ2 ŭ ׿ + nOption_1 = m_Logic[ m_byLogicNumber-1 ].sOption_1; + nOption_2 = m_Logic[ m_byLogicNumber-1 ].sOption_2; + bRetValue = CheckMonsterCount( nOption_1, nOption_2, 1 ); + if( bRetValue ) { + TRACE("Ư(%d) %d \n", nOption_1, nOption_2); + return true; + } + break; + default: + TRACE("### Check Event Fail :: event number = %d ###\n", event_num); + break; + } + + return false; +} + +bool CRoomEvent::RunEvent( int event_num ) +{ + CNpc* pNpc = nullptr; + int nOption_1 = 0, nOption_2 = 0; + bool bRetValue = false; + switch( event_num ) { + case 1: // ٸ + nOption_1 = m_Exec[ m_byLogicNumber-1 ].sOption_1; + pNpc = GetNpcPtr( nOption_1 ); + if( pNpc ) { + pNpc->m_byChangeType = 3; // ּ... + pNpc->SetLive(); + } + else { + TRACE("### RunEvent Error : = %d, logic=%d ###\n", nOption_1, m_byLogicNumber); + } + if( m_byCheck == m_byLogicNumber ) { // Ŭ + return true; + } + else m_byLogicNumber++; + + break; + case 2: // + nOption_1 = m_Exec[ m_byLogicNumber-1 ].sOption_1; + pNpc = GetNpcPtr( nOption_1 ); + if( pNpc ) { + + } + else { + TRACE("### RunEvent Error : = %d, logic=%d ###\n", nOption_1, m_byLogicNumber); + } + + //wsprintf(notify, "** ˸ : [%d] ϴ **", m_sRoomNumber); + //g_pMain->SendSystemMsg(notify, PUBLIC_CHAT); + + if( m_byCheck == m_byLogicNumber ) { // Ŭ + return true; + } + else m_byLogicNumber++; + + break; + case 3: // ٸ ͷ ȯ + if( m_byCheck == m_byLogicNumber ) { // Ŭ + return true; + } + break; + case 4: // Ư ɼ2 ŭ + nOption_1 = m_Exec[ m_byLogicNumber-1 ].sOption_1; + nOption_2 = m_Exec[ m_byLogicNumber-1 ].sOption_2; + bRetValue = CheckMonsterCount( nOption_1, nOption_2, 2 ); + + //wsprintf(notify, "** ˸ : [%d, %d] **", nOption_1, nOption_2); + //g_pMain->SendSystemMsg(notify, PUBLIC_CHAT); + + if( m_byCheck == m_byLogicNumber ) { // Ŭ + return true; + } + else m_byLogicNumber++; + break; + case 100: // Ư ɼ2 ŭ + nOption_1 = m_Exec[ m_byLogicNumber-1 ].sOption_1; + nOption_2 = m_Exec[ m_byLogicNumber-1 ].sOption_2; + + TRACE("RunEvent - room=%d, option1=%d, option2=%d\n", m_sRoomNumber, nOption_1, nOption_2); + if( nOption_1 != 0 ) { + EndEventSay( nOption_1, nOption_2 ); + } + if( m_byCheck == m_byLogicNumber ) { // Ŭ + return true; + } + else m_byLogicNumber++; + break; + default: + TRACE("### RunEvent Fail :: event number = %d ###\n", event_num); + break; + } + + return false; +} + +CNpc* CRoomEvent::GetNpcPtr( int sid ) +{ + if (m_mapRoomNpcArray.IsEmpty()) + { + if (sid != 11510 && sid != 21510) + TRACE("### RoomEvent-GetNpcPtr() : monster empty, sid=%d ###\n",sid); + + return nullptr; + } + + foreach_stlmap (itr, m_mapRoomNpcArray) + { + CNpc *pNpc = g_pMain->GetNpcPtr(itr->first); + if (pNpc == nullptr + || pNpc->GetProtoID() != sid) + continue; + + return pNpc; + } + + return nullptr; +} + +bool CRoomEvent::CheckMonsterCount( int sid, int count, int type ) +{ + int nMonsterCount = 0, nTotalMonster = 0; + bool bRetValue = false; + + int nMonster = m_mapRoomNpcArray.GetSize(); + if (nMonster == 0) + { + if (sid != 11510 && sid != 21510) + TRACE("### RoomEvent-GetNpcPtr() : monster empty, sid=%d ###\n",sid); + + return nullptr; + } + + foreach_stlmap (itr, m_mapRoomNpcArray) + { + CNpc *pNpc = g_pMain->GetNpcPtr(itr->first); + if (pNpc == nullptr) + continue; + + if (type == 4) + { + if (pNpc->m_byRegenType == 2) pNpc->m_byRegenType = 0; + pNpc->m_byChangeType = 0; + } + else if (type == 3) + { + if (pNpc->m_byDeadType == 100) nMonsterCount++; + if (nMonsterCount == nMonster) bRetValue = true; + } + else if (pNpc->GetProtoID() == sid) + { + if (type == 1) + { + if (pNpc->m_byChangeType == 100) nMonsterCount++; + if (nMonsterCount == count) bRetValue = true; + } + else if (type == 2) + { + pNpc->m_byChangeType = 3; nMonsterCount++; + if (nMonsterCount == count) bRetValue = true; + } + } + } + + return bRetValue; +} + +void CRoomEvent::InitializeRoom() +{ + m_byStatus = RoomStatusInitialised; + m_tDelayTime = 0; + m_byLogicNumber = 1; + + CheckMonsterCount(0, 0, 4); // m_byChangeType=0 ʱȭ +} + +void CRoomEvent::EndEventSay( int option1, int option2 ) +{ + std::string buff; + + switch (option1) + { + case 1: + { + switch (option2) + { + case 1: + g_pMain->GetServerResource(IDS_KARUS_CATCH_1, &buff); + break; + case 2: + g_pMain->GetServerResource(IDS_KARUS_CATCH_2, &buff); + break; + case 11: + g_pMain->GetServerResource(IDS_ELMORAD_CATCH_1, &buff); + break; + case 12: + g_pMain->GetServerResource(IDS_ELMORAD_CATCH_2, &buff); + break; + } + + g_pMain->SendSystemMsg(buff, WAR_SYSTEM_CHAT); + } break; + + case 2: + g_pMain->GetServerResource(IDS_KARUS_PATHWAY + (option2-1), &buff); + g_pMain->SendSystemMsg(buff, WAR_SYSTEM_CHAT); + + // this is normal, we need to send the following packet as well. + + case 3: + { + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_MAP_EVENT_RESULT)); + result << uint8(option2); + g_pMain->Send(&result); + } break; + } +} diff --git a/server/AIServer/RoomEvent.h b/server/AIServer/RoomEvent.h new file mode 100644 index 0000000..661e9d3 --- /dev/null +++ b/server/AIServer/RoomEvent.h @@ -0,0 +1,76 @@ +#pragma once + +#include "../shared/STLMap.h" + +#define MAX_CHECK_EVENT 10 + +typedef CSTLMap mapNpcArray; + +struct _RoomEvent +{ + short sNumber; // ɾ, ǹ ȣ + short sOption_1; // option 1 ( ȣ ַ ) + short sOption_2; // option 2 ( ) +}; + +class CNpc; + +enum RoomStatus +{ + RoomStatusInitialised = 1, + RoomStatusInProgress = 2, + RoomStatusCleared = 3 +}; + +class CRoomEvent +{ +public: + INLINE RoomStatus GetStatus() { return m_byStatus; } + + INLINE bool isInitialised() { return GetStatus() == RoomStatusInitialised; } + INLINE bool isInProgress() { return GetStatus() == RoomStatusInProgress; } + INLINE bool isCleared() { return GetStatus() == RoomStatusCleared; } + + int m_iZoneNumber; // zone number + short m_sRoomNumber; // room number (0:empty room) + RoomStatus m_byStatus; // room status (1:init, 2:progress, 3:clear) + uint8 m_byCheck; // ǹ + uint8 m_byRoomType; // Ÿ(0:Ϲ, 1:, 2:,,,,) + + int m_iInitMinX; // room region x + int m_iInitMinZ; + int m_iInitMaxX; + int m_iInitMaxZ; + + int m_iEndMinX; // room end region x ,, + int m_iEndMinZ; + int m_iEndMaxX; + int m_iEndMaxZ; + + _RoomEvent m_Logic[MAX_CHECK_EVENT]; // ǵ + _RoomEvent m_Exec[MAX_CHECK_EVENT]; // ๮ + + time_t m_tDelayTime; // time + + mapNpcArray m_mapRoomNpcArray; // room npc uid array + +private: + uint8 m_byLogicNumber; // ǹ ˻ ȣ (ǹȣ 1 ۵) (m_byCheck m_byLogicNumber ٸ Ŭ ) + + +public: + CRoomEvent(); + virtual ~CRoomEvent(); + + void MainRoom(); + void InitializeRoom(); + +private: + void Initialize(); + bool CheckEvent(int event_num); + bool RunEvent( int event_num ); + bool CheckMonsterCount( int sid, int count, int type ); + CNpc* GetNpcPtr( int sid ); + void EndEventSay( int option1, int option2 ); + +}; diff --git a/server/AIServer/ServerDlg.cpp b/server/AIServer/ServerDlg.cpp new file mode 100644 index 0000000..db30607 --- /dev/null +++ b/server/AIServer/ServerDlg.cpp @@ -0,0 +1,1137 @@ +#include "stdafx.h" +#include +#include +#include "GameSocket.h" +#include "Npc.h" +#include "User.h" +#include "NpcThread.h" +#include "../GameServer/MagicProcess.h" +#include +#include "../shared/database/OdbcRecordset.h" +#include "../shared/database/MagicTableSet.h" +#include "../shared/database/MagicType1Set.h" +#include "../shared/database/MagicType2Set.h" +#include "../shared/database/MagicType4Set.h" +#include "../shared/database/ObjectPosSet.h" +#include "../shared/database/NpcPosSet.h" +#include "../shared/database/ZoneInfoSet.h" +#include "../shared/database/NpcItemSet.h" +#include "../shared/database/MakeItemGroupSet.h" +#include "../shared/database/NpcTableSet.h" +#include "../shared/database/MakeWeaponTableSet.h" +#include "../shared/database/MakeDefensiveTableSet.h" +#include "../shared/database/MakeGradeItemTableSet.h" +#include "../shared/database/MakeLareItemTableSet.h" +#include "../shared/database/ServerResourceSet.h" +#include "Region.h" +#include "../shared/Ini.h" +#include "../shared/packets.h" +#include "../shared/DateTime.h" + +using namespace std; + +bool g_bNpcExit = false; +ZoneArray g_arZone; + +std::vector g_timerThreads; + +CServerDlg::CServerDlg() +{ + EventNpcID = 0; + CSWOpen = false; + m_iYear = 0; + m_iMonth = 0; + m_iDate = 0; + m_iHour = 0; + m_iMin = 0; + m_iWeather = 0; + m_iAmount = 0; + m_bIsNight = false; + m_byBattleEvent = BATTLEZONE_CLOSE; + m_sKillKarusNpc = 0; + m_sKillElmoNpc = 0; + KarusBaseMilitaryCampCount = 0; + ElmoradBaseMilitaryCampCount= 0; + KarusEslantMilitaryCampCount= 0; + ElmoradEslantMilitaryCampCount= 0; + MoradonMilitaryCampCount = 0; + +} + +bool CServerDlg::Startup() +{ + g_timerThreads.push_back(new Thread(Timer_CheckAliveTest)); + g_timerThreads.push_back(new Thread(Timer_CheckLiveTimes)); + + m_sMapEventNpc = 0; + m_bFirstServerFlag = false; + + // Server Start + DateTime time; + printf("Server started on %04d-%02d-%02d at %02d:%02d\n\n", time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute()); + + //---------------------------------------------------------------------- + // DB part initialize + //---------------------------------------------------------------------- + GetServerInfoIni(); + + if (!m_GameDB.Connect(m_strGameDSN, m_strGameUID, m_strGamePWD,false)) + { + OdbcError *pError = m_GameDB.GetError(); + printf("ERROR: Could not connect to the database server, received error:\n%s\n", + pError->ErrorMessage.c_str()); + delete pError; + return false; + } + + //---------------------------------------------------------------------- + // Communication Part Initialize ... + //---------------------------------------------------------------------- + if (!m_socketMgr.Listen(m_AIServerPort, MAX_SOCKET)) + return false; + + //---------------------------------------------------------------------- + // Load tables + //---------------------------------------------------------------------- + if (!GetMagicTableData() + || !GetMagicType1Data() + || !GetMagicType2Data() + || !GetMagicType4Data() + || !GetNpcItemTable() + || !GetMakeItemGroupTable() + || !GetMakeWeaponItemTableData() + || !GetMakeDefensiveItemTableData() + || !GetMakeGradeItemTableData() + || !GetMakeLareItemTableData() + || !GetServerResourceTable() + || !GetObjectPostTableData() + || !GetNpcTableData(false) + || !GetNpcTableData(true) + // Load maps + || !MapFileLoad() + // Spawn NPC threads + || !CreateNpcThread()) + return false; + + //---------------------------------------------------------------------- + // Start NPC THREAD + //---------------------------------------------------------------------- + ResumeAI(); + return true; +} + +bool CServerDlg::GetMagicTableData() +{ + LOAD_TABLE(CMagicTableSet, &m_GameDB, &m_MagictableArray, false, false); +} + +bool CServerDlg::GetMagicType1Data() +{ + LOAD_TABLE(CMagicType1Set, &m_GameDB, &m_Magictype1Array, false, false); +} + +bool CServerDlg::GetMagicType2Data() +{ + LOAD_TABLE(CMagicType2Set, &m_GameDB, &m_Magictype2Array, false, false); +} + +bool CServerDlg::GetMagicType4Data() +{ + LOAD_TABLE(CMagicType4Set, &m_GameDB, &m_Magictype4Array, false, false); +} + +bool CServerDlg::GetMakeWeaponItemTableData() +{ + LOAD_TABLE(CMakeWeaponTableSet, &m_GameDB, &m_MakeWeaponItemArray, true, false); +} + +bool CServerDlg::GetMakeDefensiveItemTableData() +{ + LOAD_TABLE(CMakeDefensiveTableSet, &m_GameDB, &m_MakeDefensiveItemArray, true, false); +} + +bool CServerDlg::GetMakeGradeItemTableData() +{ + LOAD_TABLE(CMakeGradeItemTableSet, &m_GameDB, &m_MakeGradeItemArray, false, false); +} + +bool CServerDlg::GetMakeLareItemTableData() +{ + LOAD_TABLE(CMakeLareItemTableSet, &m_GameDB, &m_MakeLareItemArray, false, false); +} + +bool CServerDlg::GetServerResourceTable() +{ + LOAD_TABLE(CServerResourceSet, &m_GameDB, &m_ServerResourceArray, false, false); +} + +bool CServerDlg::GetNpcItemTable() +{ + LOAD_TABLE(CNpcItemSet, &m_GameDB, &m_NpcItemArray, false, false); +} + +bool CServerDlg::GetMakeItemGroupTable() +{ + LOAD_TABLE(CMakeItemGroupSet, &m_GameDB, &m_MakeItemGroupArray, false, false); +} + +bool CServerDlg::GetObjectPostTableData() +{ + LOAD_TABLE(CObjectPosSet, &m_GameDB, &m_ObjectEventArray, false, false); +} + +bool CServerDlg::GetNpcTableData(bool bNpcData /*= true*/) +{ + if (bNpcData) { LOAD_TABLE(CNpcTableSet, &m_GameDB, &m_arNpcTable, false, false); } + else { LOAD_TABLE(CMonTableSet, &m_GameDB, &m_arMonTable, false, false); } +} + +bool CServerDlg::CreateNpcThread() +{ + m_TotalNPC = m_sMapEventNpc; + MaxMonsterID = m_sMapEventNpc; + m_CurrentNPC = 0; + + LOAD_TABLE_ERROR_ONLY(CNpcPosSet, &m_GameDB, nullptr, false, false); + + Guard lock(m_npcThreadLock); + foreach_stlmap_nolock (itr, g_arZone) + { + CNpcThread * pNpcThread = new CNpcThread(); + m_arNpcThread.insert(make_pair(itr->first, pNpcThread)); + + foreach_stlmap (npcItr, m_arNpc) + { + if (npcItr->second->GetZoneID() != itr->first) + continue; + + CNpc * pNpc = npcItr->second; + if (pNpc != nullptr) + { + pNpc->Init(); + pNpcThread->m_pNpcs.insert(pNpc); + } + } + } + + printf("Monster Init - %d, threads = %lld\n", (uint16) m_TotalNPC, (long long) m_arNpcThread.size()); + return true; +} + + +void CServerDlg::UserEventRoomUpdate(uint16 uid, uint16 RoomEvent) +{ + CUser *TargetUser = g_pMain->GetUserPtr(uid); + + if(TargetUser == nullptr) + return; + + TargetUser->SetUserEventRoom(RoomEvent); + TargetUser->SetUnitEventRoom(RoomEvent); + +} +bool CServerDlg::LoadSpawnCallback(OdbcCommand *dbCommand) +{ + // Avoid allocating stack space for these. + // This method will only ever run in the same thread. + static int nRandom = 0; + static double dbSpeed = 0; + static CNpcTable * pNpcTable = nullptr; + static CRoomEvent* pRoom = nullptr; + static char szPath[500]; + static float fRandom_X = 0.0f, fRandom_Z = 0.0f; + static uint8 rand = myrand(1,4); + // Unfortunately we cannot simply read what we need directly + // into the CNpc instance. We have to resort to creating + // copies of the data to allow for the way they handle multiple spawns... + // Best we can do, I think, is to avoid allocating it on the stack. + static uint8 bNumNpc, bZoneID, bActType, bRegenType, bDungeonFamily, bSpecialType, + bTrapNumber, bDotCnt; + static uint8 isNPC; + static uint16 sSid, sRegTime, iRange, xiDontKnow, EveTRoom; + static uint32 nServerNum; + static int16 bDirection; + static int32 iLeftX, iTopZ, iRightX, iBottomZ, + iLimitMinX, iLimitMinZ, iLimitMaxX, iLimitMaxZ; + + + string strName; + dbCommand->FetchByte(1, bZoneID); + dbCommand->FetchUInt16(2, sSid); + dbCommand->FetchString(3, strName); + dbCommand->FetchByte(4, isNPC); + dbCommand->FetchByte(5, bActType); + dbCommand->FetchByte(6, bDungeonFamily); + dbCommand->FetchByte(7, bSpecialType); + dbCommand->FetchByte(8, bTrapNumber); + dbCommand->FetchInt32(9, iLeftX); + dbCommand->FetchInt32(10, iTopZ); + dbCommand->FetchByte(11, bNumNpc); + dbCommand->FetchUInt16(12, iRange); + dbCommand->FetchUInt16(13, xiDontKnow);// iRange + dbCommand->FetchUInt16(14, sRegTime); + dbCommand->FetchInt16(15, bDirection); + dbCommand->FetchString(16, szPath, sizeof(szPath)); + dbCommand->FetchUInt16(17, EveTRoom); + + isNPC--; + uint8 bPathSerial = 1; + + if((bSpecialType==7 && bTrapNumber==rand) || bSpecialType!=7) + for (uint8 j = 0; j < bNumNpc; j++) + { + + + + CNpc * pNpc = new CNpc(); + + pNpc->m_byMoveType = bActType;// bActType; + pNpc->m_byInitMoveType = bActType; + + bool isMonster = isNPC == 1 ? false : true; + if (isMonster) + { + pNpcTable = m_arMonTable.GetData(sSid); + } + else + { + pNpc->m_byMoveType = bActType; + pNpcTable = m_arNpcTable.GetData(sSid); + } + + if (pNpcTable == nullptr) + { + printf("NPC %d not found in %s table.\n", sSid, isNPC ? "K_MONSTER" : "K_NPC"); + delete pNpc; + return false; + } + uint16 myID = ++m_TotalNPC; + ++MaxMonsterID; + pNpc->Load(myID, pNpcTable, !isNPC); + + pNpc->m_byBattlePos = 0; + + if (pNpc->m_byMoveType >= 2) + { + pNpc->m_byBattlePos = myrand(1, 3); + + if (pNpc->m_byMoveType == 5 || pNpc->m_byMoveType == 4) + pNpc->m_byBattlePos = 0; + + pNpc->m_byPathCount = bPathSerial++; + } + + pNpc->InitPos(); + + pNpc->m_bZone = bZoneID; + + nRandom = iRange; + if (nRandom <= 0) + fRandom_X = (float)iLeftX; + else + fRandom_X = (float)(myrand((iLeftX - nRandom) * 10, (iLeftX + nRandom) * 10) / 10); + + nRandom = iRange; + if (nRandom <= 0) + fRandom_Z = (float)iTopZ; + else + fRandom_Z = (float)(myrand((iTopZ - nRandom) * 10, (iTopZ + nRandom) * 10) / 10); + + pNpc->SetPosition(fRandom_X, 0.0f, fRandom_Z); + + pNpc->m_sRegenTime = sRegTime * SECOND; + pNpc->m_byDirection = bDirection; + pNpc->m_sMaxPathCount = strlen(szPath) / 8; + + if (pNpc->m_byMoveType == 2 && pNpc->m_sMaxPathCount == 0) + { + pNpc->m_byMoveType = 1; + TRACE("##### ServerDlg:CreateNpcThread - Path type Error : nid=%d, sid=%d, name=%s, acttype=%d, path=%d #####\n", + pNpc->GetID(), pNpc->GetProtoID(), pNpc->GetName().c_str(), pNpc->m_byMoveType, pNpc->m_sMaxPathCount); + } + + if (pNpc->m_sMaxPathCount > 0) + { + int index = 0; + __Vector3 vStart; + vStart.Set(pNpc->GetX(), 0, pNpc->GetZ()); + for (int l = 0; l < pNpc->m_sMaxPathCount; l++) + { + + if(l > 5000) + break; + + static char szX[5], szZ[5]; + + memset(szX, 0, sizeof(szX)); + memset(szZ, 0, sizeof(szZ)); + + memcpy(szX, szPath + index, 4); + index += 4; + + memcpy(szZ, szPath + index, 4); + index += 4; + + float myX = 0.0f, myZ = 0.0f; + __Vector3 vEnd, vNewPos; + float fDis = 0.0f; + myX = (float)atoi(szX); + myZ = (float)atoi(szZ); + + if(myX < 1 || myZ < 1) + continue; + + if (l > 0) + vStart.Set(pNpc->m_PathList.pPattenPos[l-1].x, 0, pNpc->m_PathList.pPattenPos[l-1].z); + + vEnd.Set(myX, 0, myZ); + + fDis = pNpc->GetDistance(vStart, vEnd); + + + if(fDis > pNpc->GetProto()->m_bySpeed_1) + { + for(;;) + { + pNpc->GetVectorPosition(vStart, vEnd, pNpc->GetProto()->m_bySpeed_1, &vNewPos); + //printf("%d,%d-%d,%d/(%d,%d)\n",uint16(vStart.x),uint16(vStart.z),uint16(myX),uint16(myZ),uint16(vNewPos.x),uint16(vNewPos.z)); + + pNpc->m_PathList.pPattenPos[l].x = (short)vNewPos.x; + pNpc->m_PathList.pPattenPos[l].z = (short)vNewPos.z; + vStart.Set(vNewPos.x, 0, vNewPos.z); + fDis = pNpc->GetDistance(vStart, vEnd); + if(fDis > pNpc->GetProto()->m_bySpeed_1) + { + l++; + pNpc->m_sMaxPathCount++; + } + else + { + l++; + pNpc->m_sMaxPathCount++; + pNpc->m_PathList.pPattenPos[l].x = (short)vEnd.x; + pNpc->m_PathList.pPattenPos[l].z = (short)vEnd.z; + //printf("%d,%d-%d,%d/(%d,%d)\n",uint16(vStart.x),uint16(vStart.z),uint16(myX),uint16(myZ),uint16(vEnd.x),uint16(vEnd.z)); + break; + } + } + } + else + { + pNpc->m_PathList.pPattenPos[l].x = (short)myX; + pNpc->m_PathList.pPattenPos[l].z = (short)myZ; + } + + + } + } + + pNpc->m_nInitMinX = pNpc->m_nLimitMinX = iLeftX - nRandom; + pNpc->m_nInitMinY = pNpc->m_nLimitMinZ = iTopZ - nRandom; + pNpc->m_nInitMaxX = pNpc->m_nLimitMaxX = iLeftX + nRandom; + pNpc->m_nInitMaxY = pNpc->m_nLimitMaxZ = iTopZ + nRandom; + + // dungeon work + pNpc->m_byDungeonFamily = bDungeonFamily; + pNpc->m_bySpecialType = (NpcSpecialType) bSpecialType; + pNpc->m_byRegenType = bRegenType; + pNpc->m_byTrapNumber = bTrapNumber; + + pNpc->m_oSocketID = -1; + pNpc->m_bEventRoom = 0; + pNpc->SetNPCEventRoom(0); + pNpc->SetUnitEventRoom(0); + + pNpc->m_pMap = GetZoneByID(pNpc->GetZoneID()); + if (pNpc->GetMap() == nullptr) + { + printf(_T("ERROR: NPC %d in zone %d that does not exist."), sSid, bZoneID); + delete pNpc; + return false; + } + + if (!m_arNpc.PutData(pNpc->GetID(), pNpc)) + { + --m_TotalNPC; + TRACE("Npc PutData Fail - %d\n", pNpc->GetID()); + delete pNpc; + continue; + } + + if (pNpc->GetMap()->m_byRoomEvent > 0 && pNpc->m_byDungeonFamily > 0) + { + pRoom = pNpc->GetMap()->m_arRoomEventArray.GetData(pNpc->m_byDungeonFamily); + if (pRoom == nullptr) + { + printf("ERROR: Map Room Npc Fail!!\n"); + printf("### Map - Room Array MonsterNid Fail : nid=%d, sid=%d zid= %d###\n", + pNpc->GetID(), pNpc->GetProtoID(), pNpc->GetZoneID()); + delete pNpc; + return false; + } + + // this is why their CSTLMap class sucks. + int *pInt = new int; + *pInt = pNpc->GetID(); + if (!pRoom->m_mapRoomNpcArray.PutData(*pInt, pInt)) + { + delete pInt; + TRACE("### Map - Room Array MonsterNid Fail : nid=%d, sid=%d ###\n", + pNpc->GetID(), pNpc->GetProtoID()); + } + } + + } + return true; +} +void CServerDlg::ResumeAI() +{ + Guard lock(m_npcThreadLock); + foreach (itr, m_arNpcThread) + itr->second->m_thread.start(NpcThreadProc, itr->second); + + m_zoneEventThread.start(ZoneEventThreadProc, this); +} + +bool CServerDlg::MapFileLoad() +{ + ZoneInfoMap zoneMap; + + m_sTotalMap = 0; + LOAD_TABLE_ERROR_ONLY(CZoneInfoSet, &m_GameDB, &zoneMap, false, false); + + foreach (itr, zoneMap) + { + _ZONE_INFO *pZone = itr->second; + + MAP *pMap = new MAP(); + if (!pMap->Initialize(pZone)) + { + printf("ERROR: Unable to load SMD - %s\n", pZone->m_MapName.c_str()); + delete pZone; + delete pMap; + g_arZone.DeleteAllData(); + m_sTotalMap = 0; + return false; + } + + delete pZone; + g_arZone.PutData(pMap->m_nZoneNumber, pMap); + m_sTotalMap++; + } + + return true; +} + +/** +* @brief Gets & formats a cached server resource (_SERVER_RESOURCE entry). +* +* @param nResourceID Identifier for the resource. +* @param result The string to store the formatted result in. +*/ +void CServerDlg::GetServerResource(int nResourceID, string * result, ...) +{ + _SERVER_RESOURCE *pResource = m_ServerResourceArray.GetData(nResourceID); + if (pResource == nullptr) + { + *result = nResourceID; + return; + } + + va_list args; + va_start(args, result); + _string_format(pResource->strResource, result, args); + va_end(args); +} + +// game server npc .. +void CServerDlg::AllNpcInfo() +{ + Packet result(NPC_INFO_ALL); + result.SByte(); + foreach_stlmap_nolock (itr, g_arZone) + { + uint32 nZone = itr->first; + uint8 bCount = 0; + + result.clear(); + result << bCount; + + foreach_stlmap (itr, m_arNpc) + { + CNpc *pNpc = itr->second; + if (pNpc == nullptr + || pNpc->GetZoneID() != nZone) + continue; + + pNpc->FillNpcInfo(result); + if (++bCount == NPC_NUM) + { + result.put(0, bCount); + m_socketMgr.SendAllCompressed(&result); + + // Reset packet buffer + bCount = 0; + result.clear(); + result << bCount; + } + } + + if (bCount != 0 && bCount < NPC_NUM) + { + result.put(0, bCount); + m_socketMgr.SendAllCompressed(&result); + } + + Packet serverInfo(AG_SERVER_INFO, uint8(nZone)); + serverInfo << uint16(m_TotalNPC); + m_socketMgr.SendAll(&serverInfo); + } +} + +Unit * CServerDlg::GetUnitPtr(uint16 id) +{ + if (id < NPC_BAND) + return GetUserPtr(id); + + return GetNpcPtr(id); +} + +CNpc * CServerDlg::GetNpcPtr(uint16 npcId) +{ + return m_arNpc.GetData(npcId); +} + +CUser* CServerDlg::GetUserPtr(uint16 sessionId) +{ + Guard lock(m_userLock); + auto itr = m_pUser.find(sessionId); + if (itr == m_pUser.end()) + return nullptr; + + return itr->second; +} + +bool CServerDlg::SetUserPtr(uint16 sessionId, CUser * pUser) +{ + if (sessionId >= MAX_USER) + return false; + + Guard lock(m_userLock); + auto itr = m_pUser.find(sessionId); + if (itr != m_pUser.end()) + { + TRACE("Warning: User %u has not been removed from the session map.\n", sessionId); + return false; + } + + m_pUser[sessionId] = pUser; + return true; +} + +void CServerDlg::DeleteUserPtr(uint16 sessionId) +{ + Guard lock(m_userLock); + auto itr = m_pUser.find(sessionId); + if (itr != m_pUser.end()) + { + delete itr->second; + m_pUser.erase(itr); + } +} + +void CServerDlg::CheckAliveTest() +{ + Packet result(AG_CHECK_ALIVE_REQ); + SessionMap sessMap = m_socketMgr.GetActiveSessionMap(); + uint32 count = 0, sessCount = sessMap.size(); + BOOST_FOREACH (auto itr, sessMap) + { + if (itr.second->Send(&result)) + count++; + } + + if (sessCount > 0 && count == 0) + DeleteAllUserList(); + //printf("Delete all user list???"); +} + +uint32 THREADCALL CServerDlg::Timer_CheckAliveTest(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->CheckAliveTest(); + sleep(10 * SECOND); + } + return 0; +} + +uint32 THREADCALL CServerDlg::Timer_CheckLiveTimes(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->CheckLiveTimes(); + sleep(1 * SECOND); + } + return 0; +} + +void CServerDlg::CheckLiveTimes() +{ + std::vector deleted; + + foreach_stlmap_nolock (itr, m_NpcLiveTimeArray) + { + if (int32(UNIXTIME) - itr->second->SpawnedTime > itr->second->Duration) + { + CNpc *pNpc = GetNpcPtr(itr->second->Nid); + + if (pNpc != nullptr) + pNpc->Dead(); + + deleted.push_back(itr->second->nIndex); + } + } + + foreach (itr, deleted) + m_NpcLiveTimeArray.DeleteData(*itr); +} + +void CServerDlg::DeleteAllUserList(CGameSocket *pSock) +{ + // If a cconnected, show it... + if (pSock != nullptr) + { + printf("Game Server disconnected - %s\n", pSock->GetRemoteIP().c_str()); + return; + } + + // Server didn't disconnect? + if (!m_bFirstServerFlag) + return; + + // If there's no servers even connected, cleanup. + TRACE("*** DeleteAllUserList - Start *** \n"); + foreach_stlmap_nolock (itr, g_arZone) + { + MAP * pMap = itr->second; + if (pMap == nullptr) + continue; + for (int i = 0; i < pMap->GetXRegionMax(); i++) + { + for (int j = 0; j < pMap->GetZRegionMax(); j++) + pMap->m_ppRegion[i][j].m_RegionUserArray.DeleteAllData(); + } + } + + Guard lock(m_userLock); + foreach (itr, m_pUser) + { + if (itr->second == nullptr) + continue; + + delete itr->second; + } + m_pUser.clear(); + + // Party Array Delete + m_arParty.DeleteAllData(); + + m_bFirstServerFlag = false; + TRACE("*** DeleteAllUserList - End *** \n"); + + printf("[ DELETE All User List ]\n"); +} + +void CServerDlg::Send(Packet * pkt) +{ + m_socketMgr.SendAll(pkt); +} + +void CServerDlg::GameServerAcceptThread() +{ + m_socketMgr.RunServer(); +} + +bool CServerDlg::AddObjectEventNpc(_OBJECT_EVENT* pEvent, MAP * pMap) +{ + int sSid = 0; + + if (pEvent->sType == OBJECT_GATE + || pEvent->sType == OBJECT_GATE2 + || pEvent->sType == OBJECT_GATE_LEVER + || pEvent->sType == OBJECT_ANVIL + || pEvent->sType == OBJECT_ARTIFACT) + sSid = pEvent->sIndex; + else + sSid =pEvent->sControlNpcID; + + if (sSid <= 0) + return false; + + CNpcTable * pNpcTable = m_arNpcTable.GetData(sSid); + if(pNpcTable == nullptr) { + //printf("#### AddObjectEventNpc Fail : [sid = %d], zone=%d #####\n", pEvent->sIndex, zone_number); + return false; + } + + CNpc *pNpc = new CNpc(); + + pNpc->m_byMoveType = 0; + pNpc->m_byInitMoveType = 0; + + pNpc->m_byBattlePos = 0; + + pNpc->m_byObjectType = SPECIAL_OBJECT; + pNpc->m_byGateOpen = (pEvent->sStatus == 1); + + pNpc->m_bZone = pMap->m_nZoneNumber; + pNpc->SetPosition(pEvent->fPosX, pEvent->fPosY, pEvent->fPosZ); + + pNpc->m_nInitMinX = (int)pEvent->fPosX-1; + pNpc->m_nInitMinY = (int)pEvent->fPosZ-1; + pNpc->m_nInitMaxX = (int)pEvent->fPosX+1; + pNpc->m_nInitMaxY = (int)pEvent->fPosZ+1; + + pNpc->Load(m_sMapEventNpc++, pNpcTable, false); + pNpc->m_pMap = pMap; + pNpc->SetUnitEventRoom(pEvent->RoomEvent); + pNpc->SetNPCEventRoom(pEvent->RoomEvent); + + if (pNpc->GetMap() == nullptr + || !m_arNpc.PutData(pNpc->GetID(), pNpc)) + { + m_sMapEventNpc--; + printf("Npc PutData Fail - %d\n", pNpc->GetProtoID()); + delete pNpc; + return false; + } + + m_TotalNPC = m_sMapEventNpc; + return true; +} + +CNpc * CServerDlg::SpawnEventNpc(uint16 sSid, bool bIsMonster, uint8 byZone, float fX, float fY, float fZ, uint16 Radius, uint16 sDuration, uint8 nation, int16 socketID, uint16 nEventRoom, bool nIsPet, std::string strPetName, std::string strUserName, uint64 nSerial, uint16 UserId /* = -1*/) +{ + static float fRandom_X = 0.0f, fRandom_Z = 0.0f; + CNpcTable * proto = nullptr; + MAP * pZone = GetZoneByID(byZone); + + if (pZone == nullptr) + return nullptr; + + if (bIsMonster) + proto = m_arMonTable.GetData(sSid); + else + proto = m_arNpcTable.GetData(sSid); + + if (proto == nullptr) + return nullptr; + + Guard lock(m_npcThreadLock); + auto itr = m_arNpcThread.find(byZone); + if (itr == m_arNpcThread.end()) + return false; + + CNpc * pNpc = new CNpc(); + + pNpc->nIsPet = nIsPet; + pNpc->strUserName = strUserName; + pNpc->strPetName = strPetName; + pNpc->nSerial = nSerial; + pNpc->UserId = UserId; + pNpc->m_bIsEventNpc = true; + pNpc->m_byMoveType = (bIsMonster ? 1 : 0); + pNpc->m_byInitMoveType = pNpc->m_byMoveType; + + + + pNpc->m_bZone = byZone; + + + + uint16 nRandom = Radius; + if (nRandom <= 0) + fRandom_X = (float)fX; + else + fRandom_X = (float)(myrand((fX - nRandom) * 10, (fX + nRandom) * 10) / 10); + + nRandom = Radius; + if (nRandom <= 0) + fRandom_Z = (float)fZ; + else + fRandom_Z = (float)(myrand((fZ - nRandom) * 10, (fZ + nRandom) * 10) / 10); + + pNpc->SetPosition(fRandom_X, 0.0f, fRandom_Z); + + pNpc->m_pMap = pZone; + pNpc->m_oSocketID = socketID; + pNpc->m_bEventRoom = nEventRoom; + pNpc->SetNPCEventRoom(nEventRoom); + pNpc->SetUnitEventRoom(nEventRoom); + + uint16 myID = ++m_TotalNPC; + Guard lock2(m_freeIdsLock); + if(freeIDs.size() > 0) + { + myID = freeIDs.back(); + freeIDs.pop_back(); + + myID -= NPC_BAND; + }else + myID = ++MaxMonsterID; + + pNpc->Load(myID, proto, bIsMonster, nation); + pNpc->m_byBattlePos = 0; + + if(pNpc->GetProtoID() != 7032 + && pNpc->GetProtoID() != 7033 + && pNpc->GetProtoID() != 7034 + && pNpc->GetProtoID() != 8110) + pNpc->InitPos(); + + + if(pNpc->GetZoneID() == ZONE_STONE1) + { + if((pNpc->GetSPosX() / 10) == 126 && pNpc->GetProtoID() == 7032) + { + pNpc->SetPosition(126.2194f,-0.34175f,209.0543f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + if((pNpc->GetSPosX() / 10) == 97 && pNpc->GetProtoID() == 7032) + { + pNpc->SetPosition(97.34771f,-0.13837f,128.5445f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + } + + if(pNpc->GetZoneID() == ZONE_STONE2) + { + if((pNpc->GetSPosX() / 10) == 128 && pNpc->GetProtoID() == 7033) + { + pNpc->SetPosition(128.124f,-0.468628f,208.7566f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + if((pNpc->GetSPosX() / 10) == 152 && pNpc->GetProtoID() == 7033) + { + pNpc->SetPosition(152.245f,0.216793f,123.7196f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + if((pNpc->GetSPosX() / 10) == 99 && pNpc->GetProtoID() == 7033) + { + pNpc->SetPosition(99.81824f,7.528255f,46.26767f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + } + + + if(pNpc->GetZoneID() == ZONE_STONE3) + { + if((pNpc->GetSPosX() / 10) == 131 && pNpc->GetProtoID() == 7034) + { + pNpc->SetPosition(131.124f,-0.440191f,208.4271f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + if((pNpc->GetSPosX() / 10) == 144 && pNpc->GetProtoID() == 7034) + { + pNpc->SetPosition(144.4414f,0.366179f,121.3319f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + if((pNpc->GetSPosX() / 10) == 100 && pNpc->GetProtoID() == 7034) + { + pNpc->SetPosition(100.9698f,1.411695f,46.68652f); + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + } + + } + + + if(pNpc->GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + if(pNpc->GetProtoID() == 8110) + { + pNpc->m_byMoveType = 4; + pNpc->m_sMaxPathCount = 0; + + } + if((pNpc->GetSPosX() / 10) == 512 && (pNpc->GetSPosZ() / 10) == 256 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(512.10f,18.80f,256.40f); + + if((pNpc->GetSPosX() / 10) == 512 && (pNpc->GetSPosZ() / 10) == 767 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(512.10f,18.80f,767.10f); + + if((pNpc->GetSPosX() / 10) == 715 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(715.30f,18.80f,172.00f); + + if((pNpc->GetSPosX() / 10) == 799 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(799.80f,18.80f,375.60f); + + if((pNpc->GetSPosX() / 10) == 308 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(308.50f,18.80f,847.80f); + + if((pNpc->GetSPosX() / 10) == 224 && pNpc->GetProtoID() == 8110) + pNpc->SetPosition(224.00f,18.80f,644.90f); + } + + pNpc->Init(); + m_arNpc.PutData(pNpc->GetID(), pNpc); + itr->second->AddNPC(pNpc); + + pNpc->m_nInitMinX = pNpc->m_nLimitMinX = (int)fX - nRandom; + pNpc->m_nInitMinY = pNpc->m_nLimitMinZ = (int)fZ - nRandom; + pNpc->m_nInitMaxX = pNpc->m_nLimitMaxX = (int)fX + nRandom; + pNpc->m_nInitMaxY = pNpc->m_nLimitMaxZ = (int)fZ + nRandom; + + + if (sDuration > 0) // Duration npc or monsters + { + _NPC_LIVE_TIME * pData = new _NPC_LIVE_TIME(); + pData->nIndex = EventNpcID++; + pData->SocketID = socketID; + pData->Nid = pNpc->m_sNid; + pData->Duration = sDuration; + pData->SpawnedTime = int32(UNIXTIME); + if (!m_NpcLiveTimeArray.PutData(pData->nIndex,pData)) + delete pData; + } + + return pNpc; +} + + +void CServerDlg::NpcUpdate(uint16 sSid, bool bIsMonster, uint8 byGroup, uint16 sPid) +{ + CNpcTable * proto = nullptr; + + if (bIsMonster) + proto = m_arMonTable.GetData(sSid); + else + proto = m_arNpcTable.GetData(sSid); + + if (proto == nullptr) + return; + + if (byGroup > 0) + proto->m_byGroupSpecial = byGroup; + + if (sPid > 0) + proto->m_sPid = sPid; +} + +MAP * CServerDlg::GetZoneByID(int zonenumber) +{ + return g_arZone.GetData(zonenumber); +} + +void CServerDlg::GetServerInfoIni() +{ + CIni ini("./AIServer.ini"); + ini.GetString("ODBC", "GAME_DSN", "KO_GAME", m_strGameDSN, false); + ini.GetString("ODBC", "GAME_UID", "username", m_strGameUID, false); + ini.GetString("ODBC", "GAME_PWD", "password", m_strGamePWD, false); + + CIni ini2(CONF_GAME_SERVER); + KarusBaseMilitaryCampCount = ini2.GetInt("MILITARY_CAMP","ZONE_KARUS_BASE",0); + if (KarusBaseMilitaryCampCount > 3) + KarusBaseMilitaryCampCount = 3; + + ElmoradBaseMilitaryCampCount = ini2.GetInt("MILITARY_CAMP","ZONE_ELMORAD_BASE",0); + if (ElmoradBaseMilitaryCampCount > 3) + ElmoradBaseMilitaryCampCount = 3; + + KarusEslantMilitaryCampCount = ini2.GetInt("MILITARY_CAMP","ZONE_KARUS_ESLANT",0); + if (KarusEslantMilitaryCampCount > 3) + KarusEslantMilitaryCampCount = 3; + + ElmoradEslantMilitaryCampCount = ini2.GetInt("MILITARY_CAMP","ZONE_ELMORAD_ESLANT",0); + if (ElmoradEslantMilitaryCampCount > 3) + ElmoradEslantMilitaryCampCount = 3; + + MoradonMilitaryCampCount = ini2.GetInt("MILITARY_CAMP","ZONE_MORADON",0); + if (MoradonMilitaryCampCount > 5) + MoradonMilitaryCampCount = 5; + + m_AIServerPort = ini.GetInt("SETTINGS","PORT", 10020); +} + +void CServerDlg::SendSystemMsg(std::string & pMsg, int type) +{ + Packet result(AG_SYSTEM_MSG, uint8(type)); + result << pMsg; + Send(&result); +} + +void CServerDlg::ResetBattleZone() +{ + TRACE("ServerDlg - ResetBattleZone() : start \n"); + foreach_stlmap_nolock (itr, g_arZone) + { + MAP *pMap = itr->second; + if (pMap == nullptr || pMap->m_byRoomEvent == 0) + continue; + //if( pMap->IsRoomStatusCheck() == true ) continue; // ü Ŭ Ǿٸ + pMap->InitializeRoom(); + } + TRACE("ServerDlg - ResetBattleZone() : end \n"); +} + +CServerDlg::~CServerDlg() +{ + g_bNpcExit = true; + + printf("Waiting for NPC threads to exit..."); + + Guard lock(m_npcThreadLock); + foreach (itr, m_arNpcThread) + { + CNpcThread * pThread = itr->second; + pThread->m_thread.waitForExit(); + delete pThread; + } + m_arNpcThread.clear(); + + printf(" exited.\n"); + + printf("Waiting for zone event thread to exit..."); + m_zoneEventThread.waitForExit(); + printf(" exited.\n"); + + printf("Waiting for timer threads to exit..."); + foreach (itr, g_timerThreads) + { + (*itr)->waitForExit(); + delete (*itr); + } + printf(" exited.\n"); + + printf("Freeing user sessions..."); + for (int i = 0; i < MAX_USER; i++) + { + if (m_pUser[i] != nullptr) + { + delete m_pUser[i]; + m_pUser[i] = nullptr; + } + } + printf(" done.\n"); + + m_ZoneNpcList.clear(); + + printf("Shutting down socket system..."); + m_socketMgr.Shutdown(); + printf(" done.\n"); +} \ No newline at end of file diff --git a/server/AIServer/ServerDlg.h b/server/AIServer/ServerDlg.h new file mode 100644 index 0000000..2da2a6d --- /dev/null +++ b/server/AIServer/ServerDlg.h @@ -0,0 +1,149 @@ +#pragma once + +#include "Define.h" +#include "../shared/KOSocketMgr.h" +#include "../shared/database/OdbcConnection.h" + +#include "GameSocket.h" + +#include "MAP.h" +#include "PathFind.h" + +#include "../shared/STLMap.h" +#include "../shared/STLMapOnlyLoad.h" + +class CNpcThread; +class CNpcTable; +class Unit; + +typedef std::map NpcThreadArray; +typedef CSTLMap NpcTableArray; +typedef CSTLMap NpcArray; +typedef CSTLMapOnlyLoad <_MAGIC_TABLE> MagictableArray; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE1> Magictype1Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE2> Magictype2Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE4> Magictype4Array; +typedef CSTLMap <_PARTY_GROUP> PartyArray; +typedef CSTLMapOnlyLoad <_MAKE_WEAPON> MakeWeaponItemTableArray; +typedef CSTLMapOnlyLoad <_MAKE_ITEM_GRADE_CODE> MakeGradeItemTableArray; +typedef CSTLMapOnlyLoad <_MAKE_ITEM_LARE_CODE> MakeLareItemTableArray; +typedef std::list ZoneNpcInfoList; +typedef CSTLMapOnlyLoad ZoneArray; +typedef CSTLMapOnlyLoad <_K_MONSTER_ITEM> NpcItemArray; +typedef CSTLMapOnlyLoad <_MAKE_ITEM_GROUP> MakeItemGroupArray; +typedef CSTLMapOnlyLoad <_SERVER_RESOURCE> ServerResourceArray; +typedef CSTLMap <_NPC_LIVE_TIME> NpcLiveTimeArray; +typedef CSTLMapOnlyLoad <_OBJECT_EVENT> ObjectEventArray; + +typedef std::map UserSessionMap; + +class CServerDlg +{ +private: + void ResumeAI(); + bool CreateNpcThread(); + bool GetMagicTableData(); + bool GetMagicType1Data(); + bool GetMagicType2Data(); + bool GetMagicType4Data(); + bool GetNpcTableData(bool bNpcData = true); + bool GetNpcItemTable(); + bool GetMakeItemGroupTable(); + bool GetMakeWeaponItemTableData(); + bool GetMakeDefensiveItemTableData(); + bool GetMakeGradeItemTableData(); + bool GetMakeLareItemTableData(); + bool GetServerResourceTable(); + bool MapFileLoad(); + void GetServerInfoIni(); + bool GetObjectPostTableData(); + +public: + CServerDlg(); + bool Startup(); + void UserEventRoomUpdate(uint16 uid, uint16 RoomEvent); + bool LoadSpawnCallback(OdbcCommand *dbCommand); + void GameServerAcceptThread(); + void GetServerResource(int nResourceID, std::string * result, ...); + bool AddObjectEventNpc(_OBJECT_EVENT* pEvent, MAP * pMap); + CNpc * SpawnEventNpc(uint16 sSid, bool bIsMonster, uint8 byZone, float fX, float fY, float fZ, uint16 Radius = 0, uint16 sDuration = 0, uint8 nation = 0, int16 socketID = -1,uint16 nEventRoom = 0, bool nIsPet = false, std::string strPetName = "", std::string strUserName = "", uint64 nSerial = 1, uint16 UserId = -1); + void NpcUpdate(uint16 sSid, bool bIsMonster, uint8 byGroup = 0, uint16 sPid = 0); + + void AllNpcInfo(); + + Unit * GetUnitPtr(uint16 id); + CNpc * GetNpcPtr(uint16 npcId); + + CUser* GetUserPtr(uint16 sessionId); + bool SetUserPtr(uint16 sessionId, CUser * pUser); + void DeleteUserPtr(uint16 sessionId); + + MAP * GetZoneByID(int zonenumber); + + + static uint32 THREADCALL Timer_CheckAliveTest(void * lpParam); + static uint32 THREADCALL Timer_CheckLiveTimes(void * lpParam); + void CheckAliveTest(); + void CheckLiveTimes(); + void DeleteAllUserList(CGameSocket *pSock = nullptr); + void Send(Packet * pkt); + void SendSystemMsg(std::string & pMsg, int type=0); + void ResetBattleZone(); + + ~CServerDlg(); + +public: + bool CSWOpen; + uint16 EventNpcID; + std::vector freeIDs; + NpcArray m_arNpc; + NpcTableArray m_arMonTable; + NpcTableArray m_arNpcTable; + NpcThreadArray m_arNpcThread; + PartyArray m_arParty; + ZoneNpcInfoList m_ZoneNpcList; + MagictableArray m_MagictableArray; + Magictype1Array m_Magictype1Array; + Magictype2Array m_Magictype2Array; + Magictype4Array m_Magictype4Array; + MakeWeaponItemTableArray m_MakeWeaponItemArray; + MakeWeaponItemTableArray m_MakeDefensiveItemArray; + MakeGradeItemTableArray m_MakeGradeItemArray; + MakeLareItemTableArray m_MakeLareItemArray; + ZoneArray g_arZone; + NpcItemArray m_NpcItemArray; + MakeItemGroupArray m_MakeItemGroupArray; + ServerResourceArray m_ServerResourceArray; + NpcLiveTimeArray m_NpcLiveTimeArray; + ObjectEventArray m_ObjectEventArray; + Thread m_zoneEventThread; + // Military Camps + uint8 KarusBaseMilitaryCampCount, ElmoradBaseMilitaryCampCount, KarusEslantMilitaryCampCount, ElmoradEslantMilitaryCampCount, MoradonMilitaryCampCount; + + std::string m_strGameDSN, m_strGameUID, m_strGamePWD; + OdbcConnection m_GameDB; + + uint32 m_AIServerPort; + + UserSessionMap m_pUser; + + Atomic MaxMonsterID; + Atomic m_TotalNPC; // DBִ + Atomic m_CurrentNPC; + short m_sTotalMap; // Zone + short m_sMapEventNpc; // Map о̴ event npc + + bool m_bFirstServerFlag; // ó Ӽ 쿡 1, 0 + uint8 m_byBattleEvent; // ̺Ʈ ÷( 1: ƴ, 0:) + short m_sKillKarusNpc, m_sKillElmoNpc; // ﵿȿ npc + + uint16 m_iYear, m_iMonth, m_iDate, m_iHour, m_iMin, m_iAmount; + uint8 m_iWeather; + bool m_bIsNight; + + std::recursive_mutex m_userLock, m_npcThreadLock, m_makeItemGroupLock, m_freeIdsLock; + + KOSocketMgr m_socketMgr; +}; + +extern CServerDlg * g_pMain; \ No newline at end of file diff --git a/server/AIServer/Unit.cpp.txt b/server/AIServer/Unit.cpp.txt new file mode 100644 index 0000000..b2cf362 --- /dev/null +++ b/server/AIServer/Unit.cpp.txt @@ -0,0 +1,1392 @@ +#include "stdafx.h" +#include "Map.h" +#ifdef GAMESERVER +# include "GameServerDlg.h" +# include "MagicInstance.h" +#else +# include "../AIServer/ServerDlg.h" +# include "../AIServer/Npc.h" +# include "../AIServer/User.h" +#endif +#include + +Unit::Unit(UnitType unitType) + : m_pMap(nullptr), m_pRegion(nullptr), m_sRegionX(0), m_sRegionZ(0), m_unitType(unitType) +{ + Initialize(); +} + +void Unit::Initialize() +{ + m_pMap = nullptr; + m_pRegion = nullptr; + + SetPosition(0.0f, 0.0f, 0.0f); + m_bLevel = 0; + m_bNation = 0; + + m_sTotalHit = 0; + m_sTotalAc = 0; + m_fTotalHitrate = 0.0f; + m_fTotalEvasionrate = 0.0f; + + m_bResistanceBonus = 0; + m_sFireR = m_sColdR = m_sLightningR = m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; + m_sDaggerR = m_sSwordR = m_sAxeR = m_sMaceR = m_sSpearR = m_sBowR = 0; + m_byDaggerRAmount = m_byBowRAmount = 100; + + Guard lock(m_equippedItemBonusLock); + m_equippedItemBonuses.clear(); + + m_bCanStealth = true; + m_bReflectArmorType = 0; + m_bIsBlinded = false; + m_bCanUseSkills = m_bCanUsePotions = m_bCanTeleport = true; + m_bInstantCast = false; + m_bIsUndead = m_bIsKaul = false; + + m_bBlockPhysical = m_bBlockMagic = false; + m_bBlockCurses = m_bReflectCurses = false; + m_bMirrorDamage = false; + m_byMirrorAmount = 0; + + m_sAttackSpeedAmount = 100; // this is for the duration spells Type 4 + m_bSpeedAmount = 100; + m_sACAmount = 0; + m_sACPercent = 100; + m_bAttackAmount = 100; + m_sMagicAttackAmount = 0; + m_sMaxHPAmount = m_sMaxMPAmount = 0; + m_bHitRateAmount = 100; + m_sAvoidRateAmount = 100; + m_bAddFireR = m_bAddColdR = m_bAddLightningR = 0; + m_bAddMagicR = m_bAddDiseaseR = m_bAddPoisonR = 0; + m_bPctFireR = m_bPctColdR = m_bPctLightningR = 100; + m_bPctMagicR = m_bPctDiseaseR = m_bPctPoisonR = 100; + m_bMagicDamageReduction = 100; + m_bManaAbsorb = 0; + m_bRadiusAmount = 0; + m_buffCount = 0; + + m_oSocketID = -1; + m_bEventRoom = 0; + + InitType3(); + InitType4(true); +} + +/* +NOTE: Due to KO messiness, we can really only calculate a 2D distance/ +There are a lot of instances where the y (height level, in this case) coord isn't set, +which understandably screws things up a lot. +*/ +// Calculate the distance between 2 2D points. +float Unit::GetDistance(float fx, float fz) +{ + return (float)GetDistance(GetX(), GetZ(), fx, fz); +} + +// Calculate the 2D distance between Units. +float Unit::GetDistance(Unit * pTarget) +{ + if (pTarget != nullptr){ + ASSERT(pTarget != nullptr); + if (GetZoneID() != pTarget->GetZoneID()) + return -FLT_MAX; + + return GetDistance(pTarget->GetX(), pTarget->GetZ()); + } +} + +float Unit::GetDistanceSqrt(Unit * pTarget) +{ + + + if (pTarget != nullptr){ + ASSERT(pTarget != nullptr); + if (GetZoneID() != pTarget->GetZoneID()) + return -FLT_MAX; + + return sqrtf(GetDistance(pTarget->GetX(), pTarget->GetZ())); + } + +} + +// Check to see if the Unit is in 2D range of another Unit. +// Range MUST be squared already. +bool Unit::isInRange(Unit * pTarget, float fSquaredRange) +{ + + if (pTarget != nullptr){ + return (GetDistance(pTarget) <= fSquaredRange); + } +} + +// Check to see if we're in the 2D range of the specified coordinates. +// Range MUST be squared already. +bool Unit::isInRange(float fx, float fz, float fSquaredRange) +{ + return (GetDistance(fx, fz) <= fSquaredRange); +} + +// Check to see if the Unit is in 2D range of another Unit. +// Range must NOT be squared already. +// This is less preferable to the more common precalculated range. +bool Unit::isInRangeSlow(Unit * pTarget, float fNonSquaredRange) +{ + return isInRange(pTarget, pow(fNonSquaredRange, 2.0f)); +} + +// Check to see if the Unit is in 2D range of the specified coordinates. +// Range must NOT be squared already. +// This is less preferable to the more common precalculated range. +bool Unit::isInRangeSlow(float fx, float fz, float fNonSquaredRange) +{ + return isInRange(fx, fz, pow(fNonSquaredRange, 2.0f)); +} + +float Unit::GetDistance(float fStartX, float fStartZ, float fEndX, float fEndZ) +{ + return pow(fStartX - fEndX, 2.0f) + pow(fStartZ - fEndZ, 2.0f); +} + +bool Unit::isInRange(float fStartX, float fStartZ, float fEndX, float fEndZ, float fSquaredRange) +{ + return (GetDistance(fStartX, fStartZ, fEndX, fEndZ) <= fSquaredRange); +} + +bool Unit::isInRangeSlow(float fStartX, float fStartZ, float fEndX, float fEndZ, float fNonSquaredRange) +{ + return isInRange(fStartX, fStartZ, fEndX, fEndZ, pow(fNonSquaredRange, 2.0f)); +} + +#ifdef GAMESERVER +void Unit::SetRegion(uint16 x /*= -1*/, uint16 z /*= -1*/) +{ + m_sRegionX = x; m_sRegionZ = z; + m_pRegion = m_pMap->GetRegion(x, z); // TODO: Clean this up +} + +bool Unit::RegisterRegion() +{ + uint16 + new_region_x = GetNewRegionX(), new_region_z = GetNewRegionZ(), + old_region_x = GetRegionX(), old_region_z = GetRegionZ(); + + if (GetRegion() == nullptr || (old_region_x == new_region_x && old_region_z == new_region_z)) + return false; + + AddToRegion(new_region_x, new_region_z); + + RemoveRegion(old_region_x - new_region_x, old_region_z - new_region_z); + InsertRegion(new_region_x - old_region_x, new_region_z - old_region_z); + + return true; +} + +void Unit::RemoveRegion(int16 del_x, int16 del_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_OUT); + g_pMain->Send_OldRegions(&result, del_x, del_z, GetMap(), GetRegionX(), GetRegionZ()); +} + +void Unit::InsertRegion(int16 insert_x, int16 insert_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_IN); + g_pMain->Send_NewRegions(&result, insert_x, insert_z, GetMap(), GetRegionX(), GetRegionZ()); +} +#endif + +/* These should not be declared here, but it's necessary until the AI server better shares unit code */ + +/** +* @brief Calculates damage for players attacking either monsters/NPCs or other players. +* +* @param pTarget Target unit. +* @param pSkill The skill used in the attack, if applicable.. +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses. +* Used by AI logic to determine who to target (by checking who deals the most damage). +* +* @return The damage. +*/ +short CUser::GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + /* + This seems identical to users attacking NPCs/monsters. + The only differences are: + - GetACDamage() is not called + - the resulting damage is not divided by 3. + */ + int32 damage = 0; + int random = 0; + int32 temp_hit = 0, temp_ac = 0, temp_ap = 0, temp_hit_B = 0; + uint8 result; + + if (pTarget == nullptr || pTarget->isDead()) + return -1; + + // Trigger item procs + if (pTarget->isPlayer() + && !bPreviewOnly) + { + OnAttack(pTarget, AttackTypePhysical); + pTarget->OnDefend(this, AttackTypePhysical); + } + + temp_ac = pTarget->m_sTotalAc; + + // A unit's total AC shouldn't ever go below 0. + if ((pTarget->m_sACAmount) <= 0) + pTarget->m_sACAmount = 0; + else + temp_ac += pTarget->m_sACAmount; + + if (pTarget->m_sACPercent > 0 && pTarget->m_sACPercent < 100) + temp_ac -= temp_ac * (100 - pTarget->m_sACPercent) / 100; + + temp_ap = m_sTotalHit * m_bAttackAmount; + +#ifdef GAMESERVER + // Apply player vs player AC/AP bonuses. + if (pTarget->isPlayer()) + { + CUser * pTUser = TO_USER(pTarget); // NOTE: using a = a*v instead of a *= v because the compiler assumes different + // types being multiplied, which results in these calcs not behaving correctly. + + // adjust player AP by percent, for skills like "Critical Point" + temp_ap = temp_ap * m_bPlayerAttackAmount / 100; + + // Now handle class-specific AC/AP bonuses. + temp_ac = temp_ac * (100 + pTUser->m_byAcClassBonusAmount[GetBaseClassType() - 1]) / 100; + temp_ap = temp_ap * (100 + m_byAPClassBonusAmount[pTUser->GetBaseClassType() - 1]) / 100; + } +#endif + + // Allow for complete physical damage blocks. + // NOTE: Unsure if we need to count skill usage as magic damage or if we + // should only block that in explicit magic damage skills (CMagicProcess::GetMagicDamage()). + if (pTarget->m_bBlockPhysical) + return 0; + + temp_hit_B = (int)((temp_ap * 200 / 100) / (temp_ac + 240)); + + // Skill/arrow hit. + if (pSkill != nullptr) + { + // SKILL HIT! YEAH! + if (pSkill->bType[0] == 1) + { + _MAGIC_TYPE1 *pType1 = g_pMain->m_Magictype1Array.GetData(pSkill->iNum); + if (pType1 == nullptr) + return -1; + + // Non-relative hit. + if (pType1->bHitType) + { + result = (pType1->sHitRate <= myrand(0, 100) ? FAIL : SUCCESS); + } + // Relative hit. + else + { + result = GetHitRate((m_fTotalHitrate / pTarget->m_fTotalEvasionrate) * (pType1->sHitRate / 100.0f)); + } + + temp_hit = (int32)(temp_hit_B * (pType1->sHit / 100.0f)); + } + // ARROW HIT! YEAH! + else if (pSkill->bType[0] == 2) + { + _MAGIC_TYPE2 *pType2 = g_pMain->m_Magictype2Array.GetData(pSkill->iNum); + if (pType2 == nullptr) + return -1; + + // Non-relative/Penetration hit. + if (pType2->bHitType == 1 || pType2->bHitType == 2) + { + result = (pType2->sHitRate <= myrand(0, 100) ? FAIL : SUCCESS); + } + // Relative hit/Arc hit. + else + { + result = GetHitRate((m_fTotalHitrate / pTarget->m_fTotalEvasionrate) * (pType2->sHitRate / 100.0f)); + } + + if (pType2->bHitType == 1 /* || pType2->bHitType == 2 */) + temp_hit = (int32)(m_sTotalHit * m_bAttackAmount * (pType2->sAddDamage / 100.0f) / 100); + else + temp_hit = (int32)(temp_hit_B * (pType2->sAddDamage / 100.0f)); + } + } + // Normal hit (R attack) + else + { + temp_hit = temp_ap / 100; + result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + } + + switch (result) + { // 1. Magical item damage.... + case GREAT_SUCCESS: + case SUCCESS: + case NORMAL: + if (pSkill != nullptr) + { // Skill Hit. + damage = temp_hit; + random = myrand(0, damage); + if (pSkill->bType[0] == 1) + damage = (short)((temp_hit + 0.3f * random) + 0.99f); + else + damage = (short)(((temp_hit * 0.6f) + 1.0f * random) + 0.99f); + } + else + { // Normal Hit. + +#ifdef GAMESERVER + if (isGM() && !pTarget->isPlayer()) + { + if (g_pMain->m_nGameMasterRHitDamage != 0) + { + damage = g_pMain->m_nGameMasterRHitDamage; + return damage; + } + } +#endif + + damage = temp_hit_B; + random = myrand(0, damage); + damage = (short)((0.85f * temp_hit_B) + 0.3f * random); + } + + break; + case FAIL: + if (pSkill != nullptr) + { // Skill Hit. + + } else { // Normal Hit. +#ifdef GAMESERVER + if (isGM() && !pTarget->isPlayer()) + { + damage = 30000; + return damage; + } +#endif + } + } + + // Apply item bonuses + damage = GetMagicDamage(damage, pTarget, bPreviewOnly); + + // These two only apply to players + if (pTarget->isPlayer()) + { + damage = GetACDamage(damage, pTarget); // 3. Additional AC calculation.... + + // Give increased damage in war zones (as per official 1.298~1.325) + // This may need to be revised to use the last nation to win the war, or more accurately, + // the nation that last won the war 3 times in a row (whether official behaves this way now is unknown). + if (GetMap()->isWarZone()) + damage /= 2; + else + damage /= 2; + } + + // Enforce damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + return damage; +} + +#if GAMESERVER +void CUser::OnAttack(Unit * pTarget, AttackType attackType) +{ + if (!pTarget->isPlayer() + || attackType == AttackTypeMagic) + return; + + // Trigger weapon procs for the attacker on attack + static const uint8 itemSlots[] = { RIGHTHAND, LEFTHAND }; + foreach_array (i, itemSlots) + { + // If we hit an applicable weapon, don't try proc'ing the other weapon. + // It is only ever meant to proc on the dominant weapon. + if (TriggerProcItem(itemSlots[i], pTarget, TriggerTypeAttack)) + break; + } +} + +void CUser::OnDefend(Unit * pAttacker, AttackType attackType) +{ + if (!pAttacker->isPlayer()) + return; + + // Trigger defensive procs for the defender when being attacked + static const uint8 itemSlots[] = { LEFTHAND }; + foreach_array (i, itemSlots) + TriggerProcItem(itemSlots[i], pAttacker, TriggerTypeDefend); +} + +/** +* @brief Trigger item procs. +* +* @param bSlot Slot of item to attempt to proc. +* @param pTarget Target of the skill (attacker/defender depending on the proc type). +* @param triggerType Which type of item to proc (offensive/defensive). +* +* @return true if there's an applicable item to proc, false if not. +*/ +bool CUser::TriggerProcItem(uint8 bSlot, Unit * pTarget, ItemTriggerType triggerType) +{ + // Don't proc weapon skills if our weapon is disabled. + if (triggerType == TriggerTypeAttack && isWeaponsDisabled()) + return false; + + // Ensure there's an item in this slot, + _ITEM_DATA * pItem = GetItem(bSlot); + if (pItem == nullptr + // and that it doesn't need to be repaired. + || pItem->sDuration == 0) + return false; // not an applicable item + + // Ensure that this item has an attached proc skill in the table + _ITEM_OP * pData = g_pMain->m_ItemOpArray.GetData(pItem->nNum); + if (pData == nullptr // no skill to proc + || pData->bTriggerType != triggerType) // don't use an offensive proc when we're defending (or vice versa) + return false; // not an applicable item + + // At this point, we have determined there is an applicable item in the slot. + // Should it proc now? (note: CheckPercent() checks out of 1000) + if (!CheckPercent(pData->bTriggerRate * 10)) + return true; // it is an applicable item, it just didn't proc. No need to proc subsequent items. + + MagicInstance instance; + + instance.bIsItemProc = true; + instance.sCasterID = GetID(); + instance.sTargetID = pTarget->GetID(); + instance.nSkillID = pData->nSkillID; + + // For AOE skills such as "Splash", the AOE should be focus on the target. + instance.sData[0] = (uint16) pTarget->GetX(); + instance.sData[2] = (uint16) pTarget->GetZ(); + + instance.Run(); + return true; // it is an applicable item, and it proc'd. No need to proc subsequent items. +} +#endif + +short CNpc::GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget->isPlayer()) + return GetDamage(TO_USER(pTarget), pSkill); + + return GetDamage(TO_NPC(pTarget), pSkill); +} + +/** +* @brief Calculates damage for monsters/NPCs attacking players. +* +* @param pTarget Target player. +* @param pSkill The skill (not used here). +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses (not used here). +* +* @return The damage. +*/ +short CNpc::GetDamage(CUser *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget == nullptr) + return 0; + + int32 damage = 0, HitB; + int32 Ac = pTarget->m_sTotalAc; + + // A unit's total AC shouldn't ever go below 0. + if ((pTarget->m_sACAmount) <= 0) + pTarget->m_sACAmount = 0; + else + Ac += pTarget->m_sACAmount; + + Ac = TO_USER(pTarget)->m_sItemAc + pTarget->GetLevel() + + (Ac - pTarget->GetLevel() - TO_USER(pTarget)->m_sItemAc); + HitB = (int)((m_sTotalHit * m_bAttackAmount * 200 / 100) / (Ac + 240)); + + if (HitB <= 0) + return 0; + + uint8 result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + switch (result) + { + case GREAT_SUCCESS: + damage = (int)(0.3f * myrand(0, HitB)); + damage += (short)(0.85f * (float)HitB); + damage = (damage * 3) / 2; + break; + + case SUCCESS: + case NORMAL: + damage = (int)(0.3f * myrand(0, HitB)); + damage += (short)(0.85f * (float)HitB); + break; + } + + int nMaxDamage = (int)(2.6 * m_sTotalHit); + if (damage > nMaxDamage) + damage = nMaxDamage; + + // Enforce overall damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + return (short) damage; +} + +/** +* @brief Calculates damage for monsters/NPCs attacking other monsters/NPCs. +* +* @param pTarget Target NPC/monster. +* @param pSkill The skill (not used here). +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses (not used here). +* +* @return The damage. +*/ +short CNpc::GetDamage(CNpc *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget == nullptr) + return 0; + + short damage = 0, Hit = m_sTotalHit, Ac = pTarget->m_sTotalAc; + uint8 result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + switch (result) + { + case GREAT_SUCCESS: + damage = (short)(0.6 * Hit); + if (damage <= 0) + { + damage = 0; + break; + } + damage = myrand(0, damage); + damage += (short)(0.7 * Hit); + break; + + case SUCCESS: + case NORMAL: + if (Hit - Ac > 0) + { + damage = (short)(0.6 * (Hit - Ac)); + if (damage <= 0) + { + damage = 0; + break; + } + damage = myrand(0, damage); + damage += (short)(0.7 * (Hit - Ac)); + } + break; + } + + // Enforce damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + return damage; +} + +short Unit::GetMagicDamage(int damage, Unit *pTarget, bool bPreviewOnly /*= false*/) +{ + if (pTarget->isDead() || pTarget-> isBlinking()) + return 0; + + Guard lock(m_equippedItemBonusLock); + int16 sReflectDamage = 0; + bool sKontrol = false; + // Check each item that has a bonus effect. + int aa = m_equippedItemBonuses.size(); + + foreach (itr, m_equippedItemBonuses) + { + // Each item can support multiple bonuses. + // Thus, we must handle each bonus. + int ss = itr->second.size(); + + foreach (bonusItr, itr->second) + { + short total_r = 0, temp_damage = 0; + uint8 bType = bonusItr->first; + int16 sAmount = bonusItr->second; + + bool bIsDrain = (bType >= ITEM_TYPE_HP_DRAIN && bType <= ITEM_TYPE_MP_DRAIN); + if (bIsDrain) + temp_damage = damage * sAmount / 100; + + switch (bType) + { + case ITEM_TYPE_FIRE: + total_r = (pTarget->m_sFireR + pTarget->m_bAddFireR) * pTarget->m_bPctFireR / 100; + break; + case ITEM_TYPE_COLD: + total_r = (pTarget->m_sColdR + pTarget->m_bAddColdR) * pTarget->m_bPctColdR / 100; + break; + case ITEM_TYPE_LIGHTNING: + total_r = (pTarget->m_sLightningR + pTarget->m_bAddLightningR) * pTarget->m_bPctLightningR / 100; + break; + case ITEM_TYPE_HP_DRAIN: + pTarget->HpChange(temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MP_DAMAGE: + pTarget->MSpChange(-temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MP_DRAIN: + MSpChange(temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MIRROR_DAMAGE: + sReflectDamage += sAmount; + break; + } + + total_r += pTarget->m_bResistanceBonus; + if (!bIsDrain) + { + if (total_r > 200) + total_r = 200; + + temp_damage = sAmount - sAmount * total_r / 200; + damage += temp_damage; + } + else if(bType == ITEM_TYPE_HP_DRAIN) + { + HpChange(temp_damage); + temp_damage = sAmount - sAmount * total_r / 200; + return damage += temp_damage; + } + } + } + + // If any items have have damage reflection enabled, we should reflect this back to the client. + // NOTE: This should only apply to shields, so it should only ever apply once. + // We do this here to ensure it's taking into account the total calculated damage. + if (sReflectDamage > 0 && !sKontrol) + { + short temp_damage = damage * sReflectDamage / 100; + HpChange(-temp_damage); + } + + return damage; +} + +short Unit::GetACDamage(int damage, Unit *pTarget) +{ + // This isn't applicable to NPCs. + if (!isPlayer() || !pTarget->isPlayer()) + return damage; + +#ifdef GAMESERVER + if (pTarget->isDead()) + return 0; + + CUser * pUser = TO_USER(this); + if (pUser->isWeaponsDisabled()) + return damage; + + uint8 weaponSlots[] = { LEFTHAND, RIGHTHAND }; + + int firstdamage = damage; + + foreach_array (slot, weaponSlots) + { + _ITEM_TABLE * pWeapon = pUser->GetItemPrototype(weaponSlots[slot]); + if (pWeapon == nullptr) + continue; + + if (pWeapon->isDagger()) + damage -= damage * pTarget->m_sDaggerR / 200; + else if (pWeapon->isSword()) + damage -= damage * pTarget->m_sSwordR / 200; + else if (pWeapon->isAxe()) + damage -= damage * pTarget->m_sAxeR / 200; + else if (pWeapon->isMace()) + damage -= damage * pTarget->m_sMaceR / 200; + else if (pWeapon->isSpear()) + damage -= damage * pTarget->m_sSpearR / 200; + else if (pWeapon->isBow()) + damage -= damage * pTarget->m_sBowR / 200; + } + +#endif + return damage; +} + +uint8 Unit::GetHitRate(float rate) +{ + int random = myrand(1, 10000); + if (rate >= 5.0f) + { + if (random >= 1 && random <= 3500) + return GREAT_SUCCESS; + else if (random >= 3501 && random <= 7500) + return SUCCESS; + else if (random >= 7501 && random <= 9800) + return NORMAL; + } + else if (rate < 5.0f && rate >= 3.0f) + { + if (random >= 1 && random <= 2500) + return GREAT_SUCCESS; + else if (random >= 2501 && random <= 6000) + return SUCCESS; + else if (random >= 6001 && random <= 9600) + return NORMAL; + } + else if (rate < 3.0f && rate >= 2.0f) + { + if (random >= 1 && random <= 2000) + return GREAT_SUCCESS; + else if (random >= 2001 && random <= 5000) + return SUCCESS; + else if (random >= 5001 && random <= 9400) + return NORMAL; + } + else if (rate < 2.0f && rate >= 1.25f) + { + if (random >= 1 && random <= 1500) + return GREAT_SUCCESS; + else if (random >= 1501 && random <= 4000) + return SUCCESS; + else if (random >= 4001 && random <= 9200) + return NORMAL; + } + else if (rate < 1.25f && rate >= 0.8f) + { + if (random >= 1 && random <= 1000) + return GREAT_SUCCESS; + else if (random >= 1001 && random <= 3000) + return SUCCESS; + else if (random >= 3001 && random <= 9000) + return NORMAL; + } + else if (rate < 0.8f && rate >= 0.5f) + { + if (random >= 1 && random <= 800) + return GREAT_SUCCESS; + else if (random >= 801 && random <= 2500) + return SUCCESS; + else if (random >= 2501 && random <= 8000) + return NORMAL; + } + else if (rate < 0.5f && rate >= 0.33f) + { + if (random >= 1 && random <= 600) + return GREAT_SUCCESS; + else if (random >= 601 && random <= 2000) + return SUCCESS; + else if (random >= 2001 && random <= 7000) + return NORMAL; + } + else if (rate < 0.33f && rate >= 0.2f) + { + if (random >= 1 && random <= 400) + return GREAT_SUCCESS; + else if (random >= 401 && random <= 1500) + return SUCCESS; + else if (random >= 1501 && random <= 6000) + return NORMAL; + } + else + { + if (random >= 1 && random <= 200) + return GREAT_SUCCESS; + else if (random >= 201 && random <= 1000) + return SUCCESS; + else if (random >= 1001 && random <= 5000) + return NORMAL; + } + + return FAIL; +} + +#ifdef GAMESERVER +void Unit::SendToRegion(Packet *result) +{ + g_pMain->Send_Region(result, GetMap(), GetRegionX(), GetRegionZ(), nullptr, GetEventRoom()); +} + +// Handle it here so that we don't need to ref the class everywhere +void Unit::Send_AIServer(Packet *result) +{ + g_pMain->Send_AIServer(result); +} +#endif + +void Unit::InitType3() +{ + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + m_durationalSkills[i].Reset(); + + m_bType3Flag = false; +} + +void Unit::InitType4(bool bRemoveSavedMagic /*= false*/, uint8 buffType /* = 0 */) +{ + // Remove all buffs that should not be recast. + Guard lock(m_buffLock); + Type4BuffMap buffMap = m_buffMap; // copy the map + + for (auto itr = buffMap.begin(); itr != buffMap.end(); itr++) + { +#ifdef GAMESERVER + if (buffType > 0 && itr->second.m_bBuffType != buffType) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, bRemoveSavedMagic, buffType > 0 ? true : false); +#endif + } +} + +/** +* @brief Determine if this unit is basically able to attack the specified unit. +* This should only be called to handle the minimal shared logic between +* NPCs and players. +* +* You should use the more appropriate CUser or CNpc specialization. +* +* @param pTarget Target for the attack. +* +* @return true if we can attack, false if not. +*/ +bool Unit::CanAttack(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + // Units cannot attack units in different zones. + if (GetZoneID() != pTarget->GetZoneID()) + return false; + + // We cannot attack our target if we are incapacitated + // (should include debuffs & being blinded) + if (isIncapacitated() + // or if our target is in a state in which + // they should not be allowed to be attacked + || pTarget->isDead() + || pTarget->isBlinking()) + return false; + + // Finally, we can only attack the target if we are hostile towards them. + return isHostileTo(pTarget); +} + +/** +* @brief Determine if this unit is basically able to attack the specified unit. +* This should only be called to handle the minimal shared logic between +* NPCs and players. +* +* You should use the more appropriate CUser or CNpc specialization. +* +* @param pTarget Target for the attack. +* +* @return true if we attackable, false if not. +*/ +bool Unit::isAttackable(Unit * pTarget) +{ + if (pTarget == nullptr) + pTarget = this; + + if (pTarget) + { + if (pTarget->isNPC()) + { + CNpc * pNpc = TO_NPC(pTarget); + if (pNpc != nullptr) + { +#if defined(GAMESERVER) + if (pNpc->GetType() == NPC_BIFROST_MONUMENT) + return (g_pMain->m_bAttackBifrostMonument); + else if (pNpc->GetType() == NPC_PVP_MONUMENT) + { + if ((GetNation() == KARUS && pNpc->m_sPid == MONUMENT_KARUS_SPID) || (GetNation() == ELMORAD && pNpc->m_sPid == MONUMENT_ELMORAD_SPID)) + return true; + } + else if (pNpc->GetType() == NPC_GUARD_TOWER1 + || pNpc->GetType() == NPC_GUARD_TOWER2 + || pNpc->GetType() == NPC_GATE2 + || pNpc->GetType() == NPC_VICTORY_GATE + || pNpc->GetType() == NPC_PHOENIX_GATE + || pNpc->GetType() == NPC_SPECIAL_GATE + || pNpc->GetType() == NPC_GATE_LEVER + || pNpc->GetType() == NPC_BYGROUP3) + return false; + else if (pNpc->m_sSid == 8850 && !GetMap()->canAttackOtherNation()) + return false; + else if (pNpc->GetType() == NPC_BORDER_MONUMENT) + return false; +#endif + } + } + } + + return true; +} + +bool Unit::CanCastRHit(uint16 m_socketID) +{ +#if defined(GAMESERVER) + CUser *pUser = g_pMain->GetUserPtr(m_socketID); + + if (pUser == nullptr) + return true; + + if (pUser->m_RHitRepeatList.find(m_socketID) != pUser->m_RHitRepeatList.end()) + { + RHitRepeatList::iterator itr = pUser->m_RHitRepeatList.find(m_socketID); + if (float(UNIXTIME - itr->second) < PLAYER_R_HIT_REQUEST_INTERVAL) + return false; + else + { + pUser->m_RHitRepeatList.erase(m_socketID); + return true; + } + } +#endif + return true; +} + +void Unit::OnDeath(Unit *pKiller) +{ +#ifdef GAMESERVER + SendDeathAnimation(pKiller); +#endif +} + +void Unit::SendDeathAnimation(Unit * pKiller /*= nullptr*/) +{ +#ifdef GAMESERVER + Packet result(WIZ_DEAD); + result << GetID(); + SendToRegion(&result); +#else + Packet result(AG_DEAD); + int16 tid = (pKiller == nullptr ? -1 : pKiller->GetID()); + result << GetID() << tid; + g_pMain->Send(&result); +#endif +} + +void Unit::AddType4Buff(uint8 bBuffType, _BUFF_TYPE4_INFO & pBuffInfo) +{ + Guard lock(m_buffLock); + m_buffMap.insert(std::make_pair(bBuffType, pBuffInfo)); + + if (pBuffInfo.isBuff()) + m_buffCount++; +} + +/************************************************************************** +* The following methods should not be here, but it's necessary to avoid +* code duplication between AI and GameServer until they're better merged. +**************************************************************************/ + +/** +* @brief Sets zone attributes for the loaded zone. +* +* @param zoneNumber The zone number. +*/ +void KOMap::SetZoneAttributes(int zoneNumber) +{ + m_zoneFlags = 0; + m_byTariff = 10; // defaults to 10 officially for zones that don't use it. + m_byMinLevel = 1; + m_byMaxLevel = MAX_LEVEL; + + switch (zoneNumber) + { + case ZONE_KARUS: + case ZONE_ELMORAD: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_CLAN_UPDATE; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_KARUS_ESLANT: + case ZONE_ELMORAD_ESLANT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ESLANT, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_MORADON: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS | ZF_CLAN_UPDATE; + break; + case ZONE_DELOS: + m_zoneType = ZoneAbilitySiegeDisabled; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BIFROST: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_BIFROST, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_DESPERATION_ABYSS: + case ZONE_HELL_ABYSS: + case ZONE_DRAGON_CAVE: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_ARENA: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_ATTACK_SAME_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_ORC_ARENA: + case ZONE_GOBLIN_ARENA: + case ZONE_BLOOD_DON_ARENA: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_CAITHAROS_ARENA: + m_zoneType = ZoneAbilityCaitharosArena; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_FORGOTTEN_TEMPLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_LOST_TEMPLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_DARK_LAND: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE3: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_NIEDS_TRIANGLE, m_byMaxLevel = MAX_LEVEL_NIEDS_TRIANGLE; + break; + case ZONE_BATTLE: + case ZONE_BATTLE2: + case ZONE_BATTLE4: + case ZONE_BATTLE5: + case ZONE_BATTLE6: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_SNOW_BATTLE: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + break; + case ZONE_KROWAZ_DOMINION: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_PVP_EVENT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ARDREAM, m_byMaxLevel = MAX_LEVEL_ARDREAM; + break; + case ZONE_CLAN_EVENT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + break; + case ZONE_RONARK_LAND: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_RONARK_LAND_BASE: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = 69; + break; + case ZONE_ARDREAM: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ARDREAM, m_byMaxLevel = MAX_LEVEL_ARDREAM; + break; + case ZONE_BORDER_DEFENSE_WAR: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_CHAOS_DUNGEON: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_ATTACK_SAME_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_JURAD_MOUNTAIN: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_JURAD_MOUNTAIN, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_PRISON: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_FRIENDLY_NPCS; + break; + case ZONE_ISILOON_ARENA: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + case ZONE_FELANKOR_ARENA: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_WINNER_CASTLE2: + case ZONE_WINNER_CASTLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_STONE1: + case ZONE_STONE2: + case ZONE_STONE3: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + default: + m_zoneType = ZoneAbilityPVP; + break; + } +} + +/** +* @brief Determines if an NPC is hostile to a unit. +* Non-hostile units cannot be attacked. +* +* @param pTarget Target unit +* +* @return true if hostile to, false if not. +*/ +bool CNpc::isHostileTo(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + // Only players can attack these targets. + if (pTarget->isPlayer()) + { + // Scarecrows are NPCs that the client allows us to attack + // however, since they're not a monster, and all NPCs in neutral zones + // are friendly, we need to override to ensure we can attack them server-side. +#if defined(GAMESERVER) + if (GetType() == NPC_SCARECROW || GetType() == NPC_BIFROST_MONUMENT && g_pMain->m_bAttackBifrostMonument) + return true; + +#else + if (GetType() == NPC_SCARECROW || GetType() == NPC_BIFROST_MONUMENT) + return true; +#endif + } +#if defined(GAMESERVER) + if (g_pMain->m_byBattleSiegeWarOpen && !TO_USER(pTarget)->isInClan() && GetZoneID() == ZONE_DELOS) + return false; + CKnights * pKnights ; + _KNIGHTS_SIEGE_WARFARE * pSiegeWars ; + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS && TO_USER(pTarget)->GetClanID() != 0) + { + pKnights = g_pMain->GetClanPtr(TO_USER(pTarget)->GetClanID()); + pSiegeWars = g_pMain->GetSiegeMasterKnightsPtr(1); + } + + + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS) + return true; + + if (GetNation() == Nation::ALL + || (!isMonster() && GetMap()->areNPCsFriendly())) + return false; +#else + // A nation of 0 indicates friendliness to all + if (GetNation() == Nation::ALL + // Also allow for cases when all NPCs in this zone are inherently friendly. + || (!isMonster() && GetMap()->areNPCsFriendly())) + return false; +#endif + // A nation of 3 indicates hostility to all (or friendliness to none) + if (GetNation() == Nation::NONE) + return true; + + // An NPC cannot attack a unit of the same nation + return (GetNation() != pTarget->GetNation()); +} + +/** +* @brief Determines if a player is hostile to a unit. +* Non-hostile units cannot be attacked. +* +* @param pTarget Target unit +* +* @return true if hostile to, false if not. +*/ +bool CUser::isHostileTo(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + // For non-player hostility checks, refer to the appropriate override. + if (!pTarget->isPlayer()) + return pTarget->isHostileTo(this); + + // Players can attack other players in the arena. + if (isInArena() + && TO_USER(pTarget)->isInArena()) + return true; + + // Players can attack other players in the safety area. + if (isInSafetyArea() + && TO_USER(pTarget)->isInSafetyArea()) + return false; + + // Players can attack opposing nation players when they're in PVP zones. + if (GetNation() != pTarget->GetNation() + && isInPVPZone()) + return true; + + if (GetNation() != pTarget->GetNation() + && JuraidTempleEventZone()) + return true; + + if (GetNation() != pTarget->GetNation() + && BorderTempleEventZone()) + return true; + + if (ChaosTempleEventZone()) + return true; + +#if GAMESERVER + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS) + { + CUser *pUser = g_pMain->GetUserPtr(GetName(), TYPE_CHARACTER); + CUser *pTargetUser = g_pMain->GetUserPtr(TO_USER(pTarget)->m_strUserID, TYPE_CHARACTER); + return g_pMain->CastleSiegeWarAttack(pUser, pTargetUser); + } + + if (GetNation() == pTarget->GetNation() && g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS) + return true; +#endif + // Players cannot attack other players in any other circumstance. + return false; +} + +/** +* @brief Determine if this user is in an arena area. +* +* @return true if in arena, false if not. +*/ +bool CUser::isInArena() +{ + /* + All of this needs to be handled more generically + (i.e. bounds loaded from the database, or their existing SMD method). + */ + + // If we're in the Arena zone, assume combat is acceptable everywhere. + // NOTE: This is why we need generic bounds checks, to ensure even attacks in the Arena zone are in one of the 4 arena locations. + if (GetZoneID() == ZONE_ARENA) + return true; + + // The only other arena is located in Moradon. If we're not in Moradon, then it's not an Arena. + if (GetZoneID() != ZONE_MORADON) + return false; + + // Moradon outside arena spawn bounds. + return ((GetX() < 735.0f && GetX() > 684.0f) + && ((GetZ() < 491.0f && GetZ() > 440.0f) || (GetZ() < 411.0f && GetZ() > 360.0f))); +} + +/** +* @brief Determine if this user is in a normal PVP zone. +* That is, they're in an PK zone that allows combat +* against the opposite nation. +* +* @return true if in PVP zone, false if not. +*/ +bool CUser::isInPVPZone() +{ + if (GetMap()->canAttackOtherNation()) + return true; + +#if defined(GAMESERVER) + // Native/home zones are classed as PVP zones during invasions. + if ((GetZoneID() == KARUS && g_pMain->m_byKarusOpenFlag) + || (GetZoneID() == ELMORAD && g_pMain->m_byElmoradOpenFlag)) + return true; +#endif + + return false; +} + +/** +* @brief Determine if this user is in an safety area. +* +* @return true if in safety area, false if not. +*/ +bool CUser::isInSafetyArea() +{ + switch (GetZoneID()) + { + case ZONE_BIFROST: + if (GetNation() == ELMORAD) + return ((GetX() < 124.0f && GetX() > 56.0f) && ((GetZ() < 840.0f && GetZ() > 700.0f))); + else + if (GetNation() == KARUS) + return ((GetX() < 270.0f && GetX() > 190.0f) && ((GetZ() < 970.0f && GetZ() > 870.0f))); + + case ZONE_RONARK_LAND_BASE: + if (GetNation() == ELMORAD || GetNation() == KARUS) + return ((GetX() < 589.0f && GetX() > 403.0f) && ((GetZ() < 297.0f && GetZ() > 156.0f))); + + case ZONE_DARK_LAND: + if (GetNation() == ELMORAD || GetNation() == KARUS) + return ((GetX() < 110.0f && GetX() > 4.0f) && ((GetZ() < 507.0f && GetZ() > 318.0f)) || (GetX() < 225.0f && GetX() > 4.0f) && ((GetZ() < 507.0f && GetZ() > 388.0f))); + + case ZONE_ARENA: + if (GetNation() == ELMORAD || GetNation() == KARUS) + return ((GetX() < 148.0f && GetX() > 106.0f) && ((GetZ() < 149.0f && GetZ() > 50.0f)) || (GetX() < 169.0f && GetX() > 86.0f) && ((GetZ() < 127.0f && GetZ() > 100.0f)) || (GetX() < 150.0f && GetX() > 102.0f) && ((GetZ() < 144.0f && GetZ() > 82.0f)) || (GetX() < 157.0f && GetX() > 99.0f) && ((GetZ() < 139.0f && GetZ() > 88.0f))); + + case ZONE_ELMORAD: + if (GetNation() == ELMORAD) + return ((GetX() < 244.0f && GetX() > 176.0f) && ((GetZ() < 1880.0f && GetZ() > 1820.0f))); + + case ZONE_KARUS: + if (GetNation() == KARUS) + return ((GetX() < 1876.0f && GetX() > 1820.0f) && ((GetZ() < 212.0f && GetZ() > 136.0f))); + case ZONE_BATTLE: + if (GetNation() == KARUS) + return ((GetX() < 125.0f && GetX() > 98.0f) && ((GetZ() < 780.0f && GetZ() > 755.0f))); + else if (GetNation() == ELMORAD) + return ((GetX() < 831.0f && GetX() > 805.0f) && ((GetZ() < 110.0f && GetZ() > 85.0f))); + case ZONE_BATTLE2: + if (GetNation() == KARUS) + return ((GetX() < 977.0f && GetX() > 942.0f) && ((GetZ() < 904.0f && GetZ() > 863.0f))); + else if (GetNation() == ELMORAD) + return ((GetX() < 80.0f && GetX() > 46.0f) && ((GetZ() < 174.0f && GetZ() > 142.0f))); + case ZONE_DELOS: + return ((GetX() > 411.0f && GetX() < 597.0f) && ((GetZ() < 296.0f && GetZ() > 113.0f))); + } + + return false; +} + +bool Unit::isSameEventRoom(Unit *pTarget) +{ + if (pTarget == nullptr) + return false; + + if (GetEventRoom() == pTarget->GetEventRoom()) + return true; + + return false; +} \ No newline at end of file diff --git a/server/AIServer/User.h b/server/AIServer/User.h new file mode 100644 index 0000000..c261ceb --- /dev/null +++ b/server/AIServer/User.h @@ -0,0 +1,125 @@ +#pragma once + +#include "Extern.h" + +#include "../shared/STLMap.h" +#include "../GameServer/Unit.h" + +class MAP; + +enum TransformationType +{ + TransformationNone, + TransformationMonster, + TransformationNPC, + TransformationSiege +}; + +class CUser : public Unit +{ +public: + INLINE bool isGM() { return m_byIsOP == AUTHORITY_GAME_MASTER; } + + virtual uint16 GetID() { return m_iUserId; } + virtual std::string & GetName() { return m_strUserID; } + + virtual int32 GetHealth() { return m_sHP; } + virtual int32 GetMaxHealth() { return m_sMaxHP; } + virtual int32 GetMana() { return m_sMP; } + virtual int32 GetMaxMana() { return m_sMaxMP; } + + virtual void GetInOut(Packet &, uint8) {} + virtual void AddToRegion(int16 sRegionX, int16 sRegionZ) {} + + virtual void BlinkStart() {} + virtual void DcFlash() {} + virtual void ExpFlash() {} + virtual void WarFlash() {} + + virtual void HpChange(int amount, Unit *pAttacker = nullptr, bool bSendToAI = true) {} + virtual void MSpChange(int amount) {} + + virtual bool isDead() { return m_bLive == AI_USER_DEAD || GetHealth() <= 0; } + + INLINE bool isInParty() { return m_byNowParty != 0; } + INLINE uint16 GetPartyID() { return m_sPartyNumber; } + + std::string m_strUserID; + short m_iUserId; // User ȣ + uint8 m_bLive; // ׾? Ҵ? + + float m_fWill_x; // X ǥ + float m_fWill_y; // Y ǥ + float m_fWill_z; // Z ǥ + short m_sSpeed; // ǵ + + short m_sHP; // HP + short m_sMP; // MP + short m_sMaxHP; // HP + short m_sMaxMP; // MP + + uint8 m_state; // User + + uint8 m_byNowParty; + uint8 m_byPartyTotalMan; + short m_sPartyTotalLevel; + short m_sPartyNumber; + + uint16 m_sItemAc; + + short m_sSurroundNpcNumber[8]; // Npc ٱ~ + + uint8 m_byIsOP; + uint8 m_bInvisibilityType; + TransformationType m_transformationType; +public: + void Initialize(); + void InitNpcAttack(); + void OnDeath(Unit * pKiller); + int IsSurroundCheck(float fX, float fY, float fZ, int NpcID); + void HealMagic(); + void HealAreaCheck(int rx, int rz); + + bool isHostileTo(Unit * pTarget); + bool isInArena(); + bool isInPartyArena(); + bool isInPVPZone(); + bool isInSafetyArea(); + + short GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + + CUser(); + virtual ~CUser(); + + // Placeholders, for the magic system. + // These should really be using the same base class. + INLINE bool isInClan() { return false; } + INLINE uint16 GetClanID() { return 0; } + INLINE uint8 GetStat(StatType type) { return 0; } + INLINE void SetStatBuff(StatType type, int8 val) {} + INLINE void RemoveStatBuff(StatType type, int8 val) {} + INLINE void SetUserEventRoom(uint16 nEventRoom) {m_bEventRoom = nEventRoom;} + void RemoveSavedMagic(uint32 nSkillID) {} + void SendUserStatusUpdate(UserStatus type, UserStatusBehaviour status) {} + void SetUserAbility(bool bSendPacket = true) {} + void Send(Packet * pkt) {} + + time_t m_tLastRegeneTime; + uint32 m_nOldAbnormalType; + uint8 m_sExpGainAmount; + uint8 m_bMaxWeightAmount, m_bNPGainAmount, m_bNoahGainAmount, + m_bPlayerAttackAmount, m_bSkillNPBonus, + m_bAddWeaponDamage; + uint16 m_sAddArmourAc; + uint8 m_bPctArmourAc; + + uint8 m_FlashExpBonus; + uint8 m_FlashDcBonus; + uint8 m_FlashWarBonus; + + bool m_bPremiumMerchant; + + +}; + + \ No newline at end of file diff --git a/server/AIServer/main.cpp b/server/AIServer/main.cpp new file mode 100644 index 0000000..b5318fc --- /dev/null +++ b/server/AIServer/main.cpp @@ -0,0 +1,59 @@ +#include "stdafx.h" +#include "../shared/signal_handler.h" + +CServerDlg * g_pMain; +static Condition s_hEvent; + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType); + +bool g_bRunning = true; + +int main() +{ + SetConsoleTitle("AI Server for Knight Online v" STRINGIFY(__VERSION)); + + // Override the console handler + SetConsoleCtrlHandler(_ConsoleHandler, TRUE); + + HookSignals(&s_hEvent); + + // Start up the time updater thread + StartTimeThread(); + + g_pMain = new CServerDlg(); + + // Startup server + if (g_pMain->Startup()) + { + printf("\nServer started up successfully!\n"); + + // Wait until console's signaled as closing + s_hEvent.Wait(); + } + else + { + system("pause"); + } + + printf("Server shutting down, please wait...\n"); + + // This seems redundant, but it's not. + // We still have the destructor for the dialog instance, which allows time for threads to properly cleanup. + g_bRunning = false; + + delete g_pMain; + + CleanupTimeThread(); + UnhookSignals(); + + return 0; +} + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType) +{ + s_hEvent.BeginSynchronized(); + s_hEvent.Signal(); + s_hEvent.EndSynchronized(); + sleep(10000); // Win7 onwards allows 10 seconds before it'll forcibly terminate + return TRUE; +} diff --git a/server/AIServer/proj-AIServer.vcxproj b/server/AIServer/proj-AIServer.vcxproj new file mode 100644 index 0000000..cae8893 --- /dev/null +++ b/server/AIServer/proj-AIServer.vcxproj @@ -0,0 +1,781 @@ + + + + + Debug-XP + Win32 + + + Debug-XP + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release-XP + Win32 + + + Release-XP + x64 + + + Release + Win32 + + + Release + x64 + + + + {36A92A8F-3820-435C-AC63-E861A556C1BB} + AIServer + 10.0.17763.0 + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v110_xp + + + Application + MultiByte + v110_xp + + + Application + false + MultiByte + v142 + true + + + Application + false + MultiByte + v142 + true + + + Application + false + MultiByte + v110_xp + true + + + Application + false + MultiByte + v110_xp + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + $(SolutionDir)..\bin\$(Configuration)\ + $(SolutionDir)..\bin\$(Configuration)\ + $(Configuration)\ + $(Configuration)\ + false + false + false + false + true + true + true + true + + + $(SolutionDir)..\bin\$(Configuration)\ + E:\KO\KO CALISMALAR\boost;$(IncludePath) + E:\KO\KO CALISMALAR\boost\libs;$(LibraryPath) + E:\KO\KO CALISMALAR\boost;$(ExcludePath) + + + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0;$(IncludePath) + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0\stage;$(LibraryPath) + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/Server.tlb + + + + + MaxSpeed + OnlyExplicitInline + WIN32;AI_SERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/Server.pch + .\Release/ + .\Release/ + .\Release/ + false + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + MachineX86 + + + true + + + true + .\Release/Server.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/Server.tlb + + + + + MaxSpeed + OnlyExplicitInline + WIN32;AI_SERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/Server.pch + .\Release/ + .\Release/ + .\Release/ + false + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + + + true + + + true + .\Release/Server.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/Server.tlb + + + + + MaxSpeed + OnlyExplicitInline + WIN32;AI_SERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/Server.pch + .\Release/ + .\Release/ + .\Release/ + false + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + MachineX86 + + + true + + + true + .\Release/Server.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/Server.tlb + + + + + MaxSpeed + OnlyExplicitInline + WIN32;AI_SERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/Server.pch + .\Release/ + .\Release/ + .\Release/ + false + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + + + true + + + true + .\Release/Server.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/Server.tlb + + + + + Disabled + WIN32;AI_SERVER;_DEBUG;_WINDOWS;_3DSERVER;_REPENT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + .\Debug/Server.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + Use + + + _DEBUG;%(PreprocessorDefinitions) + 0x0000 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + true + .\Debug/Server.map + NotSet + false + + + MachineX86 + + + false + + + true + .\Debug/Server.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/Server.tlb + + + + + Disabled + WIN32;AI_SERVER;_DEBUG;_WINDOWS;_3DSERVER;_REPENT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + .\Debug/Server.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level1 + true + ProgramDatabase + Use + + + _DEBUG;%(PreprocessorDefinitions) + 0x0000 + + + ws2_32.lib;$(SolutionDir)$(Platform)/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + true + .\Debug/Server.map + NotSet + false + + + + + false + + + true + .\Debug/Server.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/Server.tlb + + + + + Disabled + WIN32;AI_SERVER;_DEBUG;_WINDOWS;_3DSERVER;_REPENT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + .\Debug/Server.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + Use + + + _DEBUG;%(PreprocessorDefinitions) + 0x0000 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + true + .\Debug/Server.map + NotSet + false + + + MachineX86 + + + false + + + true + .\Debug/Server.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/Server.tlb + + + + + Disabled + WIN32;AI_SERVER;_DEBUG;_WINDOWS;_3DSERVER;_REPENT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + .\Debug/Server.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + ProgramDatabase + Use + + + _DEBUG;%(PreprocessorDefinitions) + 0x0000 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + true + .\Debug/Server.map + NotSet + false + + + + + false + + + true + .\Debug/Server.bsc + + + + + + + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/AIServer/proj-AIServer.vcxproj.filters b/server/AIServer/proj-AIServer.vcxproj.filters new file mode 100644 index 0000000..4988bc7 --- /dev/null +++ b/server/AIServer/proj-AIServer.vcxproj.filters @@ -0,0 +1,174 @@ + + + + + {369fe4a2-2b16-4ee3-aa20-f8f7e17f2310} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {a28bbc89-f194-4df4-a771-852c2fa9c91c} + + + {20471dba-a07d-44f4-8d18-1dfea6801a6c} + + + {28f89997-9b80-4a68-8e92-b328a184b607} + h;hpp;hxx;hm;inl + + + {5056e633-713a-4c87-981f-339526193987} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + N3Base + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Resource Files + + + N3Base + + + N3Base + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Header Files + + + Database + + + Database + + + + + Resource Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/server/AIServer/proj-AIServer.vcxproj.user b/server/AIServer/proj-AIServer.vcxproj.user new file mode 100644 index 0000000..14e785f --- /dev/null +++ b/server/AIServer/proj-AIServer.vcxproj.user @@ -0,0 +1,11 @@ + + + + $(SolutionDir)..\bin\$(Configuration)\ + WindowsLocalDebugger + + + $(SolutionDir)..\bin\$(Configuration)\ + WindowsLocalDebugger + + \ No newline at end of file diff --git a/server/AIServer/resource.h b/server/AIServer/resource.h new file mode 100644 index 0000000..15073db --- /dev/null +++ b/server/AIServer/resource.h @@ -0,0 +1,6 @@ +#define IDS_KARUS_CATCH_1 102 +#define IDS_KARUS_CATCH_2 103 +#define IDS_ELMORAD_CATCH_1 104 +#define IDS_ELMORAD_CATCH_2 105 +#define IDS_KARUS_PATHWAY 106 +#define IDS_ELMORAD_PATHWAY 107 diff --git a/server/AIServer/stdafx.cpp b/server/AIServer/stdafx.cpp new file mode 100644 index 0000000..1577c4e --- /dev/null +++ b/server/AIServer/stdafx.cpp @@ -0,0 +1 @@ +#include "stdafx.h" \ No newline at end of file diff --git a/server/AIServer/stdafx.h b/server/AIServer/stdafx.h new file mode 100644 index 0000000..d743407 --- /dev/null +++ b/server/AIServer/stdafx.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../shared/stdafx.h" + +#include +#include "Define.h" // define +#include "ServerDlg.h" + +extern bool g_bRunning; \ No newline at end of file diff --git a/server/GameServer/AISocket.cpp b/server/GameServer/AISocket.cpp new file mode 100644 index 0000000..6de496a --- /dev/null +++ b/server/GameServer/AISocket.cpp @@ -0,0 +1,1100 @@ +#include "stdafx.h" +#include "Map.h" +#include "AISocket.h" +#include "Npc.h" +#include "MagicProcess.h" + +using std::string; + +bool CAISocket::HandlePacket(Packet & pkt) +{ + switch (pkt.GetOpcode()) + { + case AG_CHECK_ALIVE_REQ: + RecvCheckAlive(pkt); + break; + case AI_SERVER_CONNECT: + LoginProcess(pkt); + break; + case AG_SERVER_INFO: + RecvServerInfo(pkt); + break; + case NPC_INFO_ALL: + RecvNpcInfoAll(pkt); + break; + case MOVE_RESULT: + RecvNpcMoveResult(pkt); + break; + case MOVE_END_RESULT: + break; + case AG_ATTACK_REQ: + RecvNpcAttack(pkt); + break; + // The AI server should send magic system requests to us. + // It shouldn't have to duplicate all the processing code. + case AG_MAGIC_ATTACK_REQ: + CMagicProcess::MagicPacket(pkt); + break; + case AG_NPC_INFO: + RecvNpcInfo(pkt); + break; + case AG_NPC_REGION_UPDATE: + RecvNpcRegionUpdate(pkt); + break; + case AG_USER_EXP: + RecvUserExp(pkt); + break; + case AG_SYSTEM_MSG: + RecvSystemMsg(pkt); + break; + case AG_NPC_GIVE_ITEM: + RecvNpcGiveItem(pkt); + break; + case AG_NPC_GATE_DESTORY: + RecvGateDestory(pkt); + break; + case AG_DEAD: + RecvNpcDead(pkt); + break; + case AG_NPC_INOUT: + RecvNpcInOut(pkt); + break; + case AG_BATTLE_EVENT: + RecvBattleEvent(pkt); + break; + case AG_NPC_EVENT_ITEM: + RecvNpcEventItem(pkt); + break; + case AG_NPC_GATE_OPEN: + RecvGateOpen(pkt); + break; + case AG_COMPRESSED: + RecvCompressed(pkt); + break; + case AG_NPC_HP_CHANGE: + RecvNpcHpChange(pkt); + break; + } + + return true; +} + +void CAISocket::OnConnect() +{ + KOSocket::OnConnect(); + + // Set a flag to indicate whether we've ever connected before or not + // This is used accordingly by the AI server when we tell it what our status is. + // Kind of messy, and needs looking into further. + m_bHasConnected = true; +} + +void CAISocket::OnDisconnect() +{ + TRACE("*** CloseProcess - socketID=%d... ***\n", GetSocketID()); + g_pMain->DeleteAllNpcList(); + g_pMain->m_sErrorSocketCount = 3; // yup, we're definitely disconnected (magic number!) +} + +void CAISocket::LoginProcess(Packet & pkt) +{ + uint8 bReconnect = pkt.read(); + + TRACE("Connected to the AI server\n"); + if (bReconnect == 1) + TRACE("**** ReConnect - socket = %d ****\n ", GetSocketID()); + + g_pMain->m_bServerCheckFlag = true; + g_pMain->SendAllUserInfo(); +} + +void CAISocket::RecvServerInfo(Packet & pkt) +{ + int size = g_pMain->m_ZoneArray.GetSize(); + uint16 sTotalMonster; + uint8 bZone; + + pkt >> bZone >> sTotalMonster; + + g_pMain->m_sZoneCount++; + + if (g_pMain->m_sZoneCount == size) + { + g_pMain->m_sZoneCount = 0; + g_pMain->m_bFirstServerFlag = true; + g_pMain->m_bPointCheckFlag = true; + g_pMain->m_NationMonumentInformationArray.DeleteAllData(); + printf("All spawn data loaded.\n"); + } +} + +void CAISocket::RecvNpcInfoAll(Packet & pkt) +{ + uint8 bCount = pkt.read(); // max of 20 + + pkt.SByte(); + for (int i = 0; i < bCount; i++) + { + int16 bDirection; + std::string strName; + + CNpc* pNpc = new CNpc(); + pNpc->Initialize(); + uint16 EventRoom; + + pkt >> pNpc->m_NpcState >> pNpc->m_sNid >> pNpc->m_sSid >> pNpc->m_sPid >> pNpc->m_sSize >> pNpc->m_iWeapon_1 >> pNpc->m_iWeapon_2 + >> pNpc->m_bZone >> strName >> pNpc->m_bNation >> pNpc->m_bLevel + >> pNpc->m_curx >> pNpc->m_curz >> pNpc->m_cury >> bDirection + >> pNpc->m_tNpcType >> pNpc->m_iSellingGroup >> pNpc->m_iMaxHP >> pNpc->m_iHP >> pNpc->m_byGateOpen + >> pNpc->m_fTotalHitrate >> pNpc->m_fTotalEvasionrate + >> pNpc->m_sTotalAc >> pNpc->m_sTotalHit + >> pNpc->m_byObjectType + >> pNpc->m_byTrapNumber >> pNpc->m_bMonster >> pNpc->m_oSocketID >> EventRoom + >> pNpc->m_sFireR >> pNpc->m_sColdR >> pNpc->m_sLightningR + >> pNpc->m_sMagicR >> pNpc->m_sDiseaseR >> pNpc->m_sPoisonR >> pNpc->m_bIsEventNpc >> pNpc->nIsPet >> pNpc->strPetName >> pNpc->strUserName >> pNpc->nSerial >> pNpc->UserId; + + + pNpc->SetNPCEventRoom(EventRoom); + pNpc->SetUnitEventRoom(EventRoom); + + if (strName.empty()) + strName = ""; + + if (strName.length() > MAX_NPC_SIZE) + { + pNpc->DecRef(); + continue; + } + + pNpc->m_pMap = g_pMain->GetZoneByID(pNpc->GetZoneID()); + if (pNpc->GetMap() == nullptr) + { + pNpc->DecRef(); + continue; + } + + //TRACE("Recv --> NpcUserInfo : uid = %d, x=%f, z=%f.. \n", nid, fPosX, fPosZ); + pNpc->m_strName = strName; + + pNpc->m_byDirection = bDirection; + pNpc->SetRegion(pNpc->GetNewRegionX(), pNpc->GetNewRegionZ()); + + if (pNpc->m_byObjectType == SPECIAL_OBJECT) + { + _OBJECT_EVENT* pEvent = pNpc->GetMap()->GetObjectEvent(pNpc->m_sSid); + if (pEvent != nullptr) + pEvent->byLife = 1; + } + + // TRACE("Recv --> NpcUserInfoAll : uid=%d, sid=%d, name=%s, x=%f, z=%f. gate=%d, objecttype=%d \n", nid, sPid, szName, fPosX, fPosZ, byGateOpen, byObjectType); + + if (!g_pMain->m_arNpcArray.PutData(pNpc->GetID(), pNpc)) + { + TRACE("Npc PutData Fail - %d\n", pNpc->GetID()); + pNpc->DecRef(); + continue; + } + + if (pNpc->m_NpcState == NPC_DEAD) + { + TRACE("Recv --> NpcUserInfoAll : nid=%d, sid=%d, name=%s\n", pNpc->GetID(), pNpc->m_sSid, strName.c_str()); + continue; + } + + pNpc->SendInOut(INOUT_IN, pNpc->GetX(), pNpc->GetZ(), pNpc->GetY()); + } +} + +void CAISocket::RecvNpcMoveResult(Packet & pkt) +{ + uint8 flag; // 01(INFO_MODIFY), 02(INFO_DELETE) + uint16 sNid; + float fX, fY, fZ, fSecForMetor; + pkt >> flag >> sNid >> fX >> fZ >> fY >> fSecForMetor; + + CNpc * pNpc = g_pMain->GetNpcPtr(sNid); + if (pNpc == nullptr) + return; + + if (pNpc->isDead()) + { + Packet result(AG_NPC_HP_REQ); + result << sNid << pNpc->m_iHP; + Send(&result); + } + + + pNpc->MoveResult(fX, fY, fZ, (float)1000 / 1000); +} + +void CAISocket::RecvNpcAttack(Packet & pkt) +{ + CNpc * pAttacker; + Unit * pTarget; + uint16 sAttackerID, sTargetID; + int16 sDamage; + uint8 bResult = ATTACK_FAIL; + + pkt >> sAttackerID >> sTargetID; + + pAttacker = g_pMain->GetNpcPtr(sAttackerID); + pTarget = g_pMain->GetUnitPtr(sTargetID); + + if (pAttacker == nullptr + || pAttacker->isPlayer() + || pTarget == nullptr + || pTarget->isBlinking() + || pAttacker->isDead() + || pTarget->isDead() + || !pTarget->isAttackable() + || pAttacker->GetDamage(pTarget) < 1) + return; + + if (pAttacker->GetEventRoom() != pTarget->GetEventRoom()) + return; + + // TODO: Wrap this up into its own virtual method + sDamage = pAttacker->GetDamage(pTarget); + if (sDamage > 0) + { + pTarget->HpChange(-(sDamage), pAttacker); + if (pTarget->isDead()) + bResult = ATTACK_TARGET_DEAD; + else + bResult = ATTACK_SUCCESS; + + // Every hit takes a little of the defender's armour durability. + if (pTarget->isPlayer()) + TO_USER(pTarget)->ItemWoreOut(DEFENCE, sDamage); + } + + Packet result(WIZ_ATTACK, uint8(LONG_ATTACK)); + result << bResult << sAttackerID << sTargetID; + pAttacker->SendToRegion(&result); +} + +void CAISocket::RecvNpcInfo(Packet & pkt) +{ + std::string strName; + uint8 Mode; + uint16 sNid; + int16 byDirection; + bool bCreated = false; + uint16 EventRoom = 0; + pkt.SByte(); + pkt >> Mode >> sNid; + + CNpc *pNpc = g_pMain->GetNpcPtr(sNid); + if (pNpc == nullptr) + { + pNpc = new CNpc(); + pNpc->m_sNid = sNid; + bCreated = true; + } + + pkt >> pNpc->m_sSid >> pNpc->m_sPid >> pNpc->m_sSize >> pNpc->m_iWeapon_1 >> pNpc->m_iWeapon_2 + >> pNpc->m_bZone >> strName >> pNpc->m_bNation >> pNpc->m_bLevel + >> pNpc->m_curx >> pNpc->m_curz >> pNpc->m_cury >> byDirection + >> pNpc->m_tNpcType >> pNpc->m_iSellingGroup >> pNpc->m_iMaxHP >> pNpc->m_iHP >> pNpc->m_byGateOpen + >> pNpc->m_fTotalHitrate >> pNpc->m_fTotalEvasionrate + >> pNpc->m_sTotalAc >> pNpc->m_sTotalHit + >> pNpc->m_byObjectType + >> pNpc->m_byTrapNumber >> pNpc->m_bMonster >> pNpc->m_oSocketID >> EventRoom + >> pNpc->m_sFireR >> pNpc->m_sColdR >> pNpc->m_sLightningR + >> pNpc->m_sMagicR >> pNpc->m_sDiseaseR >> pNpc->m_sPoisonR >> pNpc->m_bIsEventNpc >> pNpc->nIsPet >> pNpc->strPetName >> pNpc->strUserName >> pNpc->nSerial >> pNpc->UserId; + + + + if(pNpc->GetProtoID() == 8110) + pNpc->m_JuraidGateOpen = 1; + + if(pNpc->GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + if((pNpc->GetSPosX() / 10) == 512 && (pNpc->GetSPosZ() / 10) == 256 && pNpc->GetProtoID() == 8110) + { + g_pMain->pTempleEvent.JuraidElmoGateID3[EventRoom] = sNid; + byDirection = 90; + } + + if((pNpc->GetSPosX() / 10) == 512 && (pNpc->GetSPosZ() / 10) == 767 && pNpc->GetProtoID() == 8110) + g_pMain->pTempleEvent.JuraidKarusGateID3[EventRoom] = sNid; + + if((pNpc->GetSPosX() / 10) == 308 && pNpc->GetProtoID() == 8110) + { + g_pMain->pTempleEvent.JuraidKarusGateID2[EventRoom] = sNid; + byDirection = 135; + } + + if((pNpc->GetSPosX() / 10) == 715 && pNpc->GetProtoID() == 8110) + { + g_pMain->pTempleEvent.JuraidElmoGateID2[EventRoom] = sNid; + byDirection = 225; + } + + if((pNpc->GetSPosX() / 10) == 224 && pNpc->GetProtoID() == 8110) + { + g_pMain->pTempleEvent.JuraidKarusGateID1[EventRoom] = sNid; + byDirection = 90; + } + + if((pNpc->GetSPosX() / 10) == 799 && pNpc->GetProtoID() == 8110) + g_pMain->pTempleEvent.JuraidElmoGateID1[EventRoom] = sNid; + } + + if(pNpc->GetZoneID() == ZONE_STONE1) + { + if(pNpc->GetProtoID() == 7032) + byDirection = 225; + else if(pNpc->GetProtoID() == 7000 + || pNpc->GetProtoID() == 7001 + || pNpc->GetProtoID() == 7003) + { + uint16 RandomMap[MAX_MONSTER_STONE_EVENT_ROOM]; + memset(RandomMap, 0, sizeof(RandomMap)); + int i = 0; + foreach_stlmap_nolock (itr, g_pMain->m_MonsterRespawnListRandomArray) + { + _MONSTER_RESPAWN_LIST_RANDOM * pRandom = itr->second; + + if(pRandom == nullptr) + continue; + + if(pRandom->ZoneID != ZONE_STONE1 + || pRandom->Family != g_pMain->Zone1Family[EventRoom]) + continue; + + if((pRandom->isBoss == 0 + && pNpc->GetProtoID() == 7003) + || (pRandom->isBoss == 1 + && pNpc->GetProtoID() != 7003)) + continue; + + if(pRandom->isBoss == 1 + && pNpc->GetProtoID() == 7003) + { + g_pMain->Zone1Boss[EventRoom] = pRandom->sSid; + pNpc->m_sSid = pRandom->sSid; + pNpc->m_sPid = pRandom->sPid; + pNpc->m_strName = pRandom->strName; + + }else if(pNpc->GetProtoID() != 7003 + && pRandom->isBoss == 0) + { + RandomMap[i] = pRandom->sIndex; + i++; + } + } + + if(pNpc->GetProtoID() != 7003 && i > 0) + { + uint16 Randomized = myrand(0,i-1); + _MONSTER_RESPAWN_LIST_RANDOM * kRandom = g_pMain->m_MonsterRespawnListRandomArray.GetData(RandomMap[Randomized]); + if(kRandom != nullptr) + { + pNpc->m_sSid = kRandom->sSid; + pNpc->m_sPid = kRandom->sPid; + pNpc->m_strName = kRandom->strName; + } + + } + } + } + + if(pNpc->GetZoneID() == ZONE_STONE2) + { + if(pNpc->GetProtoID() == 7033) + byDirection = 225; + else if(pNpc->GetProtoID() == 7005 + || pNpc->GetProtoID() == 7006 + || pNpc->GetProtoID() == 7008 + || pNpc->GetProtoID() == 7040) + { + uint16 RandomMap[MAX_MONSTER_STONE_EVENT_ROOM]; + memset(RandomMap, 0, sizeof(RandomMap)); + int i = 0; + foreach_stlmap_nolock (itr, g_pMain->m_MonsterRespawnListRandomArray) + { + _MONSTER_RESPAWN_LIST_RANDOM * pRandom = itr->second; + + if(pRandom == nullptr) + continue; + + if(pRandom->ZoneID != ZONE_STONE2 + || pRandom->Family != g_pMain->Zone2Family[EventRoom]) + continue; + + if((pRandom->isBoss == 0 + && pNpc->GetProtoID() == 7008) + || (pRandom->isBoss == 1 + && pNpc->GetProtoID() != 7008)) + continue; + + if(pRandom->isBoss == 1 + && pNpc->GetProtoID() == 7008) + { + g_pMain->Zone2Boss[EventRoom] = pRandom->sSid; + pNpc->m_sSid = pRandom->sSid; + pNpc->m_sPid = pRandom->sPid; + pNpc->m_strName = pRandom->strName; + + }else if(pNpc->GetProtoID() != 7008 + && pRandom->isBoss == 0) + { + RandomMap[i] = pRandom->sIndex; + i++; + } + } + + if(pNpc->GetProtoID() != 7008 && i > 0) + { + uint16 Randomized = myrand(0,i-1); + _MONSTER_RESPAWN_LIST_RANDOM * kRandom = g_pMain->m_MonsterRespawnListRandomArray.GetData(RandomMap[Randomized]); + if(kRandom != nullptr) + { + pNpc->m_sSid = kRandom->sSid; + pNpc->m_sPid = kRandom->sPid; + pNpc->m_strName = kRandom->strName; + } + + } + } + } + + if(pNpc->GetZoneID() == ZONE_STONE3) + { + if(pNpc->GetProtoID() == 7034) + byDirection = 225; + else if(pNpc->GetProtoID() == 7011 + || pNpc->GetProtoID() == 7010 + || pNpc->GetProtoID() == 7013) + { + uint16 RandomMap[MAX_MONSTER_STONE_EVENT_ROOM]; + memset(RandomMap, 0, sizeof(RandomMap)); + int i = 0; + foreach_stlmap_nolock (itr, g_pMain->m_MonsterRespawnListRandomArray) + { + _MONSTER_RESPAWN_LIST_RANDOM * pRandom = itr->second; + + if(pRandom == nullptr) + continue; + + if(pRandom->ZoneID != ZONE_STONE3 + || pRandom->Family != g_pMain->Zone3Family[EventRoom]) + continue; + + if((pRandom->isBoss == 0 + && pNpc->GetProtoID() == 7013) + || (pRandom->isBoss == 1 + && pNpc->GetProtoID() != 7013)) + continue; + + if(pRandom->isBoss == 1 + && pNpc->GetProtoID() == 7013) + { + g_pMain->Zone3Boss[EventRoom] = pRandom->sSid; + pNpc->m_sSid = pRandom->sSid; + pNpc->m_sPid = pRandom->sPid; + pNpc->m_strName = pRandom->strName; + + }else if(pNpc->GetProtoID() != 7013 + && pRandom->isBoss == 0) + { + RandomMap[i] = pRandom->sIndex; + i++; + } + } + + if(pNpc->GetProtoID() != 7013 && i > 0) + { + uint16 Randomized = myrand(0,i-1); + _MONSTER_RESPAWN_LIST_RANDOM * kRandom = g_pMain->m_MonsterRespawnListRandomArray.GetData(RandomMap[Randomized]); + if(kRandom != nullptr) + { + pNpc->m_sSid = kRandom->sSid; + pNpc->m_sPid = kRandom->sPid; + pNpc->m_strName = kRandom->strName; + } + + } + } + } + + if (pNpc->nIsPet) + + { + CPet * mPet = g_pMain->GetPetPtr(pNpc->nSerial); + if (mPet != nullptr) + { + mPet->m_pNpc = pNpc; + mPet->m_pNpc->m_sNid = mPet->m_sNid; + mPet->mode = 4; + pNpc->m_iMaxHP = mPet->m_sMaxHp; + pNpc->m_iHP = mPet->m_sHp; + + } + else + return; + } + + if (strName.empty() || strName.length() > MAX_NPC_SIZE) + { + pNpc->DecRef(); + return; + } + pNpc->SetUnitEventRoom(EventRoom); + pNpc->SetNPCEventRoom(EventRoom); + pNpc->m_NpcState = Mode; + pNpc->m_byDirection = byDirection; + pNpc->m_strName = strName; + + pNpc->m_pMap = g_pMain->GetZoneByID(pNpc->GetZoneID()); + if (pNpc->GetMap() == nullptr) + { + pNpc->DecRef(); + return; + } + + pNpc->RegisterRegion(); + + if (pNpc->m_byObjectType == SPECIAL_OBJECT) + { + _OBJECT_EVENT *pEvent = pNpc->GetMap()->GetObjectEvent( pNpc->m_sSid ); + if (pEvent != nullptr) + pEvent->byLife = 1; + } + + if (bCreated) + g_pMain->m_arNpcArray.PutData(pNpc->GetID(), pNpc); + + if (pNpc->m_NpcState == NPC_DEAD) + { + TRACE("RecvNpcInfo - dead monster nid=%d, name=%s\n", pNpc->GetID(), pNpc->GetName().c_str()); + return; + } + + pNpc->SendInOut(INOUT_IN, pNpc->GetX(), pNpc->GetZ(), pNpc->GetY()); + + if(g_pMain->m_byBattleSiegeWarOpen && pNpc->m_sSid == 541) + g_pMain->KickOutZoneUsers(ZONE_DELOS,ZONE_DELOS); + +} + +void CAISocket::RecvNpcRegionUpdate(Packet & pkt) +{ + uint16 sNpcID; + float fX, fY, fZ; + + pkt >> sNpcID >> fX >> fY >> fZ; + + CNpc * pNpc = g_pMain->GetNpcPtr(sNpcID); + if (pNpc == nullptr) + return; + + pNpc->SetPosition(fX, fY, fZ); + pNpc->RegisterRegion(); +} + +void CAISocket::RecvUserExp(Packet & pkt) +{ + uint16 tid; + pkt >> tid; + + CUser* pUser = g_pMain->GetUserPtr(tid); + if (pUser == nullptr) + return; + + pUser->RecvUserExp(pkt); +} + +void CAISocket::RecvSystemMsg(Packet & pkt) +{ + Packet result; + std::string strSysMsg; + uint8 bType; + + pkt >> bType >> strSysMsg; + + ChatPacket::Construct(&result, bType, &strSysMsg); + g_pMain->Send_All(&result); +} + +void CAISocket::RecvNpcGiveItem(Packet & pkt) +{ + Packet result(WIZ_ITEM_DROP); + short sUid, sNid, regionx, regionz; + float fX, fZ, fY; + uint8 byCount, bZone; + int nItemNumber[NPC_HAVE_ITEM_LIST]; + uint8 nSlotIndex[NPC_HAVE_ITEM_LIST]; + short sCount[NPC_HAVE_ITEM_LIST]; + CUser* pUser = nullptr; + pkt >> sUid >> sNid >> bZone >> regionx >> regionz >> fX >> fZ >> fY >> byCount; + + for (int i = 0; i < byCount; i++) + { + pkt >> nItemNumber[i] >> sCount[i]; + nSlotIndex[i] = i; + } + + if (sUid < 0 || sUid >= MAX_USER) + return; + + C3DMap *pMap = g_pMain->GetZoneByID(bZone); + if (pMap == nullptr) + return; + + pUser = g_pMain->GetUserPtr(sUid); + if (pUser == nullptr) + return; + + _LOOT_BUNDLE * pBundle = new _LOOT_BUNDLE; + + pBundle->tDropTime = uint32(UNIXTIME); + pBundle->x = fX; + pBundle->z = fZ; + pBundle->y = fY; + pBundle->LooterID = -1; + pBundle->ItemsCount = 0; + + memset(pBundle->Items, 0, sizeof(pBundle->Items)); + + for (int i = 0; i < byCount; i++) + { + if (g_pMain->GetItemPtr(nItemNumber[i])) + { + _LOOT_ITEM pItem(nItemNumber[i], sCount[i]); + if (nItemNumber[i] == ITEM_GOLD) + { + // Add on any additional coins earned because of a global coin event. + // NOTE: Officially it caps at SHRT_MAX, but that's really only for technical reasons. + // Using the unsigned range gives us a little bit of wiggle room. + uint32 coinAmount = sCount[i] * (100 + g_pMain->m_byCoinEventAmount) / 100; + if (sCount[i] + coinAmount > USHRT_MAX) + coinAmount = USHRT_MAX; + + pItem.sCount = coinAmount; + } + + pBundle->Items[nSlotIndex[i]] = pItem; // emplace_back() would be so much more useful here, but requires C++11. + pBundle->ItemsCount++; + + + } + } + + + + if (!pMap->RegionItemAdd(regionx, regionz, pBundle)) + { + delete pBundle; + return; + } + + + result << sNid << pBundle->nBundleID << uint8(2); + + pBundle->LooterID = pUser->GetID(); + + if (!pUser->isInParty()) + { + + pUser->Send(&result); + + if(pUser->isSummonPet && pUser->SummonPetID > 0 ) + { + _ITEM_TABLE * pItemData = nullptr; + if((pItemData = pUser->GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + + _ITEM_DATA *pItem = nullptr; + if ((pItem = pUser->GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc == nullptr) + return; + + if(newPet->mode != 8) + return; + + newPet->AddtoMovingMap(fX,fY,fZ,0,true,pBundle->nBundleID); + + /*if(newPet->mode == 8 ) + { + for (int i = 0; i < byCount; i++) + { + pBundle->LooterID = pUser->SummonPetID; + pUser->GiveItem(nItemNumber[i],sCount[i]); + } + }*/ + } + + } + else + { + g_pMain->Send_PartyMember(pUser->GetPartyID(), &result); + + _PARTY_GROUP* pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty == nullptr) + return; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUsers = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUsers == nullptr) + continue; + + if(pUser->isSummonPet && pUser->SummonPetID > 0 ) + { + _ITEM_TABLE * pItemDatas = nullptr; + if((pItemDatas = pUsers->GetItemPrototype(SHOULDER)) == nullptr + || !pItemDatas->isPet()) + return; + + _ITEM_DATA *pItems = nullptr; + if ((pItems = pUsers->GetItem(SHOULDER)) == nullptr + || pItems->nNum != pItemDatas->Getnum()) + return; + + CPet *newPets = g_pMain->GetPetPtr(pItems->nSerialNum); + if(newPets == nullptr) + return; + + if(newPets->m_pNpc == nullptr) + return; + + if(newPets->mode != 8) + return; + + if(!pUsers->isInRange(pBundle->x, pBundle->z, RANGE_50M)) + return; + + newPets->AddtoMovingMap(fX,fY,fZ,0,true,pBundle->nBundleID); + + /*if(newPets->mode == 8 ) + { + for (int i = 0; i < byCount; i++) + { + pBundle->LooterID = pUser->SummonPetID; + pUsers->GiveItem(nItemNumber[i],sCount[i]); + } + }*/ + } + } + } + +} + +void CAISocket::RecvCheckAlive(Packet & pkt) +{ + Packet result(AG_CHECK_ALIVE_REQ); + g_pMain->m_sErrorSocketCount = 0; + Send(&result); + + foreach_stlmap(itr,g_pMain->m_arBotArray) + { + CBot * pBot = itr->second; + if(pBot != nullptr) + { + if(pBot->isInGame()) + { + + if((pBot->m_bResHpType == USER_MINING || pBot->m_bResHpType == USER_FLASHING) && pBot->m_iGold + 15 < uint32(UNIXTIME)) + { + Packet result(WIZ_MINING, uint8(MiningAttempt)); + uint16 resultCode = MiningResultSuccess, Random = myrand(0,10000); + uint16 sEffect = 0; + + if(Random > 4000 || pBot->m_bResHpType == USER_SITDOWN) // EXP + sEffect = 13082; // "XP" effect + else + sEffect = 13081; // "Item" effect + + result << resultCode << pBot->GetID() << sEffect; + pBot->SendToRegion(&result); + pBot->m_iGold = uint32(UNIXTIME); + } + else if(pBot->isMerchanting() && !pBot->MerchantChat.empty() && pBot->m_iLoyalty < uint32(UNIXTIME) - 99) + { + + Packet result(WIZ_CHAT); + + + ChatPacket::Construct(&result, MERCHANT_CHAT, &pBot->MerchantChat, &pBot->GetName(), pBot->m_bNation, pBot->GetID()); + pBot->SendToRegion(&result); + pBot->m_iLoyalty = uint32(UNIXTIME); + + + } + } + } + } +} + +void CAISocket::RecvGateDestory(Packet & pkt) +{ + uint16 nid, sCurZone, rX, rZ; + bool bGateStatus; + pkt >> nid >> bGateStatus >> sCurZone >> rX >> rZ; + + CNpc* pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr) + return; + + pNpc->m_byGateOpen = bGateStatus; + TRACE("RecvGateDestory - (%d,%s), gate_status=%d\n", pNpc->GetID(), pNpc->GetName().c_str(), pNpc->m_byGateOpen); +} + +// TODO: Remove this. NPCs don't just randomly die, it would make sense to do this as a result of the cause, not just because. +void CAISocket::RecvNpcDead(Packet & pkt) +{ + CNpc * pNpc; + Unit * pAttacker; + uint16 nid, attackerID; + pkt >> nid >> attackerID; + + pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr + || pNpc->GetMap() == nullptr) + return; + + pAttacker = g_pMain->GetUnitPtr(attackerID); + pNpc->OnDeath(pAttacker); + + if(pNpc->m_bIsEventNpc) + g_pMain->m_arNpcArray.DeleteData(pNpc->GetID()); +} + +void CAISocket::RecvNpcInOut(Packet & pkt) +{ + uint8 bType; + uint16 sNid; + float fX, fZ, fY; + + pkt >> bType >> sNid >> fX >> fZ >> fY; + CNpc * pNpc = g_pMain->GetNpcPtr(sNid); + if (pNpc) + pNpc->SendInOut(bType, fX, fZ, fY); +} + +void CAISocket::RecvBattleEvent(Packet & pkt) +{ + string chatstr, strMaxUserName, strKnightsName; + CUser* pUser = nullptr; + CKnights* pKnights = nullptr; + + uint8 bType, bResult; + pkt >> bType >> bResult; + + if (bType == BATTLE_EVENT_OPEN) + { + } + else if (bType == BATTLE_MAP_EVENT_RESULT) + { + if (!g_pMain->isWarOpen()) + { + TRACE("#### RecvBattleEvent Fail : battleopen = %d, type = %d\n", g_pMain->m_byBattleOpen, bType); + return; + } + + if (bResult == KARUS) + g_pMain->m_byKarusOpenFlag = true; + else if (bResult == ELMORAD) + g_pMain->m_byElmoradOpenFlag = true; + } + else if (bType == BATTLE_EVENT_RESULT) + { + if (!g_pMain->isWarOpen()) + { + TRACE("#### RecvBattleEvent Fail : battleopen = %d, type=%d\n", g_pMain->m_byBattleOpen, bType); + return; + } + + pkt.SByte(); + pkt >> strMaxUserName; + + if (!strMaxUserName.empty() + && !g_pMain->m_byBattleSave) + { + Packet result(WIZ_BATTLE_EVENT, bType); + result.SByte(); + result << bResult << strMaxUserName; + + g_pMain->AddDatabaseRequest(result); + g_pMain->m_byBattleSave = true; + } + } + else if (bType == BATTLE_EVENT_MAX_USER) + { + pkt.SByte(); + pkt >> strMaxUserName; + + if (!strMaxUserName.empty()) + { + pUser = g_pMain->GetUserPtr(strMaxUserName, TYPE_CHARACTER); + if (pUser != nullptr) + { + pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights) + strKnightsName = pKnights->m_strName; + + if (g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE + || g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE2 + || g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE6 + || g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE3 + || g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE4) + { + if (pUser->GetNation() == KARUS) + g_pMain->m_sKilledElmoNpc++; + else + g_pMain->m_sKilledKarusNpc++; + + if (g_pMain->m_sKilledKarusNpc == 3 || g_pMain->m_sKilledElmoNpc == 3) + { + g_pMain->m_bResultDelay = true; + g_pMain->m_bResultDelayVictory = pUser->GetNation(); + if(g_pMain->m_byBattleZone + ZONE_BATTLE_BASE != ZONE_BATTLE4) + g_pMain->BattleZoneResult(pUser->GetNation()); + + if(g_pMain->m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE4 + && (pUser->GetNation() == 1 && g_pMain->m_sKarusMonuments >= 7) + && (pUser->GetNation() == 2 && g_pMain->m_sElmoMonuments >= 7)) + g_pMain->BattleZoneResult(pUser->GetNation()); + } + } + } + } + + int nResourceID = 0; + switch (bResult) + { + case 1: // captain + nResourceID = IDS_KILL_CAPTAIN; + break; + case 3: // Karus warder 1 + nResourceID = IDS_KILL_KARUS_GUARD1; + break; + case 4: // Karus warder 2 + nResourceID = IDS_KILL_KARUS_GUARD2; + break; + case 5: // El Morad warder 1 + nResourceID = IDS_KILL_ELMO_GUARD1; + break; + case 6: // El Morad warder 2 + nResourceID = IDS_KILL_ELMO_GUARD2; + break; + case 7: // Karus Keeper + nResourceID = IDS_KILL_GATEKEEPER; + break; + case 8: // El Morad Keeper + nResourceID = IDS_KILL_GATEKEEPER; + break; + } + + if (nResourceID == 0) + { + TRACE("RecvBattleEvent: could not establish resource for result %d", bResult); + return; + } + + g_pMain->GetServerResource(nResourceID, &chatstr, strKnightsName.c_str(), strMaxUserName.c_str()); + + Packet result; + string finalstr; + + g_pMain->GetServerResource(IDP_ANNOUNCEMENT, &finalstr, chatstr.c_str()); + ChatPacket::Construct(&result, WAR_SYSTEM_CHAT, &finalstr); + g_pMain->Send_All(&result); + + ChatPacket::Construct(&result, PUBLIC_CHAT, &finalstr); + g_pMain->Send_All(&result); + } +} + +void CAISocket::RecvNpcEventItem(Packet & pkt) +{ + uint16 sUid, sNid; + uint32 nItemID, nCount; + + pkt >> sUid >> sNid >> nItemID >> nCount; + + CUser *pUser = g_pMain->GetUserPtr(sUid); + if (pUser == nullptr) + return; + + pUser->GiveItem(nItemID, nCount); +} + +void CAISocket::RecvGateOpen(Packet & pkt) +{ + uint16 sNid, sEventID; + bool bFlag; + + pkt >> sNid >> sEventID >> bFlag; + + CNpc *pNpc = g_pMain->GetNpcPtr(sNid); + if (pNpc == nullptr) + { + TRACE("#### RecvGateOpen Npc Pointer null : nid=%d ####\n", sNid); + return; + } + + pNpc->m_byGateOpen = bFlag; // possibly not needed (we'll do it below), but need to make sure. + + _OBJECT_EVENT *pEvent = pNpc->GetMap()->GetObjectEvent(sEventID); + if (pEvent == nullptr) + { + TRACE("#### RecvGateOpen Npc Object fail : nid=%d, sid=%d ####\n", sNid, sEventID); + return; + } + + if (pNpc->isGate()) + pNpc->SendGateFlag(bFlag, false); +} + +void CAISocket::RecvCompressed(Packet & pkt) +{ + uint32 compressedLength, originalLength; + uint32 crc; + pkt >> compressedLength >> originalLength >> crc; + + char *decompressedBuffer = new char[originalLength]; + + // Does the length match what it's supposed to be + uint32 result = lzf_decompress(pkt.contents() + pkt.rpos(), compressedLength, decompressedBuffer, originalLength); + if (result + != originalLength) + { + delete [] decompressedBuffer; + return; + } + + pkt.Initialize(*decompressedBuffer); + if (originalLength > 1) + pkt.append(decompressedBuffer + 1, originalLength - 1); + + delete [] decompressedBuffer; + + HandlePacket(pkt); +} + +void CAISocket::RecvNpcHpChange(Packet & pkt) +{ + Unit * pAttacker = nullptr; + int16 nid, sAttackerID; + int32 nHP, nAmount; + + pkt >> nid >> sAttackerID >> nHP >> nAmount; + + CNpc * pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr) + return; + + pAttacker = g_pMain->GetUnitPtr(sAttackerID); + pNpc->HpChange(nAmount, pAttacker, false); +} \ No newline at end of file diff --git a/server/GameServer/AISocket.h b/server/GameServer/AISocket.h new file mode 100644 index 0000000..ab34147 --- /dev/null +++ b/server/GameServer/AISocket.h @@ -0,0 +1,46 @@ +#pragma once + +#include "../shared/KOSocket.h" +#include "MagicProcess.h" + +class CAISocket : public KOSocket +{ +public: + CAISocket(uint16 socketID, SocketMgr * mgr) : KOSocket(socketID, mgr, 0, 524288, 524288), m_bHasConnected(false) {} + + INLINE bool IsReconnecting() { return m_bHasConnected; } + + virtual void OnConnect(); + virtual bool HandlePacket(Packet & pkt); + + void Initialize(); + + + void LoginProcess(Packet & pkt); + void RecvCheckAlive(Packet & pkt); + void RecvServerInfo(Packet & pkt); + void RecvNpcInfoAll(Packet & pkt); + void RecvNpcMoveResult(Packet & pkt); + void RecvNpcAttack(Packet & pkt); + void RecvNpcInfo(Packet & pkt); + void RecvNpcRegionUpdate(Packet & pkt); + void RecvUserExp(Packet & pkt); + void RecvSystemMsg(Packet & pkt); + void RecvNpcGiveItem(Packet & pkt); + void RecvUserFail(Packet & pkt); + void RecvGateDestory(Packet & pkt); + void RecvNpcDead(Packet & pkt); + void RecvNpcInOut(Packet & pkt); + void RecvBattleEvent(Packet & pkt); + void RecvNpcEventItem(Packet & pkt); + void RecvGateOpen(Packet & pkt); + void RecvCompressed(Packet & pkt); + void RecvNpcHpChange(Packet & pkt); + void RecvNpcSpawnRequest(Packet & pkt); + void RegionPacketAdd(Packet & pkt); + virtual void OnDisconnect(); + virtual ~CAISocket() {} + +private: + bool m_bHasConnected; +}; diff --git a/server/GameServer/AIUser.cpp b/server/GameServer/AIUser.cpp new file mode 100644 index 0000000..cccd86e --- /dev/null +++ b/server/GameServer/AIUser.cpp @@ -0,0 +1,181 @@ +#include "stdafx.h" +#include "User.h" +#include "Region.h" +#include "GameSocket.h" +#include "Npc.h" +#include "MAP.h" + +#define MORAL_GOOD 0x01 +#define MORAL_BAD 0x02 +#define MORAL_NEUTRAL 0x03 + +static float surround_fx[8] = {0.0f, -0.7071f, -1.0f, -0.7083f, 0.0f, 0.7059f, 1.0000f, 0.7083f}; +static float surround_fz[8] = {1.0f, 0.7071f, 0.0f, -0.7059f, -1.0f, -0.7083f, -0.0017f, 0.7059f}; + +CUser::CUser() : Unit(UnitPlayer) {} +CUser::~CUser() {} + +void CUser::Initialize() +{ + Unit::Initialize(); + + m_iUserId = -1; + m_bLive = AI_USER_DEAD; + m_sHP = m_sMP = 0; + m_sMaxHP = m_sMaxMP = 0; + m_state = 0; + m_sItemAc = 0; + m_byNowParty = 0; + m_sPartyTotalLevel = 0; + m_byPartyTotalMan = 0; + m_sPartyNumber = -1; + m_byIsOP = 0; + m_bInvisibilityType = 0; + + m_tLastRegeneTime = 0; + m_bMaxWeightAmount = 100; + + m_FlashExpBonus = 0; + m_FlashDcBonus = 0; + m_FlashWarBonus = 0; + + m_sExpGainAmount = m_bNPGainAmount = m_bNoahGainAmount = 100; + m_bPlayerAttackAmount = 100; + m_bSkillNPBonus = 0; + m_bAddWeaponDamage = 0; + m_sAddArmourAc = 0; + m_bPctArmourAc = 100; + m_bPremiumMerchant = false; + + InitNpcAttack(); +} + +void CUser::OnDeath(Unit * pAttacker) +{ + if (m_bLive == AI_USER_DEAD) + return; + + m_sHP = 0; + m_bLive = AI_USER_DEAD; + + InitNpcAttack(); + + MAP* pMap = GetMap(); + if (pMap == nullptr) + return; + + pMap->RegionUserRemove(m_sRegionX, m_sRegionZ, GetID()); +} + +void CUser::InitNpcAttack() +{ + memset(&m_sSurroundNpcNumber, -1, sizeof(m_sSurroundNpcNumber)); +} + +int CUser::IsSurroundCheck(float fX, float fY, float fZ, int NpcID) +{ + int nDir = 0; + __Vector3 vNpc, vUser, vDis; + vNpc.Set(fX, fY, fZ); + float fDX, fDZ; + float fDis = 0.0f, fCurDis=1000.0f; + bool bFlag = false; + for(int i=0; i<8; i++) + { + //if(m_sSurroundNpcNumber[i] != -1) continue; + if(m_sSurroundNpcNumber[i] == NpcID) + { + if (bFlag) + m_sSurroundNpcNumber[i] = -1; + else + { + m_sSurroundNpcNumber[i] = NpcID; + nDir = i+1; + bFlag = true; + } + //return nDir; + } + + if(m_sSurroundNpcNumber[i] == -1 && bFlag==false) + { + fDX = GetX() + surround_fx[i]; + fDZ = GetZ() + surround_fz[i]; + vUser.Set(fDX, 0.0f, fDZ); + vDis = vUser - vNpc; + fDis = vDis.Magnitude(); + if(fDis < fCurDis) + { + nDir = i+1; + fCurDis = fDis; + } + } + } + + + /* TRACE("User-Sur : [0=%d,1=%d,2=%d,3=%d,4=%d,5=%d,6=%d,7=%d]\n", m_sSurroundNpcNumber[0], + m_sSurroundNpcNumber[1], m_sSurroundNpcNumber[2], m_sSurroundNpcNumber[3], m_sSurroundNpcNumber[4], + m_sSurroundNpcNumber[5],m_sSurroundNpcNumber[6], m_sSurroundNpcNumber[7]); + */ + if(nDir != 0) + { + m_sSurroundNpcNumber[nDir-1] = NpcID; + } + + return nDir; +} + +void CUser::HealMagic() +{ + int region_x = (int)(GetX() / VIEW_DIST); + int region_z = (int)(GetZ() / VIEW_DIST); + + MAP* pMap = GetMap(); + if (pMap == nullptr) return; + int min_x = region_x - 1; if(min_x < 0) min_x = 0; + int min_z = region_z - 1; if(min_z < 0) min_z = 0; + int max_x = region_x + 1; if(max_x > pMap->GetXRegionMax()) max_x = pMap->GetXRegionMax(); + int max_z = region_z + 1; if(min_z > pMap->GetZRegionMax()) min_z = pMap->GetZRegionMax(); + + int search_x = max_x - min_x + 1; + int search_z = max_z - min_z + 1; + + int i, j; + + for(i = 0; i < search_x; i++) + { + for(j = 0; j < search_z; j++) + { + HealAreaCheck( min_x+i, min_z+j ); + } + } +} + +void CUser::HealAreaCheck(int rx, int rz) +{ + MAP* pMap = GetMap(); + if (pMap == nullptr) return; + + if (rx < 0 || rz < 0 || rx > pMap->GetXRegionMax() || rz > pMap->GetZRegionMax()) + { + //TRACE("#### CUser-HealAreaCheck() Fail : [nid=%d, name=%s], nRX=%d, nRZ=%d #####\n", GetID(), GetName().c_str(), rx, rz); + return; + } + + static const float fRadius = 10.0f; // 30m + + Guard lock(pMap->m_lock); + CRegion *pRegion = &pMap->m_ppRegion[rx][rz]; + + if (pRegion == nullptr) + return; + + foreach_stlmap (itr, pRegion->m_RegionNpcArray) + { + CNpc * pNpc = g_pMain->GetNpcPtr(itr->first); + if (pNpc == nullptr || pNpc->isDead() || !pNpc->isHostileTo(this)) + continue; + + if (isInRangeSlow(pNpc, fRadius)) + pNpc->ChangeTarget(1004, this); + } +} \ No newline at end of file diff --git a/server/GameServer/AchievementHandler.cpp b/server/GameServer/AchievementHandler.cpp new file mode 100644 index 0000000..8f31a81 --- /dev/null +++ b/server/GameServer/AchievementHandler.cpp @@ -0,0 +1,663 @@ +#include "stdafx.h" + +#define COVERTITLE_CHANGE_TIME 15 +#define SKILLTITLE_CHANGE_TIME 15 + +void CUser::AchieveTimeQuest(Packet & pkt) +{ + Packet result(WIZ_ACHIEVE,uint8(99)); + uint16 ErrorCode; + uint8 QuestID, type; + uint16 RealQuestID; + pkt >> QuestID, type; + + RealQuestID = QuestID + 256; + + _ACHIEVE_MAIN * pAchieveMain = g_pMain->GetAchieveMainPointer(RealQuestID); + + if(pAchieveMain == nullptr) + { + ErrorCode = -2; + goto fail_return; + } + + if(m_AchievequestMap[RealQuestID] == 2) + { + ErrorCode = -2; + goto fail_return; + } + + if(m_tLastKillTime != 0) + { + ErrorCode = -1; + goto fail_return2; + } + + + if(m_sChallangeAchieveID > 0 && m_sChallangeAchieveID != RealQuestID) + { + ErrorCode = -2; + goto fail_return2; + } + + // 37237 There's no ongoing achievement 7 -1 + // 37238 This does not match the achievement you are challenging. 7 -2 + // 37239 You already have another ongoing achievement. 6 -1 + // 37240 Selected Achievement Error 6 -2 + + m_tLastKillTime = UNIXTIME; + m_sChallangeAchieveID = RealQuestID; + + result << uint8(1) << uint16(RealQuestID) << uint8(1); + Send(&result); +fail_return: + result << uint8(6) << uint16(0) << uint16(ErrorCode); + Send(&result); + return; +fail_return2: + result << uint8(7) << uint16(0) << uint16(ErrorCode); + Send(&result); + return; +} + +void CUser::HandleAchieve(Packet & pkt) +{ + + + auto OpCode = pkt.read(); + + switch (OpCode) + { + case 2:// quest listesindeki iteme tklaynca geliyor. Quest bitmise itemi vermek iin. + AchieveGetItem(pkt); + break; + case 3: + LoadAchievementData(pkt); + break; + case 4: + SendAchievementDetails(); + break; + case 6: // sreli achievement iconlarna tklaync gelen packet. + AchieveTimeQuest(pkt); + break; + case 16: // cover title change + ChangeCoverTitle(pkt); + break; + case 17: // skill title change + ChangeSkillTitle(pkt); + break; + case 18: // Cover Title Reset + CoverTitleReset(); + break; + case 19: // Skill Title Reset + SkillTitleReset(); + break; + default: + break; + } +} + +void CUser::AchieveGetItem(Packet & pkt) +{ + Packet result(WIZ_ACHIEVE, uint8(2)); + /* + 1 = Item has been issued. + -1 = You cannot pick up the item because your item inventory is full. + -2 = Item doesnt exist. + */ + int16 ReturnValue = 1; + auto ID = pkt.read(); + auto pAchieveMain = g_pMain->GetAchieveMainPointer(ID); + + if (!pAchieveMain) + goto failed_return; + + // TODO: achieve item verme ilemleri yaplacak. + + result << ID << ReturnValue; + Send(&result); + //SendAchieveStatus(ID, 5); + return; +failed_return: + result << ID << ReturnValue; + Send(&result); +} + +void CUser::LoadAchievementData(Packet & pkt) +{ + auto pCount = pkt.read(); + uint16 AchievementID = 0; + + Packet result(WIZ_ACHIEVE, uint8(3)); + result << pCount; + + for (size_t i = 0; i < pCount; i++) + { + pkt >> AchievementID; + + auto pAchieveMain = g_pMain->GetAchieveMainPointer(AchievementID); + _ACHIEVE_QUEST * pAchieveQuest = m_bAchieveKillCount.GetData(AchievementID); + if (pAchieveMain) + { + switch (pAchieveMain->Type) + { + case 1: + { + result << AchievementID << uint8(m_AchievequestMap[AchievementID] == 2 ? 4 : 0) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[0]) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[1]); + break; + } + case 2: + { + result << AchievementID << uint8(m_AchievequestMap[AchievementID] == 2 ? 4 : 0) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[0]) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[1]); + break; + } + case 3: + { + result << AchievementID << uint8(m_AchievequestMap[AchievementID] == 2 ? 4 : 0) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[0]) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[1]); + break; + } + case 4: + { + result << AchievementID << uint8(m_AchievequestMap[AchievementID] == 2 ? 4 : 0) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[0]) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[1]); + break; + } + case 5: + { + result << AchievementID << uint8(m_AchievequestMap[AchievementID] == 2 ? 4 : 0) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[0]) << uint16(pAchieveQuest == nullptr ? 0 : pAchieveQuest->KillCount[1]); + break; + } + default: + result << AchievementID << uint8(0) << uint16(0) << uint16(0); + break; + } + } + else + result << AchievementID << uint8(0) << uint16(0) << uint16(0); + } + + Send(&result); +} + +void CUser::SendAchievementDetails() +{ + Packet result(WIZ_ACHIEVE, uint8(4)); + result << uint32(((UNIXTIME - m_TimeOnline) / 60) + m_dwTime) // Oyunda kalma sresi Dakika cinsinden + << m_iMonsterDefeatedCount + << m_iUserDefeatedCount + << m_iUserDeathCount + << m_iAchievementPoint + << AchieveLast1 + << AchieveLast2 + << AchieveLast3 + << AchieveNormalCount // Normal Count + << AchieveQuestCount // Quest Count + << AchieveWarCount // War Count + << AchieveAdventureCount // Adventure Count + << AchieveChallengeCount;// Challenge Count + Send(&result); +} + +void CUser::ChangeCoverTitle(Packet & pkt) +{ + Packet result(WIZ_ACHIEVE, uint8(16)); + + if (ChangeCoverTitleRequest + COVERTITLE_CHANGE_TIME >= UNIXTIME) + goto failed_return; + + ChangeCoverTitleRequest = UNIXTIME; + + uint16 UnKnow1 = 0, Title = 0; + pkt >> UnKnow1 >> Title; + + auto pTitleData = g_pMain->GetAchieveTitlePointer(Title); + if (!pTitleData + || m_AchievequestMap[pTitleData->UnKnow1] != 2) + goto failed_return; + + result << UnKnow1 << Title << uint16(1); + + SetCoverTitle(Title); + + Send(&result); + StateChangeServerDirect(14, Title); + return; +failed_return: + result << UnKnow1 << GetCoverTitle() << uint16(-5) << uint16(COVERTITLE_CHANGE_TIME - (UNIXTIME - ChangeCoverTitleRequest)); + Send(&result); +} + +void CUser::ChangeSkillTitle(Packet & pkt) +{ + Packet result(WIZ_ACHIEVE, uint8(17)); + + if (ChangeSkillTitleRequest + SKILLTITLE_CHANGE_TIME >= UNIXTIME) + goto failed_return; + + ChangeSkillTitleRequest = UNIXTIME; + + uint16 UnKnow1 = 0, Title = 0; + pkt >> UnKnow1 >> Title; + + + auto pTitleData = g_pMain->GetAchieveTitlePointer(Title); + if (!pTitleData + || m_AchievequestMap[pTitleData->UnKnow1] != 2) + goto failed_return; + + result << UnKnow1 << Title << uint16(1); + + SetSkillTitle(Title); + + Send(&result); + SetUserAbility(true); + return; +failed_return: + result << UnKnow1 << GetSkillTitle() << uint16(-5) << uint16(SKILLTITLE_CHANGE_TIME - (UNIXTIME - ChangeSkillTitleRequest)); + Send(&result); +} + +void CUser::CoverTitleReset() +{ + Packet result(WIZ_ACHIEVE, uint8(18)); + + if (ResetCoverTitleRequest + COVERTITLE_CHANGE_TIME >= UNIXTIME) + goto failed_return; + + ResetCoverTitleRequest = UNIXTIME; + + result << int16(1); + + StateChangeServerDirect(14, 0); + + Send(&result); + return; +failed_return: + result << int16(-1) << uint16(COVERTITLE_CHANGE_TIME - (UNIXTIME - ResetCoverTitleRequest)); + Send(&result); +} + +void CUser::SkillTitleReset() +{ + Packet result(WIZ_ACHIEVE, uint8(19)); + + if (ResetSkillTitleRequest + SKILLTITLE_CHANGE_TIME >= UNIXTIME) + goto failed_return; + + ResetSkillTitleRequest = UNIXTIME; + + result << uint16(1); + + SetSkillTitle(0); + + Send(&result); + SetUserAbility(true); + return; +failed_return: + result << int16(-1) << uint16(SKILLTITLE_CHANGE_TIME - (UNIXTIME - ResetSkillTitleRequest)); + Send(&result); +} + +/// ACHIEVE_WAR +void CUser::AchieveType1(uint8 pType) +{ + foreach_stlmap_nolock(itr, g_pMain->ACHIEVE_WAR) + { + auto pAchieveWarData = itr->second; + + if (pAchieveWarData->Type != pType) + continue; + + if(m_AchievequestMap[pAchieveWarData->ID] == 2) + continue; + + auto pAchieveMain = g_pMain->GetAchieveMainPointer(pAchieveWarData->ID); + _ACHIEVE_QUEST * pAchieveQuest = m_bAchieveKillCount.GetData(pAchieveWarData->ID); + + if (pAchieveQuest == nullptr) + { + pAchieveQuest = new _ACHIEVE_QUEST; + pAchieveQuest->ID = pAchieveWarData->ID; + pAchieveQuest->KillCount[0] = 0; + pAchieveQuest->KillCount[1] = 0; + m_bAchieveKillCount.PutData(pAchieveQuest->ID,pAchieveQuest); + } + + + if ((pAchieveMain->ZoneID == ZONE_KARUS && (GetZoneID() != GetNation())) + || (pAchieveMain->ZoneID == ZONE_KARUS_ESLANT && (GetZoneID() != GetNation() + 10)) + || (pAchieveMain->ZoneID != 0 && pAchieveMain->ZoneID != GetZoneID())) + continue; + + if(pType == 20 + && (pAchieveWarData->ID == 94 + || pAchieveWarData->ID == 95 + || pAchieveWarData->ID == 96 + || pAchieveWarData->ID == 97 + || pAchieveWarData->ID == 98) + && m_bResHpType == USER_DEAD) + { + pAchieveQuest->KillCount[0] = 0; + continue; + } + + if(pAchieveMain->Time > 0 && (m_AchievequestMap[pAchieveWarData->ID] != 1 || m_sChallangeAchieveID != pAchieveWarData->ID)) + continue; + + if(pAchieveQuest->KillCount[0] == 0 + && pAchieveMain->Time == 0) + m_AchievequestMap[pAchieveWarData->ID] = 1; + else if(pAchieveQuest->KillCount[0] > 0 + && ((m_tLastKillTime - UNIXTIME) > pAchieveMain->Time) && pAchieveMain->Time > 0) + { + pAchieveQuest->KillCount[0] = 0; + m_AchievequestMap[pAchieveWarData->ID] = 0; + continue; + } + + + pAchieveQuest->KillCount[0]++; + + if (pAchieveWarData->Data == pAchieveQuest->KillCount[0]) // Grevi bitirme ilemleri + { + SendAchieveStatus(pAchieveWarData->ID, 2); + m_AchievequestMap[pAchieveWarData->ID] = 2; + m_iAchievementPoint += pAchieveMain->Point; + + switch(pAchieveMain->TabIndex) + { + case 0: + AchieveNormalCount++; // Normal Count + break; + case 1: + AchieveQuestCount++; // Quest Count + break; + case 2: + AchieveWarCount++; // War Count + break; + case 3: + AchieveAdventureCount++; // Adventure Count + break; + case 4: + AchieveChallengeCount++;// Challenge Count + break; + default: + break; + } + + + + if(AchieveLast3 == 0 + && AchieveLast2 == 0 + && AchieveLast1 == 0) + AchieveLast1 = pAchieveMain->ID; + else + { + AchieveLast3 = AchieveLast2; + AchieveLast2 = AchieveLast1; + AchieveLast1 = pAchieveMain->ID; + } + + } + + } +} + +/// ACHIEVE_MONSTER +void CUser::AchieveType2(CNpc * pNpc) +{ + if (!pNpc + || pNpc == nullptr) + return; + + AchieveType1(20); + + m_iMonsterDefeatedCount++; + + foreach_stlmap_nolock(itr, g_pMain->ACHIEVE_MAIN) + { + auto pMainData = itr->second; + if (pMainData->Type != 2) + continue; + + if (pMainData->ZoneID != 0 + && pMainData->ZoneID != GetZoneID()) + continue; + + if(m_AchievequestMap[pMainData->ID] == 2) + continue; + + _ACHIEVE_MONSTER * pMonsterData = g_pMain->GetAchieveMonsterPointer(pMainData->ID); + + if (pMonsterData == nullptr) + continue; + + + _ACHIEVE_QUEST * pAchieveQuest = m_bAchieveKillCount.GetData(pMainData->ID); + + if (pAchieveQuest == nullptr) + { + pAchieveQuest = new _ACHIEVE_QUEST; + pAchieveQuest->ID = pMainData->ID; + pAchieveQuest->KillCount[0] = 0; + pAchieveQuest->KillCount[1] = 0; + m_bAchieveKillCount.PutData(pAchieveQuest->ID,pAchieveQuest); + } + + for (size_t i = 0; i < 2; i++) + { + + if(pAchieveQuest->KillCount[i] == pMonsterData->MonsterCount[i]) + continue; + + for (size_t ii = 0; ii < 4; ii++) + { + if (pMonsterData->MonsterID[i][ii] != pNpc->GetProtoID()) + continue; + else if(pAchieveQuest->KillCount[i] == 0) + { + m_AchievequestMap[pMonsterData->ID] = 1; + pAchieveQuest->KillCount[i]++; + } + else + pAchieveQuest->KillCount[i]++; + + } + } + + if(pAchieveQuest->KillCount[0] == pMonsterData->MonsterCount[0] + && pAchieveQuest->KillCount[1] == pMonsterData->MonsterCount[1] + && m_AchievequestMap[pMonsterData->ID] == 1) + { + m_AchievequestMap[pMonsterData->ID] = 2;// grevi bitir + SendAchieveStatus(pMonsterData->ID,2); + m_iAchievementPoint += pMainData->Point; + + + switch(pMainData->TabIndex) + { + case 0: + AchieveNormalCount++; // Normal Count + break; + case 1: + AchieveQuestCount++; // Quest Count + break; + case 2: + AchieveWarCount++; // War Count + break; + case 3: + AchieveAdventureCount++; // Adventure Count + break; + case 4: + AchieveChallengeCount++;// Challenge Count + break; + default: + break; + } + + + if(AchieveLast3 == 0 + && AchieveLast2 == 0 + && AchieveLast1 == 0) + AchieveLast1 = pMainData->ID; + else + { + AchieveLast3 = AchieveLast2; + AchieveLast2 = AchieveLast1; + AchieveLast1 = pMainData->ID; + } + + } + } +} + +/// ACHIEVE_COM +void CUser::AchieveType3() +{ + +} + +/// ACHIEVE_NORMAL +void CUser::AchieveType4(uint8 pType) +{ + + /* + type1 is king + type2 Achieve Contribution x NP + type3 Reach Level x + type5 Achieve Knight Contribution Point of x CLAN NPS + type10 Become a member of Knight Trainees + + */ + foreach_stlmap_nolock(itr, g_pMain->ACHIEVE_NORMAL) + { + auto pAchieveNormalData = itr->second; + + if (pAchieveNormalData->UnKnow1 != pType) + continue; + + if(m_AchievequestMap[pAchieveNormalData->ID] == 2) + continue; + + auto pAchieveMain = g_pMain->GetAchieveMainPointer(pAchieveNormalData->ID); + _ACHIEVE_QUEST * pAchieveQuest = m_bAchieveKillCount.GetData(pAchieveNormalData->ID); + + if (pAchieveQuest == nullptr) + { + pAchieveQuest = new _ACHIEVE_QUEST; + pAchieveQuest->ID = pAchieveNormalData->ID; + pAchieveQuest->KillCount[0] = 0; + pAchieveQuest->KillCount[1] = 0; + m_bAchieveKillCount.PutData(pAchieveQuest->ID,pAchieveQuest); + } + + + if ((pAchieveMain->ZoneID == ZONE_KARUS && (GetZoneID() != GetNation())) + || (pAchieveMain->ZoneID == ZONE_KARUS_ESLANT && (GetZoneID() != GetNation() + 10)) + || (pAchieveMain->ZoneID != 0 && pAchieveMain->ZoneID != GetZoneID())) + continue; + + + if(pAchieveQuest->KillCount[0] == 0) + m_AchievequestMap[pAchieveNormalData->ID] = 1; + + + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + _KNIGHTS_SIEGE_WARFARE * pSiegeKnights = g_pMain->GetSiegeMasterKnightsPtr(1); + switch(pType) + { + case 1: + if(isKing()) + pAchieveQuest->KillCount[0] = pAchieveNormalData->UnKnow2; + break; + case 2: + if(GetLoyalty() >= pAchieveNormalData->UnKnow2) + pAchieveQuest->KillCount[0] = pAchieveNormalData->UnKnow2; + break; + case 3: + if(GetLevel() >= pAchieveNormalData->UnKnow2) + pAchieveQuest->KillCount[0] = pAchieveNormalData->UnKnow2; + break; + case 5: + if(m_pKnightsUser == nullptr) + continue; + + if(m_pKnightsUser->nDonatedNP >= pAchieveNormalData->UnKnow2) + pAchieveQuest->KillCount[0] = pAchieveNormalData->UnKnow2; + break; + case 10: + // Become a member of Knight Trainees 419 + // Become a member of Knights 420 + // Become a member of Castle Knights 421 + if(pKnights == nullptr) + continue; + + if(pSiegeKnights == nullptr + && pAchieveNormalData->ID == 421) + continue; + + if(pSiegeKnights->sMasterKnights != GetClanID() + && pAchieveNormalData->ID == 421) + continue; + + if(pAchieveNormalData->ID == 419 + && pKnights->m_byFlag < ClanTypePromoted) + continue; + + pAchieveQuest->KillCount[0] = pAchieveNormalData->UnKnow2; + break; + default: + break; + } + + + if (pAchieveNormalData->UnKnow2 == pAchieveQuest->KillCount[0]) // Grevi bitirme ilemleri + { + SendAchieveStatus(pAchieveNormalData->ID, 2); + m_AchievequestMap[pAchieveNormalData->ID] = 2; + m_iAchievementPoint += pAchieveMain->Point; + + switch(pAchieveMain->TabIndex) + { + case 0: + AchieveNormalCount++; // Normal Count + break; + case 1: + AchieveQuestCount++; // Quest Count + break; + case 2: + AchieveWarCount++; // War Count + break; + case 3: + AchieveAdventureCount++; // Adventure Count + break; + case 4: + AchieveChallengeCount++;// Challenge Count + break; + default: + break; + } + + + if(AchieveLast3 == 0 + && AchieveLast2 == 0 + && AchieveLast1 == 0) + AchieveLast1 = pAchieveMain->ID; + else + { + AchieveLast3 = AchieveLast2; + AchieveLast2 = AchieveLast1; + AchieveLast1 = pAchieveMain->ID; + } + + } + + } +} + +/// Ekrann orta altnda achieve i bitirdiine dair uif kartmak iin +void CUser::SendAchieveStatus(uint16 AchieveID, uint8 AchieveStatus) +{ + Packet result(WIZ_ACHIEVE, uint8(1)); + result << AchieveID << AchieveStatus;// achieve ok + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/ArenaHandler.cpp b/server/GameServer/ArenaHandler.cpp new file mode 100644 index 0000000..661510a --- /dev/null +++ b/server/GameServer/ArenaHandler.cpp @@ -0,0 +1,345 @@ +#include "stdafx.h" +#include "Map.h" + +using std::string; + +enum +{ + CHALLENGE_PVP_REQUEST = 1, + CHALLENGE_PVP_CANCEL = 2, + CHALLENGE_PVP_ACCEPT = 3, + CHALLENGE_PVP_REJECT = 4, + CHALLENGE_PVP_REQ_SENT = 5, + CHALLENGE_CVC_REQUEST = 6, + CHALLENGE_CVC_CANCEL = 7, + CHALLENGE_CVC_ACCEPT = 8, + CHALLENGE_CVC_REJECT = 9, + CHALLENGE_CVC_REQ_SENT = 10, + CHALLENGE_GENERIC_ERROR = 11, + CHALLENGE_ZONE_ERROR = 12, + CHALLENGE_CLAN_ERROR = 13 +}; + +// also known as CUser::BattleFields() +void CUser::HandleChallenge(Packet & pkt) +{ + if (isDead()) + return; + + uint8 opcode = pkt.read(); + switch (opcode) + { + case CHALLENGE_PVP_REQUEST: + HandleChallengeRequestPVP(pkt); + break; + + case CHALLENGE_PVP_ACCEPT: + HandleChallengeAcceptPVP(pkt); + break; + + case CHALLENGE_CVC_REQUEST: + HandleChallengeRequestCVC(pkt); + break; + + case CHALLENGE_CVC_ACCEPT: + HandleChallengeAcceptCVC(pkt); + break; + + case CHALLENGE_PVP_CANCEL: + case CHALLENGE_CVC_CANCEL: + HandleChallengeCancelled(opcode); + break; + + case CHALLENGE_PVP_REJECT: + case CHALLENGE_CVC_REJECT: + HandleChallengeRejected(opcode); + break; + } +} + +// This is sent when the challenger requests a PVP duel with a challengee. +void CUser::HandleChallengeRequestPVP(Packet & pkt) +{ + Packet result(WIZ_CHALLENGE); + CUser *pUser; + string strUserID; + uint8 bErrorCode = CHALLENGE_GENERIC_ERROR; + + if (m_bRequestingChallenge + || m_bChallengeRequested + || GetZoneID() == ZONE_ARENA + || isInParty() + || isTrading() + || isMerchanting() + || m_bMerchantStatex + || isStoreOpen()) + goto fail_return; + + if (GetMap()->isNationPVPZone() + || GetZoneID() == ZONE_DELOS + || GetMap()->isWarZone()) + { + bErrorCode = CHALLENGE_ZONE_ERROR; + goto fail_return; + } + + pkt.SByte(); + result.SByte(); + + pkt >> strUserID; + + pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isInParty() + || pUser->isDead() + || pUser->m_bRequestingChallenge + || pUser->m_bChallengeRequested + || pUser->m_bMerchantStatex + || pUser->isMerchanting() + || pUser->isTrading() + || pUser->isStoreOpen() + || pUser->GetZoneID() != GetZoneID()) + goto fail_return; + + m_bRequestingChallenge = CHALLENGE_PVP_CANCEL; + m_sChallengeUser = pUser->GetID(); + pUser->m_bChallengeRequested = CHALLENGE_PVP_REJECT; + pUser->m_sChallengeUser = GetID(); + + result << uint8(CHALLENGE_PVP_REQUEST) << GetName(); + pUser->Send(&result); + + result.clear(); + result << uint8(CHALLENGE_PVP_REQ_SENT) << pUser->GetName(); + Send(&result); + return; + +fail_return: + result << bErrorCode; + Send(&result); +} + +// This is sent when the challenger requests a clan vs clan battle with a challengee. +void CUser::HandleChallengeRequestCVC(Packet & pkt) +{ + Packet result(WIZ_CHALLENGE); + CUser *pUser; + string strUserID; + uint8 bErrorCode = CHALLENGE_GENERIC_ERROR; + + if (m_bRequestingChallenge + || m_bChallengeRequested + || GetZoneID() == ZONE_ARENA + || isInParty() + || m_bMerchantStatex + || isTrading() + || isMerchanting() + || isStoreOpen()) + goto fail_return; + + // Are we entitled to speak for the clan? + if (!isClanLeader()) + { + bErrorCode = CHALLENGE_CLAN_ERROR; + goto fail_return; + } + + if (GetMap()->isNationPVPZone() + || GetZoneID() == ZONE_DELOS + || GetMap()->isWarZone()) + { + bErrorCode = CHALLENGE_ZONE_ERROR; + goto fail_return; + } + + pkt.SByte(); + result.SByte(); + + pkt >> strUserID; + + pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isInParty() + || pUser->isDead() + || pUser->m_bMerchantStatex + || pUser->m_bRequestingChallenge + || pUser->m_bChallengeRequested + || pUser->isMerchanting() + || pUser->isTrading() + || pUser->isStoreOpen() + || pUser->GetZoneID() != GetZoneID()) + goto fail_return; + + // Is the target entitled to speak for the clan? + if (!pUser->isClanLeader()) + { + bErrorCode = CHALLENGE_CLAN_ERROR; // might need to be set to CHALLENGE_ZONE_ERROR (it's set to that in 1.298) + goto fail_return; + } + + m_bRequestingChallenge = CHALLENGE_CVC_CANCEL; + m_sChallengeUser = pUser->GetID(); + pUser->m_bChallengeRequested = CHALLENGE_CVC_REJECT; + pUser->m_sChallengeUser = GetID(); + + result << uint8(CHALLENGE_CVC_REQUEST) << GetName(); + pUser->Send(&result); + + result.clear(); + result << uint8(CHALLENGE_CVC_REQ_SENT) << pUser->GetName(); + Send(&result); + return; + +fail_return: + result << bErrorCode; + Send(&result); +} + +// This is sent when the challengee accepts a challenger's PVP request +void CUser::HandleChallengeAcceptPVP(Packet & pkt) +{ + if (!m_bChallengeRequested) + return; + + CUser *pUser = g_pMain->GetUserPtr(m_sChallengeUser); + + m_sChallengeUser = -1; + m_bChallengeRequested = 0; + + if (pUser == nullptr) + { + Packet result(WIZ_CHALLENGE); + result << uint8(CHALLENGE_GENERIC_ERROR); + Send(&result); + return; + } + + pUser->m_sChallengeUser = -1; + pUser->m_bRequestingChallenge = 0; + + // Glorious magic numbers! + ZoneChange(ZONE_ARENA, 135.0f, 115.0f); + pUser->ZoneChange(ZONE_ARENA, 120.0f, 115.0f); +} + +// This is sent when the challengee accepts a challenger's clan vs clan request +void CUser::HandleChallengeAcceptCVC(Packet & pkt) +{ + if (!m_bChallengeRequested) + return; + + Packet result(WIZ_CHALLENGE, uint8(CHALLENGE_GENERIC_ERROR)); + CUser *pUser = g_pMain->GetUserPtr(m_sChallengeUser); + + m_sChallengeUser = -1; + m_bChallengeRequested = 0; + + if (pUser == nullptr) + { + Send(&result); + return; + } + + pUser->m_sChallengeUser = -1; + pUser->m_bRequestingChallenge = 0; + + CKnights *pClan1 = g_pMain->GetClanPtr(GetClanID()); + CKnights *pClan2 = g_pMain->GetClanPtr(pUser->GetClanID()); + + if (pClan1 == nullptr || pClan2 == nullptr) + { + Send(&result); + pUser->Send(&result); + return; + } + + foreach_array (i, pClan1->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pClan1->m_arKnightsUser[i]; + if (!p->byUsed || p->pSession == nullptr) + continue; + + CUser *pClanMember = p->pSession; + if (pClanMember->GetZoneID() == GetZoneID() + && !pClanMember->isStoreOpen() + && !pClanMember->isMerchanting() + && !pClanMember->isTrading() + && !pClanMember->m_bMerchantStatex + && !pClanMember->isInParty() + && !pClanMember->m_bRequestingChallenge + && pClanMember->m_sChallengeUser < 0) + pClanMember->ZoneChange(ZONE_ARENA, 128.0f, 125.0f); + } + + foreach_array (i, pClan2->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pClan2->m_arKnightsUser[i]; + if (!p->byUsed || p->pSession == nullptr) + continue; + + CUser *pClanMember = p->pSession; + if (pClanMember->GetZoneID() == GetZoneID() + && !pClanMember->isStoreOpen() + && !pClanMember->isMerchanting() + && !pClanMember->isTrading() + && !pClanMember->m_bMerchantStatex + && !pClanMember->isInParty() + && !pClanMember->m_bRequestingChallenge + && pClanMember->m_sChallengeUser < 0) + pClanMember->ZoneChange(ZONE_ARENA, 135.0f, 120.0f); + } +} + +// This is sent when the challenger cancels their request to the challengee. +void CUser::HandleChallengeCancelled(uint8 opcode) +{ + if (!m_bRequestingChallenge) + return; + + Packet result(WIZ_CHALLENGE); + + CUser *pUser = g_pMain->GetUserPtr(m_sChallengeUser); + if (pUser == nullptr || pUser->m_sChallengeUser != GetID()) + { + result << uint8(CHALLENGE_GENERIC_ERROR); + Send(&result); + } + else + { + pUser->m_sChallengeUser = -1; + pUser->m_bChallengeRequested = 0; + result << opcode; + pUser->Send(&result); + } + + m_sChallengeUser = -1; + m_bRequestingChallenge = 0; +} + +// This is sent when the challengee rejects the challenger's request. +void CUser::HandleChallengeRejected(uint8 opcode) +{ + if (!m_bChallengeRequested) + return; + + Packet result(WIZ_CHALLENGE); + + CUser *pUser = g_pMain->GetUserPtr(m_sChallengeUser); + if (pUser == nullptr || pUser->m_sChallengeUser != GetID()) + { + result << uint8(CHALLENGE_GENERIC_ERROR); + } + else + { + pUser->m_sChallengeUser = -1; + pUser->m_bRequestingChallenge = 0; + result << opcode; + pUser->Send(&result); + } + + m_sChallengeUser = -1; + m_bChallengeRequested = 0; + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/AttackHandler.cpp b/server/GameServer/AttackHandler.cpp new file mode 100644 index 0000000..e0dade3 --- /dev/null +++ b/server/GameServer/AttackHandler.cpp @@ -0,0 +1,301 @@ +#include "stdafx.h" +#include "Map.h" + +void CUser::Attack(Packet & pkt) +{ + int16 sid = -1, tid = -1, damage, delaytime, distance; + uint8 bType, bResult = 0; + Unit * pTarget = nullptr; + + pkt >> bType >> bResult >> tid >> delaytime >> distance; + + // delaytime = delaytime / 100.0f; + // distance = distance / 10.0f; + + if (isIncapacitated()) + return; + + RemoveStealth(); + + // If you're holding a weapon, do a client-based (ugh, do not trust!) delay check. + _ITEM_TABLE *pTable = GetItemPrototype(RIGHTHAND); + if (pTable != nullptr && !isMage()) + { + if (distance > pTable->m_sRange) + return; + } + // Empty handed. + else if (delaytime < 100) + return; + + pTarget = g_pMain->GetUnitPtr(tid); + bResult = ATTACK_FAIL; + + + if (pTarget != nullptr + && isInAttackRange(pTarget) + && CanAttack(pTarget)) + { + if (isAttackable(pTarget) && CanCastRHit(GetSocketID())) + { + if (isInTempEventZone() && + (!isSameEventRoom(pTarget) + || !g_pMain->pTempleEvent.isAttackable)) + return; + + if(GetEventRoom() > 0 && pTarget->GetEventRoom() != GetEventRoom()) + return; + + CUser *pUser = g_pMain->GetUserPtr(GetSocketID()); + + if (pUser != nullptr) + pUser->m_RHitRepeatList.insert(std::make_pair(GetSocketID(), UNIXTIME)); + + damage = GetDamage(pTarget); + + if(pTarget->GetID() > NPC_BAND) + { + + switch(TO_NPC(pTarget)->GetType()) + { + case NPC_FOSSIL: + damage = 1; + break; + case NPC_TREE: + damage = 20; + break; + } + } + + // Can't use R attacks in the Snow War. + if (GetZoneID() == ZONE_SNOW_BATTLE && g_pMain->m_byBattleOpen == SNOW_BATTLE) + damage = 0; + else if (GetZoneID() == ZONE_CHAOS_DUNGEON && g_pMain->pTempleEvent.isAttackable) + damage = 500 / 10; + else if (GetZoneID() == ZONE_PRISON) + { + if (GetMana() < (m_iMaxMp / 5)) + return; + + damage = 1; + MSpChange(-(m_iMaxMp / 5)); + } + + if (damage > 0) + { + pTarget->HpChange(-damage, this); + if (pTarget->isDead()) + bResult = ATTACK_TARGET_DEAD; + else + bResult = ATTACK_SUCCESS; + + // Every attack takes a little of your weapon's durability. + ItemWoreOut(ATTACK, damage); + + // Every hit takes a little of the defender's armour durability. + if (pTarget->isPlayer()) + TO_USER(pTarget)->ItemWoreOut(DEFENCE, damage); + } + } + } + + Packet result(WIZ_ATTACK, bType); + result << bResult << GetSocketID() << tid; + SendToRegion(&result); +} + +void CUser::Regene(uint8 regene_type, uint32 magicid /*= 0*/) +{ + ASSERT(GetMap() != nullptr); + + _OBJECT_EVENT* pEvent = nullptr; + _START_POSITION* pStartPosition = nullptr; + float x = 0.0f, z = 0.0f; + + if (!isDead()) + return; + + if (regene_type != 1 && regene_type != 2) + regene_type = 1; + + if (regene_type == 2) + { + // Is our level high enough to be able to resurrect using this skill? + if (GetLevel() <= 5 + // Do we have enough resurrection stones? + || !RobItem(379006000, 3 * GetLevel())) + return; + } + + // If we're in a home zone, we'll want the coordinates from there. Otherwise, assume our own home zone. + pStartPosition = g_pMain->m_StartPositionArray.GetData(GetZoneID()); + if (pStartPosition == nullptr) + return; + + UserInOut(INOUT_OUT); + + pEvent = GetMap()->GetObjectEvent(m_sBind); + + // If we're not using a spell to resurrect. + if (magicid == 0) + { + // Resurrect at a bind/respawn point + if (pEvent && pEvent->byLife == 1 && GetZoneID() != ZONE_DELOS) + { + SetPosition(pEvent->fPosX + x, 0.0f, pEvent->fPosZ + z); + x = pEvent->fPosX; + z = pEvent->fPosZ; + } + // Are we trying to respawn in a home zone? + // If we're in a war zone (aside from snow wars, which apparently use different coords), use BattleZone coordinates. + else if ((GetZoneID() <= ZONE_ELMORAD) || (GetZoneID() != ZONE_SNOW_BATTLE && GetZoneID() == (ZONE_BATTLE_BASE + g_pMain->m_byBattleZone))) + { + // Use the proper respawn area for our nation, as the opposite nation can + // enter this zone at a war's invasion stage. + x = (float)((GetNation() == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX) + myrand(0, pStartPosition->bRangeX)); + z = (float)((GetNation() == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ) + myrand(0, pStartPosition->bRangeZ)); + } + else + { + short sx, sz; + // If we're in a war zone (aside from snow wars, which apparently use different coords), use BattleZone coordinates. + if ((GetZoneID() == ZONE_MORADON || GetZoneID() == ZONE_MORADONM2) && (isInArena() || isInPartyArena())) + { + x = (float)(MINI_ARENA_RESPAWN_X + myrand(-MINI_ARENA_RESPAWN_RADIUS, MINI_ARENA_RESPAWN_RADIUS)); + z = (float)(MINI_ARENA_RESPAWN_Z + myrand(-MINI_ARENA_RESPAWN_RADIUS, MINI_ARENA_RESPAWN_RADIUS)); + } + else if (GetZoneID() == ZONE_CHAOS_DUNGEON) + { + GetStartPositionRandom(sx, sz); + x = sx; + z = sz; + } + else if (GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + uint16 KillCount1, KillCount2, KillCount3; + KillCount1 = GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom1[GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom1[GetEventRoom()]; + KillCount2 = GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom2[GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom2[GetEventRoom()]; + KillCount3 = GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom3[GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom3[GetEventRoom()]; + + if (KillCount1 > 3 && KillCount2 < 4) + { + if (GetNation() == KARUS) + { + x = (float) (223 + (myrand(-1,1))); + z = (float) (672 + (myrand(-1,1))); + }else + { + x = (float) (800 + (myrand(-1,1))); + z = (float) (343 + (myrand(-1,1))); + } + }else if(KillCount2 > 3 && KillCount3 < 4) + { + if (GetNation() == KARUS) + { + x = (float) (340 + (myrand(-1,1))); + z = (float) (847 + (myrand(-1,1))); + }else + { + x = (float) (690 + (myrand(-1,1))); + z = (float) (172 + (myrand(-1,1))); + } + }else if(KillCount3 > 3) + { + if (GetNation() == KARUS) + { + x = (float) (512 + (myrand(-1,1))); + z = (float) (736 + (myrand(-1,1))); + }else + { + x = (float) (512 + (myrand(-1,1))); + z = (float) (282 + (myrand(-1,1))); + } + }else + { + GetStartPosition(sx, sz); + x = sx; + z = sz; + } + + + } + // For all else, just grab the start position (/town coordinates) from the START_POSITION table. + else + { + GetStartPosition(sx, sz); + x = sx; + z = sz; + } + } + + SetPosition(x, 0.0f, z); + + m_LastX = x; + m_LastZ = z; + + m_bResHpType = USER_STANDING; + m_bRegeneType = REGENE_NORMAL; + } + else // we're respawning using a resurrect skill. + { + _MAGIC_TYPE5 * pType = g_pMain->m_Magictype5Array.GetData(magicid); + if (pType == nullptr) + return; + + MSpChange(-m_iMaxMp); // reset us to 0 MP. + + if (m_sWhoKilledMe == -1) + ExpChange((m_iLostExp * pType->bExpRecover) / 100); // Restore + + m_bResHpType = USER_STANDING; + m_bRegeneType = REGENE_MAGIC; + } + + Packet result(WIZ_REGENE); + result << GetSPosX() << GetSPosZ() << GetSPosY(); + Send(&result); + + m_tLastRegeneTime = UNIXTIME; + m_sWhoKilledMe = -1; + m_iLostExp = 0; + + if (!isBlinking()) + { + result.Initialize(AG_USER_REGENE); + result << GetSocketID() << m_sHp; + Send_AIServer(&result); + } + + SetRegion(GetNewRegionX(), GetNewRegionZ()); + + UserInOut(INOUT_RESPAWN); + + g_pMain->RegionUserInOutForMe(this); + g_pMain->RegionNpcInfoForMe(this); + + InitializeStealth(); + SendUserStatusUpdate(USER_STATUS_DOT, USER_STATUS_CURE); + SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + + if (isInArena() || isInPartyArena()) + SendUserStatusUpdate(USER_STATUS_SPEED, USER_STATUS_CURE); + + HpChange(GetMaxHealth()); + + InitType4(); + if (GetZoneID() != ZONE_CHAOS_DUNGEON) + RecastSavedMagic(); + HpChange(GetMaxHealth()); + + // If we actually respawned (i.e. we weren't resurrected by a skill)... + if (magicid == 0) + { + BlinkStart(); + // In PVP zones (not war zones), we must kick out players if they no longer + // have any national points. + if (GetLoyalty() == 0 + && (GetMap()->isWarZone() + || isInPKZone())) + KickOutZoneUser(); + } +} \ No newline at end of file diff --git a/server/GameServer/Bot.cpp b/server/GameServer/Bot.cpp new file mode 100644 index 0000000..7bd80ec --- /dev/null +++ b/server/GameServer/Bot.cpp @@ -0,0 +1,271 @@ +#include "stdafx.h" +#include "Map.h" +#include "../shared/DateTime.h" + +CBot::CBot() +{ + Initialize(); +} + +void CBot::Initialize() +{ + MerchantChat.clear(); + LastWarpTime = 0; + m_tLastKillTime = 0; + m_sChallangeAchieveID = 0; + m_pktcount = 0; + m_strUserID.clear(); + m_strMemo.clear(); + m_strAccountID.clear(); + for (int i = 0; i < STAT_COUNT; i++) + m_bRebStats[i] = 0; + m_sAchieveCoverTitle = 0; + + memset(&m_arSellMerchantItems, 0, sizeof(m_arSellMerchantItems)); + memset(&m_arBuyMerchantItems, 0, sizeof(m_arBuyMerchantItems)); + m_bMerchantState = MERCHANT_STATE_NONE; + m_bAuthority = 1; + m_sBind = -1; + m_state = GAME_STATE_CONNECTED; + m_bPartyLeader = false; + m_bIsChicken = false; + m_bIsHidingHelmet = false; + m_bIsHidingCospre = false; + + m_bPremiumMerchant = false; + m_bInParty = false; + + m_bInvisibilityType = INVIS_NONE; + + m_sDirection = 0; + + memset(&m_bStats, 0, sizeof(m_bStats)); + + m_bAuthority = AUTHORITY_PLAYER; + m_bLevel = 1; + m_iExp = 0; + m_iBank = m_iGold = 0; + m_iLoyalty = 100; + m_iLoyaltyMonthly = 0; + m_iMannerPoint = 0; + m_sHp = m_sMp = m_sSp = 0; + + m_iMaxHp = 0; + m_iMaxMp = 1; + m_iMaxSp = 120; + m_sMerchantsSocketID = -1; + m_bResHpType = USER_STANDING; + m_bBlockPrivateChat = false; + m_sPrivateChatUser = -1; + m_bNeedParty = 0x01; + + + m_bAbnormalType = ABNORMAL_NORMAL; // User starts out in normal size. + m_nOldAbnormalType = m_bAbnormalType; + + + m_teamColour = TeamColourNone; + +} + +bool CBot::RegisterRegion() +{ + uint16 + new_region_x = GetNewRegionX(), new_region_z = GetNewRegionZ(), + old_region_x = GetRegionX(), old_region_z = GetRegionZ(); + + if (GetRegion() == nullptr || (old_region_x == new_region_x && old_region_z == new_region_z)) + return false; + + AddToRegion(new_region_x, new_region_z); + + RemoveRegion(old_region_x - new_region_x, old_region_z - new_region_z); + InsertRegion(new_region_x - old_region_x, new_region_z - old_region_z); + + return true; +} + +void CBot::AddToRegion(int16 new_region_x, int16 new_region_z) +{ + GetRegion()->Remove(this); + SetRegion(new_region_x, new_region_z); + GetRegion()->Add(this); +} + +void CBot::RemoveRegion(int16 del_x, int16 del_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_OUT); + g_pMain->Send_OldRegions(&result, del_x, del_z, GetMap(), GetRegionX(), GetRegionZ(),nullptr,0); +} + +void CBot::InsertRegion(int16 insert_x, int16 insert_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_IN); + g_pMain->Send_NewRegions(&result, insert_x, insert_z, GetMap(), GetRegionX(), GetRegionZ(),nullptr,0); +} + +void CBot::SetRegion(uint16 x /*= -1*/, uint16 z /*= -1*/) +{ + m_sRegionX = x; m_sRegionZ = z; + m_pRegion = m_pMap->GetRegion(x, z); // TODO: Clean this up +} + +void CBot::StateChangeServerDirect(uint8 bType, uint32 nBuff) +{ + uint8 buff = *(uint8 *)&nBuff; // don't ask + switch (bType) + { + case 1: + m_bResHpType = buff; + break; + + case 2: + m_bNeedParty = buff; + break; + + case 3: + m_nOldAbnormalType = m_bAbnormalType; + + + m_bAbnormalType = nBuff; + break; + + case 5: + m_bAbnormalType = nBuff; + break; + + case 6: + nBuff = m_bPartyLeader; // we don't set this here. + break; + + case 7: + break; + + case 8: // beginner quest + break; + + case 14: + break; + } + + Packet result(WIZ_STATE_CHANGE); + result << GetID() << bType << nBuff; + SendToRegion(&result); +} + +void CBot::GetInOut(Packet & result, uint8 bType) +{ + result.Initialize(WIZ_USER_INOUT); + result << uint16(bType) << GetID(); + if (bType != INOUT_OUT) + GetUserInfo(result); +} + +void CBot::UserInOut(uint8 bType) +{ + Packet result; + GetInOut(result, bType); + + Guard lock(g_pMain->m_BotcharacterNameLock); + if (bType == INOUT_OUT) + { + GetRegion()->Remove(this); + m_state = GAME_STATE_CONNECTED; + + std::string upperName = GetName(); + STRTOUPPER(upperName); + + g_pMain->m_BotcharacterNameMap.erase(upperName); + } + else + { + GetRegion()->Add(this); + m_state = GAME_STATE_INGAME; + + std::string upperName = GetName(); + STRTOUPPER(upperName); + g_pMain->m_BotcharacterNameMap[upperName] = this; + + } + SendToRegion(&result); +} + +void CBot::SendToRegion(Packet *pkt) +{ + g_pMain->Send_Region(pkt, GetMap(), GetRegionX(), GetRegionZ(), nullptr, 0); +} + +void CBot::GetUserInfo(Packet & pkt) +{ + + pkt.SByte(); + pkt << GetName() + << uint16(m_bNation) << GetClanID() << m_bFame; + + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights == nullptr) + { + pkt << uint32(0) << uint16(0) << uint8(0) << uint16(-1) << uint32(0) << uint8(0); + } + else + { + CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); + + pkt << pKnights->GetAllianceID() + << pKnights->m_strName + << pKnights->m_byGrade << pKnights->m_byRanking + << uint16(pKnights->m_sMarkVersion) // symbol/mark version + << pKnights->GetCapeID(aKnights) // cape ID + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB << uint8(0) // this is stored in 4 bytes after all. + // not sure what this is, but it (just?) enables the clan symbol on the cape + // value in dump was 9, but everything tested seems to behave as equally well... + // we'll probably have to implement logic to respect requirements. + << uint8(1); + } + uint8 bInvisibilityType = m_bInvisibilityType; + if (bInvisibilityType != INVIS_NONE) + bInvisibilityType = INVIS_DISPEL_ON_MOVE; + + pkt << m_bLevel << m_bRace << m_sClass + << GetSPosX() << GetSPosZ() << GetSPosY() + << m_bFace << m_nHair + << m_bResHpType << uint32(m_bAbnormalType) + << m_bNeedParty + << m_bAuthority + << m_bPartyLeader // is party leader (bool) + << bInvisibilityType // visibility state + << uint8(m_teamColour) // team colour (i.e. in soccer, 0=none, 1=blue, 2=red) + << m_bIsHidingHelmet << m_bIsHidingCospre // either this is correct and items are super buggy, or it causes baldness. You choose. + << m_sDirection // direction + << m_bIsChicken // chicken/beginner flag + << m_bRank // king flag + << uint16(0) + << int8(-1) << int8(-1); // NP ranks (total, monthly) + + + uint8 equippedItems[] = + { + BREAST, LEG, HEAD, GLOVE, FOOT, SHOULDER, RIGHTHAND, LEFTHAND, CWING, CHELMET, CLEFT, CRIGHT, CTOP, FAIRY + }; + + foreach_array (i, equippedItems) + { + _ITEM_DATA * pItem = &m_sItemArray[equippedItems[i]]; + + if(pItem == nullptr) + continue; + + pkt << pItem->nNum << pItem->sDuration << pItem->bFlag; + } + + + + pkt << m_bZone << uint8(-1) << uint8(-1) << uint16(0) << uint16(0) << uint16(0) << m_bIsHidingCospre << uint8(0) << uint8(GetRebLevel()) << uint16(m_sAchieveCoverTitle) << uint16(0) << uint8(0) << uint8(0); + +} diff --git a/server/GameServer/Bot.h b/server/GameServer/Bot.h new file mode 100644 index 0000000..1722d1d --- /dev/null +++ b/server/GameServer/Bot.h @@ -0,0 +1,172 @@ +#pragma once + +#include "LuaEngine.h" +#include "../shared/KOSocket.h" + +#include "Unit.h" +#include "ChatHandler.h" + + + +#include "GameDefine.h" + +class CGameServerDlg; + +class CBot +{ +public: + + + virtual uint16 GetID() { return m_sSid; } + + std::string & GetAccountName() { return m_strAccountID; } + virtual std::string & GetName() { return m_strUserID; } + + std::string m_strAccountID, m_strUserID, m_strMemo; + GameState m_state; + float m_curx, m_curz, m_cury; + uint8 m_bNation, m_bLevel, m_bZone; + std::string MerchantChat; + KOMap * m_pMap; + CRegion * m_pRegion; + uint8 m_bResHpType; + uint32 m_pktcount; + uint8 m_bRace; + uint16 m_sClass; + time_t LastWarpTime; + uint32 m_nHair; + time_t m_tLastKillTime; + uint16 m_sChallangeAchieveID; + uint16 m_sSid; + uint8 m_bRank; + uint8 m_bTitle; + int64 m_iExp; + uint32 m_iLoyalty,m_iLoyaltyMonthly; + uint32 m_iMannerPoint; + uint8 m_bFace; + uint8 m_bCity; + int16 m_bKnights; + uint8 m_bFame; + int16 m_sHp, m_sMp, m_sSp; + uint8 m_bStats[STAT_COUNT]; + uint8 m_bRebStats[STAT_COUNT]; + uint8 m_reblvl; + uint8 m_bAuthority; + int16 m_sPoints; // this is just to shut the compiler up + uint32 m_iGold, m_iBank; + int16 m_sBind; + _ITEM_DATA m_sItemArray[INVENTORY_TOTAL]; + int8 m_bMerchantState; + int8 m_bMerchantStatex; + + uint8 m_bstrSkill[10]; + + int16 m_sMerchantsSocketID; + std::list m_arMerchantLookers; + _MERCH_DATA m_arSellMerchantItems[MAX_MERCH_ITEMS]; //What is this person selling? Stored in "_MERCH_DATA" structure. + _MERCH_DATA m_arBuyMerchantItems[MAX_MERCH_ITEMS]; //What is this person selling? Stored in "_MERCH_DATA" structure. + bool m_bPremiumMerchant; + + INLINE _ITEM_DATA * GetItem(uint8 pos) + { + return &m_sItemArray[pos]; + } + INLINE uint8 GetNation() { return m_bNation; } + INLINE uint8 GetRace() { return m_bRace; } + INLINE uint8 GetLevel() { return m_bLevel; } + INLINE uint16 GetClass() { return m_sClass; } + INLINE uint8 GetStat(StatType type) + { + if (type >= STAT_COUNT) + return 0; + + return m_bStats[type]; + } + + uint16 m_sAchieveCoverTitle; + + float m_oldx, m_oldy, m_oldz; + int16 m_sDirection; + + uint8 m_bNeedParty; + + bool m_bInParty; + bool m_bPartyLeader; + + bool m_bIsChicken; // Is the character taking the beginner/chicken quest? + bool m_bIsHidingHelmet; + bool m_bIsHidingCospre; + + short m_iMaxHp, m_iMaxMp; + uint8 m_iMaxSp; + uint8 m_bInvisibilityType; + + uint32 m_bAbnormalType; // Is the player normal, a giant, or a dwarf? + uint32 m_nOldAbnormalType; + bool m_bBlockPrivateChat; + short m_sPrivateChatUser; + + uint16 m_sRegionX, m_sRegionZ; // this is probably redundant + + TeamColour m_teamColour; +public: + INLINE uint8 GetUniqueLevel() { return m_bRebStats[STAT_STR];} // Char Rebirth mi + INLINE uint8 GetRebLevel() { return m_reblvl; } + INLINE uint16 GetSPosX() { return uint16(GetX() * 10); }; + INLINE uint16 GetSPosY() { return uint16(GetY() * 10); }; + INLINE uint16 GetSPosZ() { return uint16(GetZ() * 10); }; + INLINE CRegion * GetRegion() { return m_pRegion; } + void SetRegion(uint16 x = -1, uint16 z = -1); + void StateChangeServerDirect(uint8 bType, uint32 nBuff); + INLINE KOMap * GetMap() { return m_pMap; } + INLINE float GetX() { return m_curx; } + INLINE void SetPosition(float fx, float fy, float fz) + { + m_curx = fx; + m_curz = fz; + m_cury = fy; + } + + bool RegisterRegion(); + void AddToRegion(int16 new_region_x, int16 new_region_z); + void RemoveRegion(int16 del_x, int16 del_z); + void InsertRegion(int16 insert_x, int16 insert_z); + + INLINE uint16 GetNewRegionX() { return (uint16)(GetX()) / VIEW_DISTANCE; } + INLINE uint16 GetNewRegionZ() { return (uint16)(GetZ()) / VIEW_DISTANCE; } + INLINE float GetY() { return m_cury; } + INLINE float GetZ() { return m_curz; } + INLINE int16 GetClanID() { return m_bKnights; } + INLINE void SetClanID(int16 val) { m_bKnights = val; } + INLINE uint16 GetRegionX() { return m_sRegionX; } + INLINE uint16 GetRegionZ() { return m_sRegionZ; } + INLINE uint32 GetCoins() { return m_iGold; } + INLINE uint32 GetInnCoins() { return m_iBank; } + INLINE uint32 GetLoyalty() { return m_iLoyalty; } + INLINE uint32 GetMonthlyLoyalty() { return m_iLoyaltyMonthly; } + INLINE uint32 GetManner() { return m_iMannerPoint; } + INLINE bool isInGame() { return m_state == GAME_STATE_INGAME; } + INLINE bool isMerchanting() { return (GetMerchantState() != MERCHANT_STATE_NONE); } + INLINE bool isSellingMerchant() { return GetMerchantState() == MERCHANT_STATE_SELLING; } + INLINE bool isBuyingMerchant() { return GetMerchantState() == MERCHANT_STATE_BUYING; } + INLINE int8 GetMerchantState() { return m_bMerchantState; } + virtual int32 GetHealth() { return m_sHp; } + virtual int32 GetMaxHealth() { return m_iMaxHp; } + virtual int32 GetMana() { return m_sMp; } + virtual int32 GetMaxMana() { return m_iMaxMp; } + + void Home(); + void SetMaxMp(); + void SetMaxSp(); + void SetMaxHp(int iFlag = 0); + void LogOut(); + + void SendToRegion(Packet *pkt); + virtual void GetInOut(Packet & result, uint8 bType); + void UserInOut(uint8 bType); + void GetUserInfo(Packet & pkt); + virtual void Initialize(); + ~CBot() {} + CBot(); + +}; diff --git a/server/GameServer/CharacterHandler.cpp b/server/GameServer/CharacterHandler.cpp new file mode 100644 index 0000000..8309979 --- /dev/null +++ b/server/GameServer/CharacterHandler.cpp @@ -0,0 +1,790 @@ +#include "stdafx.h" +#include "DBAgent.h" + +#pragma region Nation Transfer + + +void CUser::SendNationChange() +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result(WIZ_NATION_CHANGE); + + if(!CheckExistItem(ITEM_NATION_TRANSFER)) + { + result << uint8(3) << uint8(7); + Send(&result); + return; + } + + if (isInClan()) + { + result << uint8(2) << uint8(2); + Send(&result); + return; + } + + if (isKing()) + { + result << uint8(3) << uint8(3); + Send(&result); + return; + } + + result.DByte(); + uint8 YanChar = g_DBAgent.YanChar(GetAccountName()); + uint8 YanCharClan = g_DBAgent.YanCharClan(GetAccountName()); + + if (YanChar == 0) + { + result << uint8(3) << uint8(6); + Send(&result); + return; + } + + if (YanCharClan == 1) + { + result << uint8(2) << uint8(2); + Send(&result); + return; + } + + std::string strCharID1, strCharID2, strCharID3, strCharID4; + uint16 Class1 = 0, Class2 = 0, Class3 = 0, Class4 = 0; + + g_DBAgent.GetAllCharID(GetAccountName(), strCharID1, strCharID2, strCharID3, strCharID4); + + result << uint8(2) << uint8(1) << YanChar; + + if(!strCharID1.empty()) + Class1 = g_DBAgent.LoadAccountNTS(strCharID1); + if(!strCharID2.empty()) + Class2 = g_DBAgent.LoadAccountNTS(strCharID2); + if(!strCharID3.empty()) + Class3 = g_DBAgent.LoadAccountNTS(strCharID3); + if(!strCharID4.empty()) + Class4 = g_DBAgent.LoadAccountNTS(strCharID4); + + if(Class1 > 0) + result << uint16(0) << strCharID1 << uint8(0) << uint8(0) << uint16(GetNation() == 1 ? (Class1 + 100) : (Class1 - 100)) << uint8(0) << uint32(0); + if(Class2 > 0) + result << uint16(1) << strCharID2 << uint8(0) << uint8(0) << uint16(GetNation() == 1 ? (Class2 + 100) : (Class2 - 100)) << uint8(0) << uint32(0); + if(Class3 > 0) + result << uint16(2) << strCharID3 << uint8(0) << uint8(0) << uint16(GetNation() == 1 ? (Class3 + 100) : (Class3 - 100)) << uint8(0) << uint32(0); + if(Class4 > 0) + result << uint16(3) << strCharID4 << uint8(0) << uint8(0) << uint16(GetNation() == 1 ? (Class4 + 100) : (Class4 - 100)) << uint8(0) << uint32(0); + + Send(&result); + +} + +void CUser::NationChangeHandle(Packet & pkt) +{ + + uint8 opcode = pkt.read(); + + switch(opcode) + { + case 3: + NationChange(pkt); + break; + default: + break; + } + +} + +void CUser::NationChange(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + uint8 opcode; + pkt >> opcode; + + if(opcode == 0) + return; + + + Packet result(WIZ_NATION_CHANGE); + + if(!CheckExistItem(ITEM_NATION_TRANSFER)) + { + result << uint8(3) << uint8(7); + Send(&result); + return; + } + + if (isInClan()) + { + result << uint8(2) << uint8(2); + Send(&result); + return; + } + + if (isKing()) + { + result << uint8(3) << uint8(3); + Send(&result); + return; + } + + uint8 YanChar = g_DBAgent.YanChar(GetAccountName()); + uint8 YanCharClan = g_DBAgent.YanCharClan(GetAccountName()); + + if (YanChar == 0) + { + result << uint8(3) << uint8(6); + Send(&result); + return; + } + + if (YanCharClan == 1) + { + result << uint8(2) << uint8(2); + Send(&result); + return; + }// hata ksm + + // Okuma ksm + + uint8 Count; + uint16 CharNum[4]; + std::string Nick[4]; + uint8 nRace[4]; + uint8 unkNown1[4]; + uint32 unkNown2[4]; + uint8 hisRace = 0, myRace = 0; + + nRace[0] = 0; + nRace[1] = 0; + nRace[2] = 0; + nRace[3] = 0; + + + pkt >> Count; + + if (Count == 0) + { + result << uint8(3) << uint8(6); + Send(&result); + return; + } + + for(int i = 0; i < Count; i++) + { + pkt >> CharNum[i] >> Nick[i] >> hisRace >> unkNown1[i] >> unkNown2[i]; + nRace[CharNum[i]] = hisRace; + + if(hisRace == 0 + || (hisRace < 10 && GetNation() == 1) + || (hisRace > 14) + || (hisRace > 6 && GetNation() == 2)) + { + result << uint8(3) << uint8(6); + Send(&result); + return; + } + + } + + + uint8 nRet = g_DBAgent.NationTransfer(GetAccountName(),nRace[0],nRace[1],nRace[2],nRace[3]); + + myRace = g_DBAgent.LoadCharRace(GetName()); + + if (myRace == 0) + { + result << uint8(2) << uint8(0); + Send(&result); + return; + } + + if (nRet != 1) + { + result << uint8(3) << uint8(6); + Send(&result); + return; + } + + RobItem(ITEM_NATION_TRANSFER); + + + + m_bRank = 0; + m_bTitle = 0; + m_bRace = myRace; + m_sClass = GetNation() == KARUS ? GetClass() + 100 : GetClass() - 100; + m_bNation = GetNation() == KARUS ? ELMORAD : KARUS; + + if (GetHealth() < (GetMaxHealth() / 2)) + HpChange(GetMaxHealth()); + + SendMyInfo(); + + UserInOut(INOUT_OUT); + SetRegion(GetNewRegionX(), GetNewRegionZ()); + UserInOut(INOUT_WARP); + + g_pMain->UserInOutForMe(this); + g_pMain->NpcInOutForMe(this); + g_pMain->MerchantUserInOutForMe(this); + + ResetWindows(); + + InitType4(); + RecastSavedMagic(); + + result << uint8(3) << uint8(1); + Send(&result); + + Disconnect(); +} + +uint8 CUser::GetNewRace() +{ + + uint8 nNewRace = 0; + + if (GetNation() == KARUS) + { + if (m_bRace == KARUS_BIG) + nNewRace = BABARIAN; + else if (m_bRace == KARUS_MIDDLE) + nNewRace = ELMORAD_MAN; + else if (m_bRace == KARUS_SMALL) + nNewRace = ELMORAD_MAN; + else if (m_bRace == KARUS_WOMAN) + nNewRace = ELMORAD_WOMAN; + else if(m_bRace == KARUS_MONSTER) + nNewRace = ELMORAD_MONSTER; + } + else + { + if (m_bRace == BABARIAN) + nNewRace = KARUS_BIG; + // El Morad Male and El Morad Warriors + else if (m_bRace == ELMORAD_MAN && isWarrior()) + nNewRace = KARUS_BIG; + // El Morad Female and El Morad Warriors + else if (m_bRace == ELMORAD_WOMAN && isWarrior()) + nNewRace = KARUS_BIG; + // El Morad Male and El Morad Rogues + else if (m_bRace == ELMORAD_MAN && isRogue()) + nNewRace = KARUS_MIDDLE; + // El Morad Female and El Morad Rogues + else if (m_bRace == ELMORAD_WOMAN && isRogue()) + nNewRace = KARUS_MIDDLE; + // El Morad Male and El Morad Magicians + else if (m_bRace == ELMORAD_MAN && isMage()) + nNewRace = KARUS_SMALL; + // El Morad Female and El Morad Magicians + else if (m_bRace == ELMORAD_WOMAN && isMage()) + nNewRace = KARUS_WOMAN; + // El Morad Male and El Morad Priests + else if (m_bRace == ELMORAD_MAN && isPriest()) + nNewRace = KARUS_MIDDLE; + // El Morad Female and El Morad Priests + else if (m_bRace == ELMORAD_WOMAN && isPriest()) + nNewRace = KARUS_WOMAN; + else if(m_bRace == ELMORAD_MONSTER) + nNewRace = KARUS_MONSTER; + } + + return nNewRace; +} + +#pragma endregion + +#pragma region Gender Change + +void CUser::GenderChange(Packet & pkt) +{ + Packet result(WIZ_GENDER_CHANGE); + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (GetRace() == 0 + || GetRace() == KARUS_BIG + || (GetRace() == KARUS_MIDDLE && GetClass() % 100 < 10) + || GetRace() == KARUS_MONSTER + || GetRace() == ELMORAD_MONSTER) + goto fail_return; + + uint8 newRace, newFace, resultCode = 0, opCode; + uint32 newHair; + + pkt >> opCode >> newRace >> newFace >> newHair; + + if(!CheckExistItem(ITEM_GENDER_CHANGE)) + goto fail_return; + + if(newRace == 0 || newFace == 0 || newHair == 0) + goto fail_return; + + if(newRace < 10 && GetNation() != 1) + goto fail_return; + + if(newRace > 10 && GetNation() != 2) + goto fail_return; + + if(newRace > 13 || newRace == GetRace()) + goto fail_return; + + if(newRace > 5 && GetNation() == 1) + goto fail_return; + + + m_bRace = newRace; + m_nHair = newHair; + m_bFace = newFace; + + resultCode = g_DBAgent.UpdateUser(GetName(), UPDATE_PACKET_SAVE, this); + + if(resultCode < 1) + goto fail_return; + + result << uint8(1) << uint16(GetID()) << newRace << newFace << newHair; + SendToRegion(&result,nullptr,GetEventRoom()); + + RobItem(ITEM_GENDER_CHANGE); + + if (GetHealth() < (GetMaxHealth() / 2)) + HpChange(GetMaxHealth()); + + return; +fail_return: + result << resultCode; + Send(&result); +} + +#pragma endregion + +#pragma region Job Change + +uint8 CUser::JobChange(uint8 NewJob /*= 0*/) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return 5; + + uint8 bNewClass = 0, bNewRace = 0; + uint8 bResult = 0; + + if (NewJob < 1 || NewJob > 5) + return 5; // Unknown job is selected... + + if(!CheckExistItem(ITEM_JOB_CHANGE)) + return 6; // Job Change scroll is not found... + + for (int i = 0; i < SLOT_MAX; i++) + { + if (m_sItemArray[i].nNum) + { + bResult = 7; + break; + } + } + + if (bResult == 7) + { + Packet result(WIZ_CLASS_CHANGE, uint8(ALL_POINT_CHANGE)); + result << uint8(4) << int(0); + Send(&result); + return bResult; // While there are items equipped on you. + } + + // If bResult between 1 and 5 character already selected job... + + // If selected a new job Warrior + if (NewJob == 1) + { + if (GetNation() == KARUS) + { + // Beginner Karus Rogue, Magician, Priest + if (isBeginnerRogue() || isBeginnerMage() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = KARUWARRIOR; + bNewRace = KARUS_BIG; + } + // Skilled Karus Rogue, Magician, Priest + else if (isNoviceRogue() || isNoviceMage() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = BERSERKER; + bNewRace = KARUS_BIG; + } + // Mastered Karus Rogue, Magician, Priest + else if (isMasteredRogue() || isMasteredMage() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = GUARDIAN; + bNewRace = KARUS_BIG; + } + } + else + { + // Beginner El Morad Rogue, Magician, Priest + if (isBeginnerRogue() || isBeginnerMage() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = ELMORWARRRIOR; + if(GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Skilled El Morad Rogue, Magician, Priest + else if (isNoviceRogue() || isNoviceMage() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = BLADE; + if(GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Mastered El Morad Rogue, Magician, Priest + else if (isMasteredRogue() || isMasteredMage() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = PROTECTOR; + if(GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + } + + // Character already Warrior. + if (bNewClass == 0 || bNewRace == 0) + bResult = NewJob; + } + + // If selected a new job Rogue + if (NewJob == 2) + { + if (GetNation() == KARUS) + { + // Beginner Karus Warrior, Magician, Priest + if (isBeginnerWarrior() || isBeginnerMage() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = KARUROGUE; + bNewRace = KARUS_MIDDLE; + } + // Skilled Karus Warrior, Magician, Priest + else if (isNoviceWarrior() || isNoviceMage() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = HUNTER; + bNewRace = KARUS_MIDDLE; + } + // Mastered Karus Warrior, Magician, Priest + else if (isMasteredWarrior() || isMasteredMage() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = PENETRATOR; + bNewRace = KARUS_MIDDLE; + } + } + else + { + // Beginner El Morad Warrior, Magician, Priest + if (isBeginnerWarrior() || isBeginnerMage() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = ELMOROGUE; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Skilled El Morad Warrior, Magician, Priest + else if (isNoviceWarrior() || isNoviceMage() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = RANGER; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Mastered El Morad Warrior, Magician, Priest + else if (isMasteredWarrior() || isMasteredMage() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = ASSASSIN; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + } + + // Character already Rogue. + if (bNewClass == 0 || bNewRace == 0) + bResult = NewJob; + } + + // If selected a new job Magician + if (NewJob == 3) + { + if (GetNation() == KARUS) + { + // Beginner Karus Warrior, Rogue, Priest + if (isBeginnerWarrior() || isBeginnerRogue() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = KARUWIZARD; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_MIDDLE || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_SMALL; + else + bNewRace = GetRace(); + } + // Skilled Karus Warrior, Rogue, Priest + else if (isNoviceWarrior() || isNoviceRogue() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = SORSERER; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_MIDDLE || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_SMALL; + else + bNewRace = GetRace(); + } + // Mastered Karus Warrior, Rogue, Priest + else if (isMasteredWarrior() || isMasteredRogue() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = NECROMANCER; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_MIDDLE || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_SMALL; + else + bNewRace = GetRace(); + } + } + else + { + // Beginner El Morad Warrior, Rogue, Priest + if (isBeginnerWarrior() || isBeginnerRogue() || isBeginnerPriest() || isBeginnerPorutu()) + { + bNewClass = ELMOWIZARD; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Skilled El Morad Warrior, Rogue, Priest + else if (isNoviceWarrior() || isNoviceRogue() || isNovicePriest() || isNovicePorutu()) + { + bNewClass = MAGE; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Mastered El Morad Warrior, Rogue, Priest + else if (isMasteredWarrior() || isMasteredRogue() || isMasteredPriest() || isMasteredPorutu()) + { + bNewClass = ENCHANTER; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + } + + // Character already Magician. + if (bNewClass == 0 || bNewRace == 0) + bResult = NewJob; + } + + // If selected a new job Priest + if (NewJob == 4) + { + if (GetNation() == KARUS) + { + // Beginner Karus Warrior, Rogue, Magician + if (isBeginnerWarrior() || isBeginnerRogue() || isBeginnerMage() || isBeginnerPorutu()) + { + bNewClass = KARUPRIEST; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_SMALL || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_MIDDLE; + else + bNewRace = GetRace(); + } + // Skilled Karus Warrior, Rogue, Magician + else if (isNoviceWarrior() || isNoviceRogue() || isNoviceMage() || isNovicePorutu()) + { + bNewClass = SHAMAN; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_SMALL || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_MIDDLE; + else + bNewRace = GetRace(); + } + // Mastered Karus Warrior, Rogue, Magician + else if (isMasteredWarrior() || isMasteredRogue() || isMasteredMage() || isMasteredPorutu()) + { + bNewClass = DARKPRIEST; + + if (GetRace() == KARUS_BIG || GetRace() == KARUS_SMALL || GetRace() == KARUS_MONSTER) + bNewRace = KARUS_MIDDLE; + else + bNewRace = GetRace(); + } + } + else + { + // Beginner El Morad Warrior, Rogue, Magician + if (isBeginnerWarrior() || isBeginnerRogue() || isBeginnerMage() || isBeginnerPorutu()) + { + bNewClass = ELMOPRIEST; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Skilled El Morad Warrior, Rogue, Magician + else if (isNoviceWarrior() || isNoviceRogue() || isNoviceMage() || isNovicePorutu()) + { + bNewClass = CLERIC; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + // Mastered El Morad Warrior, Rogue, Magician + else if (isMasteredWarrior() || isMasteredRogue() || isMasteredMage() || isMasteredPorutu()) + { + bNewClass = DRUID; + + if (GetRace() == BABARIAN || GetRace() == ELMORAD_MONSTER) + bNewRace = ELMORAD_MAN; + else + bNewRace = GetRace(); + } + } + + // Character already Priest. + if (bNewClass == 0 || bNewRace == 0) + bResult = NewJob; + } + + + // If selected a new job Kurian + if (NewJob == 5 || NewJob == 6) + { + if (GetNation() == KARUS) + { + // Beginner Karus Warrior, Rogue, Magician + if (isBeginnerRogue() || isBeginnerMage() || isBeginnerPriest() || isBeginnerWarrior()) + { + bNewClass = PORUTU; + bNewRace = KARUS_MONSTER; + } + // Skilled Karus Warrior, Rogue, Magician + else if (isNoviceRogue() || isNoviceMage() || isNovicePriest() || isNoviceWarrior()) + { + bNewClass = PORUTUSKILLED; + bNewRace = KARUS_MONSTER; + } + // Mastered Karus Warrior, Rogue, Magician + else if (isMasteredRogue() || isMasteredMage() || isMasteredPriest() || isMasteredWarrior()) + { + bNewClass = PORUTUMASTER; + bNewRace = KARUS_MONSTER; + } + } + else + { + // Beginner El Morad Warrior, Rogue, Magician + if (isBeginnerRogue() || isBeginnerMage() || isBeginnerPriest() || isBeginnerWarrior()) + { + bNewClass = KURIAN; + bNewRace = ELMORAD_MONSTER; + } + // Skilled El Morad Warrior, Rogue, Magician + else if (isNoviceRogue() || isNoviceMage() || isNovicePriest() || isNoviceWarrior()) + { + bNewClass = KURIANSKILLED; + bNewRace = ELMORAD_MONSTER; + } + // Mastered El Morad Warrior, Rogue, Magician + else if (isMasteredRogue() || isMasteredMage() || isMasteredPriest() || isMasteredWarrior()) + { + bNewClass = KURIANMASTER; + bNewRace = ELMORAD_MONSTER; + } + } + + // Character already Kurian. + if (bNewClass == 0 || bNewRace == 0) + bResult = NewJob; + } + + + if (bResult == 0) + { + RobItem(ITEM_JOB_CHANGE,1,true); + + m_sClass = bNewClass; + m_bRace = bNewRace; + + // Reset stat and skill points... + AllPointChange(true); + AllSkillPointChange(true); + + g_DBAgent.UpdateUser(GetName(), UPDATE_PACKET_SAVE, this);; + + if (GetHealth() < (GetMaxHealth() / 2)) + HpChange(GetMaxHealth()); + + SendMyInfo(); + + UserInOut(INOUT_OUT); + SetRegion(GetNewRegionX(), GetNewRegionZ()); + UserInOut(INOUT_WARP); + + g_pMain->UserInOutForMe(this); + g_pMain->NpcInOutForMe(this); + g_pMain->MerchantUserInOutForMe(this); + + ResetWindows(); + + InitType4(); + RecastSavedMagic(); + } + + return bResult; +} + +#pragma endregion \ No newline at end of file diff --git a/server/GameServer/CharacterMovementHandler.cpp b/server/GameServer/CharacterMovementHandler.cpp new file mode 100644 index 0000000..249c039 --- /dev/null +++ b/server/GameServer/CharacterMovementHandler.cpp @@ -0,0 +1,976 @@ +#include "stdafx.h" +#include "Map.h" + +void CUser::MoveProcess(Packet & pkt) +{ + ASSERT(GetMap() != nullptr); + if (m_bWarp || isDead()) + return; + + uint16 will_x, will_z, will_y; + int16 speed = 0; + float real_x, real_z, real_y; + uint8 echo; + + pkt >> will_x >> will_z >> will_y >> speed >> echo; + real_x = will_x/10.0f; real_z = will_z/10.0f; real_y = will_y/10.0f; + + m_sSpeed = speed; + + + SpeedHackUser(); + + if (!GetMap()->IsValidPosition(real_x, real_z, real_y)) + return; + + if (m_oldx != GetX() || m_oldz != GetZ()) + { + m_oldx = GetX(); + m_oldy = GetY(); + m_oldz = GetZ(); + } + + // TODO: Ensure this is checked properly to prevent speedhacking + SetPosition(real_x, real_y, real_z); + + if (RegisterRegion()) + { + g_pMain->RegionNpcInfoForMe(this); + g_pMain->RegionUserInOutForMe(this); + g_pMain->MerchantUserInOutForMe(this); + } + + if (m_bInvisibilityType == INVIS_DISPEL_ON_MOVE) + CMagicProcess::RemoveStealth(this, INVIS_DISPEL_ON_MOVE); + + Packet result(WIZ_MOVE); + result << GetSocketID() << will_x << will_z << will_y << speed << echo; + SendToRegion(&result,nullptr,GetEventRoom()); + + GetMap()->CheckEvent(real_x, real_z, this); + + // Petimi yolla pnp + if(isSummonPet) + { + _ITEM_TABLE * pItemData = nullptr; + if((pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet * pPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if (pPet == nullptr) + return; + + if(isSummonPet && SummonPetID > 0) + { + float x,z; + if( m_curx < m_oldx || m_curx == m_oldx) + x = real_x - 1; + else + x = real_x + 1; + + if( m_curz < m_oldz || m_curz == m_oldz) + z = real_z - 1; + else + z = real_z + 1; + pPet->Moving(x,m_cury,z,uint8(speed)); + } + else + return; + } + result.Initialize(AG_USER_MOVE); + result << GetSocketID() << m_curx << m_curz << m_cury << speed; + Send_AIServer(&result); + +} + +void CUser::AddToRegion(int16 new_region_x, int16 new_region_z) +{ + GetRegion()->Remove(this); + SetRegion(new_region_x, new_region_z); + GetRegion()->Add(this); +} + +void CUser::GetInOut(Packet & result, uint8 bType) +{ + result.Initialize(WIZ_USER_INOUT); + result << uint16(bType) << GetID(); + if (bType != INOUT_OUT) + GetUserInfo(result); +} + +void CUser::UserInOut(uint8 bType) +{ + if (GetRegion() == NULL) + return; + if(this == nullptr) + return; + Packet result; + + if (bType != INOUT_OUT) + ResetGMVisibility(); + + GetInOut(result, bType); + + if (bType == INOUT_OUT) + GetRegion()->Remove(this); + else + GetRegion()->Add(this); + + // View Bug Fix by Terry + + if (g_pMain->pTempleEvent.ActiveEvent != -1 && isInTempleEventZone()) + { + SendToRegion(&result, this, GetEventRoom()); + } + else + SendToRegion(&result); + + if (bType == INOUT_OUT || !isBlinking()) + { + result.Initialize(AG_USER_INOUT); + result.SByte(); + result << bType << GetSocketID() << GetName() << m_curx << m_curz; + Send_AIServer(&result); + } +} + +void CUser::GetUserInfo(Packet & pkt) +{ + if (m_bAbnormalType == ABNORMAL_INVISIBLE) + return; + + pkt.SByte(); + pkt << GetName() + << uint16(GetNation()) << GetClanID() << GetFame(); + + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights == nullptr) + { + pkt << uint32(0) << uint16(0) << uint8(0) << uint16(-1) << uint32(0) << uint8(0); + } + else + { + CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); + + pkt << pKnights->GetAllianceID() + << pKnights->m_strName + << pKnights->m_byGrade << pKnights->m_byRanking + << uint16(pKnights->m_sMarkVersion) // symbol/mark version + << pKnights->GetCapeID(aKnights) // cape ID + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB << uint8(0) // this is stored in 4 bytes after all. + // not sure what this is, but it (just?) enables the clan symbol on the cape + // value in dump was 9, but everything tested seems to behave as equally well... + // we'll probably have to implement logic to respect requirements. + << uint8(1); + } + + // There are two event-driven invisibility states; dispel on attack, and dispel on move. + // These are handled primarily server-side; from memory the client only cares about value 1 (which we class as 'dispel on move'). + // As this is the only place where this flag is actually sent to the client, we'll just convert 'dispel on attack' + // back to 'dispel on move' as the client expects. + uint8 bInvisibilityType = m_bInvisibilityType; + if (bInvisibilityType != INVIS_NONE) + bInvisibilityType = INVIS_DISPEL_ON_MOVE; + + pkt << GetLevel() << m_bRace << m_sClass + << GetSPosX() << GetSPosZ() << GetSPosY() + << m_bFace << m_nHair + << m_bResHpType << uint32(m_bAbnormalType) + << m_bNeedParty; + if (!isGM()) + pkt << m_bAuthority; + else + pkt << uint8(250); + pkt << m_bPartyLeader // is party leader (bool) + << bInvisibilityType // visibility state + << uint8(m_teamColour); // team colour (i.e. in soccer, 0=none, 1=blue, 2=red) +if(isDevil()) + pkt << uint16(1); +else + pkt << m_bIsHidingHelmet << m_bIsDevil; // either this is correct and items are super buggy, or it causes baldness. You choose. + pkt << m_sDirection // direction + << m_bIsChicken // chicken/beginner flag + << m_bRank // king flag + << uint16(0) + << m_bKnightsRank << m_bPersonalRank; // NP ranks (total, monthly) + + + uint8 equippedItems[] = + { + BREAST, LEG, HEAD, GLOVE, FOOT, SHOULDER, RIGHTHAND, LEFTHAND, CWING, CHELMET, CRIGHT, CLEFT, CTOP, FAIRY + }; + + + + foreach_array (i, equippedItems) + { + _ITEM_DATA * pItem = GetItem(equippedItems[i]); + + if(pItem == nullptr) + continue; + + /*if(!m_bIsHidingCospre) + equippedItems[8] = 0; + else + equippedItems[8] = CWING;*/ + + pkt << pItem->nNum << pItem->sDuration << pItem->bFlag; + + } + + + + pkt << GetZoneID() << uint8(-1) << uint8(-1) << uint16(0) << uint16(0) << uint16(0) << m_bIsHidingCospre << isGenieActive(); + + pkt << GetRebLevel() << GetCoverTitle() << uint32(isReturnee()); +} + +void CUser::Rotate(Packet & pkt) +{ + if (isDead()) + return; + + Packet result(WIZ_ROTATE); + pkt >> m_sDirection; + result << GetSocketID() << m_sDirection; + + SendToRegion(&result, this, GetEventRoom()); +} + +bool CUser::CanChangeZone(C3DMap * pTargetMap, WarpListResponse & errorReason) +{ + // While unofficial, game masters should be allowed to teleport anywhere. + if (isGM()) + return true; + + // Generic error reason; this should only be checked when the method returns false. + errorReason = WarpListGenericError; + + if (GetLevel() < pTargetMap->GetMinLevelReq() + || (pTargetMap->GetID() == ZONE_ARDREAM && !g_pMain->OpenArdream) + || GetLevel() > pTargetMap->GetMinLevelReq() + && (pTargetMap->GetID() == ZONE_RONARK_LAND && !g_pMain->OpenCZ) + || GetLevel() > pTargetMap->GetMinLevelReq() + && (pTargetMap->GetID() == ZONE_RONARK_LAND_BASE && !g_pMain->OpenCZ)) + { + errorReason = WarpListMinLevel; + return false; + } + + if (GetLevel() > pTargetMap->GetMaxLevelReq() + && (pTargetMap->GetID() == ZONE_ARDREAM && !g_pMain->OpenArdream) + || GetLevel() > pTargetMap->GetMaxLevelReq() + && (pTargetMap->GetID() == ZONE_RONARK_LAND && !g_pMain->OpenCZ) + || GetLevel() > pTargetMap->GetMaxLevelReq() + && (pTargetMap->GetID() == ZONE_RONARK_LAND_BASE && !g_pMain->OpenCZ)) + { + errorReason = WarpListDoNotQualify; + return false; + } + + switch (pTargetMap->GetID()) + { + case ZONE_KARUS: + // Users may enter Luferson (1)/El Morad (2) if they are that nation, + if (GetNation() == pTargetMap->GetID()) + return true; + + // Users may also enter if there's a war invasion happening in that zone. + if (GetNation() == ELMORAD) + return g_pMain->m_byKarusOpenFlag; + else + return g_pMain->m_byElmoradOpenFlag; + case ZONE_ELMORAD: + // Users may enter Luferson (1)/El Morad (2) if they are that nation, + if (GetNation() == pTargetMap->GetID()) + return true; + + // Users may also enter if there's a war invasion happening in that zone. + if (GetNation() == KARUS) + return g_pMain->m_byElmoradOpenFlag; + else + return g_pMain->m_byKarusOpenFlag; + case ZONE_KARUS_ESLANT: + return GetNation() == pTargetMap->GetID() - 10; + case ZONE_ELMORAD_ESLANT: + return GetNation() == pTargetMap->GetID() - 10; + case ZONE_DELOS: // TODO: implement CSW logic. + if (g_pMain->m_byBattleOpen == CLAN_BATTLE && !g_pMain->m_byBattleSiegeWarTeleport || g_pMain->m_byBattleOpen == CLAN_BATTLE && GetClanID() <= 0 ) + { + errorReason = WarpListNotDuringCSW; + return false; + } + if (GetLoyalty() <= 0) + { + errorReason = WarpListNeedNP; + return false; + } + return true; + case ZONE_JURAD_MOUNTAIN: + break; + case ZONE_BORDER_DEFENSE_WAR: + break; + + case ZONE_BIFROST: + case ZONE_DARK_LAND: + case ZONE_PVP_EVENT: + if (g_pMain->isWarOpen() || g_pMain->OpenArdream) + { + errorReason = WarpListNotDuringWar; + return false; + } + + if (GetLoyalty() <= 0) + { + errorReason = WarpListNeedNP; + return false; + } + + return true; + + case ZONE_ARDREAM: + if (g_pMain->isWarOpen()) + { + errorReason = WarpListNotDuringWar; + return false; + } + + if (GetLoyalty() <= 0) + { + errorReason = WarpListNeedNP; + return false; + } + + return true; + + case ZONE_RONARK_LAND_BASE: + case ZONE_RONARK_LAND: + if ((g_pMain->isWarOpen() && g_pMain->m_byBattleZoneType != ZONE_ARDREAM) || (g_pMain->m_bEventZoneIsActive && g_pMain->m_nEventZoneTime == 5)) + { + errorReason = WarpListNotDuringWar; + return false; + } + + if (GetLoyalty() <= 0) + { + errorReason = WarpListNeedNP; + return false; + } + + return true; + + default: + // War zones may only be entered if that war zone is active. + if (pTargetMap->isWarZone()) + { + if(pTargetMap->GetID() == ZONE_SNOW_BATTLE) + { + if ((pTargetMap->GetID() - ZONE_SNOW_BATTLE) != g_pMain->m_byBattleZone) + return false; + } + else if ((pTargetMap->GetID() - ZONE_BATTLE_BASE) != g_pMain->m_byBattleZone) + return false; + else if ((GetNation() == ELMORAD && g_pMain->m_byElmoradOpenFlag) + || (GetNation() == KARUS && g_pMain->m_byKarusOpenFlag)) + return false; + } + } + + return true; +} + +bool CUser::CanLevelQualify(uint8 sLevel) +{ + int16 nStatTotal = 300 + (sLevel - 1) * 3; + uint8 nSkillTotal = (sLevel - 9) * 2; + + if (sLevel > 60) + nStatTotal += 2 * (sLevel - 60); + + if ((m_sPoints + GetStatTotal()) > nStatTotal || GetTotalSkillPoints() > nSkillTotal) + return false; + + return true; +} + +void CUser::ZoneChange(uint16 sNewZone, float x, float z, uint16 nEventRoom) +{ + C3DMap * pMap = g_pMain->GetZoneByID(sNewZone); + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnightsMaster = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + + if (pMap == nullptr) + return; + + WarpListResponse errorReason; + if (!CanChangeZone(pMap, errorReason)) + { + Packet result(WIZ_WARP_LIST, uint8(2)); + + result << uint8(errorReason); + + if (errorReason == WarpListMinLevel) + result << pMap->GetMinLevelReq(); + + Send(&result); + return; + } + + + if(GetZoneID() == ZONE_STONE1) + g_pMain->IsBusy1[GetEventRoom()] = false; + if(GetZoneID() == ZONE_STONE2) + g_pMain->IsBusy2[GetEventRoom()] = false; + if(GetZoneID() == ZONE_STONE3) + g_pMain->IsBusy3[GetEventRoom()] = false; + + if (x == 0.0f && z == 0.0f) + { + _START_POSITION * pStartPosition = g_pMain->GetStartPosition(sNewZone); + if (pStartPosition != nullptr) + { + x = (float)(GetNation() == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX + myrand(0, pStartPosition->bRangeX)); + z = (float)(GetNation() == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ + myrand(0, pStartPosition->bRangeZ)); + } + } + + if (sNewZone == ZONE_DELOS) + { + if (pKnightSiege->sMasterKnights == GetClanID() && GetClanID()) + { + if (GetNation() == KARUS) + { + x = (float)(455 + myrand(0, 5)); + z = (float)(790 + myrand(0, 5)); + } + else + { + x = (float)(555 + myrand(0, 5)); + z = (float)(790 + myrand(0, 5)); + } + } + } + + m_bWarp = true; + m_bZoneChangeFlag = true; + + // Random respawn position... + if (sNewZone == ZONE_CHAOS_DUNGEON) + { + short sx, sz; + GetStartPositionRandom(sx,sz,(uint8)sNewZone); + x = (float)sx; + z = (float)sz; + } + + m_LastX = x; + m_LastZ = z; + + + uint16 OldEventRoom = GetEventRoom(); + if (GetZoneID() != sNewZone && isInTempleEventZone((uint8)sNewZone)) + { + if (!isEventUser() && !isGM()) + g_pMain->AddEventUser(this); + + if(!isGM()) + g_pMain->SetEventUser(this); + + nEventRoom = GetEventRoom(); + SetUserEventRoom(OldEventRoom); + SetUnitEventRoom(OldEventRoom); + } + + if(isGM()) + m_TimeMonsterStone = UNIXTIME + 3000; + + + + if (GetZoneID() != sNewZone) + { + + UserInOut(INOUT_OUT); + + m_bZoneChangeSameZone = false; + SetZoneAbilityChange(sNewZone); + + SetUserEventRoom(nEventRoom); + SetUnitEventRoom(nEventRoom); + + + // Reset the user's anger gauge when leaving the zone + // Unknown if this is official behaviour, but it's logical. + if (GetAngerGauge() > 0) + UpdateAngerGauge(0); + + + /* + Here we also send a clan packet with subopcode 0x16 (with a byte flag of 2) if war zone/Moradon + or subopcode 0x17 (with nWarEnemyID) for all else + */ + + if (isInParty() && !m_bZoneChangeSameZone) + if (isPartyLeader()) + { + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + PartyPromote(pParty->uid[1]); + } + PartyRemove(GetSocketID()); + + if (hasRival()) + RemoveRival(); + + ResetWindows(); + } + else + { + m_bWarp = false; + Warp(uint16(x * 10), uint16(z * 10)); + return; + } + + + if (sNewZone != ZONE_SNOW_BATTLE && GetZoneID() == ZONE_SNOW_BATTLE) + SetMaxHp(1); + else if (sNewZone != ZONE_CHAOS_DUNGEON && GetZoneID() == ZONE_CHAOS_DUNGEON) + { + SetMaxHp(1); + RobChaosSkillItems(); + nEventRoom = 0; + } + else if((sNewZone != ZONE_BORDER_DEFENSE_WAR && GetZoneID() == ZONE_BORDER_DEFENSE_WAR) + || (sNewZone != ZONE_JURAD_MOUNTAIN && GetZoneID() == ZONE_JURAD_MOUNTAIN)) + { + SetMaxHp(1); + nEventRoom = 0; + } + else if (sNewZone == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_nForgettenTempleUsers.push_back(GetSocketID()); + else if (sNewZone != ZONE_FORGOTTEN_TEMPLE && GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_nForgettenTempleUsers.erase(std::remove(g_pMain->m_nForgettenTempleUsers.begin(), g_pMain->m_nForgettenTempleUsers.end(), GetSocketID()), g_pMain->m_nForgettenTempleUsers.end()); + + else if (sNewZone == ZONE_DARK_LAND || sNewZone == ZONE_KROWAZ_DOMINION || sNewZone == ZONE_RONARK_LAND_BASE || sNewZone == ZONE_ARDREAM || sNewZone == ZONE_PVP_EVENT || (sNewZone == ZONE_JURAD_MOUNTAIN && GetZoneID() != sNewZone) || sNewZone == ZONE_LOST_TEMPLE) + g_pMain->m_nEventZoneUsers.push_back(GetSocketID()); + else if ((sNewZone != ZONE_DARK_LAND && GetZoneID() == ZONE_DARK_LAND) || (sNewZone != ZONE_LOST_TEMPLE && GetZoneID() == ZONE_LOST_TEMPLE) || (sNewZone != ZONE_KROWAZ_DOMINION && GetZoneID() == ZONE_KROWAZ_DOMINION) + || (sNewZone != ZONE_JURAD_MOUNTAIN && GetZoneID() == ZONE_JURAD_MOUNTAIN) || (sNewZone != ZONE_RONARK_LAND_BASE && GetZoneID() == ZONE_RONARK_LAND_BASE) || (sNewZone != ZONE_ARDREAM && GetZoneID() == ZONE_ARDREAM) || (sNewZone != ZONE_PVP_EVENT && GetZoneID() == ZONE_PVP_EVENT)) + g_pMain->m_nEventZoneUsers.erase(std::remove(g_pMain->m_nEventZoneUsers.begin(), g_pMain->m_nEventZoneUsers.end(), GetSocketID()), g_pMain->m_nEventZoneUsers.end()); + + m_bZone = (uint8) sNewZone; // this is 2 bytes to support the warp data loaded from SMDs. It should not go above a byte, however. + + if(GetZoneID() != sNewZone) + { + Packet result2(AG_USER_EVENTROOM); + result2 << GetID() << uint16(nEventRoom); + g_pMain->Send_AIServer(&result2); + } + + SetPosition(x, 0.0f, z); + m_pMap = pMap; + + + SetRegion(GetNewRegionX(), GetNewRegionZ()); + + Packet result(WIZ_ZONE_CHANGE, uint8(ZoneChangeTeleport)); + result << uint16(GetZoneID()) << GetSPosX() << GetSPosZ() << GetSPosY() << g_pMain->m_byOldVictory; + Send(&result); + + if (!m_bZoneChangeSameZone) + { + m_sWhoKilledMe = -1; + m_iLostExp = 0; + m_bRegeneType = 0; + m_tLastRegeneTime = 0; + m_sBind = -1; + InitType3(); + InitType4(); + CMagicProcess::CheckExpiredType9Skills(this, true); + SetUserAbility(); + } + + if(isSummonPet) + { + _ITEM_TABLE * pItemData = nullptr; + if(this == nullptr + || (pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc != nullptr) + { + if(newPet->m_pNpc->isAlive()) + newPet->Dead(); + isSummonPet = false; + } + } + + result.Initialize(AG_ZONE_CHANGE); + result << GetSocketID() << GetZoneID(); + Send_AIServer(&result); + + g_pMain->TempleEventSendActiveEventTime(this); + + m_bZoneChangeFlag = false; + + if (GetZoneID() == ZONE_BATTLE4) + g_pMain->NereidsMonumentEvent(0,0,this); + + +} + + +void CUser::CheckWaiting(uint8 sNewZone,uint16 Time) +{ + uint16 m_RemainEventZone = Time; + + if (sNewZone != ZONE_STONE1 + && sNewZone != ZONE_STONE2 + && sNewZone != ZONE_STONE3) + { + Packet hata(WIZ_EVENT); + hata << uint8(1); // Inventory Hatas?. + Send(&hata); + } + + if (sNewZone == ZONE_CHAOS_DUNGEON) + { + Packet chaos(WIZ_SELECT_MSG); + chaos << uint16(0x00) << uint8(0x07) << uint64(0x00) << 0x09 << uint8(0x18) << uint16(0x1B) << uint8(0x00) << Time; + Send(&chaos); + + Packet chaostime(WIZ_BIFROST, uint8(MONSTER_SQUARD)); + chaostime << uint16(m_RemainEventZone); + Send(&chaostime); + } + + if (sNewZone == ZONE_BORDER_DEFENSE_WAR) + { + Packet border(WIZ_SELECT_MSG); + border << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint8(0x08) << uint32(0x00) << uint8(0x09) << Time << uint16(0x00); + Send(&border); + + Packet bordertime(WIZ_BIFROST, uint8(MONSTER_SQUARD)); + bordertime << uint16(m_RemainEventZone); + Send(&bordertime); + } + + if (sNewZone == ZONE_JURAD_MOUNTAIN) + { + /*Packet juraid(WIZ_SELECT_MSG); + juraid << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint8(0x08) << uint32(0x00) << uint8(0x09) << Time << uint16(0x00); + Send(&juraid); + + Packet juraidtime(WIZ_BIFROST, uint8(MONSTER_SQUARD)); + juraidtime << uint16(m_RemainEventZone); + Send(&juraidtime);*/ + + } + + if (sNewZone == ZONE_STONE1 || sNewZone == ZONE_STONE2 || sNewZone == ZONE_STONE3) + { + + Packet stone(WIZ_SELECT_MSG); + stone << uint16(0x00) << uint8(0x09) << uint64(0x00) << uint8(0x09) << uint32(0x00) << uint8(0x10) << Time << uint16(0x00); + Send(&stone); + + Packet stonetime(WIZ_BIFROST, uint8(MONSTER_SQUARD)); + stonetime << uint16(m_RemainEventZone); + Send(&stonetime); + } + else + return; +} + +void CUser::PlayerRankingProcess(uint16 ZoneID, bool RemoveInZone) +{ + if(m_bZoneChangeSameZone) + return; + + if (ZoneID == ZONE_ARDREAM + || ZoneID == ZONE_RONARK_LAND_BASE + || ZoneID == ZONE_PVP_EVENT + || ZoneID == ZONE_RONARK_LAND + || ZoneID == ZONE_BORDER_DEFENSE_WAR + || ZoneID == ZONE_CHAOS_DUNGEON + || ZoneID == ZONE_JURAD_MOUNTAIN) + { + if (RemoveInZone) + RemovePlayerRank(); + else + { + RemovePlayerRank(); + AddPlayerRank(ZoneID); + } + } + else + RemovePlayerRank(); +} + +void CUser::AddPlayerRank(uint16 ZoneID) +{ + m_iLoyaltyDaily = 0; + m_iLoyaltyPremiumBonus = 0; + m_KillCount = 0; + m_DeathCount = 0; + + _USER_RANKING * pData = new _USER_RANKING; + + pData->m_socketID = GetSocketID(); + pData->m_iLoyaltyDaily = m_iLoyaltyDaily; + pData->m_iLoyaltyPremiumBonus = m_iLoyaltyPremiumBonus; + pData->m_KillCount = 0; + pData->m_DeathCount = 0; + pData->pUser = this; + + if (!g_pMain->m_UserRankingArray[GetNation() - 1].PutData(pData->m_socketID, pData)) + delete pData; +} + +void CUser::RemovePlayerRank() +{ + if(GetNation() < 1 || GetNation() > 2) + return; + + g_pMain->m_UserRankingArray[GetNation() - 1].DeleteData(GetSocketID()); + +} + +void CUser::UpdatePlayerRank() +{ + if (isGM()) + return; + + _USER_RANKING * pRankInfo = g_pMain->m_UserRankingArray[GetNation() -1].GetData(GetSocketID()); + if (pRankInfo == nullptr) + return; + + pRankInfo->m_iLoyaltyDaily = m_iLoyaltyDaily; + pRankInfo->m_iLoyaltyPremiumBonus = m_iLoyaltyPremiumBonus; + pRankInfo->m_KillCount = m_KillCount; + pRankInfo->m_DeathCount = m_DeathCount; +} +/** +* @brief Changes the zone of all party members within the user's zone. +* If the user is not in a party, they should still be teleported. +* +* @param sNewZone ID of the new zone. +* @param x The x coordinate. +* @param z The z coordinate. +*/ +void CUser::ZoneChangeParty(uint16 sNewZone, float x, float z) +{ + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return ZoneChange(sNewZone, x, z); + + short partyUsers[MAX_PARTY_USERS]; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + partyUsers[i] = pParty->uid[i]; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(partyUsers[i]); + if (pUser != nullptr) + pUser->ZoneChange(sNewZone, x, z); + } +} +/** +* @brief Changes the zone of all clan members in home/neutral zones (including Eslant). +* If the user is not in a clan, they should not be teleported. +* +* @param sNewZone ID of the new zone. +* @param x The x coordinate. +* @param z The z coordinate. +*/ +void CUser::ZoneChangeClan(uint16 sNewZone, float x, float z) +{ + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights == nullptr) + return; + + for (int i = 0; i < MAX_CLAN_USERS; i++) + { + _KNIGHTS_USER * p = &pKnights->m_arKnightsUser[i]; + CUser * pUser = p->pSession; + if (p->byUsed && pUser != nullptr && pUser->GetZoneID() < ZONE_DELOS) + pUser->ZoneChange(sNewZone, x, z); + } +} + +void CUser::Warp(uint16 sPosX, uint16 sPosZ) +{ + ASSERT(GetMap() != nullptr); + if (m_bWarp) + return; + + float real_x = sPosX / 10.0f, real_z = sPosZ / 10.0f; + if (!GetMap()->IsValidPosition(real_x, real_z, 0.0f)) + { + TRACE("Invalid position %f,%f\n", real_x, real_z); + return; + } + + + + m_LastX = real_x; + m_LastZ = real_z; + + Packet result(WIZ_WARP); + result << sPosX << sPosZ; + Send(&result); + + + + UserInOut(INOUT_OUT); + + m_curx = real_x; + m_curz = real_z; + + Packet resul(AG_USER_MOVE); + resul << GetSocketID() << m_curx << m_curz << m_cury << int16(0); + Send_AIServer(&resul); + + SetRegion(GetNewRegionX(), GetNewRegionZ()); + + UserInOut(INOUT_WARP); + + + g_pMain->UserInOutForMe(this); + g_pMain->RegionNpcInfoForMe(this); + g_pMain->MerchantUserInOutForMe(this); + LastWarpTime = UNIXTIME; + + if(isSummonPet) + { + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc != nullptr) + { + newPet->m_pNpc->SendInOut(INOUT_OUT,newPet->m_pNpc->GetX(),newPet->m_pNpc->GetZ(),newPet->m_pNpc->GetY()); + SetPosition(m_curx,m_cury,m_curz); + newPet->m_pNpc->SendInOut(INOUT_IN,m_curx,m_cury,m_curz); + } + } + + ResetWindows(); +} + + +void CUser::RecvWarp(Packet & pkt) +{ + uint16 warp_x, warp_z; + pkt >> warp_x >> warp_z; + Warp(warp_x, warp_z); +} + +void CUser::RecvZoneChange(Packet & pkt) +{ + if (isDead()) // we also need to make sure we're actually waiting on this request... + return; + + uint8 opcode = pkt.read(); + if (opcode == ZoneChangeLoading) + { + g_pMain->RegionUserInOutForMe(this); + g_pMain->NpcInOutForMe(this); + g_pMain->MerchantUserInOutForMe(this); + + Packet result(WIZ_ZONE_CHANGE, uint8(ZoneChangeLoaded)); // finalise the zone change + Send(&result); + + } + else if (opcode == ZoneChangeLoaded) + { + UserInOut(INOUT_RESPAWN); + + // TODO: Fix all this up (it's too messy/confusing) + if (!m_bZoneChangeSameZone) + BlinkStart(); + + if (GetZoneID() != ZONE_CHAOS_DUNGEON) + { + InitType4(); + RecastSavedMagic(); + } + + m_bZoneChangeFlag = false; + m_bWarp = false; + + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnightsMaster = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + + if (GetZoneID() == ZONE_DELOS) + { + Packet result16(WIZ_SIEGE, uint8(2)); + result16.SByte(); + result16 << uint8((pKnightsMaster != nullptr && g_pMain->m_byBattleSiegeWarOpen ? 1 : 0) + 1)<< (pKnightsMaster != nullptr ? pKnightsMaster->GetID() : uint16(0)) << (pKnightsMaster != nullptr ? pKnightsMaster->m_sMarkVersion : uint16(0)) << uint16(0) + << uint32(g_pMain->m_byBattleSiegeWarOpen ? g_pMain->m_byBattleSiegeWarOccupy : 0) << uint16(g_pMain->m_byBattleSiegeWarOpen ? ((50 * MINUTE) - g_pMain->m_sBattleTimeDelay) : 0) + << (pKnightsMaster != nullptr ? pKnightsMaster->GetName() : std::string("")); + g_pMain->Send_Zone(&result16,ZONE_DELOS); + } + + } + else if (opcode == MilitaryCampChange) + { + + uint8 MilitaryCampID = pkt.read(); + + if (GetZoneID() != ZONE_MORADON + && GetZoneID() != ZONE_MORADONM2) + return; + if (MilitaryCampID != ZONE_MORADON + && MilitaryCampID != ZONE_MORADONM2) + return; + + if (MilitaryCampID == GetZoneID()) + return; + + ZoneChange(MilitaryCampID, 0.0f, 0.0f); + // Karus + // 1 1 + // 2 5 + // 3 6 + // Elmorad + // 1 2 + // 2 7 + // 3 8 + // Maradon + // 1 21 + // 2 22 + // 3 23 + // 4 24 + // 5 25 + // Elmorad Eslant + // 1 12 + // 2 15 + // 3 16 + // Karus Eslant + // 1 11 + // 2 13 + // 3 14 + + } +} \ No newline at end of file diff --git a/server/GameServer/CharacterSelectionHandler.cpp b/server/GameServer/CharacterSelectionHandler.cpp new file mode 100644 index 0000000..dd84200 --- /dev/null +++ b/server/GameServer/CharacterSelectionHandler.cpp @@ -0,0 +1,569 @@ +#include "stdafx.h" +#include "Map.h" +#include "DBAgent.h" +#include "../shared/DateTime.h" + +using std::string; + +void CUser::Login(Packet & pkt) +{ + Packet result(WIZ_GLOGIN, uint8(1)); + result << int32(0); + Send(&result); +} + + +void CUser::SelNationToAgent(Packet & pkt) +{ + Packet result(WIZ_SEL_NATION); + uint8 nation = pkt.read(); + if (nation != KARUS && nation != ELMORAD) + { + result << uint8(0); + Send(&result); + return; + } + + result << nation; + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::AllCharInfo(Packet &pkt) +{ + uint8 opcode = pkt.read(); + //TRACE("Opecode = %d", opcode); + + switch (opcode) + { + case 1: + AllCharInfoToAgent(); + break; + case 3: + CharacterLocationSend(); + break; + case 4: + CharacterLocationRecv(pkt); + break; + default: + TRACE("Unhandle AllCharInfo Opecode %d", opcode); + break; + } +} + +void CUser::AllCharInfoToAgent() +{ + Packet result(WIZ_ALLCHAR_INFO_REQ); + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::CharacterLocationSend() +{ + Packet result(WIZ_ALLCHAR_INFO_REQ, uint8(3)); + + string strCharID1, strCharID2, strCharID3, strCharID4; + + g_DBAgent.GetAllCharID(m_strAccountID, strCharID1, strCharID2, strCharID3, strCharID4); + + if(strCharID1.length() != 0) + result << strCharID1; + else + result << ""; + if(strCharID2.length() != 0) + result << strCharID2; + else + result << ""; + if(strCharID3.length() != 0) + result << strCharID3; + else + result << ""; + if(strCharID4.length() != 0) + result << strCharID4; + else + result << ""; + + Send(&result); +} + +void CUser::CharacterLocationRecv(Packet & pkt) +{ + uint8 Charpos1, Charpos2, Charpos3, Charpos4; + string strCharID1, strCharID2, strCharID3, strCharID4; + string ID1, ID2, ID3, ID4; + + Packet result(WIZ_ALLCHAR_INFO_REQ, uint8(4)); + + RobItem(ARRANGE_LINE); + + pkt >> Charpos1 >> Charpos2 >> Charpos3 >> Charpos4; + + g_DBAgent.GetAllCharID(m_strAccountID, strCharID1, strCharID2, strCharID3, strCharID4); + + if(strCharID1.length() != 0) + { + switch(Charpos1) + { + case 1: + ID1 = strCharID1; + break; + case 2: + ID2 = strCharID1; + break; + case 3: + ID3 = strCharID1; + break; + case 4: + ID4 = strCharID1; + break; + } + } + else + { + switch (Charpos1) + { + case 1: + case 2: + case 3: + case 4: + ID1 = ""; + break; + } + } + if(strCharID2.length() != 0) + { + switch(Charpos2) + { + case 1: + ID1 = strCharID2; + break; + case 2: + ID2 = strCharID2; + break; + case 3: + ID3 = strCharID2; + break; + case 4: + ID4 = strCharID2; + break; + } + } + else + { + switch (Charpos2) + { + case 1: + case 2: + case 3: + case 4: + ID2 = ""; + break; + } + } + if(strCharID3.length() != 0) + { + switch(Charpos3) + { + case 1: + ID1 = strCharID3; + break; + case 2: + ID2 = strCharID3; + break; + case 3: + ID3 = strCharID3; + break; + case 4: + ID4 = strCharID3; + break; + } + } + else + { + switch (Charpos3) + { + case 1: + case 2: + case 3: + case 4: + ID3 = ""; + break; + } + } + if(strCharID4.length() != 0) + { + switch(Charpos4) + { + case 1: + ID1 = strCharID4; + break; + case 2: + ID2 = strCharID4; + break; + case 3: + ID3 = strCharID4; + break; + case 4: + ID4 = strCharID4; + break; + } + } + else + { + switch (Charpos4) + { + case 1: + case 2: + case 3: + case 4: + ID4 = ""; + break; + } + } + + g_DBAgent.SetAllCharID(m_strAccountID, ID1, ID2, ID3, ID4); + + result << uint8(1); // 0 = Failed || 1 = Success + Send(&result); +} + + +void CUser::ChangeHair(Packet & pkt) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + std::string strUserID; + uint32 nHair; + uint8 bOpcode, bFace; + + // The opcode: + // 0 seems to be an in-game implementation for converting from old -> new hair data + // 2 seems to be used with the hair change item(?). + // Another note: there's 4 bytes at the end of the packet data that I can't account for (maybe a[nother] checksum?) + + pkt.SByte(); + pkt >> bOpcode >> strUserID >> bFace >> nHair; + + if (m_bSelectedCharacter){ + + if(CheckExistItem(810340000,1)){ + + m_bFace = bFace; + m_nHair = nHair; + RobItem(810340000,1); + + }else{ + return; + } + } + + Packet result(WIZ_CHANGE_HAIR); + result.SByte(); + + result << bOpcode << strUserID << bFace << nHair; + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::NewCharToAgent(Packet & pkt) +{ + Packet result(WIZ_NEW_CHAR); + uint32 nHair; + uint16 sClass; + uint8 bCharIndex, bRace, bFace, str, sta, dex, intel, cha, errorCode = 0; + std::string strUserID; + + pkt >> bCharIndex >> strUserID >> bRace >> sClass >> bFace >> nHair + >> str >> sta >> dex >> intel >> cha; + + _CLASS_COEFFICIENT* p_TableCoefficient = g_pMain->m_CoefficientArray.GetData(sClass); + + if (bCharIndex > 3) + errorCode = NEWCHAR_NO_MORE; + else if (p_TableCoefficient == nullptr + || (str + sta + dex + intel + cha) > 300) + errorCode = NEWCHAR_INVALID_DETAILS; + else if (str < 50 || sta < 50 || dex < 50 || intel < 50 || cha < 50) + errorCode = NEWCHAR_STAT_TOO_LOW; + else if(!g_pMain->WordGuardSystem(strUserID,strUserID.length())) + errorCode = NEWCHAR_BAD_NAME; + + if (errorCode != 0) + { + result << errorCode; + Send(&result); + return; + } + + result << bCharIndex + << strUserID << bRace << sClass << bFace << nHair + << str << sta << dex << intel << cha; + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::SelCharToAgent(Packet & pkt) +{ + Packet result(WIZ_SEL_CHAR); + std::string strUserID, strAccountID; + uint8 bInit; + + + pkt >> strAccountID >> strUserID >> bInit; + if (strAccountID.empty() || strAccountID.size() > MAX_ID_SIZE + || strUserID.empty() || strUserID.size() > MAX_ID_SIZE + || strAccountID != m_strAccountID) + { + Disconnect(); + return; + } + + + // Disconnect any currently logged in sessions. + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + + if (pUser && (pUser->GetSocketID() != GetSocketID())) + { + pUser->Disconnect(); + + // And reject the login attempt (otherwise we'll probably desync char data) + /*result << uint8(0); + Send(&result); + return;*/ + } + + result << strUserID << bInit; + + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::SelectCharacter(Packet & pkt) +{ + Packet result(WIZ_SEL_CHAR); + uint8 bResult, bInit; + + if (isBanned()) + { + Disconnect(); + return; + } + + pkt >> bResult >> bInit; + result << bResult; + + if (bResult == 0 || !GetZoneID()) + goto fail_return; + + m_pMap = g_pMain->GetZoneByID(GetZoneID()); + if (GetMap() == nullptr) + goto fail_return; + + if (g_pMain->m_nServerNo != GetMap()->m_nServerNo) + { + _ZONE_SERVERINFO *pInfo = g_pMain->m_ServerArray.GetData(GetMap()->m_nServerNo); + if (pInfo == nullptr) + goto fail_return; + + SendServerChange(pInfo->strServerIP, bInit); + return; + } + + if (!g_pMain->isWarOpen() && GetFame() == COMMAND_CAPTAIN) + m_bFame = CHIEF; + + // Disallow players from relogging in the opposite nation's home zone when an invasion's not running. + if (((GetZoneID() != GetNation() && GetZoneID() <= ZONE_ELMORAD && !g_pMain->m_byBattleOpen) + // also disallow players from logging back into war zones that aren't currently active... + || (GetMap()->isWarZone() && !g_pMain->m_byBattleOpen) + // Chaos, bdw and juraid montuain + || isInTempleEventZone() + || GetZoneID() == ZONE_STONE1 + || GetZoneID() == ZONE_STONE2 + || GetZoneID() == ZONE_STONE3 + // forgetten temple + || GetZoneID() == ZONE_FORGOTTEN_TEMPLE + // Event Zones + || (g_pMain->m_nEventZoneTime != 1 && GetZoneID() == ZONE_DARK_LAND) + || (g_pMain->m_nEventZoneTime != 5 && GetZoneID() == ZONE_ARDREAM) + || (g_pMain->m_nEventZoneTime != 2 && GetZoneID() == ZONE_PVP_EVENT) + || (g_pMain->m_nEventZoneTime != 3 && GetZoneID() == ZONE_RONARK_LAND_BASE) + || (g_pMain->m_nEventZoneTime != 4 && GetZoneID() == ZONE_LOST_TEMPLE) + // Ardream, Ronark Land Base, Ronark Land, Bifrost, Krowaz Dominion. + || ((g_pMain->m_byBattleOpen || (g_pMain->m_bEventZoneIsActive && g_pMain->m_nEventZoneTime == 5)) && (GetZoneID() == ZONE_RONARK_LAND + || GetZoneID() == ZONE_BIFROST))) && !isGM()) + { + NativeZoneReturn(); + Disconnect(); + return; + } + + SetLogInInfoToDB(bInit); + + result << GetZoneID() << GetSPosX() << GetSPosZ() << GetSPosY() << g_pMain->m_byOldVictory; + m_bSelectedCharacter = true; + Send(&result); + + SetUserAbility(false); + + if (GetLevel() > g_pMain->MAXLVLINI) + { + Disconnect(); + return; + } + + if (GetRebLevel() > 5) + { + printf("Player rebirth State bad, update to 4, Player name %s", GetName().c_str()); + m_reblvl = 4; + Disconnect(); + return; + } + + m_iMaxExp = (GetRebLevel() > 0 ? (g_pMain->GetExpByLevel(GetLevel()) * (GetRebLevel() + 1)) : g_pMain->GetExpByLevel(GetLevel())); + + SetRegion(GetNewRegionX(), GetNewRegionZ()); + + if(OfflineMerchant) + OfflineMerchant = false; + + if (GetClanID() == -1) + { + SetClanID(0); + m_bFame = 0; + return; + } + else if (GetClanID() != 0 + && GetZoneID() > 2) + { + result.Initialize(WIZ_KNIGHTS_PROCESS); + result << uint8(KNIGHTS_LIST_REQ) << GetClanID(); + g_pMain->AddDatabaseRequest(result, this); + } + return; + +fail_return: + Send(&result); +} + +void CUser::SendServerChange(std::string & ip, uint8 bInit) +{ + Packet result(WIZ_SERVER_CHANGE); + result << ip << uint16(g_pMain->m_GameServerPort) << bInit << GetZoneID() << g_pMain->m_byOldVictory; + Send(&result); +} + +// happens on character selection +void CUser::SetLogInInfoToDB(uint8 bInit) +{ + _ZONE_SERVERINFO *pInfo = g_pMain->m_ServerArray.GetData(g_pMain->m_nServerNo); + if (pInfo == nullptr) + { + Disconnect(); + return; + } + + Packet result(WIZ_LOGIN_INFO); + result << GetName() + << pInfo->strServerIP << uint16(g_pMain->m_GameServerPort) << GetRemoteIP() + << bInit; + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::RecvLoginInfo(Packet & pkt) +{ + int8 bResult = pkt.read(); + if (bResult < 0) + Disconnect(); +} + +// This packet actually contains the char name after the opcode +void CUser::GameStart(Packet & pkt) +{ + if (isInGame()) + return; + + uint8 opcode = pkt.read(); + + if (opcode == 1) + { + if ((m_LastOnline+3*DAY) < UNIXTIME) + m_bisReturnee = true; + else + m_bisReturnee = false; + + SendMyInfo(); + g_pMain->UserInOutForMe(this); + g_pMain->MerchantUserInOutForMe(this); + g_pMain->NpcInOutForMe(this); + HandleUserInfo(pkt); + SendNotice(); + TopSendNotice(); + SendTime(); + SendWeather(); + Packet result(WIZ_GAMESTART); + Send(&result); + } + else if (opcode == 2) + { + m_state = GAME_STATE_INGAME; + UserInOut(INOUT_RESPAWN); + + if (!m_bCity && m_sHp <= 0) + m_bCity = -1; + + if (m_bCity > 0) + { + int level = GetLevel(); + if (m_bCity <= 100) + level--; + + // make sure we don't exceed bounds + if (level > g_pMain->MAXLVLINI) + level = g_pMain->MAXLVLINI; + else if (level < 1) + level = 1; + + m_iLostExp = (g_pMain->GetExpByLevel(level) * (m_bCity % 10) / 100); + if (((m_bCity % 10) / 100) == 1) + m_iLostExp /= 2; + } + else + { + m_iLostExp = 0; + } + + BlinkStart(); + SetUserAbility(); + + // If we've relogged while dead, we need to make sure the client + // is still given the option to revive. + if (isDead()) + SendDeathAnimation(); + + g_pMain->TempleEventGetActiveEventTime(this); + + m_tGameStartTimeSavedMagic = UNIXTIME; + + m_LastX = GetX(); + m_LastZ = GetZ(); + } + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnights = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + + if (GetZoneID() == ZONE_DELOS ) + { + Packet result16(WIZ_SIEGE, uint8(2)); + result16.SByte(); + result16 << uint8((pKnights != nullptr && g_pMain->m_byBattleSiegeWarOpen ? 1 : 0) + 1)<< (pKnights != nullptr ? pKnights->GetID() : uint16(0)) << (pKnights != nullptr ? pKnights->m_sMarkVersion : uint16(0)) << uint16(0) + << uint32(g_pMain->m_byBattleSiegeWarOpen ? g_pMain->m_byBattleSiegeWarOccupy : 0) << uint16(g_pMain->m_byBattleSiegeWarOpen ? ((50 * MINUTE) - g_pMain->m_sBattleTimeDelay) : 0) + << (pKnights != nullptr ? pKnights->GetName() : std::string("")); + g_pMain->Send_Zone(&result16,ZONE_DELOS); + } + + m_tHPLastTimeNormal = UNIXTIME; +} \ No newline at end of file diff --git a/server/GameServer/ChatHandler.cpp b/server/GameServer/ChatHandler.cpp new file mode 100644 index 0000000..5489f05 --- /dev/null +++ b/server/GameServer/ChatHandler.cpp @@ -0,0 +1,1765 @@ +#include "stdafx.h" +#include "DBAgent.h" +#include "../shared/DateTime.h" +#include + +using std::string; + +ServerCommandTable CGameServerDlg::s_commandTable; +ChatCommandTable CUser::s_commandTable; + +void CGameServerDlg::InitServerCommands() +{ + static Command commandTable[] = + { + // Command Handler Help message + { "notice", &CGameServerDlg::HandleNoticeCommand, "Sends a server-wide chat notice." }, + { "noticeall", &CGameServerDlg::HandleNoticeallCommand, "Sends a server-wide chat notice." }, + { "kill", &CGameServerDlg::HandleKillUserCommand, "Disconnects the specified player" }, + { "open1", &CGameServerDlg::HandleWar1OpenCommand, "Opens war zone 1" }, + { "open2", &CGameServerDlg::HandleWar2OpenCommand, "Opens war zone 2" }, + { "open3", &CGameServerDlg::HandleWar3OpenCommand, "Opens war zone 3" }, + { "open4", &CGameServerDlg::HandleWar4OpenCommand, "Opens war zone 4" }, + { "open5", &CGameServerDlg::HandleWar5OpenCommand, "Opens war zone 5" }, + { "open6", &CGameServerDlg::HandleWar6OpenCommand, "Opens war zone 6" }, + { "openardream", &CGameServerDlg::HandleOpenArdreamCommand, "Opens war zone ardream" }, + { "opencz", &CGameServerDlg::HandleOpenCZCommand, "Opens war zone cz" }, + { "closeczevent", &CGameServerDlg::HandleCloseCZEventCommand, "Close war zone event" }, + { "closeardreamevent", &CGameServerDlg::HandleCloseArdreamEventCommand, "Close war zone event" }, + { "snowopen", &CGameServerDlg::HandleSnowWarOpenCommand, "Opens the snow war zone" }, + { "snowclose", &CGameServerDlg::HandleSnowWarCloseCommand, "Snow Closes the active snowwar zone" }, + { "siegewarfare", &CGameServerDlg::HandleSiegeWarOpenCommand, "Opens the Castle Siege War zone" }, + { "close", &CGameServerDlg::HandleWarCloseCommand, "Closes the active war zone" }, + { "down", &CGameServerDlg::HandleShutdownCommand, "Shuts down the server" }, + { "discount", &CGameServerDlg::HandleDiscountCommand, "Enables server discounts for the winning nation of the last war" }, + { "alldiscount", &CGameServerDlg::HandleGlobalDiscountCommand, "Enables server discounts for everyone" }, + { "offdiscount", &CGameServerDlg::HandleDiscountOffCommand, "Disables server discounts" }, + { "captain", &CGameServerDlg::HandleCaptainCommand, "Sets the captains/commanders for the war" }, + { "santa", &CGameServerDlg::HandleSantaCommand, "Enables a flying Santa Claus." }, + { "offsanta", &CGameServerDlg::HandleSantaOffCommand, "Disables a flying Santa Claus/angel." }, + { "angel", &CGameServerDlg::HandleAngelCommand, "Enables a flying angel." }, + { "offangel", &CGameServerDlg::HandleSantaOffCommand, "Disables a flying Santa Claus/angel." }, + { "permanent", &CGameServerDlg::HandlePermanentChatCommand, "Sets the permanent chat bar to the specified text." }, + { "offpermanent", &CGameServerDlg::HandlePermanentChatOffCommand, "Resets the permanent chat bar text." }, + { "reload_notice", &CGameServerDlg::HandleReloadNoticeCommand, "Reloads the in-game notice list." }, + { "reload_tables", &CGameServerDlg::HandleReloadTablesCommand, "Reloads the in-game tables." }, + { "reload_items", &CGameServerDlg::HandleItemTablesCommand, "Reloads the in-game tables." }, + { "reload_magics", &CGameServerDlg::HandleReloadMagicsCommand, "Reloads the in-game magic tables." }, + { "reload_bots", &CGameServerDlg::HandleReloadBotsCommand, "Reloads the in-game bot tables." }, + { "reload_quests", &CGameServerDlg::HandleReloadQuestCommand, "Reloads the in-game quest tables." }, + { "reload_ranks", &CGameServerDlg::HandleReloadRanksCommand, "Reloads the in-game rank tables." }, + { "reload_dupe", &CGameServerDlg::HandleReloadDupeCommand, "Reloads a tabela ITEMS_DUPE"}, + { "reload_ilegal", &CGameServerDlg::HandleReloadIlegalItemsCommand, "Reloads a tabela ILEGAL_ITEMS"}, + { "count", &CGameServerDlg::HandleCountCommand, "Get online user count." }, + { "permitconnect", &CGameServerDlg::HandlePermitConnectCommand, "Player unban" }, + { "give_item", &CGameServerDlg::HandleGiveItemCommand, "Gives a player an item. Arguments: character name | item ID | [optional stack size]" }, + { "exp_add", &CGameServerDlg::HandleExpAddCommand, "Sets the server-wide XP event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "np_add", &CGameServerDlg::HandleNPAddCommand, "Sets the server-wide NP event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "money_add", &CGameServerDlg::HandleMoneyAddCommand, "Sets the server-wide coin event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "tp_all", &CGameServerDlg::HandleTeleportAllCommand, "Players send to home zone." }, + { "warresult", &CGameServerDlg::HandleWarResultCommand, "Set result for War" }, + { "summonmonster", &CGameServerDlg::HandleMonSummonCommand, "Sets the server-wide coin event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + }; + + init_command_table(CGameServerDlg, commandTable, s_commandTable); +} + +void CGameServerDlg::CleanupServerCommands() { free_command_table(s_commandTable); } + +void CUser::InitChatCommands() +{ + static Command commandTable[] = + { + // Command Handler Help message + { "test", &CUser::HandleTestCommand, "Test command" }, + { "give_item", &CUser::HandleGiveItemCommand, "Gives a player an item. Arguments: character name | item ID | [optional stack size]" }, + { "zonechange", &CUser::HandleZoneChangeCommand, "Teleports you to the specified zone. Arguments: zone ID" }, + { "monsummon", &CUser::HandleMonsterSummonCommand, "Spawns the specified monster (does not respawn). Arguments: monster's database ID" }, + { "bot", &CUser::HandleBotSummonCommand, "Spawns the specified monster (does not respawn). Arguments: monster's database ID" }, + { "npcsummon", &CUser::HandleNPCSummonCommand, "Spawns the specified NPC (does not respawn). Arguments: NPC's database ID" }, + { "monkill", &CUser::HandleMonKillCommand, "Kill a NPC or Monster, Arguments: select an Npc and monster than use this command" }, + { "open1", &CUser::HandleWar1OpenCommand, "Opens war zone 1" }, + { "open2", &CUser::HandleWar2OpenCommand, "Opens war zone 2" }, + { "open3", &CUser::HandleWar3OpenCommand, "Opens war zone 3" }, + { "open4", &CUser::HandleWar4OpenCommand, "Opens war zone 4" }, + { "open5", &CUser::HandleWar5OpenCommand, "Opens war zone 5" }, + { "open6", &CUser::HandleWar6OpenCommand, "Opens war zone 6" }, + { "openardream", &CUser::HandleOpenArdreamCommand, "Opens war zone ardream" }, + { "opencz", &CUser::HandleOpenCZCommand, "Opens war zone cz" }, + { "closeczevent", &CUser::HandleCloseCZEventCommand, "Close war zone event" }, + { "closeardreamevent", &CUser::HandleCloseArdreamEventCommand, "Close war zone event" }, + { "captain", &CUser::HandleCaptainCommand, "Sets the captains/commanders for the war" }, + { "snowopen", &CUser::HandleSnowWarOpenCommand, "Opens the snow war zone" }, + { "snowclose", &CUser::HandleSnowWarCloseCommand, "Snow Closes the active Snowwar zone" }, + { "siegewarfare", &CUser::HandleSiegeWarOpenCommand, "Opens the Castle Siege War zone" }, + { "close", &CUser::HandleWarCloseCommand, "Closes the active war zone" }, + { "loyalty_change", &CUser::HandleLoyaltyChangeCommand, "Change a player an loyalty" }, + { "exp_change", &CUser::HandleExpChangeCommand, "Change a player an exp" }, + { "gold_change", &CUser::HandleGoldChangeCommand, "Change a player an gold" }, + { "exp_add", &CUser::HandleExpAddCommand, "Sets the server-wide XP event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "np_add", &CUser::HandleNPAddCommand, "Sets the server-wide NP event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "money_add", &CUser::HandleMoneyAddCommand, "Sets the server-wide coin event. If bonusPercent is set to 0, the event is ended. Arguments: bonusPercent" }, + { "permitconnect", &CUser::HandlePermitConnectCommand, "Player unban" }, + { "tp_all", &CUser::HandleTeleportAllCommand, "Players send to home zone." }, + { "summonknights", &CUser::HandleKnightsSummonCommand, "Teleport the clan users. Arguments: clan name" }, + { "warresult", &CUser::HandleWarResultCommand, "Set result for War"}, + { "resetranking", &CUser::HandleResetPlayerRankingCommand, "Reset player ranking. Arguments : Zone ID"}, + { "nptokc", &CUser::HandleNPtoKCCommand, "NP ile KC alabileceginiz sistem kullanim: +nptokc npmiktari"}, + { "goldtokc", &CUser::HandleGoldtoKCCommand, "Gold ile KC alabileceginiz sistem kullanim: +nptokc npmiktari"}, + + }; + + init_command_table(CUser, commandTable, s_commandTable); +} + +void CUser::CleanupChatCommands() { free_command_table(s_commandTable); } + +void CUser::Chat(Packet & pkt) +{ + Packet result; + uint16 sessID; + uint8 type = pkt.read(), bOutType = type, seekingPartyOptions, bNation; + string chatstr, finalstr, strSender, * strMessage, chattype; + CUser *pUser; + CKnights * pKnights; + DateTime time; + DWORD checknow = GetTickCount(); + + + if (!isGM()){ + if (m_mutetime > checknow) return;//süren dolmamış + + if (checknow-m_lastflood <= 1000) //birsaniyeden az // kontrol ediyim tekrar hata çıkmasın + { + floodcounter++; + if (floodcounter >= 5){ + floodcounter =0; + std::string buffer = string_format("[ PBACS ] Oyunda flood yapmak yasaktır! 20 saniyeliğine mutelendiniz"); + //adama mute yazısı gönderiyoz + m_mutetime = (checknow+20000); + ChatPacket::Construct(&result,PUBLIC_CHAT,&buffer); + Send(&result); + return; + } + }else floodcounter = 0; + m_lastflood = checknow;// tamam abi + } + //reyiz biz 1 saniyenin altında 5 + bool isAnnouncement = false; + + if (isMuted() || (GetZoneID() == ZONE_PRISON && !isGM())) + return; + + pkt >> chatstr; + if (chatstr.empty() || chatstr.size() > 128) + return; + + // Process GM & User chat commands + if (ProcessChatCommand(chatstr)) + { + if(isGM()) + chattype = "GAME MASTER"; + else + chattype = "CHAT COMMAND"; + + g_pMain->WriteGMLogFile(string_format("[ %s - %d:%d:%d ] %s : %s ( Zone=%d, X=%d, Z=%d )\n",chattype.c_str(),time.GetHour(),time.GetMinute(),time.GetSecond(),GetName().c_str(),chatstr.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + return; + } + + if (type == SEEKING_PARTY_CHAT) + pkt >> seekingPartyOptions; + + // Handle GM notice & announcement commands + if (type == PUBLIC_CHAT || type == ANNOUNCEMENT_CHAT) + { + // Trying to use a GM command without authorisation? Bad player! + if (!isGM()) + return; + + if (type == ANNOUNCEMENT_CHAT) + type = WAR_SYSTEM_CHAT; + + bOutType = type; + + // This is horrible, but we'll live with it for now. + // Pull the notice string (#### NOTICE : %s ####) from the database. + // Format the chat string around it, so our chat data is within the notice + g_pMain->GetServerResource(IDP_ANNOUNCEMENT, &finalstr, chatstr.c_str()); + isAnnouncement = true; + } + + + if (isAnnouncement) + { + // GM notice/announcements show no name, so don't bother setting it. + strMessage = &finalstr; // use the formatted message from the user + strSender = GetName(); + bNation = KARUS; // arbitrary nation + sessID = -1; + } + else + { + strMessage = &chatstr; // use the raw message from the user + strSender = GetName(); // everything else uses a name, so set it + bNation = GetNation(); + sessID = GetSocketID(); + } + + // GMs should use GM chat to help them stand out amongst players. + if (type == GENERAL_CHAT && isGM()) + bOutType = GM_CHAT; + + ChatPacket::Construct(&result, bOutType, strMessage, &strSender, bNation, sessID); + + switch (type) + { + case GENERAL_CHAT: + g_pMain->Send_NearRegion(&result, GetMap(), GetRegionX(), GetRegionZ(), GetX(), GetZ(),nullptr,GetEventRoom()); + chattype = "GENERAL_CHAT"; + break; + + case PRIVATE_CHAT: + { + pUser = g_pMain->GetUserPtr(m_sPrivateChatUser); + if (pUser == nullptr || !pUser->isInGame()) + return; + + chattype = "PRIVATE_CHAT"; + } + case COMMAND_PM_CHAT: + { + if (type == COMMAND_PM_CHAT && GetFame() != COMMAND_CAPTAIN) + return; + + pUser = g_pMain->GetUserPtr(m_sPrivateChatUser); + if (pUser != nullptr) + pUser->Send(&result); + } + break; + case PARTY_CHAT: + if (isInParty()) + { + g_pMain->Send_PartyMember(GetPartyID(), &result); + chattype = "PARTY_CHAT"; + } + break; + case SHOUT_CHAT: + if (m_sMp < (m_iMaxMp / 5)) + break; + + // Characters under level 35 require 3,000 coins to shout. + if (!isGM() + && GetLevel() < 35 + && !GoldLose(SHOUT_COIN_REQUIREMENT)) + break; + + MSpChange(-(m_iMaxMp / 5)); + SendToRegion(&result,nullptr,GetEventRoom()); + chattype = "SHOUT_CHAT"; + break; + case KNIGHTS_CHAT: + if (isInClan()) + { + pKnights = g_pMain->GetClanPtr(GetClanID()); + g_pMain->Send_KnightsMember(GetClanID(), &result); + chattype = "KNIGHTS_CHAT"; + } + break; + case CLAN_NOTICE: + if (isInClan() + && isClanLeader()) + { + pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights == nullptr) + return; + + pKnights->UpdateClanNotice(chatstr); + } + break; + case PUBLIC_CHAT: + case ANNOUNCEMENT_CHAT: + if (isGM()) + g_pMain->Send_All(&result); + break; + case COMMAND_CHAT: + if (GetFame() == COMMAND_CAPTAIN) + { + g_pMain->Send_CommandChat(&result, m_bNation, this); + chattype = "COMMAND_CHAT"; + } + break; + case MERCHANT_CHAT: + if (isMerchanting() && m_bMerchantStatex) + SendToRegion(&result,nullptr,GetEventRoom()); + break; + case ALLIANCE_CHAT: + if (isInClan()) + { + pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights != nullptr && pKnights->isInAlliance()) + g_pMain->Send_KnightsAlliance(pKnights->GetAllianceID(), &result); + chattype = "ALLIANCE_CHAT"; + } + break; + case WAR_SYSTEM_CHAT: + if (isGM()) + g_pMain->Send_All(&result); + break; + case SEEKING_PARTY_CHAT: + if (m_bNeedParty == 2) + { + Send(&result); + g_pMain->Send_Zone_Matched_Class(&result, GetZoneID(), this, GetNation(), seekingPartyOptions,GetEventRoom()); + } + break; + case NOAH_KNIGHTS_CHAT: + if(GetLevel() > 50 ) + break; + g_pMain->Send_Noah_Knights(&result); + chattype = "NOAH_KNIGHTS_CHAT"; + break; + case CHATROM_CHAT: + ChatRoomChat(strMessage,strSender); + chattype = "CHATROM_CHAT"; + break; + default: + printf("Unknow Chat : %d",type); + break; + } + + if (!chattype.empty()) + { + if (pUser && type == 2) + g_pMain->WriteChatLogFile(string_format("[ %s - %d:%d:%d ] %s > %s : %s ( Zone=%d, X=%d, Z=%d )\n",chattype.c_str(),time.GetHour(),time.GetMinute(),time.GetSecond(),strSender.c_str(),pUser->GetName().c_str(),chatstr.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + else if (pKnights && (type == 6 || type == 15)) + g_pMain->WriteChatLogFile(string_format("[ %s - %d:%d:%d ] %s > %s : %s ( Zone=%d, X=%d, Z=%d )\n",chattype.c_str(),time.GetHour(),time.GetMinute(),time.GetSecond(),strSender.c_str(),pKnights->GetName().c_str(),chatstr.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + else + g_pMain->WriteChatLogFile(string_format("[ %s - %d:%d:%d ] %s : %s ( Zone=%d, X=%d, Z=%d )\n",chattype.c_str(),time.GetHour(),time.GetMinute(),time.GetSecond(),strSender.c_str(),chatstr.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + } +} + +void CUser::ChatTargetSelect(Packet & pkt) +{ + uint8 type = pkt.read(); + + // TO-DO: Replace this with an enum + // Attempt to find target player in-game + if (type == 1) + { + Packet result(WIZ_CHAT_TARGET, type); + std::string strUserID; + pkt >> strUserID; + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE) + return; + + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if(pUser == this) + result << int16(0); + else if (pUser == nullptr) + { + CBot * pBot = g_pMain->GetBotPtr(strUserID, TYPE_CHARACTER); + + if (pBot == nullptr) + result << int16(0); + else if(pBot->isInGame()) + result << int16(1) << pBot->GetName(); + else + result << int16(0); + + + } + else if (pUser->isBlockingPrivateChat()) + result << int16(-1) << pUser->GetName(); + else + { + m_sPrivateChatUser = pUser->GetSocketID(); + result << int16(1) << pUser->GetName(); + } + Send(&result); + } + else if (type == 3) + { + //Questions + uint8 sSubType; + uint8 sMessageLen; + std::string sMessage; + pkt >> sSubType >> sMessageLen >> sMessage; + } + // Allow/block PMs + else + { + m_bBlockPrivateChat = pkt.read(); + } +} + +/** +* @brief Sends a notice to all users in the current zone +* upon death. +* +* @param pKiller The killer. +*/ +void CUser::SendDeathNotice(Unit * pKiller, DeathNoticeType noticeType) +{ + if (pKiller == nullptr) + return; + + Packet result(WIZ_CHAT, uint8(DEATH_NOTICE)); + + result.SByte(); + result << GetNation() + << uint8(noticeType) + << pKiller->GetID() // session ID? + << pKiller->GetName() + << GetID() // session ID? + << GetName() + << uint16(GetX()) << uint16(GetZ()); + + if(GetZoneID() == 21 || GetZoneID() == 22) + g_pMain->Send_NearRegion(&result,GetMap(),GetRegionX(),GetRegionZ(),GetX(),GetZ(),nullptr,GetEventRoom()); + else + SendToZone(&result,this,pKiller->GetEventRoom(),((isInArena() || isInPartyArena()) ? RANGE_20M : 0.0f)); +} + +bool CUser::ProcessChatCommand(std::string & message) +{ + // Commands require at least 2 characters + if (message.size() <= 1 + // If the prefix isn't correct + || message[0] != CHAT_COMMAND_PREFIX + // or if we're saying, say, ++++ (faster than looking for the command in the map) + || message[1] == CHAT_COMMAND_PREFIX) + // we're not a command. + return false; + + // Split up the command by spaces + CommandArgs vargs = StrSplit(message, " "); + std::string command = vargs.front(); // grab the first word (the command) + vargs.pop_front(); // remove the command from the argument list + + // Make the command lowercase, for 'case-insensitive' checking. + STRTOLOWER(command); + + // Command doesn't exist + ChatCommandTable::iterator itr = s_commandTable.find(command.c_str() + 1); // skip the prefix character + if (itr == s_commandTable.end()) + return false; + + // Run the command + return (this->*(itr->second->Handler))(vargs, message.c_str() + command.size() + 1, itr->second->Help); +} + +long getFileSize(FILE *file) +{ + long lCurPos, lEndPos; + lCurPos = ftell(file); + fseek(file, 0, 2); + lEndPos = ftell(file); + fseek(file, lCurPos, 0); + return lEndPos; +} + +COMMAND_HANDLER(CUser::HandleTestCommand) +{ + if (!isGM()) + return false; + + // OpCode | Send Type + if (vargs.size() < 1) + { + g_pMain->SendHelpDescription(this, "Using Sample : +send OpCode | SendType"); + return true; + } + + uint8 WizCode = 0; + uint8 Type = 1; + + WizCode = atoi(vargs.front().c_str()); + vargs.pop_front(); + + if (!vargs.empty()) + { + Type = atoi(vargs.front().c_str()); + vargs.pop_front(); + } + + auto filePath = "Packet.bin"; + BYTE * fileBuf; + FILE * file = nullptr; + + if ((file = fopen(filePath, "rb")) == nullptr) + return true; + + auto fileSize = getFileSize(file); + fileBuf = new BYTE[fileSize]; + fread(fileBuf, fileSize, 1, file); + + Packet result(WizCode); + for (long i = 0; i < fileSize; i++) + result << fileBuf[i]; + + if (Type == 1) + Send(&result); + else if(Type == 2) + g_pMain->Send_All(&result); + + delete[]fileBuf; + fclose(file); + + return true; +} + +COMMAND_HANDLER(HandleNPtoKCCommand); +COMMAND_HANDLER(HandleGoldtoKCCommand); +COMMAND_HANDLER(CUser::HandleWarResultCommand) { return !isGM() ? false : g_pMain->HandleWarResultCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWarResultCommand) +{ + // Nation number + if (vargs.size() < 1) + { + // send description + printf("Using Sample : +warresult 1/2 (KARUS/HUMAN)\n"); + return true; + } + + if (!isWarOpen()) + { + // send description + printf("Warning : Battle is not open.\n"); + return true; + } + + uint8 winner_nation; + winner_nation = atoi(vargs.front().c_str()); + + if (winner_nation > 0 && winner_nation < 3) + BattleZoneResult(winner_nation); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleGiveItemCommand) + { + // Char name | item ID | [stack size] + if (vargs.size() < 2) + { + // send description + printf("Using Sample : /give_item CharacterName ItemID StackSize.\n"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + printf("Error : User is not online"); + return true; + } + + uint32 nItemID = atoi(vargs.front().c_str()); + vargs.pop_front(); + _ITEM_TABLE *pItem = g_pMain->GetItemPtr(nItemID); + if (pItem == nullptr) + { + // send error message saying the item does not exist + return true; + } + + uint16 sCount = 1; + if (!vargs.empty()) + { + sCount = atoi(vargs.front().c_str()); + vargs.pop_front(); + } + + uint32 Time = 0; + if (!vargs.empty()) + Time = atoi(vargs.front().c_str()); + + + if (!pUser->GiveItem(nItemID, sCount, true, Time)) + { + // send error message saying the item couldn't be added + } + + return true; +} + +COMMAND_HANDLER(CUser::HandleGiveItemCommand) +{ + if (!isGM()) + return false; + + // Char name | item ID | [stack size] + if (vargs.size() < 2) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +mind_start CharacterName ItemID StackSize"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + g_pMain->SendHelpDescription(this, "Error : User is not online"); + return true; + } + + uint32 nItemID = atoi(vargs.front().c_str()); + vargs.pop_front(); + _ITEM_TABLE *pItem = g_pMain->GetItemPtr(nItemID); + if (pItem == nullptr) + { + // send error message saying the item does not exist + return true; + } + + uint16 sCount = 1; + if (!vargs.empty()) + { + sCount = atoi(vargs.front().c_str()); + vargs.pop_front(); + } + + uint32 Time = 0; + if (!vargs.empty()) + Time = atoi(vargs.front().c_str()); + + + if (!pUser->GiveItem(nItemID, sCount, true, Time)) + g_pMain->SendHelpDescription(this, "Error : Item couldn't be added"); + + return true; +} + +COMMAND_HANDLER(CUser::HandleZoneChangeCommand) +{ + if (!isGM()) + return false; + + if (vargs.empty()) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +zonechange ZoneNumber EventRoom"); + return true; + } + + // Behave as in official (we'll fix this later) + int nZoneID = atoi(vargs.front().c_str()); + int nEventRoom; + if (vargs.size() == 2) + { + vargs.pop_front(); + nEventRoom = atoi(vargs.front().c_str()); + } + + _START_POSITION * pStartPosition = g_pMain->GetStartPosition(nZoneID); + if (pStartPosition == nullptr) + return false; + + if ( nEventRoom > MAX_MONSTER_STONE_EVENT_ROOM ) + nEventRoom=0; + + ZoneChange(nZoneID, + (float)(GetNation() == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX + myrand(0, pStartPosition->bRangeX)), + (float)(GetNation() == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ + myrand(0, pStartPosition->bRangeZ)),nEventRoom); + + g_pMain->SendHelpDescription(this, string_format("Your new event room is: %d",nEventRoom)); + return true; +} + +COMMAND_HANDLER(CUser::HandleMonsterSummonCommand) +{ + if (!isGM()) + return false; + + if (vargs.empty()) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +monsummon MonsterSID Count"); + return true; + } + + int sSid = 0; + uint16 sCount = 1; + + if (vargs.size() == 1) + sSid = atoi(vargs.front().c_str()); + + if (vargs.size() == 2) + { + sSid = atoi(vargs.front().c_str()); + vargs.pop_front(); + sCount = atoi(vargs.front().c_str()); + } + + + g_pMain->SpawnEventNpc(sSid, true, GetZoneID(), GetX(), GetY(), GetZ(),sCount,2); + + return true; +} + +COMMAND_HANDLER(CUser::HandleBotSummonCommand) +{ + if (!isGM()) + return false; + + if (vargs.size() < 3) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +bot Time(AS MINUTE) ResType(1 Mining 2 Fishing 3 Standing 4 Sitting) minlevel"); + return true; + } + + int Minute = 0, Restie = 0, minlevel = 0; + + Minute = atoi(vargs.front().c_str()); + + vargs.pop_front(); + + Restie = atoi(vargs.front().c_str()); + + vargs.pop_front(); + + minlevel = atoi(vargs.front().c_str()); + + + if (!g_pMain->SpawnBot(Minute, GetZoneID(), GetX(), GetY(), GetZ(),Restie,minlevel)) + { + // send description + g_pMain->SendHelpDescription(this, "There isn't any available bot."); + return true; + } + g_pMain->SendHelpDescription(this, "Bot yollandi.."); + return true; +} + + + +COMMAND_HANDLER(CUser::HandleNPCSummonCommand) +{ + if (!isGM()) + return false; + + if (vargs.empty()) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +npcsummon NPCSID"); + return true; + } + + int sSid = atoi(vargs.front().c_str()); + g_pMain->SpawnEventNpc(sSid, false, GetZoneID(), GetX(), GetY(), GetZ()); + + return true; +} + +COMMAND_HANDLER(CUser::HandleMonKillCommand) +{ + if (!isGM()) + return false; + + if (GetTargetID() == 0 && GetTargetID() < NPC_BAND) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : Select a NPC or Monster than use +monkills"); + return false; + } + + CNpc *pNpc = g_pMain->GetNpcPtr(GetTargetID()); + + if (pNpc) + g_pMain->KillNpc(GetTargetID()); + + return true; +} + +bool CGameServerDlg::ProcessServerCommand(std::string & message) +{ + // Commands require at least 2 characters + if (message.size() <= 1 + // If the prefix isn't correct + || message[0] != SERVER_COMMAND_PREFIX) + // we're not a command. + return false; + + // Split up the command by spaces + CommandArgs vargs = StrSplit(message, " "); + std::string command = vargs.front(); // grab the first word (the command) + vargs.pop_front(); // remove the command from the argument list + + // Make the command lowercase, for 'case-insensitive' checking. + STRTOLOWER(command); + + // Command doesn't exist + ServerCommandTable::iterator itr = s_commandTable.find(command.c_str() + 1); // skip the prefix character + if (itr == s_commandTable.end()) + return false; + + // Run the command + return (this->*(itr->second->Handler))(vargs, message.c_str() + command.size() + 1, itr->second->Help); +} + +COMMAND_HANDLER(CGameServerDlg::HandleNoticeCommand) +{ + if (vargs.empty()) + return true; + + SendNotice(args); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleNoticeallCommand) +{ + if (vargs.empty()) + return true; + + SendAnnouncement(args); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleKillUserCommand) +{ + if (vargs.empty()) + { + // send description + printf("Using Sample : +kill CharacterName\n"); + return true; + } + + std::string strUserID = vargs.front(); + CUser *pUser = GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + printf("Error : User is not online\n"); + return true; + } + + // Disconnect the player + pUser->Disconnect(); + + // send a message saying the player was disconnected + return true; +} + + +COMMAND_HANDLER(CUser::HandleWar1OpenCommand) { return !isGM() ? false : g_pMain->HandleWar1OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar1OpenCommand) +{ + BattleZoneOpen(BATTLEZONE_OPEN, 1); + return true; +} + +COMMAND_HANDLER(CUser::HandleWar2OpenCommand) { return !isGM() ? false : g_pMain->HandleWar2OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar2OpenCommand) +{ + BattleZoneOpen(BATTLEZONE_OPEN, 2); + return true; +} + +COMMAND_HANDLER(CUser::HandleWar3OpenCommand) { return !isGM() ? false : g_pMain->HandleWar3OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar3OpenCommand) +{ + g_pMain->m_byBattleZoneType = ZONE_ARDREAM; + BattleZoneOpen(BATTLEZONE_OPEN, 3); + return true; +} + +COMMAND_HANDLER(CUser::HandleWar4OpenCommand) { return !isGM() ? false : g_pMain->HandleWar4OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar4OpenCommand) +{ + BattleZoneOpen(BATTLEZONE_OPEN, 4); + return true; +} +COMMAND_HANDLER(CUser::HandleSnowWarCloseCommand) { return !isGM() ? false : g_pMain->HandleSnowWarCloseCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleSnowWarCloseCommand) +{ + SnowBattleZoneClose(); + return true; +} +COMMAND_HANDLER(CUser::HandleWar5OpenCommand) { return !isGM() ? false : g_pMain->HandleWar5OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar5OpenCommand) +{ + BattleZoneOpen(BATTLEZONE_OPEN, 5); + return true; +} + +COMMAND_HANDLER(CUser::HandleWar6OpenCommand) { return !isGM() ? false : g_pMain->HandleWar6OpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWar6OpenCommand) +{ + BattleZoneOpen(BATTLEZONE_OPEN, 6); + return true; +} + +COMMAND_HANDLER(CUser::HandleOpenArdreamCommand) { return !isGM() ? false : g_pMain->HandleOpenArdreamCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleOpenArdreamCommand) +{ + ArdreamEventOpen(); + g_pMain->m_byEventOpenedTime = int32(UNIXTIME); + g_pMain->m_byEventRemainingTime = g_pMain->m_byEventTime; + g_pMain->m_sEventTimeDelay = 0; + return true; +} + +COMMAND_HANDLER(CUser::HandleOpenCZCommand) { return !isGM() ? false : g_pMain->HandleOpenCZCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleOpenCZCommand) +{ + CZEventOpen(); + g_pMain->m_byEventOpenedTime = int32(UNIXTIME); + g_pMain->m_byEventRemainingTime = g_pMain->m_byEventTime; + g_pMain->m_sEventTimeDelay = 0; + return true; +} + +COMMAND_HANDLER(CUser::HandleCloseArdreamEventCommand) { return !isGM() ? false : g_pMain->HandleCloseArdreamEventCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleCloseArdreamEventCommand) +{ + ArdreamEventZoneClose(); + return true; +} +COMMAND_HANDLER(CUser::HandleCloseCZEventCommand) { return !isGM() ? false : g_pMain->HandleCloseCZEventCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleCloseCZEventCommand) +{ + CZEventZoneClose(); + return true; +} + + +COMMAND_HANDLER(CUser::HandleSnowWarOpenCommand) { return !isGM() ? false : g_pMain->HandleSnowWarOpenCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleSnowWarOpenCommand) +{ + BattleZoneOpen(SNOW_BATTLEZONE_OPEN); + return true; +} + +COMMAND_HANDLER(CUser::HandleSiegeWarOpenCommand) +{ + if (vargs.size() < 1) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +siegewarfare Time(Minute)"); + return true; + } + + return !isGM() ? false : g_pMain->HandleSiegeWarOpenCommand(vargs, args, description); +} +COMMAND_HANDLER(CGameServerDlg::HandleSiegeWarOpenCommand) +{ + + + + uint8 Time = atoi(vargs.front().c_str()); + CastleSiegeWarZoneOpen(CLAN_BATTLE,Time); + return true; +} + +COMMAND_HANDLER(CUser::HandleWarCloseCommand) { return !isGM() ? false : g_pMain->HandleWarCloseCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleWarCloseCommand) +{ + BattleZoneClose(); + return true; +} + +COMMAND_HANDLER(CUser::HandleLoyaltyChangeCommand) +{ + if (!isGM()) + return false; + + // Char name | loyalty + if (vargs.size() < 2) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +np_change CharacterName Loyalty(+/-)"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + g_pMain->SendHelpDescription(this, "Error : User is not online"); + return true; + } + + uint32 nLoyalty = atoi(vargs.front().c_str()); + + if (nLoyalty != 0) + pUser->SendLoyaltyChange(nLoyalty, false); + + return true; +} + +COMMAND_HANDLER(CUser::HandleExpChangeCommand) +{ + if (!isGM()) + return false; + + // Char name | exp + if (vargs.size() < 2) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +exp_change CharacterName Exp(+/-)"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + g_pMain->SendHelpDescription(this, "Error : User is not online"); + return true; + } + + int64 nExp = atoi(vargs.front().c_str()); + + if (nExp != 0) + pUser->ExpChange(nExp); + + return true; +} + +COMMAND_HANDLER(CUser::HandleGoldChangeCommand) +{ + if (!isGM()) + return false; + + // Char name | coins + if (vargs.size() < 2) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +gold_change CharacterName Gold(+/-)"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + g_pMain->SendHelpDescription(this, "Error : User is not online"); + return true; + } + + uint32 nGold = atoi(vargs.front().c_str()); + + if (nGold != 0) + { + if (nGold > 0) + pUser->GoldGain(nGold); + else + pUser->GoldLose(nGold); + } + + return true; +} + +// Starts/stops the server XP event & sets its server-wide bonus. +COMMAND_HANDLER(CUser::HandleExpAddCommand) { return !isGM() ? false : g_pMain->HandleExpAddCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleExpAddCommand) +{ + // Expects the bonus XP percent, e.g. '+exp_add' for a +15 XP boost. + if (vargs.empty()) + return true; + + + g_pMain->m_byExpEventAmount = (uint8) atoi(vargs.front().c_str()); + + // Don't send the announcement if we're turning the event off. + if (g_pMain->m_byExpEventAmount == 0) + return true; + + g_pMain->SendFormattedResource(IDS_EXP_REPAY_EVENT, Nation::ALL, false, g_pMain->m_byExpEventAmount); + return true; +} + +// Starts/stops the server NP event & sets its server-wide bonus. +COMMAND_HANDLER(CUser::HandleNPAddCommand) { return !isGM() ? false : g_pMain->HandleNPAddCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleNPAddCommand) +{ + // Expects the bonus np percent, e.g. '+np_add' for a +15 np boost. + if (vargs.empty()) + return true; + + g_pMain->m_byNPEventAmount = (uint8) atoi(vargs.front().c_str()); + + // Don't send the announcement if we're turning the event off. + if (g_pMain->m_byNPEventAmount == 0) + return true; + + g_pMain->SendFormattedResource(IDS_NP_REPAY_EVENT, Nation::ALL, false, g_pMain->m_byNPEventAmount); + return true; +} + +// Starts/stops the server coin event & sets its server-wide bonus. +COMMAND_HANDLER(CUser::HandleMoneyAddCommand) { return !isGM() ? false : g_pMain->HandleMoneyAddCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleMoneyAddCommand) +{ + // Expects the bonus coin percent, e.g. '+money_add' for a +15 dropped coin boost. + if (vargs.empty()) + return true; + + g_pMain->m_byCoinEventAmount = (uint8) atoi(vargs.front().c_str()); + + // Don't send the announcement if we're turning the event off. + if (g_pMain->m_byCoinEventAmount == 0) + return true; + + g_pMain->SendFormattedResource(IDS_MONEY_REPAY_EVENT, Nation::ALL, false, g_pMain->m_byCoinEventAmount); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleMonSummonCommand) +{ + if (vargs.size() < 1) + { + // send description + printf("Using Sample : /monsummon MonsterID Zoneid X Y R"); + return true; + } + int sSid = 0; + int nZoneID = 0; + int nX = 0; + int nZ = 0; + int nR = 0; + + + if (vargs.size() == 1) + sSid = atoi(vargs.front().c_str()); + + if (vargs.size() == 2) + { + sSid = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZoneID = atoi(vargs.front().c_str()); + } + + if (vargs.size() == 3) + { + sSid = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZoneID = atoi(vargs.front().c_str()); + vargs.pop_front(); + nX = atoi(vargs.front().c_str()); + } + + if (vargs.size() == 4) + { + sSid = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZoneID = atoi(vargs.front().c_str()); + vargs.pop_front(); + nX = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZ = atoi(vargs.front().c_str()); + } + + if (vargs.size() == 5) + { + sSid = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZoneID = atoi(vargs.front().c_str()); + vargs.pop_front(); + nX = atoi(vargs.front().c_str()); + vargs.pop_front(); + nZ = atoi(vargs.front().c_str()); + vargs.pop_front(); + nR = atoi(vargs.front().c_str()); + } + + if (nZoneID > 0) + g_pMain->SpawnEventNpc(sSid, true, nZoneID, (float)nX, 0, (float)nZ, nR); + + return true; +} + +COMMAND_HANDLER(CUser::HandlePermitConnectCommand) { return !isGM() ? false : g_pMain->HandlePermitConnectCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandlePermitConnectCommand) +{ + // Char name + if (vargs.size() < 1) + { + // send description + printf("Using Sample : +permitconnect CharacterName\n"); + return true; + } + + std::string strUserID = vargs.front(); + vargs.pop_front(); + + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_PLAYER); + + std::string sNoticeMessage = string_format("%s has been unbanned..!", strUserID.c_str()); + + if (!sNoticeMessage.empty()) + g_pMain->SendNotice(sNoticeMessage.c_str(),Nation::ALL); + + return true; +} +COMMAND_HANDLER(CUser::HandleTeleportAllCommand) +{ + if (!isGM()) + return false; + + // Zone number + if (vargs.size() < 1) + { + // send description + g_pMain->SendHelpDescription(this, "Using Sample : +tp_all ZoneNumber | +tp_all ZoneNumber TargetZoneNumber"); + return true; + } + + int nZoneID = 0; + int nTargetZoneID = 0; + + if (vargs.size() == 1) + nZoneID = atoi(vargs.front().c_str()); + + if (vargs.size() == 2) + { + nZoneID = atoi(vargs.front().c_str()); + vargs.pop_front(); + nTargetZoneID = atoi(vargs.front().c_str()); + } + + if (nZoneID > 0 || nTargetZoneID > 0) + g_pMain->KickOutZoneUsers(nZoneID,nTargetZoneID); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleTeleportAllCommand) +{ + // Zone number + if (vargs.size() < 1) + { + // send description + printf("Using Sample : /tp_all ZoneNumber | /tp_all ZoneNumber TargetZoneNumber.\n"); + return true; + } + + int nZoneID = 0; + int nTargetZoneID = 0; + + if (vargs.size() == 1) + nZoneID = atoi(vargs.front().c_str()); + + if (vargs.size() == 2) + { + nZoneID = atoi(vargs.front().c_str()); + vargs.pop_front(); + nTargetZoneID = atoi(vargs.front().c_str()); + } + + if (nZoneID > 0 || nTargetZoneID > 0) + g_pMain->KickOutZoneUsers(nZoneID,nTargetZoneID); + return true; +} + +COMMAND_HANDLER(CUser::HandleKnightsSummonCommand) +{ + if (!isGM()) + return false; + + // Clan name + if(vargs.empty()) + { + // Send description + g_pMain->SendHelpDescription(this, "Using Sample : +summonknights ClanName"); + return true; + } + + CKnights * pKnights; + foreach_stlmap (itr,g_pMain->m_KnightsArray) + { + if(itr->second->GetName() == vargs.front().c_str()) + { + pKnights = g_pMain->GetClanPtr(itr->first); + break; + } + } + + if(pKnights == nullptr) + return true; + + foreach_array(i,pKnights->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pKnights->m_arKnightsUser[i]; + if (!p->byUsed || p->pSession == nullptr) + continue; + + CUser* pUser = p->pSession; + if(!pUser->isInGame() || pUser->GetName() == GetName()) + continue; + + pUser->ZoneChange(GetZoneID(), m_curx, m_curz); + } + + return true; +} + +COMMAND_HANDLER(CUser::HandleNPtoKCCommand) +{ + if(!g_pMain->KCaktifmi + || isMerchanting() + || isStoreOpen() + || isTrading() + || m_bMerchantStatex + || isDead()) + return true; + + if (vargs.size() < 1) + { + g_pMain->SendHelpDescription(this,"Example: +nptokc 1000"); + return true; + }else if (vargs.size() > 1) + { + g_pMain->SendHelpDescription(this,"Example: +nptokc 1000"); + return true; + + } + + + uint32 nLoyalty = atoi(vargs.front().c_str()); + + if (nLoyalty > 1000000) + { + g_pMain->SendHelpDescription(this,"You can't exchange more than 1 million NP."); + return true; + } + + int32 CLoyalty; + + if (nLoyalty < 1) + { + g_pMain->SendHelpDescription(this,"You can't exchange this much NP."); + return true; + } + + if(GetLoyalty() < nLoyalty){ + g_pMain->SendHelpDescription(this,"You haven't got this much NP."); + return true; + } + CLoyalty = nLoyalty; + if (CLoyalty%1000!=0){ + g_pMain->SendHelpDescription(this,"You can only exchange 1000,2000 or x000 NP."); + return true; + } + + + int32 ExchangeKC = (CLoyalty / 1000) * (g_pMain->KCmiktari); + + if (NpExchangeAsk && NpExchangeValue == CLoyalty) + { + g_pMain->SendHelpDescription(this,string_format("You earned [%d] Knight Cash!",ExchangeKC)); + SendLoyaltyChange(-CLoyalty,false,false,false); + g_DBAgent.UpdateAccountKnightCash(GetAccountName(),ExchangeKC); + g_DBAgent.UpdateUser(GetName(),UPDATE_LOGOUT,this); + } + else + { + g_pMain->SendHelpDescription(this,string_format("Do you really want to give [%d] loyalty for earn [%d] Knight Cash?",CLoyalty,ExchangeKC)); + g_pMain->SendHelpDescription(this,string_format("Rechat <+nptokc %d> to earn [%d] Knight Cash.",CLoyalty,ExchangeKC)); + NpExchangeAsk = 1; + NpExchangeValue = CLoyalty; + return true; + } + + return true; +} + +COMMAND_HANDLER(CUser::HandleGoldtoKCCommand) +{ + if(!g_pMain->KCaktifmi2 + || isMerchanting() + || isStoreOpen() + || isTrading() + || m_bMerchantStatex + || isDead()) + return true; + + if (vargs.size() < 1) + { + g_pMain->SendHelpDescription(this,"Example: +goldtokc 1000"); + return true; + }else if (vargs.size() > 1) + { + g_pMain->SendHelpDescription(this,"Example: +goldtokc 1000"); + return true; + + } + + + uint32 nGold = atoi(vargs.front().c_str()); + + if (nGold > 2100000000) + { + g_pMain->SendHelpDescription(this,"You can't exchange more than 2.1 Gold."); + return true; + } + + int32 CGold; + + if (nGold < 1) + { + g_pMain->SendHelpDescription(this,"You can't exchange this much Gold."); + return true; + } + + if(GetCoins() < nGold){ + g_pMain->SendHelpDescription(this,"You haven't got this much Gold."); + return true; + } + CGold = nGold; + if (CGold%100000000!=0) + { + g_pMain->SendHelpDescription(this,"You can only exchange 10000000,20000000 or xGB Gold."); + return true; + } + + + int32 ExchangeKC = (CGold / 100000000) * (g_pMain->KCmiktari2); + + if (GoldExchangeAsk && GoldExchangeValue == CGold) + { + g_pMain->SendHelpDescription(this,string_format("You earned [%d] Knight Cash!",ExchangeKC)); + GoldLose(CGold,true); + g_DBAgent.UpdateAccountKnightCash(GetAccountName(),ExchangeKC); + g_DBAgent.UpdateUser(GetName(),UPDATE_LOGOUT,this); + } + else + { + g_pMain->SendHelpDescription(this,string_format("Do you really want to give [%d] Gold for earn [%d] Knight Cash?",CGold,ExchangeKC)); + g_pMain->SendHelpDescription(this,string_format("Rechat <+goldtokc %d> to earn [%d] Knight Cash.",CGold,ExchangeKC)); + GoldExchangeAsk = 1; + GoldExchangeValue = CGold; + return true; + } + + return true; +} + + +COMMAND_HANDLER(CUser::HandleResetPlayerRankingCommand) +{ + if (!isGM()) + return false; + + // Zone ID + if(vargs.empty()) + { + // Send description + g_pMain->SendHelpDescription(this, "Using Sample : +resetranking ZoneID"); + return true; + } + + uint8 nZoneID; + nZoneID = atoi(vargs.front().c_str()); + + if (nZoneID > 0) + g_pMain->ResetPlayerRankings(nZoneID); + + return true; +} + + + +COMMAND_HANDLER(CGameServerDlg::HandleShutdownCommand) +{ + printf("Server shutdown, %d users kicked out.\n", KickOutAllUsers()); + m_socketMgr.Shutdown(); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleDiscountCommand) +{ + m_sDiscount = 1; + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleGlobalDiscountCommand) +{ + m_sDiscount = 2; + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleDiscountOffCommand) +{ + m_sDiscount = 0; + return true; +} + +COMMAND_HANDLER(CUser::HandleCaptainCommand) { return !isGM() ? false : g_pMain->HandleCaptainCommand(vargs, args, description); } +COMMAND_HANDLER(CGameServerDlg::HandleCaptainCommand) +{ + m_KnightsRatingArray[KARUS_ARRAY].DeleteAllData(); + m_KnightsRatingArray[ELMORAD_ARRAY].DeleteAllData(); + LoadKnightsRankTable(true, true); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleSantaCommand) +{ + m_bSantaOrAngel = FLYING_SANTA; + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleSantaOffCommand) +{ + m_bSantaOrAngel = FLYING_NONE; + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleAngelCommand) +{ + m_bSantaOrAngel = FLYING_ANGEL; + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandlePermanentChatCommand) +{ + if (vargs.empty()) + { + // send error saying we need args (unlike the previous implementation of this command) + return true; + } + + SetPermanentMessage("%s", args); + return true; +} + +void CGameServerDlg::SendHelpDescription(CUser *pUser, std::string sHelpMessage) +{ + if (pUser == nullptr || sHelpMessage == "") + return; + + Packet result(WIZ_CHAT, (uint8)PUBLIC_CHAT); + result << pUser->GetNation() << pUser->GetSocketID() << uint8(0) << sHelpMessage; + pUser->Send(&result); +} + +void CGameServerDlg::SetPermanentMessage(const char * format, ...) +{ + char buffer[128]; + va_list ap; + va_start(ap, format); + vsnprintf(buffer, 128, format, ap); + va_end(ap); + + m_bPermanentChatMode = true; + m_strPermanentChat = buffer; + + Packet result; + ChatPacket::Construct(&result, PERMANENT_CHAT, &m_strPermanentChat); + Send_All(&result); +} + +COMMAND_HANDLER(CGameServerDlg::HandlePermanentChatOffCommand) +{ + Packet result; + ChatPacket::Construct(&result, END_PERMANENT_CHAT); + m_bPermanentChatMode = false; + Send_All(&result); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadNoticeCommand) +{ + // Reload the notice data + LoadNoticeData(); + LoadNoticeUpData(); + + // and update all logged in players + // if we're using the new notice format that's always shown + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser->isInGame()) + pUser->SendNotice(); + pUser->TopSendNotice(); + } + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleItemTablesCommand) +{ + m_ItemtableArray.DeleteAllData(); + LoadItemTable(); + return true; +} +COMMAND_HANDLER(CGameServerDlg::HandleReloadTablesCommand) +{ + m_StartPositionArray.DeleteAllData(); + LoadStartPositionTable(); + + m_StartPositionRandomArray.DeleteAllData(); + LoadStartPositionRandomTable(); + + m_ItemExchangeArray.DeleteAllData(); + LoadItemExchangeTable(); + + m_ItemMiningArray.DeleteAllData(); + LoadItemMiningTable(); + + ACHIEVE_TITLE.DeleteAllData(); + LoadAchieveTitleTable(); + + ACHIEVE_COM.DeleteAllData(); + LoadAchieveComTable(); + + ACHIEVE_MAIN.DeleteAllData(); + LoadAchieveMainTable(); + + ACHIEVE_MONSTER.DeleteAllData(); + LoadAchieveMonsterTable(); + + ACHIEVE_NORMAL.DeleteAllData(); + LoadAchieveNormalTable(); + + ACHIEVE_WAR.DeleteAllData(); + LoadAchieveWarTable(); + + m_ItemUpgradeArray.DeleteAllData(); + LoadItemUpgradeTable(); + + m_EventTriggerArray.DeleteAllData(); + LoadEventTriggerTable(); + + m_ServerResourceArray.DeleteAllData(); + LoadServerResourceTable(); + + m_MonsterChallengeArray.DeleteAllData(); + LoadMonsterChallengeTable(); + + m_MonsterChallengeSummonListArray.DeleteAllData(); + LoadMonsterChallengeSummonListTable(); + + m_EventTimesArray.DeleteAllData(); + LoadEventTimesTable(); + + m_MonsterRespawnListArray.DeleteAllData(); + LoadMonsterRespawnListTable(); + + m_MonsterRespawnListInformationArray.DeleteAllData(); + LoadMonsterRespawnListInformationTable(); + + m_MonsterRespawnListRandomArray.DeleteAllData(); + LoadMonsterRespawnListRandomTable(); + + ReloadKnightAndUserRanks(); + + g_pMain->m_MerchantListArray.DeleteAllData(); + + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadMagicsCommand) +{ + m_IsMagicTableInUpdateProcess = true; + m_MagictableArray.DeleteAllData(); + m_Magictype1Array.DeleteAllData(); + m_Magictype2Array.DeleteAllData(); + m_Magictype3Array.DeleteAllData(); + m_Magictype4Array.DeleteAllData(); + m_Magictype5Array.DeleteAllData(); + m_Magictype6Array.DeleteAllData(); + m_Magictype8Array.DeleteAllData(); + m_Magictype9Array.DeleteAllData(); + LoadMagicTable(); + LoadMagicType1(); + LoadMagicType2(); + LoadMagicType3(); + LoadMagicType4(); + LoadMagicType5(); + LoadMagicType6(); + LoadMagicType7(); + LoadMagicType8(); + LoadMagicType9(); + m_IsMagicTableInUpdateProcess = false; + + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadBotsCommand) +{ + m_arBotArray.DeleteAllData(); + LoadBotTable(); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadQuestCommand) +{ + m_QuestHelperArray.DeleteAllData(); + LoadQuestHelperTable(); + m_QuestMonsterArray.DeleteAllData(); + LoadQuestMonsterTable(); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadRanksCommand) +{ + ReloadKnightAndUserRanks(); + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleCountCommand) +{ + uint16 count = 0, count2 = 0; + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + if (TO_USER(itr.second)->isInGame()) + count++; + + count2++; + } + + printf("Online User Count : %d,%d\n",count,int16(MAX_USER - count2)); + return true; + } + +void CGameServerDlg::SendFormattedResource(uint32 nResourceID, uint8 byNation, bool bIsNotice, ...) +{ + _SERVER_RESOURCE *pResource = m_ServerResourceArray.GetData(nResourceID); + if (pResource == nullptr) + return; + + string buffer; + va_list ap; + va_start(ap, bIsNotice); + _string_format(pResource->strResource, &buffer, ap); + va_end(ap); + + if (bIsNotice) + SendNotice(buffer.c_str(), byNation); + else + SendAnnouncement(buffer.c_str(), byNation); +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadDupeCommand) +{ + m_IsDupeUpdateProcess = true; + m_ItemDupersArray.DeleteAllData(); + LoadItemDuper(); + m_IsDupeUpdateProcess = false; + + return true; +} + +COMMAND_HANDLER(CGameServerDlg::HandleReloadIlegalItemsCommand) +{ + m_IlegalItemsUpdateProcess = true; + m_IlegalItemsArray.DeleteAllData(); + LoadIlegalItems(); + m_IlegalItemsUpdateProcess = false; + + return true; +} \ No newline at end of file diff --git a/server/GameServer/ChatHandler.h b/server/GameServer/ChatHandler.h new file mode 100644 index 0000000..06fd35c --- /dev/null +++ b/server/GameServer/ChatHandler.h @@ -0,0 +1,91 @@ +#pragma once + +class ChatPacket +{ +public: + // Construct a chat packet from the data provided + // NOTE: Using pointers here for more flexible input (references would be nice, but implementation can be fiddly) + static void Construct(Packet * result, uint8 bType, std::string * strMessage = nullptr, std::string * strSender = nullptr, + uint8 bNation = 1, int16 senderID = -1) + { + result->Initialize(WIZ_CHAT); + *result << bType << bNation << senderID; + + result->SByte(); + if (strSender == nullptr) *result << uint8(0); + else *result << *strSender; + + result->DByte(); + if (strMessage == nullptr) *result << uint16(0); + else *result << *strMessage; + } + + static void Construct(Packet * result, uint8 bType, const char * szMessage, const char * szSender = "", + uint8 bNation = 1, int16 senderID = -1) + { + std::string strSender = szSender, strMessage = szMessage; + Construct(result, bType, &strMessage, &strSender, bNation, senderID); + } +}; + +#define COMMAND_HANDLER(name) bool name (CommandArgs & vargs, const char *args, const char *description) + +typedef std::list CommandArgs; + +template +class Command +{ +public: + const char * Name; + COMMAND_HANDLER((T::*Handler)); + const char * Help; +}; + +INLINE void* allocate_and_copy(uint32 len, void * pointer) +{ + void * data = (void*)malloc(len); + if (data == nullptr) + return data; + + memcpy(data, pointer, len); + return data; +} + +#define init_command_table(t, command_table, command_map) \ + for (int i = 0; i < sizeof(command_table) / sizeof(*command_table); i++) \ + command_map.insert(std::make_pair(command_table[i].Name, (Command *)(allocate_and_copy(sizeof(*command_table), (void *)&command_table[i])))); + +#define free_command_table(command_map) \ + for (auto itr = command_map.begin(); itr != command_map.end(); ++itr) \ + delete itr->second; \ + command_map.clear(); + +static std::list StrSplit(const std::string &src, const std::string &sep) +{ + std::list r; + std::string s; + for (std::string::const_iterator i = src.begin(); i != src.end(); ++i) + { + if (sep.find(*i) != std::string::npos) + { + if (!s.empty()) + r.push_back(s); + s = ""; + } + else + { + s += *i; + } + } + if (!s.empty()) + r.push_back(s); + return r; +} + +#include +class CGameServerDlg; +typedef std::map *> ChatCommandTable; +typedef std::map *> ServerCommandTable; + +#define CHAT_COMMAND_PREFIX '+' +#define SERVER_COMMAND_PREFIX '/' diff --git a/server/GameServer/ChatRoomHandler.cpp b/server/GameServer/ChatRoomHandler.cpp new file mode 100644 index 0000000..8ac7b2e --- /dev/null +++ b/server/GameServer/ChatRoomHandler.cpp @@ -0,0 +1,321 @@ +#include "stdafx.h" + +enum Chatroomopcodes +{ + CHATROOM_LIST = 0x04, + CHATROOM_CREATE = 0x05, + CHATROOM_JOIN = 0x06, + CHATROOM_LEAVE = 0x07, + CHATROOM_SEARCH = 0x08, + CHATROOM_UPDATECONFIG = 0x09, + CHATROOM_MEMBEROPTION = 0x0B, + CHATROOM_ADMIN = 0x0C, + + CHATROOM_MANUEL = 0x0B +}; + +void CUser::ChatRoomHandle(Packet & pkt ) +{ + uint8 chatroomManuel = pkt.read(); + + if(chatroomManuel != CHATROOM_MANUEL) + return; + + uint8 opcode = pkt.read(); + + switch(opcode) + { + case CHATROOM_LIST: + ChatRoomList(pkt); + break; + case CHATROOM_CREATE: + ChatRoomCreate(pkt); + break; + case CHATROOM_JOIN: + ChatRoomJoin(pkt); + break; + case CHATROOM_LEAVE: + ChatroomLeave(pkt); + break; + case CHATROOM_ADMIN: + ChatroomAdmin(pkt); + break; + case CHATROOM_MEMBEROPTION: + ChatroomMemberoption(pkt); + break; + default: + printf("Chatroom Handle Unknow : %d\n",opcode); + break; + } +} + + +void CUser::ChatRoomList(Packet & pkt) +{ + Packet result(WIZ_NATION_CHAT,uint8(0x0B)); + + uint16 count = 0; + result << uint8(CHATROOM_LIST) << uint16(count); + result.DByte(); + //190B04 0100 0200 0500 726573756C 00 01 00 0100 0A00 + foreach_stlmap(itr, g_pMain->m_ChatRoomArray) + { + _CHAT_ROOM* pChatRoom = itr->second; + + if(pChatRoom == nullptr) + continue; + + result << uint16(++count) + << pChatRoom->strRoomName + << uint8(pChatRoom->isPassword()) + << pChatRoom->m_bRoomNation + << uint8(0) + << pChatRoom->m_sCurrentUser + << pChatRoom->m_sMaxUser; + } + + result.put(2,count); + + Send(&result); +} + +void CUser::ChatRoomCreate(Packet & pkt ) +{ + if(m_ChatRoomIndex < 1 ) + return; + + Packet result(WIZ_NATION_CHAT,uint8(0x0B)); + + uint8 isPassword,unk,m_bResult; + uint16 RoomSize; + std::string strRoomName , strPassword; + + strPassword.empty(); + + pkt.DByte(); + pkt >> strRoomName >> isPassword ; + + m_bResult = 0; + + if(isPassword != 0) + pkt >> strPassword; + else + pkt >> unk; + + pkt >> RoomSize; + + _CHAT_ROOM* m_pRoom = new _CHAT_ROOM(); + + m_pRoom->strRoomName = strRoomName; + m_pRoom->m_bRoomNation = GetNation(); + m_pRoom->strAdministrator = m_strUserID; + m_pRoom->m_sMaxUser = 10; + m_pRoom->strPassword = strPassword; + m_pRoom->nIndex = g_pMain->m_ChatRoomArray.GetSize() +1; + m_pRoom->m_sCurrentUser = 0; + + if(!m_pRoom->AddUser(m_strUserID)) + { + printf("Room creation fail 1\n"); + delete m_pRoom; + goto return_fail; + } + + bool check = false; + foreach_stlmap_nolock(itr,g_pMain->m_ChatRoomArray) + { + if(itr->second != nullptr && itr->second->strRoomName == strRoomName) + { + check = true; + break; + } + } + + if(!g_pMain->m_ChatRoomArray.PutData(m_pRoom->nIndex,m_pRoom) || check) + { + printf("Room creation fail 2\n"); + delete m_pRoom; + goto return_fail; + } + + m_ChatRoomIndex = m_pRoom->nIndex; + + //190B 05 01 0200 0500 72 65 73 75 6C 00 0100 0A00 00000000 + + result << uint8(0x05) << uint8(1) << uint16(m_pRoom->nIndex) << m_pRoom->strRoomName << uint8(isMeChatroom(m_pRoom->nIndex)) << m_pRoom->m_sCurrentUser << m_pRoom->m_sMaxUser << uint32(0); + + Send(&result); + return; + +return_fail: + result << uint8(0x05) << uint8(0); + Send(&result); +} + +void CUser::ChatRoomJoin(Packet & pkt) +{ + /*Result opcedes + * 0 = Successfully + * 1 = Already in room + * 2 = Room does not exit ! + * 3 = Password lenght is correct + * 4 = Password does not match + * 5 = Nation do not match */ + + uint16 roomID ; + uint8 isPassword ; + std::string strPassword ; + + pkt >> roomID >> isPassword >> strPassword; + + _CHAT_ROOM* pRoom = g_pMain->m_ChatRoomArray.GetData(roomID); + + uint8 nResult = 0; + + if(g_pMain->m_ChatRoomArray.GetData(roomID) != nullptr) + pRoom->m_UserList.erase(roomID); + + if(pRoom == nullptr || + pRoom->m_sMaxUser < pRoom->m_sCurrentUser+1) + nResult = 2; + + if(pRoom->isPassword() && + STRCASECMP(strPassword.c_str(), pRoom->strPassword.c_str()) != 0) + nResult = 4; + + if(!pRoom->AddUser(GetName())) + nResult = 2; + + Packet result(WIZ_NATION_CHAT, uint8(CHATROOM_MANUEL)); + + result << uint8(CHATROOM_JOIN) << nResult << roomID; + + Send(&result); + + if(nResult == 0) + m_ChatRoomIndex = pRoom->nIndex; +} + +void CUser::ChatroomLeave(Packet & pkt) +{ + uint16 RoomID = pkt.read(); + _CHAT_ROOM* pRoom = g_pMain->m_ChatRoomArray.GetData(RoomID); + + if(pRoom == nullptr) + return; + + // Kullanıcıları odadan atma + + if(pRoom->isAdministrator(GetName()) == 2 ) + g_pMain->m_ChatRoomArray.DeleteData(RoomID); + + Packet result(WIZ_NATION_CHAT, uint8(CHATROOM_MANUEL)); + + result << uint8(CHATROOM_LEAVE) << uint8(0); + + Send(&result); +} + +void CUser::ChatRoomChat(std::string * strMessage, std::string strSender) +{ + CUser* pUser = g_pMain->GetUserPtr(strSender, TYPE_CHARACTER); + + if(pUser == nullptr) + return; + + Packet result(WIZ_CHAT,uint8(CHATROM_CHAT)); + result.DByte(); + result << uint8(0) << pUser->GetSocketID() << pUser->GetName() << *strMessage << pUser->GetZoneID(); + //10 21 00 0701 0B00 7370656369616C6C697374 0600 74656B726172 15 + + + + SendChatRoom(result); +} + +void CUser::ChatroomAdmin(Packet & pkt) +{ + //19 0B 0C 00 0300 0500 726573756C 1802 0A00 0100 1802 0B00 4D617844616D616765336B + + Packet result(WIZ_NATION_CHAT,uint8(CHATROOM_MANUEL)); + + uint16 count = 0 , subpkt = pkt.read(); + + result << uint8(CHATROOM_ADMIN) << uint8(0) << subpkt; + + _CHAT_ROOM* pRoom = g_pMain->m_ChatRoomArray.GetData(m_ChatRoomIndex); + + if(pRoom == nullptr) + return; + + result.DByte(); + + result << pRoom->strRoomName << uint8(0x18) << uint8(0x02) << pRoom->m_sMaxUser << pRoom->m_sCurrentUser ; + + foreach(itr,pRoom->m_UserList) + { + CUser* pSendUser = g_pMain->GetUserPtr(itr->second,TYPE_CHARACTER); + + if(pSendUser == nullptr) + continue; + + result << uint8(0x18) << uint8(pRoom->isAdministrator(pSendUser->GetName())) << pSendUser->GetName(); + + } + + Send(&result); +} + +void CUser::ChatroomMemberoption(Packet & pkt) +{ + uint8 subPkt = pkt.read(); + + if(subPkt == 1) + ChatroomKickout(pkt.read()); +} + +void CUser::ChatroomKickout(uint16 userID) +{ + _CHAT_ROOM* pRoom = g_pMain->m_ChatRoomArray.GetData(m_ChatRoomIndex); + + if(pRoom == nullptr) + return; + + Packet result(WIZ_NATION_CHAT,uint8(CHATROOM_MANUEL)); + + result << uint8(CHATROOM_MEMBEROPTION); + + foreach(itr,pRoom->m_UserList) + { + if(itr->first == userID) + { + result << uint8(2); + Send(&result); + return; + } + } + + pRoom->m_UserList.erase(userID); + + result << uint8(1) << userID; + + SendChatRoom(result); +} + +void CUser::SendChatRoom(Packet & result) +{ + _CHAT_ROOM* pRoom = g_pMain->m_ChatRoomArray.GetData(m_ChatRoomIndex); + + if(pRoom == nullptr) + return; + + foreach(itr,pRoom->m_UserList) + { + CUser* pSendUser = g_pMain->GetUserPtr(itr->second,TYPE_CHARACTER); + + if(pSendUser == nullptr) + continue; + + pSendUser->Send(&result); + } +} \ No newline at end of file diff --git a/server/GameServer/ConsoleInputThread.cpp b/server/GameServer/ConsoleInputThread.cpp new file mode 100644 index 0000000..c75d8b3 --- /dev/null +++ b/server/GameServer/ConsoleInputThread.cpp @@ -0,0 +1,55 @@ +#include "stdafx.h" +#include "ConsoleInputThread.h" +#include + +static Thread s_consoleInputThread; + +void StartConsoleInputThread() +{ + s_consoleInputThread.start(ConsoleInputThread, nullptr); +} + +void CleanupConsoleInputThread() +{ + // The thread is still pretty primitive; there's no way to signal the thread to end + // as it's blocking on fgets(). Need to fix this up so that we can wait for the thread. + // Currently we close the thread when a read error occurs (ctrl-c causes a read error, exiting does not). + s_consoleInputThread.waitForExit(); +} + +uint32 THREADCALL ConsoleInputThread(void * lpParam) +{ + size_t i = 0; + size_t len; + char cmd[300]; + + while (g_bRunning) + { + if (!_kbhit()) + { + sleep(100); + continue; + } + + // Read in single line from stdin + memset(cmd, 0, sizeof(cmd)); + if (fgets(cmd, sizeof(cmd), stdin) == nullptr) + { + printf("Console input thread closing...\n"); + break; + } + + if (!g_bRunning) + break; + + len = strlen(cmd); + for (i = 0; i < len; i++) + { + if (cmd[i] == '\n' || cmd[i] == '\r') + cmd[i] = '\0'; + } + g_pMain->HandleConsoleCommand(cmd); + } + + return 0; +} \ No newline at end of file diff --git a/server/GameServer/ConsoleInputThread.h b/server/GameServer/ConsoleInputThread.h new file mode 100644 index 0000000..eb7fcff --- /dev/null +++ b/server/GameServer/ConsoleInputThread.h @@ -0,0 +1,5 @@ +#pragma once + +void StartConsoleInputThread(); +void CleanupConsoleInputThread(); +uint32 THREADCALL ConsoleInputThread(void * lpParam); \ No newline at end of file diff --git a/server/GameServer/DBAgent.cpp b/server/GameServer/DBAgent.cpp new file mode 100644 index 0000000..1aeaf90 --- /dev/null +++ b/server/GameServer/DBAgent.cpp @@ -0,0 +1,3053 @@ +#include "stdafx.h" +#include "../shared/database/OdbcConnection.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "DBAgent.h" +#include "../shared/DateTime.h" + +CDBAgent g_DBAgent; + +using std::string; +using std::unique_ptr; + +CDBAgent::CDBAgent() +{ + m_GameDB = new OdbcConnection(); + m_AccountDB = new OdbcConnection(); +} + +CDBAgent::~CDBAgent() +{ + delete m_GameDB; + delete m_AccountDB; +} +bool CDBAgent::Startup(bool bMarsEnabled, + tstring & strAccountDSN, tstring & strAccountUID, tstring & strAccountPWD, + tstring & strGameDSN, tstring & strGameUID, tstring & strGamePWD) +{ + if (!Connect(bMarsEnabled, + strAccountDSN, strAccountUID, strAccountPWD, + strGameDSN, strGameUID, strGamePWD)) + { + // we should probably be a little more specific (i.e. *which* database server) + printf(_T("ERROR: Failed to connect to the database server.")); + return false; + } + + DatabaseThread::Startup(); + + return true; +} + +bool CDBAgent::Connect(bool bMarsEnabled, + tstring & strAccountDSN, tstring & strAccountUID, tstring & strAccountPWD, + tstring & strGameDSN, tstring & strGameUID, tstring & strGamePWD) +{ + if (!m_AccountDB->Connect(strAccountDSN, strAccountUID, strAccountPWD, bMarsEnabled)) + { + ReportSQLError(m_AccountDB->GetError()); + return false; + } + + if (!m_GameDB->Connect(strGameDSN, strGameUID, strGamePWD, bMarsEnabled)) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +void CDBAgent::ReportSQLError(OdbcError *pError) +{ + if (pError == nullptr) + return; + + DateTime time; + + // This is *very* temporary. + + // I have to write an example code to this function as + // save the query record to a map and try to get clear + // this map repeatly. + // About some seconds.... + + // If query effects warehouse or userdata or tb_user + // Disconnect the user that effected about this error + // And add him to waiting list, + // Get block his character while his query upload.. + + + + string errorMessage = string_format(_T("[ ODBC Error - %d.%d.%d %d:%d:%d ] ] Source: %s Error: %s Description: %s\n"), + time.GetDay(),time.GetMonth(),time.GetYear(),time.GetHour(),time.GetMinute(),time.GetSecond(), + pError->Source.c_str(), pError->ExtendedErrorMessage.c_str(), pError->ErrorMessage.c_str()); + + Guard lock(m_lock); + FILE *fp = fopen("./Logs/GameServer.log", "a"); + if (fp != nullptr) + { + fwrite(errorMessage.c_str(), errorMessage.length(), 1, fp); + fclose(fp); + } + + TRACE("Database error: %s\n", errorMessage.c_str()); + delete pError; +} + +int8 CDBAgent::AccountLogin(string & strAccountID, string & strPasswd) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strPasswd.c_str(), strPasswd.length()); + + if (!dbCommand->Execute(_T("{? = CALL GAME_LOGIN(?, ?)}"))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +uint8 CDBAgent::NationSelect(string & strAccountID, uint8 bNation) +{ + uint8 bRet = 0; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL NATION_SELECT(?, %d)}"), bNation))) + ReportSQLError(m_GameDB->GetError()); + + return (bRet > 0 ? bNation : 0); +} + +bool CDBAgent::GetAllCharID(string & strAccountID, string & strCharID1, string & strCharID2, string & strCharID3, string & strCharID4) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(_T("SELECT strCharID1, strCharID2, strCharID3, strCharID4 FROM ACCOUNT_CHAR WHERE strAccountID = ?"))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + if (!dbCommand->hasData()) + return false; + + dbCommand->FetchString(1, strCharID1); + dbCommand->FetchString(2, strCharID2); + dbCommand->FetchString(3, strCharID3); + dbCommand->FetchString(4, strCharID4); + return true; +} + +bool CDBAgent::SetAllCharID(string & strAccountID, string & strCharID1, string & strCharID2, string & strCharID3, string & strCharID4) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + string ID1, ID2,ID3, ID4; + + if (strCharID1 == "") + ID1 = ""; + else + ID1 = strCharID1; + + if (strCharID2 == "") + ID2 = ""; + else + ID2 = strCharID2; + + if (strCharID3 == "") + ID3 = ""; + else + ID3 = strCharID3; + + if (strCharID4 == "") + ID4 = ""; + else + ID4 = strCharID4; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, ID1.c_str(), ID1.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, ID2.c_str(), ID2.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, ID3.c_str(), ID3.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, ID4.c_str(), ID4.length()); + + if (!dbCommand->Execute(_T("{CALL UPDATE_ALL_CHAR_ID(" + "?, ?, ?, ?, ?)}"))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +void CDBAgent::LoadCharInfo(string & strCharID, ByteBuffer & result) +{ + uint32 nHair = 0; + uint16 sClass = 0; + uint8 bRace = 0, bLevel = 0, bFace = 0, bZone = 0; + char strItem[INVENTORY_TOTAL * 8]; + char strItemTime[INVENTORY_TOTAL * 8]; + ByteBuffer itemData; + + // ensure it's all 0'd out initially. + memset(strItem, 0x00, sizeof(strItem)); + memset(strItemTime, 0x00, sizeof(strItemTime)); + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT Race, Class, HairRGB, [Level], Face, Zone, strItem, strItemTime FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, bRace); + dbCommand->FetchUInt16(2, sClass); + dbCommand->FetchUInt32(3, nHair); + dbCommand->FetchByte(4, bLevel); + dbCommand->FetchByte(5, bFace); + dbCommand->FetchByte(6, bZone); + dbCommand->FetchBinary(7, strItem, sizeof(strItem)); + dbCommand->FetchBinary(8, strItemTime, sizeof(strItemTime)); + } + } + + itemData.append(strItem, sizeof(strItem)); + + result << strCharID << bRace << sClass << bLevel << bFace << nHair << bZone; + for (int i = 0; i < SLOT_MAX; i++) + { + uint32 nItemID; + uint16 sDurability, sCount; + itemData >> nItemID >> sDurability >> sCount; + if (i == HEAD || i == BREAST || i == SHOULDER || i == LEG || i == GLOVE || i == FOOT || i == RIGHTHAND || i == LEFTHAND) + result << nItemID << sDurability; + } +} + +void CDBAgent::LoadCharSeal(string & strCharID, ByteBuffer & result) +{ + uint32 nHair = 0, Gold = 0; + uint16 sClass = 0; + uint8 bRace = 0, bLevel = 0, bFace = 0, bZone = 0, Sta = 0, Cha = 0, Intel = 0, Dex = 0, Strong = 0, Points = 0; + uint8 strSkill[10]; + char strItem[INVENTORY_TOTAL * 8]; + char strItemTime[INVENTORY_TOTAL * 8]; + char strSerial[INVENTORY_TOTAL * 8]; + ByteBuffer itemData; + ByteBuffer serialBuffer; + ByteBuffer itemTimeBuffer; + + // ensure it's all 0'd out initially. + memset(strItem, 0x00, sizeof(strItem)); + memset(strItemTime, 0x00, sizeof(strItemTime)); + memset(strSerial, 0x00, sizeof(strSerial)); + memset(strSkill, 0, sizeof(strSkill)); + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT Race, Class, [Level], strItem, strItemTime, strSerial, Strong, Sta, Dex, Cha, Intel, Gold, Points, strSkill FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, bRace); + dbCommand->FetchUInt16(2, sClass); + dbCommand->FetchByte(3, bLevel); + dbCommand->FetchBinary(4, strItem, sizeof(strItem)); + dbCommand->FetchBinary(5, strItemTime, sizeof(strItemTime)); + dbCommand->FetchBinary(6, strSerial, sizeof(strSerial)); + dbCommand->FetchByte(7, Strong); + dbCommand->FetchByte(8, Sta); + dbCommand->FetchByte(9, Dex); + dbCommand->FetchByte(10, Cha); + dbCommand->FetchByte(11, Intel); + dbCommand->FetchUInt32(12, Gold); + dbCommand->FetchByte(13, Points); + dbCommand->FetchString(14, (char *)strSkill, sizeof(strSkill)); + } + } + + itemData.append(strItem, sizeof(strItem)); + serialBuffer.append(strSerial, sizeof(strSerial)); + itemTimeBuffer.append(strItemTime, sizeof(strItemTime)); + + result.SByte(); + result << strCharID << uint8(sClass) << uint16(bRace) << uint8(0) + << bLevel << Strong << Sta << Dex << Intel << Cha << Gold << Points + << uint8(0) << uint8(0) << uint8(0) << uint8(0) + << strSkill[SkillPointCat1] << strSkill[SkillPointCat2] << strSkill[SkillPointCat3] << strSkill[SkillPointMaster]; + + UserItemSealMap m_sealedItemMap; + LoadItemSealData(strCharID, strCharID, m_sealedItemMap); + + for (int i = 0; i < SLOT_MAX + HAVE_MAX; i++) + { + uint32 nItemID, nItemTime; + uint16 sDurability, sCount; + uint64 nSerialNum; + uint8 bFlag; + + itemData >> nItemID >> sDurability >> sCount; + serialBuffer >> nSerialNum; + itemTimeBuffer >> nItemTime; + + UserItemSealMap::iterator sealitr = m_sealedItemMap.find(nSerialNum); + if (sealitr != m_sealedItemMap.end()) + { + if (sealitr->second->bSealType == 1) + bFlag = ITEM_FLAG_SEALED; + else if (sealitr->second->bSealType == 3) + bFlag = ITEM_FLAG_BOUND; + } + + if (g_pMain->IsDuplicateItem(nItemID,nSerialNum)) + bFlag = ITEM_FLAG_DUPLICATE; + + + if(sCount < 1) + result << uint32(0) << uint16(0) << uint16(0) << uint8(0); + else + result << nItemID << sDurability << sCount << bFlag; // item type flag (e.g. rented) + + } + + result << uint8(0) << uint8(0) << uint8(0) << uint8(0) << uint8(0)/* Unique Level */ << uint8(0) /* Unique STR */; +} + +uint8 CDBAgent::LoadCharRace(std::string & strCharID) +{ + uint8 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT Race FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, sClass); + } + } + + return sClass; +} + +uint64 CDBAgent::LoadCharExp(std::string & strCharID) +{ + uint64 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT [exp] FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchUInt64(1, sClass); + } + } + + return sClass; +} + +uint8 CDBAgent::LoadYanCharHAS(string & strAccountID, std::string & strCharID) +{ + uint8 sClass = 0; + + if (!strAccountID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT COUNT(*) FROM ACCOUNT_CHAR WHERE strAccountID = ? AND (strCharID1 = ? or strCharID2 = ? or strCharID3 = ? or strCharID4 = ?)"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, sClass); + } + } + + return sClass; +} + +uint64 CDBAgent::GetSerialByID(uint32 ID) +{ + uint64 sClass = 0; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + if (!dbCommand->Execute(string_format(_T("SELECT strSerial FROM USERDATA_CYPHER WHERE id = %d"),ID))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchUInt64(1, sClass); + } + + + return sClass; +} + +uint8 CDBAgent::LoadCharLevel(string & strCharID) +{ + uint8 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT [Level] FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, sClass); + } + } + + return sClass; +} + +uint16 CDBAgent::LoadCharKnights(string & strCharID) +{ + uint16 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT Knights FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchUInt16(1, sClass); + } + } + + return sClass; +} + + +uint8 CDBAgent::LoadCharNation(string & strCharID) +{ + uint8 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT [Nation] FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchByte(1, sClass); + } + } + + return sClass; +} + +uint16 CDBAgent::LoadAccountNTS(string & strCharID) +{ + uint16 sClass = 0; + + if (!strCharID.empty()) + { + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("SELECT Class FROM USERDATA WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchUInt16(1, sClass); + } + } + + return sClass; +} + +int8 CDBAgent::CreateNewChar(string & strAccountID, int index, string & strCharID, uint8 bRace, uint16 sClass, uint32 nHair, uint8 bFace, uint8 bStr, uint8 bSta, uint8 bDex, uint8 bInt, uint8 bCha) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL CREATE_NEW_CHAR(?, %d, ?, %d, %d, %d, %d, %d, %d, %d, %d, %d)}"), + index, bRace, sClass, nHair, bFace, bStr, bSta, bDex, bInt, bCha))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int8 CDBAgent::ChangeHair(std::string & strAccountID, std::string & strCharID, uint8 bOpcode, uint8 bFace, uint32 nHair) +{ + int8 bRet = 1; // failed + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL CHANGE_HAIR(?, ?, %d, %d, %d)}"), + bOpcode, bFace, nHair))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + + +void CDBAgent::LoadRentalData(string & strAccountID, string & strCharID, UserRentalMap & rentalData) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + if (!dbCommand->Execute(_T("{CALL LOAD_RENTAL_DATA(?)}"))) + { + ReportSQLError(m_GameDB->GetError()); + return; + } + + if (!dbCommand->hasData()) + return; + + do + { + _USER_RENTAL_ITEM *pItem = new _USER_RENTAL_ITEM(); + _RENTAL_ITEM *pRentalItem = nullptr; + + dbCommand->FetchString(1, pItem->strUserID); + if (STRCASECMP(pItem->strUserID.c_str(), strCharID.c_str()) != 0) + { + delete pItem; + continue; + } + + dbCommand->FetchByte(2, pItem->byRentalType); + dbCommand->FetchByte(3, pItem->byRegType); + dbCommand->FetchUInt32(4, pItem->nRentalIndex); + dbCommand->FetchUInt32(5, pItem->nItemID); + dbCommand->FetchUInt16(6, pItem->sDurability); + dbCommand->FetchUInt64(7, pItem->nSerialNum); + dbCommand->FetchUInt32(8, pItem->nRentalMoney); + dbCommand->FetchUInt16(9, pItem->sRentalTime); + dbCommand->FetchInt16(10, pItem->sMinutesRemaining); + dbCommand->FetchString(11, pItem->szTimeRental, sizeof(pItem->szTimeRental)); + + pRentalItem = g_pMain->m_RentalItemArray.GetData(pItem->nRentalIndex); + if (pRentalItem == nullptr + || rentalData.find(pItem->nSerialNum) != rentalData.end()) + delete pItem; + else + rentalData.insert(std::make_pair(pItem->nSerialNum, pItem)); + + } while (dbCommand->MoveNext()); +} + +void CDBAgent::LoadItemSealData(string & strAccountID, string & strCharID, UserItemSealMap & itemSealData) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + if (!dbCommand->Execute(_T("SELECT nItemSerial, nItemID, bSealType FROM SEALED_ITEMS WHERE strAccountID = ?"))) + { + ReportSQLError(m_GameDB->GetError()); + return; + } + + if (!dbCommand->hasData()) + return; + + do + { + _USER_SEAL_ITEM *pItem = new _USER_SEAL_ITEM; + + dbCommand->FetchUInt64(1, pItem->nSerialNum); + dbCommand->FetchUInt32(2, pItem->nItemID); + dbCommand->FetchByte(3, pItem->bSealType); + + if (pItem == nullptr) + delete pItem; + else + itemSealData.insert(std::make_pair(pItem->nSerialNum, pItem)); + + } while (dbCommand->MoveNext()); +} +uint8 CDBAgent::LoadPetData(uint64 PetSerial, CPet *pPet) +{ + uint8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + if (!dbCommand->Execute(string_format(_T("{? = CALL LOAD_PET_DATA(" I64FMTD ", ?)}"), PetSerial))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + //PET_NAME, PET_EXP, PET_LEVEL, PET_STOMACH, PET_ITEMID, PET_CLASS + int i = 1; + + pPet->m_bIsKaul = true; + dbCommand->FetchString(i++, pPet->m_strPetID); + dbCommand->FetchUInt64(i++, pPet->m_iExp); + dbCommand->FetchByte(i++, pPet->m_bLevel); + dbCommand->FetchUInt16(i++, pPet->m_sSatisfaction); + dbCommand->FetchUInt64(i++, pPet->m_Serial); + dbCommand->FetchByte(i++, pPet->m_sClass); + + return bRet; +} + +uint8 CDBAgent::UpdatePetData(uint64 PetSerial, CPet *pPet) +{ + uint8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + uint8 Slot = 0; + uint32 FinishTime = 0, ItemNum = 0; + + for (int i=0; i < PET_MAX; i++) + { + if (pPet->m_sItemArray[i].nNum > 0) + { + Slot = i; + FinishTime = pPet->m_sItemArray[i].nExpirationTime; + ItemNum = pPet->m_sItemArray[i].nNum; + break; + } + } + + dbCommand->AddParameter(SQL_PARAM_INPUT, pPet->m_strPetID.c_str(), pPet->m_strPetID.length()); + if (!dbCommand->Execute(string_format(_T("UPDATE PET_DATA SET PET_SLOT=%d, PET_FINISHTIME=%d,PET_ITEMID=%d,PET_NAME=?,PET_EXP=" I64FMTD ",PET_LEVEL=%d,PET_STOMACH=%d,PET_CLASS=%d WHERE PET_SERIAL = " I64FMTD ""),Slot,FinishTime,ItemNum,pPet->m_iExp,pPet->m_bLevel,pPet->m_sSatisfaction,pPet->m_sClass,PetSerial))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + + return 1; +} + +uint8 CDBAgent::InsertPetData(uint64 PetSerial, CPet *pPet) +{ + uint8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pPet->m_strPetID.c_str(), pPet->m_strPetID.length()); + if (!dbCommand->Execute(string_format(_T("{? = CALL INSERT_PET_DATA(" I64FMTD ", ?, " I64FMTD ", %d, %d, %d, %d)}"), PetSerial, pPet->m_iExp, pPet->m_bLevel, pPet->m_sSatisfaction, pPet->m_sClass, pPet->SpecialPetID))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +uint8 CDBAgent::InsertCypherRingData(uint64 Serial, _CYPHERRING_DATA *pData, std::string strPasswd) +{ + uint8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pData->UserName.c_str(), pData->UserName.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strPasswd.c_str(), strPasswd.length()); + if (!dbCommand->Execute(string_format(_T("{? = CALL INSERT_CYPHER_RING_DATA(" I64FMTD ", ?, " I64FMTD ", %d, %d, %d, %d, ?)}"), Serial, pData->iExp, pData->bLevel, pData->bRace, pData->sClass, pData->ID))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +uint8 CDBAgent::InsertCypherRingChar(std::string strAccountID, uint64 Serial) +{ + uint8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + if (!dbCommand->Execute(string_format(_T("{? = CALL INSERT_CYPHER_RING_CHAR( ?, " I64FMTD ")}"), Serial))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +bool CDBAgent::LoadUserData(string & strAccountID, string & strCharID, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (pUser == nullptr + || pUser->m_bLogout + || !pUser->GetName().empty() + || strCharID.length() > MAX_ID_SIZE) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("{CALL LOAD_USER_DATA(?, ?)}"))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + + char strItem[INVENTORY_TOTAL * 8] = {0}, strSerial[INVENTORY_TOTAL * 8] = {0}, + strVIPItem[MAX_SLOT_VIP_STORAGE * 8] = {0}, strVIPSerial[MAX_SLOT_VIP_STORAGE * 8] = {0}, strVIPItemTime[MAX_SLOT_VIP_STORAGE * 8], + strQuest[QUEST_ARRAY_SIZE],strQuestUse[100 * 6] = {0}, strRebStats[5] = {0},strAchieveQuest[ACHIEVE_QUEST_ARRAY_SIZE], strItemTime[INVENTORY_TOTAL * 8];; + + + uint16 strAchieveQuestKill[ACHIEVE_QUEST_ARRAY_SIZE * 2]; + + uint16 sQuestCount = 0; + uint16 sQuestUseCount = 0; + uint16 sAchieveQuestCount = 0; + + int field = 1; + dbCommand->FetchByte(field++, pUser->m_bNation); + dbCommand->FetchByte(field++, pUser->m_bRace); + dbCommand->FetchUInt16(field++, pUser->m_sClass); + dbCommand->FetchUInt32(field++, pUser->m_nHair); + dbCommand->FetchByte(field++, pUser->m_bRank); + dbCommand->FetchByte(field++, pUser->m_bTitle); + dbCommand->FetchByte(field++, pUser->m_bLevel); + dbCommand->FetchByte(field++, pUser->m_reblvl); + dbCommand->FetchInt64(field++, pUser->m_iExp); + dbCommand->FetchUInt32(field++, pUser->m_iLoyalty); + dbCommand->FetchByte(field++, pUser->m_bFace); + dbCommand->FetchByte(field++, pUser->m_bCity); + dbCommand->FetchInt16(field++, pUser->m_bKnights); + dbCommand->FetchByte(field++, pUser->m_bFame); + dbCommand->FetchInt16(field++, pUser->m_sHp); + dbCommand->FetchInt16(field++, pUser->m_sMp); + dbCommand->FetchInt16(field++, pUser->m_sSp); + dbCommand->FetchByte(field++, pUser->m_bStats[STAT_STR]); + dbCommand->FetchByte(field++, pUser->m_bStats[STAT_STA]); + dbCommand->FetchByte(field++, pUser->m_bStats[STAT_DEX]); + dbCommand->FetchByte(field++, pUser->m_bStats[STAT_INT]); + dbCommand->FetchByte(field++, pUser->m_bStats[STAT_CHA]); + dbCommand->FetchByte(field++, pUser->m_bAuthority); + dbCommand->FetchInt16(field++, pUser->m_sPoints); + dbCommand->FetchUInt32(field++, pUser->m_iGold); + dbCommand->FetchByte(field++, pUser->m_bZone); + dbCommand->FetchInt16(field++, pUser->m_sBind); + pUser->m_curx = (float)(dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_curz = (float)(dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_cury = (float)(dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_oldx = pUser->m_curx; + pUser->m_oldy = pUser->m_cury; + pUser->m_oldz = pUser->m_curz; + dbCommand->FetchUInt32(field++, pUser->m_dwTime); + dbCommand->FetchString(field++, (char *)pUser->m_bstrSkill, sizeof(pUser->m_bstrSkill)); + dbCommand->FetchBinary(field++, strItem, sizeof(strItem)); + dbCommand->FetchBinary(field++, strSerial, sizeof(strSerial)); + dbCommand->FetchBinary(field++, strVIPItem, sizeof(strVIPItem)); + dbCommand->FetchBinary(field++, strVIPSerial, sizeof(strVIPSerial)); + dbCommand->FetchUInt16(field++, sQuestCount); + dbCommand->FetchUInt16(field++, sQuestUseCount); + dbCommand->FetchUInt16(field++, sAchieveQuestCount); + dbCommand->FetchBinary(field++, strQuest, sizeof(strQuest)); + dbCommand->FetchBinary(field++, strQuestUse, sizeof(strQuestUse)); + dbCommand->FetchBinary(field++, strAchieveQuest, sizeof(strAchieveQuest)); + dbCommand->FetchUInt32(field++, pUser->m_iMannerPoint); + dbCommand->FetchUInt32(field++, pUser->m_iLoyaltyMonthly); + dbCommand->FetchBinary(field++, strItemTime, sizeof(strItemTime)); + dbCommand->FetchBinary(field++, strVIPItemTime, sizeof(strVIPItemTime)); + dbCommand->FetchString(field++, pUser->m_strMemo); + dbCommand->FetchUInt16(field++, pUser->m_GenieTime); + dbCommand->FetchString(field++, (char *)pUser->m_GenieOptions, sizeof(pUser->m_GenieOptions)); + dbCommand->FetchString(field++, (char *)strAchieveQuestKill, sizeof(strAchieveQuestKill)); + dbCommand->FetchBinary(field++, strRebStats, sizeof(strRebStats)); + dbCommand->FetchUInt16(field++, pUser->m_sAchieveSkillTitle); + dbCommand->FetchUInt16(field++, pUser->m_sAchieveCoverTitle); + dbCommand->FetchString(field++, pUser->VIPStorePassword); + dbCommand->FetchUInt32(field++, pUser->nVIPExpirationTime); + + dbCommand->FetchUInt32(field++, pUser->m_iMonsterDefeatedCount); + dbCommand->FetchUInt32(field++, pUser->m_iUserDefeatedCount); + dbCommand->FetchUInt32(field++, pUser->m_iUserDeathCount); + dbCommand->FetchUInt32(field++, pUser->m_iAchievementPoint); + dbCommand->FetchUInt32(field++, pUser->m_LastOnline); + pUser->m_strUserID = strCharID; + pUser->m_lastSaveTime = UNIXTIME; + pUser->m_lastBonusTime = UNIXTIME; + pUser->m_TimeOnline = UNIXTIME; + + ByteBuffer QuestUseBufer; + QuestUseBufer.append(strQuestUse, sizeof(strQuestUse)); + + // Convert the old quest storage format to the new one. + pUser->m_questMap.clear(); + if (sQuestCount > QUEST_LIMIT) + sQuestCount = QUEST_LIMIT; + + for (int i = 0, index = 0; i < sQuestCount; i++, index += 3) + { + uint16 sQuestID = *(uint16 *)(strQuest + index); + uint8 bQuestState = *(uint8 *)(strQuest + index + 2); + pUser->m_questMap.insert(std::make_pair(sQuestID, bQuestState)); + + } + + // Start the Seed quest if it doesn't already exist. + if (pUser->V3_CheckExistEvent(STARTER_SEED_QUEST, 0)) + pUser->V3_QuestEvent(STARTER_SEED_QUEST, 1); + + /*if (pUser->V3_CheckExistEvent(PET_QUEST, 0)) + pUser->V3_QuestEvent(PET_QUEST, 1);*/ + + pUser->m_QuestMonMap.clear(); + for(int i = 0; i < sQuestUseCount; i++) + { + _QUEST_DATA * pData = new _QUEST_DATA; + uint16 nQuestID; + + QuestUseBufer >> nQuestID; + + if (nQuestID == 0) + continue; + + QuestUseBufer >> pData->dCKills[0]; + QuestUseBufer >> pData->dCKills[1]; + QuestUseBufer >> pData->dCKills[2]; + QuestUseBufer >> pData->dCKills[3]; + + pUser->m_QuestMonMap.insert(std::make_pair(nQuestID, pData)); + + } + + pUser->m_AchievequestMap.clear(); + if (sAchieveQuestCount > ACHIEVE_QUEST_LIMIT) + sAchieveQuestCount = ACHIEVE_QUEST_LIMIT; + + for (int i = 0, index = 0; i < sAchieveQuestCount; i++, index += 3) + { + uint16 sAchieveQuestID = *(uint16 *)(strAchieveQuest + index); + uint8 bQuestState = *(uint8 *)(strAchieveQuest + index + 2); + + pUser->m_AchievequestMap.insert(std::make_pair(sAchieveQuestID, bQuestState)); + + _ACHIEVE_MAIN * pMainData = g_pMain->GetAchieveMainPointer(sAchieveQuestID); + + if(pMainData == nullptr) + continue; + + if (bQuestState == 2) + { + switch(pMainData->TabIndex) + { + case 0: + pUser->AchieveNormalCount++; // Normal Count + break; + case 1: + pUser->AchieveQuestCount++; // Quest Count + break; + case 2: + pUser->AchieveWarCount++; // War Count + break; + case 3: + pUser->AchieveAdventureCount++; // Adventure Count + break; + case 4: + pUser->AchieveChallengeCount++;// Challenge Count + break; + default: + break; + } + + } + + + if(bQuestState == 2) + { + if(pUser->AchieveLast3 == 0 + && pUser->AchieveLast2 == 0 + && pUser->AchieveLast1 == 0) + pUser->AchieveLast1 = sAchieveQuestID; + else + { + pUser->AchieveLast3 = pUser->AchieveLast2; + pUser->AchieveLast2 = pUser->AchieveLast1; + pUser->AchieveLast1 = sAchieveQuestID; + } + + } + } + + for (int i = 0, index = 0; i < sAchieveQuestCount; i++, index += 6) + { + uint16 sQuestID2 = strAchieveQuestKill[index]; + uint16 bCount = strAchieveQuestKill[index + 2]; + uint16 bCount1 = strAchieveQuestKill[index + 4]; + + + if (sQuestID2 > 0){ + _ACHIEVE_QUEST * pAchieveQuest = new _ACHIEVE_QUEST; + + + pAchieveQuest->ID = sQuestID2; + pAchieveQuest->KillCount[0] = bCount; + pAchieveQuest->KillCount[1] = bCount1; + + + if(!pUser->m_bAchieveKillCount.PutData(pAchieveQuest->ID,pAchieveQuest)) + delete pAchieveQuest; + + } + } + + ByteBuffer itemBuffer, serialBuffer, itemTimeBuffer,RebStatsBuffer; + ByteBuffer VIPitemBuffer, VIPserialBuffer, VIPitemTimeBuffer; + itemBuffer.append(strItem, sizeof(strItem)); + serialBuffer.append(strSerial, sizeof(strSerial)); + itemTimeBuffer.append(strItemTime, sizeof(strItemTime)); + VIPitemBuffer.append(strVIPItem, sizeof(strVIPItem)); + VIPserialBuffer.append(strVIPSerial, sizeof(strVIPSerial)); + VIPitemTimeBuffer.append(strVIPItemTime, sizeof(strVIPItemTime)); + RebStatsBuffer.append(strRebStats, sizeof(strRebStats)); + QuestUseBufer.append(strQuestUse, sizeof(strQuestUse)); + + memset(pUser->m_sItemArray, 0x00, sizeof(pUser->m_sItemArray)); + memset(pUser->m_sVIPItemArray, 0x00, sizeof(pUser->m_sVIPItemArray)); + + UserRentalMap rentalData; + + // Until this statement is cleaned up, + // no other statements can be processed. + delete dbCommand.release(); + + LoadRentalData(strAccountID, strCharID, rentalData); + LoadItemSealData(strAccountID, strCharID, pUser->m_sealedItemMap); + + //RebStats Read Start + uint8 RebStr, RebSta, RebDex, RebInt, RebCha; + + RebStatsBuffer >> RebStr >> RebSta + >> RebDex >> RebInt >> RebCha; + + pUser->SetRebStatBuff(STAT_STR, RebStr); + pUser->SetRebStatBuff(STAT_STA, RebSta); + pUser->SetRebStatBuff(STAT_DEX, RebDex); + pUser->SetRebStatBuff(STAT_INT, RebInt); + pUser->SetRebStatBuff(STAT_CHA, RebCha); + //RebStats Read Ends + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + uint64 nSerialNum; + uint32 nItemID; + int16 sDurability, sCount; + uint32 nItemTime; + + itemBuffer >> nItemID >> sDurability >> sCount; + serialBuffer >> nSerialNum; + itemTimeBuffer >> nItemTime; + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr || sCount <= 0) + continue; + + if (!pTable->m_bCountable && sCount > 1) + sCount = 1; + else if (sCount > ITEMCOUNT_MAX) + sCount = ITEMCOUNT_MAX; + + if (nSerialNum == 0) + nSerialNum = g_pMain->GenerateItemSerial(); + + _ITEM_DATA *pItem = pUser->GetItem(i); + pItem->nNum = nItemID; + pItem->sDuration = pTable->isAccessory() ? pTable->m_sDuration : sDurability; + pItem->sCount = sCount; + pItem->nSerialNum = nSerialNum; + pItem->nExpirationTime = nItemTime; + + // If the serial was found in the rental data, mark as rented. + UserRentalMap::iterator itr = rentalData.find(nSerialNum); + if (itr != rentalData.end()) + { + pItem->bFlag = ITEM_FLAG_RENTED; + pItem->sRemainingRentalTime = itr->second->sMinutesRemaining; + } + + UserItemSealMap::iterator sealitr = pUser->m_sealedItemMap.find(nSerialNum); + if (sealitr != pUser->m_sealedItemMap.end()) + { + if (sealitr->second->bSealType == 1) + pItem->bFlag = ITEM_FLAG_SEALED; + else if (sealitr->second->bSealType == 3) + pItem->bFlag = ITEM_FLAG_BOUND; + else if (sealitr->second->bSealType == 4) + pItem->bFlag = ITEM_FLAG_NOT_BOUND; + } + + g_pMain->AddUserItem(nItemID, nSerialNum); + + if (g_pMain->IsDuplicateItem(nItemID,nSerialNum)) + pItem->bFlag = ITEM_FLAG_DUPLICATE; + } + + + for (int a = 0; a < MAX_SLOT_VIP_STORAGE; a++) + { + uint64 nSerialNum; + uint32 nItemID; + int16 sDurability, sCount; + uint32 nItemTime; + + VIPitemBuffer >> nItemID >> sDurability >> sCount; + VIPserialBuffer >> nSerialNum; + VIPitemTimeBuffer >> nItemTime; + + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr || sCount <= 0) + continue; + + if (!pTable->m_bCountable && sCount > 1) + sCount = 1; + else if (sCount > ITEMCOUNT_MAX) + sCount = ITEMCOUNT_MAX; + + if (nSerialNum == 0) + nSerialNum = g_pMain->GenerateItemSerial(); + + _ITEM_DATA *pItem = pUser->GetVipStorageSlot(a); + pItem->nNum = nItemID; + pItem->sDuration = pTable->isAccessory() ? pTable->m_sDuration : sDurability; + pItem->sCount = sCount; + pItem->nSerialNum = nSerialNum; + pItem->nExpirationTime = nItemTime; + + // If the serial was found in the rental data, mark as rented. + UserRentalMap::iterator itr = rentalData.find(nSerialNum); + if (itr != rentalData.end()) + { + pItem->bFlag = ITEM_FLAG_RENTED; + pItem->sRemainingRentalTime = itr->second->sMinutesRemaining; + } + + UserItemSealMap::iterator sealitr = pUser->m_sealedItemMap.find(nSerialNum); + if (sealitr != pUser->m_sealedItemMap.end()) + { + if (sealitr->second->bSealType == 1) + pItem->bFlag = ITEM_FLAG_SEALED; + else if (sealitr->second->bSealType == 3) + pItem->bFlag = ITEM_FLAG_BOUND; + else if (sealitr->second->bSealType == 4) + pItem->bFlag = ITEM_FLAG_NOT_BOUND; + } + + g_pMain->AddUserItem(nItemID, nSerialNum); + + if (g_pMain->IsDuplicateItem(nItemID,nSerialNum)) + pItem->bFlag = ITEM_FLAG_DUPLICATE; + + } + + // Clean up the rental data + foreach (itr, rentalData) + delete itr->second; + rentalData.clear(); + + // Starter items. This needs fixing eventually. + if (pUser->GetLevel() == 1 && pUser->m_iExp == 0) // going back to their initial bugginess + { + uint32 nItemID = 0; + uint16 sDurability = 0; + + switch (pUser->m_sClass) + { + case 101: + nItemID = 120010000; + sDurability = 5000; + break; + case 102: + nItemID = 110010000; + sDurability = 4000; + break; + case 103: + nItemID = 180010000; + sDurability = 5000; + break; + case 104: + nItemID = 190010000; + sDurability = 10000; + break; + case 201: + nItemID = 120050000; + sDurability = 5000; + break; + case 202: + nItemID = 110050000; + sDurability = 4000; + break; + case 203: + nItemID = 180050000; + sDurability = 5000; + break; + case 204: + nItemID = 190050000; + sDurability = 10000; + break; + } + + if (nItemID && !pUser->CheckExistItem(nItemID, 1)) + { + int slot = pUser->GetEmptySlot(); + if (slot < 0) + return true; + + _ITEM_DATA * pItem = pUser->GetItem(slot); + pItem->nNum = nItemID; + pItem->sDuration = sDurability; + pItem->sCount = 1; + pItem->nSerialNum = g_pMain->GenerateItemSerial(); + } + } + + return true; +} + +bool CDBAgent::LoadWarehouseData(string & strAccountID, CUser *pUser) +{ + char strItem[WAREHOUSE_MAX * 8], strSerial[WAREHOUSE_MAX * 8], strItemTime[WAREHOUSE_MAX * 8]; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (pUser == nullptr + || pUser->m_bLogout) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(_T("SELECT nMoney, WarehouseData, strSerial, WarehouseDataTime FROM WAREHOUSE WHERE strAccountID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + + memset(strItem, 0x00, sizeof(strItem)); + memset(strSerial, 0x00, sizeof(strSerial)); + memset(strItemTime, 0x00, sizeof(strItemTime)); + + dbCommand->FetchUInt32(1, pUser->m_iBank); + dbCommand->FetchBinary(2, strItem, sizeof(strItem)); + dbCommand->FetchBinary(3, strSerial, sizeof(strSerial)); + dbCommand->FetchBinary(4, strItemTime, sizeof(strItemTime)); + + ByteBuffer itemBuffer, serialBuffer, itemTimeBuffer; + itemBuffer.append(strItem, sizeof(strItem)); + serialBuffer.append(strSerial, sizeof(strSerial)); + itemTimeBuffer.append(strItemTime, sizeof(strItemTime)); + + memset(pUser->m_sWarehouseArray, 0x00, sizeof(pUser->m_sWarehouseArray)); + + for (int i = 0; i < WAREHOUSE_MAX; i++) + { + uint64 nSerialNum; + uint32 nItemID, nItemTime; + int16 sDurability, sCount; + + itemBuffer >> nItemID >> sDurability >> sCount; + serialBuffer >> nSerialNum; + itemTimeBuffer >> nItemTime; + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr || sCount <= 0) + continue; + + if (!pTable->m_bCountable && sCount > 1) + sCount = 1; + else if (sCount > ITEMCOUNT_MAX) + sCount = ITEMCOUNT_MAX; + + pUser->m_sWarehouseArray[i].nNum = nItemID; + pUser->m_sWarehouseArray[i].sDuration = sDurability; + pUser->m_sWarehouseArray[i].sCount = sCount; + pUser->m_sWarehouseArray[i].nSerialNum = nSerialNum; + pUser->m_sWarehouseArray[i].nExpirationTime = nItemTime; + + UserItemSealMap::iterator sealitr = pUser->m_sealedItemMap.find(nSerialNum); + if (sealitr != pUser->m_sealedItemMap.end()) + { + if (sealitr->second->bSealType == 1) + pUser->m_sWarehouseArray[i].bFlag = ITEM_FLAG_SEALED; + else if (sealitr->second->bSealType == 3) + pUser->m_sWarehouseArray[i].bFlag = ITEM_FLAG_BOUND; + else if (sealitr->second->bSealType == 4) + pUser->m_sWarehouseArray[i].bFlag = ITEM_FLAG_NOT_BOUND; + } + + g_pMain->AddUserItem(nItemID, nSerialNum); + + if (g_pMain->IsDuplicateItem(nItemID,nSerialNum)) + pUser->m_sWarehouseArray[i].bFlag = ITEM_FLAG_DUPLICATE; + } + + return true; +} + +bool CDBAgent::LoadPremiumServiceUser(string & strAccountID, CUser *pUser) +{ + if (pUser == nullptr) + return false; + + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &pUser->PremiumID); + + if (!dbCommand->Execute(_T("{CALL LOAD_PREMIUM_SERVICE_USER(?,?)}"))) + ReportSQLError(m_AccountDB->GetError()); + + + + + uint16 count = 0; + do + { + _PREMIUM_TYPE * pPremium = new _PREMIUM_TYPE; + + dbCommand->FetchByte(1, pPremium->PremiumType); + dbCommand->FetchUInt16(2, pPremium->PremiumTime); + + pUser->PremiumList.PutData(pPremium->PremiumType,pPremium); + count++; + } while (dbCommand->MoveNext()); + + + + // this is hardcoded because we don't really care about the other mode + if (pUser->PremiumID != 0) + pUser->m_bAccountStatus = 1; // normal premium with expiry time + else + pUser->m_bAccountStatus = 0; + + return true; +} + + +bool CDBAgent::LoadSavedMagic(CUser *pUser) +{ + if (pUser == nullptr) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + if (!dbCommand->Execute(_T("SELECT " + "nSkill1, nDuring1, nSkill2, nDuring2, nSkill3, nDuring3, nSkill4, nDuring4, nSkill5, nDuring5, " + "nSkill6, nDuring6, nSkill7, nDuring7, nSkill8, nDuring8, nSkill9, nDuring9, nSkill10, nDuring10 " + "FROM USER_SAVED_MAGIC WHERE strCharID = ?"))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + pUser->m_savedMagicMap.clear(); + if (!dbCommand->hasData()) + return true; + + for (int i = 1; i <= 20; i += 2) + { + uint32 nSkillID; + uint16 nExpiry; + dbCommand->FetchUInt32(i, nSkillID); + dbCommand->FetchUInt16(i + 1, nExpiry); + + if (nSkillID != 0) + pUser->m_savedMagicMap[nSkillID] = (nExpiry + UNIXTIME); + } + + return true; +} + +bool CDBAgent::UpdateSavedMagic(CUser *pUser) +{ + if (pUser == nullptr) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + Guard lock(pUser->_unitlock); + uint32 nSkillID[10] = {0}; + uint16 tExpiryTime[10] = {0}; + uint32 i = 0; + foreach (itr, pUser->m_savedMagicMap) + { + nSkillID[i] = itr->first; + if (itr->first != 0) + tExpiryTime[i] = uint16(itr->second - UNIXTIME); + + if (++i == 10) + break; + } + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_SAVED_MAGIC(?, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)}"), + nSkillID[0], tExpiryTime[0], nSkillID[1], tExpiryTime[1], nSkillID[2], tExpiryTime[2], nSkillID[3], tExpiryTime[3], nSkillID[4], tExpiryTime[4], + nSkillID[5], tExpiryTime[5], nSkillID[6], tExpiryTime[6], nSkillID[7], tExpiryTime[7], nSkillID[8], tExpiryTime[8], nSkillID[9], tExpiryTime[9]))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +bool CDBAgent::SetLogInInfo(string & strAccountID, string & strCharID, string & strServerIP, short sServerNo, string & strClientIP, uint8 bInit) +{ + uint8 result = 0; + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &result); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strServerIP.c_str(), strServerIP.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strClientIP.c_str(), strClientIP.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL SET_LOGIN_INFO(?, ?, %d, ?, ?, %d)}"), sServerNo, bInit))) + ReportSQLError(m_AccountDB->GetError()); + + return (bool)(result == 0 ? false : true); +} + +bool CDBAgent::ClearWebItemMall(CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + + // TODO: Add an arg for the free slot count so we only need to pull/delete what we can hold. + if (!dbCommand->Execute(_T("{CALL CLEAR_WEB_ITEMMALL(?)}"))) + { + ReportSQLError(m_AccountDB->GetError()); + return false; + }else + return true; +} + + +bool CDBAgent::LoadWebItemMall(std::vector<_ITEM_DATA> & itemList, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + + // TODO: Add an arg for the free slot count so we only need to pull/delete what we can hold. + if (!dbCommand->Execute(_T("{CALL LOAD_WEB_ITEMMALL(?)}"))) + ReportSQLError(m_AccountDB->GetError()); + + if (dbCommand->hasData()) + { + do + { + _ITEM_DATA item; + dbCommand->FetchUInt32(2, item.nNum); // 1 is the account name, which we don't need to use unless we're logging + dbCommand->FetchUInt16(3, item.sCount); + dbCommand->FetchUInt32(5, item.nExpirationTime); + itemList.push_back(item); + } while (dbCommand->MoveNext()); + } + + return true; +} + +bool CDBAgent::LoadSkillShortcut(Packet & result, CUser *pUser) +{ + if (pUser == nullptr) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + uint16 sCount; + char strSkillData[260]; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + if (!dbCommand->Execute(_T("SELECT nCount, strSkillData FROM USERDATA_SKILLSHORTCUT WHERE strCharID = ?"))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + if (!dbCommand->hasData()) + return false; + + dbCommand->FetchUInt16(1, sCount); + dbCommand->FetchString(2, strSkillData, sizeof(strSkillData)); + + result << sCount; + for (uint32 i = 0; i < sCount; i++) + result << *(uint32 *)(strSkillData + (i * sizeof(uint32))); + + return true; +} + +void CDBAgent::SaveSkillShortcut(uint16 sCount, char *buff, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, buff, 260); + + if (!dbCommand->Execute(string_format(_T("{CALL SKILLSHORTCUT_SAVE(?, %d, ?)}"), sCount))) + ReportSQLError(m_GameDB->GetError()); +} + +bool CDBAgent::SavePremiumServiceUser(CUser *pUser, _PREMIUM_TYPE * pPremium) +{ + if (pUser == nullptr) + return false; + + if (pPremium->PremiumTime == 0 + && pPremium->PremiumType == 0) + return false; + + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetAccountName().c_str(), pUser->GetAccountName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + + if (!dbCommand->Execute(string_format(_T("{CALL SAVE_PREMIUM_SERVICE_USER(?, ?, %d, %d)}"), + pPremium->PremiumType, pPremium->PremiumTime))) + ReportSQLError(m_GameDB->GetError()); + + return true; +} + +uint8 CDBAgent::SealItem(string strSealPasswd, uint64 nItemSerial, uint32 nItemID, uint8 bSealType, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 3; + + uint8 bRet = 1; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetAccountName().c_str(), pUser->GetAccountName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strSealPasswd.c_str(), strSealPasswd.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL USER_ITEM_SEAL(?, ?, ?, " I64FMTD ", %d, %d)}"), nItemSerial, nItemID, bSealType))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +void CDBAgent::RequestFriendList(std::vector & friendList, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + if (!dbCommand->Execute(_T("SELECT * FROM FRIEND_LIST WHERE strUserID = ?"))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return; + + string strCharID; + for (int i = 2; i <= 25; i++) + { + if (dbCommand->FetchString(i, strCharID) + && strCharID.length()) + friendList.push_back(strCharID); + } +} + +FriendAddResult CDBAgent::AddFriend(short sid, short tid) +{ + CUser *pSrcUser = g_pMain->GetUserPtr(sid), *pTargetUser = g_pMain->GetUserPtr(tid); + CBot *pTargetBot = g_pMain->m_arBotArray.GetData(tid); + if (pSrcUser == nullptr + || (pTargetUser == nullptr && pTargetBot == nullptr)) + return FRIEND_ADD_ERROR; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return FRIEND_ADD_ERROR; + + int16 sRet = (int16)FRIEND_ADD_ERROR; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pSrcUser->GetName().c_str(), pSrcUser->GetName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pTargetUser == nullptr ? pTargetBot->GetName().c_str() : pTargetUser->GetName().c_str(), pTargetUser == nullptr ? pTargetBot->GetName().length() : pTargetUser->GetName().length()); + + if (!dbCommand->Execute(_T("{? = CALL INSERT_FRIEND_LIST(?, ?)}"))) + ReportSQLError(m_GameDB->GetError()); + + return (FriendAddResult)sRet; +} + +FriendRemoveResult CDBAgent::RemoveFriend(string & strCharID, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return FRIEND_REMOVE_ERROR; + + int16 sRet = (int16)FRIEND_REMOVE_ERROR; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(_T("{? = CALL DELETE_FRIEND_LIST(?, ?)}"))) + ReportSQLError(m_GameDB->GetError()); + + return (FriendRemoveResult)sRet; +} + +bool CDBAgent::UpdateUser(string & strCharID, UserUpdateType type, CUser *pUser) +{ + if (strCharID != pUser->GetName()) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + pUser->m_dwTime += (uint32(UNIXTIME - pUser->m_TimeOnline) / 60); + pUser->m_TimeOnline = UNIXTIME; + char strQuest[QUEST_ARRAY_SIZE]; + char strAchieveQuest[QUEST_ARRAY_SIZE]; + uint16 strAchieveQuestKill[QUEST_ARRAY_SIZE]; + memset(strQuest, 0, sizeof(strQuest)); + memset(strAchieveQuest, 0, sizeof(strAchieveQuest)); + memset(strAchieveQuestKill, 0, sizeof(strAchieveQuestKill)); + int index = 0; + foreach (itr, pUser->m_questMap) + { + *(uint16 *)(strQuest + index) = itr->first; + *(uint8 *)(strQuest + index + 2) = itr->second; + index += 3; + } + + int index2 = 0; + foreach (itr, pUser->m_AchievequestMap) + { + + if(itr->first > 32000 + || itr->first < 0 + || itr->second == 0) + continue; + + *(uint16 *)(strAchieveQuest + index2) = itr->first; + *(uint8 *)(strAchieveQuest + index2 + 2) = itr->second; + //printf("UpdateUser ID:%d ST:%d\n",itr->first,itr->second); + index2 += 3; + } + + index2 = 0; + int AchieveQuestSize = 0; + foreach(itr,pUser->m_AchievequestMap) + { + if (itr->second == 1 || itr->second == 2) + { + Guard lock(pUser->m_bAchieveKillCount.m_lock); + _ACHIEVE_QUEST * pAchieveQuest = pUser->m_bAchieveKillCount.GetData(itr->first); + if (pAchieveQuest == nullptr) + continue; + + strAchieveQuestKill[index2] = itr->first; // 0,1 + strAchieveQuestKill[index2 + 2] = pAchieveQuest->KillCount[0]; // 2,3 + strAchieveQuestKill[index2 + 4] = pAchieveQuest->KillCount[1]; // 4,5 + AchieveQuestSize++; + index2 += 6; + } + + } + + + ByteBuffer itemBuffer, serialBuffer, itemTimeBuffer,RebStatsBuffer,QuestBuffer; + ByteBuffer VIPitemBuffer, VIPserialBuffer, VIPitemTimeBuffer; + + uint8 kcount = 0; + foreach(itr, pUser->m_QuestMonMap) + { + QuestBuffer << itr->first; + + QuestBuffer << itr->second->dCKills[0]; + QuestBuffer << itr->second->dCKills[1]; + QuestBuffer << itr->second->dCKills[2]; + QuestBuffer << itr->second->dCKills[3]; + + kcount++; + } + + if (kcount == 0) + QuestBuffer << uint16(0); + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA *pItem = &pUser->m_sItemArray[i]; + itemBuffer << pItem->nNum << pItem->sDuration << pItem->sCount; + serialBuffer << pItem->nSerialNum; + itemTimeBuffer << pItem->nExpirationTime; + } + for (int i = CWING; i <= CTOP; i++) + { + _ITEM_DATA *pItem = &pUser->m_sItemArray[i]; + itemBuffer << pItem->nNum << pItem->sDuration << pItem->sCount; + serialBuffer << pItem->nSerialNum; + itemTimeBuffer << pItem->nExpirationTime; + } + for (int a = 0; a < MAX_SLOT_VIP_STORAGE; a++) + { + _ITEM_DATA *pItem = &pUser->m_sVIPItemArray[a]; + VIPitemBuffer << pItem->nNum << pItem->sDuration << pItem->sCount; + VIPserialBuffer << pItem->nSerialNum; + VIPitemTimeBuffer << pItem->nExpirationTime; + } + + RebStatsBuffer << pUser->GetRebStatBuff(STAT_STR) << pUser->GetRebStatBuff(STAT_STA) + << pUser->GetRebStatBuff(STAT_DEX) << pUser->GetRebStatBuff(STAT_INT) << pUser->GetRebStatBuff(STAT_CHA); + + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)pUser->m_bstrSkill, sizeof(pUser->m_bstrSkill)); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)itemBuffer.contents(), itemBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)serialBuffer.contents(), serialBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)VIPitemBuffer.contents(), VIPitemBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)VIPserialBuffer.contents(), VIPserialBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strQuest, sizeof(strQuest), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)QuestBuffer.contents(), QuestBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strAchieveQuest, sizeof(strAchieveQuest), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)itemTimeBuffer.contents(), itemTimeBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)VIPitemTimeBuffer.contents(), VIPitemTimeBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strMemo.c_str(), pUser->m_strMemo.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)pUser->m_GenieOptions, sizeof(pUser->m_GenieOptions)); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strAchieveQuestKill, sizeof(strAchieveQuestKill)); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)RebStatsBuffer.contents(), RebStatsBuffer.size(), SQL_BINARY); + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_USER_DATA(" + "?, " // strCharID + "%d, %d, %d, %d, %d, " // nation, race, class, hair, rank + "%d, %d, %d, " I64FMTD ", %d, %d, " // title, level,rebLevel, exp, loyalty, face + "%d, %d, %d, " // city, knights, fame + "%d, %d, %d, " // hp, mp, sp + "%d, %d, %d, %d, %d, " // str, sta, dex, int, cha + "%d, %d, %d, %d, %d, " // authority, free points, gold, zone, bind + "%d, %d, %d, %d, %d, %d, %d, " // x, z, y, dwTime, sQuestCount, sQuestMonsterCount, sAchieveQuestCount + "?, ?, ?, ?, ?, ?,?, ?," // strSkill, strItem, strSerial, strVIPItem, strVIPSerial, strQuest, strQuestKill, strAchieveQuest + "%d, %d, ?, ?," // manner points, monthly NP, strItemTime, strVIPItemTime + "?, %d, ?, ?, ?, %d, %d, %d, " // ClanMemo Genie Time , Genie Options, strAchieveQuestKill, rebirthstats, dtUpdateClan, AchieveSkill, AchieveCover + "%d,%d, %d, %d, %d, " // vipExTime,m_iMonsterDefeatedCount, m_iUserDefeatedCount, m_iUserDeathCount, m_iAchievementPoint,LastOnline + "%d)}"), + pUser->m_bNation, pUser->m_bRace, pUser->m_sClass, pUser->m_nHair, pUser->m_bRank, + pUser->m_bTitle, pUser->m_bLevel, pUser->m_reblvl, pUser->m_iExp /* temp hack, database needs to support it */, pUser->m_iLoyalty, pUser->m_bFace, + pUser->m_bCity, pUser->m_bKnights, pUser->m_bFame, + pUser->m_sHp, pUser->m_sMp, pUser->m_sSp, + pUser->m_bStats[STAT_STR], pUser->m_bStats[STAT_STA], pUser->m_bStats[STAT_DEX], pUser->m_bStats[STAT_INT], pUser->m_bStats[STAT_CHA], + pUser->m_bAuthority, pUser->m_sPoints, pUser->m_iGold, pUser->m_bZone, pUser->m_sBind, + (int)(pUser->m_curx*100), (int)(pUser->m_curz*100), (int)(pUser->m_cury*100), pUser->m_dwTime, pUser->m_questMap.size(), pUser->m_QuestMonMap.size(), AchieveQuestSize, + pUser->m_iMannerPoint, pUser->m_iLoyaltyMonthly, pUser->m_GenieTime, uint32(UNIXTIME), pUser->m_sAchieveSkillTitle,pUser->m_sAchieveCoverTitle, + pUser->nVIPExpirationTime,pUser->m_iMonsterDefeatedCount,pUser->m_iUserDefeatedCount,pUser->m_iUserDeathCount,pUser->m_iAchievementPoint, + pUser->m_LastOnline))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + + pUser->m_lastSaveTime = UNIXTIME; + pUser->m_lastBonusTime = UNIXTIME; + return true; +} + +bool CDBAgent::UpdateWarehouseData(string & strAccountID, UserUpdateType type, CUser *pUser) +{ + if (strAccountID.length() == 0) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + + // This *should* be padded like the database field is (unnecessarily), but I want to see how MSSQL responds. + ByteBuffer itemBuffer, serialBuffer, itemTimeBuffer; + for (int i = 0; i < WAREHOUSE_MAX; i++) + { + _ITEM_DATA *pItem = &pUser->m_sWarehouseArray[i]; + itemBuffer << pItem->nNum << pItem->sDuration << pItem->sCount; + serialBuffer << pItem->nSerialNum; + itemTimeBuffer << pItem->nExpirationTime; + } + + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)itemBuffer.contents(), itemBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)serialBuffer.contents(), serialBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)itemTimeBuffer.contents(), itemTimeBuffer.size(), SQL_BINARY); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(string_format(_T("UPDATE WAREHOUSE SET nMoney=%d, dwTime=%d, WarehouseData=?, strSerial=?, WarehouseDataTime=? WHERE strAccountID=?"), + pUser->m_iBank, pUser->m_dwTime))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +int8 CDBAgent::CreateAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_KNIGHTS_ALLIANCE(%d, %d, %d, %d, %d)}"), byType, shAlliancIndex, shKnightsIndex, byEmptyIndex,bySiegeFlag))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int8 CDBAgent::InsertAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_KNIGHTS_ALLIANCE(%d, %d, %d, %d, %d)}"), byType, shAlliancIndex, shKnightsIndex, byEmptyIndex,bySiegeFlag))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int8 CDBAgent::RemoveAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_KNIGHTS_ALLIANCE(%d, %d, %d, %d, %d)}"), byType, shAlliancIndex, shKnightsIndex, byEmptyIndex,bySiegeFlag))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int8 CDBAgent::DestoryAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_KNIGHTS_ALLIANCE(%d, %d, %d, %d, %d)}"), byType, shAlliancIndex, shKnightsIndex, byEmptyIndex,bySiegeFlag))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int8 CDBAgent::CreateKnights(uint16 sClanID, uint8 bNation, string & strKnightsName, string & strChief, uint8 bFlag) +{ + int8 bRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strKnightsName.c_str(), strKnightsName.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strChief.c_str(), strChief.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL CREATE_KNIGHTS(%d, %d, %d, ?, ?)}"), sClanID, bNation, bFlag))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +int CDBAgent::UpdateKnights(uint8 bType, string & strCharID, uint16 sClanID, uint8 bDomination) +{ + int16 sRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return sRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL UPDATE_KNIGHTS(%d, ?, %d, %d)}"), bType + 0x10, sClanID, bDomination))) + ReportSQLError(m_GameDB->GetError()); + + if (bType == KNIGHTS_VICECHIEF && sRet == 0) + { + CKnights * pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights != nullptr) + { + if (pKnights->m_strViceChief_1 == "") + pKnights->m_strViceChief_1 = strCharID; + else if (pKnights->m_strViceChief_2 == "") + pKnights->m_strViceChief_2 = strCharID; + else if (pKnights->m_strViceChief_3 == "") + pKnights->m_strViceChief_3 = strCharID; + } + } + + return sRet; +} + +int CDBAgent::DeleteKnights(uint16 sClanID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + int16 sRet = -1; + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + if (!dbCommand->Execute(string_format(_T("{? = CALL DELETE_KNIGHTS (%d)}"), sClanID))) + ReportSQLError(m_GameDB->GetError()); + + return sRet; +} + +void CDBAgent::UpdateVIPStoragePassword(std::string strUserID, std::string VIPPassword) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return ; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, VIPPassword.c_str(), VIPPassword.length()); + if (!dbCommand->Execute(string_format(_T("EXEC UPDATE_USER_VIP_PASSWORD ?,?")))) + ReportSQLError(m_GameDB->GetError()); + + return; +} + +void CDBAgent::UpdateVIPStorageMinute(std::string strUserID, uint32 VIPMinute) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + if (!dbCommand->Execute(string_format(_T("EXEC UPDATE_USER_VIP_MINUTE ?,%d"), VIPMinute))) + ReportSQLError(m_GameDB->GetError()); + + return; +} + + +uint16 CDBAgent::LoadKnightsAllMembers(uint16 sClanID, Packet & result) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + if (!dbCommand->Execute(string_format(_T("SELECT strUserID, Fame, [Level], Class FROM USERDATA WHERE Knights = %d"), sClanID))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return 0; + + uint16 count = 0; + do + { + string strCharID; uint16 sClass; uint8 bFame, bLevel; + dbCommand->FetchString(1, strCharID); + dbCommand->FetchByte(2, bFame); + dbCommand->FetchByte(3, bLevel); + dbCommand->FetchUInt16(4, sClass); + + result << strCharID << bFame << bLevel << sClass + // check if user's logged in (i.e. grab logged in state) + << uint8(g_pMain->GetUserPtr(strCharID, TYPE_CHARACTER) == nullptr ? 0 : 1); + count++; + } while (dbCommand->MoveNext()); + + return count; +} + +bool CDBAgent::LoadKnightsInfo(uint16 sClanID, uint8 & bNation, std::string & strKnightsName, uint16 & sMembers, uint32 & nPoints, uint8 & bRank) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (!dbCommand->Execute(string_format(_T("SELECT Nation, IDName, Members, Points, Ranking FROM KNIGHTS WHERE IDNum=%d" ), sClanID))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + + dbCommand->FetchByte(1, bNation); + dbCommand->FetchString(2, strKnightsName); + dbCommand->FetchUInt16(3, sMembers); + dbCommand->FetchUInt32(4, nPoints); + dbCommand->FetchByte(5, bRank); + + return true; +} + +void CDBAgent::LoadKnightsAllList() +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + const tstring szSQL = _T("SELECT IDNum, Points, Ranking FROM KNIGHTS WHERE Points != 0 ORDER BY Points DESC"); + + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(szSQL)) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + uint8 bCount = 0; + int offset; + + do + { + if (bCount == 0) + { + result.clear(); + offset = result.wpos(); + result << uint8(0); + } + + uint32 nPoints; uint16 sClanID; uint8 bRanking; + dbCommand->FetchUInt16(1, sClanID); + dbCommand->FetchUInt32(2, nPoints); + dbCommand->FetchByte(3, bRanking); + + result << sClanID << nPoints << bRanking; + + // only send 100 clans at a time (no shared memory limit, yay!) + if (++bCount >= 100) + { + // overwrite the count + result.put(offset, bCount); + + CKnightsManager::RecvKnightsAllList(result); + bCount = 0; + } + } while (dbCommand->MoveNext()); + + // didn't quite make it in the last batch (if any)? send the remainder. + if (bCount < 100) + { + result.put(offset, bCount); + CKnightsManager::RecvKnightsAllList(result); + } +} + +bool CDBAgent::UpdateClanSymbol(uint16 sClanID, uint16 sSymbolSize, char *clanSymbol) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, clanSymbol, MAX_KNIGHTS_MARK, SQL_BINARY); + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS SET Mark=?, sMarkVersion += 1, sMarkLen=%d WHERE IDNum=%d"), sSymbolSize, sClanID))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +/** +* @brief Handles the clan NP donations database request. +* It is essentially the client packet's real handler +* as the packet is simply forwarded here. +* +* @param pUser The user. +* @param pkt The packet. +*/ +void CKnightsManager::ReqDonateNP(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr || !pUser->isInClan()) + return; + + uint32 amountNP; + pkt >> amountNP; + + // Ensure the user has enough NP to donate to the clan. + if (amountNP > pUser->GetLoyalty() + // Users must have at least MIN_NP_TO_DONATE to donate. + || (pUser->GetLoyalty() - amountNP) < MIN_NP_TO_DONATE) + return; + + // Ensure the clan exists + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr) + return; + + // Take player's donated NP. Don't affect monthly NP. + if (g_DBAgent.DonateClanPoints(pUser, amountNP)) + { + // Update the user's donated NP + CKnightsManager::AddUserDonatedNPinGame(pUser->GetClanID(), pUser, amountNP); + + + // Take the NP from the user and update the client. + pUser->m_iLoyalty -= amountNP; + Packet result(WIZ_LOYALTY_CHANGE, uint8(LOYALTY_NATIONAL_POINTS)); + result << pUser->m_iLoyalty << pUser->m_iLoyaltyMonthly + << uint32(0) // Clan donations(? Donations made by this user? For the clan overall?) + << amountNP; // Premium NP(? Additional NP gained?) + pUser->Send(&result); + } +} + +/** +* @brief Donates (clanPoints) clan points to the specified user's clan. +* Also increases the user's total NP donated. +* +* @param pUser The donor user. +* @param amountNP The number of national points being donated by the user. +* +* @return true if it succeeds, false if it fails. +*/ +bool CDBAgent::DonateClanPoints(CUser * pUser, uint32 amountNP) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + if (!dbCommand->Execute(string_format(_T("{CALL DONATE_CLAN_POINTS(?, %d, %d)}"), pUser->GetClanID(), amountNP))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + return true; +} + +/** +* @brief Handles the database request to refund the specified +* logged out character's donated NP. +* +* NOTE: Logged in players don't need to be handled as their NP is +* refunded in-game. +* +* @param pkt The packet. +*/ +void CKnightsManager::ReqRefundNP(Packet & pkt) +{ + string strUserID; + uint32 nRefundNP; + pkt >> strUserID >> nRefundNP; + g_DBAgent.RefundNP(strUserID, nRefundNP); +} + +/** +* @brief Handles the database request to update the +* specified clan's clan point fund. +* +* @param pkt The packet. +*/ +void CKnightsManager::ReqUpdateNP(Packet & pkt) +{ + uint16 sClanID; + uint32 nClanPointFund; + pkt >> sClanID >> nClanPointFund; + g_DBAgent.UpdateClanFund(sClanID, nClanPointFund); +} + +/** +* @brief Refunds the specified amount of NP to a logged out character. +* +* @param strUserID Character's name. +* @param nRefundNP The amount of NP to refund. +*/ +void CDBAgent::RefundNP(string & strUserID, uint32 nRefundNP) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + if (!dbCommand->Execute(string_format(_T("UPDATE USERDATA SET Loyalty += %d WHERE strUserID = ?"), nRefundNP))) + ReportSQLError(m_GameDB->GetError()); +} + + + +/** +* @brief Change authority is logged out character. +* +* @param strUserID Character's name. +* @param nAuthority New user authority. +*/ +void CDBAgent::UpdateUserAuthority(string & strUserID, uint16 nAuthority) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + if (!dbCommand->Execute(string_format(_T("UPDATE USERDATA SET Authority = %d WHERE strUserID = ?"), nAuthority))) + ReportSQLError(m_GameDB->GetError()); +} + +/** +* @brief Updates the clan fund. +* +* @param sClanID Identifier for the clan. +* @param nClanPointFund The current clan point fund. +*/ +void CDBAgent::UpdateClanFund(uint16 sClanID, uint32 nClanPointFund) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS SET ClanPointFund = %d WHERE IDNum = %d"), nClanPointFund, sClanID))) + ReportSQLError(m_GameDB->GetError()); +} + +/** +* @brief Updates the clan notice. +* +* @param sClanID Identifier for the clan. +* @param strClanNotice The clan notice. +*/ +void CDBAgent::UpdateClanNotice(uint16 sClanID, std::string & strClanNotice) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strClanNotice.c_str(), strClanNotice.length()); + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS SET strClanNotice = ? WHERE IDNum = %d"), sClanID))) + ReportSQLError(m_GameDB->GetError()); +} + + +NameChangeOpcode CDBAgent::UpdateCharacterName(std::string & strAccountID, std::string & strUserID, std::string & strNewUserID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return NameChangeInvalidName; + + int16 sRet = 1; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strNewUserID.c_str(), strNewUserID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL CHANGE_NEW_ID(%d, ?, ?, ?, 1)}"), g_pMain->m_nServerNo))) + ReportSQLError(m_GameDB->GetError()); + + return NameChangeOpcode(sRet); +} + + +ClanNameChangeOpcode CDBAgent::UpdateClanName(std::string & strUserID, uint16 sClanID, std::string & strNewKnightsID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return ClanNameChangeInvalidName; + + int16 sRet = 1; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserID.c_str(), strUserID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strNewKnightsID.c_str(), strNewKnightsID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL CHANGE_NEW_KNIGHTS_ID(%d, ?, ?, %d, 1)}"), g_pMain->m_nServerNo, sClanID))) + ReportSQLError(m_GameDB->GetError()); + + return ClanNameChangeOpcode(sRet); +} + +/** +* @brief Handles clan cape database updates. +* +* @param sClanID Identifier for the clan. +* @param sCapeID Identifier for the cape. +* @param r Red colour component. +* @param g Green colour component. +* @param b Blue colour component. +* +* @return true if it succeeds, false if it fails. +*/ +void CDBAgent::UpdateCape(uint16 sClanID, uint16 sCapeID, uint8 r, uint8 g, uint8 b) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS SET sCape=%d, bCapeR=%d, bCapeG=%d, bCapeB=%d WHERE IDNum=%d"), + sCapeID, r, g, b, sClanID))) + ReportSQLError(m_GameDB->GetError()); +} + + +void CDBAgent::UpdatePremiumType(uint8 bType, std::string StrAccountID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, StrAccountID.c_str(), StrAccountID.length()); + + if (!dbCommand->Execute(string_format(_T("UPDATE TB_USER SET bPremiumType=%d WHERE strAccountID=?"), + bType))) + ReportSQLError(m_GameDB->GetError()); +} +/** +* @brief Updates the clan grade. +* +* @param sClanID Identifier for the clan. +* @param byFlag The clan type (training, promoted, etc). +* @param sCapeID Identifier for the cape. +*/ +void CDBAgent::UpdateClanGrade(uint16 sClanID, uint8 byFlag, uint16 sCapeID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS SET sCape=%d, Flag=%d WHERE IDNum=%d"), + sCapeID, byFlag, sClanID))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::UpdateBattleEvent(string & strCharID, uint8 bNation) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(string_format(_T("UPDATE BATTLE SET byNation=%d, strUserName=? WHERE sIndex=%d"), bNation, g_pMain->m_nServerNo))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::AccountLogout(string & strAccountID) +{ + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + if (!dbCommand->Execute(_T("{CALL ACCOUNT_LOGOUT(?)}"))) + ReportSQLError(m_AccountDB->GetError()); +} + +void CDBAgent::UpdateConCurrentUserCount(int nServerNo, int nZoneNo, int nCount) +{ + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("UPDATE CONCURRENT SET zone%d_count = %d WHERE serverid = %d"), nZoneNo, nCount, nServerNo))) + ReportSQLError(m_AccountDB->GetError()); +} + +// This is what everything says it should do, +// but the client doesn't seem to care if it's over 1 +uint8 CDBAgent::GetUnreadLetterCount(string & strCharID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + uint8 bCount = 0; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bCount); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(_T("{? = CALL MAIL_BOX_CHECK_COUNT(?)}"))) + { + ReportSQLError(m_GameDB->GetError()); + return 0; + } + + return bCount; +} + +bool CDBAgent::GetLetterList(string & strCharID, Packet & result, bool bNewLettersOnly /* = true*/) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + int8 bCount = 0; + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bCount); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(string_format(_T("{? = CALL MAIL_BOX_REQUEST_LIST(?, %d)}"), bNewLettersOnly))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + result << uint8(1); + int offset = result.wpos(); + result << bCount; // placeholder for count + + if (!dbCommand->hasData()) + return true; + + result.SByte(); + do + { + string strSubject, strSender; + uint32 nLetterID, nItemID, nCoins, nDate; + uint16 sCount, sDaysRemaining; + uint8 bStatus, bType; + + dbCommand->FetchUInt32(1, nLetterID); + dbCommand->FetchByte(2, bStatus); + dbCommand->FetchByte(3, bType); + dbCommand->FetchString(4, strSubject); + dbCommand->FetchString(5, strSender); + dbCommand->FetchByte(6, bType); + dbCommand->FetchUInt32(7, nItemID); + dbCommand->FetchUInt16(8, sCount); + dbCommand->FetchUInt32(9, nCoins); + dbCommand->FetchUInt32(10, nDate); + dbCommand->FetchUInt16(11, sDaysRemaining); + + result << nLetterID // letter ID + << bStatus // letter status, doesn't seem to affect anything + << strSubject << strSender + << bType; + + if (bType == 2) + result << nItemID << sCount << nCoins; + + result << nDate // date (yy*10000 + mm*100 + dd) + << uint8(sDaysRemaining) << uint8(1); + + } while (dbCommand->MoveNext()); + + result.put(offset, bCount); // set count now that the result set's been read + + return true; +} + +int8 CDBAgent::SendLetter(string & strSenderID, string & strRecipientID, string & strSubject, string & strMessage, uint8 bType, _ITEM_DATA * pItem, int32 nCoins) +{ + uint64 nSerialNum = 0; + uint32 nItemID = 0; + uint16 sCount = 0, sDurability = 0; + uint32 nExpirationTime = 0; + int8 bRet = 0; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return 0; + + // This is a little bit redundant, but best to be sure. + if (bType == 2 + && pItem != nullptr) + { + nItemID = pItem->nNum; + sCount = pItem->sCount; + sDurability = pItem->sDuration; + nSerialNum = pItem->nSerialNum; + nExpirationTime = pItem->nExpirationTime; + } + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strSenderID.c_str(), strSenderID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strRecipientID.c_str(), strRecipientID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strSubject.c_str(), strSubject.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strMessage.c_str(), strMessage.length()); + + // MSSQL uses signed types. + if (!dbCommand->Execute(string_format(_T("{? = CALL MAIL_BOX_SEND(?, ?, ?, ?, %d, %d, %d, %d, " I64FMTD ",%d, %d)}"), + bType, nItemID, sCount, sDurability, nSerialNum,nExpirationTime, nCoins))) + { + ReportSQLError(m_GameDB->GetError()); + return 0; + } + + return bRet; +} + +bool CDBAgent::ReadLetter(string & strCharID, uint32 nLetterID, string & strMessage) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(string_format(_T("{CALL MAIL_BOX_READ(?, %d)}"), nLetterID))) + { + ReportSQLError(m_GameDB->GetError()); + return false; + } + + if (!dbCommand->hasData()) + return false; + + dbCommand->FetchString(1, strMessage); + return true; +} + +int8 CDBAgent::GetItemFromLetter(string & strCharID, uint32 nLetterID, uint32 & nItemID, uint16 & sCount, uint16 & sDurability, uint32 & nCoins, uint64 & nSerialNum, uint32 & nExpirationTime) +{ + int8 bRet = -1; // error + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return bRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(string_format(_T("{? = CALL MAIL_BOX_GET_ITEM(?, %d)}"), nLetterID))) + ReportSQLError(m_GameDB->GetError()); + + if (dbCommand->hasData()) + { + dbCommand->FetchUInt32(1, nItemID); + dbCommand->FetchUInt16(2, sCount); + dbCommand->FetchUInt16(3, sDurability); + dbCommand->FetchUInt32(4, nCoins); + dbCommand->FetchUInt64(5, nSerialNum); + dbCommand->FetchUInt32(6, nExpirationTime); + } + + return bRet=1; +} + +void CDBAgent::DeleteLetter(string & strCharID, uint32 nLetterID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + // NOTE: The official implementation passes all 5 letter IDs. + if (!dbCommand->Execute(string_format(_T("UPDATE MAIL_BOX SET bDeleted = 1 WHERE nLetterID = %d AND strRecipientID = ?"), nLetterID))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::ResendLetter(string & strCharID, uint32 nLetterID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + // NOTE: The official implementation passes all 5 letter IDs. + if (!dbCommand->Execute(string_format(_T("UPDATE MAIL_BOX SET bStatus = 1 WHERE nLetterID = %d AND strRecipientID = ?"), nLetterID))) + ReportSQLError(m_GameDB->GetError()); +} + +/** +* @brief Updates the election status. +* +* @param byType Election status. +* @param byNation Electoral nation. +*/ +void CDBAgent::UpdateElectionStatus(uint8 byType, uint8 byNation) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("{CALL KING_UPDATE_ELECTION_STATUS(%d, %d)}"), byType, byNation))) + ReportSQLError(m_GameDB->GetError()); +} + +/** +* @brief Updates the election list. +* +* @param byDBType Procedure-specific database action. +* If 1, insert. If 2, delete. +* @param byType Flag to specify what the user's in the election list for (election, impeachment, and thereof). +* @param byNation Electoral nation. +* @param sKnights The nominee's clan ID. +* @param nAmount Vote count. +* @param strNominee The nominee's name. +*/ +void CDBAgent::UpdateElectionList(uint8 byDBType, uint8 byType, uint8 byNation, uint16 sKnights, uint32 nAmount, string & strNominee, CUser * pUser) +{ + int16 sRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr || pUser == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strAccountID.c_str(), pUser->m_strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strNominee.c_str(), strNominee.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL KING_ELECTION_PROC(?, ?, %d, ?, %d)}"), pUser->GetNation(), sRet))) + ReportSQLError(m_GameDB->GetError()); + + Packet result(WIZ_KING, uint8(1)); + result << byType << uint8(2) << sRet; + pUser->Send(&result); +} + +int16 CDBAgent::UpdateElectionProc(CUser *pUser) +{ + int16 sRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr || pUser == nullptr) + return sRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strAccountID.c_str(), pUser->m_strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetName().c_str(), pUser->GetName().length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL KING_ELECTION_PROC(?, ?, %d, ?, 0)}"),pUser->GetNation()))) + ReportSQLError(m_GameDB->GetError()); + + return sRet; +} + +void CDBAgent::SendUDP_ElectionStatus(uint8 m_byType) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("UPDATE KING_SYSTEM SET byType = %d"), m_byType))) + ReportSQLError(m_GameDB->GetError()); +} + +bool CDBAgent::GetElectionResult(uint8 byNation, CKingSystem *KingSystem) +{ + if (KingSystem == nullptr) + return false; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (!dbCommand->Execute(string_format(_T("{CALL KING_ELECTION_FINISH(%d)}"),byNation))) + ReportSQLError(m_GameDB->GetError()); + + if (!dbCommand->hasData()) + return false; + + + + + + dbCommand->FetchString(1, KingSystem->m_strOldKingName); + dbCommand->FetchString(2, KingSystem->m_strKingName); + dbCommand->FetchUInt16(3, KingSystem->winPercent); + + return true; +} + +/** +* @brief Nominates/recommends strNominee as King. +* +* @param strNominator The nominator. +* @param strNominee The nominee. +* @param byNation Their nation. +* +* @return . +*/ +int16 CDBAgent::UpdateCandidacyRecommend(std::string & strNominator, std::string & strNominee, uint8 byNation) +{ + int16 sRet = -1; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return sRet; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strNominee.c_str(), strNominee.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strNominator.c_str(), strNominator.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL KING_CANDIDACY_RECOMMEND(?, ?, %d, 0)}"), byNation))) + ReportSQLError(m_GameDB->GetError()); + + return sRet; +} + +/** +* @brief Updates the candidacy notice board. +* +* @param strCharID Candidate's name. +* @param byNation Candidate's nation. +* @param strNotice The notice. +*/ +void CDBAgent::UpdateCandidacyNoticeBoard(string & strCharID, uint8 byNation, string & strNotice) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + // Field is 1024 bytes in the database. + uint8 strBinaryNotice[1024] = {0}; + uint16 sNoticeLen = strNotice.length(); + + // This shouldn't happen, but... in the horribly unlikely event it does... we're ready. + if (sNoticeLen > sizeof(strBinaryNotice)) + sNoticeLen = sizeof(strBinaryNotice); + + memcpy(strBinaryNotice, strNotice.c_str(), sNoticeLen); + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strBinaryNotice, sizeof(strBinaryNotice)); + + if (!dbCommand->Execute(string_format(_T("{CALL KING_CANDIDACY_NOTICE_BOARD_PROC(?, %d, %d, ?)}"), + sNoticeLen, byNation))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::UpdateNoahOrExpEvent(uint8 byType, uint8 byNation, uint8 byAmount, uint8 byDay, uint8 byHour, uint8 byMinute, uint16 sDuration) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("{CALL KING_UPDATE_NOAH_OR_EXP_EVENT(%d, %d, %d, %d, %d, %d, %d)}"), + byType, byNation, byAmount, byDay, byHour, byMinute, sDuration))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::InsertPrizeEvent(uint8 byType, uint8 byNation, uint32 nCoins, std::string & strCharID) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length()); + if (!dbCommand->Execute(string_format(_T("{CALL KING_INSERT_PRIZE_EVENT(%d, %d, %d, ?)}"), + byType, byNation, nCoins))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::InsertTaxEvent(uint8 KingNationTax, uint8 Nation, uint32 TerritoryTax) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (TerritoryTax > 0) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KING_SYSTEM SET nTerritoryTax -= %d WHERE byNation = %d"), TerritoryTax, Nation))) + ReportSQLError(m_GameDB->GetError()); + } + else + { + if (!dbCommand->Execute(string_format(_T("UPDATE KING_SYSTEM SET byTerritoryTariff = %d WHERE byNation = %d"), KingNationTax, Nation))) + ReportSQLError(m_GameDB->GetError()); + } +} + +void CDBAgent::InsertTaxUpEvent(uint8 Nation, uint32 TerritoryTax) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + if (Nation == ZONE_ELMORAD || Nation == ZONE_KARUS) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KING_SYSTEM SET nTerritoryTax += %d WHERE byNation = %d"), TerritoryTax, Nation))) + ReportSQLError(m_GameDB->GetError()); + }else if(Nation == ZONE_ELMORAD_ESLANT || Nation == ZONE_KARUS_ESLANT) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KING_SYSTEM SET nNationalTreasury += %d WHERE byNation = %d"), TerritoryTax, (Nation - 10)))) + ReportSQLError(m_GameDB->GetError()); + } + else if (Nation == ZONE_MORADON) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS_SIEGE_WARFARE SET nMoradonTax += %d WHERE sCastleIndex = 1"), TerritoryTax))) + ReportSQLError(m_GameDB->GetError()); + } + else if (Nation == ZONE_DELOS) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS_SIEGE_WARFARE SET nDellosTax += %d WHERE sCastleIndex = 1"), TerritoryTax))) + ReportSQLError(m_GameDB->GetError()); + } +} +/** +* @brief Resets the monthly NP total accumulated in the last month. +*/ +void CDBAgent::ResetLoyaltyMonthly() +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(_T("{CALL RESET_LOYALTY_MONTHLY}"))) + ReportSQLError(m_GameDB->GetError()); +} + +/** +* @brief Clears the remaining users who were connected to this server +from the logged in user list that may still be there as the +result of an improper shutdown. +*/ +void CDBAgent::ClearRemainUsers() +{ + _ZONE_SERVERINFO * pInfo = g_pMain->m_ServerArray.GetData(g_pMain->m_nServerNo); + if (pInfo == nullptr) + return; + + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pInfo->strServerIP.c_str(), pInfo->strServerIP.length()); + if (!dbCommand->Execute(_T("{CALL CLEAR_REMAIN_USERS(?)}"))) + ReportSQLError(m_AccountDB->GetError()); +} + +void CDBAgent::InsertUserDailyOp(_USER_DAILY_OP * pUserDailyOp) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUserDailyOp->strUserId.c_str(), pUserDailyOp->strUserId.length()); + if (!dbCommand->Execute(string_format(_T("{CALL INSERT_USER_DAILY_OP(?, %d, %d, %d, %d, %d, %d, %d, %d)}"), + pUserDailyOp->ChaosMapTime, pUserDailyOp->UserRankRewardTime, pUserDailyOp->PersonalRankRewardTime, pUserDailyOp->KingWingTime))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::UpdateUserDailyOp(std::string strUserId, uint8 type, int32 sUnixTime) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strUserId.c_str(), strUserId.length()); + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_USER_DAILY_OP(?, %d, %d)}"), type, sUnixTime))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::UpdateRanks() +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(_T("{CALL UPDATE_RANKS}"))) + ReportSQLError(m_GameDB->GetError()); +} + +int8 CDBAgent::NationTransfer(std::string strAccountID, uint16 Race1, uint16 Race2, uint16 Race3, uint16 Race4) +{ + int8 bRet = 3; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(string_format(_T("{? = CALL ACCOUNT_NATION_TRANSFER(?,%d,%d,%d,%d)}"),Race1,Race2,Race3,Race4))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + + +int8 CDBAgent::YanChar(std::string strAccountID) +{ + int8 bRet = 0; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(_T("{? = CALL ACCOUNT_NATION_CHAR_COUNT(?)}"))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + + +int8 CDBAgent::YanCharClan(std::string strAccountID) +{ + int8 bRet = 0; + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(_T("{? = CALL ACCOUNT_NATION_CHAR_CLAN(?)}"))) + ReportSQLError(m_GameDB->GetError()); + + return bRet; +} + +/** +* @brief Change knight cash is account. +* +* @param strAccountID Character's Account name. +* @param KnightCash Added knight cash amount +*/ +void CDBAgent::UpdateAccountKnightCash(string & strAccountID, uint32 KnightCash) +{ + unique_ptr dbCommand(m_AccountDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_KNIGHT_CASH (?, %d)}"), KnightCash))) + ReportSQLError(m_AccountDB->GetError()); +} + +void CDBAgent::GetClanUserData(uint16 sClanID, _KNIGHTS_USER & p) +{ + + _KNIGHTS_USER * pUser = &p; + + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->strUserName.c_str(), pUser->strUserName.length()); + if (!dbCommand->Execute(string_format(_T("SELECT Fame, [Level], Class, strMemo, dtUpdateClan FROM USERDATA WHERE Knights = %d AND strUserID = ?"), sClanID))) + { + ReportSQLError(m_GameDB->GetError()); + return; + } + + if (!dbCommand->hasData()) + return; + + int i = 1; + + dbCommand->FetchByte(i++,pUser->m_sFame); + dbCommand->FetchByte(i++,pUser->m_bLevel); + dbCommand->FetchUInt16(i++, pUser->m_sClass); + dbCommand->FetchString(i++, pUser->strUserMemo); + dbCommand->FetchUInt32(i++, pUser->m_lastLogined); + + return; + +} + + +void CDBAgent::UpdateSiege(int16 m_sCastleIndex, int16 m_sMasterKnights, int16 m_bySiegeType, int16 m_byWarDay, int16 m_byWarTime, int16 m_byWarMinute) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (!dbCommand->Execute(string_format(_T("{CALL UPDATE_SIEGE (%d, %d, %d, %d, %d, %d)}"), m_sCastleIndex, m_sMasterKnights, m_bySiegeType, m_byWarDay, m_byWarTime, m_byWarMinute))) + ReportSQLError(m_AccountDB->GetError()); +} + +void CDBAgent::UpdateSiegeTax(uint8 Zone, int16 ZoneTarrif) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + if (Zone == ZONE_DELOS) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS_SIEGE_WARFARE SET sDellosTariff = %d"), ZoneTarrif))) + ReportSQLError(m_GameDB->GetError()); + } + else if (Zone == ZONE_MORADON) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS_SIEGE_WARFARE SET sMoradonTariff = %d"), ZoneTarrif))) + ReportSQLError(m_GameDB->GetError()); + } + else if (Zone == 0) + { + if (!dbCommand->Execute(string_format(_T("UPDATE KNIGHTS_SIEGE_WARFARE SET nDungeonCharge = 0, nMoradonTax = 0, nDellosTax = 0")))) + ReportSQLError(m_GameDB->GetError()); + } +} + +void CDBAgent::InsertRepurchase(uint32 nItemID, time_t RepTime, uint64 nSerial, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (pUser == nullptr + || pUser->m_bLogout) + return; + + ByteBuffer rSerial; + rSerial << nSerial; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)rSerial.contents(), rSerial.size(), SQL_BINARY); + + if (!dbCommand->Execute(string_format(_T("{CALL INSERT_REPURCHASE(?, %d, %d, ?)}"), nItemID, RepTime))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::DeleteRepurchase(uint32 nItemID, time_t RepTime, CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (pUser == nullptr + || pUser->m_bLogout) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + + if (!dbCommand->Execute(string_format(_T("DELETE FROM REPURCHASE_ITEMS WHERE strUserID = ? and nItemID = %d and nRepTime = %d"), nItemID, RepTime))) + ReportSQLError(m_GameDB->GetError()); +} + +void CDBAgent::LoadRepurchase(CUser *pUser) +{ + unique_ptr dbCommand(m_GameDB->CreateCommand()); + if (dbCommand.get() == nullptr) + return; + + if (pUser == nullptr + || pUser->m_bLogout) + return; + + dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->m_strUserID.c_str(), pUser->m_strUserID.length()); + + if (!dbCommand->Execute(_T("SELECT nItemID, nRepTime FROM REPURCHASE_ITEMS WHERE strUserID = ? ORDER BY nRepTime ASC"))) + ReportSQLError(m_GameDB->GetError()); + + pUser->m_RepurchaseMap.clear(); + + uint32 rCount = 1, rTime, rItemID;; + if (dbCommand->hasData()) + { + do + { + dbCommand->FetchUInt32(1, rItemID); + dbCommand->FetchUInt32(2, rTime); + + if (rTime <= UNIXTIME) + { + DeleteRepurchase(rItemID, rTime, pUser); + continue; + } + + _ITEM_REPURCHASE * rItem = new _ITEM_REPURCHASE; + + rItem->nNum = rItemID; + rItem->tRepTime = rTime; + + pUser->m_RepurchaseMap.insert(std::make_pair(rCount, rItem)); + rCount++; + } while (dbCommand->MoveNext()); + } +} + diff --git a/server/GameServer/DBAgent.h b/server/GameServer/DBAgent.h new file mode 100644 index 0000000..576728d --- /dev/null +++ b/server/GameServer/DBAgent.h @@ -0,0 +1,176 @@ +#pragma once + +#include "../shared/database/OdbcConnection.h" + +enum UserUpdateType +{ + UPDATE_LOGOUT, + UPDATE_ALL_SAVE, + UPDATE_PACKET_SAVE, +}; + +enum RentalType +{ + RENTAL_TYPE_IN_LIST = 1, + RENTAL_TYPE_LENDER = 2, + RENTAL_TYPE_BORROWER = 3 +}; + +struct _USER_RENTAL_ITEM +{ + std::string strUserID; + uint64 nSerialNum; + uint32 nRentalIndex, nItemID, nRentalMoney; + uint16 sDurability, sRentalTime; + int16 sMinutesRemaining; + uint8 byRentalType, byRegType; + char szTimeRental[30]; + + _USER_RENTAL_ITEM() + { + memset(&szTimeRental, 0, sizeof(szTimeRental)); + } +}; + +typedef std::map UserRentalMap; + +class Packet; +class CUser; +struct _ITEM_DATA; +class CDBAgent +{ +public: + CDBAgent(); + + + bool Startup(bool bMarsEnabled, + tstring & strAccountDSN, tstring & strAccountUID, tstring & strAccountPWD, + tstring & strGameDSN, tstring & strGameUID, tstring & strGamePWD); + + bool Connect(bool bMarsEnabled, + tstring & strAccountDSN, tstring & strAccountUID, tstring & strAccountPWD, + tstring & strGameDSN, tstring & strGameUID, tstring & strGamePWD); + + void ReportSQLError(OdbcError *pError); + + + int8 AccountLogin(std::string & strAccountID, std::string & strPasswd); + uint8 NationSelect(std::string & strAccountID, uint8 bNation); + bool GetAllCharID(std::string & strAccountID, std::string & strCharID1, std::string & strCharID2, std::string & strCharID3, std::string & strCharID4); + bool SetAllCharID(std::string & strAccountID, std::string & strCharID1, std::string & strCharID2, std::string & strCharID3, std::string & strCharID4); + void LoadCharInfo(std::string & strCharID, ByteBuffer & result); + void LoadCharSeal(std::string & strCharID, ByteBuffer & result); + uint16 LoadAccountNTS(std::string & strCharID); + uint8 LoadYanCharHAS(std::string & strAccountID, std::string & strCharID); + uint64 GetSerialByID(uint32 ID); + uint8 LoadCharRace(std::string & strCharID); + uint64 LoadCharExp(std::string & strCharID); + uint8 LoadYanCharCount(std::string & strCharID); + uint8 LoadCharLevel(std::string & strCharID); + uint16 LoadCharKnights(std::string & strCharID); + uint8 LoadCharNation(std::string & strCharID); + void GetClanUserData(uint16 sClanID, _KNIGHTS_USER & p); + int8 ChangeHair(std::string & strAccountID, std::string & strCharID, uint8 bOpcode, uint8 bFace, uint32 nHair); + int8 CreateNewChar(std::string & strAccountID, int index, std::string & strCharID, uint8 bRace, uint16 sClass, uint32 nHair, uint8 bFace, uint8 bStr, uint8 bSta, uint8 bDex, uint8 bInt, uint8 bCha); + void LoadRentalData(std::string & strAccountID, std::string & strCharID, UserRentalMap & rentalData); + void LoadItemSealData(std::string & strAccountID, std::string & strCharID, UserItemSealMap & itemSealData); + uint8 UpdatePetData(uint64 PetSerial, CPet *pPet); + uint8 LoadPetData(uint64 PetSerial, CPet *pPet); + uint8 InsertPetData(uint64 PetSerial, CPet *pPet); + uint8 InsertCypherRingData(uint64 Serial, _CYPHERRING_DATA *pData, std::string strPasswd); + uint8 InsertCypherRingChar(std::string strAccountID, uint64 Serial); + bool LoadUserData(std::string & strAccountID, std::string & strCharID, CUser *pUser); + bool LoadWarehouseData(std::string & strAccountID, CUser *pUser); + bool LoadPremiumServiceUser(std::string & strAccountID, CUser *pUser); + bool LoadSavedMagic(CUser *pUser); + bool SetLogInInfo(std::string & strAccountID, std::string & strCharID, std::string & strServerIP, short sServerNo, std::string & strClientIP, uint8 bInit); + bool SavePremiumServiceUser(CUser *pUser, _PREMIUM_TYPE * pPremium); + + bool LoadWebItemMall(std::vector<_ITEM_DATA> & itemList, CUser *pUser); + bool ClearWebItemMall(CUser *pUser); + + bool LoadSkillShortcut(Packet & result, CUser *pUser); + void SaveSkillShortcut(uint16 sCount, char *buff, CUser *pUser); + void RequestFriendList(std::vector & friendList, CUser *pUser); + FriendAddResult AddFriend(short sid, short tid); + FriendRemoveResult RemoveFriend(std::string & strCharID, CUser *pUser); + + bool UpdateUser(std::string & strCharID, UserUpdateType type, CUser *pUser); + bool UpdateWarehouseData(std::string & strAccountID, UserUpdateType type, CUser *pUser); + bool UpdateSavedMagic(CUser *pUser); + uint8 SealItem(std::string strSealPasswd, uint64 nItemSerial, uint32 nItemID, uint8 bSealType, CUser *pUser); + + int8 CreateKnights(uint16 sClanID, uint8 bNation, std::string & strKnightsName, std::string & strChief, uint8 bFlag = 1); + int UpdateKnights(uint8 bType, std::string & strCharID, uint16 sClanID, uint8 bDomination); + int DeleteKnights(uint16 sClanID); + void UpdateVIPStoragePassword(std::string strUserID, std::string VIPPassword); + void UpdateVIPStorageMinute(std::string strUserID, uint32 VIPMinute); + uint16 LoadKnightsAllMembers(uint16 sClanID, Packet & result); + int8 CreateAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag); + int8 InsertAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag); + int8 RemoveAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag); + int8 DestoryAlliance(uint8 byType, uint16 shAlliancIndex, uint16 shKnightsIndex, uint8 byEmptyIndex, uint8 bySiegeFlag); + bool LoadKnightsInfo(uint16 sClanID, uint8 & bNation, std::string & strKnightsName, uint16 & sMembers, uint32 & nPoints, uint8 & bRank); + void LoadKnightsAllList(); + bool UpdateClanSymbol(uint16 sClanID, uint16 sSymbolSize, char *clanSymbol); + bool DonateClanPoints(CUser * pUser, uint32 amountNP); + void RefundNP(std::string & strUserID, uint32 nRefundNP); + void UpdateUserAuthority(std::string & strUserID, uint16 nAuthority); + void UpdateClanFund(uint16 sClanID, uint32 nClanPointFund); + void UpdateClanNotice(uint16 sClanID, std::string & strClanNotice); + NameChangeOpcode UpdateCharacterName(std::string & strAccountID, std::string & strUserID, std::string & strNewUserID); + ClanNameChangeOpcode UpdateClanName(std::string & strUserID, uint16 sClanID, std::string & strNewKnightsID); + void UpdateCape(uint16 sClanID, uint16 sCapeID, uint8 r, uint8 g, uint8 b); + void UpdatePremiumType(uint8 bType, std::string StrAccountID); + void UpdateClanGrade(uint16 sClanID, uint8 byFlag, uint16 sCapeID); + void UpdateAccountKnightCash(std::string & strAccountID, uint32 KnightCash = 0); + void UpdateBattleEvent(std::string & strCharID, uint8 bNation); + void AccountLogout(std::string & strAccountID); + + void InsertRepurchase(uint32 nItemID, time_t RepTime, uint64 nSerial, CUser *pUser); + void DeleteRepurchase(uint32 nItemID, time_t RepTime, CUser *pUser); + void LoadRepurchase(CUser *pUser); + + + void UpdateConCurrentUserCount(int nServerNo, int nZoneNo, int nCount); + + uint8 GetUnreadLetterCount(std::string & strCharID); + bool GetLetterList(std::string & strCharID, Packet & result, bool bNewLettersOnly = true); + int8 SendLetter(std::string & strSenderID, std::string & strRecipientID, std::string & strSubject, std::string & strMessage, uint8 bType, _ITEM_DATA * pItem, int32 nCoins); + bool ReadLetter(std::string & strCharID, uint32 nLetterID, std::string & strMessage); + int8 GetItemFromLetter(std::string & strCharID, uint32 nLetterID, uint32 & nItemID, uint16 & sCount, uint16 & sDurability, uint32 & nCoins, uint64 & nSerialNum, uint32 & nExpirationTime); + void DeleteLetter(std::string & strCharID, uint32 nLetterID); + void ResendLetter(std::string & strCharID, uint32 nLetterID); + void SendUDP_ElectionStatus(uint8 m_byType); + bool GetElectionResult(uint8 byNation,CKingSystem *KingSystem); + void UpdateElectionStatus(uint8 byType, uint8 byNation); + void UpdateElectionList(uint8 byDBType, uint8 byType, uint8 byNation, uint16 sKnights, uint32 nAmount, std::string & strNominee, CUser * pUser); + int16 UpdateElectionProc(CUser * pUser); + int16 UpdateCandidacyRecommend(std::string & strNominator, std::string & strNominee, uint8 byNation); + void UpdateCandidacyNoticeBoard(std::string & strCharID, uint8 byNation, std::string & strNotice); + void UpdateNoahOrExpEvent(uint8 byType, uint8 byNation, uint8 byAmount, uint8 byDay, uint8 byHour, uint8 byMinute, uint16 sDuration); + void InsertPrizeEvent(uint8 byType, uint8 byNation, uint32 nCoins, std::string & strCharID); + void InsertTaxEvent(uint8 KingNationTax, uint8 Nation, uint32 TerritoryTax = 0); + void InsertTaxUpEvent(uint8 Nation, uint32 TerritoryTax); + void ResetLoyaltyMonthly(); + void ClearRemainUsers(); + void InsertUserDailyOp(_USER_DAILY_OP * pUserDailyOp); + void UpdateUserDailyOp(std::string strUserId, uint8 type, int32 sUnixTime); + void UpdateRanks(); + void UpdateSiege(int16 m_sCastleIndex, int16 m_sMasterKnights, int16 m_bySiegeType, int16 m_byWarDay, int16 m_byWarTime, int16 m_byWarMinute); + void UpdateSiegeTax(uint8 Zone, int16 ZoneTarrif); + + int8 NationTransfer(std::string strAccountID, uint16 Race1, uint16 Race2, uint16 Race3, uint16 Race4); + int8 YanChar(std::string strAccountID); + int8 YanCharClan(std::string strAccountID); + + ~CDBAgent(); + +private: + OdbcConnection *m_GameDB, *m_AccountDB; + std::recursive_mutex m_lock; + + friend class CGameServerDlg; +}; + +extern CDBAgent g_DBAgent; \ No newline at end of file diff --git a/server/GameServer/DatabaseThread.cpp b/server/GameServer/DatabaseThread.cpp new file mode 100644 index 0000000..ef9bc66 --- /dev/null +++ b/server/GameServer/DatabaseThread.cpp @@ -0,0 +1,1281 @@ +#include "stdafx.h" +#include "../shared/Condition.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "DBAgent.h" + + + +extern CDBAgent g_DBAgent; + +using std::string; + +static std::queue _queue; +static bool _running = true; +static std::recursive_mutex _lock; + +static Condition s_hEvent; +static Thread * s_thread; + +void DatabaseThread::Startup() +{ + s_thread = new Thread(ThreadProc, (void *)1); +} + +void DatabaseThread::AddRequest(Packet * pkt) +{ + _lock.lock(); + _queue.push(pkt); + _lock.unlock(); + s_hEvent.Signal(); +} + +uint32 THREADCALL DatabaseThread::ThreadProc(void * lpParam) +{ + while (true) + { + Packet *p = nullptr; + + // Pull the next packet from the shared queue + _lock.lock(); + if (_queue.size()) + { + p = _queue.front(); + _queue.pop(); + } + _lock.unlock(); + + // If there's no more packets to handle, wait until there are. + if (p == nullptr) + { + // If we're shutting down, don't bother waiting for more (there are no more). + if (!_running) + break; + + s_hEvent.Wait(); + continue; + } + + // References are fun =p + Packet & pkt = *p; + + // First 2 bytes are always going to be the socket ID + // or -1 for no user. + int16 uid = pkt.read(); + + // Attempt to lookup the user if necessary + CUser *pUser = nullptr; + if (uid >= 0) + { + pUser = g_pMain->GetUserPtr(uid); + + // Check to make sure they're still connected. + if (pUser == nullptr) + continue; + } + + uint8 subOpcode; + switch (pkt.GetOpcode()) + { + case WIZ_LOGIN: + if (pUser) pUser->ReqAccountLogIn(pkt); + break; + case WIZ_SEL_NATION: + if (pUser) pUser->ReqSelectNation(pkt); + break; + case WIZ_ALLCHAR_INFO_REQ: + if (pUser) pUser->ReqAllCharInfo(pkt); + break; + case WIZ_CHANGE_HAIR: + if (pUser) pUser->ReqChangeHair(pkt); + break; + case WIZ_NEW_CHAR: + if (pUser) pUser->ReqCreateNewChar(pkt); + break; + case WIZ_SEL_CHAR: + if (pUser) pUser->ReqSelectCharacter(pkt); + break; + case WIZ_CHAT: + pkt >> subOpcode; + if (subOpcode == CLAN_NOTICE) + CKnightsManager::ReqUpdateClanNotice(pkt); + break; + case WIZ_KNIGHTS_PROCESS: + CKnightsManager::ReqKnightsPacket(pUser, pkt); + break; + case WIZ_LOGIN_INFO: + if (pUser) pUser->ReqSetLogInInfo(pkt); + break; + case WIZ_BATTLE_EVENT: + if (pUser) pUser->BattleEventResult(pkt); + break; + case WIZ_SHOPPING_MALL: + if (pUser) pUser->ReqShoppingMall(pkt); + break; + case WIZ_SKILLDATA: + if (pUser) pUser->ReqSkillDataProcess(pkt); + break; + case WIZ_FRIEND_PROCESS: + if (pUser) pUser->ReqFriendProcess(pkt); + break; + case WIZ_NAME_CHANGE: + if (pUser) pUser->ReqChangeName(pkt); + break; + case WIZ_CAPE: + if (pUser) pUser->ReqChangeCape(pkt); + break; + case WIZ_LOGOUT: + if (pUser) pUser->ReqUserLogOut(); + break; + case WIZ_KING: + CKingSystem::HandleDatabaseRequest(pUser, pkt); + break; + case WIZ_ITEM_UPGRADE: + if (pUser) pUser->ReqSealItem(pkt); + break; + case WIZ_ZONE_CONCURRENT: + { + uint32 serverNo, count; + pkt >> serverNo >> count; + g_DBAgent.UpdateConCurrentUserCount(serverNo, 1, count); + } break; + } + + // Free the packet. + delete p; + } + + printf("[Database Thread %d] Exiting...\n", lpParam); + return 0; +} + + +void CUser::ReqAccountLogIn(Packet & pkt) +{ + string strPasswd; + pkt >> strPasswd; + + int8 nation = g_DBAgent.AccountLogin(m_strAccountID, strPasswd); + + if (nation >= 0) + g_pMain->AddAccountName(this); + else + m_strAccountID.clear(); + + Packet result(WIZ_LOGIN); + result << nation; + Send(&result); +} + +void CUser::ReqSelectNation(Packet & pkt) +{ + Packet result(WIZ_SEL_NATION); + uint8 bNation = pkt.read(), bResult; + + bResult = g_DBAgent.NationSelect(m_strAccountID, bNation) ? bNation : 0; + result << bResult; + Send(&result); +} + +void CUser::ReqAllCharInfo(Packet & pkt) +{ + Packet result(WIZ_ALLCHAR_INFO_REQ); + string strCharID1, strCharID2, strCharID3, strCharID4; + + result << uint8(1); +#if __VERSION >= 1950 + result << uint8(1); +#endif + g_DBAgent.GetAllCharID(m_strAccountID, strCharID1, strCharID2, strCharID3, strCharID4); + g_DBAgent.LoadCharInfo(strCharID1, result); + g_DBAgent.LoadCharInfo(strCharID2, result); + g_DBAgent.LoadCharInfo(strCharID3, result); + g_DBAgent.LoadCharInfo(strCharID4, result); + + Send(&result); +} + +void CUser::ReqChangeHair(Packet & pkt) +{ + + Packet result(WIZ_CHANGE_HAIR); + string strUserID; + uint32 nHair; + uint8 bOpcode, bFace; + pkt.SByte(); + pkt >> bOpcode >> strUserID >> bFace >> nHair; + + pkt.put(2, g_DBAgent.ChangeHair(m_strAccountID, strUserID, bOpcode, bFace, nHair)); + Send(&result); + +} + + +void CUser::ReqCreateNewChar(Packet & pkt) +{ + string strCharID; + uint32 nHair; + uint16 sClass; + uint8 bCharIndex, bRace, bFace, bStr, bSta, bDex, bInt, bCha; + pkt >> bCharIndex >> strCharID >> bRace >> sClass >> bFace >> nHair >> bStr >> bSta >> bDex >> bInt >> bCha; + + Packet result(WIZ_NEW_CHAR); + result << g_DBAgent.CreateNewChar(m_strAccountID, bCharIndex, strCharID, bRace, sClass, nHair, bFace, bStr, bSta, bDex, bInt, bCha); + + Send(&result); +} + + +void CUser::ReqSelectCharacter(Packet & pkt) +{ + Packet result(WIZ_SEL_CHAR); + uint8 bInit; + string strCharID; + + pkt >> strCharID >> bInit; + if (m_strAccountID.empty() || strCharID.empty() + || !g_DBAgent.LoadUserData(m_strAccountID, strCharID, this) + || !g_DBAgent.LoadWarehouseData(m_strAccountID, this) + || !g_DBAgent.LoadPremiumServiceUser(m_strAccountID, this) + || !g_DBAgent.LoadSavedMagic(this)) + { + result << uint8(0); + } + else + { + result << uint8(1) << bInit; + } + + if ((g_pMain->m_byBattleOpen == CLAN_BATTLE && GetZoneID() == ZONE_DELOS) + || (GetZoneID() == ZONE_BIFROST && + g_pMain->m_BifrostVictory != GetNation())){ + NativeZoneReturn(); + g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this); + Disconnect(); + return; + } + + SelectCharacter(result); +} + +void CUser::ReqShoppingMall(Packet & pkt) +{ + switch (pkt.read()) + { + case STORE_CLOSE: + ReqLoadWebItemMall(); + break; + case STORE_LETTER: + ReqLetterSystem(pkt); + break; + } +} + +void CUser::ReqSkillDataProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + if (opcode == SKILL_DATA_LOAD) + ReqSkillDataLoad(pkt); + else if (opcode == SKILL_DATA_SAVE) + ReqSkillDataSave(pkt); +} + +void CUser::ReqSkillDataLoad(Packet & pkt) +{ + Packet result(WIZ_SKILLDATA, uint8(SKILL_DATA_LOAD)); + if (!g_DBAgent.LoadSkillShortcut(result, this)) + result << uint16(0); + + Send(&result); +} + +void CUser::ReqSkillDataSave(Packet & pkt) +{ + // Initialize our buffer (not all skills are likely to be saved, we need to store the entire 260 bytes). + char buff[260] = {0}; + uint16 sCount; + + // Read in our skill count + pkt >> sCount; + + // Make sure we're not going to copy too much (each skill is 1 uint32). + if ((sCount * sizeof(uint32)) > sizeof(buff)) + return; + + // Copy the skill data directly in from where we left off reading in the packet buffer + memcpy(buff, (char *)(pkt.contents() + pkt.rpos()), sCount * sizeof(uint32)); + + // Finally, save the skill data. + g_DBAgent.SaveSkillShortcut(sCount, buff, this); +} + +void CUser::ReqFriendProcess(Packet & pkt) +{ + switch (pkt.read()) + { + case FRIEND_REQUEST: + ReqRequestFriendList(pkt); + break; + + case FRIEND_ADD: + ReqAddFriend(pkt); + break; + + case FRIEND_REMOVE: + ReqRemoveFriend(pkt); + break; + } +} + +void CUser::ReqRequestFriendList(Packet & pkt) +{ + Packet result(WIZ_FRIEND_PROCESS); + std::vector friendList; + + g_DBAgent.RequestFriendList(friendList, this); + + result << uint16(friendList.size()); + foreach (itr, friendList) + result << (*itr); + + FriendReport(result); +} + +void CUser::ReqAddFriend(Packet & pkt) +{ + Packet result(WIZ_FRIEND_PROCESS); + string strCharID; + int16 tid; + + pkt.SByte(); + pkt >> tid >> strCharID; + + FriendAddResult resultCode = g_DBAgent.AddFriend(GetSocketID(), tid); + result.SByte(); + result << tid << uint8(resultCode) << strCharID; + + RecvFriendModify(result, FRIEND_ADD); +} + +void CUser::ReqRemoveFriend(Packet & pkt) +{ + Packet result(WIZ_FRIEND_PROCESS); + string strCharID; + + pkt.SByte(); + pkt >> strCharID; + + FriendRemoveResult resultCode = g_DBAgent.RemoveFriend(strCharID, this); + result.SByte(); + result << uint8(resultCode) << strCharID; + + RecvFriendModify(result, FRIEND_REMOVE); +} + +/** +* @brief Handles name change requests. +* +* @param pkt The packet. +*/ +void CUser::ReqChangeName(Packet & pkt) +{ + NameChangeOpcode response; + ClanNameChangeOpcode responseClan; + uint8 opcode; + string strName, strKnightsName; + + pkt >> opcode; + + switch (opcode) + { + case NameChangePlayerRequest: + pkt >> strName; + response = g_DBAgent.UpdateCharacterName(GetAccountName(), GetName(), strName); + + // On success, update the name in the server & remove the scroll. + // (we checked if it existed before handling the request). + if (response == NameChangeSuccess) + { + // Replace the character's name (in both the session and the character lookup hashmap). + g_pMain->ReplaceCharacterName(this, strName); + + // Take the scroll... + RobItem(ITEM_SCROLL_OF_IDENTITY); + + // Remove user from others' view & make them reappear again so + // the name can be updated for those currently in range. + UserInOut(INOUT_OUT); + UserInOut(INOUT_IN); + + + } + SendNameChange(response); + break; + case ClanNameChange: + pkt >> strKnightsName; + + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + + if(pKnights == nullptr) + { + responseClan = ClanNameChangeNotInClan; + SendKnightsNameChange(responseClan); + return; + } + + responseClan = g_DBAgent.UpdateClanName(GetName(), GetClanID(), strKnightsName); + if (responseClan == ClanNameChangeSuccess) + { + // Replace the clan's name (in both the session and the character lookup hashmap). + pKnights->m_strName = strKnightsName; + // Take the scroll... + RobItem(800086000); + + Packet result2(WIZ_NAME_CHANGE, uint8(ClanNameChange)); + result2.DByte(); + result2 << uint8(ClanNameChangeSuccess) << strKnightsName; + pKnights->Send(&result2); + return; + // Remove user from others' view & make them reappear again so + // the name can be updated for those currently in range. + } + SendKnightsNameChange(responseClan); + break; + } + +} + + +/** +* @brief Handles clan cape update requests. +* +* @param pkt The packet. +*/ +void CUser::ReqChangeCape(Packet & pkt) +{ + uint16 sClanID, sCapeID; + uint8 r, g, b; + pkt >> sClanID >> sCapeID >> r >> g >> b; + + g_DBAgent.UpdateCape(sClanID, sCapeID, r, g, b); +} + +void CUser::ReqUserLogOut() +{ + if(m_strUserID.empty() || m_strAccountID.empty()) + return; + + + PlayerRankingProcess(GetZoneID(), true); + g_pMain->KillNpc(GetSocketID()); + + if (g_pMain->pTempleEvent.ActiveEvent != -1) + { + TempleOperations(TEMPLE_EVENT_DISBAND); + + if (!g_pMain->pTempleEvent.isActive) + TempleOperations(TEMPLE_EVENT_COUNTER); + } + + if(GetZoneID() == ZONE_STONE1) + g_pMain->IsBusy1[GetEventRoom()] = false; + if(GetZoneID() == ZONE_STONE2) + g_pMain->IsBusy2[GetEventRoom()] = false; + if(GetZoneID() == ZONE_STONE3) + g_pMain->IsBusy3[GetEventRoom()] = false; + + UserInOut(INOUT_OUT); + g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this); + g_DBAgent.UpdateWarehouseData(GetAccountName(), UPDATE_LOGOUT, this); + g_DBAgent.UpdateSavedMagic(this); + + g_DBAgent.AccountLogout(GetAccountName()); + + // this session can be used again. + m_deleted = false; +} + +void CKnightsManager::ReqKnightsPacket(CUser* pUser, Packet & pkt) +{ + uint8 opcode; + pkt >> opcode; + switch (opcode) + { + case KNIGHTS_CREATE: + ReqCreateKnights(pUser, pkt); + break; + case KNIGHTS_JOIN: + case KNIGHTS_WITHDRAW: + ReqUpdateKnights(pUser, pkt, opcode); + break; + case KNIGHTS_REMOVE: + case KNIGHTS_ADMIT: + case KNIGHTS_REJECT: + case KNIGHTS_CHIEF: + case KNIGHTS_VICECHIEF: + case KNIGHTS_OFFICER: + case KNIGHTS_PUNISH: + ReqModifyKnightsMember(pUser, pkt, opcode); + break; + case KNIGHTS_DESTROY: + ReqDestroyKnights(pUser, pkt); + break; + case KNIGHTS_MEMBER_REQ: + ReqAllKnightsMember(pUser, pkt); + break; + case KNIGHTS_LIST_REQ: + ReqKnightsList(pkt); + break; + case KNIGHTS_ALLLIST_REQ: + g_DBAgent.LoadKnightsAllList(); + break; + case KNIGHTS_MARK_REGISTER: + ReqRegisterClanSymbol(pUser, pkt); + break; + case KNIGHTS_ALLY_CREATE: + ReqKnightsAllianceCreate(pUser, pkt); + break; + case KNIGHTS_ALLY_INSERT: + ReqKnightsAllianceRequest(pUser, pkt); + break; + case KNIGHTS_ALLY_REMOVE: + ReqKnightsAllianceRemove(pUser, pkt); + break; + case KNIGHTS_ALLY_PUNISH: + ReqKnightsAlliancePunish(pUser, pkt); + break; + case KNIGHTS_UPDATE_GRADE: + ReqUpdateGrade(pkt); + break; + case KNIGHTS_DONATE_POINTS: + ReqDonateNP(pUser, pkt); + break; + case KNIGHTS_REFUND_POINTS: + ReqRefundNP(pkt); + break; + case KNIGHTS_UPDATE_FUND: + ReqUpdateNP(pkt); + break; + } +} +void CKnightsManager::ReqKnightsAllianceCreate(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + uint16 UserClanID = pUser->m_bKnights; + + CKnights *pMainClan = g_pMain->GetClanPtr(UserClanID); + uint8 byType = 44, byEmptyIndex = 0, bySiegeFlag = pMainClan->bySiegeFlag; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_CREATE)); + + g_DBAgent.CreateAlliance(byType, UserClanID, 0, 0, bySiegeFlag); + + _KNIGHTS_ALLIANCE *pAlliance = new _KNIGHTS_ALLIANCE(); + + pAlliance->sMainAllianceKnights = UserClanID; + pAlliance->sSubAllianceKnights = 0; + pAlliance->sMercenaryClan_1 = 0; + pAlliance->sMercenaryClan_2 = 0; + + g_pMain->m_KnightsAllianceArray.PutData(pAlliance->sMainAllianceKnights, pAlliance); + + + result << uint8(1) << UserClanID; + if(pUser->isInGame()) + pUser->Send(&result); + g_pMain->ReloadKnightAndUserRanks(); +} + + +void CKnightsManager::ReqKnightsAllianceRequest(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + uint16 MainClanID, TargetClanID, MainCapeID; + uint8 Type; + + pkt >> Type >> MainClanID >> TargetClanID >> MainCapeID; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_INSERT)); + CKnights *pMainClan = g_pMain->GetClanPtr(MainClanID); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(MainClanID);; + uint8 byType = 46, byEmptyIndex, bySiegeFlag = pMainClan->bySiegeFlag; + CKnights *pTargetClan = g_pMain->GetClanPtr(TargetClanID); + + if (pAlliance != nullptr) + { + if (pAlliance->sSubAllianceKnights == 0) + { + pAlliance->sSubAllianceKnights = TargetClanID; + byEmptyIndex = 1; + } + else if (pAlliance->sMercenaryClan_1 == 0) + { + pAlliance->sMercenaryClan_1 = TargetClanID; + byEmptyIndex = 2; + } + else if (pAlliance->sMercenaryClan_2 == 0) + { + pAlliance->sMercenaryClan_2 = TargetClanID; + byEmptyIndex = 3; + } + } + else + { + pAlliance->sMainAllianceKnights = MainClanID; + byEmptyIndex = 1; + } + + g_DBAgent.InsertAlliance(byType, MainClanID, TargetClanID, byEmptyIndex, bySiegeFlag); + pTargetClan->m_sAlliance = MainClanID; + g_pMain->m_KnightsArray.PutData(pTargetClan->m_sIndex, pTargetClan); + pAlliance->sMainAllianceKnights = MainClanID; + g_pMain->m_KnightsAllianceArray.PutData(pAlliance->sMainAllianceKnights, pAlliance); + result << Type << MainClanID << TargetClanID << MainCapeID; + if(pUser->isInGame()) + pUser->Send(&result); + g_pMain->ReloadKnightAndUserRanks(); + + +} + +void CKnightsManager::ReqKnightsAllianceRemove(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + uint8 Type; + uint16 MainClanID, TargetClanID, MainCapeID; + + pkt >> Type >> MainClanID >> TargetClanID >> MainCapeID; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_REMOVE)); + CUser *pTargetUser = nullptr; + CKnights *pMainClan = g_pMain->GetClanPtr(MainClanID), * pTargetClan = g_pMain->GetClanPtr(TargetClanID); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(MainClanID); + uint8 byType = 47, byEmptyIndex, bySiegeFlag = 0; + + if (MainClanID == 0 || TargetClanID == 0) + { + pTargetClan = g_pMain->GetClanPtr(pUser->m_bKnights); + pAlliance = g_pMain->GetAlliancePtr(pTargetClan->m_sAlliance); + pMainClan = g_pMain->GetClanPtr(pTargetClan->m_sAlliance); + MainClanID = pTargetClan->m_sAlliance; + TargetClanID = pUser->m_bKnights; + } + + if (pAlliance != nullptr) + { + if (pAlliance->sMainAllianceKnights == TargetClanID) + { + byType = 49; + byEmptyIndex=0; + MainCapeID = pMainClan->m_sCape; + pAlliance->sMainAllianceKnights = 0; + } + else + { + MainCapeID = -1; + if (pAlliance->sSubAllianceKnights == TargetClanID) + { + pAlliance->sSubAllianceKnights = 0; + byEmptyIndex = 1; + } + + else if (pAlliance->sMercenaryClan_1 == TargetClanID) + { + pAlliance->sMercenaryClan_1 = 0; + byEmptyIndex = 2; + } + + else if (pAlliance->sMercenaryClan_2 == TargetClanID) + { + pAlliance->sMercenaryClan_2 = 0; + byEmptyIndex = 3; + } + } + + g_DBAgent.RemoveAlliance(byType, MainClanID, TargetClanID, byEmptyIndex, bySiegeFlag); + + pTargetClan->m_sAlliance = 0; + g_pMain->m_KnightsArray.PutData(pTargetClan->m_sIndex, pTargetClan); + pAlliance->sMainAllianceKnights = MainClanID; + g_pMain->m_KnightsAllianceArray.PutData(pAlliance->sMainAllianceKnights, pAlliance); + + result << uint8(1) << MainClanID << TargetClanID << MainCapeID; + pUser->SendToRegion(&result); + } +} +void CKnightsManager::ReqKnightsAlliancePunish(CUser *pUser, Packet & pkt) { + if (pUser == nullptr) + return; + + uint8 Type; + uint16 MainClanID, TargetClanID, MainCapeID; + + pkt >> Type >> MainClanID >> TargetClanID >> MainCapeID; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_PUNISH)); + CUser *pTargetUser = nullptr; + CKnights *pMainClan = g_pMain->GetClanPtr(MainClanID), * pTargetClan = g_pMain->GetClanPtr(TargetClanID); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(MainClanID);; + uint8 byType = 47, byEmptyIndex, bySiegeFlag = pMainClan->bySiegeFlag; + + if (MainClanID == 0 || TargetClanID == 0) { + pTargetClan = g_pMain->GetClanPtr(pUser->m_bKnights); + pAlliance = g_pMain->GetAlliancePtr(pTargetClan->m_sAlliance); + pMainClan = g_pMain->GetClanPtr(pTargetClan->m_sAlliance); + MainClanID = pTargetClan->m_sAlliance; + TargetClanID = pUser->m_bKnights; + } + + if (pAlliance->sMainAllianceKnights == TargetClanID) { + byType = 49; + byEmptyIndex=0; + MainCapeID = pMainClan->m_sCape; + pAlliance->sMainAllianceKnights = 0; + } else { + MainCapeID = -1; + if (pAlliance->sSubAllianceKnights == TargetClanID) { + pAlliance->sSubAllianceKnights = 0; + byEmptyIndex = 1; + } else if (pAlliance->sMercenaryClan_1 == TargetClanID) { + pAlliance->sMercenaryClan_1 = 0; + byEmptyIndex = 2; + } else if (pAlliance->sMercenaryClan_2 == TargetClanID) { + pAlliance->sMercenaryClan_2 = 0; + byEmptyIndex = 3; + } + } + + if (pTargetClan != nullptr && !pTargetClan->m_strChief.empty()) { + pTargetUser = g_pMain->GetUserPtr(pTargetClan->m_strChief, TYPE_CHARACTER); + } + + g_DBAgent.DestoryAlliance(byType, MainClanID, TargetClanID, byEmptyIndex, bySiegeFlag); + + pTargetClan->m_sAlliance = 0; + g_pMain->m_KnightsArray.PutData(pTargetClan->m_sIndex, pTargetClan); + pAlliance->sMainAllianceKnights = MainClanID; + g_pMain->m_KnightsAllianceArray.PutData(pAlliance->sMainAllianceKnights, pAlliance); + + result << uint8(1) << MainClanID << TargetClanID << MainCapeID; + pTargetUser->SendToRegion(&result); +} + +void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CREATE)); + string strKnightsName, strChief; + uint16 sClanID; + uint8 bFlag, bNation; + int8 bResult; + + pkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; + bResult = g_DBAgent.CreateKnights(sClanID, bNation, strKnightsName, strChief, bFlag); + + if (bResult > 0) + { + result << bResult; + pUser->Send(&result); + return; + } + + CKnights *pKnights = new CKnights(); + + pKnights->m_sIndex = sClanID; + pKnights->m_byFlag = bFlag; + pKnights->m_byFlag = g_pMain->RoyalG1 ? ClanTypeRoyal1 : ClanTypeTraining; + pKnights->m_byNation = bNation; + pKnights->m_strName = strKnightsName; + pKnights->m_strChief = pUser->GetName(); + + + pUser->GoldLose(CLAN_COIN_REQUIREMENT, false); + + pKnights->m_byGrade = g_pMain->GetKnightsGrade(pUser->GetLoyalty()); + + g_pMain->m_KnightsArray.PutData(pKnights->m_sIndex, pKnights); + + pKnights->AddUser(pUser); + + // Ensure the clan leader's fame is set + // CKnights::AddUser() will default it to TRAINEE, so it needs to be set afterwards. + pUser->m_bFame = CHIEF; + + + result << uint8(1) << pUser->GetSocketID() + << sClanID << strKnightsName + << pKnights->m_byGrade << pKnights->m_byRanking + << pUser->m_iGold; + + pUser->SendToRegion(&result,nullptr,pUser->GetEventRoom()); + g_DBAgent.UpdateUser(pUser->GetName(),UPDATE_LOGOUT,pUser); + + + if(g_pMain->RoyalG1) + { + CKnightsManager::UpdateKnightsGrade(sClanID, ClanTypePromoted); + CKnightsManager::UpdateKnightsGrade(sClanID, ClanTypeRoyal1); + pKnights->m_nClanPointFund = 10000000; + pKnights->UpdateClanFund(); + } +} + +void CKnightsManager::ReqUpdateKnights(CUser *pUser, Packet & pkt, uint8 opcode) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + uint16 sClanID = pkt.read(); + string strCharID = pUser->GetName(); + int8 bResult = int8(g_DBAgent.UpdateKnights(opcode, strCharID, sClanID, 0)); + if (bResult < 0) + { + result << opcode << uint8(0); + pUser->Send(&result); + return; + } + + result << sClanID; // Hate doing this, but it's reusable. + RecvUpdateKnights(pUser, result, opcode); +} + +void CKnightsManager::ReqModifyKnightsMember(CUser *pUser, Packet & pkt, uint8 command) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + string strCharID; + uint16 sClanID; + int8 bRemoveFlag, bResult; + + pkt >> sClanID >> strCharID >> bRemoveFlag; + bResult = int8(g_DBAgent.UpdateKnights(command, strCharID, sClanID, bRemoveFlag)); + + if (bResult < 0) + { + result << command << uint8(0); + pUser->Send(&result); + return; + } + + result << sClanID << strCharID; // I really hate doing this, but OK... + RecvModifyFame(pUser, result, command); +} + +void CKnightsManager::ReqDestroyKnights(CUser *pUser, Packet & pkt) +{ + uint16 sClanID = pkt.read(); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + return; + + int8 bResult = int8(g_DBAgent.DeleteKnights(sClanID)); + pKnights->Disband(pUser); +} + +void CKnightsManager::ReqAllKnightsMember(CUser *pUser, Packet & pkt) +{ + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MEMBER_REQ)); + int nOffset; + uint16 sClanID, sCount; + + pkt >> sClanID; + + CKnights* pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr) + return; + + result << uint8(1); + nOffset = result.wpos(); // store offset + result << uint16(0) // placeholder for packet length + << uint16(0) // placeholder for user count + << pKnights->m_strClanNotice; + + sCount = g_DBAgent.LoadKnightsAllMembers(sClanID, result); + if (sCount > MAX_CLAN_USERS) + return; + + pkt.put(nOffset, uint16(result.size() - 3)); + pkt.put(nOffset + 2, sCount); + + pUser->Send(&result); +} + +void CKnightsManager::ReqKnightsList(Packet & pkt) +{ + // Okay, this effectively makes this useless in the majority of cases. + if (g_pMain->m_nServerNo != BATTLE) + return; + + string strKnightsName; + uint32 nPoints; + uint16 sClanID = pkt.read(), sMembers; + uint8 bNation, bRank; + + if (!g_DBAgent.LoadKnightsInfo(sClanID, bNation, strKnightsName, sMembers, nPoints, bRank)) + return; + + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + { + pKnights = new CKnights(); + + if (!g_pMain->m_KnightsArray.PutData(sClanID, pKnights)) + { + delete pKnights; + return; + } + } + + // TODO: Move this all to a single method, as this is done multiple times + pKnights->m_sIndex = sClanID; + pKnights->m_byNation = bNation; + pKnights->m_strName = strKnightsName; + pKnights->m_sMembers = sMembers; + pKnights->m_nPoints = nPoints; + pKnights->m_byGrade = g_pMain->GetKnightsGrade(nPoints); + pKnights->m_byRanking = bRank; +} + +void CKnightsManager::ReqRegisterClanSymbol(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MARK_REGISTER)); + char clanSymbol[MAX_KNIGHTS_MARK]; + uint16 sClanID, sSymbolSize, sErrorCode = 0, sNewVersion = 0; + + pkt >> sClanID >> sSymbolSize; + pkt.read(clanSymbol, sSymbolSize); + + bool bResult = g_DBAgent.UpdateClanSymbol(sClanID, sSymbolSize, clanSymbol); + + do + { + if (!bResult) + break; + + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + { + sErrorCode = 20; + break; + } + + // Make sure they still have enough coins. + if (!pUser->GoldLose(CLAN_SYMBOL_COST)) + { + sErrorCode = 14; + break; + } + + sNewVersion = ++pKnights->m_sMarkVersion; + pKnights->m_sMarkLen = sSymbolSize; + + memcpy(pKnights->m_Image, clanSymbol, sSymbolSize); + + // TODO: Send to all servers for updating via UDP + + sErrorCode = 1; + } while (0); + + result << sErrorCode << sNewVersion; + pUser->Send(&result); +} + +/** +* @brief Request a clan's grade (and cape) be updated +* in the database. +* +* @param pkt The packet. +*/ +void CKnightsManager::ReqUpdateGrade(Packet & pkt) +{ + uint16 sClanID, sCapeID; + uint8 byFlag; + + pkt >> sClanID >> byFlag >> sCapeID; + g_DBAgent.UpdateClanGrade(sClanID, byFlag, sCapeID); +} + +/** +* @brief Requests a clan's notice be updated in the database. +* +* @param pkt The packet. +*/ +void CKnightsManager::ReqUpdateClanNotice(Packet & pkt) +{ + uint16 sClanID; + string strClanNotice; + + pkt >> sClanID >> strClanNotice; + g_DBAgent.UpdateClanNotice(sClanID, strClanNotice); +} + +void CUser::ReqSetLogInInfo(Packet & pkt) +{ + string strCharID, strServerIP, strClientIP; + uint16 sServerNo; + uint8 bInit; + + pkt >> strCharID >> strServerIP >> sServerNo >> strClientIP >> bInit; + // if there was an error inserting to CURRENTUSER... + if (!g_DBAgent.SetLogInInfo(m_strAccountID, strCharID, strServerIP, sServerNo, strClientIP, bInit)) + Disconnect(); +} + +void CUser::BattleEventResult(Packet & pkt) +{ + string strMaxUserName; + uint8 bType, bNation; + + pkt >> bType >> bNation >> strMaxUserName; + g_DBAgent.UpdateBattleEvent(strMaxUserName, bNation); +} + +/** +* @brief Handles database requests for the King system. +* +* @param pUser The user making the request, if applicable. +* nullptr if not. +* @param pkt The packet. +*/ +void CKingSystem::HandleDatabaseRequest(CUser * pUser, Packet & pkt) +{ + uint8 OpCode, KingNationTax = pkt[6], Nation = pkt[7]; + pkt >> OpCode; + + switch (OpCode) + { + case KING_ELECTION: + HandleDatabaseRequest_Election(pUser, pkt); + break; + + case KING_IMPEACHMENT: + break; + + case KING_TAX: + HandleDatabaseRequest_Tax(KingNationTax, Nation); + break; + + case KING_EVENT: + HandleDatabaseRequest_Event(pUser, pkt); + break; + + case KING_NPC: + break; + + case KING_NATION_INTRO: + break; + } +} + +/** +* @brief Handles database requests for the election system. +* +* @param pUser The user making the request, if applicable. +* nullptr if not. +* @param pkt The packet. +*/ +void CKingSystem::HandleDatabaseRequest_Election(CUser * pUser, Packet & pkt) +{ + uint8 opcode; + pkt >> opcode; + + switch (opcode) + { + // Special king system/election database requests + case KING_ELECTION: + { + uint8 byNation, byType; + pkt >> opcode >> byNation >> byType; + switch (opcode) + { + case KING_ELECTION_UPDATE_STATUS: // 7 + g_DBAgent.UpdateElectionStatus(byType, byNation); + break; + + case KING_ELECTION_UPDATE_LIST: // 6 + { + bool bDelete; + uint16 sKnights; + uint32 nVotes = 0; + string strNominee; + + pkt >> bDelete >> sKnights >> strNominee; + g_DBAgent.UpdateElectionList(bDelete ? 2 : 1, byType, byNation, sKnights, nVotes, strNominee, pUser); + } break; + } + } break; + + case KING_ELECTION_NOMINATE: + { + if (pUser == nullptr) + return; + + Packet result(WIZ_KING, uint8(KING_ELECTION)); + std::string strNominee; + int16 resultCode; + pkt >> strNominee; + resultCode = g_DBAgent.UpdateCandidacyRecommend(pUser->m_strUserID, strNominee, pUser->GetNation()); + + // On success, we need to sync the local list. + if (resultCode == 1) + { + CKingSystem * pData = g_pMain->m_KingSystemArray.GetData(pUser->GetNation()); + if (pData == nullptr) + return; + + pData->InsertNominee(strNominee); + } + result << opcode << resultCode; + pUser->Send(&result); + } break; + + case KING_ELECTION_NOTICE_BOARD: + { + pkt >> opcode; + if (pUser == nullptr) + return; + + if (opcode == KING_CANDIDACY_BOARD_WRITE) + { + string strNotice; + pkt >> strNotice; + g_DBAgent.UpdateCandidacyNoticeBoard(pUser->m_strUserID, pUser->GetNation(), strNotice); + } + } break; + } +} + +/** +* @brief Handles database requests for King commands. +* +* @param pUser The user making the request, if applicable. +* nullptr if not. +* @param pkt The packet. +*/ +void CKingSystem::HandleDatabaseRequest_Event(CUser * pUser, Packet & pkt) +{ + uint8 opcode, byNation; + pkt >> opcode >> byNation; + + switch (opcode) + { + case KING_EVENT_NOAH: + case KING_EVENT_EXP: + { + uint8 byAmount, byDay, byHour, byMinute; + uint16 sDuration; + pkt >> byAmount >> byDay >> byHour >> byMinute >> sDuration; + + g_DBAgent.UpdateNoahOrExpEvent(opcode, byNation, byAmount, byDay, byHour, byMinute, sDuration); + } break; + + case KING_EVENT_PRIZE: + { + uint32 nCoins; + string strUserID; + pkt >> nCoins >> strUserID; + + g_DBAgent.InsertPrizeEvent(opcode, byNation, nCoins, strUserID); + } break; + } +} + +void CKingSystem::SendUDP_ElectionStatus(uint8 m_byType) +{ + g_DBAgent.SendUDP_ElectionStatus(m_byType); +} + +bool CKingSystem::GetElectionResult(uint8 Nation, CKingSystem *KingSystem) +{ + return g_DBAgent.GetElectionResult(Nation, KingSystem); +} + +void CKingSystem::HandleDatabaseRequest_Tax(uint8 TerritoryTariff, uint8 Nation, uint32 TerritoryTax) +{ + g_DBAgent.InsertTaxEvent(TerritoryTariff, Nation, TerritoryTax); +} + +void CUser::InsertTaxUpEvent(uint8 Nation, uint32 TerritoryTax) +{ + g_DBAgent.InsertTaxUpEvent(Nation, TerritoryTax); +} + +void CUser::ReqSealItem(Packet & pkt) +{ + uint8 bSealType, opcode; + + pkt >> opcode >> bSealType; + + switch (opcode) + { + case ITEM_SEAL: + { + uint8 bSrcPos, bSealResult; + uint32 nItemID; + uint64 nItemSerial; + string strSealPasswd; + pkt >> nItemID >> bSrcPos >> strSealPasswd >> bSealResult; + + nItemSerial = GetItem(SLOT_MAX+bSrcPos)->nSerialNum; + + if (!bSealResult) + bSealResult = g_DBAgent.SealItem(strSealPasswd, nItemSerial, nItemID, bSealType, this); + + Packet result(WIZ_ITEM_UPGRADE, uint8(ITEM_SEAL)); + result << bSealType << bSealResult << nItemID << bSrcPos; + Send(&result); + + if (bSealResult == 1) + SealItem(bSealType, bSrcPos); + break; + } + case ITEM_CHARACTER_SEAL: + { + Packet result(WIZ_ITEM_UPGRADE); + result << opcode << bSealType << uint8(1); + string strCharID1, strCharID2, strCharID3,strCharID4; + + g_DBAgent.GetAllCharID(m_strAccountID, strCharID1, strCharID2, strCharID3,strCharID4); + g_DBAgent.LoadCharInfo(strCharID1, result); + g_DBAgent.LoadCharInfo(strCharID2, result); + g_DBAgent.LoadCharInfo(strCharID3, result); + g_DBAgent.LoadCharInfo(strCharID4, result); + Send(&result); + } + break; + } +} + +void DatabaseThread::Shutdown() +{ + _running = false; + + // Wake them up in case they're sleeping. + s_hEvent.Broadcast(); + + s_thread->waitForExit(); + delete s_thread; + + _lock.lock(); + while (_queue.size()) + { + Packet *p = _queue.front(); + _queue.pop(); + delete p; + } + _lock.unlock(); +} diff --git a/server/GameServer/DatabaseThread.h b/server/GameServer/DatabaseThread.h new file mode 100644 index 0000000..a7a54e1 --- /dev/null +++ b/server/GameServer/DatabaseThread.h @@ -0,0 +1,17 @@ +#pragma once + +class DatabaseThread +{ +public: + // Startup the database threads + static void Startup(); + + // Add to the queue and notify threads of activity. + static void AddRequest(Packet * pkt); + + // Main thread procedure + static uint32 THREADCALL ThreadProc(void * lpParam); + + // Shutdown threads. + static void Shutdown(); +}; \ No newline at end of file diff --git a/server/GameServer/Debug/AISocket.obj b/server/GameServer/Debug/AISocket.obj new file mode 100644 index 0000000..fd16baa Binary files /dev/null and b/server/GameServer/Debug/AISocket.obj differ diff --git a/server/GameServer/Debug/AchievementHandler.obj b/server/GameServer/Debug/AchievementHandler.obj new file mode 100644 index 0000000..d6a9d81 Binary files /dev/null and b/server/GameServer/Debug/AchievementHandler.obj differ diff --git a/server/GameServer/Debug/ArenaHandler.obj b/server/GameServer/Debug/ArenaHandler.obj new file mode 100644 index 0000000..fb7fa5e Binary files /dev/null and b/server/GameServer/Debug/ArenaHandler.obj differ diff --git a/server/GameServer/Debug/AttackHandler.obj b/server/GameServer/Debug/AttackHandler.obj new file mode 100644 index 0000000..33b71a6 Binary files /dev/null and b/server/GameServer/Debug/AttackHandler.obj differ diff --git a/server/GameServer/Debug/Bot.obj b/server/GameServer/Debug/Bot.obj new file mode 100644 index 0000000..71b256c Binary files /dev/null and b/server/GameServer/Debug/Bot.obj differ diff --git a/server/GameServer/Debug/CharacterHandler.obj b/server/GameServer/Debug/CharacterHandler.obj new file mode 100644 index 0000000..ee8ba5d Binary files /dev/null and b/server/GameServer/Debug/CharacterHandler.obj differ diff --git a/server/GameServer/Debug/CharacterMovementHandler.obj b/server/GameServer/Debug/CharacterMovementHandler.obj new file mode 100644 index 0000000..4574a75 Binary files /dev/null and b/server/GameServer/Debug/CharacterMovementHandler.obj differ diff --git a/server/GameServer/Debug/CharacterSelectionHandler.obj b/server/GameServer/Debug/CharacterSelectionHandler.obj new file mode 100644 index 0000000..9bdd74a Binary files /dev/null and b/server/GameServer/Debug/CharacterSelectionHandler.obj differ diff --git a/server/GameServer/Debug/ChatHandler.obj b/server/GameServer/Debug/ChatHandler.obj new file mode 100644 index 0000000..f53292f Binary files /dev/null and b/server/GameServer/Debug/ChatHandler.obj differ diff --git a/server/GameServer/Debug/ChatRoomHandler.obj b/server/GameServer/Debug/ChatRoomHandler.obj new file mode 100644 index 0000000..15536bb Binary files /dev/null and b/server/GameServer/Debug/ChatRoomHandler.obj differ diff --git a/server/GameServer/Debug/ConsoleInputThread.obj b/server/GameServer/Debug/ConsoleInputThread.obj new file mode 100644 index 0000000..50cb070 Binary files /dev/null and b/server/GameServer/Debug/ConsoleInputThread.obj differ diff --git a/server/GameServer/Debug/DBAgent.obj b/server/GameServer/Debug/DBAgent.obj new file mode 100644 index 0000000..0ccea28 Binary files /dev/null and b/server/GameServer/Debug/DBAgent.obj differ diff --git a/server/GameServer/Debug/DatabaseThread.obj b/server/GameServer/Debug/DatabaseThread.obj new file mode 100644 index 0000000..588c982 Binary files /dev/null and b/server/GameServer/Debug/DatabaseThread.obj differ diff --git a/server/GameServer/Debug/EventHandler.obj b/server/GameServer/Debug/EventHandler.obj new file mode 100644 index 0000000..0563f55 Binary files /dev/null and b/server/GameServer/Debug/EventHandler.obj differ diff --git a/server/GameServer/Debug/FriendHandler.obj b/server/GameServer/Debug/FriendHandler.obj new file mode 100644 index 0000000..dd8ec77 Binary files /dev/null and b/server/GameServer/Debug/FriendHandler.obj differ diff --git a/server/GameServer/Debug/GameEvent.obj b/server/GameServer/Debug/GameEvent.obj new file mode 100644 index 0000000..4087ff8 Binary files /dev/null and b/server/GameServer/Debug/GameEvent.obj differ diff --git a/server/GameServer/Debug/GameServer.Build.CppClean.log b/server/GameServer/Debug/GameServer.Build.CppClean.log new file mode 100644 index 0000000..811b5d0 --- /dev/null +++ b/server/GameServer/Debug/GameServer.Build.CppClean.log @@ -0,0 +1,116 @@ +f:\005server\gameserver\debug\gameserver.pch +f:\005server\gameserver\debug\vc142.pdb +f:\005server\gameserver\debug\vc142.ıdb +f:\005server\gameserver\debug\stdafx.obj +f:\005server\gameserver\debug\n3shapemgr.obj +f:\005server\gameserver\debug\magıcprocess.obj +f:\005server\gameserver\debug\maın.obj +f:\005server\gameserver\debug\map.obj +f:\005server\gameserver\debug\npc.obj +f:\005server\gameserver\debug\characterhandler.obj +f:\005server\gameserver\debug\pet.obj +f:\005server\gameserver\debug\regıon.obj +f:\005server\gameserver\debug\rentalhandler.obj +f:\005server\gameserver\debug\loadserverdata.obj +f:\005server\gameserver\debug\sealhandler.obj +f:\005server\gameserver\debug\shoppıngmallhandler.obj +f:\005server\gameserver\debug\tradehandler.obj +f:\005server\gameserver\debug\unıt.obj +f:\005server\gameserver\debug\upgradehandler.obj +f:\005server\gameserver\debug\vıp.obj +f:\005server\gameserver\debug\characterselectıonhandler.obj +f:\005server\gameserver\debug\charactermovementhandler.obj +f:\005server\gameserver\debug\chatroomhandler.obj +f:\005server\gameserver\debug\consoleınputthread.obj +f:\005server\gameserver\debug\databasethread.obj +f:\005server\gameserver\debug\dbagent.obj +f:\005server\gameserver\debug\eventhandler.obj +f:\005server\gameserver\debug\frıendhandler.obj +f:\005server\gameserver\debug\gameevent.obj +f:\005server\gameserver\debug\ıtemhandler.obj +f:\005server\gameserver\debug\kıngsystem.obj +f:\005server\gameserver\debug\knıghts.obj +f:\005server\gameserver\debug\knıghtsmanager.obj +f:\005server\gameserver\debug\letterhandler.obj +f:\005server\gameserver\debug\logınhandler.obj +f:\005server\gameserver\debug\luaengıne.obj +f:\005server\gameserver\debug\lua_bındıngs.obj +f:\005server\gameserver\debug\achıevementhandler.obj +f:\005server\gameserver\debug\aısocket.obj +f:\005server\gameserver\debug\arenahandler.obj +f:\005server\gameserver\debug\attackhandler.obj +f:\005server\gameserver\debug\bot.obj +f:\005server\gameserver\debug\merchanthandler.obj +f:\005server\gameserver\debug\npchandler.obj +f:\005server\gameserver\debug\partyhandler.obj +f:\005server\gameserver\debug\questhandler.obj +f:\005server\gameserver\debug\user.obj +f:\005server\gameserver\debug\chathandler.obj +f:\005server\gameserver\debug\gameserverdlg.obj +f:\005server\gameserver\debug\magıcınstance.obj +f:\005server\gameserver\debug\vcpkg.applocal.log +f:\bın\debug\gameserver.ılk +f:\bın\debug\gameserver.exe +f:\bın\debug\gameserver.pdb +f:\005server\gameserver\debug\gameserver.res +f:\005server\server source\gameserver\debug\achievementhandler.obj +f:\005server\server source\gameserver\debug\aısocket.obj +f:\005server\server source\gameserver\debug\arenahandler.obj +f:\005server\server source\gameserver\debug\attackhandler.obj +f:\005server\server source\gameserver\debug\bot.obj +f:\005server\server source\gameserver\debug\characterhandler.obj +f:\005server\server source\gameserver\debug\charactermovementhandler.obj +f:\005server\server source\gameserver\debug\characterselectionhandler.obj +f:\005server\server source\gameserver\debug\chathandler.obj +f:\005server\server source\gameserver\debug\chatroomhandler.obj +f:\005server\server source\gameserver\debug\consoleınputthread.obj +f:\005server\server source\gameserver\debug\databasethread.obj +f:\005server\server source\gameserver\debug\dbagent.obj +f:\005server\server source\gameserver\debug\eventhandler.obj +f:\005server\server source\gameserver\debug\friendhandler.obj +f:\005server\server source\gameserver\debug\gameevent.obj +f:\005server\server source\gameserver\debug\gameserverdlg.obj +f:\005server\server source\gameserver\debug\ıtemhandler.obj +f:\005server\server source\gameserver\debug\kingsystem.obj +f:\005server\server source\gameserver\debug\knights.obj +f:\005server\server source\gameserver\debug\knightsmanager.obj +f:\005server\server source\gameserver\debug\letterhandler.obj +f:\005server\server source\gameserver\debug\loadserverdata.obj +f:\005server\server source\gameserver\debug\loginhandler.obj +f:\005server\server source\gameserver\debug\luaengine.obj +f:\005server\server source\gameserver\debug\lua_bindings.obj +f:\005server\server source\gameserver\debug\magicınstance.obj +f:\005server\server source\gameserver\debug\magicprocess.obj +f:\005server\server source\gameserver\debug\main.obj +f:\005server\server source\gameserver\debug\map.obj +f:\005server\server source\gameserver\debug\merchanthandler.obj +f:\005server\server source\gameserver\debug\n3shapemgr.obj +f:\005server\server source\gameserver\debug\npc.obj +f:\005server\server source\gameserver\debug\npchandler.obj +f:\005server\server source\gameserver\debug\partyhandler.obj +f:\005server\server source\gameserver\debug\pet.obj +f:\005server\server source\gameserver\debug\questhandler.obj +f:\005server\server source\gameserver\debug\region.obj +f:\005server\server source\gameserver\debug\rentalhandler.obj +f:\005server\server source\gameserver\debug\sealhandler.obj +f:\005server\server source\gameserver\debug\shoppingmallhandler.obj +f:\005server\server source\gameserver\debug\stdafx.obj +f:\005server\server source\gameserver\debug\tradehandler.obj +f:\005server\server source\gameserver\debug\unit.obj +f:\005server\server source\gameserver\debug\upgradehandler.obj +f:\005server\server source\gameserver\debug\user.obj +f:\005server\server source\gameserver\debug\vıp.obj +f:\005server\server source\gameserver\debug\gameserver.res +f:\005server\server source\gameserver\debug\gameserver.pch +f:\005server\server source\gameserver\debug\vc142.idb +f:\005server\server source\gameserver\debug\vc142.pdb +f:\005server\server source\gameserver\debug\gameserver.tlog\cl.command.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\cl.read.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\cl.write.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\gameserver.write.1u.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\link.command.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\link.read.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\link.write.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\rc.command.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\rc.read.1.tlog +f:\005server\server source\gameserver\debug\gameserver.tlog\rc.write.1.tlog diff --git a/server/GameServer/Debug/GameServer.pch b/server/GameServer/Debug/GameServer.pch new file mode 100644 index 0000000..8125bbf Binary files /dev/null and b/server/GameServer/Debug/GameServer.pch differ diff --git a/server/GameServer/Debug/GameServer.res b/server/GameServer/Debug/GameServer.res new file mode 100644 index 0000000..519d532 Binary files /dev/null and b/server/GameServer/Debug/GameServer.res differ diff --git a/server/GameServer/Debug/GameServer.tlog/CL.command.1.tlog b/server/GameServer/Debug/GameServer.tlog/CL.command.1.tlog new file mode 100644 index 0000000..8409902 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/CL.command.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/CL.read.1.tlog b/server/GameServer/Debug/GameServer.tlog/CL.read.1.tlog new file mode 100644 index 0000000..cfdae01 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/CL.read.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/CL.write.1.tlog b/server/GameServer/Debug/GameServer.tlog/CL.write.1.tlog new file mode 100644 index 0000000..3f7f1a1 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/CL.write.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/GameServer.lastbuildstate b/server/GameServer/Debug/GameServer.tlog/GameServer.lastbuildstate new file mode 100644 index 0000000..869aa4e --- /dev/null +++ b/server/GameServer/Debug/GameServer.tlog/GameServer.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Debug|Win32|F:\005SERVER\server source\| diff --git a/server/GameServer/Debug/GameServer.tlog/GameServer.write.1u.tlog b/server/GameServer/Debug/GameServer.tlog/GameServer.write.1u.tlog new file mode 100644 index 0000000..6c813a4 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/GameServer.write.1u.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/link.15632.delete.1.tlog b/server/GameServer/Debug/GameServer.tlog/link.15632.delete.1.tlog new file mode 100644 index 0000000..1881434 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/link.15632.delete.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/link.command.1.tlog b/server/GameServer/Debug/GameServer.tlog/link.command.1.tlog new file mode 100644 index 0000000..b8fb2d8 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/link.command.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/link.delete.1.tlog b/server/GameServer/Debug/GameServer.tlog/link.delete.1.tlog new file mode 100644 index 0000000..790ddd5 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/link.delete.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/link.read.1.tlog b/server/GameServer/Debug/GameServer.tlog/link.read.1.tlog new file mode 100644 index 0000000..02a1b1a Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/link.read.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/link.write.1.tlog b/server/GameServer/Debug/GameServer.tlog/link.write.1.tlog new file mode 100644 index 0000000..74c4cf6 Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/link.write.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/rc.command.1.tlog b/server/GameServer/Debug/GameServer.tlog/rc.command.1.tlog new file mode 100644 index 0000000..4d3125e Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/rc.command.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/rc.read.1.tlog b/server/GameServer/Debug/GameServer.tlog/rc.read.1.tlog new file mode 100644 index 0000000..39699bd Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/rc.read.1.tlog differ diff --git a/server/GameServer/Debug/GameServer.tlog/rc.write.1.tlog b/server/GameServer/Debug/GameServer.tlog/rc.write.1.tlog new file mode 100644 index 0000000..a232e4d Binary files /dev/null and b/server/GameServer/Debug/GameServer.tlog/rc.write.1.tlog differ diff --git a/server/GameServer/Debug/GameServerDlg.obj b/server/GameServer/Debug/GameServerDlg.obj new file mode 100644 index 0000000..deafc60 Binary files /dev/null and b/server/GameServer/Debug/GameServerDlg.obj differ diff --git a/server/GameServer/Debug/ItemHandler.obj b/server/GameServer/Debug/ItemHandler.obj new file mode 100644 index 0000000..36cd59d Binary files /dev/null and b/server/GameServer/Debug/ItemHandler.obj differ diff --git a/server/GameServer/Debug/KingSystem.obj b/server/GameServer/Debug/KingSystem.obj new file mode 100644 index 0000000..6041c23 Binary files /dev/null and b/server/GameServer/Debug/KingSystem.obj differ diff --git a/server/GameServer/Debug/Knights.obj b/server/GameServer/Debug/Knights.obj new file mode 100644 index 0000000..831c95f Binary files /dev/null and b/server/GameServer/Debug/Knights.obj differ diff --git a/server/GameServer/Debug/KnightsManager.obj b/server/GameServer/Debug/KnightsManager.obj new file mode 100644 index 0000000..2e3ed2f Binary files /dev/null and b/server/GameServer/Debug/KnightsManager.obj differ diff --git a/server/GameServer/Debug/LetterHandler.obj b/server/GameServer/Debug/LetterHandler.obj new file mode 100644 index 0000000..647582f Binary files /dev/null and b/server/GameServer/Debug/LetterHandler.obj differ diff --git a/server/GameServer/Debug/LoadServerData.obj b/server/GameServer/Debug/LoadServerData.obj new file mode 100644 index 0000000..9c263e7 Binary files /dev/null and b/server/GameServer/Debug/LoadServerData.obj differ diff --git a/server/GameServer/Debug/LoginHandler.obj b/server/GameServer/Debug/LoginHandler.obj new file mode 100644 index 0000000..530e371 Binary files /dev/null and b/server/GameServer/Debug/LoginHandler.obj differ diff --git a/server/GameServer/Debug/LuaEngine.obj b/server/GameServer/Debug/LuaEngine.obj new file mode 100644 index 0000000..a91ab75 Binary files /dev/null and b/server/GameServer/Debug/LuaEngine.obj differ diff --git a/server/GameServer/Debug/MagicInstance.obj b/server/GameServer/Debug/MagicInstance.obj new file mode 100644 index 0000000..b45a1e0 Binary files /dev/null and b/server/GameServer/Debug/MagicInstance.obj differ diff --git a/server/GameServer/Debug/MagicProcess.obj b/server/GameServer/Debug/MagicProcess.obj new file mode 100644 index 0000000..169a30f Binary files /dev/null and b/server/GameServer/Debug/MagicProcess.obj differ diff --git a/server/GameServer/Debug/Map.obj b/server/GameServer/Debug/Map.obj new file mode 100644 index 0000000..d530a54 Binary files /dev/null and b/server/GameServer/Debug/Map.obj differ diff --git a/server/GameServer/Debug/MerchantHandler.obj b/server/GameServer/Debug/MerchantHandler.obj new file mode 100644 index 0000000..a3dfdca Binary files /dev/null and b/server/GameServer/Debug/MerchantHandler.obj differ diff --git a/server/GameServer/Debug/N3ShapeMgr.obj b/server/GameServer/Debug/N3ShapeMgr.obj new file mode 100644 index 0000000..504a035 Binary files /dev/null and b/server/GameServer/Debug/N3ShapeMgr.obj differ diff --git a/server/GameServer/Debug/NPCHandler.obj b/server/GameServer/Debug/NPCHandler.obj new file mode 100644 index 0000000..10ae16f Binary files /dev/null and b/server/GameServer/Debug/NPCHandler.obj differ diff --git a/server/GameServer/Debug/Npc.obj b/server/GameServer/Debug/Npc.obj new file mode 100644 index 0000000..1b64609 Binary files /dev/null and b/server/GameServer/Debug/Npc.obj differ diff --git a/server/GameServer/Debug/PartyHandler.obj b/server/GameServer/Debug/PartyHandler.obj new file mode 100644 index 0000000..a5ee8aa Binary files /dev/null and b/server/GameServer/Debug/PartyHandler.obj differ diff --git a/server/GameServer/Debug/Pet.obj b/server/GameServer/Debug/Pet.obj new file mode 100644 index 0000000..0778a4d Binary files /dev/null and b/server/GameServer/Debug/Pet.obj differ diff --git a/server/GameServer/Debug/QuestHandler.obj b/server/GameServer/Debug/QuestHandler.obj new file mode 100644 index 0000000..ddf1a53 Binary files /dev/null and b/server/GameServer/Debug/QuestHandler.obj differ diff --git a/server/GameServer/Debug/Region.obj b/server/GameServer/Debug/Region.obj new file mode 100644 index 0000000..67e8cae Binary files /dev/null and b/server/GameServer/Debug/Region.obj differ diff --git a/server/GameServer/Debug/RentalHandler.obj b/server/GameServer/Debug/RentalHandler.obj new file mode 100644 index 0000000..c3cb718 Binary files /dev/null and b/server/GameServer/Debug/RentalHandler.obj differ diff --git a/server/GameServer/Debug/SealHandler.obj b/server/GameServer/Debug/SealHandler.obj new file mode 100644 index 0000000..dd2b3cc Binary files /dev/null and b/server/GameServer/Debug/SealHandler.obj differ diff --git a/server/GameServer/Debug/ShoppingMallHandler.obj b/server/GameServer/Debug/ShoppingMallHandler.obj new file mode 100644 index 0000000..c6d8382 Binary files /dev/null and b/server/GameServer/Debug/ShoppingMallHandler.obj differ diff --git a/server/GameServer/Debug/StdAfx.obj b/server/GameServer/Debug/StdAfx.obj new file mode 100644 index 0000000..4585f4d Binary files /dev/null and b/server/GameServer/Debug/StdAfx.obj differ diff --git a/server/GameServer/Debug/TradeHandler.obj b/server/GameServer/Debug/TradeHandler.obj new file mode 100644 index 0000000..c28aa69 Binary files /dev/null and b/server/GameServer/Debug/TradeHandler.obj differ diff --git a/server/GameServer/Debug/Unit.obj b/server/GameServer/Debug/Unit.obj new file mode 100644 index 0000000..9a81a89 Binary files /dev/null and b/server/GameServer/Debug/Unit.obj differ diff --git a/server/GameServer/Debug/UpgradeHandler.obj b/server/GameServer/Debug/UpgradeHandler.obj new file mode 100644 index 0000000..ce0a9b3 Binary files /dev/null and b/server/GameServer/Debug/UpgradeHandler.obj differ diff --git a/server/GameServer/Debug/User.obj b/server/GameServer/Debug/User.obj new file mode 100644 index 0000000..7d482e4 Binary files /dev/null and b/server/GameServer/Debug/User.obj differ diff --git a/server/GameServer/Debug/VIP.obj b/server/GameServer/Debug/VIP.obj new file mode 100644 index 0000000..fd0a456 Binary files /dev/null and b/server/GameServer/Debug/VIP.obj differ diff --git a/server/GameServer/Debug/lua_bindings.obj b/server/GameServer/Debug/lua_bindings.obj new file mode 100644 index 0000000..63a4685 Binary files /dev/null and b/server/GameServer/Debug/lua_bindings.obj differ diff --git a/server/GameServer/Debug/main.obj b/server/GameServer/Debug/main.obj new file mode 100644 index 0000000..bdc18dc Binary files /dev/null and b/server/GameServer/Debug/main.obj differ diff --git a/server/GameServer/Debug/proj-GameServer.log b/server/GameServer/Debug/proj-GameServer.log new file mode 100644 index 0000000..8387fdb --- /dev/null +++ b/server/GameServer/Debug/proj-GameServer.log @@ -0,0 +1,5 @@ + cl : Command line warning D9035 : option 'Gm' has been deprecated and will be removed in a future release + User.cpp +F:\005SERVER\server source\GameServer\User.cpp(1286,68): warning C4267: '=': conversion from 'size_t' to 'uint8', possible loss of data +F:\005SERVER\server source\GameServer\User.cpp(4300,48): warning C4267: '+=': conversion from 'size_t' to 'uint16', possible loss of data + proj-GameServer.vcxproj -> F:\005SERVER\server source\..\bin\Debug\GameServer.exe diff --git a/server/GameServer/Debug/proj-GameServer.vcxproj.FileListAbsolute.txt b/server/GameServer/Debug/proj-GameServer.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/GameServer/Debug/vc142.idb b/server/GameServer/Debug/vc142.idb new file mode 100644 index 0000000..5bea945 Binary files /dev/null and b/server/GameServer/Debug/vc142.idb differ diff --git a/server/GameServer/Debug/vc142.pdb b/server/GameServer/Debug/vc142.pdb new file mode 100644 index 0000000..6cdd849 Binary files /dev/null and b/server/GameServer/Debug/vc142.pdb differ diff --git a/server/GameServer/Debug/vcpkg.applocal.log b/server/GameServer/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/server/GameServer/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ + diff --git a/server/GameServer/Define.h b/server/GameServer/Define.h new file mode 100644 index 0000000..f0a82d0 --- /dev/null +++ b/server/GameServer/Define.h @@ -0,0 +1,356 @@ +#pragma once + +#define CONF_GAME_SERVER "./GameServer.ini" + +#define _UDP_PORT 8888 +#define CLIENT_SOCKSIZE 100 + +#define MAX_NPC_SIZE 30 + +#define MAX_TYPE3_REPEAT 40 +#define MAX_TYPE4_BUFF 50 + +#define MAX_ITEM 28 + +#define NPC_HAVE_ITEM_LIST 6 +#define DROP_MAX_TIME 60 // As second +#define ZONEITEM_MAX 2100000000 +#define COIN_MAX 2100000000 +#define LOYALTY_MAX 2100000000 + +#define MAX_CLASS 26 +#define MAX_LEVEL 83 +#define MAX_LEVEL_PET 60 +#define MAX_PLAYER_HP 14000 +#define MAX_DAMAGE 32000 // Game uses a signed 2 byte integer, so the limit is technically 32,767. The game, however, caps it at 32,000. + +#define MAX_MESSAGE_EVENT 12 +#define MAX_TEMPLE_EVENT_ROOM 50 +#define MAX_MONSTER_STONE_EVENT_ROOM 200 + +// BBS Related +#define MAX_BBS_PAGE 22 +#define MAX_BBS_MESSAGE 40 +#define MAX_BBS_TITLE 20 +#define MAX_BBS_POST 500 + +#define BUY_POST_PRICE 500 +#define SELL_POST_PRICE 1000 + +#define REMOTE_PURCHASE_PRICE 5000 +#define BBS_CHECK_TIME 36000 + +#define BATTLE 6 + +#define KARUS_ARRAY (KARUS - 1) +#define ELMORAD_ARRAY (ELMORAD - 1) +#define MONSTER_CHALLENGE_COUNT 32 + + +#define KING_RANK 1000 +#define WAR_HEROES_RANK 0 +#define LADDER_RANK 100 +#define CLAN_RANK 110 +#define BATTLE_HEROES_RANK 300 + +// Attack Type +#define DIRECT_ATTACK 0 +#define LONG_ATTACK 1 +#define MAGIC_ATTACK 2 +#define DURATION_ATTACK 3 + + +// Kurian/Portu Absorbed +#define ABSORBED_TOTAL -20000 + +enum InOutType +{ + INOUT_IN = 1, + INOUT_OUT = 2, + INOUT_RESPAWN = 3, + INOUT_WARP = 4, + INOUT_SUMMON = 5 +}; + +#define BLINK_TIME (10) // in seconds +#define CLAN_SUMMON_TIME (180) +#define PLAYER_IDLE_TIME (300) + +// About Map Object +#define USER_BAND 0 +#define NPC_BAND 10000 +#define INVALID_BAND 30000 + +#define EVENT_MONSTER 20 + +// Snow Event +#define SNOW_EVENT_MONEY 2000 +#define SNOW_EVENT_SKILL 490077 + +// Temple Event +#define BIFROST_EVENT_COUNT 3 +#define CHAOS_EVENT_COUNT 3 +#define BORDER_DEFENSE_WAR_EVENT_COUNT 5 +#define JURAD_MOUNTAIN_EVENT_COUNT 3 + +// Users under level 35 require 3,000 coins to shout. +#define SHOUT_COIN_REQUIREMENT 3000 + +// Battlezone Announcement +#define BATTLEZONE_OPEN 0x00 +#define BATTLEZONE_CLOSE 0x01 +#define DECLARE_WINNER 0x02 +#define DECLARE_LOSER 0x03 +#define DECLARE_BAN 0x04 +#define KARUS_CAPTAIN_NOTIFY 0x05 +#define ELMORAD_CAPTAIN_NOTIFY 0x06 +#define KARUS_CAPTAIN_DEPRIVE_NOTIFY 0x07 +#define ELMORAD_CAPTAIN_DEPRIVE_NOTIFY 0x08 +#define SNOW_BATTLEZONE_OPEN 0x09 +#define UNDER_ATTACK_NOTIFY 0x10 +#define DECLARE_BATTLE_ZONE_STATUS 0x11 +#define DECLARE_BATTLE_MONUMENT_STATUS 0x12 +#define DECLARE_NATION_MONUMENT_STATUS 0x13 +#define DECLARE_NATION_REWARD_STATUS 0x14 +#define SNOW_BATTLEZONE_CLOSE 0x15 +#define SNOW_BAN 0x16 + +#define WAR_TIME_COUNT 3 +#define WAR_ZONE_COUNT WAR_TIME_COUNT +#define WAR_DAY_COUNT 7 + +// Battle define +#define NO_BATTLE 0 +#define NATION_BATTLE 1 +#define SNOW_BATTLE 2 +#define CLAN_BATTLE 3 + +// Zone IDs +#define ZONE_KARUS 1 +#define ZONE_ELMORAD 2 +#define ZONE_KARUS_ESLANT 11 +#define ZONE_ELMORAD_ESLANT 12 +#define ZONE_MORADON 21 +#define ZONE_MORADONM2 22 +#define ZONE_DELOS 30 +#define ZONE_BIFROST 31 +#define ZONE_DESPERATION_ABYSS 32 +#define ZONE_HELL_ABYSS 33 +#define ZONE_DRAGON_CAVE 34 +#define ZONE_ARENA 48 +#define ZONE_ORC_ARENA 51 +#define ZONE_BLOOD_DON_ARENA 52 +#define ZONE_GOBLIN_ARENA 53 +#define ZONE_CAITHAROS_ARENA 54 +#define ZONE_FORGOTTEN_TEMPLE 55 +#define ZONE_LOST_TEMPLE 56 + +#define ZONE_BATTLE_BASE 60 + +#define ZONE_BATTLE ZONE_BATTLE_BASE + 1 // Napies Gorge +#define ZONE_BATTLE2 ZONE_BATTLE_BASE + 2 // Alseids Prairie +#define ZONE_BATTLE3 ZONE_BATTLE_BASE + 3 // Nieds Triangle +#define ZONE_BATTLE4 ZONE_BATTLE_BASE + 4 // Nereid's Island +#define ZONE_BATTLE5 ZONE_BATTLE_BASE + 5 // Zipang +#define ZONE_BATTLE6 ZONE_BATTLE_BASE + 6 // Oreads + +#define ZONE_SNOW_BATTLE 69 +#define ZONE_RONARK_LAND 71 +#define ZONE_ARDREAM 72 +#define ZONE_RONARK_LAND_BASE 73 +#define ZONE_KROWAZ_DOMINION 75 +#define ZONE_CLAN_EVENT 77 +#define ZONE_PVP_EVENT 78 + +#define ZONE_STONE1 81 +#define ZONE_STONE2 82 +#define ZONE_STONE3 83 +#define ZONE_BORDER_DEFENSE_WAR 84 +#define ZONE_CHAOS_DUNGEON 85 +#define ZONE_DARK_LAND 86 +#define ZONE_JURAD_MOUNTAIN 87 +#define ZONE_PRISON 92 +#define ZONE_ISILOON_ARENA 93 +#define ZONE_FELANKOR_ARENA 94 +#define ZONE_WINNER_CASTLE 97 +#define ZONE_WINNER_CASTLE2 98 + +#define MAX_BATTLE_ZONE_USERS 1000 + +// Zone level requirements (should really be in a database or something...) +#define MIN_LEVEL_NATION_BASE 35 +#define MIN_LEVEL_ESLANT 60 +#define MIN_LEVEL_BIFROST 55 +#define MIN_LEVEL_WAR_ZONE 35 +#define MIN_LEVEL_NIEDS_TRIANGLE 35 +#define MIN_LEVEL_FOR_BATTLES 35 +#define MAX_LEVEL_NIEDS_TRIANGLE 62 +#define MIN_LEVEL_RONARK_LAND 55 +#define MIN_LEVEL_ARDREAM 35 +#define MAX_LEVEL_ARDREAM 62 +#define MIN_LEVEL_RONARK_LAND_BASE 45 +#define MAX_LEVEL_RONARK_LAND_BASE 69 +#define MIN_LEVEL_KROWAZ_DOMINION 70 +#define MIN_LEVEL_JURAD_MOUNTAIN 70 + + +// Where to respawn after dying in the Moradon arenas +#define MINI_ARENA_RESPAWN_X 734 +#define MINI_ARENA_RESPAWN_Z 427 +#define MINI_ARENA_RESPAWN_RADIUS 5 + +// Bonus experience in War zones or PK zones +#define PVP_BONUS_EXP 10000 +#define PVP_BONUS_GOLD 150000 + +// Where to Warp dodo or laon camp in the enemy nation zone +#define DODO_CAMP_WARP_X 10540 +#define DODO_CAMP_WARP_Z 11410 +#define LAON_CAMP_WARP_X 10120 +#define LAON_CAMP_WARP_Z 9140 +#define DODO_LAON_WARP_RADIUS 5 +// Deva Kill Time +#define DEVA_KILL_TIME 3 // Second +// Automatic Ranking Minutes +#define RELOAD_KNIGHTS_AND_USER_RATING 15 // Minute + +// Where to respawn after dying in the Chaos Stone boss +#define CHAOS_STONE_MONSTER_RESPAWN_RADIUS 20 +#define CHAOS_STONE_MONSTER_LIVE_TIME 900 // (15 minutes) + +// Standard (pre-squared) range used for moradon mini arena. +#define RANGE_20M 20.0f + +// Standard (pre-squared) range used for party rewards and such. +#define RANGE_50M (50.0f * 50.0f) + +// Item IDs +#define ITEM_CONT_RECOVERY 800370000 +#define ITEM_SCROLL_OF_IDENTITY 800032000 +#define ITEM_CLAN_NCS 800086000 +#define ITEM_NATION_TRANSFER 800360000 +#define ITEM_GENDER_CHANGE 810594000 +#define ITEM_JOB_CHANGE 900006000 +#define ITEM_MAKE_OVER 810340000 +#define ITEM_MEAT_DUMPLING 508216000 +#define ITEM_EVENT_PARTICI 930046000 +#define GOLDEN_MATTOCK 389135000 +#define MATTOCK 389132000 +#define MYSTERIOUS_ORE 399210000 +#define MYSTERIOUS_GOLD_ORE 399200000 +#define SLING 389043000 +#define KING_SCEPTER 910074311 +#define CHAOS_MAP 910246000 +#define VOUCHER_OF_CHAOS 900106000 +#define VOUCHER_OF_ORACLE 900184000 +#define CERTIFICATE_OF_VICTORY 900017000 +#define BORDER_SECURITY_SCROLL 900055000 +#define RED_TREASURE_CHEST 379154000 +#define GREEN_TREASURE_CHEST 379155000 +#define BLUE_TREASURE_CHEST 379156000 +#define KNIGHT_MEDAL 389217000 +#define ROYAL_MEDAL 389218000 +#define KING_MEDAL 389219000 +#define GOLD_EAGLE_WINGS 900177663 +#define ITEM_MONSTER_STONE 900144023 +#define MONSTERSTONEDROPRATE 50 +#define ITEM_MONSTER_HUNT1 910138000 +#define ITEM_MONSTER_HUNT2 910038000 +#define ITEM_MONSTER_HUNT3 910039000 +#define ITEM_ONLINE_REWARD 930045000 +#define ITEM_LIGHT_PIT 700041000 +#define ITEM_DRAIN_RESTORE 700040000 +#define ITEM_KILLING_BLADE 700037000 +#define FISHING 191346000 +#define GOLDEN_FISHING 191347000 +#define RAINWORM 508226000 +#define EXP_FLASH 399127000 +#define DC_FLASH 399128000 +#define WAR_FLASH 399129000 +#define ITEM_MENICIAS_LIST 810166000 + +#define ARRANGE_LINE 800444000 + +#define SILVERY_GEM 389196000 +#define RED_GEM 389197000 +#define YELLOW_GEM 389198000 +#define BLUE_GEM 389199000 +#define GREEN_GEM 389201000 +#define BLACK_GEM 389205000 + +// ID of the Seed quest, to be automatically started on first load. +#define STARTER_SEED_QUEST 500 +#define PET_QUEST 525 + +#define MONUMENT_KARUS_SPID 14003 +#define MONUMENT_ELMORAD_SPID 14004 +#define MONUMENT_ENEMY_SPID 14005 +#define BDW_KARUS_MONUMENT_SPID 14105 +#define BDW_ELMO_MONUMENT_SPID 14105 + +#define ELMORAD_MONUMENT_SID 10301 +#define ASGA_VILLAGE_MONUMENT_SID 10302 +#define RAIBA_VILLAGE_MONUMENT_SID 10303 +#define DODO_CAMP_MONUMENT_SID 10304 + +#define LUFERSON_MONUMENT_SID 20301 +#define LINATE_MONUMENT_SID 20302 +#define BELLUA_MONUMENT_SID 20303 +#define LAON_CAMP_MONUMENT_SID 20304 +#define BORDER_WAR_MONUMENT_SID 31316 + +#define SAW_BLADE_SSID 32153 +#define CHAOS_CUBE_SSID 31527 + +enum UserStatus +{ + USER_STATUS_DOT = 1, + USER_STATUS_POISON = 2, + USER_STATUS_SPEED = 3, + USER_STATUS_BLIND = 4, + USER_STATUS_BLACK = 5 +}; + +enum UserStatusBehaviour +{ + USER_STATUS_CURE = 0, + USER_STATUS_INFLICT = 1 +}; + +enum NpcStatusBehaviour +{ + NPC_STATUS_CURE = 0, + NPC_STATUS_INFLICT = 1 +}; + +enum LoyaltyType +{ + LOYALTY_NATIONAL_POINTS = 1, + LOYALTY_MANNER_POINTS = 2 +}; + +enum AttributeType +{ + AttributeNone = 0, + AttributeFire = 1, + AttributeIce = 2, + AttributeLightning = 3, + AttributeLightMagic = 4, + AttributeCurse = 5, + AttributePosion = 6 +}; + +typedef union{ + uint16 w; + uint8 b[2]; +} MYSHORT; + +typedef union{ + uint64 i; + uint8 b[8]; +} MYINT64; + +#define TO_USER(v) static_cast(v) +#define TO_NPC(v) static_cast(v) + +#include "../shared/globals.h" \ No newline at end of file diff --git a/server/GameServer/EventHandler.cpp b/server/GameServer/EventHandler.cpp new file mode 100644 index 0000000..c86a314 --- /dev/null +++ b/server/GameServer/EventHandler.cpp @@ -0,0 +1,423 @@ +#include "stdafx.h" +#include "DBAgent.h" + +using std::string; +using std::vector; + +void CGameServerDlg::SendEventRemainingTime(bool bSendAll, CUser *pUser, uint8 ZoneID) +{ + Packet result(WIZ_BIFROST,uint8(BIFROST_EVENT)); + uint16 nRemainingTime = 0; + + if (ZoneID == ZONE_BATTLE4) + nRemainingTime = m_byBattleRemainingTime / 2; + else if (ZoneID == ZONE_BIFROST || ZoneID == ZONE_RONARK_LAND) + nRemainingTime = m_sBifrostRemainingTime; + + result << nRemainingTime; + + if (pUser) + pUser->Send(&result); + else if (bSendAll) + { + if (ZoneID == ZONE_BATTLE4) + Send_All(&result,nullptr, 0, ZONE_BATTLE4); + else + { + Send_All(&result,nullptr, 0, ZONE_RONARK_LAND); + Send_All(&result,nullptr, 0, ZONE_BIFROST); + } + } +} +void CUser::CastleSiegeWarProcess(CUser * pUser) +{ + if (pUser == nullptr || GetClanID() <= 0) + return; + + _KNIGHTS_SIEGE_WARFARE *pKnightSiegeWar = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights * pKnights = g_pMain->GetClanPtr(pUser->m_bKnights); + + pKnightSiegeWar->sMasterKnights = pKnights->m_sIndex; + + g_pMain->UpdateSiege(pKnightSiegeWar->sCastleIndex, pKnightSiegeWar->sMasterKnights, pKnightSiegeWar->bySiegeType, pKnightSiegeWar->byWarDay, pKnightSiegeWar->byWarTime, pKnightSiegeWar->byWarMinute); + g_pMain->m_KnightsSiegeWarfareArray.GetData(pKnightSiegeWar->sMasterKnights); + + g_pMain->m_SiegeWarWinKnightsNotice = pKnights->GetName(); + g_pMain->Announcement(IDS_NPC_GUIDON_DESTORY); + g_pMain->m_byBattleSiegeWarMomument = true; + g_pMain->m_byBattleSiegeWarOccupy = g_pMain->m_sBattleTimeDelay > 2100 ? (3000 - g_pMain->m_sBattleTimeDelay) : 900; + //g_pMain->KickOutZoneUsers(ZONE_DELOS, ZONE_DELOS); + if (pKnightSiegeWar != nullptr) + { + Packet result(WIZ_SIEGE, uint8(2)); + result.SByte(); + result << uint8(g_pMain->m_byBattleSiegeWarOpen + 1)<< pKnights->GetID() << pKnights->m_sMarkVersion << uint16(0) + << uint32(g_pMain->m_byBattleSiegeWarOpen ? g_pMain->m_byBattleSiegeWarOccupy : 0) << uint16(g_pMain->m_byBattleSiegeWarOpen ? ((50 * MINUTE) - g_pMain->m_sBattleTimeDelay) : 0) + << pKnights->GetName(); + g_pMain->Send_Zone(&result,ZONE_DELOS); + } +} +void CUser::BifrostProcess(CUser * pUser) +{ + if (pUser == nullptr) + return; + + if (g_pMain->m_BifrostVictory == 0 && g_pMain->m_bAttackBifrostMonument) + { + g_pMain->m_sBifrostTime = g_pMain->m_xBifrostTime; + g_pMain->m_sBifrostRemainingTime = g_pMain->m_sBifrostTime; + g_pMain->m_BifrostVictory = pUser->GetNation(); + g_pMain->SendFormattedResource(pUser->GetNation() == ELMORAD ? IDS_BEEF_ROAST_VICTORY_ELMORAD : IDS_BEEF_ROAST_VICTORY_KARUS, Nation::ALL,false); + g_pMain->SendEventRemainingTime(true, nullptr, ZONE_BIFROST); + + if (g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = false; + } + else if (g_pMain->m_BifrostVictory == 1 || g_pMain->m_BifrostVictory == 2) + { + if (pUser->GetNation() != g_pMain->m_BifrostVictory && g_pMain->m_bAttackBifrostMonument) + { + g_pMain->m_BifrostVictory = 3; + g_pMain->SendFormattedResource(pUser->GetNation() == ELMORAD ? IDS_BEEF_ROAST_VICTORY_ELMORAD : IDS_BEEF_ROAST_VICTORY_KARUS, Nation::ALL,false); + + if (g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = false; + } + } +} + +void CUser::TempleProcess(Packet &pkt ) +{ + uint8 opcode = pkt.read(); + + switch (opcode) + { + case MONSTER_STONE: + MonsterStoneProcess(); + break; + case TEMPLE_EVENT_JOIN: + TempleOperations(opcode); + break; + case TEMPLE_EVENT_DISBAND: + TempleOperations(opcode); + break; + } +} + +void CUser::MonsterStoneProcess() +{ + if(GetZoneID() == ZONE_STONE1 || + GetZoneID() == ZONE_STONE3 || + GetZoneID() == ZONE_STONE3) + return; + + if(CheckExistItem(ITEM_MONSTER_STONE,1)) + { + uint8 EventRoom = 0; + uint8 ZoneNumber = 0; + uint32 ZoneTime = 0; + + if(GetLevel() < 40) + ZoneNumber = ZONE_STONE1; + else if(GetLevel() < 60) + ZoneNumber = ZONE_STONE2; + else if(GetLevel() < 84) + ZoneNumber = ZONE_STONE3; + else + return; + + bool IsFull = true; + + for(int i = 1; i < MAX_MONSTER_STONE_EVENT_ROOM; i++) + { + + if(ZoneNumber == ZONE_STONE1) + { + IsFull = g_pMain->IsBusy1[i]; + ZoneTime = g_pMain->Zone1[i]; + } + else if(ZoneNumber == ZONE_STONE2) + { + IsFull = g_pMain->IsBusy2[i]; + ZoneTime = g_pMain->Zone2[i]; + } + else if(ZoneNumber == ZONE_STONE3) + { + IsFull = g_pMain->IsBusy3[i]; + ZoneTime = g_pMain->Zone3[i]; + } + else + continue; + + if(IsFull || ZoneTime > uint32(UNIXTIME)) + continue; + + if(ZoneNumber == ZONE_STONE1) + { + g_pMain->Zone1[i] = uint32(UNIXTIME) + 1503; + EventRoom = i; + g_pMain->Zone1Family[i] = myrand(1,4); + break; + }else if(ZoneNumber == ZONE_STONE2) + { + g_pMain->Zone2[i] = uint32(UNIXTIME) + 1503; + EventRoom = i; + g_pMain->Zone2Family[i] = myrand(5,9); + break; + }else if(ZoneNumber == ZONE_STONE3) + { + g_pMain->Zone3[i] = uint32(UNIXTIME) + 1503; + EventRoom = i; + g_pMain->Zone3Family[i] = myrand(10,13); + break; + }else + continue; + + } + + if (EventRoom == 0) + return; + + + if(ZoneNumber == ZONE_STONE1) + g_pMain->IsBusy1[EventRoom] = true; + else if(ZoneNumber == ZONE_STONE2) + g_pMain->IsBusy2[EventRoom] = true; + else if(ZoneNumber == ZONE_STONE3) + g_pMain->IsBusy3[EventRoom] = true; + else + return; + + m_TimeMonsterStone = UNIXTIME + 1502; + RobItem(ITEM_MONSTER_STONE,1); + g_pMain->MonsterStoneSummon(EventRoom, ZoneNumber); + ZoneChange(ZoneNumber,0.0f,0.0f,EventRoom); + if (ZoneNumber == ZONE_STONE1) + CheckWaiting(ZONE_STONE1, 1501); + else if (ZoneNumber == ZONE_STONE2) + CheckWaiting(ZONE_STONE2, 1501); + else if (ZoneNumber == ZONE_STONE3) + CheckWaiting(ZONE_STONE3, 1501); + + printf("%s gonna go %d %d\n",GetName().c_str(),EventRoom,ZoneNumber); + + } +} + +void CUser::TempleOperations(uint8 bType) +{ + uint16 nActiveEvent = (uint16)g_pMain->pTempleEvent.ActiveEvent; + + uint8 bResult = 1; + Packet result(WIZ_EVENT); + Packet result2(WIZ_SELECT_MSG); + + if(bType == TEMPLE_EVENT_JOIN && !isEventUser()) + { + if (nActiveEvent == TEMPLE_EVENT_CHAOS) + { + if (CheckExistItem(CHAOS_MAP,1)) + bResult = 1; + else if (m_sItemArray[RIGHTHAND].nNum == MATTOCK || m_sItemArray[RIGHTHAND].nNum == GOLDEN_MATTOCK || isMining()) + bResult = 4; + else + bResult = 3; + } + + else if (nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + { + if (GetLevel() < g_pMain->pTempleEvent.m_nBorderDefenseWarMINLEVEL) + bResult = WarpListMinLevel; + } + + result << bType << bResult << nActiveEvent; + Send(&result); + + if (bResult == 1) + { + GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount++ :g_pMain->pTempleEvent.ElMoradUserCount++; + g_pMain->pTempleEvent.AllUserCount = (g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount); + g_pMain->AddEventUser(this); + TempleOperations(TEMPLE_EVENT_COUNTER); + } + } + else if (bType == TEMPLE_EVENT_DISBAND && isEventUser()) + { + GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount-- : g_pMain->pTempleEvent.ElMoradUserCount--; + g_pMain->pTempleEvent.AllUserCount = g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount; + g_pMain->RemoveEventUser(this); + result << bType << bResult << nActiveEvent; + Send(&result); + TempleOperations(TEMPLE_EVENT_COUNTER); + } + else if (bType == TEMPLE_EVENT_COUNTER) + { + result << bType << nActiveEvent; + + if(nActiveEvent == TEMPLE_EVENT_CHAOS) + result << g_pMain->pTempleEvent.AllUserCount; + else if(nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + result << g_pMain->pTempleEvent.KarusUserCount << g_pMain->pTempleEvent.ElMoradUserCount; + else if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + result2 << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint32(0x06) << g_pMain->pTempleEvent.KarusUserCount << uint16(0x00) << g_pMain->pTempleEvent.ElMoradUserCount << uint16(0x00) << g_pMain->m_nTempleEventRemainSeconds << uint16(0x00); + + if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + g_pMain->Send_All(&result2,nullptr,Nation::ALL,0,true,0); + else + g_pMain->Send_All(&result,nullptr,Nation::ALL,0,true,0); + } +} + +void CGameServerDlg::AddEventUser(CUser *pUser) +{ + if (pUser == nullptr) + { + TRACE("#### AddEventUser : pUser == nullptr ####\n"); + return; + } + + _TEMPLE_EVENT_USER * pEventUser = new _TEMPLE_EVENT_USER; + + pEventUser->m_socketID = pUser->GetSocketID(); + pEventUser->m_bEventRoom = pUser->GetEventRoom(); + + if (!g_pMain->m_TempleEventUserArray.PutData(pEventUser->m_socketID, pEventUser)) + delete pEventUser; +} + +void CGameServerDlg::RemoveEventUser(CUser *pUser) +{ + if (pUser == nullptr) + { + TRACE("#### RemoveEventUser : pUser == nullptr ####\n"); + return; + } + + if (g_pMain->m_TempleEventUserArray.GetData(pUser->GetSocketID()) != nullptr) + g_pMain->m_TempleEventUserArray.DeleteData(pUser->GetSocketID()); + +} + +void CGameServerDlg::UpdateEventUser(CUser *pUser, uint16 nEventRoom) +{ + if (pUser == nullptr) + { + TRACE("#### UpdateEventUser : pUser == nullptr ####\n"); + return; + } + + _TEMPLE_EVENT_USER * pEventUser = g_pMain->m_TempleEventUserArray.GetData(pUser->GetSocketID()); + + if (pEventUser) + { + + Packet result2(AG_USER_EVENTROOM); + result2 << pUser->GetID() << uint16(nEventRoom); + g_pMain->Send_AIServer(&result2); + + pEventUser->m_bEventRoom = nEventRoom; + pUser->m_bEventRoom = nEventRoom; + pUser->SetUserEventRoom(nEventRoom); + pUser->SetUnitEventRoom(nEventRoom); + + } +} + +void CGameServerDlg::SetEventUser(CUser *pUser) +{ + if (pUser == nullptr) + { + TRACE("#### SetEventUser : pUser == nullptr ####\n"); + return; + } + + uint8 nMaxUserCount = 0; + + switch (g_pMain->pTempleEvent.ActiveEvent) + { + case TEMPLE_EVENT_BORDER_DEFENCE_WAR: + nMaxUserCount = 8; + break; + case TEMPLE_EVENT_CHAOS: + nMaxUserCount = 18; + break; + case TEMPLE_EVENT_JURAD_MOUNTAIN: + nMaxUserCount = 8; + break; + } + + if (g_pMain->TempleEventGetRoomUsers(g_pMain->pTempleEvent.LastEventRoom,pUser->GetNation()) >= nMaxUserCount) + g_pMain->pTempleEvent.LastEventRoom++; + + if (g_pMain->TempleEventGetRoomUsers(g_pMain->pTempleEvent.LastEventRoom,pUser->GetNation()) <= nMaxUserCount) + g_pMain->UpdateEventUser(pUser, g_pMain->pTempleEvent.LastEventRoom); +} + +bool CUser::isEventUser() +{ + _TEMPLE_EVENT_USER * pEventUser = g_pMain->m_TempleEventUserArray.GetData(GetSocketID()); + + if (pEventUser != nullptr) + return true; + + return false; +} + +uint8 CUser::GetMonsterChallengeTime() +{ + if (g_pMain->m_bForgettenTempleIsActive + && g_pMain->m_nForgettenTempleLevelMin != 0 + && g_pMain->m_nForgettenTempleLevelMax != 0 + && GetLevel() >= g_pMain->m_nForgettenTempleLevelMin + && GetLevel() <= g_pMain->m_nForgettenTempleLevelMax + && !g_pMain->m_bForgettenTempleSummonMonsters) + return g_pMain->m_nForgettenTempleChallengeTime; + + return 0; +} + +uint8 CUser::GetEventZoneTime() +{ + if (g_pMain->m_bEventZoneIsActive + && g_pMain->m_nEventZoneLevelMin != 0 + && g_pMain->m_nEventZoneLevelMax != 0 + && GetLevel() >= g_pMain->m_nEventZoneLevelMin + && GetLevel() <= g_pMain->m_nEventZoneLevelMax) + return g_pMain->m_nEventZoneTime; + + return 0; +} +void CUser::HandleCapture(Packet & pkt) +{ + if ((UNIXTIME - m_tBorderCapure) < 10) + return; + + if (GetZoneID() != ZONE_BORDER_DEFENSE_WAR || g_pMain->pTempleEvent.m_sMiniTimerNation[GetEventRoom()] == GetNation()) + return; + + uint16 KO = 360; + + g_pMain->pTempleEvent.m_sBdwMiniTimer[GetEventRoom()] = KO; + g_pMain->pTempleEvent.m_sMiniTimerNation[GetEventRoom()] = GetNation(); + + GetNation() == KARUS ? g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] = g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] + 2 : g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()] = g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()] + 2; + + Packet result1(WIZ_CAPTURE, uint8(0x05)); + result1 << GetNation() << GetName().c_str(); + Packet result(WIZ_CAPTURE, uint8(0x04)); + result << GetNation() << uint16(KO); + + g_pMain->Send_Zone(&result1, GetZoneID(), nullptr, Nation::ALL,GetEventRoom()); + g_pMain->Send_Zone(&result, GetZoneID(), nullptr, Nation::ALL,GetEventRoom()); + + + result.Initialize(WIZ_EVENT); + result << uint8(TEMPLE_EVENT_BORDER_COUNTER); + m_iLoyaltyDaily += 2 ; + UpdatePlayerRank(); + result << g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] << uint16(0x00) << g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()] << uint16(0x00); + g_pMain->Send_Zone(&result, GetZoneID(), nullptr, Nation::ALL,GetEventRoom()); + +} +uint8 CUser::GetMonsterChallengeUserCount() { return g_pMain->m_nForgettenTempleUsers.size(); } +uint8 CUser::GetEventZoneUserCount() { return g_pMain->m_nEventZoneUsers.size(); } \ No newline at end of file diff --git a/server/GameServer/FriendHandler.cpp b/server/GameServer/FriendHandler.cpp new file mode 100644 index 0000000..3e405e4 --- /dev/null +++ b/server/GameServer/FriendHandler.cpp @@ -0,0 +1,120 @@ +#include "stdafx.h" + +#define MAX_FRIEND_COUNT 24 + +// From the client +void CUser::FriendProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + switch (opcode) + { + case FRIEND_REQUEST: + FriendRequest(); + break; + case FRIEND_REPORT: + FriendReport(pkt); + break; + case FRIEND_ADD: + case FRIEND_REMOVE: + FriendModify(pkt, opcode); + break; + } +} + +// Request friend list. +void CUser::FriendRequest() +{ + Packet result(WIZ_FRIEND_PROCESS, uint8(FRIEND_REQUEST)); + g_pMain->AddDatabaseRequest(result, this); +} + +// Add or remove a friend from your list. +void CUser::FriendModify(Packet & pkt, uint8 opcode) +{ + std::string strUserID; + CUser *pUser; + CBot *pBot; + pkt >> strUserID; + + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE + || (opcode == FRIEND_ADD && ((pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER)) == nullptr && (pBot = g_pMain->GetBotPtr(strUserID, TYPE_CHARACTER)) == nullptr))) + return; + + Packet result(WIZ_FRIEND_PROCESS, opcode); + if (opcode == FRIEND_ADD && pUser != nullptr) + result << pUser->GetSocketID(); + else if(pUser == nullptr && opcode == FRIEND_ADD) + result << pBot->GetID(); + + + result.SByte(); + result << strUserID; + g_pMain->AddDatabaseRequest(result, this); +} + +// Refresh the status of your friends. +void CUser::FriendReport(Packet & pkt) +{ + Packet result(WIZ_FRIEND_PROCESS, uint8(FRIEND_REPORT)); + uint16 usercount = pkt.read(); + + if (usercount > MAX_FRIEND_COUNT) + return; + + result << usercount; + for (int i = 0; i < usercount; i++) + { + std::string strUserID; + int16 sid; + + pkt >> strUserID; + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE) + return; // malformed packet, just ignore it. + + uint8 status = GetFriendStatus(strUserID, sid); + result << strUserID << sid << status; + } + + Send(&result); +} + +// Retrieves the status (and socket ID) of a character. +uint8 CUser::GetFriendStatus(std::string & charName, int16 & sid) +{ + CUser *pUser; + CBot *pBot; + if (charName.empty() + || ((pUser = g_pMain->GetUserPtr(charName, TYPE_CHARACTER)) == nullptr && (pBot = g_pMain->GetBotPtr(charName, TYPE_CHARACTER)) == nullptr)) + { + sid = -1; + return 0; // user not found + } + + sid = pUser != nullptr ? pUser->GetSocketID() : pBot->GetID(); + if(pUser != nullptr) + { + if (pUser->isInParty()) // user in party + return 3; + } + return 1; // user not in party +} + +void CUser::RecvFriendModify(Packet & pkt, uint8 opcode) +{ + Packet result(WIZ_FRIEND_PROCESS); + std::string strUserID; + int16 sid = -1; + uint8 bResult = 0; + + if (opcode == FRIEND_ADD) + pkt >> sid; + + pkt >> bResult; + + pkt.SByte(); + pkt >> strUserID; + + uint8 status = GetFriendStatus(strUserID, sid); + result << opcode << bResult << strUserID << sid << status; + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/GameDefine.h b/server/GameServer/GameDefine.h new file mode 100644 index 0000000..0add899 --- /dev/null +++ b/server/GameServer/GameDefine.h @@ -0,0 +1,1096 @@ +#pragma once + +// Classes +#define KARUWARRIOR 101 // Beginner Karus Warrior +#define KARUROGUE 102 // Beginner Karus Rogue +#define KARUWIZARD 103 // Beginner Karus Magician +#define KARUPRIEST 104 // Beginner Karus Priest +#define BERSERKER 105 // Skilled (after first job change) Karus Warrior +#define GUARDIAN 106 // Mastered Karus Warrior +#define HUNTER 107 // Skilled (after first job change) Karus Rogue +#define PENETRATOR 108 // Mastered Karus Rogue +#define SORSERER 109 // Skilled (after first job change) Karus Magician +#define NECROMANCER 110 // Mastered Karus Magician +#define SHAMAN 111 // Skilled (after first job change) Karus Priest +#define DARKPRIEST 112 // Mastered Karus Priest +#define PORUTU 113 +#define PORUTUSKILLED 114 +#define PORUTUMASTER 115 + +#define ELMORWARRRIOR 201 // Beginner El Morad Warrior +#define ELMOROGUE 202 // Beginner El Morad Rogue +#define ELMOWIZARD 203 // Beginner El Morad Magician +#define ELMOPRIEST 204 // Beginner El Morad Priest +#define BLADE 205 // Skilled (after first job change) El Morad Warrior +#define PROTECTOR 206 // Mastered El Morad Warrior +#define RANGER 207 // Skilled (after first job change) El Morad Rogue +#define ASSASSIN 208 // Mastered El Morad Rogue +#define MAGE 209 // Skilled (after first job change) El Morad Magician +#define ENCHANTER 210 // Mastered El Morad Magician +#define CLERIC 211 // Skilled (after first job change) El Morad Priest +#define DRUID 212 // Mastered El Morad Priest +#define KURIAN 213 +#define KURIANSKILLED 214 +#define KURIANMASTER 215 + +// Races +#define KARUS_BIG 1 // Arch Tuarek (Karus Warriors - only!) +#define KARUS_MIDDLE 2 // Tuarek (Karus Rogues & Priests) +#define KARUS_SMALL 3 // Wrinkle Tuarek (Karus Magicians) +#define KARUS_WOMAN 4 // Puri Tuarek (Karus Priests) +#define KARUS_MONSTER 6 // Puri Tuarek (Karus Priests) +#define BABARIAN 11 // Barbarian (El Morad Warriors - only!) +#define ELMORAD_MAN 12 // El Morad Male (El Morad - ALL CLASSES) +#define ELMORAD_WOMAN 13 // El Morad Female (El Morad - ALL CLASSES) +#define ELMORAD_MONSTER 14 +// Ÿ�ݺ� ����� // +#define GREAT_SUCCESS 0X01 // �뼺�� +#define SUCCESS 0X02 // ���� +#define NORMAL 0X03 // ���� +#define FAIL 0X04 // ���� + +enum ItemMovementType +{ + ITEM_INVEN_SLOT = 1, + ITEM_SLOT_INVEN = 2, + ITEM_INVEN_INVEN = 3, + ITEM_SLOT_SLOT = 4, + ITEM_INVEN_ZONE = 5, + ITEM_ZONE_INVEN = 6, + ITEM_INVEN_TO_COSP = 7, // Inventory -> Cospre bag + ITEM_COSP_TO_INVEN = 8, // Cospre bag -> Inventory + ITEM_INVEN_TO_MBAG = 9, // Inventory -> Magic bag + ITEM_MBAG_TO_INVEN = 10, // Magic bag -> Inventory + ITEM_MBAG_TO_MBAG = 11, // Magic bag -> Magic bag + ITEM_INVEN_TO_PET = 12, // Inventory -> Pet + ITEM_PET_TO_INVEN = 13 // Pet -> Inventory + +}; + +enum ItemSlotType +{ + ItemSlot1HEitherHand = 0, + ItemSlot1HRightHand = 1, + ItemSlot1HLeftHand = 2, + ItemSlot2HRightHand = 3, + ItemSlot2HLeftHand = 4, + ItemSlotPauldron = 5, + ItemSlotPads = 6, + ItemSlotHelmet = 7, + ItemSlotGloves = 8, + ItemSlotBoots = 9, + ItemSlotEarring = 10, + ItemSlotNecklace = 11, + ItemSlotRing = 12, + ItemSlotShoulder = 13, + ItemSlotBelt = 14, + ItemSlotPet = 20, + ItemSlotBag = 25, + ItemSlotCospreGloves = 100, + ItemSlotCosprePauldron = 105, + ItemSlotCospreHelmet = 107, + ItemSlotCospreWings = 110, + ItemSlotCospreFairy = 111 +}; + +// Item Weapon Type Define +#define WEAPON_DAGGER 1 +#define WEAPON_SWORD 2 +#define WEAPON_2H_SWORD 22 // Kind field as-is +#define WEAPON_AXE 3 +#define WEAPON_2H_AXE 32 // Kind field as-is +#define WEAPON_MACE 4 +#define WEAPON_2H_MACE 42 // Kind field as-is +#define WEAPON_SPEAR 5 +#define WEAPON_2H_SPEAR 52 // Kind field as-is +#define WEAPON_SHIELD 6 +#define WEAPON_BOW 7 +#define WEAPON_LONGBOW 8 +#define WEAPON_LAUNCHER 10 +#define WEAPON_STAFF 11 +#define WEAPON_ARROW 12 // ��ų ��� +#define WEAPON_JAVELIN 13 // ��ų ��� +#define WEAPON_MACE2 18 +#define WEAPON_WORRIOR_AC 21 // ��ų ��� +#define WEAPON_LOG_AC 22 // ��ų ��� +#define WEAPON_WIZARD_AC 23 // ��ų ��� +#define WEAPON_PRIEST_AC 24 // ��ų ��� +#define WEAPON_JAMADAR 34 +#define WEAPON_PICKAXE 61 // Unlike the others, this is just the Kind field as-is (not / 10). +#define WEAPON_FISHING 63 // Unlike the others, this is just the Kind field as-is (not / 10). +#define KIND_PET 151 +#define KIND_CYPHERRING 160 +#define ACCESSORY_EARRING 91 +#define ACCESSORY_NECKLACE 92 +#define ACCESSORY_RING 93 +#define ACCESSORY_BELT 94 +#define ITEM_KIND_COSPRE 252 + +//////////////////////////////////////////////////////////// +// User Status // +#define USER_STANDING 0X01 // �� �ִ�. +#define USER_SITDOWN 0X02 // �ɾ� �ִ�. +#define USER_DEAD 0x03 // ��Ŷ� +#define USER_BLINKING 0x04 // ��� ��Ƴ���!!! +#define USER_MINING 0x07 // MINING System +#define USER_FLASHING 0x08 // Flashing System +//////////////////////////////////////////////////////////// +// Durability Type +#define ATTACK 0x01 +#define DEFENCE 0x02 +#define REPAIR_ALL 0x03 +#define ACID_ALL 0x04 +//////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////// +// Knights Authority Type +/* +#define CHIEF 0x06 +#define VICECHIEF 0x05*/ +#define OFFICER 0x04 +#define KNIGHT 0x03 +//#define TRAINEE 0x02 +#define PUNISH 0x01 + +#define CHIEF 0x01 // ���� +#define VICECHIEF 0x02 // �δ��� +#define TRAINEE 0x05 // ��� +#define COMMAND_CAPTAIN 100 // ���ֱ��� +//////////////////////////////////////////////////////////// + +#define CLAN_COIN_REQUIREMENT 500000 +#define CLAN_LEVEL_REQUIREMENT 20 + +#define ITEM_GOLD 900000000 // �� ������ ��ȣ... +#define ITEM_NO_TRADE 900000001 // Cannot be traded, sold or stored. +#define ITEM_NO_TRADE_MAX 1000000000 // Cannot be traded, sold or stored. + +//////////////////////////////////////////////////////////// +// EVENT MISCELLANOUS DATA DEFINE +#define ZONE_TRAP_INTERVAL 2 // Interval is one second (in seconds) right now. +#define ZONE_TRAP_DAMAGE 500 // HP Damage is 10 for now :) + +//////////////////////////////////////////////////////////// + +#define RIVALRY_DURATION (300) // 5 minutes +#define RIVALRY_NP_BONUS (150) // 150 additional NP on kill +#define MINIRIVALRY_NP_BONUS (50) // 150 additional NP on kill + +#define MAX_ANGER_GAUGE (5) // Maximum of 5 deaths in a PVP zone to fill your gauge. + +#define PVP_MONUMENT_NP_BONUS (5) // 5 additional NP on kill +#define EVENT_MONUMENT_NP_BONUS (10) // 10 additional NP on kill + +//////////////////////////////////////////////////////////// +// SKILL POINT DEFINE +#define ORDER_SKILL 0x01 +#define MANNER_SKILL 0X02 +#define LANGUAGE_SKILL 0x03 +#define BATTLE_SKILL 0x04 +#define PRO_SKILL1 0x05 +#define PRO_SKILL2 0x06 +#define PRO_SKILL3 0x07 +#define PRO_SKILL4 0x08 + +enum SkillPointCategory +{ + SkillPointFree = 0, + SkillPointCat1 = 5, + SkillPointCat2 = 6, + SkillPointCat3 = 7, + SkillPointMaster = 8 +}; + +///////////////////////////////////////////////////////////// +// ITEM TYPE DEFINE +#define ITEM_TYPE_FIRE 0x01 +#define ITEM_TYPE_COLD 0x02 +#define ITEM_TYPE_LIGHTNING 0x03 +#define ITEM_TYPE_POISON 0x04 +#define ITEM_TYPE_HP_DRAIN 0x05 +#define ITEM_TYPE_MP_DAMAGE 0x06 +#define ITEM_TYPE_MP_DRAIN 0x07 +#define ITEM_TYPE_MIRROR_DAMAGE 0x08 + +///////////////////////////////////////////////////////////// +// JOB GROUP TYPES +#define GROUP_WARRIOR 1 +#define GROUP_ROGUE 2 +#define GROUP_MAGE 3 +#define GROUP_CLERIC 4 +#define GROUP_ATTACK_WARRIOR 5 +#define GROUP_DEFENSE_WARRIOR 6 +#define GROUP_ARCHERER 7 +#define GROUP_ASSASSIN 8 +#define GROUP_ATTACK_MAGE 9 +#define GROUP_PET_MAGE 10 +#define GROUP_HEAL_CLERIC 11 +#define GROUP_CURSE_CLERIC 12 +#define GROUP_KURIAN 13 + +////////////////////////////////////////////////////////////// +// USER ABNORMAL STATUS TYPES +enum AbnormalType +{ + ABNORMAL_INVISIBLE = 0, // Hides character completely (for GM visibility only). + ABNORMAL_NORMAL = 1, // Shows character. This is the default for players. + ABNORMAL_GIANT = 2, // Enlarges character. + ABNORMAL_DWARF = 3, // Shrinks character. + ABNORMAL_BLINKING = 4, // Forces character to start blinking. + ABNORMAL_GIANT_TARGET = 6 // Enlarges character and shows "Hit!" effect. +}; + +////////////////////////////////////////////////////////////// +// Object Type +#define NORMAL_OBJECT 0 +#define SPECIAL_OBJECT 1 + +////////////////////////////////////////////////////////////// +// REGENE TYPES +#define REGENE_NORMAL 0 +#define REGENE_MAGIC 1 +#define REGENE_ZONECHANGE 2 + +struct _CLASS_COEFFICIENT +{ + uint16 sClassNum; + float ShortSword; + float Sword; + float Axe; + float Club; + float Spear; + float Pole; + float Staff; + float Bow; + float HP; + float MP; + float SP; + float AC; + float Hitrate; + float Evasionrate; +}; + +// Dropped loot/chest. +struct _LOOT_ITEM +{ + uint32 nItemID; + uint16 sCount; + _LOOT_ITEM() + { + } + _LOOT_ITEM(uint32 nItemID, uint16 sCount) + { + this->nItemID = nItemID; + this->sCount = sCount; + } +}; + +struct _LOOT_BUNDLE +{ + uint32 nBundleID; + _LOOT_ITEM Items[NPC_HAVE_ITEM_LIST]; + uint8 ItemsCount; + float x, z, y; + uint32 tDropTime; + uint16 LooterID; +}; + +struct _EXCHANGE_ITEM +{ + uint32 nItemID; + uint32 nCount; + uint16 sDurability; + uint8 bSrcPos; + uint8 bDstPos; + uint64 nSerialNum; +}; + +enum ItemRace +{ + RACE_TRADEABLE_IN_48HR = 19, // These items can't be traded until 48 hours from the time of creation + RACE_UNTRADEABLE = 20 // Cannot be traded or sold. +}; + +enum SellType +{ + SellTypeNormal = 0, // sell price is 1/4 of the purchase price + SellTypeFullPrice = 1, // sell price is the same as the purchase price + SellTypeNoRepairs = 2 // sell price is 1/4 of the purchase price, item cannot be repaired. +}; + +struct _ITEM_CRASH +{ + uint32 Index; + uint8 Flag; + uint32 ItemID; + uint16 ItemCount; + uint16 SuccessRate; +}; + +struct _ITEM_TABLE +{ + uint32 m_iNum; + std::string m_sName; + uint8 m_bKind; + uint8 m_bSlot; + uint8 m_bRace; + uint8 m_bClass; + uint16 m_sDamage; + uint16 m_sDelay; + uint16 m_sRange; + uint16 m_sWeight; + uint16 m_sDuration; + uint32 m_iBuyPrice; + uint32 m_iSellPrice; + int16 m_sAc; + uint8 m_bCountable; + uint32 m_iEffect1; + uint32 m_iEffect2; + uint8 m_bReqLevel; + uint8 m_bReqLevelMax; + uint8 m_bReqRank; + uint8 m_bReqTitle; + uint8 m_bReqStr; + uint8 m_bReqSta; + uint8 m_bReqDex; + uint8 m_bReqIntel; + uint8 m_bReqCha; + uint32 m_bSellingGroup; + uint8 m_ItemType; + uint16 m_sHitrate; + uint16 m_sEvarate; + uint16 m_sDaggerAc; + uint16 m_sSwordAc; + uint16 m_sMaceAc; + uint16 m_sAxeAc; + uint16 m_sSpearAc; + uint16 m_sBowAc; + uint8 m_bFireDamage; + uint8 m_bIceDamage; + uint8 m_bLightningDamage; + uint8 m_bPoisonDamage; + uint8 m_bHPDrain; + uint8 m_bMPDamage; + uint8 m_bMPDrain; + uint8 m_bMirrorDamage; + int16 m_sStrB; + int16 m_sStaB; + int16 m_sDexB; + int16 m_sIntelB; + int16 m_sChaB; + int16 m_MaxHpB; + int16 m_MaxMpB; + int16 m_bFireR; + int16 m_bColdR; + int16 m_bLightningR; + int16 m_bMagicR; + int16 m_bPoisonR; + int16 m_bCurseR; + int16 ItemClass; + int16 ItemExt; + uint32 m_iNPBuyPrice; + + INLINE bool isStackable() { return m_bCountable != 0; } + + INLINE uint8 GetKind() { return m_bKind; } + INLINE uint8 Gettype() { return m_ItemType; } + INLINE uint32 Getnum() { return m_iNum; } + INLINE uint8 GetItemGroup() { return uint8(m_bKind / 10); } + + INLINE bool isDagger() { return GetItemGroup() == WEAPON_DAGGER || GetItemGroup() == WEAPON_JAMADAR; } + INLINE bool isSword() { return GetItemGroup() == WEAPON_SWORD; } + INLINE bool is2HSword() { return GetKind() == WEAPON_2H_SWORD; } + INLINE bool isAxe() { return GetItemGroup() == WEAPON_AXE; } + INLINE bool is2HAxe() { return GetKind() == WEAPON_2H_AXE; } + INLINE bool isMace() { return GetItemGroup() == WEAPON_MACE || GetItemGroup() == WEAPON_MACE2; } + INLINE bool is2HMace() { return GetKind() == WEAPON_2H_MACE || GetItemGroup() == WEAPON_MACE2; } + INLINE bool isSpear() { return GetItemGroup() == WEAPON_SPEAR; } + INLINE bool is2HSpear() { return GetKind() == WEAPON_2H_SPEAR; } + INLINE bool isShield() { return GetItemGroup() == WEAPON_SHIELD; } + INLINE bool isStaff() { return GetItemGroup() == WEAPON_STAFF; } + INLINE bool isBow() { return GetItemGroup() == WEAPON_BOW || GetItemGroup() == WEAPON_LONGBOW; } + INLINE bool isPickaxe() { return GetKind() == WEAPON_PICKAXE; } + INLINE bool isPet() { return GetKind() == KIND_PET; } + INLINE bool isCyhperRing() { return GetKind() == KIND_CYPHERRING; } + INLINE bool isFishing() { return GetKind() == WEAPON_FISHING; } + INLINE bool isRON() { return Getnum() == 189401287 || Getnum() == 189401288 || Getnum() == 189401289; } + INLINE bool isLigh() { return Getnum() == 189301277 || Getnum() == 189301278 || Getnum() == 189301279; } + INLINE bool isNormal() { return Gettype() == 4 || Gettype() == 5; } + INLINE bool isRebirth1() { return Gettype() == 11 || Gettype() == 12; } + INLINE bool isAll() { return GetKind() > 0; } + INLINE bool is2Handed() { return m_bSlot == ItemSlot2HLeftHand || m_bSlot == ItemSlot2HRightHand; } + INLINE bool isAccessory() { return GetKind() == ACCESSORY_EARRING || GetKind() == ACCESSORY_NECKLACE || GetKind() == ACCESSORY_RING || GetKind() == ACCESSORY_BELT; } + INLINE bool isEarring() { return GetKind() == ACCESSORY_EARRING; } + INLINE bool isNecklace() { return GetKind() == ACCESSORY_NECKLACE; } + INLINE bool isRing() { return GetKind() == ACCESSORY_RING; } + INLINE bool isBelt() { return GetKind() == ACCESSORY_BELT; } +}; + +struct _ZONE_SERVERINFO +{ + short sServerNo; + std::string strServerIP; +}; + +struct _KNIGHTS_CAPE +{ + uint16 sCapeIndex; + uint32 nReqCoins; + uint32 nReqClanPoints; // clan point requirement + uint8 byGrade; // clan grade requirement + uint8 byRanking; // clan rank requirement (e.g. royal, accredited, etc) +}; + +struct _KNIGHTS_SIEGE_WARFARE +{ + uint16 sCastleIndex; + uint16 sMasterKnights; + uint8 bySiegeType; + uint8 byWarDay; + uint8 byWarTime; + uint8 byWarMinute; + uint16 sChallengeList_1; + uint16 sChallengeList_2; + uint16 sChallengeList_3; + uint16 sChallengeList_4; + uint16 sChallengeList_5; + uint16 sChallengeList_6; + uint16 sChallengeList_7; + uint16 sChallengeList_8; + uint16 sChallengeList_9; + uint16 sChallengeList_10; + uint8 byWarRequestDay; + uint8 byWarRequestTime; + uint8 byWarRequestMinute; + uint8 byGuerrillaWarDay; + uint8 byGuerrillaWarTime; + uint8 byGuerrillaWarMinute; + std::string strChallengeList; + uint16 sMoradonTariff; + uint16 sDellosTariff; + int32 nDungeonCharge; + int32 nMoradonTax; + int32 nDellosTax; + uint16 sRequestList_1; + uint16 sRequestList_2; + uint16 sRequestList_3; + uint16 sRequestList_4; + uint16 sRequestList_5; + uint16 sRequestList_6; + uint16 sRequestList_7; + uint16 sRequestList_8; + uint16 sRequestList_9; + uint16 sRequestList_10; +}; + +struct _KNIGHTS_ALLIANCE +{ + uint16 sMainAllianceKnights; + uint16 sSubAllianceKnights; + uint16 sMercenaryClan_1; + uint16 sMercenaryClan_2; +}; + +struct _START_POSITION +{ + uint16 ZoneID; + uint16 sKarusX; + uint16 sKarusZ; + uint16 sElmoradX; + uint16 sElmoradZ; + uint16 sKarusGateX; + uint16 sKarusGateZ; + uint16 sElmoradGateX; + uint16 sElmoradGateZ; + uint8 bRangeX; + uint8 bRangeZ; +}; + +struct _KNIGHTS_RATING +{ + uint32 nRank; + uint16 sClanID; + uint32 nPoints; +}; + +struct _USER_RANK +{ + uint16 nRank; // shIndex for USER_KNIGHTS_RANK + std::string strUserID[2]; + uint32 nSalary; // nMoney for USER_KNIGHTS_RANK + uint32 nLoyalty[2]; // nKarusLoyaltyMonthly/nElmoLoyaltyMonthly for USER_PERSONAL_RANK +}; + +struct _PET_DATA +{ + uint64 m_Serial; // Pet items specified serial number + std::string strPetName; // Pets name + uint8 m_sClass; // Pets class + uint8 m_bLevel; // Pets level + uint8 m_sSatisfaction; // Pets satisfaction + uint8 iExp; + uint32 SpecialPetID; +}; + + +// TO-DO: Rewrite this system to be less script dependent for exchange logic. +// Coin requirements should be in the database, and exchanges should be grouped. +#define ITEMS_IN_ORIGIN_GROUP 5 +#define ITEMS_IN_SPECIAL_ORIGIN_GROUP 10 +#define ITEMS_IN_SPECIAL_EXCHANGE_GROUP 10 +#define ITEMS_IN_EXCHANGE_GROUP 5 + +struct _ITEM_MIX +{ + uint32 nIndex; + uint16 sNpcNum; + uint8 bType; + uint8 bStatus; + std::string strName; + + uint16 sSuccessEffect,bSuccessRate,sFailEffect,bBonusRate; + + uint32 nOriginItemNum[ITEMS_IN_SPECIAL_ORIGIN_GROUP]; + uint16 sOriginItemCount[ITEMS_IN_SPECIAL_ORIGIN_GROUP]; + + uint32 nExchangeItemNum[ITEMS_IN_SPECIAL_EXCHANGE_GROUP]; + uint16 sExchangeItemCount[ITEMS_IN_SPECIAL_EXCHANGE_GROUP]; +}; + +struct _ITEM_EXCHANGE +{ + uint32 nIndex; + uint8 bRandomFlag; + + uint32 nOriginItemNum[ITEMS_IN_ORIGIN_GROUP]; + uint32 sOriginItemCount[ITEMS_IN_ORIGIN_GROUP]; + + uint32 nExchangeItemNum[ITEMS_IN_EXCHANGE_GROUP]; + uint32 sExchangeItemCount[ITEMS_IN_EXCHANGE_GROUP]; + + uint32 Unk1,Unk2,Unk3,Unk4,Unk5; +}; + +struct _ITEM_EXCHANGE_EXP +{ + uint32 nIndex; + uint8 bRandomFlag; + + uint32 nExchangeItemNum[ITEMS_IN_EXCHANGE_GROUP]; + uint32 sExchangeItemCount[ITEMS_IN_EXCHANGE_GROUP]; +}; + +struct _MINING_ITEM +{ + uint32 nMiningID; + uint32 nExchangeItemNum; + uint16 sExchangeItemRate; + uint16 isGoldenMattock; +}; + +#define MAX_ITEMS_REQ_FOR_UPGRADE 8 +struct _ITEM_UPGRADE +{ + uint32 nIndex; + uint16 sNpcNum; + int8 bOriginType; + uint16 sOriginItem; + uint32 nReqItem[MAX_ITEMS_REQ_FOR_UPGRADE]; + uint32 nReqNoah; + uint8 bRateType; + uint16 sGenRate; + uint16 sTrinaRate; + int32 nGiveItem; + + INLINE uint32 Getscroll() { return nReqItem[MAX_ITEMS_REQ_FOR_UPGRADE]; } + INLINE bool isReverse() { return Getscroll() == 379257000; } + INLINE bool isTransform() { return Getscroll() == 379256000; } +}; + +enum ItemTriggerType +{ + TriggerTypeAttack = 3, + TriggerTypeDefend = 13 +}; + +struct _ITEM_OP +{ + uint32 nItemID; + uint8 bTriggerType; + uint32 nSkillID; + uint8 bTriggerRate; +}; + +struct _ITEM_DUPER +{ + uint32 n_Index; + uint32 d_ItemID; + uint64 d_Serial; +}; + +struct _ILEGAL_ITEMS +{ + uint32 i_Index; + uint32 i_ItemID; +}; + +struct _MERCHANT_LIST +{ + std::string strUserName; + + uint16 strUserID; + uint32 ItemID[12]; + uint32 Price[12]; + uint8 Type; +}; +struct _ACHIEVE_ITEM +{ + uint16 TitleID; + uint16 sQuestID; + uint16 StrengthBonus; + uint16 StaminaBonus; + uint16 DexterityBonus; + uint16 IntelBonus; + uint16 CharismaBonus; + uint16 FireResistance; + uint16 IceResistance; + uint16 LightResistance; + uint16 FireDamage; + uint16 IceDamage; + uint16 LightDamage; + uint16 PoisonResistance; + uint16 MagicResistance; + uint16 SpellResistance; + uint16 DaggerAc; + uint16 JamadarAc; + uint16 SwordAc; + uint16 BlowAc; + uint16 AxeAc; + uint16 SpearAc; + uint16 ArrowAc; + uint16 XPBonusPercent; + uint16 CONT; + uint16 AttackBonus; + int16 ACBonus; +}; + +struct _SET_ITEM +{ + uint32 SetIndex; + + uint16 HPBonus; + uint16 MPBonus; + uint16 StrengthBonus; + uint16 StaminaBonus; + uint16 DexterityBonus; + uint16 IntelBonus; + uint16 CharismaBonus; + uint16 FlameResistance; + uint16 GlacierResistance; + uint16 LightningResistance; + uint16 PoisonResistance; + uint16 MagicResistance; + uint16 CurseResistance; + + uint16 XPBonusPercent; + uint16 CoinBonusPercent; + + uint16 APBonusPercent; // +AP% for all classes + uint16 APBonusClassType; // defines a specific class for +APBonusClassPercent% to be used against + uint16 APBonusClassPercent; // +AP% for APBonusClassType only + + uint16 ACBonus; // +AC amount for all classes + uint16 ACBonusClassType; // defines a specific class for +ACBonusClassPercent% to be used against + uint16 ACBonusClassPercent; // +AC% for ACBonusClassType only + + uint16 MaxWeightBonus; + uint8 NPBonus; +}; + +struct _QUEST_HELPER +{ + uint32 nIndex; + uint8 bMessageType; + uint8 bLevel; + uint32 nExp; + uint8 bClass; + uint8 bNation; + uint8 bQuestType; + uint8 bZone; + uint16 sNpcId; + uint16 sEventDataIndex; + int8 bEventStatus; + uint32 nEventTriggerIndex; + uint32 nEventCompleteIndex; + uint32 nExchangeIndex; + uint32 nEventTalkIndex; + std::string strLuaFilename; +}; + +struct _USER_SEAL_ITEM +{ + uint64 nSerialNum; + uint32 nItemID; + uint8 bSealType; +}; + +struct _PREMIUM_TYPE +{ + uint8 PremiumType; + uint16 PremiumTime; +}; + +struct _ITEM_REPURCHASE +{ + uint32 nNum; + uint32 tRepTime; +}; + +#define QUEST_MOB_GROUPS 4 +#define QUEST_MOBS_PER_GROUP 4 +struct _QUEST_MONSTER +{ + uint16 sQuestNum; + uint16 sNum[QUEST_MOB_GROUPS][QUEST_MOBS_PER_GROUP]; + uint16 sCount[QUEST_MOB_GROUPS]; + + _QUEST_MONSTER() + { + memset(&sCount, 0, sizeof(sCount)); + memset(&sNum, 0, sizeof(sNum)); + } +}; + +enum SpecialQuestIDs +{ + QUEST_KILL_GROUP1 = 32001, + QUEST_KILL_GROUP2 = 32002, + QUEST_KILL_GROUP3 = 32003, + QUEST_KILL_GROUP4 = 32004, +}; + +struct _RENTAL_ITEM +{ + uint32 nRentalIndex; + uint32 nItemID; + uint16 sDurability; + uint64 nSerialNum; + uint8 byRegType; + uint8 byItemType; + uint8 byClass; + uint16 sRentalTime; + uint32 nRentalMoney; + std::string strLenderCharID; + std::string strBorrowerCharID; +}; + +struct _PREMIUM_ITEM +{ + uint8 Type; + uint16 ExpRestorePercent; + uint16 NoahPercent; + uint16 DropPercent; + uint32 BonusLoyalty; + uint16 RepairDiscountPercent; + uint16 ItemSellPercent; +}; + +struct _PREMIUM_ITEM_EXP +{ + uint16 nIndex; + uint8 Type; + uint8 MinLevel; + uint8 MaxLevel; + uint16 sPercent; +}; + +struct _USER_RANKING +{ + uint16 m_socketID; + uint8 m_bNation; + uint32 m_iLoyaltyDaily; + uint16 m_iLoyaltyPremiumBonus; + uint16 m_KillCount; // Chaos Dungeon + uint16 m_DeathCount; // Chaos Dungeon + CUser * pUser; +}; + + +struct _TEMPLE_EVENT_USER +{ + uint16 m_socketID; + uint16 m_bEventRoom; +}; + +struct _EVENT_TRIGGER +{ + uint32 nIndex; + uint16 bNpcType; + uint32 sNpcID; + uint32 nTriggerNum; +}; + +struct _USER_DAILY_OP +{ + std::string strUserId; + int32 ChaosMapTime; + int32 UserRankRewardTime; + int32 PersonalRankRewardTime; + int32 KingWingTime; + int32 WarderKillerTime1; + int32 WarderKillerTime2; + int32 KeeperKillerTime; + int32 UserLoyaltyWingRewardTime; +}; + +struct _MONUMENT_INFORMATION +{ + uint16 sSid; + uint16 sNid; + int32 RepawnedTime; +}; + +struct _MONSTER_CHALLENGE +{ + uint16 sIndex; + uint8 bStartTime1; + uint8 bStartTime2; + uint8 bStartTime3; + uint8 bLevelMin; + uint8 bLevelMax; +}; + +struct _EVENT_TIMES +{ + uint16 sIndex; + uint8 bTime1; + uint8 bTime2; + uint8 bTime3; + uint8 bLvMin; + uint8 bLvMax; + uint8 AllDays; +}; + +struct _MONSTER_CHALLENGE_SUMMON_LIST +{ + uint16 sIndex; + uint8 bLevel; + uint8 bStage; + uint8 bStageLevel; + uint16 sTime; + uint16 sSid; + uint16 sCount; + uint16 sPosX; + uint16 sPosZ; + uint8 bRange; +}; + +struct _EVENT_STATUS +{ + int16 ActiveEvent; + int8 ZoneID; + uint8 LastEventRoom; + uint32 StartTime; + uint16 AllUserCount; + uint16 ElMoradUserCount; + uint16 KarusUserCount; + uint16 ElmoDeathCount[MAX_TEMPLE_EVENT_ROOM]; + uint16 KarusDeathCount[MAX_TEMPLE_EVENT_ROOM]; + uint16 m_sBdwMiniTimer[MAX_TEMPLE_EVENT_ROOM]; + uint8 m_sMiniTimerNation[MAX_TEMPLE_EVENT_ROOM]; + + uint16 JuraidKarusGateID1[MAX_TEMPLE_EVENT_ROOM]; + uint16 JuraidKarusGateID2[MAX_TEMPLE_EVENT_ROOM]; + uint16 JuraidKarusGateID3[MAX_TEMPLE_EVENT_ROOM]; + uint16 JuraidElmoGateID1[MAX_TEMPLE_EVENT_ROOM]; + uint16 JuraidElmoGateID2[MAX_TEMPLE_EVENT_ROOM]; + uint16 JuraidElmoGateID3[MAX_TEMPLE_EVENT_ROOM]; + + + uint16 KarusDeathRoom1[MAX_TEMPLE_EVENT_ROOM]; + uint16 KarusDeathRoom2[MAX_TEMPLE_EVENT_ROOM]; + uint16 KarusDeathRoom3[MAX_TEMPLE_EVENT_ROOM]; + uint16 ElmoDeathRoom1[MAX_TEMPLE_EVENT_ROOM]; + uint16 ElmoDeathRoom2[MAX_TEMPLE_EVENT_ROOM]; + uint16 ElmoDeathRoom3[MAX_TEMPLE_EVENT_ROOM]; + // Juraid Finish + bool isAttackable; + bool isActive; + bool isDevaFlag[MAX_TEMPLE_EVENT_ROOM]; + bool isDevaControl[MAX_TEMPLE_EVENT_ROOM]; + uint8 DevaNation[MAX_TEMPLE_EVENT_ROOM]; + + + uint32 m_nChaosPrizeWonItemNo1; + uint32 m_nChaosPrizeWonItemNo2; + uint32 m_nChaosPrizeWonItemNo3; + uint32 m_nChaosPrizeWonItemNo4_K; + uint32 m_nChaosPrizeWonItemNo4_H; + uint32 m_nChaosPrizeWonLoyalty; + uint32 m_nChaosPrizeWonExp; + uint32 m_nChaosPrizeWonKnightCash; + uint32 m_nChaosPrizeLoserKnightCash; + uint32 m_nChaosPrizeLoserLoyalty; + uint32 m_nChaosPrizeLoserItem; + uint32 m_nChaosPrizeLoserExp; + + uint32 m_nBorderDefenseWarPrizeWonItemNo1; + uint32 m_nBorderDefenseWarPrizeWonItemNo2; + uint32 m_nBorderDefenseWarPrizeWonItemNo3; + uint32 m_nBorderDefenseWarPrizeWonItemNo4_K; + uint32 m_nBorderDefenseWarPrizeWonItemNo4_H; + uint32 m_nBorderDefenseWarPrizeWonLoyalty; + uint32 m_nBorderDefenseWarPrizeWonKnightCash; + uint32 m_nBorderDefenseWarPrizeLoserKnightCash; + uint32 m_nBorderDefenseWarPrizeLoserLoyalty; + uint32 m_nBorderDefenseWarPrizeLoserItem; + uint8 m_nBorderDefenseWarMAXLEVEL; + uint8 m_nBorderDefenseWarMINLEVEL; + + bool m_nJuraidMountainOdulTipi; + uint32 m_nJuraidMountainPrizeWonItemNo1; + uint32 m_nJuraidMountainPrizeWonItemNo2; + uint32 m_nJuraidMountainPrizeWonItemNo3; + uint32 m_nJuraidMountainPrizeWonItemNo4_K; + uint32 m_nJuraidMountainPrizeWonItemNo4_H; + uint32 m_nJuraidMountainPrizeWonLoyalty; + uint32 m_nJuraidMountainPrizeWonExp; + uint32 m_nJuraidMountainPrizeWonKnightCash; + uint32 m_nJuraidMountainPrizeLoserKnightCash; + uint32 m_nJuraidMountainPrizeLoserLoyalty; + uint32 m_nJuraidMountainPrizeLoserItem; + uint32 m_nJuraidMountainPrizeLoserExp; + uint8 m_nJuraidMountainMAXLEVEL; + uint8 m_nJuraidMountainMINLEVEL; + +}; + +struct _START_POSITION_RANDOM +{ + uint16 sIndex; + uint8 ZoneID; + uint16 PosX; + uint16 PosZ; + uint8 Radius; +}; + +struct _USER_ITEM +{ + uint32 nItemID; + std::vector nItemSerial; +}; + + +enum BuffType +{ + BUFF_TYPE_NONE = 0, + BUFF_TYPE_HP_MP = 1, + BUFF_TYPE_AC = 2, + BUFF_TYPE_SIZE = 3, + BUFF_TYPE_DAMAGE = 4, + BUFF_TYPE_ATTACK_SPEED = 5, + BUFF_TYPE_SPEED = 6, + BUFF_TYPE_STATS = 7, + BUFF_TYPE_RESISTANCES = 8, + BUFF_TYPE_ACCURACY = 9, + BUFF_TYPE_MAGIC_POWER = 10, + BUFF_TYPE_EXPERIENCE = 11, + BUFF_TYPE_WEIGHT = 12, + BUFF_TYPE_WEAPON_DAMAGE = 13, + BUFF_TYPE_WEAPON_AC = 14, + BUFF_TYPE_LOYALTY = 15, + BUFF_TYPE_NOAH_BONUS = 16, + BUFF_TYPE_PREMIUM_MERCHANT = 17, + BUFF_TYPE_ATTACK_SPEED_ARMOR = 18, // Berserker + BUFF_TYPE_DAMAGE_DOUBLE = 19, // Critical Point + BUFF_TYPE_DISABLE_TARGETING = 20, // Smoke Screen / Light Shock + BUFF_TYPE_BLIND = 21, // Blinding (Strafe) + BUFF_TYPE_FREEZE = 22, // Freezing Distance + BUFF_TYPE_INSTANT_MAGIC = 23, // Instantly Magic + BUFF_TYPE_DECREASE_RESIST = 24, // Minor resist + BUFF_TYPE_MAGE_ARMOR = 25, // Fire / Ice / Lightning Armor + BUFF_TYPE_PROHIBIT_INVIS = 26, // Source Marking + BUFF_TYPE_RESIS_AND_MAGIC_DMG = 27, // Elysian Web + BUFF_TYPE_TRIPLEAC_HALFSPEED = 28, // Wall of Iron + BUFF_TYPE_BLOCK_CURSE = 29, // Counter Curse + BUFF_TYPE_BLOCK_CURSE_REFLECT = 30, // Curse Refraction + BUFF_TYPE_MANA_ABSORB = 31, // Outrage / Frenzy + BUFF_TYPE_IGNORE_WEAPON = 32, // Weapon cancellation + BUFF_TYPE_VARIOUS_EFFECTS = 33, // ... whatever the event item grants. + BUFF_TYPE_PASSION_OF_SOUL = 35, // Passion of the Soul + BUFF_TYPE_FIRM_DETERMINATION = 36, // Firm Determination + BUFF_TYPE_ATTACK_MAGIC_ATTACK = 37, // increases attack and magic attack percent + BUFF_TYPE_ATTACK_TIME = 39, // increases attack by ** minutes + BUFF_TYPE_SPEED2 = 40, // Cold Wave + BUFF_TYPE_ARMORED = 41, // Armored Skin + BUFF_TYPE_UNK_EXPERIENCE = 42, // unknown buff type, used for something relating to XP. + BUFF_TYPE_ATTACK_RANGE_ARMOR = 43, // Inevitable Murderous + BUFF_TYPE_MIRROR_DAMAGE_PARTY = 44, // Minak's Thorn + BUFF_TYPE_DAGGER_BOW_DEFENSE = 45, // Eskrima + BUFF_TYPE_GM_BUFF = 46, + BUFF_TYPE_STUN = 47, + BUFF_TYPE_FISHING = 48, // FISHING Skill + BUFF_TYPE_DEVIL_TRANSFORM = 49, + BUFF_TYPE_DRAKEY = 50, + BUFF_TYPE_SPEED3 = 52, + BUFF_TYPE_LOYALTY_AMOUNT = 55, // Santa's Present + BUFF_TYPE_NO_RECALL = 150, // "Cannot use against the ones to be summoned" + BUFF_TYPE_REDUCE_TARGET = 151, // "Reduction" (reduces target's stats, but enlarges their character to make them easier to attack) + BUFF_TYPE_SILENCE_TARGET = 152, // Silences the target to prevent them from using any skills (or potions) + BUFF_TYPE_NO_POTIONS = 153, // "No Potion" prevents target from using potions. + BUFF_TYPE_KAUL_TRANSFORMATION = 154, // Transforms the target into a Kaul (a pig thing), preventing you from /town'ing or attacking, but increases defense. + BUFF_TYPE_UNDEAD = 155, // User becomes undead, increasing defense but preventing the use of potions and converting all health received into damage. + BUFF_TYPE_UNSIGHT = 156, // Blocks the caster's sight (not the target's). + BUFF_TYPE_BLOCK_PHYSICAL_DAMAGE = 157, // Blocks all physical damage. + BUFF_TYPE_BLOCK_MAGICAL_DAMAGE = 158, // Blocks all magical/skill damage. + BUFF_TYPE_UNK_POTION = 159, // unknown potion, "Return of the Warrior", "Comeback potion", perhaps some sort of revive? + BUFF_TYPE_SLEEP = 160, // Zantman (Sandman) + BUFF_TYPE_INC_CONTRIBUTION = 162, // Increase of the contribution + BUFF_TYPE_INVISIBILITY_POTION = 163, // "Unidentified potion" + BUFF_TYPE_GODS_BLESSING = 164, // Increases your defense/max HP + BUFF_TYPE_HELP_COMPENSATION = 165, // Compensation for using the help system (to help, ask for help, both?) + BUFF_TYPE_UNKNOW = 166, // Unknow Skill Buff type + BUFF_TYPE_IMIR_ROAR = 167, // Creates a physical damage immune area around 10 meter radius of the caster for 20 seconds. + BUFF_TYPE_LOGOS_HORNS = 168, // Creates a magic damage immune area around 10 meter radius of the caster for 20 seconds. + BUFF_TYPE_DROP_RATE = 169, // During the 2-hour, +10% item drop rate. + BUFF_TYPE_MAMA_MAGPIE = 170, // Magpie is transformed into a mother + BUFF_TYPE_BATTLE_CRY = 171, // Battle Cry + BUFF_TYPE_ATTACK_AMMONUT2 = 172, // Attack increased by 5% +}; + +enum FlyingSantaOrAngel +{ + FLYING_NONE = 0, + FLYING_SANTA = 1, + FLYING_ANGEL = 2 +}; + +enum UserInfoOpCode +{ +UserInfo = 1, +UserInfoNick = 2, +UserInfoAll = 3, +UserInfoShow = 4 +}; + + +enum AchieveOpcodes +{ +AchieveError = 0, +AchieveSuccess = 1, +AchieveUnknown2 = 2, +AchieveTitleShow = 3, +AchieveMainPage = 4, +AchieveUnknown = 5, +AchieveUnknown6 = 6, +AchieveUnknown7 = 7, +AchieveUnknown8 = 8, +AchieveUnknown9 = 9, +AchieveCoverTitle = 10, +AchieveSkillTitle = 11, +AchieveCoverTitleReset = 12, +AchieveSkillTitleReset = 13 +}; + + + +#include "../shared/database/structs.h" \ No newline at end of file diff --git a/server/GameServer/GameEvent.cpp b/server/GameServer/GameEvent.cpp new file mode 100644 index 0000000..c89958b --- /dev/null +++ b/server/GameServer/GameEvent.cpp @@ -0,0 +1,28 @@ +#include "stdafx.h" +#include "GameEvent.h" +#include "User.h" + +CGameEvent::CGameEvent() : m_bType(0) +{ + memset(&m_iCond, 0, sizeof(m_iCond)); + memset(&m_iExec, 0, sizeof(m_iExec)); +} + +void CGameEvent::RunEvent(CUser *pUser) +{ + switch (m_bType) + { + case ZONE_CHANGE: + if (pUser->m_bWarp) + break; + pUser->ZoneChange( m_iExec[0], (float)m_iExec[1], (float)m_iExec[2] ); + break; + case ZONE_TRAP_DEAD: + // TRACE("&&& User - zone trap dead ,, name=%s\n", pUser->GetName().c_str()); + // pUser->Dead(); + break; + case ZONE_TRAP_AREA: + pUser->TrapProcess(); + break; + } +} diff --git a/server/GameServer/GameEvent.h b/server/GameServer/GameEvent.h new file mode 100644 index 0000000..76cbcb1 --- /dev/null +++ b/server/GameServer/GameEvent.h @@ -0,0 +1,21 @@ +#pragma once + +enum GameEventType +{ + ZONE_CHANGE = 1, + ZONE_TRAP_DEAD = 2, + ZONE_TRAP_AREA = 3 +}; + +class CUser; +class CGameEvent +{ +public: + CGameEvent(); + void RunEvent(CUser* pUser = nullptr); + + uint16 m_sIndex; + uint8 m_bType; + + int32 m_iCond[5], m_iExec[5]; +}; \ No newline at end of file diff --git a/server/GameServer/GameServer.ini b/server/GameServer/GameServer.ini new file mode 100644 index 0000000..aec077c --- /dev/null +++ b/server/GameServer/GameServer.ini @@ -0,0 +1,112 @@ +[AI_SERVER] +IP=127.0.0.1 +PORT=10020 + +[BATTLE] +DAYS=1,6 +START_TIME0=7 +START_TIME1=14 +START_TIME2=21 +WAR_ZONE0=61 +WAR_ZONE1=62 +WAR_ZONE2=63 + +[BDW] +START_TIME1=0 +START_TIME2=0 +START_TIME3=0 +START_TIME4=0 +START_TIME5=0 + +[BIFROST] +START_TIME1=0 +START_TIME2=0 +START_TIME3=0 + +[BONUS] +EXP=0 +MONEY=0 +NP=0 + +[CASTLE] +NATION=1 + +[CHAOS] +START_TIME1=0 +START_TIME2=0 +START_TIME3=0 + +[FISHING] +FISHING=399127000 +FISHING_1=399128000 +FISHING_2=399129000 +GOLDEN_FISHING=399127000 +GOLDEN_FISHING_1=399128000 +GOLDEN_FISHING_2=399129000 + +[JURAID] +START_TIME1=0 +START_TIME2=0 +START_TIME3=0 + +[MINING] +MYSTERIOUS_GOLD_ORE=399210000 +MYSTERIOUS_GOLD_ORE_1=399210000 +MYSTERIOUS_GOLD_ORE_2=399210000 +MYSTERIOUS_GOLD_ORE_3=399210000 +MYSTERIOUS_GOLD_ORE_4=399210000 +MYSTERIOUS_ORE=399210000 +MYSTERIOUS_ORE_1=399210000 +MYSTERIOUS_ORE_2=399210000 +MYSTERIOUS_ORE_3=399210000 +MYSTERIOUS_ORE_4=399210000 +SLING=389043000 + +[NATIONAL_POINTS] +ARDREAM_SOURCE=32 +ARDREAM_TARGET=-25 +MINI_PVP_SOURCE=0 +MINI_PVP_TARGET=0 +OTHER_ZONE_SOURCE=64 +OTHER_ZONE_TARGET=-50 +RONARK_LAND_BASE_SOURCE=64 +RONARK_LAND_BASE_TARGET=-50 +RONARK_LAND_SOURCE=64 +RONARK_LAND_TARGET=-50 + +[ODBC] +ACCOUNT_DSN=KO_MAIN +ACCOUNT_MARS=0 +ACCOUNT_PWD=password +ACCOUNT_UID=username +GAME_DSN=KO_GAME +GAME_MARS=0 +GAME_PWD=password +GAME_UID=username + +[SETTINGS] +GAME_MASTER_R_HIT_DAMAGE=30000 +GRADE1=720000 +GRADE2=340000 +GRADE3=50000 +GRADE4=25000 +PLAYER_RANKINGS_KNIGHT_CASH_REWARD=0 +PLAYER_RANKINGS_LOYALTY_REWARD=0 +PLAYER_RANKINGS_RESET_TIME=12 +PLAYER_RANKINGS_REWARD_ZONES=71,72,73 +PORT=15001 + +[TIMER] +WEATHER=1 + +[UPGRADE_RATES] +KARIVDIS_RATE=100 +TRINA_RATE=100 + +[ZONE_INFO] +MY_INFO=1 +SERVER_00=1 +SERVER_COUNT=1 +SERVER_IP_00=127.0.0.1 +SERVER_NUM=0 + diff --git a/server/GameServer/GameServer.rc b/server/GameServer/GameServer.rc new file mode 100644 index 0000000..4890457 Binary files /dev/null and b/server/GameServer/GameServer.rc differ diff --git a/server/GameServer/GameServerDlg.cpp b/server/GameServer/GameServerDlg.cpp new file mode 100644 index 0000000..9966b23 --- /dev/null +++ b/server/GameServer/GameServerDlg.cpp @@ -0,0 +1,5875 @@ +#include "stdafx.h" +#include "KingSystem.h" +#include "KnightsManager.h" + +#include "../shared/ClientSocketMgr.h" +#include "../shared/Ini.h" +#include "../shared/DateTime.h" + +#include +#include +#include +#include "Map.h" + +#include "AISocket.h" + +#include "DBAgent.h" + +#include + +using namespace std; + +#define NUM_FLAG_VICTORY 4 +#define AWARD_GOLD 100000 +#define AWARD_EXP 5000 + +std::vector g_timerThreads; + +WORD g_increase_serial = 1; + +CGameServerDlg::CGameServerDlg() +{ + DateTime now; + m_sYear = now.GetYear(); + m_sMonth = now.GetMonth(); + m_sDate = now.GetDay(); + m_sHour = now.GetHour(); + m_sMin = now.GetMinute(); + m_sSec = now.GetSecond(); + + m_ReloadKnightAndUserRanksMinute = 0; + m_DevakillSecond = 0; + + m_byWeather = 0; + m_sWeatherAmount = 0; + m_byKingWeatherEvent = 0; + m_byKingWeatherEvent_Day = 0; + m_byKingWeatherEvent_Hour = 0; + m_byKingWeatherEvent_Minute = 0; + + m_byExpEventAmount = 0; + m_byCoinEventAmount = 0; + m_byNPEventAmount = 0; + + m_sPartyIndex = 0; + + m_nCastleCapture = 0; + + m_bFirstServerFlag = false; + m_bPointCheckFlag = true; + + OpenArdream = false; + OpenCZ = false; + + m_nServerNo = 0; + m_nServerGroupNo = 0; + m_nServerGroup = 0; + m_sDiscount = 0; + + m_bPermanentChatMode = false; + m_bSantaOrAngel = FLYING_NONE; +} + + + +/** +* @brief Loads config, table data, initialises sockets and generally +* starts up the server. +* +* @return true if it succeeds, false if it fails. +*/ +bool CGameServerDlg::Startup() +{ + DateTime time; + + m_sZoneCount = 0; + m_sErrorSocketCount = 0; + + m_bFirstServerFlag = false; + m_bServerCheckFlag = false; + + GetTimeFromIni(); + + if (!g_pMain->m_socketMgr.Listen(m_GameServerPort, MAX_USER)) + { + printf(_T("ERROR : Failed to listen on server port (%d).\n"), m_GameServerPort); + return false; + } + + // Bit tacky, but there's no reason we can't reuse the existing completion port for our AI socket + m_aiSocketMgr.SetCompletionPort(g_pMain->m_socketMgr.GetCompletionPort()); + m_aiSocketMgr.InitSessions(1); + + if (!g_DBAgent.Startup(m_bMarsEnabled, + m_strAccountDSN, m_strAccountUID, m_strAccountPWD, + m_strGameDSN, m_strGameUID, m_strGamePWD) + || !LoadItemTable() + || !LoadItemDuper() + || !LoadIlegalItems() + || !LoadSetItemTable() + || !LoadAchieveMonsterTable() + || !LoadAchieveComTable() + || !LoadAchieveMainTable() + || !LoadAchieveNormalTable() + || !LoadAchieveTitleTable() + || !LoadAchieveWarTable() + || !LoadItemMiningTable() + || !LoadItemExchangeTable() + || !LoadItemExchangeExpTable() + || !LoadItemUpgradeTable() + || !LoadItemOpTable() + || !LoadServerResourceTable() + || !LoadQuestHelperTable() + || !LoadQuestMonsterTable() + || !LoadMagicTable() + || !LoadMagicType1() + || !LoadMagicType2() + || !LoadMagicType3() + || !LoadMagicType4() + || !LoadMagicType5() + || !LoadMagicType6() + || !LoadMagicType7() + || !LoadMagicType8() + || !LoadMagicType9() + || !LoadObjectPosTable() + || !LoadRentalList() + || !LoadCoefficientTable() + || !LoadLevelUpTable() + || !LoadPetLevelUpTable() + || !LoadAllKnights() + || !LoadAllKnightsUserData() + || !LoadKnightsAllianceTable() + || !LoadKnightsSiegeWarsTable() + || !LoadUserRankings() + || !LoadKnightsCapeTable() + || !LoadKnightsRankTable() + || !LoadStartPositionTable() + || !LoadStartPositionRandomTable() + || !LoadBattleTable() + || !LoadKingSystem() + || !MapFileLoad() + || !LoadEventTriggerTable() + || !LoadMonsterChallengeTable() + || !LoadMonsterChallengeSummonListTable() + || !LoadEventTimesTable() + || !LoadMonsterSummonListTable() + || !LoadMonsterSummonListZoneTable() + || !LoadMonsterRespawnListTable() + || !LoadMonsterRespawnListInformationTable() + || !LoadMonsterRespawnListRandomTable() + || !LoadPremiumItemTable() + || !LoadPremiumItemExpTable() + || !LoadPetTable() + || !LoadBotTable() + || !LoadCypherRingTable() + || !LoadUserDailyOpTable() + || !LoadUserItemTable() + || !LoadItemCrashTable() + || !LoadItemMixTable()) + return false; + + // Clear any remaining users in the currently logged in list + // that may be left as a result of an improper shutdown. + g_DBAgent.ClearRemainUsers(); + ReloadKnightAndUserRanks(); + // Logs Start + CreateDirectory("Logs",NULL); + + m_fpDeathUser = fopen(string_format("./Logs/DeathUser_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpDeathUser == nullptr) + { + printf("ERROR: Unable to open death user log file.\n"); + return false; + } + + + m_fpMerchant = fopen(string_format("./Logs/Merchant_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpMerchant == nullptr) + { + printf("ERROR: Unable to open merchant log file.\n"); + return false; + } + + m_fpTrade = fopen(string_format("./Logs/Trade_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpTrade == nullptr) + { + printf("ERROR: Unable to open trade log file.\n"); + return false; + } + + + m_fpDeathNpc = fopen(string_format("./Logs/DeathNpc_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpDeathNpc == nullptr) + { + printf("ERROR: Unable to open death npc log file.\n"); + return false; + } + + m_fpChat = fopen(string_format("./Logs/Chat_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpChat == nullptr) + { + printf("ERROR: Unable to open chat log file.\n"); + return false; + } + + m_fpGM = fopen(string_format("./Logs/GM_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpGM == nullptr) + { + printf("ERROR: Unable to open GM log file.\n"); + return false; + } + + m_upgradelog = fopen(string_format("./Logs/ItemUpgrade_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_upgradelog == nullptr) + { + printf("ERROR: Unable to open GM log file.\n"); + return false; + } + + m_fpCheat = fopen(string_format("./Logs/Cheat_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpCheat == nullptr) + { + printf("ERROR: Unable to open cheat log file.\n"); + return false; + } + // CheatRoomArray Delete + m_ChatRoomArray.DeleteAllData(); + + // Logs End + + LoadNoticeData(); + LoadNoticeUpData(); + + printf("\n"); + if (!m_luaEngine.Initialise()) + return false; + + + AIServerConnect(); + + // Initialise the command tables + InitServerCommands(); + CUser::InitChatCommands(); + + g_pMain->m_socketMgr.RunServer(); + + if(MaxLevel62Control == 0) + { + OpenArdream = false; + OpenCZ = true; + } + else + { + OpenArdream = true; + OpenCZ = false; + } + + return true; +} + +uint16 CGameServerDlg::CalcEventRemainingTime() +{ + DateTime now(&g_localTime); + uint16 Saat, Dakika, SaatFarki, DakikaFarki, xSaatFarki, BaslSaati; + bool BugunVarMi, isFirst; + xSaatFarki = -1; + BaslSaati = -1; + SaatFarki = -1; + DakikaFarki = -1; + isFirst = true; + BugunVarMi = false; + Saat = now.GetHour(); + Dakika = now.GetMinute(); + + for (int i = 0; i < BIFROST_EVENT_COUNT; i++){ + if (m_nBifrostTime[i] > 23) + continue; + if (m_nBifrostTime[i] > Saat) + BugunVarMi = true; + + } + // Gün bitmeden olup olmadığı bilgisini çektik + + for (int i = 0; i < BIFROST_EVENT_COUNT; i++){ + if (m_nBifrostTime[i] < 24 ) + xSaatFarki = m_nBifrostTime[i] - Saat; + else + continue; + + if(!BugunVarMi) + xSaatFarki += 24; + + if (xSaatFarki > 0 && BaslSaati == -1) { + SaatFarki = xSaatFarki - 1; + DakikaFarki = (60-Dakika); + BaslSaati = m_nBifrostTime[i]; + } + if (xSaatFarki < (SaatFarki+1) && BaslSaati > -1){ + SaatFarki = xSaatFarki - 1; + DakikaFarki = (60-Dakika); + BaslSaati = m_nBifrostTime[i]; + } + + + + } + + if (DakikaFarki == -1 && SaatFarki == -1) + SaatFarki=12; + + if (SaatFarki > 15) + SaatFarki=15; + + if (DakikaFarki > 59) + DakikaFarki=0; + + return ((DakikaFarki+(SaatFarki * 60)) * MINUTE); +} + +/** +* @brief Loads the server's config from the INI file. +*/ +void CGameServerDlg::GetTimeFromIni() +{ + CIni ini(CONF_GAME_SERVER); + int year=0, month=0, date=0, hour=0, server_count=0, sgroup_count = 0, i=0; + char ipkey[20]; + + BoardCache[0].clear(); + BoardCache[1].clear(); + + // This is so horrible. + ini.GetString("ODBC", "GAME_DSN", "KO_GAME", m_strGameDSN, false); + ini.GetString("ODBC", "GAME_UID", "username", m_strGameUID, false); + ini.GetString("ODBC", "GAME_PWD", "password", m_strGamePWD, false); + + m_bMarsEnabled = ini.GetBool("ODBC", "GAME_MARS", false); + + ini.GetString("ODBC", "ACCOUNT_DSN", "KO_MAIN", m_strAccountDSN, false); + ini.GetString("ODBC", "ACCOUNT_UID", "username", m_strAccountUID, false); + ini.GetString("ODBC", "ACCOUNT_PWD", "password", m_strAccountPWD, false); + + bool bMarsEnabled = ini.GetBool("ODBC", "ACCOUNT_MARS", false); + + // Both need to be enabled to use MARS. + if (!m_bMarsEnabled || !bMarsEnabled) + m_bMarsEnabled = false; + + m_byWeather = ini.GetInt("TIMER", "WEATHER", 1); + RoyalG1 = ini.GetBool("GAME", "AutoRoyalG1", 0); + onbesinde = ini.GetBool("GAME", "ResetLoyaltyMonthlyAt15", 0); + KCaktifmi = ini.GetBool("GAME", "NPtoKCSystem", 0); + KCmiktari = ini.GetInt("GAME", "KCto1000NP", 0); + KCaktifmi2 = ini.GetBool("GAME", "GoldtoKCSystem", 0); + KCmiktari2 = ini.GetInt("GAME", "KCto1GB", 0); + + AutoNovice = ini.GetBool("AUTOS","AUTO NOVICE",0); + AutoMaster = ini.GetBool("AUTOS","AUTO MASTER",0); + AutoSkills = ini.GetBool("AUTOS","AUTO SKİLLS OPEN",0); + + OfflineMerchanting = ini.GetBool("GAME","OFFLINE MERCHANT",0); + + Dakika1 = ini.GetInt("ONLINE KAL" , "DAKİKA PK",0); + Dakika2 = ini.GetInt("ONLINE KAL" , "DAKİKA MORADON",0); + HediyeKC = ini.GetInt("ONLINE KAL" , "HEDİYE KC MORADON",0); + HediyeKC2 = ini.GetInt("ONLINE KAL" , "HEDİYE KC PK",0); + + ini.GetString("BATTLE", "DAYS","1,6", m_sBattleZoneOpenDays, false); + + for (int i = 0; i < WAR_TIME_COUNT; i++) + m_nBattleZoneOpenHourStart[i] = ini.GetInt("BATTLE",string_format("START_TIME%d",i).c_str(), (i+1) * 7); + + for (int i = 0; i < WAR_ZONE_COUNT; i++) + { + m_nBattlezoneOpenWarZone[i] = ini.GetInt("BATTLE",string_format("WAR_ZONE%d",i).c_str(), ZONE_BATTLE + i); + if (m_nBattlezoneOpenWarZone[i] > ZONE_BATTLE_BASE) + m_nBattlezoneOpenWarZone[i] = m_nBattlezoneOpenWarZone[i] - ZONE_BATTLE_BASE; + } + memset (Zone1Family,0,sizeof(Zone1Family)); + memset (Zone2Family,0,sizeof(Zone2Family)); + memset (Zone3Family,0,sizeof(Zone3Family)); + memset (Zone1Boss,0,sizeof(Zone1Boss)); + memset (Zone2Boss,0,sizeof(Zone2Boss)); + memset (Zone3Boss,0,sizeof(Zone3Boss)); + memset (Zone1,0,sizeof(Zone1)); + memset (Zone2,0,sizeof(Zone2)); + memset (Zone3,0,sizeof(Zone3)); + + for (int i = 0; i < MAX_MONSTER_STONE_EVENT_ROOM; i++) + { + Zone1[i] = 0; + Zone2[i] = 0; + Zone3[i] = 0; + Zone1Family[i] = 0; + Zone2Family[i] = 0; + Zone3Family[i] = 0; + Zone1Boss[i] = 0; + Zone2Boss[i] = 0; + Zone3Boss[i] = 0; + IsBusy1[i] = false; + IsBusy2[i] = false; + IsBusy3[i] = false; + } + + ini.GetString("PVPEVENT", "EDAYS1","1,6", m_sEventZoneOpenDays1, false); + ini.GetString("DEVILSQU", "EDAYS2","1,6", m_sEventZoneOpenDays2, false); + ini.GetString("LOSTCASTLE", "EDAYS3","1,6", m_sEventZoneOpenDays3, false); + + m_nCastleCapture = ini.GetInt("CASTLE", "NATION", 1); + m_nServerNo = ini.GetInt("ZONE_INFO", "MY_INFO", 1); + m_nServerGroup = ini.GetInt("ZONE_INFO", "SERVER_NUM", 0); + server_count = ini.GetInt("ZONE_INFO", "SERVER_COUNT", 1); + if (server_count < 1) + { + printf("ERROR: Invalid SERVER_COUNT property in INI.\n"); + return; + } + + for (i = 0; i < server_count; i++) + { + _ZONE_SERVERINFO *pInfo = new _ZONE_SERVERINFO; + sprintf(ipkey, "SERVER_%02d", i); + pInfo->sServerNo = ini.GetInt("ZONE_INFO", ipkey, 1); + sprintf(ipkey, "SERVER_IP_%02d", i); + ini.GetString("ZONE_INFO", ipkey, "127.0.0.1", pInfo->strServerIP); + m_ServerArray.PutData(pInfo->sServerNo, pInfo); + } + + if (m_nServerGroup != 0) + { + m_nServerGroupNo = ini.GetInt("SG_INFO", "GMY_INFO", 1); + sgroup_count = ini.GetInt("SG_INFO", "GSERVER_COUNT", 1); + if (server_count < 1) + { + printf("ERROR: Invalid GSERVER_COUNT property in INI.\n"); + return; + } + + for (i = 0; i < sgroup_count; i++) + { + _ZONE_SERVERINFO *pInfo = new _ZONE_SERVERINFO; + sprintf(ipkey, "GSERVER_%02d",i ); + pInfo->sServerNo = ini.GetInt("SG_INFO", ipkey, 1); + sprintf(ipkey, "GSERVER_IP_%02d", i); + ini.GetString("SG_INFO", ipkey, "127.0.0.1", pInfo->strServerIP); + + m_ServerGroupArray.PutData(pInfo->sServerNo, pInfo); + } + } + + ini.GetString("AI_SERVER", "IP", "127.0.0.1", m_AIServerIP); + m_AIServerPort = ini.GetInt("AI_SERVER","PORT", 10020); + + m_GameServerPort = ini.GetInt("SETTINGS","PORT", 15001); + m_nGameMasterRHitDamage = ini.GetInt("SETTINGS","GAME_MASTER_R_HIT_DAMAGE", 30000); + /*m_nBonusTimeInterval = ini.GetInt("BONUS","SITDOWN_TIME", 15); + m_nBonusTimeGold = ini.GetInt("BONUS","SITDOWN_GOLD", 1); + m_nBonusPVPWarItem = ini.GetInt("BONUS","PVP_WAR_ITEM", 0); + m_CountofTickets = ini.GetInt("BONUS","COUNT_EVENT_ITEM", 1);*/ + m_nPlayerRankingResetTime = ini.GetInt("SETTINGS","PLAYER_RANKINGS_RESET_TIME", 12); + ini.GetString("SETTINGS", "PLAYER_RANKINGS_REWARD_ZONES","71,72,73", m_sPlayerRankingsRewardZones, false); + m_nPlayerRankingKnightCashReward = ini.GetInt("SETTINGS","PLAYER_RANKINGS_KNIGHT_CASH_REWARD", 0); + m_nPlayerRankingLoyaltyReward = ini.GetInt("SETTINGS","PLAYER_RANKINGS_LOYALTY_REWARD", 0); + + m_Grade1 = ini.GetInt("SETTINGS","GRADE1", 720000); + m_Grade2 = ini.GetInt("SETTINGS","GRADE2", 360000); + m_Grade3 = ini.GetInt("SETTINGS","GRADE3", 154000); + m_Grade4 = ini.GetInt("SETTINGS","GRADE4", 77000); + + + + + f_Drop1 = ini.GetInt("FISHING","FISHING", 399127000); + f_Drop2 = ini.GetInt("FISHING","FISHING_1", 399128000); + f_Drop3 = ini.GetInt("FISHING","FISHING_2", 399129000); + gf_Drop1 = ini.GetInt("FISHING","GOLDEN_FISHING", 399127000); + gf_Drop2 = ini.GetInt("FISHING","GOLDEN_FISHING_1", 399128000); + gf_Drop3 = ini.GetInt("FISHING","GOLDEN_FISHING_2", 399129000); + + + Reskillmoney = ini.GetInt("BONUS", "RESKILL_NOMONEY_ACTIVE", 1); + Restatmoney = ini.GetInt("BONUS", "RESTAT_NOMONEY_ACTIVE", 1); + m_byPKZoneExpEventAmount = ini.GetInt("SETTINGS","PK_EXP",0); + // gold 2, Gold 10 , Gold 50, Gold 100, Gold 500, Gold 1000, Gold TOTAL + + m_byGoldx2 = ini.GetInt("JACKPOINTS","GOLD_2",1100); // 2500 + m_byGoldx10 = ini.GetInt("JACKPOINTS","GOLD_10",200); // 1000 + m_byGoldx10 += m_byGoldx2; + m_byGoldx50 = ini.GetInt("JACKPOINTS","GOLD_50",50); // 100 + m_byGoldx50 += m_byGoldx10; + m_byGoldx100 = ini.GetInt("JACKPOINTS","GOLD_100",25); + m_byGoldx100 += m_byGoldx50; + m_byGoldx500 = ini.GetInt("JACKPOINTS","GOLD_500",10); + m_byGoldx500 += m_byGoldx100; + m_byGoldx1000 = ini.GetInt("JACKPOINTS","GOLD_1000",5); + m_byGoldx1000 += m_byGoldx500; + m_byGoldTotal = m_byGoldx1000; + + + // EXP 2, EXP 10 , EXP 50, EXP 100, EXP 500, EXP 1000, EXP TOTAL + m_byExpx2 = ini.GetInt("JACKPOINTS","EXP_2",1100); + m_byExpx10 = ini.GetInt("JACKPOINTS","EXP_10",200); + m_byExpx10 += m_byExpx2; + m_byExpx50 = ini.GetInt("JACKPOINTS","EXP_50",50); + m_byExpx50 += m_byExpx10; + m_byExpx100 = ini.GetInt("JACKPOINTS","EXP_100",25); + m_byExpx100 += m_byExpx50; + m_byExpx500 = ini.GetInt("JACKPOINTS","EXP_500",10); + m_byExpx500 += m_byExpx100; + m_byExpx1000 = ini.GetInt("JACKPOINTS","EXP_1000",5); + m_byExpx1000 += m_byExpx500; + m_byExpTotal = m_byExpx1000; + + m_byExpEventAmount = ini.GetInt("BONUS","EXP",0); + MAXLVLINI = ini.GetInt("GAME","MAX_LEVEL",83); + MaxLevel62Control = ini.GetInt("BONUS","MAXLV62CONTROL",0); + m_byCoinEventAmount = ini.GetInt("BONUS","MONEY",0); + m_byNPEventAmount = ini.GetInt("BONUS","NP",0); + + KarusBaseMilitaryCampCount = ini.GetInt("MILITARY_CAMP","ZONE_KARUS_BASE",0); + if (KarusBaseMilitaryCampCount > 3) + KarusBaseMilitaryCampCount = 3; + + ElmoradBaseMilitaryCampCount = ini.GetInt("MILITARY_CAMP","ZONE_ELMORAD_BASE",0); + if (ElmoradBaseMilitaryCampCount > 3) + ElmoradBaseMilitaryCampCount = 3; + + KarusEslantMilitaryCampCount = ini.GetInt("MILITARY_CAMP","ZONE_KARUS_ESLANT",0); + if (KarusEslantMilitaryCampCount > 3) + KarusEslantMilitaryCampCount = 3; + + ElmoradEslantMilitaryCampCount = ini.GetInt("MILITARY_CAMP","ZONE_ELMORAD_ESLANT",0); + if (ElmoradEslantMilitaryCampCount > 3) + ElmoradEslantMilitaryCampCount = 3; + + MoradonMilitaryCampCount = ini.GetInt("MILITARY_CAMP","ZONE_MORADON",0); + if (MoradonMilitaryCampCount > 5) + MoradonMilitaryCampCount = 5; + + + ini.GetString("BONUS","NOTICE","Edit auto notice string.",m_AutoNoticeText); + m_AutoNoticeIsActive = ini.GetInt("BONUS","NOTICE_ISACTIVE",1); + + + m_Loyalty_Ardream_Source = ini.GetInt("NATIONAL_POINTS","ARDREAM_SOURCE",32); + m_Loyalty_Ardream_Target = ini.GetInt("NATIONAL_POINTS","ARDREAM_TARGET",-25); + m_Loyalty_Ronark_Land_Base_Source = ini.GetInt("NATIONAL_POINTS","RONARK_LAND_BASE_SOURCE",64); + m_Loyalty_Ronark_Land_Base_Target = ini.GetInt("NATIONAL_POINTS","RONARK_LAND_BASE_TARGET",-50); + m_Loyalty_Ronark_Land_Source = ini.GetInt("NATIONAL_POINTS","RONARK_LAND_SOURCE",64); + m_Loyalty_Ronark_Land_Target = ini.GetInt("NATIONAL_POINTS","RONARK_LAND_TARGET",-50); + m_Loyalty_Other_Zone_Source = ini.GetInt("NATIONAL_POINTS","OTHER_ZONE_SOURCE",64); + m_Loyalty_Other_Zone_Target = ini.GetInt("NATIONAL_POINTS","OTHER_ZONE_TARGET",-50); + m_Loyalty_Mini_Pvp_Source = ini.GetInt("NATIONAL_POINTS","MINI_PVP_SOURCE",0); + m_Loyalty_Mini_Pvp_Target = ini.GetInt("NATIONAL_POINTS","MINI_PVP_TARGET",0); + + printf("m_Loyalty_Ronark_Land_Source %d, m_Loyalty_Ronark_Land_Target %d\n",m_Loyalty_Ronark_Land_Source,m_Loyalty_Ronark_Land_Target); + + for (int i = 0; i < BIFROST_EVENT_COUNT; i++) + m_nBifrostTime[i] = ini.GetInt("BIFROST",string_format("START_TIME%d",i+1).c_str(), 0); + + for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++) + { + m_nBorderDefenseWarTime[i] = ini.GetInt("BDW",string_format("START_TIME%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonItemNo1[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE1_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonItemNo2[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE2_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonItemNo3[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE3_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonItemNo4_K[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE4KARUS_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonItemNo4_H[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE4HUMAN_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonLoyalty[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeWonKnightCash[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE_KC_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeLoserKnightCash[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_KC_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeLoserLoyalty[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nBorderDefenseWarPrizeLoserItem[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_ITEM_%d",i+1).c_str(), 0); + m_nBorderDefenseWarMAXLEVEL[i] = ini.GetInt("BDW",string_format("MAX_LEVEL_%d",i+1).c_str(), 80); + m_nBorderDefenseWarMINLEVEL[i] = ini.GetInt("BDW",string_format("MIN_LEVEL_%d",i+1).c_str(), 1); + + } + + + + for (int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++) + { + m_nJuraidMountainOdulTipi[i] = ini.GetBool("JR",string_format("ODULTIPI%d",i+1).c_str(), 0); + m_nJuraidTime[i] = ini.GetInt("JR",string_format("START_TIME%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonItemNo1[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE1_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonItemNo2[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE2_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonItemNo3[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE3_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonItemNo4_K[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE4KARUS_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonItemNo4_H[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE4HUMAN_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonLoyalty[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonExp[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE_EXP_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeWonKnightCash[i] = ini.GetInt("JR",string_format("ITEM_WON_PRIZE_KC_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeLoserKnightCash[i] = ini.GetInt("JR",string_format("ITEM_LOSE_PRIZE_KC_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeLoserLoyalty[i] = ini.GetInt("JR",string_format("ITEM_LOSE_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeLoserItem[i] = ini.GetInt("JR",string_format("ITEM_LOSE_PRIZE_ITEM_%d",i+1).c_str(), 0); + m_nJuraidMountainPrizeLoserExp[i] = ini.GetInt("JR",string_format("ITEM_LOSE_PRIZE_EXP_%d",i+1).c_str(), 0); + m_nJuraidMountainMAXLEVEL[i] = ini.GetInt("JR",string_format("MAX_LEVEL_%d",i+1).c_str(), 80); + m_nJuraidMountainMINLEVEL[i] = ini.GetInt("JR",string_format("MIN_LEVEL_%d",i+1).c_str(), 1); + } + + + + for (int i = 0; i < CHAOS_EVENT_COUNT; i++) + { + m_nChaosTime[i] = ini.GetInt("CHAOS",string_format("START_TIME%d",i+1).c_str(), 0); + m_nChaosPrizeWonItemNo1[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE1_%d",i+1).c_str(), 0); + m_nChaosPrizeWonItemNo2[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE2_%d",i+1).c_str(), 0); + m_nChaosPrizeWonItemNo3[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE3_%d",i+1).c_str(), 0); + m_nChaosPrizeWonItemNo4_K[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE4KARUS_%d",i+1).c_str(), 0); + m_nChaosPrizeWonItemNo4_H[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE4HUMAN_%d",i+1).c_str(), 0); + m_nChaosPrizeWonLoyalty[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nChaosPrizeWonExp[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE_EXP_%d",i+1).c_str(), 0); + m_nChaosPrizeWonKnightCash[i] = ini.GetInt("CHAOS",string_format("ITEM_WON_PRIZE_KC_%d",i+1).c_str(), 0); + m_nChaosPrizeLoserKnightCash[i] = ini.GetInt("CHAOS",string_format("ITEM_LOSE_PRIZE_KC_%d",i+1).c_str(), 0); + m_nChaosPrizeLoserLoyalty[i] = ini.GetInt("CHAOS",string_format("ITEM_LOSE_PRIZE_LOYALTY_%d",i+1).c_str(), 0); + m_nChaosPrizeLoserItem[i] = ini.GetInt("CHAOS",string_format("ITEM_LOSE_PRIZE_ITEM_%d",i+1).c_str(), 0); + m_nChaosPrizeLoserExp[i] = ini.GetInt("CHAOS",string_format("ITEM_LOSE_PRIZE_EXP_%d",i+1).c_str(), 0); + printf ("[CHAOS#%d] Event start hour: %d\n",(i+1),m_nChaosTime[i]); + } + + + m_nTempleEventRemainSeconds = 0; + m_sRankResetHour = 0; + + m_UserRankingArray[KARUS_ARRAY].DeleteAllData(); + m_UserRankingArray[ELMORAD_ARRAY].DeleteAllData(); + + m_byBattleOpenedTime = 0; + m_byBattleTime = (2 * 60) * 60; // 2 Hours + + m_byEventTime = (1* 60) * 60; // 1 Hour + + m_xBifrostRemainingTime = CalcEventRemainingTime(); // Bifrost remaining time ( 2 hour ). + printf("Bifrost remaining time: %d\n",CalcEventRemainingTime()); + m_xBifrostMonumentAttackTime = (30 * MINUTE); // Players is attack a monument last 30 minute. + m_xBifrostTime = (120 * MINUTE); // Victory nation time ( 1 hour and 30 minute ) + m_xJoinOtherNationBifrostTime = (60 * MINUTE); // Other nation join time ( last 1 hour ) + + m_bAttackBifrostMonument = false; + m_BifrostVictory = 0; + m_sBifrostRemainingTime = m_xBifrostRemainingTime + 60; + m_sBifrostTime = 0; + m_sBifrostWarStart = false; + m_sBifrostVictoryAll = 3; + m_sBifrostVictoryNoticeAll = false; + + m_IsMagicTableInUpdateProcess = false; + m_IsPlayerRankingUpdateProcess = false; + + m_nEventMonumentNation[ZONE_ARDREAM] = 0; + m_nEventMonumentNation[ZONE_PVP_EVENT] = 0; + m_nEventMonumentNation[ZONE_RONARK_LAND_BASE] = 0; + m_nPVPMonumentNation[ZONE_RONARK_LAND] = 0; + m_nEventMonumentNation[ZONE_BORDER_DEFENSE_WAR] = 0; + + pTempleEvent.ActiveEvent = -1; + pTempleEvent.ZoneID = 0; + pTempleEvent.LastEventRoom = 1; + pTempleEvent.StartTime = 0; + pTempleEvent.AllUserCount = 0; + pTempleEvent.KarusUserCount = 0; + pTempleEvent.ElMoradUserCount = 0; + pTempleEvent.isAttackable = false; + pTempleEvent.isActive = false; + memset(pTempleEvent.m_sBdwMiniTimer , -1 , sizeof(pTempleEvent.m_sBdwMiniTimer)); + memset(pTempleEvent.m_sMiniTimerNation , -1 , sizeof(pTempleEvent.m_sMiniTimerNation)); + memset(pTempleEvent.KarusDeathCount , 0 , sizeof(pTempleEvent.KarusDeathCount)); + memset(pTempleEvent.ElmoDeathCount , 0 , sizeof(pTempleEvent.ElmoDeathCount)); + memset(pTempleEvent.KarusDeathRoom1 , 0 , sizeof(pTempleEvent.KarusDeathRoom1)); + memset(pTempleEvent.KarusDeathRoom2 , 0 , sizeof(pTempleEvent.KarusDeathRoom2)); + memset(pTempleEvent.KarusDeathRoom3 , 0 , sizeof(pTempleEvent.KarusDeathRoom3)); + memset(pTempleEvent.ElmoDeathRoom1 , 0 , sizeof(pTempleEvent.ElmoDeathRoom1)); + memset(pTempleEvent.ElmoDeathRoom2 , 0 , sizeof(pTempleEvent.ElmoDeathRoom2)); + memset(pTempleEvent.ElmoDeathRoom3 , 0 , sizeof(pTempleEvent.ElmoDeathRoom3)); + m_bForgettenTempleIsActive = false; + m_nForgettenTempleStartHour = 0; + m_nForgettenTempleLevelMin = 0; + m_nForgettenTempleLevelMax = 0; + m_nForgettenTempleStartTime = 0; + m_nForgettenTempleChallengeTime = 0; + m_bForgettenTempleSummonMonsters = false; + m_nForgettenTempleCurrentStage = 0; + m_nForgettenTempleLastStage = 0; + m_nForgettenTempleLastSummonTime = 0; + m_nForgettenTempleBanishFlag = false; + m_nForgettenTempleBanishTime = 0; + + m_bEventZoneIsActive = false; + m_nEventZoneStartHour = 0; + m_nEventZoneLevelMin = 0; + m_nEventZoneLevelMax = 0; + m_nEventZoneStartTime = 0; + m_nEventZoneTime = 0; + m_nEventZoneBanishFlag = false; + m_nEventZoneBanishTime = 0; + g_timerThreads.push_back(new Thread(Timer_CheckGameEvents)); + g_timerThreads.push_back(new Thread(Timer_BifrostTime)); + g_timerThreads.push_back(new Thread(Timer_UpdateGameTime)); + g_timerThreads.push_back(new Thread(Timer_UpdateSessions)); + g_timerThreads.push_back(new Thread(Timer_UpdateConcurrent)); +} + +bool CGameServerDlg::WordGuardSystem(std::string Word, uint8 WordStr) +{ + char *pword = &Word[0]; + bool bGuard[32] = {false}; + std::string WordGuard = "qwertyuopadfhsgcijklzxvbnmQWERTYUOPSGICADFHJKLZXVBNM1234567890"; + char *pWordGuard = &WordGuard[0]; + for(uint8 i=0; i < WordStr; i++) + { + for(uint8 j=0; j < strlen(pWordGuard); j++) + if (pword[i] == pWordGuard[j]) + bGuard[i] = true; + + if (bGuard[i] == false) + return false; + } + return true; +} + +/** +* @brief Gets & formats a cached server resource (_SERVER_RESOURCE entry). +* +* @param nResourceID Identifier for the resource. +* @param result The string to store the formatted result in. +*/ +void CGameServerDlg::GetServerResource(int nResourceID, string * result, ...) +{ + _SERVER_RESOURCE *pResource = m_ServerResourceArray.GetData(nResourceID); + if (pResource == nullptr) + { + *result = nResourceID; + return; + } + + va_list args; + va_start(args, result); + _string_format(pResource->strResource, result, args); + va_end(args); +} + +/** +* @brief Gets the starting positions (for both nations) +* for the specified zone. +* +* @param nZoneID Identifier for the zone. +*/ +_START_POSITION *CGameServerDlg::GetStartPosition(int nZoneID) +{ + return m_StartPositionArray.GetData(nZoneID); +} + +/** +* @brief Gets the experience points required for the +* specified level. +* +* @param nLevel The level. +* +* @return The experience points required to level up from +* the specified level. +*/ +int64 CGameServerDlg::GetExpByLevel(int nLevel) +{ + LevelUpArray::iterator itr = m_LevelUpArray.find(nLevel); + if (itr != m_LevelUpArray.end()) + return itr->second; + + return 0; +} + +int64 CGameServerDlg::GetPetExpByLevel(int nLevel) +{ + LevelUpArray::iterator itr = m_PetLevelUpArray.find(nLevel); + if (itr != m_PetLevelUpArray.end()) + return itr->second; + + return 0; +} + +/** +* @brief Gets zone by its identifier. +* +* @param zoneID Identifier for the zone. +* +* @return null if it fails, otherwise the zone. +*/ +C3DMap * CGameServerDlg::GetZoneByID(int zoneID) +{ + return m_ZoneArray.GetData(zoneID); +} + +/** +* @brief Looks up a user by name. +* +* @param findName The name to find. +* @param type The type of name (account, character). +* +* @return null if it fails, else the user pointer. +*/ +CUser* CGameServerDlg::GetUserPtr(string findName, NameType type) +{ + // As findName is a copy of the string passed in, we can change it + // without worry of affecting anything. + STRTOUPPER(findName); + + NameMap::iterator itr; + if (type == TYPE_ACCOUNT) + { + Guard lock(m_accountNameLock); + BOOST_FOREACH(auto itr, m_accountNameMap) + if(itr.first == findName) + return itr.second; + + } + else if (type == TYPE_CHARACTER) + { + Guard lock(m_characterNameLock); + BOOST_FOREACH(auto itr, m_characterNameMap) + if(itr.first == findName + && itr.first.length() == (findName.length())) + return itr.second; + } + + return nullptr; +} + +CBot* CGameServerDlg::GetBotPtr(string findName, NameType type) +{ + // As findName is a copy of the string passed in, we can change it + // without worry of affecting anything. + STRTOUPPER(findName); + + BotNameMap::iterator itr; + if (type == TYPE_CHARACTER) + { + Guard lock(m_BotcharacterNameLock); + BOOST_FOREACH(auto itr, m_BotcharacterNameMap) + if(itr.first == findName + && (itr.first.length()) == (findName.length())) + return itr.second; + } + + return nullptr; +} + +/** +* @brief Adds the account name & session to a hashmap (on login) +* +* @param pSession The session. +*/ +void CGameServerDlg::AddAccountName(CUser *pSession) +{ + Guard lock(m_accountNameLock); + string upperName = pSession->m_strAccountID; + STRTOUPPER(upperName); + m_accountNameMap[upperName] = pSession; +} + +/** +* @brief Adds the character name & session to a hashmap (when in-game) +* +* @param pSession The session. +*/ +void CGameServerDlg::AddCharacterName(CUser *pSession) +{ + Guard lock(m_characterNameLock); + string upperName = pSession->GetName(); + STRTOUPPER(upperName); + m_characterNameMap[upperName] = pSession; +} + +/** +* @brief Removes an existing character name/session from the hashmap, +* replaces the character's name and reinserts the session with +* the new name into the hashmap. +* +* @param pSession The session. +* @param strNewUserID Character's new name. +*/ +void CGameServerDlg::ReplaceCharacterName(CUser *pSession, std::string & strNewUserID) +{ + Guard lock(m_characterNameLock); + + // Remove the old name from the map + string upperName = pSession->GetName(); + STRTOUPPER(upperName); + m_characterNameMap.erase(upperName); + + // Update the character's name & re-add them to the map. + pSession->m_strUserID = strNewUserID; + AddCharacterName(pSession); +} + +/** +* @brief Removes the account name & character names from the hashmaps (on logout) +* +* @param pSession The session. +*/ +void CGameServerDlg::RemoveSessionNames(CUser *pSession) +{ + string upperName = pSession->m_strAccountID; + STRTOUPPER(upperName); + + { // remove account name from map (limit scope) + Guard lock(m_accountNameLock); + m_accountNameMap.erase(upperName); + } + + if (pSession->isInGame()) + { + upperName = pSession->GetName(); + STRTOUPPER(upperName); + + Guard lock(m_characterNameLock); + m_characterNameMap.erase(upperName); + } +} + +CUser * CGameServerDlg::GetUserPtr(uint16 sUserId) { return m_socketMgr[sUserId]; } +CNpc * CGameServerDlg::GetNpcPtr(uint16 sNpcId) { return m_arNpcArray.GetData(sNpcId); } +_PARTY_GROUP * CGameServerDlg::GetPartyPtr(uint16 sPartyID) { return m_PartyArray.GetData(sPartyID); } +CKnights * CGameServerDlg::GetClanPtr(uint16 sClanID) { return m_KnightsArray.GetData(sClanID); } +_KNIGHTS_ALLIANCE * CGameServerDlg::GetAlliancePtr(uint16 sAllianceID) { return m_KnightsAllianceArray.GetData(sAllianceID); } +_ITEM_TABLE * CGameServerDlg::GetItemPtr(uint32 nItemID) { return m_ItemtableArray.GetData(nItemID); } +_ACHIEVE_MONSTER * CGameServerDlg::GetAchieveMonsterPointer(uint32 ID) { return ACHIEVE_MONSTER.GetData(ID); } +_ACHIEVE_COM * CGameServerDlg::GetAchieveComPointer(uint32 ID) { return ACHIEVE_COM.GetData(ID); } +_ACHIEVE_MAIN * CGameServerDlg::GetAchieveMainPointer(uint32 ID) { return ACHIEVE_MAIN.GetData(ID); } +_ACHIEVE_TITLE * CGameServerDlg::GetAchieveTitlePointer(uint32 ID) { return ACHIEVE_TITLE.GetData(ID); } +_ACHIEVE_WAR * CGameServerDlg::GetAchieveWarPointer(uint32 ID) { return ACHIEVE_WAR.GetData(ID); } +_ACHIEVE_NORMAL * CGameServerDlg::GetAchieveNormalPointer(uint32 ID) { return ACHIEVE_NORMAL.GetData(ID); } +CPet * CGameServerDlg::GetPetPtr(uint64 nItemSerial) +{ + Guard lock(g_pMain->m_PetArraylock); + PetArray::iterator itr = m_PetArray.find(nItemSerial); + return (itr != m_PetArray.end() ? itr->second : nullptr); +} +_CYPHERRING_DATA * CGameServerDlg::GetCypherRingPtr(uint64 nItemSerial) +{ + CypherRingArray::iterator itr = m_CypherRingArray.find(nItemSerial); + return (itr != m_CypherRingArray.end() ? itr->second : nullptr); +} +_KNIGHTS_SIEGE_WARFARE * CGameServerDlg::GetSiegeMasterKnightsPtr(uint16 sCastleIndex) { return m_KnightsSiegeWarfareArray.GetData(sCastleIndex); } + +Unit * CGameServerDlg::GetUnitPtr(uint16 id) +{ + if (id < NPC_BAND) + return GetUserPtr(id); + + return GetNpcPtr(id); +} + +/** +* @brief Spawn one or more event NPC/monsters. +* +* @param sSid The database ID of the NPC/monster to spawn. +* @param bIsMonster true if we are spawning a monster, false for an NPC. +* @param byZone The zone ID to spawn the monster to. +* @param fX The x coordinate. +* @param fY The y coordinate. +* @param fZ The z coordinate. +* @param sCount Number of spawns to create. +* @param sRadius Spawn radius. +*/ +void CGameServerDlg::SpawnEventNpc(uint16 sSid, bool bIsMonster, uint8 byZone, float fX, float fY, float fZ, uint16 sCount /*= 1*/, uint16 sRadius /*= 0*/, uint16 sDuration /*= 0*/, uint8 nation /*= 0*/,int16 socketID /*= -1*/, uint16 nEventRoom, bool nIsPet, std::string strPetName, std::string strUserName, uint64 nSerial, uint16 UserId /* = -1*/) +{ + Packet result(AG_NPC_SPAWN_REQ); + result << sSid << bIsMonster + << byZone + << uint16(fX * 10) << uint16(fY * 10) << uint16(fZ * 10) + << sCount + << sRadius + << sDuration + << nation + << socketID + << nEventRoom + << nIsPet + << strPetName + << strUserName + << nSerial + << UserId; + Send_AIServer(&result); +} + +uint16 CGameServerDlg::SpawnBot(int Minute, uint8 byZone, float fX, float fY, float fZ, uint8 Restipi, uint8 minlevel /* = 1*/) +{ + + foreach_stlmap(itr,m_arBotArray) + { + CBot *Bot = itr->second; + // ResType(1 Mining 2 Fishing 3 Standing 4 Sitting) + if(Bot->m_state == GAME_STATE_INGAME) + continue; + + if(byZone <= ZONE_ELMORAD && byZone != Bot->m_bNation + || (byZone >= ZONE_KARUS_ESLANT && byZone <= ZONE_ELMORAD_ESLANT && byZone != (Bot->m_bNation + 10))) + continue; + + if(Bot->m_bLevel > minlevel) + continue; + + memset(&Bot->m_arSellMerchantItems, 0, sizeof(Bot->m_arSellMerchantItems)); + Bot->m_bMerchantState = MERCHANT_STATE_NONE; + Bot->LastWarpTime = UNIXTIME + (Minute * 60); + Bot->m_pMap = GetZoneByID(byZone); + Bot->m_bZone = byZone; + + _ITEM_DATA * pItem = &Bot->m_sItemArray[RIGHTHAND]; + _ITEM_TABLE * pTable = GetItemPtr(pItem->nNum); + + if (pItem != nullptr && pTable != nullptr && Restipi == 1) + { + if(pTable->isPickaxe()) + Bot->m_bResHpType = USER_MINING; + else + continue; + } + else if (pItem != nullptr && pTable != nullptr && Restipi == 2) + { + if(pTable->isFishing()) + Bot->m_bResHpType = USER_FLASHING; + else + continue; + } + else if(Restipi == 3 + || Restipi == 4) + Bot->m_bResHpType = Restipi == 3 ? USER_STANDING : USER_SITDOWN; + else if(Restipi == 5) + { + int Random = myrand(0,10000); + + Bot->m_bResHpType = Random > 5000 ? USER_STANDING : USER_SITDOWN; + } + else + continue; + + Bot->SetPosition(fX,fY,fZ); + Bot->SetRegion(Bot->GetNewRegionX(),Bot->GetNewRegionZ()); + Bot->UserInOut(INOUT_IN); + + return Bot->GetID(); + } + + return false; +} + +void CGameServerDlg::KillNpc(uint16 sNid) +{ + Packet result(AG_NPC_KILL_REQ); + result << sNid; + Send_AIServer(&result); +} + +void CGameServerDlg::NpcUpdate(uint16 sSid, bool bIsMonster, uint8 byGroup, uint16 sPid) +{ + Packet result(AG_NPC_UPDATE); + result << sSid << bIsMonster << byGroup << sPid; + Send_AIServer(&result); +} + +_PARTY_GROUP * CGameServerDlg::CreateParty(CUser *pLeader) +{ + _PARTY_GROUP * pParty = new _PARTY_GROUP; + + pLeader->m_bInParty = true; + pLeader->m_sPartyIndex = m_sPartyIndex.increment(); + + pParty->wIndex = pLeader->GetPartyID(); + pParty->uid[0] = pLeader->GetSocketID(); + if (!m_PartyArray.PutData(pParty->wIndex, pParty)) + { + delete pParty; + pLeader->m_bInParty = false; + pLeader->m_sPartyIndex = -1; + pParty = nullptr; + } + + return pParty; +} + +void CGameServerDlg::DeleteParty(uint16 sIndex) +{ + m_PartyArray.DeleteData(sIndex); +} +void CGameServerDlg::SnowBattleZoneOpenTimer() +{ + int nWeekDay = g_localTime.tm_wday; + int nHour = g_localTime.tm_hour; + int nMin = g_localTime.tm_min; + + + if (!isWarOpen() && nMin == 0) + { + std::list vargs = StrSplit(m_sBattleZoneOpenDays, ","); + uint8 nDaySize = vargs.size(); + if (nDaySize > 0) + { + uint8 nDay = 0; + for (int i = 0; i < nDaySize; i++) + { + nDay = atoi(vargs.front().c_str()); + if (nDay == nWeekDay) + { + for (int x = 0; x < WAR_TIME_COUNT; x++) + { + if (m_nBattleZoneOpenHourStart[x] == nHour && nMin == 0) + BattleZoneOpen(SNOW_BATTLEZONE_OPEN, m_nBattlezoneOpenWarZone[x]); + } + } + vargs.pop_front(); + } + } + } + else if (m_byBattleOpen == SNOW_BATTLE) + { + + int32 WarElapsedTime = int32(UNIXTIME) - m_byBattleOpenedTime; + m_byBattleRemainingTime = m_byBattleTime - WarElapsedTime; + uint8 nBattleZone = ZONE_SNOW_BATTLE; + + if (m_bVictory == 0) + { + if (WarElapsedTime == (m_byBattleTime / 24)) // Select captain + { + m_KnightsRatingArray[KARUS_ARRAY].DeleteAllData(); + m_KnightsRatingArray[ELMORAD_ARRAY].DeleteAllData(); + LoadKnightsRankTable(true, true); + } + else if (WarElapsedTime == (m_byBattleTime / 2)) // War half time. + { + if (nBattleZone == ZONE_SNOW_BATTLE) + BattleWinnerResult(BATTLE_WINNER_KILL); + } + + m_sBattleTimeDelay++; + + if (WarElapsedTime >= m_byBattleTime) // War is over. + { + m_sBattleTimeDelay++; + + if (m_sBattleTimeDelay >= (m_byBattleTime / 24)) + { + m_sBattleTimeDelay = 0; + SnowBattleZoneClose(); + } + } + } +} + if (m_bySnowBanishFlag) + { + m_sBanishDelay++; + + if (m_sBanishDelay == (m_byBattleTime / 360)) + Announcement(SNOW_BAN); + else if (m_sBanishDelay == (m_byBattleTime / 120)) { + m_bySnowBanishFlag = false; + m_sBanishDelay = 0; + SnowBanishLosers(); + } + } +} +uint32 CGameServerDlg::Timer_CheckGameEvents(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->BattleZoneOpenTimer(); // Check if it's time for the BattleZone to open or end. + g_pMain->SnowBattleZoneOpenTimer(); // SnowWar + g_pMain->TempleEventTimer(); + g_pMain->ForgettenTempleEventTimer(); + g_pMain->AutoNoticeEventTimer(); + //g_pMain->EventZoneTimer(); + if (g_pMain->isWarOpen() && ((UNIXTIME - g_pMain->m_lastBlessTime) >= (5 * NATION_MONUMENT_REWARD_SECOND))) + g_pMain->CheckNationMonumentRewards(); + g_pMain->CheckEventTime(); + + sleep(1 * SECOND); + } + return 0; +} + + +uint32 CGameServerDlg::Timer_BifrostTime(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->SendEventRemainingTime(true, nullptr, ZONE_RONARK_LAND); + if (g_pMain->m_BifrostVictory == 0) + { + g_pMain->m_sBifrostRemainingTime -= 60; + + if (g_pMain->m_sBifrostRemainingTime == 0 && !g_pMain->m_sBifrostWarStart) + { + g_pMain->m_BifrostVictory = 0; + //g_pMain->m_sBifrostRemainingTime = g_pMain->m_xBifrostRemainingTime; + g_pMain->m_sBifrostRemainingTime = g_pMain->CalcEventRemainingTime(); + g_pMain->m_sBifrostTime = 0; + g_pMain->SendFormattedResource(IDS_BEEF_ROAST_START, Nation::ALL, false); + + if (!g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = true; + + g_pMain->m_sBifrostWarStart=true; + g_pMain->m_sBifrostRemainingTime = g_pMain->m_xBifrostMonumentAttackTime; + g_pMain->SendEventRemainingTime(true, nullptr, ZONE_BIFROST); + } + else if (g_pMain->m_sBifrostRemainingTime == 0 && g_pMain->m_sBifrostWarStart) + { + g_pMain->m_sBifrostWarStart=false; + g_pMain->SendFormattedResource(IDS_BEEF_ROAST_FINISH, Nation::ALL, false); + + //g_pMain->m_sBifrostRemainingTime = g_pMain->m_xBifrostRemainingTime; + g_pMain->m_sBifrostRemainingTime = g_pMain->CalcEventRemainingTime(); + g_pMain->SendEventRemainingTime(true, nullptr, ZONE_BIFROST); + + if (g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = false; + } + } + else if (g_pMain->m_BifrostVictory != 0) + { + g_pMain->m_sBifrostTime -= 60; + g_pMain->m_sBifrostRemainingTime = g_pMain->m_sBifrostTime; + + if(g_pMain->m_sBifrostTime <= 90 * MINUTE && !g_pMain->m_sBifrostVictoryNoticeAll) + { + g_pMain->SendFormattedResource(IDS_BEEF_ROAST_DRAW, Nation::ALL, false); + g_pMain->m_sBifrostVictoryNoticeAll = true; + } + + if (g_pMain->m_sBifrostTime == 0) + { + g_pMain->m_BifrostVictory = 0; + g_pMain->m_sBifrostVictoryNoticeAll = false; + //g_pMain->m_sBifrostRemainingTime = g_pMain->m_xBifrostRemainingTime; + g_pMain->m_sBifrostRemainingTime = g_pMain->CalcEventRemainingTime(); + g_pMain->m_sBifrostTime = 0; + g_pMain->SendFormattedResource(IDS_BEEF_ROAST_FINISH, Nation::ALL, false); + + if (g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = false; + + g_pMain->m_sBifrostWarStart=false; + g_pMain->SendEventRemainingTime(true, nullptr, ZONE_BIFROST); + g_pMain->KickOutZoneUsers(ZONE_BIFROST,ZONE_RONARK_LAND); + } + else if (g_pMain->m_sBifrostTime == g_pMain->m_xJoinOtherNationBifrostTime) + { + if (!g_pMain->m_bAttackBifrostMonument) + g_pMain->m_bAttackBifrostMonument = true; + } + } + sleep(60 * SECOND); + } + return 0; +} +CNpc* CGameServerDlg::UpdateNpc() +{ + foreach_stlmap (itr, m_arNpcArray) + { + CNpc * pNpc = TO_NPC(itr->second); + if (pNpc != nullptr) + { + if (pNpc->m_bType3Flag) + pNpc->HPTimeChangeType3(); + // Check for expired type 4 buffs + pNpc->InitType4(true); + } + } + return 0; +} + + + +uint32 CGameServerDlg::Timer_UpdateGameTime(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->UpdateGameTime(); + + if (++g_pMain->m_sErrorSocketCount > 3) + g_pMain->AIServerConnect(); + + g_pMain->UpdateNpc(); + sleep(10 * SECOND); + } + return 0; +} + + +uint32 CGameServerDlg::Timer_UpdateSessions(void * lpParam) +{ + while (g_bRunning) + { + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + uint32 timeout = KOSOCKET_TIMEOUT; + + if(!pUser->isCryptoEnabled()) + timeout = 5; + + // User has authed, but isn't in-game yet (creating a character, or is waiting for the game to load). + if (!pUser->m_strAccountID.empty() && !pUser->isInGame()) + timeout = KOSOCKET_LOADING_TIMEOUT; + + // Disconnect timed out sessions + if ((uint32(UNIXTIME) - pUser->GetLastResponseTime()) >= timeout && !g_pMain->OfflineMerchanting && !pUser->OfflineMerchant) + { + pUser->Disconnect(); + continue; + } + + if (pUser->isInGame()) + pUser->Update(); + } + sleep(30 * SECOND); + } + return 0; +} + +uint32 CGameServerDlg::Timer_UpdateConcurrent(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->ReqUpdateConcurrent(); + sleep(60 * SECOND); + } + return 0; +} + +void CGameServerDlg::ReqUpdateConcurrent() +{ + SessionMap sessMap = m_socketMgr.GetActiveSessionMap(); + Packet result(WIZ_ZONE_CONCURRENT); + result << uint32(m_nServerNo) + << uint32(sessMap.size()); + AddDatabaseRequest(result); +} + +void CGameServerDlg::AIServerConnect() +{ + // Are there any (note: we only use 1 now) idle/disconnected sessions? + SessionMap sessMap = m_aiSocketMgr.GetIdleSessionMap(); + + // Copy the map (should only be 1 socket anyway) to avoid breaking the iterator + SessionMap idleSessions = sessMap; + + // No idle sessions? Excellent. + if (idleSessions.empty()) + return; + + // Attempt reconnecting to the server + BOOST_FOREACH (auto itr, idleSessions) + { + CAISocket *pSock = static_cast(itr.second); + bool bReconnecting = pSock->IsReconnecting(); + if (!pSock->Connect(m_AIServerIP.c_str(), m_AIServerPort)) // couldn't connect... let's leave you alone for now + continue; + + // Connected! Now send the connection packet. + Packet result(AI_SERVER_CONNECT); + result << bReconnecting; + pSock->Send(&result); + + TRACE("**** AISocket Connect Success!! , server = %s:%d ****\n", pSock->GetRemoteIP().c_str(), pSock->GetRemotePort()); + } +} + +/** +* @brief Sends a packet to all users in the zone matching the specified class types. +* +* @param pkt The packet. +* @param bZoneID Identifier for the zone. +* @param pExceptUser The except user. +* @param nation The nation. +* @param seekingPartyOptions Bitmask of classes to send to. +*/ +void CGameServerDlg::Send_Zone_Matched_Class(Packet *pkt, uint8 bZoneID, CUser* pExceptUser, + uint8 nation, uint8 seekingPartyOptions, uint16 nEventRoom) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == pExceptUser + || !pUser->isInGame() + || pUser->GetZoneID() != bZoneID + || pUser->isInParty()) // looking for users to join the party + continue; + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0) + continue; + + // If we're in the neutral zone (Moradon), it doesn't matter which nation we party with. + // For all other zones, we must party with a player of the same nation. + if (pUser->GetZoneID() == ZONE_MORADON + || pUser->GetNation() == nation) + { + if ( ((seekingPartyOptions & 1) && pUser->JobGroupCheck(ClassWarrior)) + || ((seekingPartyOptions & 2) && pUser->JobGroupCheck(ClassRogue)) + || ((seekingPartyOptions & 4) && pUser->JobGroupCheck(ClassMage)) + || ((seekingPartyOptions & 8) && pUser->JobGroupCheck(ClassPriest)) + || ((seekingPartyOptions & 10) && pUser->JobGroupCheck(ClassPorutu))) + pUser->Send(pkt); + } + } +} + +/** +* @brief Sends a packet to all players in the specified zone +* matching the specified criteria. +* +* @param pkt The packet. +* @param bZoneID Zone's identifier. +* @param pExceptUser User to except. If specified, will ignore this user. +* @param nation Nation to allow. If unspecified, will default to Nation::ALL +* which will send to all/both nations. +*/ +void CGameServerDlg::Send_Zone(Packet *pkt, uint8 bZoneID, CUser* pExceptUser /*= nullptr*/, uint8 nation /*= 0*/, uint16 nEventRoom, float fRange) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + + if (pUser == nullptr) + continue; + + if (!pUser->isInGame() + || pUser->GetZoneID() != bZoneID + || (nation != Nation::ALL && nation != pUser->GetNation())) + { + if (pExceptUser != nullptr) + { + if (pUser == pExceptUser + || (fRange > 0.0f && pUser->isInRangeSlow(pExceptUser, fRange))) + continue; + } + + continue; + } + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0 && pUser->GetEventRoom() > 0) + continue; + + pUser->Send(pkt); + } +} + +/** +* @brief Sends a packet to all users connected and logged into the server. +* +* @param pkt The packet. +* @param pExceptUser User to except. If specified, will ignore this user. +* @param nation Nation to allow. If unspecified, will default to Nation::ALL +* which will send to all/both nations. +*/ +void CGameServerDlg::Send_All(Packet *pkt, CUser* pExceptUser /*= nullptr*/, uint8 nation /*= 3*/, + uint8 ZoneID /*= 0*/, bool isSendEventUsers /* false */, uint16 nEventRoom /*= 0*/) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == pExceptUser + || !pUser->isInGame() + || (nation != Nation::ALL && nation != pUser->GetNation())) + continue; + + if (ZoneID != 0) + if (pUser->GetZoneID() != ZoneID) + continue; + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0) + continue; + + if (isSendEventUsers && !pUser->isEventUser()) + continue; + + pUser->Send(pkt); + } +} + +void CGameServerDlg::Send_Region(Packet *pkt, C3DMap *pMap, int x, int z, CUser* pExceptUser, uint16 nEventRoom) +{ + foreach_region(rx, rz) + Send_UnitRegion(pkt, pMap, rx + x, rz + z, pExceptUser, nEventRoom); +} + +void CGameServerDlg::Send_UnitRegion(Packet *pkt, C3DMap *pMap, int x, int z, CUser *pExceptUser, uint16 nEventRoom) +{ + if (pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion *pRegion = pMap->GetRegion(x, z); + if (pRegion == nullptr) + return; + + + if (pRegion->m_RegionUserArray.size() <= 0) + return; + + // Protect array changes... + ZoneUserArray cm_RegionUserArray = pRegion->m_RegionUserArray; + BOOST_FOREACH (auto itr, cm_RegionUserArray) + { + CUser *pUser = GetUserPtr(itr); + if (pUser == nullptr + || pUser == pExceptUser + || !pUser->isInGame()) + continue; + + if (nEventRoom != pUser->GetEventRoom() && pUser->GetEventRoom() > 0) + continue; + + pUser->Send(pkt); + } +} + +// TODO: Move the following two methods into a base CUser/CNpc class +void CGameServerDlg::Send_OldRegions(Packet *pkt, int old_x, int old_z, C3DMap *pMap, int x, int z, CUser* pExceptUser, uint16 nEventRoom) +{ + if (old_x != 0) + { + Send_UnitRegion(pkt, pMap, x+old_x*2, z+old_z-1, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+old_x*2, z+old_z, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+old_x*2, z+old_z+1, nullptr, nEventRoom); + } + + if (old_z != 0) + { + Send_UnitRegion(pkt, pMap, x+old_x, z+old_z*2, nullptr, nEventRoom); + if (old_x < 0) + Send_UnitRegion(pkt, pMap, x+old_x+1, z+old_z*2, nullptr, nEventRoom); + else if (old_x > 0) + Send_UnitRegion(pkt, pMap, x+old_x-1, z+old_z*2, nullptr, nEventRoom); + else + { + Send_UnitRegion(pkt, pMap, x+old_x-1, z+old_z*2, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+old_x+1, z+old_z*2, nullptr, nEventRoom); + } + } +} + +void CGameServerDlg::Send_NewRegions(Packet *pkt, int new_x, int new_z, C3DMap *pMap, int x, int z, CUser* pExceptUser, uint16 nEventRoom) +{ + if (new_x != 0) + { + Send_UnitRegion(pkt, pMap, x+new_x, z-1, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+new_x, z, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+new_x, z+1, nullptr, nEventRoom); + } + + if (new_z != 0) + { + Send_UnitRegion(pkt, pMap, x, z+new_z, nullptr, nEventRoom); + + if (new_x < 0) + Send_UnitRegion(pkt, pMap, x+1, z+new_z, nullptr, nEventRoom); + else if (new_x > 0) + Send_UnitRegion(pkt, pMap, x-1, z+new_z, nullptr, nEventRoom); + else + { + Send_UnitRegion(pkt, pMap, x-1, z+new_z, nullptr, nEventRoom); + Send_UnitRegion(pkt, pMap, x+1, z+new_z, nullptr, nEventRoom); + } + } +} + +void CGameServerDlg::Send_NearRegion(Packet *pkt, C3DMap *pMap, int region_x, int region_z, float curx, float curz, CUser* pExceptUser, uint16 nEventRoom) +{ + int left_border = region_x * VIEW_DISTANCE, top_border = region_z * VIEW_DISTANCE; + Send_FilterUnitRegion(pkt, pMap, region_x, region_z, curx, curz, pExceptUser, nEventRoom); + if( ((curx - left_border) > (VIEW_DISTANCE/2.0f)) ) { // RIGHT + if( ((curz - top_border) > (VIEW_DISTANCE/2.0f)) ) { // BOTTOM + Send_FilterUnitRegion(pkt, pMap, region_x+1, region_z, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x, region_z+1, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x+1, region_z+1, curx, curz, pExceptUser, nEventRoom); + } + else { // TOP + Send_FilterUnitRegion(pkt, pMap, region_x+1, region_z, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x, region_z-1, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x+1, region_z-1, curx, curz, pExceptUser, nEventRoom); + } + } + else { // LEFT + if( ((curz - top_border) > (VIEW_DISTANCE/2.0f)) ) { // BOTTOM + Send_FilterUnitRegion(pkt, pMap, region_x-1, region_z, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x, region_z+1, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x-1, region_z+1, curx, curz, pExceptUser, nEventRoom); + } + else { // TOP + Send_FilterUnitRegion(pkt, pMap, region_x-1, region_z, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x, region_z-1, curx, curz, pExceptUser, nEventRoom); + Send_FilterUnitRegion(pkt, pMap, region_x-1, region_z-1, curx, curz, pExceptUser, nEventRoom); + } + } +} + +void CGameServerDlg::Send_FilterUnitRegion(Packet *pkt, C3DMap *pMap, int x, int z, float ref_x, float ref_z, CUser *pExceptUser, uint16 nEventRoom) +{ + if (pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion *pRegion = pMap->GetRegion(x, z); + if (pRegion == nullptr) + return; + + + if (pRegion->m_RegionUserArray.size() <= 0) + return; + // Protect array changes... + ZoneUserArray cm_RegionUserArray = pRegion->m_RegionUserArray; + BOOST_FOREACH (auto itr, cm_RegionUserArray) + { + CUser *pUser = GetUserPtr(itr); + if (pUser == nullptr + || pUser == pExceptUser + || !pUser->isInGame()) + continue; + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0) + continue; + + if (sqrt(pow((pUser->m_curx - ref_x), 2) + pow((pUser->m_curz - ref_z), 2)) < 32) + pUser->Send(pkt); + } +} + +void CGameServerDlg::Send_PartyMember(int party, Packet *result) +{ + _PARTY_GROUP* pParty = GetPartyPtr(party); + if (pParty == nullptr) + return; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUser = GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + pUser->Send(result); + } +} + +void CGameServerDlg::Send_KnightsMember(int index, Packet *pkt) +{ + CKnights* pKnights = GetClanPtr(index); + if (pKnights == nullptr) + return; + + pKnights->Send(pkt); +} + +void CGameServerDlg::Send_KnightsAlliance(uint16 sAllianceID, Packet *pkt) +{ + _KNIGHTS_ALLIANCE* pAlliance = GetAlliancePtr(sAllianceID); + if (pAlliance == nullptr) + return; + + Send_KnightsMember(pAlliance->sMainAllianceKnights, pkt); + Send_KnightsMember(pAlliance->sSubAllianceKnights, pkt); + Send_KnightsMember(pAlliance->sMercenaryClan_1, pkt); + Send_KnightsMember(pAlliance->sMercenaryClan_2, pkt); +} + +void CGameServerDlg::Send_AIServer(Packet *pkt) +{ + m_aiSocketMgr.SendAll(pkt); +} + +void CGameServerDlg::UpdateGameTime() +{ + DateTime now(&g_localTime); + + // Check timed King events. + foreach_stlmap_nolock (itr, m_KingSystemArray) + itr->second->CheckKingTimer(); + // Juraid Deval Kill Code By YNG + if (m_sSec != now.GetSecond()) + { + if(pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + for (int i=1; i < MAX_TEMPLE_EVENT_ROOM; i++) + { + if (pTempleEvent.isDevaControl[i]) + { + m_DevakillSecond++; + + if (pTempleEvent.isDevaFlag[i] && pTempleEvent.isAttackable && pTempleEvent.isActive) + { + pTempleEvent.isDevaFlag[i] = false; + + Packet cresult(WIZ_EVENT); + cresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + + Packet dresult(WIZ_EVENT); + dresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(1) << uint8(0) + << uint8(2) << uint8(20) << uint32(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr) + continue; + + if(!pUser->isInGame()) + continue; + + if(pUser->GetEventRoom() != i) + continue; + + if (pTempleEvent.DevaNation[i] == KARUS) + pUser->Send(&cresult); + else if(pTempleEvent.DevaNation[i] == ELMORAD) + pUser->Send(&dresult); + } + + } + if (m_DevakillSecond == DEVA_KILL_TIME && pTempleEvent.isActive) + { + TempleEventFinish(i,pTempleEvent.DevaNation[i]); + m_DevakillSecond = 0; + pTempleEvent.isDevaControl[i] = false; + } + } + } + } + } + // Every minute + if (m_sMin != now.GetMinute()) + { + m_ReloadKnightAndUserRanksMinute++; + + if (m_ReloadKnightAndUserRanksMinute == RELOAD_KNIGHTS_AND_USER_RATING) + { + m_ReloadKnightAndUserRanksMinute = 0; + ReloadKnightAndUserRanks(); + } + + // Player Ranking Rewards + std::list vargs = StrSplit(m_sPlayerRankingsRewardZones, ","); + uint8 nZones = vargs.size(); + if (nZones > 0) + { + uint8 nZoneID = 0; + /*for (int i = 0; i < nZones; i++) + { + nZoneID = atoi(vargs.front().c_str()); + SetPlayerRankingRewards(nZoneID); + vargs.pop_front(); + }*/ + } + } + + // Every hour + if (m_sHour != now.GetHour()) + { + ResetPlayerRankings(); + UpdateWeather(); + SetGameTime(); + + if (m_bSantaOrAngel) + SendFlyingSantaOrAngel(); + } + + // Every day + if (m_sDate != now.GetDay()) + { + + } + + // Every month + if (m_sMonth != now.GetMonth()) + { + // Reset monthly NP. + ResetLoyaltyMonthly(); + } + + // Update the server time + m_sYear = now.GetYear(); + m_sMonth = now.GetMonth(); + m_sDate = now.GetDay(); + m_sHour = now.GetHour(); + m_sMin = now.GetMinute(); + m_sSec = now.GetSecond(); + Packet result(AG_TIME_WEATHER); + result << m_sYear << m_sMonth << m_sDate << m_sHour << m_sMin << m_byWeather << m_sWeatherAmount; + Send_AIServer(&result); +} + +void CGameServerDlg::ResetLoyaltyMonthly() +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + pUser->m_iLoyaltyMonthly = 0; + pUser->SendLoyaltyChange(); // update the client (note: official doesn't bother) + } + + // Attempt to update the database in this thread directly, while the session map's locked. + // This prevents new users from logging in before they've been reset (hence keeping last month's total). + g_DBAgent.ResetLoyaltyMonthly(); +} + +void CGameServerDlg::UpdateWeather() +{ + if (m_byKingWeatherEvent) + { + int16 sEventExpiry; + if (g_localTime.tm_mday == m_byKingWeatherEvent_Day) + sEventExpiry = g_localTime.tm_min + 60 * (g_localTime.tm_hour - m_byKingWeatherEvent_Hour) - m_byKingWeatherEvent_Minute; + else + sEventExpiry = g_localTime.tm_min + 60 * (g_localTime.tm_hour - m_byKingWeatherEvent_Hour + 24) - m_byKingWeatherEvent_Minute; + + // Weather events last for 5 minutes + if (sEventExpiry > 5) + { + m_byKingWeatherEvent = 0; + m_byKingWeatherEvent_Day = 0; + m_byKingWeatherEvent_Hour = 0; + m_byKingWeatherEvent_Minute = 0; + } + } + else + { + int weather = 0, rnd = myrand( 0, 100 ); + if (rnd < 2) weather = WEATHER_SNOW; + else if (rnd < 7) weather = WEATHER_RAIN; + else weather = WEATHER_FINE; + + m_sWeatherAmount = myrand(0, 100); + if (weather == WEATHER_FINE) + { + if (m_sWeatherAmount > 70) + m_sWeatherAmount /= 2; + else + m_sWeatherAmount = 0; + } + m_byWeather = weather; + } + + // Real weather data for most users. + Packet realWeather(WIZ_WEATHER, m_byWeather); + realWeather << m_sWeatherAmount; + + // Fake, clear weather for users in certain zones (e.g. Desp & Hell Abysses, Arena) + Packet fakeWeather(WIZ_WEATHER, uint8(WEATHER_FINE)); + fakeWeather << m_sWeatherAmount; + + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (!pUser->isInGame()) + continue; + + if (pUser->GetZoneID() == 32 + || pUser->GetZoneID() == 33 + || pUser->GetZoneID() == 48) + pUser->Send(&fakeWeather); + else + pUser->Send(&realWeather); + } +} + +void CGameServerDlg::SetGameTime() +{ + CIni ini(CONF_GAME_SERVER); + ini.SetInt( "TIMER", "WEATHER", m_byWeather ); +} + +void CGameServerDlg::ResetPlayerRankings(uint8 ZoneID) +{ + if (m_sRankResetHour == m_nPlayerRankingResetTime || ZoneID > 0) + { + m_IsPlayerRankingUpdateProcess = true; + m_sRankResetHour = 0; + + for (int nation = KARUS_ARRAY; nation <= ELMORAD_ARRAY; nation++) + { + foreach_stlmap_nolock (itr, g_pMain->m_UserRankingArray[nation]) + { + _USER_RANKING * pRankInfo = g_pMain->m_UserRankingArray[nation].GetData(itr->first); + + if (pRankInfo == nullptr) + continue; + + CUser * pUser = g_pMain->GetUserPtr(pRankInfo->m_socketID); + + if (pUser == nullptr + || pUser->isInTempleEventZone() + || (ZoneID > 0 && pUser->GetZoneID() != ZoneID)) + continue; + + pRankInfo->m_iLoyaltyDaily = 0; + pRankInfo->m_iLoyaltyPremiumBonus = 0; + pUser->m_iLoyaltyDaily = 0; + pUser->m_iLoyaltyPremiumBonus = 0; + } + } + + m_IsPlayerRankingUpdateProcess = false; + return; + } + + m_sRankResetHour++; +} + +void CGameServerDlg::AddDatabaseRequest(Packet & pkt, CUser *pUser /*= nullptr*/) +{ + Packet *newPacket = new Packet(pkt.GetOpcode(), pkt.size() + 2); + *newPacket << uint16(pUser == nullptr ? -1 : pUser->GetSocketID()); + if (pkt.size()) + newPacket->append(pkt.contents(), pkt.size()); + DatabaseThread::AddRequest(newPacket); +} + +void CGameServerDlg::UserInOutForMe(CUser *pSendUser) +{ + if (pSendUser == nullptr) + return; + + Packet result(WIZ_REQ_USERIN); + C3DMap* pMap = pSendUser->GetMap(); + ASSERT(pMap != nullptr); + uint16 user_count = 0, max_count = 150, total_count = 0; + + result << uint16(0); // placeholder for the user count + + int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ(); + foreach_region(x, z) + { + uint16 region_x = rx + x, region_z = rz + z; + + Guard lock(pMap->m_lock); + CRegion *pRegion = pMap->GetRegion(region_x, region_z); + if (pRegion == nullptr) + continue; + + + if (pRegion->m_RegionUserArray.size() <= 0 && pRegion->m_RegionBotArray.size() <= 0) + continue; + + if (pRegion->m_RegionUserArray.size() > 0) + { + BOOST_FOREACH (auto itr, pRegion->m_RegionUserArray) + { + CUser *pUser = GetUserPtr(itr); + if (pUser == nullptr + || !pUser->isInGame()) + continue; + + if (pSendUser->GetEventRoom() != pUser->GetEventRoom() || total_count > max_count) + continue; + + result << uint8(0) << pUser->GetSocketID(); + pUser->GetUserInfo(result); + user_count++; + total_count++; + + if(user_count >= 10) + { + result.put(0, uint16(user_count)); + pSendUser->SendCompressed(&result); + result.clear(); + result << uint16(0); + user_count = 0; + } + + + } + } + + + std::vector deleted; + if (pRegion->m_RegionBotArray.size() > 0) + { + BOOST_FOREACH (auto itr, pRegion->m_RegionBotArray) + { + CBot *pBot = m_arBotArray.GetData(itr); + if (pBot == nullptr + || !pBot->isInGame() || total_count > max_count) + continue; + + if(pBot->LastWarpTime < UNIXTIME) + deleted.push_back(pBot); + + result << uint8(0) << pBot->GetID(); + pBot->GetUserInfo(result); + user_count++; + total_count++; + + if(user_count >= 10) + { + result.put(0, uint16(user_count)); + pSendUser->SendCompressed(&result); + result.clear(); + result << uint16(0); + user_count = 0; + } + } + } + + + + BOOST_FOREACH (auto itr, deleted) + (itr)->UserInOut(INOUT_OUT); + + } + + if(user_count > 0) + { + result.put(0, uint16(user_count)); + pSendUser->SendCompressed(&result); + } +} + +void CGameServerDlg::RegionUserInOutForMe(CUser *pSendUser) +{ + if (pSendUser == nullptr) + return; + + Packet reflesh(WIZ_REGIONCHANGE, uint8(0)); + pSendUser->SendCompressed(&reflesh); + + Packet result(WIZ_REGIONCHANGE, uint8(1)); + C3DMap* pMap = pSendUser->GetMap(); + ASSERT(pMap != nullptr); + uint16 user_count = 0; + + result << uint16(0); // placeholder for the user count + + int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ(); + foreach_region(x, z) + GetRegionUserList(pMap, rx + x, rz + z, result, user_count, pSendUser->GetEventRoom()); + + result.put(1, user_count); + + pSendUser->SendCompressed(&result); + + Packet test(WIZ_REGIONCHANGE, uint8(2)); + pSendUser->SendCompressed(&test); +} + +void CGameServerDlg::GetRegionUserList(C3DMap* pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom) +{ + if (pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion *pRegion = pMap->GetRegion(region_x, region_z); + if (pRegion == nullptr) + return; + + + if (pRegion->m_RegionUserArray.size() <= 0 && pRegion->m_RegionBotArray.size() <= 0) + return; + + if(pRegion->m_RegionUserArray.size() > 0) + { + BOOST_FOREACH (auto itr, pRegion->m_RegionUserArray) + { + CUser *pUser = GetUserPtr(itr); + if (pUser == nullptr + || !pUser->isInGame()) + continue; + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0) + continue; + + pkt << pUser->GetSocketID(); + t_count++; + } + } + + if (pRegion->m_RegionBotArray.size() <= 0) + return; + std::vector deleted; + if(pRegion->m_RegionBotArray.size() > 0) + { + BOOST_FOREACH (auto itr, pRegion->m_RegionBotArray) + { + CBot *pBot = m_arBotArray.GetData(itr); + if (pBot == nullptr + || !pBot->isInGame()) + continue; + + + if(pBot->LastWarpTime < UNIXTIME) + deleted.push_back(pBot); + + pkt << pBot->GetID(); + t_count++; + } + } + + BOOST_FOREACH (auto itr, deleted) + (itr)->UserInOut(INOUT_OUT); + +} + +void CGameServerDlg::MerchantUserInOutForMe(CUser *pSendUser) +{ + if (pSendUser == nullptr) + return; + + Packet result(WIZ_MERCHANT_INOUT, uint8(1)); + C3DMap* pMap = pSendUser->GetMap(); + ASSERT(pMap != nullptr); + uint16 user_count = 0; + + result << uint16(0); // placeholder for user count + + int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ(); + foreach_region(x, z) + GetRegionMerchantUserIn(pMap, rx + x, rz + z, result, user_count, pSendUser->GetEventRoom()); + + result.put(1, user_count); + pSendUser->SendCompressed(&result); +} + +void CGameServerDlg::GetRegionMerchantUserIn(C3DMap *pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom) +{ + if (pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion *pRegion = pMap->GetRegion(region_x, region_z); + if (pRegion == nullptr) + return; + + + if (pRegion->m_RegionUserArray.size() <= 0) + return; + + BOOST_FOREACH (auto itr, pRegion->m_RegionUserArray) + { + CUser *pUser = GetUserPtr(itr); + if (pUser == nullptr + || !pUser->isInGame() + || !pUser->isMerchanting()) + continue; + + if (nEventRoom != pUser->GetEventRoom() && nEventRoom > 0) + continue; + + pkt << pUser->GetSocketID() + << pUser->GetMerchantState() // 0 is selling, 1 is buying + << (pUser->GetMerchantState() == 1 ? false : pUser->m_bPremiumMerchant); // Type of merchant [normal - gold] // bool + + for (int i = 0, listCount = (pUser->GetMerchantState() == 1 ? 4 : (pUser->m_bPremiumMerchant ? 8 : 4)); i < listCount; i++){ + + if(pUser->isSellingMerchant()){ + + if(pUser->m_arSellMerchantItems[i > 3 ? i+2 : i].IsSoldOut) + pkt << uint32(0); + else + pkt << pUser->m_arSellMerchantItems[i > 3 ? i+2 : i].nNum; + }else + pkt << pUser->m_arBuyMerchantItems[i > 3 ? i+2 : i].nNum; + + } + t_count++; + } + + if (pRegion->m_RegionBotArray.size() <= 0) + return; + + std::vector deleted; + if(pRegion->m_RegionBotArray.size() > 0) + { + BOOST_FOREACH (auto itr, pRegion->m_RegionBotArray) + { + CBot *pBot = m_arBotArray.GetData(itr); + + if (pBot == nullptr + || !pBot->isInGame() + || !pBot->isMerchanting()) + continue; + + + + if(pBot->LastWarpTime < UNIXTIME) + deleted.push_back(pBot); + + pkt << pBot->GetID() + << pBot->GetMerchantState() // 0 is selling, 1 is buying + << (pBot->GetMerchantState() == 1 ? false : pBot->m_bPremiumMerchant); // Type of merchant [normal - gold] // bool + + for (int i = 0, listCount = (pBot->GetMerchantState() == 1 ? 4 : (pBot->m_bPremiumMerchant ? 8 : 4)); i < listCount; i++){ + + if(pBot->isSellingMerchant()){ + + if(pBot->m_arSellMerchantItems[i > 3 ? i+2 : i].IsSoldOut) + pkt << uint32(0); + else + pkt << pBot->m_arSellMerchantItems[i > 3 ? i+2 : i].nNum; + }else + pkt << pBot->m_arBuyMerchantItems[i > 3 ? i+2 : i].nNum; + + } + + t_count++; + } + } + + BOOST_FOREACH (auto itr, deleted) + (itr)->UserInOut(INOUT_OUT); +} + +void CGameServerDlg::NpcInOutForMe(CUser* pSendUser) +{ + if (pSendUser == nullptr) + return; + + Packet result(WIZ_REQ_NPCIN); + C3DMap* pMap = pSendUser->GetMap(); + ASSERT(pMap != nullptr); + uint16 npc_count = 0; + result << uint16(0); // placeholder for NPC count + + int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ(); + foreach_region(x, z) + GetRegionNpcIn(pMap, rx + x, rz + z, result, npc_count, pSendUser->GetEventRoom(), pSendUser); + + result.put(0, npc_count); + pSendUser->SendCompressed(&result); +} + +void CGameServerDlg::GetRegionNpcIn(C3DMap *pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom, CUser* pSendUser) +{ + if (!m_bPointCheckFlag || pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion * pRegion = pMap->GetRegion(region_x, region_z); + + if (pRegion == nullptr) + return; + + if (pRegion->m_RegionNpcArray.size() <= 0) + return; + + CKnights *pKnights = g_pMain->GetClanPtr(pSendUser->m_bKnights); + _KNIGHTS_SIEGE_WARFARE *pSiegeWars = g_pMain->GetSiegeMasterKnightsPtr(1); + + ZoneNpcArray RegionNpcArray = pRegion->m_RegionNpcArray; + BOOST_FOREACH (auto itr, RegionNpcArray) + { + CNpc *pNpc = GetNpcPtr(itr); + if (pNpc == nullptr + || pNpc->isDead()) + continue; + + if (nEventRoom != pNpc->GetEventRoom() && nEventRoom > 0) + continue; + + pkt << pNpc->GetID(); + + if (pNpc->m_sSid == 541 && pNpc->GetType() == NPC_DESTROYED_ARTIFACT && pNpc->m_bZone == ZONE_DELOS) + { + if (pKnights != nullptr && pSiegeWars != nullptr) + { + if ((pSiegeWars->sMasterKnights == pKnights->m_sAlliance && pKnights->m_sAlliance != 0 ) || pSiegeWars->sMasterKnights == pKnights->m_sIndex) + pNpc->GetNpcInfo(pkt,3); + else + pNpc->GetNpcInfo(pkt,0); + }else + pNpc->GetNpcInfo(pkt,0); + } + else + pNpc->GetNpcInfo(pkt); + + t_count++; + } +} + +void CGameServerDlg::RegionNpcInfoForMe(CUser *pSendUser) +{ + if (pSendUser == nullptr) + return; + + Packet result(WIZ_NPC_REGION); + C3DMap* pMap = pSendUser->GetMap(); + ASSERT(pMap != nullptr); + uint16 npc_count = 0; + result << uint16(0); // placeholder for NPC count + + int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ(); + foreach_region(x, z) + GetRegionNpcList(pMap, rx + x, rz + z, result, npc_count, pSendUser->GetEventRoom()); + + result.put(0, npc_count); + if (npc_count < 500) + pSendUser->Send(&result); + else + pSendUser->SendCompressed(&result); +} + +void CGameServerDlg::GetUnitListFromSurroundingRegions(Unit * pOwner, std::vector * pList) +{ + if (pOwner == nullptr) + return; + + C3DMap * pMap = pOwner->GetMap(); + ASSERT(pMap != nullptr); + + int16 rx = pOwner->GetRegionX(), rz = pOwner->GetRegionZ(); + + Guard lock(pMap->m_lock); + foreach_region(x, z) + { + uint16 region_x = rx + x, region_z = rz + z; + CRegion * pRegion = pMap->GetRegion(region_x, region_z); + + if (pRegion == nullptr) + continue; + + + // Add all potential NPCs to list + BOOST_FOREACH (auto itr, pRegion->m_RegionNpcArray) + pList->push_back(itr); + + // Add all potential users to list + BOOST_FOREACH (auto itr, pRegion->m_RegionUserArray) + pList->push_back(itr); + } +} + +void CGameServerDlg::GetRegionNpcList(C3DMap *pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom) +{ + if (!m_bPointCheckFlag + || pMap == nullptr) + return; + + Guard lock(pMap->m_lock); + CRegion * pRegion = pMap->GetRegion(region_x, region_z); + + if (pRegion == nullptr) + return; + + + if (pRegion->m_RegionNpcArray.size() <= 0) + return; + + ZoneNpcArray RegionNpcArray = pRegion->m_RegionNpcArray; + BOOST_FOREACH (auto itr, RegionNpcArray) + { + CNpc *pNpc = GetNpcPtr(itr); + if (pNpc == nullptr || pNpc->isDead()) + continue; + + if (nEventRoom != pNpc->GetEventRoom() && nEventRoom > 0) + continue; + + pkt << pNpc->GetID(); + t_count++; + } +} + +void CGameServerDlg::HandleConsoleCommand(const char * msg) +{ + string message = msg; + if (message.empty()) + return; + + if (ProcessServerCommand(message)) + { + printf("Command accepted.\n"); + return; + } + + printf("Invalid command. If you're trying to send a notice, please use /notice\n"); +} + +bool CGameServerDlg::LoadNoticeData() +{ + ifstream file("./Notice.txt"); + string line; + int count = 0; + + // Clear out the notices first + memset(&m_ppNotice, 0, sizeof(m_ppNotice)); + + if (!file) + { + TRACE("Notice.txt could not be opened.\n"); + return false; + } + + while (!file.eof()) + { + if (count > 19) + { + TRACE("Too many lines in Notice.txt\n"); + break; + } + + getline(file, line); + if (line.length() > 128) + { + TRACE("Notice.txt contains line that exceeds the limit of 128 characters.\n"); + break; + } + + strcpy(m_ppNotice[count++], line.c_str()); + } + + file.close(); + return true; +} + +bool CGameServerDlg::LoadNoticeUpData() +{ + ifstream file("./Notice_up.txt"); + string line; + int count = 0; + + // Clear out the notices first + memset(&m_peNotice, 0, sizeof(m_peNotice)); + + if (!file) + { + TRACE("Notice_up.txt could not be opened.\n"); + return false; + } + + while (!file.eof()) + { + if (count > 19) + { + TRACE("Too many lines in Notice_up.txt\n"); + break; + } + + getline(file, line); + if (line.length() > 128) + { + TRACE("Notice_up.txt contains line that exceeds the limit of 128 characters.\n"); + break; + } + + strcpy(m_peNotice[count++], line.c_str()); + } + + file.close(); + return true; +} + +void CGameServerDlg::SendAllUserInfo() +{ + Packet result(AG_USER_INFO_ALL); + uint8 count = 0; + result << count; // placeholder for user count + const int tot = 20; + + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + TO_USER(itr.second)->GetUserInfoForAI(result); + if (++count == tot) { + result.put(0, count); + Send_AIServer(&result); + count = 0; + result.clear(); + } + } + + if (count != 0 && count < (tot - 1)) + { + result.put(0, count); + Send_AIServer(&result); + count = 0; + result.clear(); + } + + foreach_stlmap (itr, m_PartyArray) + { + _PARTY_GROUP *pParty = itr->second; + if (pParty == nullptr) + continue; + + result.Initialize(AG_PARTY_INFO_ALL); + result << uint16(itr->first); + for (int i = 0; i < MAX_PARTY_USERS; i++) + result << pParty->uid[i]; + + Send_AIServer(&result); + } +} + +void CGameServerDlg::DeleteAllNpcList(int flag) +{ + if (!m_bServerCheckFlag + || !m_bPointCheckFlag) + return; + + TRACE("[Monster Point Delete]\n"); + TRACE("*** DeleteAllNpcList - Start *** \n"); + + // Remove spawns from users to prevent them from getting bugged... + m_arNpcArray.m_lock.lock(); + foreach_stlmap_nolock (itr, m_arNpcArray) + { + if (itr->second->isAlive()) + itr->second->SendInOut(INOUT_OUT, 0.0f, 0.0f, 0.0f); + + // decrease the reference count (freeing it if nothing else is using it) + itr->second->DecRef(); + } + + // all the data should now be freed (if not, it will be by whatever's using it) + m_arNpcArray.m_UserTypeMap.clear(); + m_arNpcArray.m_lock.unlock(); + + // Now remove all spawns from all regions + foreach_stlmap_nolock (itr, m_ZoneArray) + { + C3DMap *pMap = itr->second; + if (pMap == nullptr) + continue; + + Guard lock(pMap->m_lock); + for (int i = 0; i < pMap->GetXRegionMax(); i++) + { + for (int j = 0; j < pMap->GetZRegionMax(); j++) + pMap->m_ppRegion[i][j].m_RegionNpcArray.clear(); + } + } + m_bServerCheckFlag = false; + + TRACE("*** DeleteAllNpcList - End *** \n"); +} + +/** +* @brief Searches for the first NPC in the specified zone +* with the specified picture/model ID. +* +* @param sPid Picture/model ID of the NPC. +* @param byZone Zone to search in. +* +* @return null if it fails, else the NPC instance we found. +*/ +CNpc* CGameServerDlg::FindNpcInZone(uint16 sPid, uint8 byZone) +{ + if (!m_bPointCheckFlag) + return nullptr; + + Guard lock(m_arNpcArray.m_lock); + foreach_stlmap (itr, m_arNpcArray) + { + CNpc * pNpc = itr->second; + if (pNpc == nullptr || pNpc->GetZoneID() != byZone + // This isn't a typo, it's actually just a hack. + // The picture/model ID of most spawns is the same as their prototype ID. + // When there's more than one spawn prototype (i.e. different sSid), we keep using + // the same picture/model ID. So we check this instead of the sSid... + || pNpc->m_sPid != sPid) + continue; + + return pNpc; + } + + return nullptr; +} + +void CGameServerDlg::BattleZoneOpenTimer() +{ + int nWeekDay = g_localTime.tm_wday; + int nHour = g_localTime.tm_hour; + int nMin = g_localTime.tm_min; + + if (!isWarOpen() && nMin == 0) + { + std::list vargs = StrSplit(m_sBattleZoneOpenDays, ","); + uint8 nDaySize = vargs.size(); + if (nDaySize > 0) + { + uint8 nDay = 0; + for (int i = 0; i < nDaySize; i++) + { + nDay = atoi(vargs.front().c_str()); + if (nDay == nWeekDay) + { + for (int x = 0; x < WAR_TIME_COUNT; x++) + { + if (m_nBattleZoneOpenHourStart[x] == nHour && nMin == 0) + BattleZoneOpen(BATTLEZONE_OPEN, m_nBattlezoneOpenWarZone[x]); + } + } + vargs.pop_front(); + } + } + } + else if (m_byBattleOpen == NATION_BATTLE) + { + + int32 WarElapsedTime = int32(UNIXTIME) - m_byBattleOpenedTime; + m_byBattleRemainingTime = m_byBattleTime - WarElapsedTime; + uint8 nBattleZone = g_pMain->m_byBattleZone + ZONE_BATTLE_BASE; + + if (m_bVictory == 0) + { + if (WarElapsedTime == (m_byBattleTime / 24)) // Select captain + { + m_KnightsRatingArray[KARUS_ARRAY].DeleteAllData(); + m_KnightsRatingArray[ELMORAD_ARRAY].DeleteAllData(); + LoadKnightsRankTable(true, true); + } + else if (WarElapsedTime == (m_byBattleTime / 8) && nBattleZone == ZONE_BATTLE4) // War half time + 15 minutes for Nereid's Island. + { + if (nBattleZone == ZONE_BATTLE4) // Nereid's Island + { + if (m_sKarusMonuments >= 7 && m_sElmoMonuments == 0) + BattleZoneResult(KARUS); + else if (m_sKarusMonuments == 0 && m_sElmoMonuments >= 7) + BattleZoneResult(ELMORAD); + } + } + else if (WarElapsedTime == (m_byBattleTime / 2)) // War half time. + { + if (nBattleZone == ZONE_BATTLE + || nBattleZone == ZONE_BATTLE2 + || nBattleZone == ZONE_BATTLE6 + ||nBattleZone == ZONE_BATTLE3) + BattleWinnerResult(BATTLE_WINNER_NPC); + else if (nBattleZone == ZONE_BATTLE4) // Nereid's Island + BattleWinnerResult(BATTLE_WINNER_MONUMENT); + else if (nBattleZone == ZONE_BATTLE6) // Oreads + BattleWinnerResult(BATTLE_WINNER_KILL); + } + + m_sBattleTimeDelay++; + + if (m_sBattleTimeDelay >= (nBattleZone == ZONE_BATTLE4 ? (m_byBattleTime / 48) : (m_byBattleTime / 24))) + { + m_sBattleTimeDelay = 0; + Announcement(DECLARE_BATTLE_ZONE_STATUS); + } + } + else + { + if (WarElapsedTime < m_byBattleTime) // Won the war. + { + m_sBattleTimeDelay++; + if (m_sBattleTimeDelay >= (m_byBattleTime / 24)) + { + m_sBattleTimeDelay = 0; + Announcement(UNDER_ATTACK_NOTIFY); + } + } + } + + if (m_bResultDelay) + { + m_sBattleResultDelay++; + if (m_sBattleResultDelay == (m_byBattleTime / (m_byBattleTime / 10))) { + m_bResultDelay = false; + BattleZoneResult(m_bResultDelayVictory); + } + } + + if (WarElapsedTime >= m_byBattleTime) // War is over. + BattleZoneClose(); + } + else if (m_byBattleOpen == CLAN_BATTLE) + { + if (m_byBattleSiegeWarStartTime == 0) + { + + if(m_sBattleTimeDelay == 20 * MINUTE) + { + m_SiegeWarNoticeTime = 30; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + } + else if(m_sBattleTimeDelay == 30 * MINUTE) + { + m_SiegeWarNoticeTime = 20; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + } + else if(m_sBattleTimeDelay == 40 * MINUTE) + { + m_SiegeWarNoticeTime = 10; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + } + else if(m_sBattleTimeDelay == 45 * MINUTE) + { + m_SiegeWarNoticeTime = 5; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + }else if(m_sBattleTimeDelay == 47 * MINUTE) + { + m_SiegeWarNoticeTime = 3; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + }else if(m_sBattleTimeDelay == 49 * MINUTE) + { + m_SiegeWarNoticeTime = 1; + Announcement(IDS_SIEGE_WAR_TIME_NOTICE); + } + + m_sBattleTimeDelay++; + m_byBattleSiegeWarOccupy--; + } + else if (m_byBattleSiegeWarStartTime > 0) + { + if (m_byBattleSiegeWarStartTime == (3 * MINUTE)) + { + m_SiegeWarNoticeTime = 3; + Announcement(IDS_SIEGE_WAR_READY_TIME_NOTICE); + } + else if (m_byBattleSiegeWarStartTime == (2 * MINUTE)) + { + m_SiegeWarNoticeTime = 2; + Announcement(IDS_SIEGE_WAR_READY_TIME_NOTICE); + } + else if (m_byBattleSiegeWarStartTime == (1 * MINUTE)) + { + m_SiegeWarNoticeTime = 1; + Announcement(IDS_SIEGE_WAR_READY_TIME_NOTICE); + } + else if (m_byBattleSiegeWarStartTime == 1) + { + Announcement(IDS_SIEGE_WAR_START); + KickOutZoneUsers(ZONE_DELOS, ZONE_DELOS); + m_byBattleSiegeWarOpen = true; + m_byBattleSiegeWarOccupy = 3000; + bool Status = 1; + Packet result2(AG_CSW_OP_CL); + result2 << Status; + Send_AIServer(&result2); + + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnights = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + + Packet result16(WIZ_SIEGE, uint8(2)); + result16.SByte(); + result16 << uint8((pKnights != nullptr && g_pMain->m_byBattleSiegeWarOpen ? 1 : 0) + 1)<< (pKnights != nullptr ? pKnights->GetID() : uint16(0)) << (pKnights != nullptr ? pKnights->m_sMarkVersion : uint16(0)) << uint16(0) + << uint32(g_pMain->m_byBattleSiegeWarOpen ? g_pMain->m_byBattleSiegeWarOccupy : 0) << uint16(g_pMain->m_byBattleSiegeWarOpen ? ((50 * MINUTE) - g_pMain->m_sBattleTimeDelay) : 0) + << (pKnights != nullptr ? pKnights->GetName() : std::string("")); + g_pMain->Send_Zone(&result16,ZONE_DELOS); + + + } + m_byBattleSiegeWarStartTime--; + } + + + if( m_sBattleTimeDelay == ( 50 * MINUTE ) + || m_byBattleSiegeWarOccupy == 0) + { + Announcement(IDS_SIEGE_WAR_END); + m_sBattleTimeDelay = 0; + m_byBattleOpen = NO_BATTLE; + BattleZoneClose(); + m_byBattleSiegeWarOpen = false; + Announcement(IDS_SIEGE_WAR_VICTORY); + + _KNIGHTS_SIEGE_WARFARE *pKnightSiegeWarFare = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnight = g_pMain->GetClanPtr(pKnightSiegeWarFare->sMasterKnights); + if (pKnight == nullptr) + return; + + foreach_array(i,pKnight->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pKnight->m_arKnightsUser[i]; + if (!p->byUsed || p->pSession == nullptr) + continue; + + p->pSession->GiveKnightCash(1000); + p->pSession->SendLoyaltyChange(2500); + p->pSession->AchieveType1(10); + } + + + } + } + if (m_byBanishFlag) + { + m_sBanishDelay++; + + if (m_sBanishDelay == (m_byBattleTime / 360)) + Announcement(DECLARE_BAN); + else if (m_sBanishDelay == (m_byBattleTime / 120)) { + m_byBanishFlag = false; + m_sBanishDelay = 0; + BanishLosers(); + } + } +} + +void CGameServerDlg::BattleZoneResult(uint8 nation) +{ + if(m_bVictory) + return; + + m_bVictory = nation; + Announcement(DECLARE_WINNER, m_bVictory); + Announcement(DECLARE_LOSER, nation == KARUS ? ELMORAD : KARUS); + + if (g_pMain->m_byBattleZoneType == ZONE_ARDREAM) + { + BattleZoneClose(); + return; + } + + m_byKarusOpenFlag = nation == ELMORAD ? true : false; + m_byElmoradOpenFlag = nation == KARUS ? true : false; + m_byBanishFlag = true; + m_sBanishDelay = 0; + + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + if (!pUser->isInGame()) + continue; + + if (isWarOpen()) + { + // Kick out losers + if (pUser->GetMap()->isWarZone() && nation == pUser->GetNation()) + pUser->AchieveType1(4); + } + + } + +} + +void CGameServerDlg::BattleWinnerResult(BattleWinnerTypes winnertype) +{ + uint8 winner_nation = 0; + uint8 nBattleZone = m_byBattleZone + ZONE_BATTLE_BASE; + + if (winnertype == BATTLE_WINNER_NPC) + { + if (m_sKilledKarusNpc > m_sKilledElmoNpc) + winner_nation = KARUS; + else if (m_sKilledElmoNpc > m_sKilledKarusNpc) + winner_nation = ELMORAD; + + if (winner_nation == 0 + && (nBattleZone == ZONE_BATTLE + || nBattleZone == ZONE_BATTLE2 + || nBattleZone == ZONE_BATTLE6 + || nBattleZone == ZONE_BATTLE3)) + { + BattleWinnerResult(BATTLE_WINNER_KILL); + return; + } + } + else if (winnertype == BATTLE_WINNER_MONUMENT) + { + if (m_sKarusMonumentPoint > m_sElmoMonumentPoint) + winner_nation = KARUS; + else if (m_sElmoMonumentPoint > m_sKarusMonumentPoint ) + winner_nation = ELMORAD; + + if (winner_nation == 0) + { + BattleWinnerResult(BATTLE_WINNER_KILL); + return; + } + } + else if (winnertype == BATTLE_WINNER_KILL) + { + if (m_sKarusDead > m_sElmoradDead) + winner_nation = ELMORAD; + else if (m_sElmoradDead > m_sKarusDead) + winner_nation = KARUS; + + if (winner_nation == 0 + && (nBattleZone == ZONE_BATTLE4 + || nBattleZone == ZONE_BATTLE6)) + { + BattleWinnerResult(BATTLE_WINNER_NPC); + return; + } + } + + if (winner_nation == 0) // Draw + { + TRACE("### WARNING : Battle is Draw Zone=%d, Karus Dead=%d, El Morad Dead=%d, Killed Karus NPC=%d, Killed Human NPC=%d, Karus Monument Point=%d, Karus Monument Point=%d ###\n",m_byBattleZone,m_sKarusDead,m_sElmoradDead,m_sKilledKarusNpc,m_sKilledElmoNpc,m_sKarusMonumentPoint,m_sKarusMonumentPoint); + BattleZoneClose(); + } + else + BattleZoneResult(winner_nation); +} + +void CGameServerDlg::BattleZoneOpen(int nType, uint8 bZone /*= 0*/) +{ + if ((nType == BATTLEZONE_OPEN || nType == SNOW_BATTLEZONE_OPEN) && !g_pMain->isWarOpen()) + { + LunarGoldShells(); + m_byBattleOpen = nType == BATTLEZONE_OPEN ? NATION_BATTLE : SNOW_BATTLE; + m_byOldBattleOpen = nType == BATTLEZONE_OPEN ? NATION_BATTLE : SNOW_BATTLE; + m_byBattleZone = bZone; + m_byBattleOpenedTime = int32(UNIXTIME); + m_byBattleRemainingTime = m_byBattleTime; + + if (bZone + ZONE_BATTLE_BASE == ZONE_BATTLE4) + SendEventRemainingTime(true, nullptr, ZONE_BATTLE4); + + KickOutZoneUsers(ZONE_ARDREAM); + + if (m_byBattleZoneType == 0) + { + KickOutZoneUsers(ZONE_RONARK_LAND_BASE); + KickOutZoneUsers(ZONE_RONARK_LAND); + KickOutZoneUsers(ZONE_BIFROST); + KickOutZoneUsers(ZONE_KROWAZ_DOMINION); + } + } + else if (nType == BATTLEZONE_CLOSE && isWarOpen()){ + DeleteLunarGoldShells(); + Announcement(BATTLEZONE_CLOSE); + }else if (nType == SNOW_BATTLEZONE_CLOSE && isWarOpen()){ + DeleteLunarGoldShells(); + Announcement(SNOW_BATTLEZONE_CLOSE); + }else + return; + + Announcement(nType); // Send an announcement out that the battlezone is open/closed. + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_OPEN)); + result << uint8(nType); + Send_AIServer(&result); +} + +void CGameServerDlg::ArdreamEventOpen() +{ + + g_pMain->OpenArdream = true; + g_pMain->OpenCZ = false; + KickOutZoneUsers(ZONE_ARDREAM,ZONE_MORADON); + KickOutZoneUsers(ZONE_RONARK_LAND,ZONE_MORADON); + KickOutZoneUsers(ZONE_RONARK_LAND_BASE,ZONE_MORADON); + + std::string sEventMessage = string_format("The Event of Ardream is Opened..!"); + + if (!sEventMessage.empty()) + g_pMain->SendAnnouncement(sEventMessage.c_str(),Nation::ALL); + +} +void CGameServerDlg::CheckEventTime() +{ + int32 EventElapsedTime = int32(UNIXTIME) - m_byEventOpenedTime; + m_byEventRemainingTime = m_byEventTime - EventElapsedTime; + + if (EventElapsedTime >= m_byEventTime) // War is over. + { + if(g_pMain->OpenCZ) + CZEventZoneClose(); + else + ArdreamEventZoneClose(); + } +} + +void CGameServerDlg::ArdreamEventZoneClose() +{ + if (MaxLevel62Control == 0 && g_pMain->OpenArdream) + { + g_pMain->KickOutZoneUsers(ZONE_ARDREAM,ZONE_MORADON); + g_pMain->OpenArdream = false; + g_pMain->OpenCZ = true; + std::string sEventMessage2 = string_format("The Event of Ardream is Closed. Thanks for your Participation.!"); + + if (!sEventMessage2.empty()) + g_pMain->SendAnnouncement(sEventMessage2.c_str(),Nation::ALL); + m_byEventOpenedTime = 0; + m_byEventRemainingTime = 0; + + } +} +void CGameServerDlg::CZEventZoneClose() +{ + if (g_pMain->MaxLevel62Control == 1 && g_pMain->OpenCZ) + { + g_pMain->KickOutZoneUsers(ZONE_RONARK_LAND,ZONE_MORADON); + g_pMain->OpenCZ = false; + g_pMain->OpenArdream = true; + std::string sEventMessages2 = string_format("The Event of Ronark Land is Closed. Thanks for your Participation.!"); + + if (!sEventMessages2.empty()) + g_pMain->SendAnnouncement(sEventMessages2.c_str(),Nation::ALL); + m_byEventOpenedTime = 0; + m_byEventRemainingTime = 0; + + } +} +void CGameServerDlg::CZEventOpen() +{ + g_pMain->OpenCZ = true; + g_pMain->OpenArdream = false; + KickOutZoneUsers(ZONE_ARDREAM,ZONE_MORADON); + KickOutZoneUsers(ZONE_RONARK_LAND,ZONE_MORADON); + KickOutZoneUsers(ZONE_RONARK_LAND_BASE,ZONE_MORADON); + + std::string sEventMessage = string_format("The Event of Ronark Land is Opened..!"); + + if (!sEventMessage.empty()) + g_pMain->SendAnnouncement(sEventMessage.c_str(),Nation::ALL); + +} + +void CGameServerDlg::SnowBattleZoneClose() +{ + BattleZoneOpen(SNOW_BATTLEZONE_CLOSE); + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_OPEN)); + result << uint8(SNOW_BATTLEZONE_CLOSE); + Send_AIServer(&result); + ResetBattleZone(); + m_bySnowBanishFlag = true; +} +void CGameServerDlg::SnowBanishLosers() +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + if (!pUser->isInGame()) + continue; + + // Reset captains + if (!isWarOpen()) + { + if (pUser->GetFame() == COMMAND_CAPTAIN) + pUser->ChangeFame(CHIEF); + } + + if (m_byBattleOpen == SNOW_BATTLE) + { + // Kick out losers + if (pUser->GetMap()->isWarZone() && m_bVictory != pUser->GetNation()) + pUser->KickOutZoneUser(true); + } + else if (!g_pMain->isWarOpen()) + { + // Kick out invaders + if ((pUser->GetZoneID() <= ELMORAD && pUser->GetZoneID() != pUser->GetNation()) + || pUser->GetMap()->isWarZone()) + pUser->KickOutZoneUser(true); + } + } +} +void CGameServerDlg::CastleSiegeWarZoneOpen(int nType, uint8 bZone /*= 0*/) +{ + m_byBattleOpen = nType; + m_byOldBattleOpen = nType; + m_byBattleZone = 0; + m_sBattleTimeDelay = 0; + m_byBattleOpenedTime = int32(UNIXTIME); + m_byBattleSiegeWarOccupy = 6600; + m_byBattleRemainingTime = m_byBattleTime; + m_byBattleSiegeWarStartTime = (bZone > 0 ? bZone : 10) * MINUTE; + m_SiegeWarNoticeTime = (bZone > 0 ? bZone : 10); + m_byBattleSiegeWarTeleport = true; + m_byBattleSiegeWarOpen = false; + KickOutZoneUsers(ZONE_RONARK_LAND, ZONE_MORADON); + KickOutZoneUsers(ZONE_DELOS, ZONE_MORADON); + Announcement(IDS_SIEGE_WAR_READY_TIME_NOTICE); + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_OPEN)); + result << uint8(nType); + Send_AIServer(&result); +} +void CGameServerDlg::BattleZoneClose() +{ + if (m_byBattleOpen == CLAN_BATTLE) + { + Announcement(IDS_SIEGE_WAR_END); + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_OPEN)); + result << uint8(BATTLEZONE_CLOSE); + Send_AIServer(&result); + ResetBattleZone(); + bool Status = 0; + Packet result2(AG_CSW_OP_CL); + result2 << Status; + Send_AIServer(&result2); + m_byBanishFlag = true; + KickOutZoneUsers(ZONE_DELOS, ZONE_MORADON); + } + else + { + BattleZoneOpen(BATTLEZONE_CLOSE); + Packet result(AG_BATTLE_EVENT, uint8(BATTLE_EVENT_OPEN)); + result << uint8(BATTLEZONE_CLOSE); + Send_AIServer(&result); + ResetBattleZone(); + m_byBanishFlag = true; + } +} + +void CGameServerDlg::BattleZoneVictoryCheck() +{ + if (m_bKarusFlag >= NUM_FLAG_VICTORY) + m_bVictory = KARUS; + else if (m_bElmoradFlag >= NUM_FLAG_VICTORY) + m_bVictory = ELMORAD; + else + return; + + Announcement(DECLARE_WINNER); + + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser* pTUser = TO_USER(itr.second); + if (!pTUser->isInGame() + || pTUser->GetZoneID() != pTUser->GetNation() + || pTUser->GetNation() != m_bVictory) + continue; + + pTUser->GoldGain(AWARD_GOLD); + pTUser->ExpChange(AWARD_EXP); + + if (pTUser->GetFame() == COMMAND_CAPTAIN) + { + if (pTUser->isKing()) + pTUser->SendLoyaltyChange(500); + else + pTUser->SendLoyaltyChange(300); + } + + // Make the winning nation use a victory emotion (yay!) + pTUser->StateChangeServerDirect(4, 12); + } +} + +/** +* @brief Kicks invaders out of the invaded nation after a war +* and resets captains. +**/ +void CGameServerDlg::BanishLosers() +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + if (!pUser->isInGame()) + continue; + + // Reset captains + if (!isWarOpen()) + { + if (pUser->GetFame() == COMMAND_CAPTAIN) + pUser->ChangeFame(CHIEF); + } + + if (m_byBattleOpen == NATION_BATTLE) + { + // Kick out losers + if (pUser->GetMap()->isWarZone() && m_bVictory != pUser->GetNation()) + pUser->KickOutZoneUser(true); + } + else if (!g_pMain->isWarOpen()) + { + // Kick out invaders + if ((pUser->GetZoneID() <= ELMORAD && pUser->GetZoneID() != pUser->GetNation()) + || pUser->GetMap()->isWarZone()) + pUser->KickOutZoneUser(true); + } + } +} + +void CGameServerDlg::ResetBattleZone() +{ + m_bVictory = 0; + + m_sBanishDelay = 0; + m_byBanishFlag = false; + + m_sBattleResultDelay = 0; + m_bResultDelay = false; + + m_bKarusFlag = 0; + m_bElmoradFlag = 0; + + m_byKarusOpenFlag = false; + m_byElmoradOpenFlag = false; + + m_byBattleSave = false; + + m_byBattleZone = 0; + m_byBattleZoneType = 0; + + m_byBattleOpen = NO_BATTLE; + m_byOldBattleOpen = NO_BATTLE; + + m_byBattleOpenedTime = 0; + m_byBattleRemainingTime = 0; + m_sBattleTimeDelay = 0; + + m_byBattleSiegeWarStartTime = 0; + m_SiegeWarNoticeTime = 0; + + m_byBattleSiegeWarOpen = false; + m_byBattleSiegeWarMomument = false; + m_byBattleSiegeWarTeleport = false; + + m_sKarusDead = 0; + m_sElmoradDead = 0; + + + m_sKilledKarusNpc = 0; + m_sKilledElmoNpc = 0; + + m_sKarusMonumentPoint = 0; + m_sElmoMonumentPoint = 0; + m_sKarusMonuments = 0; + m_sElmoMonuments = 0; + + for(int i = 0; i < 7; i++) + m_sNereidsMonumentNation[i] = 0; + + foreach_stlmap(itr,m_arNpcArray) + { + if (itr->second == nullptr) + continue; + + if(itr->second->GetZoneID() != ZONE_BATTLE4) + continue; + + + if (itr->second->m_tNpcType == NPC_BATTLE_MONUMENT) + { + itr->second->HpChange(-30000,nullptr,true); + itr->second->HpChange(-30000,nullptr,true); + itr->second->HpChange(-30000,nullptr,true); + itr->second->HpChange(-30000,nullptr,true); + itr->second->HpChange(-30000,nullptr,true); + itr->second->HpChange(-30000,nullptr,true); + g_pMain->NpcUpdate(itr->second->GetProtoID(), itr->second->m_bMonster, 4, 14005); + + } + } + + m_NationMonumentInformationArray.DeleteAllData(); + m_bMiddleStatueNation = 0; +} + +void CGameServerDlg::AutoNoticeEventTimer() +{ + uint32 nHour = g_localTime.tm_hour; + uint32 nMinute = g_localTime.tm_min; + uint32 nSecond = g_localTime.tm_sec; + + if((nMinute%7==0 || nMinute == 0) && nSecond==0 && m_AutoNoticeIsActive==1){ + SendAnnouncement(m_AutoNoticeText.c_str()); + + } + + +} + + +void CGameServerDlg::ForgettenTempleEventTimer() +{ + uint32 nHour = g_localTime.tm_hour; + uint32 nMinute = g_localTime.tm_min; + uint32 nSecond = g_localTime.tm_sec; + + if (!m_bForgettenTempleIsActive) + { + foreach_stlmap_nolock (itr, m_MonsterChallengeArray) + { + if ((nHour == itr->second->bStartTime1 - 1 + || nHour == itr->second->bStartTime2 - 1 + || nHour == itr->second->bStartTime3 - 1) && nMinute == 55 && nSecond == 0) + { + if (nHour + 1 == itr->second->bStartTime1) + m_nForgettenTempleStartHour = itr->second->bStartTime1; + else if (nHour + 1 == itr->second->bStartTime2) + m_nForgettenTempleStartHour = itr->second->bStartTime2; + else if (nHour + 1 == itr->second->bStartTime3) + m_nForgettenTempleStartHour = itr->second->bStartTime3; + + m_nForgettenTempleLevelMin = itr->second->bLevelMin; + m_nForgettenTempleLevelMax = itr->second->bLevelMax; + + Announcement(IDS_MONSTER_CHALLENGE_ANNOUNCEMENT); + } + else if ((nHour == itr->second->bStartTime1 - 1 + || nHour == itr->second->bStartTime2 - 1 + || nHour == itr->second->bStartTime3 - 1) && nMinute == 59 && nSecond == 40) + { + m_nForgettenTempleLevelMin = itr->second->bLevelMin; + m_nForgettenTempleLevelMax = itr->second->bLevelMax; + Announcement(IDS_MONSTER_CHALLENGE_ANNOUNCEMENT); + } + else if ((nHour == itr->second->bStartTime1 + || nHour == itr->second->bStartTime2 + || nHour == itr->second->bStartTime3) && nMinute == 0) + { + if (itr->second->bLevelMin == 30) + m_nForgettenTempleChallengeTime = 1; + else if (itr->second->bLevelMin == 46) + m_nForgettenTempleChallengeTime = 2; + else if (itr->second->bLevelMin == 60) + m_nForgettenTempleChallengeTime = 3; + } + } + + if (m_nForgettenTempleChallengeTime > 0) + { + m_bForgettenTempleIsActive = true; + m_nForgettenTempleStartTime = int32(UNIXTIME); + + foreach_stlmap_nolock (itr, m_MonsterChallengeSummonListArray) + if (itr->second->bLevel == m_nForgettenTempleChallengeTime) + m_nForgettenTempleLastStage++; + + if(m_nForgettenTempleLastStage>56) + m_nForgettenTempleLastStage=56; + + Announcement(IDS_MONSTER_CHALLENGE_OPEN); + } + } + else if (m_bForgettenTempleIsActive) + { + if (int32(UNIXTIME) - m_nForgettenTempleStartTime == 300 /* 5 minutes */ + && !m_bForgettenTempleSummonMonsters) + { + m_bForgettenTempleSummonMonsters = true; + m_nForgettenTempleCurrentStage = 1; + m_nForgettenTempleLastSummonTime = int32(UNIXTIME) + 30; + Announcement(IDS_MONSTER_CHALLENGE_START); + } + else if (m_bForgettenTempleSummonMonsters) + { + foreach_stlmap_nolock (itr, m_MonsterChallengeSummonListArray) + { + if (m_nForgettenTempleChallengeTime != itr->second->bLevel + || int32(UNIXTIME) - m_nForgettenTempleLastSummonTime < 45 + || itr->second->bStage != m_nForgettenTempleCurrentStage + && m_nForgettenTempleCurrentStage != 57) + continue; + + if (m_nForgettenTempleCurrentStage > m_nForgettenTempleLastStage) + m_bForgettenTempleSummonMonsters = false; + else + { + SpawnEventNpc(itr->second->sSid,true,ZONE_FORGOTTEN_TEMPLE,(float)itr->second->sPosX,0,(float)itr->second->sPosZ,itr->second->sCount,itr->second->bRange); + m_nForgettenTempleCurrentStage++; + m_nForgettenTempleLastSummonTime = int32(UNIXTIME); + } + } + } + else + { + if (m_nForgettenTempleCurrentStage > m_nForgettenTempleLastStage && !m_nForgettenTempleBanishFlag) + { + if (m_ForgettenTempleMonsterList.size() == 0) + { + m_nForgettenTempleBanishFlag = true; + m_nForgettenTempleBanishTime = 200; + Announcement(IDS_MONSTER_CHALLENGE_VICTORY); + switch(m_nForgettenTempleChallengeTime) + { + case 1: + SendItemZoneUsers(ZONE_FORGOTTEN_TEMPLE, RED_TREASURE_CHEST); + break; + case 2: + SendItemZoneUsers(ZONE_FORGOTTEN_TEMPLE, GREEN_TREASURE_CHEST); + break; + case 3: + SendItemZoneUsers(ZONE_FORGOTTEN_TEMPLE, KNIGHT_MEDAL); + SendItemZoneUsers(ZONE_FORGOTTEN_TEMPLE, BLUE_TREASURE_CHEST,2); + break; + } + } + else if (int32(UNIXTIME) - m_nForgettenTempleStartTime >= (HOUR - (10 * MINUTE))) + { + m_nForgettenTempleBanishFlag = true; + m_nForgettenTempleBanishTime = 0; + } + } + } + + if (m_nForgettenTempleBanishFlag) + { + m_nForgettenTempleBanishTime++; + + if (m_nForgettenTempleBanishTime == 30 /* 30 seconds */) + Announcement(IDS_MONSTER_CHALLENGE_CLOSE); + else if (m_nForgettenTempleBanishTime == 230 /* 5 minutes */) + { + m_nForgettenTempleBanishFlag = false; + m_nForgettenTempleBanishTime = 0; + + m_nForgettenTempleUsers.clear(); + m_bForgettenTempleIsActive = false; + m_nForgettenTempleStartHour = 0; + m_nForgettenTempleLevelMin = 0; + m_nForgettenTempleLevelMax = 0; + m_nForgettenTempleStartTime = 0; + m_nForgettenTempleChallengeTime = 0; + m_bForgettenTempleSummonMonsters = false; + m_nForgettenTempleCurrentStage = 0; + m_nForgettenTempleLastStage = 0; + + BOOST_FOREACH (auto itr, m_ForgettenTempleMonsterList) + KillNpc(itr.first); + + m_ForgettenTempleMonsterList.clear(); + m_nForgettenTempleLastSummonTime = 0; + + SendItemZoneUsers(ZONE_FORGOTTEN_TEMPLE, GOLD_EAGLE_WINGS, 1, 1); + KickOutZoneUsers(ZONE_FORGOTTEN_TEMPLE); + } + } + } +} + +void CGameServerDlg::EventZoneTimer() +{ + int nWeekDay = g_localTime.tm_wday; + uint32 nHour = g_localTime.tm_hour; + uint32 nMinute = g_localTime.tm_min; + uint32 nSecond = g_localTime.tm_sec; + + if (!m_bEventZoneIsActive) + { + foreach_stlmap_nolock (itr, m_EventTimesArray) + { + std::list vargs1 = StrSplit(m_sEventZoneOpenDays1, ","); + std::list vargs2 = StrSplit(m_sEventZoneOpenDays2, ","); + std::list vargs3 = StrSplit(m_sEventZoneOpenDays3, ","); + uint8 nDaySize1 = vargs1.size(); + uint8 nDaySize2 = vargs2.size(); + uint8 nDaySize3 = vargs3.size(); + std::string sEventStart; + std::string sPvpMiniStart; + std::string sJuradEventStart; + std::string sEventName; + + if (itr->second->sIndex == 1) + sEventName = "Dark Land"; + if (itr->second->sIndex == 2) + sEventName = "Mini PVP Zone"; + if (itr->second->sIndex == 3) + sEventName = "Devils Square"; + if (itr->second->sIndex == 4) + sEventName = "Lost Castle"; + if (itr->second->sIndex == 5) + sEventName = "PVP Zone"; + if (itr->second->sIndex == 6) + sEventName = "Juraid Mountain"; + + sPvpMiniStart = string_format("%s will open at %d(GMT+2).Max level 45. To enter talk with npc [Exclusive Events] Nian.",sEventName.c_str(),m_nEventZoneStartHour); + sEventStart = string_format("%s will open at %d(GMT+2).Min level 70. To enter talk with npc [Exclusive Events] Nian.",sEventName.c_str(),m_nEventZoneStartHour); + sJuradEventStart = string_format("%s will open at %d(GMT+2).Min level 70. Only users in Eslant will be automatically teleported!",sEventName.c_str(),m_nEventZoneStartHour); + + if (nDaySize1 > 0 && itr->second->AllDays == 0 && itr->second->sIndex == 5) + { + uint8 nDay1 = 0; + for (int i = 0; i < nDaySize1; i++) + { + nDay1 = atoi(vargs1.front().c_str()); + if (nWeekDay == nDay1) + { + if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 55 && nSecond == 0) + { + if (nHour + 1 == itr->second->bTime1) + m_nEventZoneStartHour = itr->second->bTime1; + else if (nHour + 1 == itr->second->bTime2) + m_nEventZoneStartHour = itr->second->bTime2; + else if (nHour + 1 == itr->second->bTime3) + m_nEventZoneStartHour = itr->second->bTime3; + + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + else if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 59 && nSecond == 40) + { + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + + else if ((nHour == itr->second->bTime1 + || nHour == itr->second->bTime2 + || nHour == itr->second->bTime3) && nMinute == 0) + { + if (itr->second->bLvMin == 50) + m_nEventZoneTime = 5; + } + } + vargs1.pop_front(); + } + } + + else if (nDaySize2 > 0 && itr->second->sIndex == 3 && itr->second->AllDays == 0) + { + uint8 nDay2 = 0; + for (int i = 0; i < nDaySize2; i++) + { + nDay2 = atoi(vargs2.front().c_str()); + if (nWeekDay == nDay2) + { + if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 55 && nSecond == 0) + { + if (nHour + 1 == itr->second->bTime1) + m_nEventZoneStartHour = itr->second->bTime1; + else if (nHour + 1 == itr->second->bTime2) + m_nEventZoneStartHour = itr->second->bTime2; + else if (nHour + 1 == itr->second->bTime3) + m_nEventZoneStartHour = itr->second->bTime3; + + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + else if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 59 && nSecond == 40) + { + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + + else if ((nHour == itr->second->bTime1 + || nHour == itr->second->bTime2 + || nHour == itr->second->bTime3) && nMinute == 0) + { + if (itr->second->bLvMin == 30) + m_nEventZoneTime = 3; + } + } + vargs2.pop_front(); + } + } + + else if (nDaySize3 > 0 && itr->second->sIndex == 4 && itr->second->AllDays == 0) + { + uint8 nDay3 = 0; + for (int i = 0; i < nDaySize3; i++) + { + nDay3 = atoi(vargs3.front().c_str()); + if (nWeekDay == nDay3) + { + if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 55 && nSecond == 0) + { + if (nHour + 1 == itr->second->bTime1) + m_nEventZoneStartHour = itr->second->bTime1; + else if (nHour + 1 == itr->second->bTime2) + m_nEventZoneStartHour = itr->second->bTime2; + else if (nHour + 1 == itr->second->bTime3) + m_nEventZoneStartHour = itr->second->bTime3; + + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + else if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 59 && nSecond == 40) + { + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + SendAnnouncement(sEventStart.c_str()); + } + + else if ((nHour == itr->second->bTime1 + || nHour == itr->second->bTime2 + || nHour == itr->second->bTime3) && nMinute == 0) + { + if (itr->second->bLvMin == 40) + m_nEventZoneTime = 4; + } + } + vargs3.pop_front(); + } + } + + else if (itr->second->AllDays == 1) + { + if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 55 && nSecond == 0) + { + if (nHour + 1 == itr->second->bTime1) + m_nEventZoneStartHour = itr->second->bTime1; + else if (nHour + 1 == itr->second->bTime2) + m_nEventZoneStartHour = itr->second->bTime2; + else if (nHour + 1 == itr->second->bTime3) + m_nEventZoneStartHour = itr->second->bTime3; + + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + if (itr->second->sIndex == 1) + SendAnnouncement(sEventStart.c_str()); + else if (itr->second->sIndex == 2) + { + SendAnnouncement(sPvpMiniStart.c_str()); + SendNotice(sPvpMiniStart.c_str()); + } + else + { + SendAnnouncement(sJuradEventStart.c_str()); + SendNotice(sJuradEventStart.c_str()); + } + } + else if ((nHour == itr->second->bTime1 - 1 + || nHour == itr->second->bTime2 - 1 + || nHour == itr->second->bTime3 - 1) && nMinute == 59 && nSecond == 40) + { + m_nEventZoneLevelMin = itr->second->bLvMin; + m_nEventZoneLevelMax = itr->second->bLvMax; + if (itr->second->sIndex == 1) + SendAnnouncement(sEventStart.c_str()); + else if (itr->second->sIndex == 2) + { + SendAnnouncement(sPvpMiniStart.c_str()); + SendNotice(sPvpMiniStart.c_str()); + } + else + { + SendAnnouncement(sJuradEventStart.c_str()); + SendNotice(sJuradEventStart.c_str()); + } + } + + else if ((nHour == itr->second->bTime1 + || nHour == itr->second->bTime2 + || nHour == itr->second->bTime3) && nMinute == 0) + { + if (itr->second->bLvMin == 10) + m_nEventZoneTime = 1; + else if (itr->second->bLvMin == 20) + m_nEventZoneTime = 2; + else if (itr->second->bLvMin == 60) + m_nEventZoneTime = 6; + } + } + } + + if (m_nEventZoneTime > 0) + { + m_bEventZoneIsActive = true; + m_nEventZoneStartTime = int32(UNIXTIME); + + Announcement(IDS_EVENT_ZONE_OPEN); + + if (m_nEventZoneTime == 5) + KickOutZoneUsers(ZONE_RONARK_LAND); + else if (m_nEventZoneTime == 6) + { + KickOutZoneUsers(ZONE_ELMORAD_ESLANT,ZONE_JURAD_MOUNTAIN); + KickOutZoneUsers(ZONE_KARUS_ESLANT,ZONE_JURAD_MOUNTAIN); + } + } + } + else if (m_bEventZoneIsActive) + { + if (int32(UNIXTIME) - m_nEventZoneStartTime == 120) /* 2 minutes */ + { + Announcement(IDS_EVENT_ZONE_START); + } + else if (!m_nEventZoneBanishFlag + && (((m_nEventZoneTime == 6 || m_nEventZoneTime == 4) && (int32(UNIXTIME) - m_nEventZoneStartTime >= (29 * MINUTE))) + || (m_nEventZoneTime != 6 && m_nEventZoneTime != 4 && (int32(UNIXTIME) - m_nEventZoneStartTime >= (44 * MINUTE))))) + { + m_nEventZoneBanishFlag = true; + m_nEventZoneBanishTime = 180; + Announcement(IDS_EVENT_ZONE_VICTO); + + switch(m_nEventZoneTime) + { + case 2: + { + std::string sEventRewardHuman; + std::string sEventRewardOrc; + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isGM() + || pUser->GetZoneID() != ZONE_PVP_EVENT) + continue; + + if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) == 1) + { + if (pUser->GetNation() == KARUS) + sEventRewardOrc = string_format("%s has been the Karus top 1 of the PvP Event!", pUser->GetName().c_str()); + else + sEventRewardHuman = string_format("%s has been the Human top 1 of the PvP Event!", pUser->GetName().c_str()); + + pUser->GiveItem(KNIGHT_MEDAL, 1); + pUser->GiveItem(389196000, 1); + pUser->GiveItem(GOLD_EAGLE_WINGS, 1, true, 2); + pUser->SendLoyaltyChange(200); + } + else if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) > 1 && pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) <= 3) + { + pUser->GiveItem(389197000, 1); + pUser->GiveItem(900180669, 1, true, 2); + pUser->SendLoyaltyChange(100); + } + } + SendNotice(sEventRewardOrc.c_str()); + SendNotice(sEventRewardHuman.c_str()); + SendItemZoneUsers(ZONE_PVP_EVENT, GREEN_TREASURE_CHEST); + } + break; + case 3: + { + std::string sEventRewardHuman; + std::string sEventRewardOrc; + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isGM() + || pUser->GetZoneID() != ZONE_RONARK_LAND_BASE) + continue; + + if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) == 1) + { + if (pUser->GetNation() == KARUS) + sEventRewardOrc = string_format("%s has been the Karus top 1 of the Devil Square Event!", pUser->GetName().c_str()); + else + sEventRewardHuman = string_format("%s has been the Human top 1 of the Devil Square Event!", pUser->GetName().c_str()); + + pUser->GiveItem(KNIGHT_MEDAL, 1); + pUser->GiveItem(389196000, 1); + pUser->GiveItem(900028683, 1, true, 2); + pUser->SendLoyaltyChange(200); + } + else if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) > 1 && pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) <= 3) + { + pUser->GiveItem(389197000, 1); + pUser->GiveItem(910248763, 1, true, 2); + pUser->SendLoyaltyChange(100); + } + } + SendNotice(sEventRewardOrc.c_str()); + SendNotice(sEventRewardHuman.c_str()); + SendItemZoneUsers(ZONE_RONARK_LAND_BASE, GREEN_TREASURE_CHEST); + } + break; + case 4: + SendItemZoneUsers(ZONE_LOST_TEMPLE, BLUE_TREASURE_CHEST); + break; + case 5: + { + std::string sEventRewardHuman; + std::string sEventRewardOrc; + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isGM() + || pUser->GetZoneID() != ZONE_ARDREAM) + continue; + + if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) == 1) + { + if (pUser->GetNation() == KARUS) + sEventRewardOrc = string_format("%s has been the Karus top 1 of the PvP Event!", pUser->GetName().c_str()); + else + sEventRewardHuman = string_format("%s has been the Human top 1 of the PvP Event!", pUser->GetName().c_str()); + + pUser->GiveItem(KNIGHT_MEDAL, 1); + pUser->GiveItem(389196000, 1); + pUser->GiveItem(GOLD_EAGLE_WINGS, 1, true, 2); + pUser->SendLoyaltyChange(200); + } + else if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) > 1 && pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) <= 3) + { + pUser->GiveItem(389197000, 1); + pUser->GiveItem(900180669, 1, true, 2); + pUser->SendLoyaltyChange(100); + } + } + SendNotice(sEventRewardOrc.c_str()); + SendNotice(sEventRewardHuman.c_str()); + SendItemZoneUsers(ZONE_ARDREAM, GREEN_TREASURE_CHEST); + } + break; + case 6: + SendItemZoneUsers(ZONE_JURAD_MOUNTAIN, BLUE_TREASURE_CHEST); + break; + } + } + + if (m_nEventZoneBanishFlag) + { + m_nEventZoneBanishTime++; + + if (m_nEventZoneBanishTime == 30) + { + Announcement(IDS_EVENT_ZONE_CLOSE); + m_nEventZoneBanishFlag = false; + m_nEventZoneBanishTime = 0; + + m_nEventZoneUsers.clear(); + m_bEventZoneIsActive = false; + m_nEventZoneStartHour = 0; + m_nEventZoneLevelMin = 0; + m_nEventZoneLevelMax = 0; + m_nEventZoneStartTime = 0; + m_nEventZoneTime = 0; + + KickOutZoneUsers(ZONE_DARK_LAND); + KickOutZoneUsers(ZONE_LOST_TEMPLE); + KickOutZoneUsers(ZONE_JURAD_MOUNTAIN); + KickOutZoneUsers(ZONE_RONARK_LAND_BASE); + KickOutZoneUsers(ZONE_ARDREAM); + KickOutZoneUsers(ZONE_PVP_EVENT); + } + + else if (!m_nEventZoneBanishFlag && !m_bEventZoneIsActive) + { + KickOutZoneUsers(ZONE_DARK_LAND); + KickOutZoneUsers(ZONE_LOST_TEMPLE); + KickOutZoneUsers(ZONE_JURAD_MOUNTAIN); + KickOutZoneUsers(ZONE_RONARK_LAND_BASE); + KickOutZoneUsers(ZONE_ARDREAM); + KickOutZoneUsers(ZONE_PVP_EVENT); + } + } + } +} + +void CGameServerDlg::TempleEventTimer() +{ + uint32 nHour = g_localTime.tm_hour; + uint32 nMinute = g_localTime.tm_min; + uint32 nSeconds = g_localTime.tm_sec; + + if (m_nTempleEventRemainSeconds > 0) + m_nTempleEventRemainSeconds--; + + if (pTempleEvent.ActiveEvent == -1) + { + for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++) + { + if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 0) + { + pTempleEvent.ActiveEvent = TEMPLE_EVENT_BORDER_DEFENCE_WAR; + pTempleEvent.ZoneID = ZONE_BORDER_DEFENSE_WAR; + + pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1 = m_nBorderDefenseWarPrizeWonItemNo1[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2 = m_nBorderDefenseWarPrizeWonItemNo2[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3 = m_nBorderDefenseWarPrizeWonItemNo3[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K = m_nBorderDefenseWarPrizeWonItemNo4_K[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H = m_nBorderDefenseWarPrizeWonItemNo4_H[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonLoyalty = m_nBorderDefenseWarPrizeWonLoyalty[i]; + pTempleEvent.m_nBorderDefenseWarPrizeWonKnightCash = m_nBorderDefenseWarPrizeWonKnightCash[i]; + pTempleEvent.m_nBorderDefenseWarPrizeLoserKnightCash = m_nBorderDefenseWarPrizeLoserKnightCash[i]; + pTempleEvent.m_nBorderDefenseWarPrizeLoserLoyalty = m_nBorderDefenseWarPrizeLoserLoyalty[i]; + pTempleEvent.m_nBorderDefenseWarPrizeLoserItem = m_nBorderDefenseWarPrizeLoserItem[i]; + pTempleEvent.m_nBorderDefenseWarMAXLEVEL = m_nBorderDefenseWarMAXLEVEL[i]; + pTempleEvent.m_nBorderDefenseWarMINLEVEL = m_nBorderDefenseWarMINLEVEL[i]; + + + + m_nTempleEventRemainSeconds = 600; // 10 minutes + TempleEventStart(); + break; + } + } + + for (int i = 0; i < CHAOS_EVENT_COUNT; i++) + { + if (nHour == m_nChaosTime[i] && nMinute == 0) + { + pTempleEvent.ActiveEvent = TEMPLE_EVENT_CHAOS; + pTempleEvent.ZoneID = ZONE_CHAOS_DUNGEON; + + pTempleEvent.m_nChaosPrizeWonItemNo1 = m_nChaosPrizeWonItemNo1[i]; + pTempleEvent.m_nChaosPrizeWonItemNo2 = m_nChaosPrizeWonItemNo2[i]; + pTempleEvent.m_nChaosPrizeWonItemNo3 = m_nChaosPrizeWonItemNo3[i]; + pTempleEvent.m_nChaosPrizeWonItemNo4_K = m_nChaosPrizeWonItemNo4_K[i]; + pTempleEvent.m_nChaosPrizeWonItemNo4_H = m_nChaosPrizeWonItemNo4_H[i]; + pTempleEvent.m_nChaosPrizeWonLoyalty = m_nChaosPrizeWonLoyalty[i]; + pTempleEvent.m_nChaosPrizeWonExp = m_nChaosPrizeWonExp[i]; + pTempleEvent.m_nChaosPrizeWonKnightCash = m_nChaosPrizeWonKnightCash[i]; + + pTempleEvent.m_nChaosPrizeLoserKnightCash = m_nChaosPrizeLoserKnightCash[i]; + pTempleEvent.m_nChaosPrizeLoserLoyalty = m_nChaosPrizeLoserLoyalty[i]; + pTempleEvent.m_nChaosPrizeLoserItem = m_nChaosPrizeLoserItem[i]; + pTempleEvent.m_nChaosPrizeLoserExp = m_nChaosPrizeLoserExp[i]; + + m_nTempleEventRemainSeconds = 600; // 10 minutes + TempleEventStart(); + break; + } + } + + for (int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++) + { + if (nHour == m_nJuraidTime[i] && nMinute == 0) + { + pTempleEvent.ActiveEvent = TEMPLE_EVENT_JURAD_MOUNTAIN; + pTempleEvent.ZoneID = ZONE_JURAD_MOUNTAIN; + + + pTempleEvent.m_nJuraidMountainOdulTipi = m_nJuraidMountainOdulTipi[i]; + pTempleEvent.m_nJuraidMountainPrizeWonItemNo1 = m_nJuraidMountainPrizeWonItemNo1[i]; + pTempleEvent.m_nJuraidMountainPrizeWonItemNo2 = m_nJuraidMountainPrizeWonItemNo2[i]; + pTempleEvent.m_nJuraidMountainPrizeWonItemNo3 = m_nJuraidMountainPrizeWonItemNo3[i]; + pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_K = m_nJuraidMountainPrizeWonItemNo4_K[i]; + pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_H = m_nJuraidMountainPrizeWonItemNo4_H[i]; + pTempleEvent.m_nJuraidMountainPrizeWonLoyalty = m_nJuraidMountainPrizeWonLoyalty[i]; + pTempleEvent.m_nJuraidMountainPrizeWonExp = m_nJuraidMountainPrizeWonExp[i]; + pTempleEvent.m_nJuraidMountainPrizeWonKnightCash = m_nJuraidMountainPrizeWonKnightCash[i]; + + pTempleEvent.m_nJuraidMountainPrizeLoserKnightCash = m_nJuraidMountainPrizeLoserKnightCash[i]; + pTempleEvent.m_nJuraidMountainPrizeLoserLoyalty = m_nJuraidMountainPrizeLoserLoyalty[i]; + pTempleEvent.m_nJuraidMountainPrizeLoserItem = m_nJuraidMountainPrizeLoserItem[i]; + pTempleEvent.m_nJuraidMountainPrizeLoserExp = m_nJuraidMountainPrizeLoserExp[i]; + pTempleEvent.m_nJuraidMountainMAXLEVEL = m_nJuraidMountainMAXLEVEL[i]; + pTempleEvent.m_nJuraidMountainMINLEVEL = m_nJuraidMountainMINLEVEL[i]; + + + m_nTempleEventRemainSeconds = 600; // 10 minutes + JuraidTempleEventStart(); + break; + } + } + } + else if (pTempleEvent.ActiveEvent != -1) + { + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + { + for(int i = 1; i < MAX_TEMPLE_EVENT_ROOM ; i++) + { + if(pTempleEvent.m_sMiniTimerNation[i] == 0) + continue; + + if(pTempleEvent.m_sBdwMiniTimer[i]-- != 0 ) + continue; + + TempleEventFinish(i,pTempleEvent.m_sMiniTimerNation[i]); + } + for(int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++) + { + if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 10 && !pTempleEvent.isActive) + { + m_nTempleEventRemainSeconds = 0; + pTempleEvent.LastEventRoom = 1; + pTempleEvent.isActive = true; + TempleEventStart(); + TempleEventTeleportUsers(); + TempleEventSummon(); + break; + } + else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && pTempleEvent.isAttackable) + { + TerminationFinish(); + pTempleEvent.isAttackable = false; + break; + } + else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 20 && pTempleEvent.isActive) + { + TempleEventFinish(0,0); + break; + } + } + } + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS) + { + for(int i = 0; i < CHAOS_EVENT_COUNT; i++) + { + if (nHour == m_nChaosTime[i] && nMinute == 10 && nSeconds == 0 && !pTempleEvent.isActive) + { + m_nTempleEventRemainSeconds = 0; + pTempleEvent.LastEventRoom = 1; + pTempleEvent.isActive = true; + TempleEventStart(); // Set RemainSeconds to zero + TempleEventTeleportUsers(); + TempleEventSummon(); + break; + } + else if (nHour == m_nChaosTime[i] && nMinute == 11 && !pTempleEvent.isAttackable) + { + pTempleEvent.isAttackable = true; + break; + } + else if (nHour == m_nChaosTime[i] && nMinute == 30 && pTempleEvent.isAttackable) + { + TerminationFinish(); + pTempleEvent.isAttackable = false; + break; + } + else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 20 && pTempleEvent.isActive) + { + TempleEventFinish(0,0); + break; + } + } + } + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + for(int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++) + { + if (nHour == m_nJuraidTime[i] && nMinute == 10 && !pTempleEvent.isActive) + { + m_nTempleEventRemainSeconds = 0; + pTempleEvent.LastEventRoom = 1; + pTempleEvent.isActive = true; + JuraidTempleEventStart(); // Set RemainSeconds to zero + TempleEventTeleportUsers(); + TempleEventSummon(); + break; + } + else if (nHour == m_nJuraidTime[i] && nMinute == 11 && !pTempleEvent.isAttackable) + { + pTempleEvent.isAttackable = true; + break; + } + else if (nHour == m_nJuraidTime[i] && nMinute == 50 && pTempleEvent.isAttackable) + { + TerminationFinish(); + pTempleEvent.isAttackable = false; + break; + } + else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 20 && pTempleEvent.isActive) + { + TempleEventFinish(0,0); + break; + } + } + } + } +} + +void CGameServerDlg::TempleEventStart() +{ + Packet result(WIZ_EVENT, uint8(TEMPLE_EVENT)); + pTempleEvent.StartTime = (uint32)UNIXTIME; + pTempleEvent.KarusUserCount = 0; + pTempleEvent.ElMoradUserCount = 0; + pTempleEvent.AllUserCount = 0; + memset(pTempleEvent.KarusDeathCount , 0 , sizeof(pTempleEvent.KarusDeathCount)); + memset(pTempleEvent.ElmoDeathCount , 0 , sizeof(pTempleEvent.ElmoDeathCount)); + result << (uint16)pTempleEvent.ActiveEvent << m_nTempleEventRemainSeconds; + Send_All(&result); +} + +void CGameServerDlg::JuraidTempleEventStart() +{ + pTempleEvent.StartTime = (uint32)UNIXTIME; + pTempleEvent.KarusUserCount = 0; + pTempleEvent.ElMoradUserCount = 0; + pTempleEvent.AllUserCount = 0; + memset(pTempleEvent.isDevaFlag , 0 , sizeof(pTempleEvent.isDevaFlag)); + memset(pTempleEvent.isDevaControl , 0 , sizeof(pTempleEvent.isDevaControl)); + memset(pTempleEvent.DevaNation , 0 , sizeof(pTempleEvent.DevaNation)); + memset(pTempleEvent.KarusDeathCount , 0 , sizeof(pTempleEvent.KarusDeathCount)); + memset(pTempleEvent.ElmoDeathCount , 0 , sizeof(pTempleEvent.ElmoDeathCount)); + memset(pTempleEvent.KarusDeathRoom1 , 0 , sizeof(pTempleEvent.KarusDeathRoom1)); + memset(pTempleEvent.KarusDeathRoom2 , 0 , sizeof(pTempleEvent.KarusDeathRoom2)); + memset(pTempleEvent.KarusDeathRoom3 , 0 , sizeof(pTempleEvent.KarusDeathRoom3)); + memset(pTempleEvent.ElmoDeathRoom1 , 0 , sizeof(pTempleEvent.ElmoDeathRoom1)); + memset(pTempleEvent.ElmoDeathRoom2 , 0 , sizeof(pTempleEvent.ElmoDeathRoom2)); + memset(pTempleEvent.ElmoDeathRoom3 , 0 , sizeof(pTempleEvent.ElmoDeathRoom3)); + Announcement(IDS_JURAD_EVENT_OPEN); +} + +void CGameServerDlg::TempleEventTeleportUsers() +{ + switch (pTempleEvent.ActiveEvent) + { + case TEMPLE_EVENT_BORDER_DEFENCE_WAR: + pTempleEvent.isAttackable = true; + break; + case TEMPLE_EVENT_CHAOS: + pTempleEvent.isAttackable = false; + break; + case TEMPLE_EVENT_JURAD_MOUNTAIN: + pTempleEvent.isAttackable = true; + break; + } + + foreach_stlmap (itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr + || !pUser->isInGame()) + continue; + + if (pTempleEvent.ZoneID == ZONE_CHAOS_DUNGEON) + { + if (pUser->CheckExistItem(CHAOS_MAP, 1)) + pUser->RobItem(CHAOS_MAP, 1); + + pUser->ZoneChange(pTempleEvent.ZoneID,0.0f,0.0f); // Start position is random... + }else if (pTempleEvent.ZoneID == ZONE_JURAD_MOUNTAIN) + pUser->ZoneChange(pTempleEvent.ZoneID,0.0f,0.0f); + else if (pTempleEvent.ZoneID == ZONE_BORDER_DEFENSE_WAR) + pUser->ZoneChange(pTempleEvent.ZoneID,0.0f,0.0f); + + } + + if (pTempleEvent.ZoneID == ZONE_BORDER_DEFENSE_WAR) + TerminitionTime(ZONE_BORDER_DEFENSE_WAR, 1801); + else if(pTempleEvent.ZoneID == ZONE_JURAD_MOUNTAIN) + TerminitionTime(ZONE_JURAD_MOUNTAIN, 3001); + else if(pTempleEvent.ZoneID == ZONE_CHAOS_DUNGEON) + TerminitionTime(ZONE_CHAOS_DUNGEON,1201); +} + +uint8 CGameServerDlg::TempleEventGetRoomUsers(uint16 nEventRoom, uint8 nNation) +{ + uint8 nEventRoomUserCount = 0; + + foreach_stlmap (itr, m_TempleEventUserArray) + { + if (itr->second->m_bEventRoom != nEventRoom) + continue; + + CUser *pUser = GetUserPtr(itr->second->m_socketID); + + if (!pUser && pUser == nullptr) + continue; + + if (pUser->isInGame() && pUser->GetEventRoom() == nEventRoom){ + if(nNation == 0){ + nEventRoomUserCount++; + continue; + } + if(nNation != pUser->GetNation()) + continue; + + if (nNation == pUser->GetNation()) + nEventRoomUserCount++; + + } + } + + return nEventRoomUserCount; +} + +void CGameServerDlg::MonsterStoneSummon(uint16 RoomEvent, uint8 ZoneID) +{ + + foreach_stlmap_nolock (itr, m_MonsterRespawnListInformationArray) + { + if (itr->second->ZoneID == ZoneID && itr->second->sCount == 1) + { + if(itr->second->sSid != 7032 + && itr->second->sSid != 7033 + && itr->second->sSid != 7034) + SpawnEventNpc(itr->second->sSid,true,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,2,25*60,0,-1,RoomEvent); + else + SpawnEventNpc(itr->second->sSid,true,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,0,25*60,0,-1,RoomEvent); + } + else if (itr->second->ZoneID == ZoneID && itr->second->sCount == 2) + { + SpawnEventNpc(itr->second->sSid,false,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,1,2,25*60,0,-1,RoomEvent); + } + } + + + + +} + + +void CGameServerDlg::TempleEventSummon() +{ + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS) + { + for (int i = 0; i < g_pMain->pTempleEvent.LastEventRoom; i++) + { + foreach_stlmap_nolock (itr, m_MonsterRespawnListInformationArray) + { + if (itr->second->ZoneID == ZONE_CHAOS_DUNGEON) + { + if (itr->second->sSid == CHAOS_CUBE_SSID) + SpawnEventNpc(itr->second->sSid,false,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,itr->second->bRadius,60*60,0,-1,i+1/* EventRoom */); + else + SpawnEventNpc(itr->second->sSid,true,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,itr->second->bRadius,60*60,0,-1,i+1/* EventRoom */); + } + } + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + { + for (int i = 0; i < g_pMain->pTempleEvent.LastEventRoom; i++) + { + foreach_stlmap_nolock (itr, m_MonsterRespawnListInformationArray) + { + if (itr->second->ZoneID == ZONE_BORDER_DEFENSE_WAR) + { + SpawnEventNpc(itr->second->sSid,false,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,itr->second->bRadius,60*60,0,-1,i+1/* EventRoom */); + SpawnEventNpc(itr->second->sSid,true,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,itr->second->bRadius,60*60,0,-1,i+1/* EventRoom */); + } + } + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + for (int i = 0; i < g_pMain->pTempleEvent.LastEventRoom; i++) + { + foreach_stlmap_nolock (itr, m_MonsterRespawnListInformationArray) + { + if (itr->second->ZoneID == ZONE_JURAD_MOUNTAIN && itr->second->sCount == 1) + SpawnEventNpc(itr->second->sSid,true,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,itr->second->sCount,itr->second->bRadius,60*60,0,-1,i+1/* EventRoom */); + else if (itr->second->ZoneID == ZONE_JURAD_MOUNTAIN && itr->second->sCount == 2) + SpawnEventNpc(itr->second->sSid,false,itr->second->ZoneID,itr->second->X,itr->second->Y,itr->second->Z,1,2,60*60,0,-1,i+1); + + + } + } + } +} + +void CGameServerDlg::TempleEventFinish(uint16 m_sEventRoom, uint8 m_bNation) +{ + foreach_stlmap (itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr) + continue; + + if(m_sEventRoom > 0 && pUser->GetEventRoom() != m_sEventRoom) + continue; + + _USER_RANKING * pRankInfo = m_UserRankingArray[pUser->GetNation() - 1].GetData(itr->second->m_socketID); + + if (pRankInfo) + { + int64 nChangeExp = -1; + int32 nChangeLoyalty; + int32 nChangeKnightCash; + + if (pRankInfo->pUser->GetZoneID() == ZONE_BORDER_DEFENSE_WAR) + { + if (m_bNation == 0 && g_pMain->pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] == pTempleEvent.KarusDeathCount[pUser->GetEventRoom()]) + { + + int32 nChangeExpMax = 0, nChangeExpMin = 0; + + if (pRankInfo->pUser->GetLevel() > 20) + nChangeExpMax = (40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(pRankInfo->pUser->GetLevel() > 20) + nChangeExpMin = ((40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1260) - (40+pRankInfo->pUser->m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + nChangeExp = nChangeExpMin; + nChangeLoyalty = pTempleEvent.m_nBorderDefenseWarPrizeLoserLoyalty; + nChangeKnightCash = pTempleEvent.m_nBorderDefenseWarPrizeLoserKnightCash; + + if(pTempleEvent.m_nBorderDefenseWarPrizeLoserItem > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeLoserItem,1); + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + }else if(m_bNation == pUser->GetNation()) + { + int32 nChangeExpMax = 0, nChangeExpMin = 0; + + if (pRankInfo->pUser->GetLevel() > 20) + nChangeExpMax = (40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(pRankInfo->pUser->GetLevel() > 20) + nChangeExpMin = ((40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1260) - (40+pRankInfo->pUser->m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + nChangeExp = nChangeExpMax; + nChangeLoyalty = pTempleEvent.m_nBorderDefenseWarPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nBorderDefenseWarPrizeWonKnightCash; + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3,1); + + if(pUser->GetNation() == KARUS && pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K,1); + else if(pUser->GetNation() == ELMORAD && pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H,1); + + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + pUser->AchieveType1(5); + + } + else if ((m_bNation == pUser->GetNation() || m_bNation == 0) && (pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] > pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == KARUS)) + { + int32 nChangeExpMax = 0, nChangeExpMin = 0; + + if (pRankInfo->pUser->GetLevel() > 20) + nChangeExpMax = (40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(pRankInfo->pUser->GetLevel() > 20) + nChangeExpMin = ((40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1260) - (40+pRankInfo->pUser->m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + nChangeExp = nChangeExpMax; + nChangeLoyalty = pTempleEvent.m_nBorderDefenseWarPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nBorderDefenseWarPrizeWonKnightCash; + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3,1); + + if(pUser->GetNation() == KARUS && pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K,1); + + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + pUser->AchieveType1(5); + + } + else if ((m_bNation == pUser->GetNation() || m_bNation == 0) && (pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] > pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == ELMORAD)) + { + int32 nChangeExpMax = 0, nChangeExpMin = 0; + + if (pRankInfo->pUser->GetLevel() > 20) + nChangeExpMax = (40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(pRankInfo->pUser->GetLevel() > 20) + nChangeExpMin = ((40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1260) - (40+pRankInfo->pUser->m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + nChangeExp = nChangeExpMax; + nChangeLoyalty = pTempleEvent.m_nBorderDefenseWarPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nBorderDefenseWarPrizeWonKnightCash; + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2,1); + + if(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3,1); + + if(pUser->GetNation() == ELMORAD && pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H,1); + + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + pUser->AchieveType1(5); + } + else + { + int32 nChangeExpMax = 0, nChangeExpMin = 0; + + if (pRankInfo->pUser->GetLevel() > 20) + nChangeExpMax = (40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(pRankInfo->pUser->GetLevel() > 20) + nChangeExpMin = ((40+pRankInfo->pUser->m_iLoyaltyDaily)*(pRankInfo->pUser->GetLevel()-19)*1260) - (40+pRankInfo->pUser->m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + nChangeExp = nChangeExpMin; + nChangeLoyalty = pTempleEvent.m_nBorderDefenseWarPrizeLoserLoyalty; + nChangeKnightCash = pTempleEvent.m_nBorderDefenseWarPrizeLoserKnightCash; + + if(pTempleEvent.m_nBorderDefenseWarPrizeLoserItem > 0) + pUser->GiveItem(pTempleEvent.m_nBorderDefenseWarPrizeLoserItem,1); + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + } + + } + else if (pRankInfo->pUser->GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + if(!pTempleEvent.m_nJuraidMountainOdulTipi) + { + if (((pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] > pTempleEvent.KarusDeathCount[pUser->GetEventRoom()]) || (m_bNation > 0 && m_bNation == KARUS)) && pUser->GetNation() == KARUS) + { + if (pUser->GetLevel() >= 70 && pUser->GetLevel() <= 72) + pUser->GiveItem(GREEN_GEM); + else if (pUser->GetLevel() >= 73 && pUser->GetLevel() <= 74) + pUser->GiveItem(BLUE_GEM); + else if (pUser->GetLevel() >= 75 && pUser->GetLevel() <= 76) + pUser->GiveItem(YELLOW_GEM); + else if (pUser->GetLevel() >= 77 && pUser->GetLevel() <= 78) + pUser->GiveItem(RED_GEM); + else if (pUser->GetLevel() >= 79 && pUser->GetLevel() <= 83) + pUser->GiveItem(SILVERY_GEM); + + pUser->AchieveType1(6); + } + else if (((pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] > pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()]) || (m_bNation > 0 && m_bNation == ELMORAD)) && pUser->GetNation() == ELMORAD) + { + if (pUser->GetLevel() >= 70 && pUser->GetLevel() <= 72 ) + pUser->GiveItem(GREEN_GEM); + else if (pUser->GetLevel() >= 73 && pUser->GetLevel() <= 74 ) + pUser->GiveItem(BLUE_GEM); + else if (pUser->GetLevel() >= 75 && pUser->GetLevel() <= 76 ) + pUser->GiveItem(YELLOW_GEM); + else if (pUser->GetLevel() >= 77 && pUser->GetLevel() <= 78 ) + pUser->GiveItem(RED_GEM); + else if (pUser->GetLevel() >= 79 && pUser->GetLevel() <= 83 ) + pUser->GiveItem(SILVERY_GEM); + + pUser->AchieveType1(6); + } + else + { + pUser->GiveItem(BLACK_GEM); + } + } + else + + { + if (((pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] > pTempleEvent.KarusDeathCount[pUser->GetEventRoom()]) || (m_bNation > 0 && m_bNation == KARUS)) && pUser->GetNation() == KARUS) + { + nChangeExp = pTempleEvent.m_nJuraidMountainPrizeWonExp; + nChangeLoyalty = pTempleEvent.m_nJuraidMountainPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nJuraidMountainPrizeWonKnightCash; + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo1,1); + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo2,1); + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo3,1); + + if(pUser->GetNation() == KARUS && pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_K > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_K,1); + + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + + pUser->AchieveType1(6); + } + else if (((pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] > pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()]) || (m_bNation > 0 && m_bNation == ELMORAD)) && pUser->GetNation() == ELMORAD) + { + nChangeExp = pTempleEvent.m_nJuraidMountainPrizeWonExp; + nChangeLoyalty = pTempleEvent.m_nJuraidMountainPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nJuraidMountainPrizeWonKnightCash; + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo1,1); + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo2,1); + + if(pTempleEvent.m_nJuraidMountainPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo3,1); + + if(pUser->GetNation() == ELMORAD && pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_H > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeWonItemNo4_H,1); + + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + pUser->AchieveType1(6); + } + else + { + nChangeExp = pTempleEvent.m_nJuraidMountainPrizeLoserExp; + nChangeLoyalty = pTempleEvent.m_nJuraidMountainPrizeLoserLoyalty; + nChangeKnightCash = pTempleEvent.m_nJuraidMountainPrizeLoserKnightCash; + + if(pTempleEvent.m_nJuraidMountainPrizeLoserItem > 0) + pUser->GiveItem(pTempleEvent.m_nJuraidMountainPrizeLoserItem,1); + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + } + + } + } else if (pRankInfo->pUser->GetZoneID() == ZONE_CHAOS_DUNGEON) + { + uint64 nGainedExp = uint64(pow(pUser->GetLevel(),3) * 0.15 * (5 * pRankInfo->m_KillCount - pRankInfo->m_DeathCount)); + uint64 nPremiumGainedExp = nGainedExp * 2; + + if (nGainedExp > 8000000) + nGainedExp = 8000000; + + if (nPremiumGainedExp > 8000000) + nPremiumGainedExp = 8000000; + + nChangeExp = pUser->PremiumID != 0 ? nPremiumGainedExp : nGainedExp; + + uint8 nEventRoomUserCount = g_pMain->TempleEventGetRoomUsers(pUser->GetEventRoom()); + uint8 nItemRewardRankFirst = nEventRoomUserCount / 5; + uint8 nItemRewardRankSecond = (nEventRoomUserCount - 1) * 2; + + nChangeExp = pTempleEvent.m_nChaosPrizeLoserExp; + nChangeLoyalty = pTempleEvent.m_nChaosPrizeLoserLoyalty; + nChangeKnightCash = pTempleEvent.m_nChaosPrizeLoserKnightCash; + + + + int32 nUserRank = pUser->GetPlayerRank(RANK_TYPE_CHAOS_DUNGEON); + + if(nUserRank == 1) + pUser->AchieveType1(7); + if(nUserRank == 2) + pUser->AchieveType1(8); + if(nUserRank == 3) + pUser->AchieveType1(9); + + + if (nUserRank > 0 && nUserRank <= nItemRewardRankFirst){ + nChangeExp = pTempleEvent.m_nChaosPrizeWonExp; + nChangeLoyalty = pTempleEvent.m_nChaosPrizeWonLoyalty; + nChangeKnightCash = pTempleEvent.m_nChaosPrizeWonKnightCash; + if(pTempleEvent.m_nChaosPrizeWonItemNo1 > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeWonItemNo1,1); + + if(pTempleEvent.m_nChaosPrizeWonItemNo2 > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeWonItemNo2,1); + + if(pTempleEvent.m_nChaosPrizeWonItemNo3 > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeWonItemNo3,1); + + if(pUser->GetNation() == ELMORAD && pTempleEvent.m_nChaosPrizeWonItemNo4_H > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeWonItemNo4_H,1); + else if(pUser->GetNation() == KARUS && pTempleEvent.m_nChaosPrizeWonItemNo4_K > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeWonItemNo4_K,1); + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + } + else { + nChangeExp = pTempleEvent.m_nChaosPrizeLoserExp; + nChangeLoyalty = pTempleEvent.m_nChaosPrizeLoserLoyalty; + nChangeKnightCash = pTempleEvent.m_nChaosPrizeLoserKnightCash; + + if(pTempleEvent.m_nChaosPrizeLoserItem > 0) + pUser->GiveItem(pTempleEvent.m_nChaosPrizeLoserItem,1); + + if(nChangeLoyalty > 0) + pUser->SendLoyaltyChange(nChangeLoyalty); + + if(nChangeExp > 0) + pUser->ExpChange(nChangeExp); + + if(nChangeKnightCash > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(),nChangeKnightCash); + + } + } + } + } + + foreach_stlmap_nolock (itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser && pUser->isInGame()) + { + + if(m_sEventRoom > 0 && pUser->GetEventRoom() != m_sEventRoom) + continue; + + TempleEventKickOutUser(pUser); + + Packet result2(AG_USER_EVENTROOM); + result2 << pUser->GetID() << uint16(0); + g_pMain->Send_AIServer(&result2); + + pUser->SetUnitEventRoom(0); + pUser->SetUserEventRoom(0); + } + + } + + if (m_sEventRoom == 0) + TempleEventReset(); +} +void CGameServerDlg::TempleEventGetActiveEventTime(CUser *pUser) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_EVENT, uint8(TEMPLE_EVENT)); + result << (uint16)pTempleEvent.ActiveEvent << m_nTempleEventRemainSeconds; + pUser->Send(&result); +} + +void CGameServerDlg::TempleEventSendActiveEventTime(CUser *pUser) +{ + if (pUser == nullptr) + return; + + + if (!pUser->isEventUser()) + { + TempleEventGetActiveEventTime(pUser); + return; + } + + Packet result(WIZ_EVENT, uint8(TEMPLE_EVENT_JOIN)); + result << uint8(1) << uint16(pTempleEvent.ActiveEvent); + pUser->Send(&result); + pUser->TempleOperations(TEMPLE_EVENT_COUNTER); +} + +void CGameServerDlg::TempleEventKickOutUser(CUser *pUser) +{ + if (pUser == nullptr + || !pUser->isInGame()) + return; + + uint8 nZoneID = 0; + + if (pUser->GetZoneID() == ZONE_BORDER_DEFENSE_WAR){ + if (pUser->GetLevel() < 35) + nZoneID = ZONE_MORADON; + else + nZoneID = pUser->GetNation(); + }else if (pUser->GetZoneID() == ZONE_CHAOS_DUNGEON) + { + if (pUser->GetLevel() < 35) + nZoneID = ZONE_MORADON; + else if (pUser->GetLevel() >= 35 && pUser->GetLevel() <=59) + nZoneID = ZONE_MORADON; + else if (pUser->GetLevel() >= 60 && pUser->GetLevel() <=69) + nZoneID = ZONE_MORADON; + else if (pUser->GetLevel() >= 70) + nZoneID = ZONE_MORADON; + } + else if (pUser->GetZoneID() == ZONE_JURAD_MOUNTAIN){ + nZoneID = pUser->GetNation() + 10; + } + if (nZoneID == 0) + return; + + _START_POSITION * pStartPosition = GetStartPosition(nZoneID); + + if (pStartPosition == nullptr) + { + TRACE("### TempleEventKickOutUser - StartPosition not found : Zone ID=%d",nZoneID); + return; + } + + pUser->ZoneChange(nZoneID, 0.0f,0.0f); +} + +void CGameServerDlg::TempleEventReset() +{ + pTempleEvent.ActiveEvent = -1; + pTempleEvent.ZoneID = 0; + pTempleEvent.LastEventRoom = 1; + pTempleEvent.StartTime = 0; + pTempleEvent.AllUserCount = 0; + pTempleEvent.KarusUserCount = 0; + pTempleEvent.ElMoradUserCount = 0; + pTempleEvent.isAttackable = false; + pTempleEvent.isActive = false; + + memset(pTempleEvent.DevaNation , 0 , sizeof(pTempleEvent.DevaNation)); + memset(pTempleEvent.isDevaControl , 0 , sizeof(pTempleEvent.isDevaControl)); + memset(pTempleEvent.isDevaFlag , 0 , sizeof(pTempleEvent.isDevaFlag)); + memset(pTempleEvent.KarusDeathCount , 0 , sizeof(pTempleEvent.KarusDeathCount)); + memset(pTempleEvent.ElmoDeathCount , 0 , sizeof(pTempleEvent.ElmoDeathCount)); + memset(pTempleEvent.m_sBdwMiniTimer , -1 , sizeof(pTempleEvent.m_sBdwMiniTimer)); + memset(pTempleEvent.m_sMiniTimerNation , -1 , sizeof(pTempleEvent.m_sMiniTimerNation)); + memset(pTempleEvent.KarusDeathRoom1 , 0 , sizeof(pTempleEvent.KarusDeathRoom1)); + memset(pTempleEvent.KarusDeathRoom2 , 0 , sizeof(pTempleEvent.KarusDeathRoom2)); + memset(pTempleEvent.KarusDeathRoom3 , 0 , sizeof(pTempleEvent.KarusDeathRoom3)); + memset(pTempleEvent.ElmoDeathRoom1 , 0 , sizeof(pTempleEvent.ElmoDeathRoom1)); + memset(pTempleEvent.ElmoDeathRoom2 , 0 , sizeof(pTempleEvent.ElmoDeathRoom2)); + memset(pTempleEvent.ElmoDeathRoom3 , 0 , sizeof(pTempleEvent.ElmoDeathRoom3)); + + m_TempleEventUserArray.DeleteAllData(); +} + +void CGameServerDlg::Announcement(uint16 type, int nation, int chat_type, CUser* pExceptUser, CNpc *pExpectNpc) +{ + string chatstr; + uint8 ZoneID = 0; + std::string sEventName; + + switch (type) + { + case BATTLEZONE_OPEN: + GetServerResource(IDP_BATTLEZONE_OPEN, &chatstr); + break; + case DECLARE_WINNER: + if (m_bVictory == KARUS) + GetServerResource(IDP_KARUS_VICTORY, &chatstr, m_sElmoradDead, m_sKarusDead); + else if (m_bVictory == ELMORAD) + GetServerResource(IDP_ELMORAD_VICTORY, &chatstr, m_sKarusDead, m_sElmoradDead); + else + return; + break; + case DECLARE_LOSER: + if (m_bVictory == KARUS) + GetServerResource(IDS_ELMORAD_LOSER, &chatstr, m_sKarusDead, m_sElmoradDead); + else if (m_bVictory == ELMORAD) + GetServerResource(IDS_KARUS_LOSER, &chatstr, m_sElmoradDead, m_sKarusDead); + else + return; + break; + case DECLARE_BAN: + if (m_bVictory == KARUS || m_bVictory == ELMORAD) + GetServerResource(IDS_BANISH_LOSER, &chatstr); + else + GetServerResource(IDS_BANISH_USER, &chatstr); + break; + case SNOW_BAN: + if (m_bVictory == KARUS || m_bVictory == ELMORAD) + GetServerResource(IDS_BANISH_LOSER, &chatstr); + else + GetServerResource(IDS_SNOWBATTLE_BANISH_USER, &chatstr); + break; + case DECLARE_BATTLE_ZONE_STATUS: + if (m_byBattleZone + ZONE_BATTLE_BASE == ZONE_BATTLE4) + { + GetServerResource(IDS_BATTLE_MONUMENT_STATUS, &chatstr, m_sKarusMonumentPoint, m_sElmoMonumentPoint, m_sKarusDead, m_sElmoradDead); + SendNotice(chatstr.c_str(), ZONE_BATTLE4, Nation::ALL, true); + } + else + GetServerResource(IDS_BATTLEZONE_STATUS, &chatstr, m_sKarusDead, m_sElmoradDead); + break; + case DECLARE_BATTLE_MONUMENT_STATUS: + if (pExceptUser) + { + GetServerResource(IDS_BATTLE_MONUMENT_WON_MESSAGE, &chatstr, GetBattleAndNationMonumentName(chat_type).c_str()); + g_pMain->SendNotice(chatstr.c_str(),pExceptUser->GetZoneID()); + GetServerResource(IDS_BATTLE_MONUMENT_LOST_MESSAGE, &chatstr, GetBattleAndNationMonumentName(chat_type).c_str()); + g_pMain->SendNotice(chatstr.c_str(),pExceptUser->GetZoneID()); + return; + } + break; + case DECLARE_NATION_MONUMENT_STATUS: + if (pExceptUser) + { + uint16 nTrapNumber = pExceptUser->GetZoneID() == ZONE_KARUS ? chat_type - LUFERSON_MONUMENT_SID : chat_type - ELMORAD_MONUMENT_SID; + + if ((pExceptUser->GetNation() == KARUS && pExceptUser->GetZoneID() == ELMORAD) || (pExceptUser->GetNation() == ELMORAD && pExceptUser->GetZoneID() == KARUS)) + { + GetServerResource(IDS_INFILTRATION_CONQUER, &chatstr, GetBattleAndNationMonumentName(nTrapNumber, pExceptUser->GetZoneID()).c_str()); + g_pMain->SendAnnouncement(chatstr.c_str()); + return; + } + else if ((pExceptUser->GetNation() == KARUS && pExceptUser->GetZoneID() == KARUS) || (pExceptUser->GetNation() == ELMORAD && pExceptUser->GetZoneID() == ELMORAD)) + { + GetServerResource(IDS_INFILTRATION_RECAPTURE, &chatstr, GetBattleAndNationMonumentName(nTrapNumber, pExceptUser->GetZoneID()).c_str()); + g_pMain->SendAnnouncement(chatstr.c_str()); + return; + } + return; + } + break; + case DECLARE_NATION_REWARD_STATUS: + if (pExpectNpc) + { + uint16 nTrapNumber = pExpectNpc->GetZoneID() == ZONE_KARUS ? chat_type - LUFERSON_MONUMENT_SID : chat_type - ELMORAD_MONUMENT_SID; + + GetServerResource(pExpectNpc->GetNation() == KARUS ? IDS_INFILTRATION_REWARD_KARUS : IDS_INFILTRATION_REWARD_ELMORAD, &chatstr, GetBattleAndNationMonumentName(nTrapNumber, pExpectNpc->GetZoneID()).c_str()); + g_pMain->SendAnnouncement(chatstr.c_str(), Nation::ALL); + return; + } + break; + case SNOW_BATTLEZONE_OPEN: + GetServerResource(IDS_SNOWBATTLE_OPEN, &chatstr); + break; + case UNDER_ATTACK_NOTIFY: + if (m_bVictory == KARUS) + GetServerResource(IDS_UNDER_ATTACK_ELMORAD, &chatstr, m_sKarusDead, m_sElmoradDead); + else if (m_bVictory == ELMORAD) + GetServerResource(IDS_UNDER_ATTACK_KARUS, &chatstr, m_sElmoradDead, m_sKarusDead); + else + return; + break; + case BATTLEZONE_CLOSE: + GetServerResource(IDS_BATTLE_CLOSE, &chatstr); + break; + case SNOW_BATTLEZONE_CLOSE: + GetServerResource(IDS_SNOWBATTLE_CLOSE, &chatstr); + break; + case KARUS_CAPTAIN_NOTIFY: + GetServerResource(IDS_KARUS_CAPTAIN, &chatstr, m_strKarusCaptain.c_str()); + break; + case ELMORAD_CAPTAIN_NOTIFY: + GetServerResource(IDS_ELMO_CAPTAIN, &chatstr, m_strElmoradCaptain.c_str()); + break; + case KARUS_CAPTAIN_DEPRIVE_NOTIFY: + if (pExceptUser) + { + CKnights *pKnights = g_pMain->GetClanPtr(pExceptUser->GetClanID()); + GetServerResource(IDS_KARUS_CAPTAIN_DEPRIVE, &chatstr, pKnights == nullptr ? "***" : pKnights->GetName().c_str(), pExceptUser->GetName().c_str()); + } + break; + case ELMORAD_CAPTAIN_DEPRIVE_NOTIFY: + if (pExceptUser) + { + CKnights *pKnights = g_pMain->GetClanPtr(pExceptUser->GetClanID()); + GetServerResource(IDS_ELMO_CAPTAIN_DEPRIVE, &chatstr, pKnights == nullptr ? "***" : pKnights->GetName().c_str(), pExceptUser->GetName().c_str()); + } + break; + case IDS_MONSTER_CHALLENGE_ANNOUNCEMENT: + GetServerResource(IDS_MONSTER_CHALLENGE_ANNOUNCEMENT, &chatstr, m_nForgettenTempleStartHour); + break; + case IDS_MONSTER_CHALLENGE_OPEN: + GetServerResource(IDS_MONSTER_CHALLENGE_OPEN, &chatstr); + break; + case IDS_MONSTER_CHALLENGE_START: + ZoneID = ZONE_FORGOTTEN_TEMPLE; + GetServerResource(IDS_MONSTER_CHALLENGE_START, &chatstr); + break; + case IDS_MONSTER_CHALLENGE_VICTORY: + ZoneID = ZONE_FORGOTTEN_TEMPLE; + GetServerResource(IDS_MONSTER_CHALLENGE_VICTORY, &chatstr); + break; + case IDS_MONSTER_CHALLENGE_CLOSE: + GetServerResource(IDS_MONSTER_CHALLENGE_CLOSE, &chatstr); + break; + case IDS_EVENT_ZONE_OPEN: + if (m_nEventZoneTime == 1) + sEventName = "Dark Land"; + else if (m_nEventZoneTime == 2) + sEventName = "Mini PVP Zone"; + else if (m_nEventZoneTime == 3) + sEventName = "Devils Square"; + else if (m_nEventZoneTime == 4) + sEventName = "Lost Castle"; + else if (m_nEventZoneTime == 6) + { + GetServerResource(IDS_JURAD_EVENT_OPEN, &chatstr, sEventName.c_str()); + break; + } + else if (m_nEventZoneTime == 5) + { + sEventName = "PVP Zone"; + GetServerResource(IDS_PVP_EVENT_ZONE_OPEN, &chatstr, sEventName.c_str()); + break; + } + + GetServerResource(IDS_EVENT_ZONE_OPEN, &chatstr, sEventName.c_str()); + break; + case IDS_EVENT_ZONE_START: + if (m_nEventZoneTime == 1) + { + ZoneID = ZONE_DARK_LAND; + sEventName = "Dark Land is infested of Demons. Rescue the city and fight for the Bosses!"; + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + else if (m_nEventZoneTime == 5) + { + ZoneID = ZONE_ARDREAM; + sEventName = "The first 3-ranked players(More NPs Gained) will receive award at the end. Go get the Monument and fight for the bosses!"; + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + else if (m_nEventZoneTime == 2) + { + std::string sNotRank; + ZoneID = ZONE_PVP_EVENT; + sEventName = "The first 3-ranked players(More NPs Gained) will receive award at the end. Go get the Monument and fight for the bosses!"; + sNotRank = "You can't see the rank on Mini PvP event but it is working!"; + SendNotice(sNotRank.c_str()); + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + else if (m_nEventZoneTime == 3) + { + ZoneID = ZONE_RONARK_LAND_BASE; + sEventName = "The first 3-ranked players(More NPs Gained) will receive award at the end. Go get the Monument and fight for the bosses!"; + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + else if (m_nEventZoneTime == 4) + { + ZoneID = ZONE_LOST_TEMPLE; + sEventName = "Lost Castle is a chaos domined by Rey Satanas. Kill him to get the award!"; + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + else if (m_nEventZoneTime == 6) + { + ZoneID = ZONE_JURAD_MOUNTAIN; + sEventName = "Get the keys to go to the end. And then kill Lucifer to get the award!"; + GetServerResource(IDS_EVENT_ZONE_START, &chatstr, sEventName.c_str()); + } + break; + case IDS_EVENT_ZONE_VICTO: + if (m_nEventZoneTime == 1) + sEventName = "Dark Land"; + else if (m_nEventZoneTime == 2) + sEventName = "Mini PVP Zone"; + else if (m_nEventZoneTime == 3) + sEventName = "Devils Square"; + else if (m_nEventZoneTime == 4) + sEventName = "Lost Castle"; + else if (m_nEventZoneTime == 5) + sEventName = "PVP Zone"; + else if (m_nEventZoneTime == 6) + sEventName = "Jurad Mountain"; + + GetServerResource(IDS_EVENT_ZONE_VICTO, &chatstr, sEventName.c_str()); + break; + case IDS_EVENT_ZONE_CLOSE: + if (m_nEventZoneTime == 1) + sEventName = "Dark Land"; + else if (m_nEventZoneTime == 2) + sEventName = "Mini PVP Zone"; + else if (m_nEventZoneTime == 3) + sEventName = "Devils Square"; + else if (m_nEventZoneTime == 4) + sEventName = "Lost Castle"; + else if (m_nEventZoneTime == 5) + sEventName = "PVP Zone"; + else if (m_nEventZoneTime == 6) + sEventName = "Jurad Mountain"; + + GetServerResource(IDS_EVENT_ZONE_CLOSE, &chatstr, sEventName.c_str()); + break; + case IDS_SIEGE_WAR_READY_TIME_NOTICE: + GetServerResource(IDS_SIEGE_WAR_READY_TIME_NOTICE, &chatstr, m_SiegeWarNoticeTime); + break; + case IDS_SIEGE_WAR_TIME_NOTICE: + GetServerResource(IDS_SIEGE_WAR_TIME_NOTICE, &chatstr, m_SiegeWarNoticeTime); + break; + case IDS_SIEGE_WAR_START: + GetServerResource(IDS_SIEGE_WAR_START, &chatstr); + break; + case IDS_SIEGE_WAR_END: + GetServerResource(IDS_SIEGE_WAR_END, &chatstr); + break; + case IDS_NPC_GUIDON_DESTORY: + GetServerResource(IDS_NPC_GUIDON_DESTORY, &chatstr, m_SiegeWarWinKnightsNotice.c_str()); + break; + case IDS_SIEGE_WAR_VICTORY: + GetServerResource(IDS_SIEGE_WAR_VICTORY, &chatstr, m_SiegeWarWinKnightsNotice.c_str()); + break; + case IDS_JURAD_EVENT_OPEN: + GetServerResource(IDS_JURAD_EVENT_OPEN, &chatstr); + break; + } + + Packet result; + string finalstr; + GetServerResource(IDP_ANNOUNCEMENT, &finalstr, chatstr.c_str()); + ChatPacket::Construct(&result, (uint8) chat_type, &finalstr); + Send_All(&result, nullptr, nation, ZoneID); +} + + +/** +* @brief Loads the specified user's NP ranks +* from the rankings tables. +* +* @param pUser The user. +*/ +void CGameServerDlg::GetUserRank(CUser *pUser) +{ + // Acquire the lock for thread safety + //Guard lock(m_userRankingsLock); + + // Get character's name & convert it to upper case for case insensitivity + string strUserID = pUser->GetName(); + STRTOUPPER(strUserID); + + // Grab the personal rank from the map, if applicable. + UserNameRankMap::iterator itr = m_UserPersonalRankMap.find(strUserID); + pUser->m_bPersonalRank = itr != m_UserPersonalRankMap.end() ? int8(itr->second->nRank) : -1; + + // Grab the knights rank from the map, if applicable. + itr = m_UserKnightsRankMap.find(strUserID); + pUser->m_bKnightsRank = itr != m_UserKnightsRankMap.end() ? int8(itr->second->nRank) : -1; +} + +uint16 CGameServerDlg::GetKnightsAllMembers(uint16 sClanID, Packet & result, uint16 & pktSize, bool bClanLeader) +{ + CKnights* pKnights = GetClanPtr(sClanID); + if (pKnights == nullptr) + return 0; + + uint16 count = 0; + foreach_array (i, pKnights->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pKnights->m_arKnightsUser[i]; + + if (!p->byUsed) + continue; + + CUser* pCurrent = p->pSession; + + if(pCurrent == nullptr) + { + if(p->m_lastLogined == 0) + g_DBAgent.GetClanUserData(sClanID,pKnights->m_arKnightsUser[i]); + + uint32 HesaplaGun = 1; + HesaplaGun = ((uint32(UNIXTIME) - (p->m_lastLogined))/ 3600); + result << p->strUserName << uint16(p->m_sFame) << p->m_bLevel << p->m_sClass << uint8(0) << p->strUserMemo << uint32(HesaplaGun); + + } + else + { + result << pCurrent->GetName() << uint16(pCurrent->GetFame()) << pCurrent->GetLevel() << pCurrent->m_sClass << uint8(pCurrent->isInGame() ? 1 : 0) << pCurrent->m_strMemo << uint32(UNIXTIME - p->m_lastLogin); + } + count++; + } + + return count; +} +/** +* @brief Calculates the clan grade from the specified +* loyalty points (NP). +* +* @param nPoints Loyalty points (NP). +* The points will be converted to clan points +* by this method. +* +* @return The clan grade. +*/ +int CGameServerDlg::GetKnightsGrade(uint32 nPoints) +{ + uint32 nClanPoints = nPoints; + + if (nClanPoints >= m_Grade1) + return 1; + else if (nClanPoints >= m_Grade2) + return 2; + else if (nClanPoints >= m_Grade3) + return 3; + else if (nClanPoints >= m_Grade4) + return 4; + + return 5; +} + +/** +* @brief Disconnects all players in the server. +* +* @return The number of users who were in-game. +*/ +int CGameServerDlg::KickOutAllUsers() +{ + int count = 0; + + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + if (pUser->isInGame()) + count++; + + if(!g_pMain->OfflineMerchanting && !pUser->OfflineMerchant) + pUser->Disconnect(); + Sleep(100); + } + return count; +} + +/** +* @brief Generates a new item serial. +*/ +uint64 CGameServerDlg::GenerateItemSerial() +{ + static std::recursive_mutex _mutex; + + MYINT64 serial; + MYSHORT increase; + serial.i = 0; + + time_t t = UNIXTIME; + struct tm * ptm; + ptm = gmtime(&t); + + Guard lock(_mutex); + increase.w = g_increase_serial++; + + serial.b[7] = (uint8)(m_nServerNo); + serial.b[6] = (uint8)(ptm->tm_year % 100); + serial.b[5] = (uint8)(ptm->tm_mon); + serial.b[4] = (uint8)(ptm->tm_mday); + serial.b[3] = (uint8)(ptm->tm_hour); + serial.b[2] = (uint8)(ptm->tm_min); + serial.b[1] = increase.b[1]; + serial.b[0] = increase.b[0]; + + return serial.i; +} + +/** +* @brief Kick out all users from the specified zone +* to their home zone. +* +* @param zone The zone to kick users out from. +*/ +void CGameServerDlg::KickOutZoneUsers(uint8 ZoneID, uint8 TargetZoneID, uint8 bNation) +{ + // TODO: Make this localised to zones. + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + C3DMap *pKarusMap = GetZoneByID(KARUS), + *pElMoradMap = GetZoneByID(ELMORAD); + + ASSERT (pKarusMap != nullptr && pElMoradMap != nullptr); + + BOOST_FOREACH (auto itr, sessMap) + { + // Only kick users from requested zone. + CUser * pUser = TO_USER(itr.second); + if (!pUser->isInGame() + || pUser->GetZoneID() != ZoneID) + continue; + + if (TargetZoneID > 0 && bNation == pUser->GetNation()) + { + pUser->ZoneChange(TargetZoneID, 0.0f,0.0f); + continue; + } + else if (TargetZoneID > 0 && bNation == ALL) + { + pUser->ZoneChange(TargetZoneID, 0.0f,0.0f); + continue; + } + + C3DMap * pMap = (pUser->GetNation() == KARUS ? pKarusMap : pElMoradMap); + if(TargetZoneID == 0) + pUser->ZoneChange(pMap->m_nZoneNumber, pMap->m_fInitX, pMap->m_fInitZ); + } +} + +void CGameServerDlg::SendItemZoneUsers(uint8 ZoneID, uint32 nItemID, uint16 sCount /*= 1*/, uint32 Time/*= 0*/) +{ + // TO-DO: Make this localised to zones. + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (!pUser->isInGame() + || pUser->GetZoneID() != ZoneID) + continue; + + pUser->GiveItem(nItemID, sCount, true, Time); + } +} + +void CGameServerDlg::SendItemEventRoom(uint16 nEventRoom,uint32 nItemID, uint16 sCount /*= 1*/) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (!pUser->isInGame() + || pUser->GetEventRoom() != nEventRoom) + continue; + + pUser->GiveItem(nItemID, sCount); + } +} + +void CGameServerDlg::Send_CommandChat(Packet *pkt, int nation, CUser* pExceptUser) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser->isInGame() && (nation == 0 || nation == pUser->GetNation())) + pUser->Send(pkt); + } +} + +/** +* @brief Sends the flying santa/angel packet to all users in the server. +*/ +void CGameServerDlg::SendFlyingSantaOrAngel() +{ + Packet result(WIZ_SANTA, uint8(m_bSantaOrAngel)); + Send_All(&result); +} + +CGameServerDlg::~CGameServerDlg() +{ + printf("Waiting for timer threads to exit..."); + BOOST_FOREACH (auto itr, g_timerThreads) + { + (itr)->waitForExit(); + delete (itr); + } + printf(" exited.\n"); + + // Cleanup our script pool & consequently ensure all scripts + // finish execution before proceeding. + // This prevents us from freeing data that's in use. + printf("Shutting down Lua engine..."); + m_luaEngine.Shutdown(); + printf(" done.\n"); + + printf("Shutting down database system..."); + DatabaseThread::Shutdown(); + printf(" done.\n"); + + + printf("Shutting down socket system..."); + m_aiSocketMgr.Shutdown(); + m_socketMgr.Shutdown(); + printf(" done.\n"); + + CUser::CleanupChatCommands(); + CGameServerDlg::CleanupServerCommands(); + + CleanupUserRankings(); + m_LevelUpArray.clear(); + + if (m_fpDeathUser != nullptr) + fclose(m_fpDeathUser); + + if (m_fpDeathNpc != nullptr) + fclose(m_fpDeathNpc); + + if (m_fpMerchant != nullptr) + fclose(m_fpMerchant); + + if (m_fpTrade != nullptr) + fclose(m_fpTrade); + + if (m_fpChat != nullptr) + fclose(m_fpChat); + + if (m_fpGM != nullptr) + fclose(m_fpGM); + + if (m_upgradelog != nullptr) + fclose(m_upgradelog); + + if (m_fpCheat != nullptr) + fclose(m_fpCheat); +} + +std::string CGameServerDlg::GetBattleAndNationMonumentName(int16 TrapNumber, uint8 ZoneID) +{ + std::string sMonumentName = ZoneID == 0 ? "Nereid Monument" : "DECLARE_NATION_MONUMENT_STATUS"; + + if (ZoneID == 0) + { + if (TrapNumber == 1) + sMonumentName = "El Morad main territory"; + else if (TrapNumber == 2) + sMonumentName = "El Morad provision line"; + else if (TrapNumber == 3) + sMonumentName = "Lake of Life"; + else if (TrapNumber == 4) + sMonumentName = "Foss Castle"; + else if (TrapNumber == 5) + sMonumentName = "Karus main territory"; + else if (TrapNumber == 6) + sMonumentName = "Karus provision line"; + else if (TrapNumber == 7) + sMonumentName = "Swamp of Shadows"; + } + else + { + if (ZoneID == ZONE_KARUS && TrapNumber == 1) + TrapNumber = 2; + else if (ZoneID == ZONE_KARUS && TrapNumber == 2) + TrapNumber = 1; + + if (TrapNumber == 0) + sMonumentName = string_format("%s Monument", ZoneID == ZONE_KARUS ? "Luferson" : "El Morad"); + else if (TrapNumber == 1) + sMonumentName = string_format("%s Monument", ZoneID == ZONE_KARUS ? "Bellua" : "Asga Village"); + else if (TrapNumber == 2) + sMonumentName = string_format("%s Monument", ZoneID == ZONE_KARUS ? "Linate" : "Raiba Village"); + else if (TrapNumber == 3) + sMonumentName = string_format("%s Monument", ZoneID == ZONE_KARUS ? "Laon Camp" : "Dodo Camp"); + } + + return sMonumentName; +} +bool CGameServerDlg::CastleSiegeWarAttack(CUser *pUser, CUser *pTargetUser) +{ + + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnightsMaster = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + + if (pUser == nullptr + || pTargetUser == nullptr) + return false; + + CKnights *pClan1 = g_pMain->GetClanPtr(pUser->GetClanID()); + CKnights *pClan2 = g_pMain->GetClanPtr(pTargetUser->GetClanID()); + + if (pClan1 == nullptr + || pClan2 == nullptr) + return false; + + if (pUser->GetClanID() == pTargetUser->GetClanID() + || pUser->GetZoneID () != pTargetUser->GetZoneID() + || CKnightsManager::CheckAlliance(pClan1 , pClan2)) + return false; + + if(pKnightsMaster != nullptr // Kale sahibi varsa ve + && (pUser->GetClanID() != pKnightsMaster->GetID() // Atack yapan Kale sahibi clanda değilse + && pTargetUser->GetClanID() != pKnightsMaster->GetID()))// ve Atack yapılan Kale sahibi clanda değilse + return false; + + return true; +} +void CGameServerDlg::CheckNationMonumentRewards() +{ + std::vector deleted; + + foreach_stlmap_nolock (itr, m_NationMonumentInformationArray) + { + if (int32(UNIXTIME) - itr->second->RepawnedTime < 20) + continue; + + CNpc *pNpc = GetNpcPtr(itr->second->sNid); + + if (pNpc == nullptr) + { + deleted.push_back(itr->second->sSid); + continue; + } + + uint16 nTrapNumber = pNpc->GetZoneID() == ZONE_KARUS ? itr->second->sSid - LUFERSON_MONUMENT_SID : itr->second->sSid - ELMORAD_MONUMENT_SID; + + std::vector distributed_member; + std::vector unitList; + g_pMain->GetUnitListFromSurroundingRegions(pNpc, &unitList); + + BOOST_FOREACH (auto itrx, unitList) + { + Unit * pTarget = g_pMain->GetUnitPtr(itrx); + + if(pTarget == nullptr + || pTarget->isNPC() + || pTarget->GetNation() == pNpc->GetZoneID()) + continue; + + if (pTarget->GetNation() == pNpc->GetNation() && pTarget->isInRangeSlow(pNpc,50.0f)) + distributed_member.push_back(pTarget); + } + + BOOST_FOREACH (auto itry, distributed_member) + { + Unit * pTarget = itry; + + if(pTarget == nullptr || pTarget->isNPC() || pTarget->GetNation() == pNpc->GetZoneID()) + continue; + + g_pMain->m_lastBlessTime = UNIXTIME; + TO_USER(pTarget)->SendLoyaltyChange(nTrapNumber == 0 ? 200 : 50); + Announcement(DECLARE_NATION_REWARD_STATUS, Nation::ALL, itr->second->sSid, nullptr, pNpc); + ShowNpcEffect(itr->second->sNid,20100,pNpc->GetZoneID(),pNpc->GetEventRoom()); + } + } + + BOOST_FOREACH (auto itr, deleted) + g_pMain->m_NationMonumentInformationArray.DeleteData(itr); +} + + +void CGameServerDlg::ShowNpcEffect(uint16 sNpcID, uint32 nEffectID, uint8 ZoneID, uint16 EventRoom) +{ + Packet result(WIZ_OBJECT_EVENT, uint8(OBJECT_NPC)); + result << uint8(3) << sNpcID << nEffectID; + g_pMain->Send_Zone(&result, ZoneID,nullptr,Nation::ALL,EventRoom); +} + +void CGameServerDlg::WriteDeathUserLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpDeathUser); + fflush(m_fpDeathUser); +} + +void CGameServerDlg::WriteDeathNpcLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpDeathNpc); + fflush(m_fpDeathNpc); +} + + +void CGameServerDlg::WriteMerchantUserLogFile(string & logMessage) +{ + string logMessageEnd; + DateTime time; + logMessageEnd = string_format(_T("[ %d:%d:%d ] %s\n"),time.GetHour(),time.GetMinute(),time.GetSecond(),logMessage.c_str()); + + fwrite(logMessageEnd.c_str(), logMessageEnd.length(), 1, m_fpMerchant); + fflush(m_fpMerchant); +} + +void CGameServerDlg::WriteTradeUserLogFile(string & logMessage) +{ + string logMessageEnd; + DateTime time; + logMessageEnd = string_format(_T("[ %d:%d:%d ] %s\n"),time.GetHour(),time.GetMinute(),time.GetSecond(),logMessage.c_str()); + + fwrite(logMessageEnd.c_str(), logMessageEnd.length(), 1, m_fpTrade); + fflush(m_fpTrade); +} + + +void CGameServerDlg::WriteChatLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpChat); + fflush(m_fpChat); +} + +void CGameServerDlg::WriteGMLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpGM); + fflush(m_fpGM); +} + +void CGameServerDlg::WriteUpgradeLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_upgradelog); + fflush(m_upgradelog); +} + +void CGameServerDlg::WriteCheatLogFile(string & logMessage) +{ + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpCheat); + fflush(m_fpCheat); +} + +bool CGameServerDlg::IsDuplicateItem(uint32 nItemID, uint64 nItemSerial) +{ + return false; + + if (nItemID <= 0 || nItemSerial <= 0) + return false; + + _USER_ITEM * pUserItem = g_pMain->m_UserItemArray.GetData(nItemID); + + if (pUserItem == nullptr) + return false; + + uint32 nDuplicateCount = 0; + + BOOST_FOREACH(auto itr, pUserItem->nItemSerial) + { + if (itr == nItemSerial) + nDuplicateCount++; + + if (nDuplicateCount > 1) + return true; + } + + return false; +} + +void CGameServerDlg::AddUserItem(uint32 nItemID, uint64 nItemSerial) +{ + if (nItemID <= 0 || nItemSerial <= 0) + return; + + Guard lock(g_pMain->m_UserItemArray.m_lock); + _USER_ITEM * pUserItem = g_pMain->m_UserItemArray.GetData(nItemID); + + if (pUserItem == nullptr) + { + pUserItem = new _USER_ITEM; + pUserItem->nItemID = nItemID; + pUserItem->nItemSerial.push_back(nItemSerial); + + if (!g_pMain->m_UserItemArray.PutData(pUserItem->nItemID,pUserItem)) + delete pUserItem; + } + else + pUserItem->nItemSerial.push_back(nItemSerial); +} + +void CGameServerDlg::ReloadKnightAndUserRanks() +{ + g_DBAgent.UpdateRanks(); + + // Update clan grades/rankings + m_KnightsRatingArray[KARUS_ARRAY].DeleteAllData(); + m_KnightsRatingArray[ELMORAD_ARRAY].DeleteAllData(); + + ReloadAllKnights(true); + LoadKnightsRankTable(false, true); + + // Update user rankings + CleanupUserRankings(); + LoadUserRankings(); +} + +void CGameServerDlg::SetPlayerRankingRewards(uint16 ZoneID) +{ + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pUser = TO_USER(itr.second); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->isGM() + || pUser->GetZoneID() != ZoneID) + continue; + + if (pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) > 0 + && pUser->GetPlayerRank(RANK_TYPE_PK_ZONE) <= 10) + { + if (m_nPlayerRankingLoyaltyReward > 0) + pUser->SendLoyaltyChange(m_nPlayerRankingLoyaltyReward, false, true, false); + if (m_nPlayerRankingKnightCashReward > 0) + g_DBAgent.UpdateAccountKnightCash(pUser->GetAccountName(), m_nPlayerRankingKnightCashReward); + } + } +} +void CGameServerDlg::TerminationFinish() +{ + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + { + Packet bresult(WIZ_EVENT); + bresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(0) << uint8(20) << uint32(0); + + Packet cresult(WIZ_EVENT); + cresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + + Packet dresult(WIZ_EVENT); + dresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(1) << uint8(0) + << uint8(2) << uint8(20) << uint32(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + if (pUser == nullptr || !pUser->isInGame()) + continue; + + if (g_pMain->pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] == pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] && g_pMain->pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] == pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()]) + g_pMain->Send_Zone(&bresult, ZONE_BORDER_DEFENSE_WAR, pUser, Nation::ALL, pUser->GetEventRoom()); + + if (pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] > pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == KARUS) + g_pMain->Send_Zone(&cresult, ZONE_BORDER_DEFENSE_WAR, pUser, Nation::ALL, pUser->GetEventRoom()); + + if (pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] > pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == ELMORAD) + g_pMain->Send_Zone(&dresult, ZONE_BORDER_DEFENSE_WAR, pUser, Nation::ALL, pUser->GetEventRoom()); + + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS) + { + Packet bresult(WIZ_EVENT); + bresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr || !pUser->isInGame()) + continue; + + g_pMain->Send_Zone(&bresult, ZONE_CHAOS_DUNGEON, pUser, Nation::ALL, pUser->GetEventRoom()); + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + Packet bresult(WIZ_EVENT); + bresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(0) << uint8(20) << uint32(0); + + Packet cresult(WIZ_EVENT); + cresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(2) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + + Packet dresult(WIZ_EVENT); + dresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(1) << uint8(0) + << uint8(2) << uint8(20) << uint32(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr || !pUser->isInGame()) + continue; + + if (g_pMain->pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] == pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] && g_pMain->pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] == pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()]) + g_pMain->Send_Zone(&bresult, ZONE_JURAD_MOUNTAIN, pUser, Nation::ALL, pUser->GetEventRoom()); + + if (pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] > pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == KARUS) + g_pMain->Send_Zone(&cresult, ZONE_JURAD_MOUNTAIN, pUser, Nation::ALL, pUser->GetEventRoom()); + + if (pTempleEvent.KarusDeathCount[pUser->GetEventRoom()] > pTempleEvent.ElmoDeathCount[pUser->GetEventRoom()] && pUser->GetNation() == ELMORAD) + g_pMain->Send_Zone(&dresult, ZONE_JURAD_MOUNTAIN, pUser, Nation::ALL, pUser->GetEventRoom()); + } + } +} +void CGameServerDlg::TerminitionTime(uint8 sNewZone,uint16 Time) +{ + if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + Packet Inventory(WIZ_EVENT); + Inventory << uint8(1); // Inventory Kontrol. + Packet aresult(WIZ_SELECT_MSG); + aresult << uint16(0) << uint8(7) + << uint32(0) << uint32(0) + << uint8(7) << uint16(0) + << uint8(0) << uint8(0x07) + << Time << uint16(0); + + Packet bresult(WIZ_BIFROST); + bresult << uint8(0x05) << Time; + + Packet cresult(WIZ_EVENT); + cresult << uint8(0x03) << uint32(0) << uint32(0) << uint32(0x05008504) << uint8(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + if (pUser == nullptr || !pUser->isInGame()) + continue; + + cresult << pUser->GetName(); + } + cresult << uint32(0); + + foreach_stlmap_nolock(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + if (pUser == nullptr || !pUser->isInGame()) + continue; + + pUser->Send(&Inventory); + pUser->Send(&aresult); + pUser->Send(&bresult); + pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom()); + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR) + { + Packet Inventory(WIZ_EVENT); + Inventory << uint8(1); // Inventory Kontrol. + + Packet aresult(WIZ_SELECT_MSG); + aresult << uint16(0) << uint8(7) + << uint32(0) << uint32(0) + << uint8(8) << uint16(0) + << uint8(0) << uint8(0x07) + << Time << uint16(0); + + Packet bresult(WIZ_BIFROST); + bresult << uint8(0x05) << Time; + + Packet cresult(WIZ_EVENT); + cresult << uint8(0x03) << uint32(0) << uint32(0) << uint32(0x05008504) << uint8(0); + + foreach_stlmap(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr || !pUser->isInGame()) + continue; + + cresult << pUser->GetName(); + } + cresult << uint32(0); + + foreach_stlmap_nolock(itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr || !pUser->isInGame()) + continue; + + pUser->Send(&Inventory); + pUser->Send(&aresult); + pUser->Send(&bresult); + pUser->SendToRegion(&cresult,nullptr,pUser->GetEventRoom()); + } + } + else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS) + { + Packet aresult(WIZ_SELECT_MSG); + aresult << uint16(0) << uint8(7) + << uint32(0) << uint32(0) + << uint8(9) << uint16(0) + << uint8(0) << uint8(0x18) + << Time << uint16(0); + + Packet bresult(WIZ_BIFROST); + bresult << uint8(0x05) << Time; + + foreach_stlmap (itr, m_TempleEventUserArray) + { + CUser * pUser = GetUserPtr(itr->second->m_socketID); + + if (pUser == nullptr || !pUser->isInGame()) + continue; + + pUser->Send(&aresult); + pUser->Send(&bresult); + } + } +} +void CGameServerDlg::UpdateSiege(int16 m_sCastleIndex, int16 m_sMasterKnights, int16 m_bySiegeType, int16 m_byWarDay, int16 m_byWarTime, int16 m_byWarMinute) +{ + g_DBAgent.UpdateSiege(m_sCastleIndex, m_sMasterKnights, m_bySiegeType, m_byWarDay, m_byWarTime, m_byWarMinute); +} + +void CGameServerDlg::UpdateSiegeTax(uint8 Zone, int16 ZoneTarrif) +{ + g_DBAgent.UpdateSiegeTax(Zone, ZoneTarrif); +} +void CGameServerDlg::Send_Noah_Knights(Packet *pkt) +{ + for(int i=0 ; iGetLevel() > 50 ) + continue; + + pUser->Send(pkt); + } +} + +void CGameServerDlg::LunarGoldShells(CUser *pUser) +{ + if (pUser != nullptr) + { + Packet result(WIZ_MAP_EVENT); + result << uint8(9) << uint8(1); + + pUser->Send(&result); + return; + } + + Packet result(WIZ_MAP_EVENT); + result << uint8(9) << uint8(1); //wiz_map_event , 9 gold shell , 1 giydir + Send_All(&result); +} + + +void CGameServerDlg::DeleteLunarGoldShells() +{ + Packet result(WIZ_MAP_EVENT); + result << uint8(9) << uint8(0); //wiz_map_event , 9 gold shell , 0 sildir + Send_All(&result); +} + +void CGameServerDlg::NereidsMonumentEvent(uint8 TrapNumber, uint8 bNation, CUser * pUser) +{ + Packet result(WIZ_MAP_EVENT); + result << uint8(0) << uint8(7); + + + if (pUser == nullptr) + { + uint8 MonumentID = TrapNumber; + m_sNereidsMonumentNation[MonumentID] = bNation; + } + + for (int i = 0; i < 7; i++) + result << m_sNereidsMonumentNation[i]; + + if(pUser != nullptr) + pUser->Send(&result); + else + Send_Zone(&result,ZONE_BATTLE4); +} \ No newline at end of file diff --git a/server/GameServer/GameServerDlg.h b/server/GameServer/GameServerDlg.h new file mode 100644 index 0000000..fe9e229 --- /dev/null +++ b/server/GameServer/GameServerDlg.h @@ -0,0 +1,828 @@ +#pragma once + +#ifdef GAMESERVER + +#include "resource.h" +#include "LuaEngine.h" + +#include "Define.h" +#include "ChatHandler.h" + +class C3DMap; +class CUser; +class CBot; + + +#include "LoadServerData.h" + +#include "User.h" +#include "Bot.h" +#include "Pet.h" +#include "AISocket.h" +#include "../shared/ClientSocketMgr.h" + +typedef std::map NameMap; +typedef std::map BotNameMap; +typedef std::map ForgettenTempleMonsterList; + +class CGameServerDlg +{ +public: + CGameServerDlg(); + bool Startup(); + + void GetTimeFromIni(); + bool WordGuardSystem(std::string Word, uint8 WordStr); + uint8 GetTariffByZone(int zoneid); + bool LoadItemTable(); + bool LoadItemDuper(); + bool LoadIlegalItems(); + bool LoadSetItemTable(); + bool LoadAchieveMonsterTable(); + bool LoadAchieveComTable(); + bool LoadAchieveMainTable(); + bool LoadAchieveNormalTable(); + bool LoadAchieveWarTable(); + bool LoadAchieveTitleTable(); + bool LoadItemMiningTable(); + bool LoadItemExchangeTable(); + bool LoadItemExchangeExpTable(); + bool LoadItemMixTable(); + bool LoadItemUpgradeTable(); + bool LoadItemOpTable(); + bool LoadServerResourceTable(); + bool LoadQuestHelperTable(); + bool LoadQuestMonsterTable(); + bool LoadMagicTable(); + bool LoadMagicType1(); + bool LoadMagicType2(); + bool LoadMagicType3(); + bool LoadMagicType4(); + bool LoadMagicType5(); + bool LoadMagicType6(); + bool LoadMagicType7(); + bool LoadMagicType8(); + bool LoadMagicType9(); + bool LoadItemCrashTable(); + bool LoadRentalList(); + bool LoadCoefficientTable(); + bool LoadLevelUpTable(); + bool LoadPetLevelUpTable(); + bool LoadAllKnights(bool bIsslient = false); + bool ReloadAllKnights(bool bIsslient = false); + bool LoadAllKnightsUserData(bool bIsslient = false); + bool LoadKnightsAllianceTable(bool bIsslient = false); + bool LoadKnightsSiegeWarsTable(); + bool LoadUserRankings(); + void CleanupUserRankings(); + bool LoadKnightsCapeTable(); + bool LoadKnightsRankTable(bool bWarTime = false, bool bIsslient = false); + bool LoadStartPositionTable(); + bool LoadStartPositionRandomTable(); + bool LoadBattleTable(); + bool LoadKingSystem(); + bool LoadMonsterSummonListTable(); + bool LoadMonsterSummonListZoneTable(); + bool LoadMonsterRespawnListTable(); + bool LoadMonsterRespawnListInformationTable(); + bool LoadMonsterRespawnListRandomTable(); + bool LoadPremiumItemTable(); + bool LoadPremiumItemExpTable(); + bool LoadPetTable(); + bool LoadBotTable(); + bool LoadCypherRingTable(); + bool LoadUserDailyOpTable(); + bool LoadEventTriggerTable(); + bool LoadMonsterChallengeTable(); + bool LoadEventTimesTable(); + bool LoadMonsterChallengeSummonListTable(); + bool LoadUserItemTable(); + bool LoadObjectPosTable(); + + bool MapFileLoad(); + bool LoadNoticeData(); + bool LoadNoticeUpData(); + + void AIServerConnect(); + + static uint32 THREADCALL Timer_CheckGameEvents(void * lpParam); + static uint32 THREADCALL Timer_BifrostTime(void * lpParam); + static uint32 THREADCALL Timer_UpdateGameTime(void * lpParam); + static uint32 THREADCALL Timer_UpdateSessions(void * lpParam); + static uint32 THREADCALL Timer_UpdateConcurrent(void * lpParam); + + void ReqUpdateConcurrent(); + + void SendFlyingSantaOrAngel(); + void Send_CommandChat(Packet *pkt, int nation , CUser* pExceptUser = nullptr); + void SendItemZoneUsers(uint8 ZoneID, uint32 nItemID, uint16 sCount = 1, uint32 Time = 0); + void KickOutZoneUsers(uint8 ZoneID, uint8 TargetZoneID = 0, uint8 bNation = Nation::ALL); + void SendItemEventRoom(uint16 nEventRoom,uint32 nItemID, uint16 sCount = 1); + uint64 GenerateItemSerial(); + int KickOutAllUsers(); + void CheckAliveUser(); + int GetKnightsGrade(uint32 nPoints); + void WritePacketLog(); + uint16 GetKnightsAllMembers(uint16 sClanID, Packet & result, uint16 & pktSize, bool bClanLeader); + void GetUserRank(CUser *pUser); + void Announcement(uint16 type, int nation= Nation::ALL, int chat_type=8, CUser* pExceptUser = nullptr, CNpc *pExpectNpc = nullptr); + void SnowBanishLosers(); + void SnowBattleZoneClose(); + void SnowBattleZoneOpenTimer(); + void ResetBattleZone(); + void BanishLosers(); + void BattleZoneVictoryCheck(); + void BattleZoneOpenTimer(); + void BattleZoneOpen(int nType, uint8 bZone = 0); + void CastleSiegeWarZoneOpen(int nType, uint8 bZone = 0); + void BattleZoneClose(); + void BattleZoneResult(uint8 nation); + void BattleWinnerResult(BattleWinnerTypes winnertype); + void AliveUserCheck(); + void TerminationFinish(); + void Send_PartyMember(int party, Packet *result); + void Send_KnightsMember(int index, Packet *pkt); + void Send_KnightsAlliance(uint16 sAllianceID, Packet *pkt); + void SetGameTime(); + void ResetPlayerRankings(uint8 ZoneID = 0); + void UpdateWeather(); + void UpdateGameTime(); + void ResetLoyaltyMonthly(); + void SendAllUserInfo(); + void DeleteAllNpcList(int flag = 0); + CNpc* FindNpcInZone(uint16 sPid, uint8 byZone); + CNpc* UpdateNpc(); + void ForgettenTempleEventTimer(); + void AutoNoticeEventTimer(); + uint8 GetMonsterChallengeTime(); + void EventZoneTimer(); + + int32 m_byEventTime; + int32 m_byEventRemainingTime; + int32 m_sEventTimeDelay; + int32 m_byEventOpenedTime; + void ArdreamEventOpen(); + bool OpenArdream; + void CZEventOpen(); + bool OpenCZ; + void ArdreamEventZoneClose(); + void CZEventZoneClose(); + void CheckEventTime(); + + + time_t m_lastBlessTime; + time_t m_lastBorderTime; + uint8 GetEventZoneTime(); + void TempleEventTimer(); + void TempleEventStart(); + void JuraidTempleEventStart(); + void TempleEventTeleportUsers(); + uint8 TempleEventGetRoomUsers(uint16 nEventRoom = 0,uint8 nNation = 0); + void MonsterStoneSummon(uint16 EventRoom, uint8 ZoneID); + void TempleEventSummon(); + void TempleEventFinish(uint16 m_sEventRoom = 0, uint8 m_bNation = 0); + void TempleEventGetActiveEventTime(CUser *pUser); + void TempleEventSendActiveEventTime(CUser *pUser); + void TempleEventKickOutUser(CUser *pUser); + void TempleEventReset(); + void AddEventUser(CUser * pUser); + void Send_Noah_Knights(Packet *pkt); + void LunarGoldShells(CUser *pUser = nullptr); + void NereidsMonumentEvent(uint8 TrapNumber = 0, uint8 bNation = 0, CUser * pUser = nullptr); + void DeleteLunarGoldShells(); + void RemoveEventUser(CUser * pUser); + void UpdateEventUser(CUser * pUser, uint16 nEventRoom = 0); + void SetEventUser(CUser *pUser); + std::string GetBattleAndNationMonumentName(int16 TrapNumber = -1, uint8 ZoneID = 0); + void CheckNationMonumentRewards(); + bool IsBusy1[MAX_MONSTER_STONE_EVENT_ROOM]; + uint32 Zone1[MAX_MONSTER_STONE_EVENT_ROOM]; + uint32 Zone2[MAX_MONSTER_STONE_EVENT_ROOM]; + uint32 Zone3[MAX_MONSTER_STONE_EVENT_ROOM]; + uint8 Zone1Family[MAX_MONSTER_STONE_EVENT_ROOM]; + uint8 Zone2Family[MAX_MONSTER_STONE_EVENT_ROOM]; + uint8 Zone3Family[MAX_MONSTER_STONE_EVENT_ROOM]; + uint16 Zone1Boss[MAX_MONSTER_STONE_EVENT_ROOM]; + uint16 Zone2Boss[MAX_MONSTER_STONE_EVENT_ROOM]; + uint16 Zone3Boss[MAX_MONSTER_STONE_EVENT_ROOM]; + bool IsBusy2[MAX_MONSTER_STONE_EVENT_ROOM]; + bool IsBusy3[MAX_MONSTER_STONE_EVENT_ROOM]; + uint32 KCmiktari,KCmiktari2; + uint32 LastPetID; + uint32 LastRingID; + bool KCaktifmi, onbesinde,RoyalG1,KCaktifmi2; + bool AutoNovice,AutoMaster,AutoSkills; + Packet BoardCache[2]; + void ReloadKnightAndUserRanks(); + void SetPlayerRankingRewards(uint16 ZoneID); + + bool OfflineMerchanting; + + uint8 Dakika1,Dakika2; + uint8 HediyeKC,HediyeKC2; + + bool CastleSiegeWarAttack(CUser *pUser, CUser *pTargetUser); + void UpdateSiege(int16 m_sCastleIndex, int16 m_sMasterKnights, int16 m_bySiegeType, int16 m_byWarDay, int16 m_byWarTime, int16 m_byWarMinute); + void UpdateSiegeTax(uint8 Zone, int16 ZoneTarrif); + + bool IsDuplicateItem(uint32 nItemID, uint64 nItemSerial); + void AddUserItem(uint32 nItemID, uint64 nItemSerial); + void AddDatabaseRequest(Packet & pkt, CUser *pUser = nullptr); + // TerminitionTime + + void TerminitionTime(uint8 sNewZone,uint16 Time); + + // Get info for NPCs in regions around user (WIZ_REQ_NPCIN) + void NpcInOutForMe(CUser* pSendUser); + + // Get info for NPCs in region + void GetRegionNpcIn(C3DMap* pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom, CUser* pSendUser); + + // Get list of NPC IDs in region + void GetRegionNpcList(C3DMap* pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom = 0); + + // Get list of NPCs for regions around user (WIZ_NPC_REGION) + void RegionNpcInfoForMe(CUser* pSendUser); + + // Get raw list of all units in regions surrounding pOwner. + void GetUnitListFromSurroundingRegions(Unit * pOwner, std::vector * pList); + + // Get info for users in regions around user (WIZ_REQ_USERIN) + void UserInOutForMe(CUser* pSendUser); + + // Get list of user IDs in region + void GetRegionUserList(C3DMap* pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom = 0); + + // Get list of users for regions around user (WIZ_REGIONCHANGE) + void RegionUserInOutForMe(CUser* pSendUser); + + // Get info for merchants in regions around user + void MerchantUserInOutForMe(CUser* pSendUser); + + // Get war status + INLINE bool isWarOpen() { return m_byBattleOpen != NO_BATTLE;} + + // Get list of merchants in region + void GetRegionMerchantUserIn(C3DMap* pMap, uint16 region_x, uint16 region_z, Packet & pkt, uint16 & t_count, uint16 nEventRoom = 0); + + void SendHelpDescription(CUser *pUser, std::string sHelpMessage); + + INLINE bool isPermanentMessageSet() { return m_bPermanentChatMode; } + void SetPermanentMessage(const char * format, ...); + + void HandleConsoleCommand(const char * msg); + + template + INLINE void SendChat(const char * msg, uint8 byNation = Nation::ALL, bool bFormatNotice = false) + { + Packet result; + std::string buffer; + + if (bFormatNotice) + GetServerResource(IDP_ANNOUNCEMENT, &buffer, msg); + else + buffer = msg; + + ChatPacket::Construct(&result, (uint8) chatType, &buffer); + Send_All(&result, nullptr, byNation); + } + + template + INLINE void SendChatToZone(const char * msg, uint8 ZoneID, uint8 byNation = Nation::ALL, bool bFormatNotice = false) + { + Packet result; + std::string buffer; + + if (bFormatNotice) + GetServerResource(IDP_ANNOUNCEMENT, &buffer, msg); + else + buffer = msg; + + ChatPacket::Construct(&result, (uint8) chatType, &buffer); + Send_Zone(&result, ZoneID, nullptr, byNation); + } + + template + INLINE void SendFormattedChat(const char * msg, uint8 byNation = Nation::ALL, bool bFormatNotice = false, va_list args = nullptr) + { + char buffer[512]; + vsnprintf(buffer, sizeof(buffer), msg, args); + SendChat(buffer, byNation, bFormatNotice); + va_end(args); + } + + template + void SendFormattedChat(const char * msg, uint8 byNation = Nation::ALL, bool bFormatNotice = false, ...) + { + va_list ap; + va_start(ap, byNation); + SendFormattedChat(msg, byNation, bFormatNotice, ap); + va_end(ap); + } + + /* The following are simply wrappers for more readable SendChat() calls */ + + INLINE void SendNotice(const char *msg, uint8 byNation = Nation::ALL) + { + SendChat(msg, byNation, true); + } + + template + INLINE void SendNotice(const char *msg, uint8 ZoneID, uint8 byNation = Nation::ALL, bool bFormatNotice = false) + { + SendChatToZone(msg, ZoneID, byNation, bFormatNotice); + } + + void SendFormattedNotice(const char *msg, uint8 byNation = Nation::ALL, ...) + { + va_list ap; + va_start(ap, byNation); + SendFormattedChat(msg, byNation, true, ap); + va_end(ap); + } + + INLINE void SendAnnouncement(const char *msg, uint8 byNation = Nation::ALL) + { + SendChat(msg, byNation, true); + } + + void SendFormattedAnnouncement(const char *msg, uint8 byNation = Nation::ALL, ...) + { + va_list ap; + va_start(ap, byNation); + SendFormattedChat(msg, byNation, true, ap); + va_end(ap); + } + + void SendFormattedResource(uint32 nResourceID, uint8 byNation = Nation::ALL, bool bIsNotice = true, ...); + + void Send_Region(Packet *pkt, C3DMap *pMap, int x, int z, CUser* pExceptUser = nullptr, uint16 nEventRoom = 0); + void Send_UnitRegion(Packet *pkt, C3DMap *pMap, int x, int z, CUser* pExceptUser = nullptr, uint16 nEventRoom = 0); + void Send_OldRegions(Packet *pkt, int old_x, int old_z, C3DMap *pMap, int x, int z, CUser* pExceptUser = nullptr, uint16 nEventRoom = 0); + void Send_NewRegions(Packet *pkt, int new_x, int new_z, C3DMap *pMap, int x, int z, CUser* pExceptUser = nullptr, uint16 nEventRoom = 0); + + void Send_NearRegion(Packet *pkt, C3DMap *pMap, int region_x, int region_z, float curx, float curz, CUser* pExceptUser=nullptr, uint16 nEventRoom = 0); + void Send_FilterUnitRegion(Packet *pkt, C3DMap *pMap, int x, int z, float ref_x, float ref_z, CUser* pExceptUser=nullptr, uint16 nEventRoom = 0); + + void Send_Zone_Matched_Class(Packet *pkt, uint8 bZoneID, CUser* pExceptUser, uint8 nation, uint8 seekingPartyOptions, uint16 nEventRoom = 0); + void Send_Zone(Packet *pkt, uint8 bZoneID, CUser* pExceptUser = nullptr, uint8 nation = Nation::ALL, uint16 nEventRoom = 0, float fRange = 0.0f); + + void Send_All(Packet *pkt, CUser* pExceptUser = nullptr, uint8 nation = Nation::ALL, uint8 ZoneID = 0, bool isSendEventUsers = false, uint16 nEventRoom = 0); + void Send_AIServer(Packet *pkt); + + void GetServerResource(int nResourceID, std::string * result, ...); + _START_POSITION *GetStartPosition(int nZoneID); + + int64 GetExpByLevel(int nLevel); + int64 GetPetExpByLevel(int nLevel); + C3DMap * GetZoneByID(int zoneID); + + CBot * GetBotPtr(std::string findName, NameType type); + CUser * GetUserPtr(std::string findName, NameType type); + CUser * GetUserPtr(uint16 sUserId); + CNpc * GetNpcPtr(uint16 sNpcId); + + _ACHIEVE_MONSTER * GetAchieveMonsterPointer(uint32 ID); + _ACHIEVE_WAR * GetAchieveWarPointer(uint32 ID); + _ACHIEVE_TITLE * GetAchieveTitlePointer(uint32 ID); + _ACHIEVE_COM * GetAchieveComPointer(uint32 ID); + _ACHIEVE_NORMAL * GetAchieveNormalPointer(uint32 ID); + _ACHIEVE_MAIN * GetAchieveMainPointer(uint32 ID); + + Unit * GetUnitPtr(uint16 id); + + // Spawns an event NPC/monster + void SpawnEventNpc(uint16 sSid, bool bIsMonster, uint8 byZone, float fX, float fY, float fZ, uint16 sCount = 1, uint16 sRadius = 0, uint16 sDuration = 0, uint8 nation = 0, int16 socketID = -1, uint16 nEventRoom = 0, bool nIsPet = false, std::string strPetName = "", std::string strUserName = "", uint64 nSerial = 1, uint16 UserId = -1); + + uint16 SpawnBot(int Minute, uint8 byZone, float fX, float fY, float fZ, uint8 Restipi, uint8 minlevel = 1); + + // Kill a Npc/Monster + void KillNpc(uint16 sNid); + + // Change NPC/Monster properties for Respawn + void NpcUpdate(uint16 sSid, bool bIsMonster, uint8 byGroup = 0, uint16 sPid = 0); + + // Adds the account name & session to a hashmap (on login) + void AddAccountName(CUser *pSession); + + // Adds the character name & session to a hashmap (when in-game) + void AddCharacterName(CUser *pSession); + + // Removes an existing character name/session from the hashmap, replaces the character's name + // and reinserts the session with the new name into the hashmap. + void ReplaceCharacterName(CUser *pSession, std::string & strNewUserID); + + // Removes the account name & character names from the hashmaps (on logout) + void RemoveSessionNames(CUser *pSession); + + // Send to Zone NPC Effect + void ShowNpcEffect(uint16 sNpcID, uint32 nEffectID, uint8 ZoneID, uint16 EventRoom); + + _PARTY_GROUP * GetPartyPtr(uint16 sPartyID); + CKnights * GetClanPtr(uint16 sClanID); + _KNIGHTS_ALLIANCE * GetAlliancePtr(uint16 sAllianceID); + _ITEM_TABLE * GetItemPtr(uint32 nItemID); + CPet * GetPetPtr(uint64 nItemSerial); + _CYPHERRING_DATA * GetCypherRingPtr(uint64 nItemSerial); + _KNIGHTS_SIEGE_WARFARE * GetSiegeMasterKnightsPtr(uint16 sMasterKnights); + + _PARTY_GROUP * CreateParty(CUser *pLeader); + void DeleteParty(uint16 sIndex); + + _EVENT_STATUS pTempleEvent; + + ~CGameServerDlg(); + + char m_ppNotice[20][128]; + char m_peNotice[20][128]; + std::string m_AIServerIP; + uint32 m_AIServerPort; + + NpcArray m_arNpcArray; + BotArray m_arBotArray; + ZoneArray m_ZoneArray; + ItemtableArray m_ItemtableArray; + SetItemArray m_SetItemArray; + AchieveNormalArray ACHIEVE_NORMAL; + AchieveTitleArray ACHIEVE_TITLE; + AchieveWarArray ACHIEVE_WAR; + AchieveMainArray ACHIEVE_MAIN; + AchieveComArray ACHIEVE_COM; + AchieveMonsterArray ACHIEVE_MONSTER; + ItemMiningArray m_ItemMiningArray; + MagictableArray m_MagictableArray; + Magictype1Array m_Magictype1Array; + Magictype2Array m_Magictype2Array; + Magictype3Array m_Magictype3Array; + Magictype4Array m_Magictype4Array; + Magictype5Array m_Magictype5Array; + Magictype6Array m_Magictype6Array; + Magictype7Array m_Magictype7Array; + Magictype8Array m_Magictype8Array; + Magictype9Array m_Magictype9Array; + CoefficientArray m_CoefficientArray; + LevelUpArray m_LevelUpArray; + LevelUpArray m_PetLevelUpArray; + PartyArray m_PartyArray; + KnightsArray m_KnightsArray; + KnightsRatingArray m_KnightsRatingArray[2]; // one for both nations + KnightsAllianceArray m_KnightsAllianceArray; + KnightsUserArray m_KnightsUserArray; + KnightsSiegeWarfareArray m_KnightsSiegeWarfareArray; + KnightsCapeArray m_KnightsCapeArray; + UserNameRankMap m_UserPersonalRankMap; + UserNameRankMap m_UserKnightsRankMap; + UserRankMap m_playerRankings[2]; // one for both nations + UserRankMap m_playerPersonalRankings[2]; // one for both nations + std::recursive_mutex m_userRankingsLock; + StartPositionArray m_StartPositionArray; + ServerResourceArray m_ServerResourceArray; + QuestHelperArray m_QuestHelperArray; + QuestNpcList m_QuestNpcList; + QuestMonsterArray m_QuestMonsterArray; + RentalItemArray m_RentalItemArray; + ItemExchangeArray m_ItemExchangeArray; + ItemExchangeExpArray m_ItemExchangeExpArray; + ItemMixArray m_ItemMixArray; + ItemUpgradeArray m_ItemUpgradeArray; + ItemOpArray m_ItemOpArray; + KingSystemArray m_KingSystemArray; + EventTriggerArray m_EventTriggerArray; + MonsterChallengeArray m_MonsterChallengeArray; + MonsterChallengeSummonListArray m_MonsterChallengeSummonListArray; + EventTimesArray m_EventTimesArray; + MonsterSummonListArray m_MonsterSummonList; + MonsterSummonListZoneArray m_MonsterSummonListZoneArray; + MonsterRespawnListArray m_MonsterRespawnListArray; + MonsterRespawnListInformationArray m_MonsterRespawnListInformationArray; + MonsterRespawnListRandomArray m_MonsterRespawnListRandomArray; + PremiumItemArray m_PremiumItemArray; + PremiumItemExpArray m_PremiumItemExpArray; + CypherRingArray m_CypherRingArray; + std::recursive_mutex m_PetArraylock; + PetArray m_PetArray; + PetArray m_LivingPetArray; + UserRankingArray m_UserRankingArray[2]; + UserDailyOpMap m_UserDailyOpMap; + TempleEventUserArray m_TempleEventUserArray; + NationMonumentInformationArray m_NationMonumentInformationArray; + StartPositionRandomArray m_StartPositionRandomArray; + UserItemArray m_UserItemArray; + ObjectEventArray m_ObjectEventArray; + ChatRoomArray m_ChatRoomArray; + ItemCrashArray m_ItemCrashArray; + ItemDupersArray m_ItemDupersArray; + IlegalItemsArray m_IlegalItemsArray; + + MerchantListArray m_MerchantListArray; + + Atomic m_sPartyIndex; + short m_sZoneCount; // AI Server ӽ + + bool m_bFirstServerFlag; // ó Ӽ 쿡 1, 0 + bool m_bServerCheckFlag; + bool m_bPointCheckFlag; // AI NPC (true: , false: ) + short m_sErrorSocketCount; // ̻ ÿ + + uint16 m_sYear, m_sMonth, m_sDate, m_sHour, m_sMin, m_sSec; + uint8 m_byWeather; + uint16 m_sWeatherAmount; + int m_nCastleCapture; + uint8 m_ReloadKnightAndUserRanksMinute , m_DevakillSecond; + + uint8 m_byBattleOpen, m_byOldBattleOpen; + uint8 m_byBattleZone, m_byBattleZoneType, m_bVictory, m_byOldVictory, m_bResultDelayVictory, m_bKarusFlag, m_bElmoradFlag, m_bMiddleStatueNation; + int32 m_byBattleOpenedTime; + int32 m_byBattleTime; + int32 m_byBattleRemainingTime; + int32 m_sBattleTimeDelay; + int32 m_sBattleResultDelay; + + int32 m_byBattleSiegeWarStartTime; + uint8 m_SiegeWarNoticeTime; + std::string m_SiegeWarWinKnightsNotice; + bool m_byBattleSiegeWarOpen; + uint16 m_byBattleSiegeWarOccupy; + bool m_byBattleSiegeWarMomument; + bool m_byBattleSiegeWarTeleport; + + uint8 m_sKilledKarusNpc, m_sKilledElmoNpc; + uint8 m_sKarusMonuments, m_sElmoMonuments; + uint8 m_sNereidsMonumentNation[7]; + uint16 m_sKarusMonumentPoint, m_sElmoMonumentPoint; + bool m_byKarusOpenFlag, m_byElmoradOpenFlag, m_byBanishFlag, m_byBattleSave, m_bResultDelay, m_bySnowBanishFlag; + short m_sDiscount; + short m_sKarusDead, m_sElmoradDead, m_sBanishDelay; + std::string m_sBattleZoneOpenDays; + std::string m_sEventZoneOpenDays1; + std::string m_sEventZoneOpenDays2; + std::string m_sEventZoneOpenDays3; + uint8 m_nBattleZoneOpenHourStart[WAR_TIME_COUNT], m_nBattlezoneOpenWarZone[WAR_ZONE_COUNT]; + + std::string m_strKarusCaptain, m_strElmoradCaptain; + + uint8 m_nBorderDefenseWarTime[BORDER_DEFENSE_WAR_EVENT_COUNT], m_nChaosTime[CHAOS_EVENT_COUNT], m_nJuraidTime[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonItemNo1[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonItemNo2[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonItemNo3[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonItemNo4_K[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonItemNo4_H[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonLoyalty[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeWonKnightCash[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeLoserKnightCash[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeLoserLoyalty[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint32 m_nBorderDefenseWarPrizeLoserItem[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint8 m_nBorderDefenseWarMAXLEVEL[BORDER_DEFENSE_WAR_EVENT_COUNT]; + uint8 m_nBorderDefenseWarMINLEVEL[BORDER_DEFENSE_WAR_EVENT_COUNT]; + + bool m_nJuraidMountainOdulTipi[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonItemNo1[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonItemNo2[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonItemNo3[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonItemNo4_K[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonItemNo4_H[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonLoyalty[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonExp[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeWonKnightCash[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeLoserKnightCash[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeLoserLoyalty[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeLoserItem[JURAD_MOUNTAIN_EVENT_COUNT]; + uint32 m_nJuraidMountainPrizeLoserExp[JURAD_MOUNTAIN_EVENT_COUNT]; + uint8 m_nJuraidMountainMAXLEVEL[JURAD_MOUNTAIN_EVENT_COUNT]; + uint8 m_nJuraidMountainMINLEVEL[JURAD_MOUNTAIN_EVENT_COUNT]; + + + uint32 m_nChaosPrizeWonItemNo1[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonItemNo2[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonItemNo3[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonItemNo4_K[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonItemNo4_H[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonLoyalty[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonExp[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeWonKnightCash[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeLoserKnightCash[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeLoserLoyalty[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeLoserItem[CHAOS_EVENT_COUNT]; + uint32 m_nChaosPrizeLoserExp[CHAOS_EVENT_COUNT]; + + + uint8 m_nPVPMonumentNation[MAX_ZONE_ID]; + uint8 m_nEventMonumentNation[MAX_ZONE_ID]; + + uint32 m_GameServerPort; + int32 m_nGameMasterRHitDamage; + int32 m_nBonusTimeInterval, m_nBonusTimeGold, m_nBonusPVPWarItem; + uint16 m_CountofTickets; + uint8 m_nPlayerRankingResetTime; + std::string m_sPlayerRankingsRewardZones; + uint32 m_nPlayerRankingKnightCashReward; + uint32 m_nPlayerRankingLoyaltyReward,m_Grade1,m_Grade2,m_Grade3,m_Grade4,m_Drop1,m_Drop2,m_Drop3,m_Drop4,m_Drop5,m_gDrop1,m_gDrop2, + m_gDrop3,m_gDrop4,m_gDrop5,m_sling,f_Drop1,f_Drop2,f_Drop3,gf_Drop1,gf_Drop2,gf_Drop3; + uint8 m_AutoNoticeIsActive; + std::string m_AutoNotice; + std::string m_AutoNoticeText; + uint16 m_nTempleEventRemainSeconds; + + uint8 m_bMaxRegenePoint; + + bool m_bPermanentChatMode; + std::string m_strPermanentChat; + + uint8 m_bSantaOrAngel; + uint8 m_sRankResetHour; + + int TotalMiningExchangeRate; + int TotalGoldenMiningExchangeRate; + uint32 bRandArrayNormalMattock[10000]; + uint32 bRandArrayGoldenMattock[10000]; + + + // National Points Settings + int m_Loyalty_Ardream_Source; + int m_Loyalty_Ardream_Target; + int m_Loyalty_Ronark_Land_Base_Source; + int m_Loyalty_Ronark_Land_Base_Target; + int m_Loyalty_Ronark_Land_Source; + int m_Loyalty_Ronark_Land_Target; + int m_Loyalty_Other_Zone_Source; + int m_Loyalty_Other_Zone_Target; + int m_Loyalty_Mini_Pvp_Source; + int m_Loyalty_Mini_Pvp_Target; + + // Bifrost + uint8 m_nBifrostTime[BIFROST_EVENT_COUNT]; + + uint8 m_BifrostVictory; + uint8 m_sBifrostVictoryAll; + uint16 m_sBifrostRemainingTime; + uint16 m_sBifrostTime; + bool m_sBifrostWarStart; + uint8 m_sBifrostVictoryNoticeAll; + uint16 m_xBifrostRemainingTime; + uint16 m_xJoinOtherNationBifrostTime; + uint16 m_xBifrostTime; + uint16 m_xBifrostMonumentAttackTime; + bool m_bAttackBifrostMonument; + + void SendEventRemainingTime(bool bSendAll = false, CUser *pUser = nullptr, uint8 ZoneID = 0); + uint16 CalcEventRemainingTime(); + + bool m_IsMagicTableInUpdateProcess; + bool m_IsPlayerRankingUpdateProcess; + + // Forgetten Temple + std::vector m_nForgettenTempleUsers; + bool m_bForgettenTempleIsActive; + int8 m_nForgettenTempleStartHour; + int8 m_nForgettenTempleLevelMin; + int8 m_nForgettenTempleLevelMax; + int32 m_nForgettenTempleStartTime; + uint8 m_nForgettenTempleChallengeTime; + bool m_bForgettenTempleSummonMonsters; + uint8 m_nForgettenTempleCurrentStage; + uint8 m_nForgettenTempleLastStage; + ForgettenTempleMonsterList m_ForgettenTempleMonsterList; + uint32 m_nForgettenTempleLastSummonTime; + bool m_nForgettenTempleBanishFlag; + uint8 m_nForgettenTempleBanishTime; + + // Event Zones + std::vector m_nEventZoneUsers; + bool m_bEventZoneIsActive; + int8 m_nEventZoneStartHour; + int8 m_nEventZoneLevelMin; + int8 m_nEventZoneLevelMax; + int32 m_nEventZoneStartTime; + uint8 m_nEventZoneTime; + bool m_nEventZoneBanishFlag; + uint8 m_nEventZoneBanishTime; + + // zone server info + int m_nServerNo, m_nServerGroupNo; + int m_nServerGroup; // server ȣ(0: , 1:1, 2:2) + ServerArray m_ServerArray; + ServerArray m_ServerGroupArray; + + NameMap m_accountNameMap, + m_characterNameMap; + BotNameMap m_BotcharacterNameMap; + + std::recursive_mutex m_accountNameLock, + m_characterNameLock, m_BotcharacterNameLock, + m_questNpcLock; + + + bool m_IsDupeUpdateProcess; + bool m_IlegalItemsUpdateProcess; + + // Controlled weather events set by Kings + uint8 m_byKingWeatherEvent; + uint8 m_byKingWeatherEvent_Day; + uint8 m_byKingWeatherEvent_Hour; + uint8 m_byKingWeatherEvent_Minute; + + + // Military Camps + uint8 KarusBaseMilitaryCampCount, ElmoradBaseMilitaryCampCount, KarusEslantMilitaryCampCount, ElmoradEslantMilitaryCampCount, MoradonMilitaryCampCount; + + // XP/coin/NP events + uint8 m_byNPEventAmount, m_byExpEventAmount, m_byCoinEventAmount,m_byPKZoneExpEventAmount,Reskillmoney,Restatmoney; + uint8 MAXLVLINI; + uint8 MaxLevel62Control; + // EXP 2, EXP 10 , EXP 50, EXP 100, EXP 500, EXP 1000, EXP TOTAL + int m_byExpx2, m_byExpx10, m_byExpx50, m_byExpx100, m_byExpx500, m_byExpx1000, m_byExpTotal; + // Gold 2, Gold 10 , Gold 50, Gold 100, Gold 500, Gold 1000, Gold TOTAL + int m_byGoldx2, m_byGoldx10, m_byGoldx50, m_byGoldx100, m_byGoldx500, m_byGoldx1000, m_byGoldTotal; + + + INLINE CLuaEngine * GetLuaEngine() { return &m_luaEngine; } + + KOSocketMgr m_socketMgr; + ClientSocketMgr m_aiSocketMgr; + + FILE *m_fpDeathUser; + FILE *m_fpDeathNpc; + FILE *m_fpChat; + FILE *m_fpGM; + FILE *m_upgradelog; + FILE *m_fpCheat; + FILE *m_fpMerchant; + FILE *m_fpTrade; + + + + void WriteMerchantUserLogFile(std::string & logMessage); + void WriteTradeUserLogFile(std::string & logMessage); + void WriteDeathUserLogFile(std::string & logMessage); + void WriteDeathNpcLogFile(std::string & logMessage); + void WriteChatLogFile(std::string & logMessage); + void WriteGMLogFile(std::string & logMessage); + void WriteUpgradeLogFile(std::string & logMessage); + void WriteCheatLogFile(std::string & logMessage); + +private: + CLuaEngine m_luaEngine; + + std::string m_strGameDSN, m_strAccountDSN; + std::string m_strGameUID, m_strAccountUID; + std::string m_strGamePWD, m_strAccountPWD; + bool m_bMarsEnabled; + + bool ProcessServerCommand(std::string & command); + +public: + void InitServerCommands(); + void CleanupServerCommands(); + + static ServerCommandTable s_commandTable; + + COMMAND_HANDLER(HandleReloadDupeCommand); + COMMAND_HANDLER(HandleReloadIlegalItemsCommand); + COMMAND_HANDLER(HandleNoticeCommand); + COMMAND_HANDLER(HandleNoticeallCommand); + COMMAND_HANDLER(HandleKillUserCommand); + COMMAND_HANDLER(HandleWar1OpenCommand); + COMMAND_HANDLER(HandleWar2OpenCommand); + COMMAND_HANDLER(HandleWar3OpenCommand); + COMMAND_HANDLER(HandleWar4OpenCommand); + COMMAND_HANDLER(HandleWar5OpenCommand); + COMMAND_HANDLER(HandleWar6OpenCommand); + COMMAND_HANDLER(HandleOpenArdreamCommand); + COMMAND_HANDLER(HandleOpenCZCommand); + COMMAND_HANDLER(HandleCloseCZEventCommand); + COMMAND_HANDLER(HandleCloseArdreamEventCommand); + COMMAND_HANDLER(HandleSnowWarOpenCommand); + COMMAND_HANDLER(HandleSiegeWarOpenCommand); + COMMAND_HANDLER(HandleWarCloseCommand); + COMMAND_HANDLER(HandleShutdownCommand); + COMMAND_HANDLER(HandleDiscountCommand); + COMMAND_HANDLER(HandleGlobalDiscountCommand); + COMMAND_HANDLER(HandleDiscountOffCommand); + COMMAND_HANDLER(HandleCaptainCommand); + COMMAND_HANDLER(HandleSantaCommand); + COMMAND_HANDLER(HandleSantaOffCommand); + COMMAND_HANDLER(HandleAngelCommand); + COMMAND_HANDLER(HandlePermanentChatCommand); + COMMAND_HANDLER(HandlePermanentChatOffCommand); + COMMAND_HANDLER(HandleReloadNoticeCommand); + COMMAND_HANDLER(HandleItemTablesCommand); + COMMAND_HANDLER(HandleReloadTablesCommand); + COMMAND_HANDLER(HandleReloadMagicsCommand); + COMMAND_HANDLER(HandleReloadBotsCommand); + COMMAND_HANDLER(HandleReloadQuestCommand); + COMMAND_HANDLER(HandleReloadRanksCommand); + COMMAND_HANDLER(HandleNPAddCommand); + COMMAND_HANDLER(HandleExpAddCommand); + COMMAND_HANDLER(HandleGiveItemCommand); + COMMAND_HANDLER(HandleMoneyAddCommand); + COMMAND_HANDLER(HandleTeleportAllCommand); + COMMAND_HANDLER(HandleCountCommand); + COMMAND_HANDLER(HandlePermitConnectCommand); + COMMAND_HANDLER(HandleWarResultCommand); + COMMAND_HANDLER(HandleMonSummonCommand); + COMMAND_HANDLER(HandleSnowWarCloseCommand); +}; + +extern CGameServerDlg * g_pMain; + +#endif \ No newline at end of file diff --git a/server/GameServer/GenieHandler.cpp b/server/GameServer/GenieHandler.cpp new file mode 100644 index 0000000..425bf4f --- /dev/null +++ b/server/GameServer/GenieHandler.cpp @@ -0,0 +1,157 @@ +#include "stdafx.h" + +void CUser::HandleGenie(Packet & pkt) +{ + uint8 command = pkt.read(); + + switch (command) + { + case 0x01: + GenieNonAttackProgress(pkt); + break; + case 0x02: + GenieAttackProgress(pkt); + break; + } +} + +void CUser::GenieNonAttackProgress(Packet & pkt) +{ + + enum GenieNonAttackType + { + GenieUseSpiringPotion = 1, + GenieLoadOptions = 0x02, + GenielSaveOptions = 0x03, + GenieStartHandle = 0x04, + GenieStopHandle = 0x05 + }; + + uint8 command = pkt.read(); + + switch (command) + { + case GenieUseSpiringPotion: + GenieUseGenieSpirint(); + break; + case GenieStartHandle: + GenieStart(); + break; + case GenielSaveOptions: + for(int i=0; i(); + } + break; + case GenieLoadOptions: + { + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(2);// << m_GenieOptions; + + for(int i=0; i(); + + if(m_GenieTime == 0) + GenieStop(); + + switch (command) + { + case GenieMove: + MoveProcess(pkt); + break; + case GenieMagic: + CMagicProcess::MagicPacket(pkt, this); + break; + case GenieMainAttack: + Attack(pkt); + break; + default: + TRACE("[%s] Genie Unknow Attack Handle %d Packet Len[%d]\r\n",GetName().c_str(),command,pkt.size()); + break; + } +} + +void CUser::GenieStart() +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(4) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = true; + UserInOut(INOUT_IN); + + Send(&result); +} + +void CUser::GenieStop() +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(5) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = false; + UserInOut(INOUT_IN); + + Send(&result); +} + +void CUser::UpdateGenieTime(uint16 m_sTime) +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(4) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = true; + + Send(&result); +} + +void CUser::GenieUseGenieSpirint() +{ + Packet result(WIZ_GENIE); + + // item check and rob + uint8 CountA,CountB; + + CountA = GetItemCount(810305000); + CountB = GetItemCount(810306000); + + if(CountA < 1 && CountB < 1) + return; + else if(CountA > 0 ) + RobItem(810305000); + else if(CountB > 0) + RobItem(810306000); + + + + m_GenieTime = 120; + + result << uint8(1) << uint8(1) << GetGenieTime(); + + Send(&result); + +} \ No newline at end of file diff --git a/server/GameServer/ItemHandler.cpp b/server/GameServer/ItemHandler.cpp new file mode 100644 index 0000000..1e91bf7 --- /dev/null +++ b/server/GameServer/ItemHandler.cpp @@ -0,0 +1,2165 @@ +#include "stdafx.h" +#include "DBAgent.h" + +using std::vector; + +void CUser::WarehouseProcess(Packet & pkt) +{ + Packet result(WIZ_WAREHOUSE); + uint32 nItemID, nCount; + uint16 sNpcId, reference_pos; + uint8 page, bSrcPos, bDstPos; + CNpc * pNpc = nullptr; + _ITEM_TABLE * pTable = nullptr; + _ITEM_DATA * pSrcItem = nullptr, * pDstItem = nullptr; + uint8 opcode; + bool bResult = false; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + + pkt >> opcode; + if (opcode == WAREHOUSE_OPEN) + { + result << opcode << uint8(1) << GetInnCoins(); + for (int i = 0; i < WAREHOUSE_MAX; i++) + { + _ITEM_DATA *pItem = &m_sWarehouseArray[i]; + + if(pItem == nullptr) + continue; + + result << pItem->nNum + << pItem->sDuration + << pItem->sCount + << pItem->bFlag ; + SetSpecialItemData(pItem,result); + result << pItem->nExpirationTime; + } + if (isInPKZone()) + { + if (hasCoins(10000)) + GoldLose(10000); + else + { + opcode = 1; + goto fail_return; + } + } + Send(&result); + return; + } + + pkt >> sNpcId >> nItemID >> page >> bSrcPos >> bDstPos; + + pNpc = g_pMain->GetNpcPtr(sNpcId); + if (pNpc == nullptr + || pNpc->GetType() != NPC_WAREHOUSE + || !isInRange(pNpc, MAX_NPC_RANGE)) + goto fail_return; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr) + goto fail_return; + + reference_pos = 24 * page; + + switch (opcode) + { + // Inventory -> inn + case WAREHOUSE_INPUT: + pkt >> nCount; + + // Handle coin input. + if (nItemID == ITEM_GOLD) + { + if (!hasCoins(nCount) + || GetInnCoins() + nCount > COIN_MAX) + goto fail_return; + + m_iBank += nCount; + m_iGold -= nCount; + break; + } + + // Check for invalid slot IDs. + if (bSrcPos > HAVE_MAX + || reference_pos + bDstPos > WAREHOUSE_MAX + // Cannot be traded, sold or stored (note: don't check the race, as these items CAN be stored). + || (nItemID >= ITEM_NO_TRADE && pTable->m_bKind != 252) + // Check that the source item we're moving is what the client says it is. + || (pSrcItem = GetItem(SLOT_MAX + bSrcPos))->nNum != nItemID + // Rented items cannot be placed in the inn. + || pSrcItem->isRented() + || pSrcItem->isDuplicate() + || pSrcItem->nExpirationTime > 0 && (pSrcItem->nExpirationTime - uint32(UNIXTIME)) < (4*DAY)) + goto fail_return; + + pDstItem = &m_sWarehouseArray[reference_pos + bDstPos]; + // Forbid users from moving non-stackable items into a slot already occupied by an item. + if ((!pTable->isStackable() && pDstItem->nNum != 0) + // Forbid users from moving stackable items into a slot already occupied by a different item. + || (pTable->isStackable() + && pDstItem->nNum != 0 // slot in use + && pDstItem->nNum != pSrcItem->nNum) // ... by a different item. + // Ensure users have enough of the specified item to move. + || pSrcItem->sCount < nCount) + goto fail_return; + + pDstItem->nNum = pSrcItem->nNum; + pDstItem->sDuration = pSrcItem->sDuration; + if(pTable->isStackable()) + pDstItem->sCount += (uint16)nCount; + else + pDstItem->sCount = (uint16)nCount; + + + if(pTable->isStackable()) + pSrcItem->sCount -= nCount; + else + pSrcItem->sCount = 0; + pDstItem->bFlag = pSrcItem->bFlag; + pDstItem->sRemainingRentalTime = pSrcItem->sRemainingRentalTime; + pDstItem->nExpirationTime = pSrcItem->nExpirationTime; + + if (!pTable->isStackable() || nCount == pDstItem->sCount) + pDstItem->nSerialNum = pSrcItem->nSerialNum; + + if (!pTable->isStackable() && pDstItem->nSerialNum == 0) + pDstItem->nSerialNum = g_pMain->GenerateItemSerial(); + + if (pSrcItem->sCount == 0 || pTable->m_bKind == 255) + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + + SetUserAbility(false); + SendItemWeight(); + break; + + // Inn -> inventory + case WAREHOUSE_OUTPUT: + pkt >> nCount; + + if (nItemID == ITEM_GOLD) + { + if (!hasInnCoins(nCount) + || GetCoins() + nCount > COIN_MAX) + goto fail_return; + + m_iGold += nCount; + m_iBank -= nCount; + break; + } + + // Ensure we're not being given an invalid slot ID. + if (reference_pos + bSrcPos > WAREHOUSE_MAX + || bDstPos > HAVE_MAX + // Check that the source item we're moving is what the client says it is. + || (pSrcItem = &m_sWarehouseArray[reference_pos + bSrcPos])->nNum != nItemID + // Does the player have enough room in their inventory? + || !CheckWeight(pTable, nItemID, (uint16) nCount)) + goto fail_return; + + pDstItem = GetItem(SLOT_MAX + bDstPos); + // Forbid users from moving non-stackable items into a slot already occupied by an item. + if ((!pTable->isStackable() && pDstItem->nNum != 0) + // Forbid users from moving stackable items into a slot already occupied by a different item. + || (pTable->isStackable() + && pDstItem->nNum != 0 // slot in use + && pDstItem->nNum != pSrcItem->nNum) // ... by a different item. + // Ensure users have enough of the specified item to move. + || pSrcItem->sCount < nCount) + goto fail_return; + + pDstItem->nNum = pSrcItem->nNum; + pDstItem->sDuration = pSrcItem->sDuration; + //pDstItem->sCount += (uint16) nCount; + if(pTable->isStackable()) + pDstItem->sCount += (uint16)nCount; + else + pDstItem->sCount = (uint16)nCount; + + if(pTable->isStackable()) + pSrcItem->sCount -= nCount; + else + pSrcItem->sCount = 0; + + pDstItem->bFlag = pSrcItem->bFlag; + pDstItem->sRemainingRentalTime = pSrcItem->sRemainingRentalTime; + pDstItem->nExpirationTime = pSrcItem->nExpirationTime; + + if (!pTable->isStackable() || nCount == pDstItem->sCount) + pDstItem->nSerialNum = pSrcItem->nSerialNum; + + if (!pTable->isStackable() && pDstItem->nSerialNum == 0) + pDstItem->nSerialNum = g_pMain->GenerateItemSerial(); + + if (pSrcItem->sCount == 0 || pTable->m_bKind == 255) + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + + SetUserAbility(false); + SendItemWeight(); + break; + + // Inn -> inn + case WAREHOUSE_MOVE: + // Ensure we're not being given an invalid slot ID. + if (reference_pos + bSrcPos > WAREHOUSE_MAX + || reference_pos + bDstPos > WAREHOUSE_MAX) + goto fail_return; + + pSrcItem = &m_sWarehouseArray[reference_pos + bSrcPos]; + pDstItem = &m_sWarehouseArray[reference_pos + bDstPos]; + + // Check that the source item we're moving is what the client says it is. + if (pSrcItem->nNum != nItemID + // You can't move a partial stack in the inn (the whole stack is moved). + || pDstItem->nNum != 0) + goto fail_return; + + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + break; + + // Inventory -> inventory (using the inn dialog) + case WAREHOUSE_INVENMOVE: + // Ensure we're not being given an invalid slot ID. + if (bSrcPos > HAVE_MAX + || bDstPos > HAVE_MAX) + goto fail_return; + + pSrcItem = GetItem(SLOT_MAX + bSrcPos); + pDstItem = GetItem(SLOT_MAX + bDstPos); + + // Check that the source item we're moving is what the client says it is. + if (pSrcItem->nNum != nItemID + // You can't move a partial stack in the inventory (the whole stack is moved). + || pDstItem->nNum != 0) + goto fail_return; + + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + break; + } + + bResult = true; + +fail_return: // hmm... + result << opcode << bResult; + Send(&result); +} + +bool CUser::CheckWeight(uint32 nItemID, uint16 sCount) +{ + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(nItemID); + + if(pTable == nullptr) + return false; + + return CheckWeight(pTable, nItemID, sCount); +} + +bool CUser::CheckWeight(_ITEM_TABLE * pTable, uint32 nItemID, uint16 sCount) +{ + return (pTable != nullptr // Make sure the item exists + // and that the weight doesn't exceed our limit + && (m_sItemWeight + (pTable->m_sWeight * sCount)) <= m_sMaxWeight + // and we have room for the item. + && FindSlotForItem(nItemID, sCount) >= 0); +} + +bool CUser::CheckExistItem(int itemid, short count /*= 1*/) +{ + if(itemid < 100000000) + return true; + + // Search for the existance of all items in the player's inventory storage and onwards (includes magic bags) + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + // This implementation fixes a bug where it ignored the possibility for multiple stacks. + if (m_sItemArray[i].nNum == itemid + && m_sItemArray[i].sCount >= count) + return true; + } + + + return false; +} + +uint16 CUser::GetItemCount(uint32 nItemID) +{ + uint32 result = 0; + // Search for the existance of all items in the player's inventory storage and onwards (includes magic bags) + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + _ITEM_DATA *pItem = GetItem(i); + if (pItem == nullptr + || pItem->isRented() + || pItem->isSealed() + || pItem->isBound() + || pItem->nExpirationTime > 0 + || pItem->isDuplicate()) + continue; + + // This implementation fixes a bug where it ignored the possibility for multiple stacks. + if (m_sItemArray[i].nNum == nItemID) + result += m_sItemArray[i].sCount; + } + + return result; +} + +// Pretend you didn't see me. This really needs to go (just copying official) +bool CUser::CheckExistItemAnd(int32 nItemID1, int32 sCount1, int32 nItemID2, int32 sCount2, + int32 nItemID3, int32 sCount3, int32 nItemID4, int32 sCount4, int32 nItemID5, int32 sCount5) +{ + if (nItemID1 + && !CheckExistItem(nItemID1, sCount1) + && nItemID1 > 99999999) + if (nItemID1!= 900000000 || nItemID1!=900001000 || nItemID1!=900002000 || nItemID1!=900003000 || nItemID1!=900004000 || nItemID1!=900005000 || nItemID1!=900006000 || nItemID1!=900007000 || nItemID1!=900008000 || nItemID1!=900009000 || nItemID1!=900010000 || nItemID1!=900011000) + return false; + + if (nItemID2 + && !CheckExistItem(nItemID2, sCount2) + && nItemID2 > 99999999) + if (nItemID2!=900000000 || nItemID2!=900001000 || nItemID2!=900002000 || nItemID2!=900003000 || nItemID2!=900004000 || nItemID2!=900005000 || nItemID2!=900006000 || nItemID2!=900007000 || nItemID2!=900008000 || nItemID2!=900009000 || nItemID2!=900010000 || nItemID2!=900011000) + return false; + + if (nItemID3 + && !CheckExistItem(nItemID3, sCount3) + && nItemID3 > 99999999) + if (nItemID3!=900000000 || nItemID3!=900001000 || nItemID3!=900002000 || nItemID3!=900003000 || nItemID3!=900004000 || nItemID3!=900005000 || nItemID3!=900006000 || nItemID3!=900007000 || nItemID3!=900008000 || nItemID3!=900009000 || nItemID3!=900010000 || nItemID3!=900011000) + return false; + + if (nItemID4 + && !CheckExistItem(nItemID4, sCount4) + && nItemID4 > 99999999) + if (nItemID4!=900000000 || nItemID4!=900001000 || nItemID4!=900002000 || nItemID4!=900003000 || nItemID4!=900004000 || nItemID4!=900005000 || nItemID4!=900006000 || nItemID4!=900007000 || nItemID4!=900008000 || nItemID4!=900009000 || nItemID4!=900010000 || nItemID4!=900011000) + return false; + + if (nItemID5 + && !CheckExistItem(nItemID5, sCount5) + && nItemID5 > 99999999) + if (nItemID5!=900000000 || nItemID5!=900001000 || nItemID5!=900002000 || nItemID5!=900003000 || nItemID5!=900004000 || nItemID5!=900005000 || nItemID5!=900006000 || nItemID5!=900007000 || nItemID5!=900008000 || nItemID5!=900009000 || nItemID5!=900010000 || nItemID5!=900011000) + return false; + + + return true; +} + +bool CUser::CheckExistSpecialItemAnd(int32 nItemID1, int16 sCount1, int32 nItemID2, int16 sCount2, + int32 nItemID3, int16 sCount3, int32 nItemID4, int16 sCount4, int32 nItemID5, int16 sCount5, + int32 nItemID6, int16 sCount6, int32 nItemID7, int16 sCount7, int32 nItemID8, int16 sCount8, + int32 nItemID9, int16 sCount9, int32 nItemID10, int16 sCount10) +{ + if (nItemID1 + && !CheckExistItem(nItemID1, sCount1) + && nItemID1 > 99999999) + if (nItemID1!= 900000000 || nItemID1!=900001000 || nItemID1!=900002000 || nItemID1!=900003000 || nItemID1!=900004000 || nItemID1!=900005000 || nItemID1!=900006000 || nItemID1!=900007000 || nItemID1!=900008000 || nItemID1!=900009000 || nItemID1!=900010000 || nItemID1!=900011000) + return false; + + if (nItemID2 + && !CheckExistItem(nItemID2, sCount2) + && nItemID2 > 99999999) + if (nItemID2!=900000000 || nItemID2!=900001000 || nItemID2!=900002000 || nItemID2!=900003000 || nItemID2!=900004000 || nItemID2!=900005000 || nItemID2!=900006000 || nItemID2!=900007000 || nItemID2!=900008000 || nItemID2!=900009000 || nItemID2!=900010000 || nItemID2!=900011000) + return false; + + if (nItemID3 + && !CheckExistItem(nItemID3, sCount3) + && nItemID3 > 99999999) + if (nItemID3!=900000000 || nItemID3!=900001000 || nItemID3!=900002000 || nItemID3!=900003000 || nItemID3!=900004000 || nItemID3!=900005000 || nItemID3!=900006000 || nItemID3!=900007000 || nItemID3!=900008000 || nItemID3!=900009000 || nItemID3!=900010000 || nItemID3!=900011000) + return false; + + if (nItemID4 + && !CheckExistItem(nItemID4, sCount4) + && nItemID4 > 99999999) + if (nItemID4!=900000000 || nItemID4!=900001000 || nItemID4!=900002000 || nItemID4!=900003000 || nItemID4!=900004000 || nItemID4!=900005000 || nItemID4!=900006000 || nItemID4!=900007000 || nItemID4!=900008000 || nItemID4!=900009000 || nItemID4!=900010000 || nItemID4!=900011000) + return false; + + if (nItemID5 + && !CheckExistItem(nItemID5, sCount5) + && nItemID5 > 99999999) + if (nItemID5!=900000000 || nItemID5!=900001000 || nItemID5!=900002000 || nItemID5!=900003000 || nItemID5!=900004000 || nItemID5!=900005000 || nItemID5!=900006000 || nItemID5!=900007000 || nItemID5!=900008000 || nItemID5!=900009000 || nItemID5!=900010000 || nItemID5!=900011000) + return false; + + if (nItemID6 + && !CheckExistItem(nItemID6, sCount6) + && nItemID6 > 99999999) + if (nItemID6!=900000000 || nItemID6!=900001000 || nItemID6!=900002000 || nItemID6!=900003000 || nItemID6!=900004000 || nItemID6!=900005000 || nItemID6!=900006000 || nItemID6!=900007000 || nItemID6!=900008000 || nItemID6!=900009000 || nItemID6!=900010000 || nItemID6!=900011000) + return false; + + if (nItemID7 + && !CheckExistItem(nItemID7, sCount7) + && nItemID7 > 99999999) + if (nItemID7!=900000000 || nItemID7!=900001000 || nItemID7!=900002000 || nItemID7!=900003000 || nItemID7!=900004000 || nItemID7!=900005000 || nItemID7!=900006000 || nItemID7!=900007000 || nItemID7!=900008000 || nItemID7!=900009000 || nItemID7!=900010000 || nItemID7!=900011000) + return false; + + if (nItemID8 + && !CheckExistItem(nItemID8, sCount8) + && nItemID8 > 99999999) + if (nItemID8!=900000000 || nItemID8!=900001000 || nItemID8!=900002000 || nItemID8!=900003000 || nItemID8!=900004000 || nItemID8!=900005000 || nItemID8!=900006000 || nItemID8!=900007000 || nItemID8!=900008000 || nItemID8!=900009000 || nItemID8!=900010000 || nItemID8!=900011000) + return false; + + if (nItemID9 + && !CheckExistItem(nItemID9, sCount9) + && nItemID9 > 99999999) + if (nItemID9!=900000000 || nItemID9!=900001000 || nItemID9!=900002000 || nItemID9!=900003000 || nItemID9!=900004000 || nItemID9!=900005000 || nItemID9!=900006000 || nItemID9!=900007000 || nItemID9!=900008000 || nItemID9!=900009000 || nItemID9!=900010000 || nItemID9!=900011000) + return false; + + if (nItemID10 + && !CheckExistItem(nItemID10, sCount10) + && nItemID10 > 99999999) + if (nItemID10!=900000000 || nItemID10!=900001000 || nItemID10!=900002000 || nItemID10!=900003000 || nItemID10!=900004000 || nItemID10!=900005000 || nItemID10!=900006000 || nItemID10!=900007000 || nItemID10!=900008000 || nItemID10!=900009000 || nItemID10!=900010000 || nItemID10!=900011000) + return false; + + return true; +} + +bool CUser::RobItem(uint32 nItemID, uint16 sCount /*= 1*/, bool SendPacket /*=true*/) +{ + + // Allow unused exchanges. + if (sCount == 0 || nItemID == 0) + return false; + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr) + return false; + if (nItemID==900000000) // Noah + { + GoldLose(sCount,true); + return true; + } + else if (nItemID==900001000) // EXP + { + ExpChange(-(int64)sCount,true); + return true; + } + else if (nItemID==900002000 || nItemID==900003000) //CountryCONT and LadderPoint + { + SendLoyaltyChange(-(int32)sCount,true); + return true; + } + else if (nItemID==900004000 || // Random + nItemID==900005000 || // Hunt + nItemID==900007000 || // Skill + nItemID==900008000 || // Killopponentcountry + nItemID==900009000 || // Transport + nItemID==900010000 || // LevelUp + nItemID==900011000 ) // War + return true; + + // Search for the existance of all items in the player's inventory storage and onwards (includes magic bags) + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + if (RobItem(i, pTable, sCount, SendPacket)) + return true; + } + + return false; +} + +bool CUser::RobItem(uint8 bPos, _ITEM_TABLE * pTable, uint16 sCount /*= 1*/, bool SendPacket /*=true*/) +{ + + + // Allow unused exchanges. + if (sCount == 0) + return false; + + if (pTable == nullptr) + return false; + + _ITEM_DATA *pItem = GetItem(bPos); + + if (pItem == nullptr) + return false; + + if (pItem->nNum != pTable->m_iNum + || pItem->sCount < sCount) + return false; + + // Consumable "scrolls" (with some exceptions) use the duration/durability as a usage count + // instead of the stack size. Interestingly, the client shows this instead of the stack size in this case. + bool bIsConsumableScroll = (pTable->m_bKind == 255); /* include 97? not sure how accurate this check is... */ + if (bIsConsumableScroll) + pItem->sDuration -= sCount; + else if(pTable->isStackable()) + pItem->sCount -= sCount; + else + pItem->sCount = 0; + + + std::string errorMessage = string_format(_T("ROB_ITEM uId-%s- I-%d- C-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pItem->nNum,sCount,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + // Delete the item if the stack's now 0 + // or if the item is a consumable scroll and its "duration"/use count is now 0. + if (pItem->sCount == 0 + || (bIsConsumableScroll && pItem->sDuration == 0)) + memset(pItem, 0, sizeof(_ITEM_DATA)); + + + + + if(SendPacket) + SendStackChange(pTable->m_iNum, pItem->sCount, pItem->sDuration, bPos - SLOT_MAX); + return true; +} + +/** +* @brief Checks if all players in the party have sCount of item nItemID +* and if so, removes it. +* +* @param nItemID Identifier for the item. +* @param sCount Stack size. +* +* @return true if the required items were taken, false if not. +*/ +bool CUser::RobAllItemParty(uint32 nItemID, uint16 sCount /*= 1*/) +{ + // Allow unused exchanges. + if (sCount == 0) + return false; + + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return RobItem(nItemID, sCount); + + // First check to see if all users in the party have enough of the specified item. + std::vector partyUsers; + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser != nullptr + && !pUser->CheckExistItem(nItemID, sCount)) + return false; + + partyUsers.push_back(pUser); + } + + // Since all users have the required item, we can now remove them. + foreach (itr, partyUsers) + (*itr)->RobItem(nItemID, sCount); + + return true; +} + +bool CUser::GiveItem(uint32 itemid, uint32 count, bool send_packet /*= true*/, uint32 Time) +{ + std::string errorMessage = string_format(_T("GIVE_ITEM uId-%s- I-%d- C-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),itemid,count,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + + if (itemid==900000000)//noah + { + GoldGain(count,true,false); + return true; + } + else if (itemid==900001000)//exp + { + ExpChange(count,false); + return true; + } + else if (itemid==900002000||itemid==900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(count,false); + return true; + } + int8 pos; + bool bNewItem = true; + _ITEM_TABLE* pTable = g_pMain->GetItemPtr( itemid ); + if (pTable == nullptr) + return false; + + pos = FindSlotForItem(itemid, count); + if (pos < 0) + return false; + + _ITEM_DATA *pItem = GetItem(pos); + if (pItem->nNum != 0 || pItem == nullptr) + bNewItem = false; + + if (bNewItem) + pItem->nSerialNum = g_pMain->GenerateItemSerial(); + + pItem->nNum = itemid; + pItem->sCount += count; + if (pItem->sCount > MAX_ITEM_COUNT) + pItem->sCount = MAX_ITEM_COUNT; + + //if (pItem->nNum == CHAOS_MAP) + //pItem->nExpirationTime = int32(UNIXTIME) + 86400; // 1 day */ + + pItem->sDuration = pTable->m_sDuration; + if (Time != 0) + { + pItem->nExpirationTime = uint32(UNIXTIME) + ((60 * 60 * 24) * Time); + } + else + { + pItem->nExpirationTime = 0; + } + + + // This is really silly, but match the count up with the duration + // for this special items that behave this way. + /*if (pTable->m_bKind == 255) + pItem->sCount = pItem->sDuration;*/ + + if (send_packet) + { + SendStackChange(itemid, m_sItemArray[pos].sCount, m_sItemArray[pos].sDuration, pos - SLOT_MAX, true, Time); + } + else + { + SetUserAbility(false); + SendItemWeight(); + } + + return true; +} + +void CUser::SendItemWeight() +{ + Packet result(WIZ_WEIGHT_CHANGE); + result << m_sItemWeight; + Send(&result); +} + +bool CUser::ItemEquipAvailable(_ITEM_TABLE *pTable) +{ + return (pTable != nullptr + && GetLevel() >= pTable->m_bReqLevel + && GetLevel() <= pTable->m_bReqLevelMax + && m_bRank >= pTable->m_bReqRank // this needs to be verified + && m_bTitle >= pTable->m_bReqTitle // this is unused + && GetStat(STAT_STR) >= pTable->m_bReqStr + && GetStat(STAT_STA) >= pTable->m_bReqSta + && GetStat(STAT_DEX) >= pTable->m_bReqDex + && GetStat(STAT_INT) >= pTable->m_bReqIntel + && GetStat(STAT_CHA) >= pTable->m_bReqCha); +} + +void CUser::ItemMove(Packet & pkt) +{ + _ITEM_TABLE *pTable, *pTableSrc; + _ITEM_DATA *pSrcItem, *pDstItem, tmpItem, *pRightHand, *pLeftHand; + uint32 nItemID; + uint8 bSrcPos, bDstPos,dir,type; + memset(&tmpItem, 0, sizeof(_ITEM_DATA)); + + bool isSlotInven = false; + + pkt >> type >> dir >> nItemID >> bSrcPos >> bDstPos; + + + if (isTrading() + || isMerchanting() + || m_bMerchantStatex + || isMining() + || GetZoneID() == ZONE_CHAOS_DUNGEON) + goto fail_return; + + + if (type == 2) + { + if (isTrading() + || isMerchanting() + || m_bMerchantStatex + || isMining() + || GetZoneID() == ZONE_CHAOS_DUNGEON + || isStoreOpen()) + goto fail_return; + + Packet IteAuto(WIZ_ITEM_MOVE, uint8(0x02)); + + if((UNIXTIME - lastArrangeTime) < 30) + { + IteAuto << uint8(0); + Send(&IteAuto); + return; + } + + IteAuto << uint8(1); + lastArrangeTime = UNIXTIME; + _ITEM_DATA m_sCopyItemArray[INVENTORY_TOTAL]; + memset(m_sCopyItemArray, 0x00, sizeof(m_sCopyItemArray)); + + uint8 lastCount = 0; + + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA pItems = m_sItemArray[i]; + _ITEM_DATA * pItem = GetItem(i); + + if((i < SLOT_MAX) + || (i >= (SLOT_MAX + HAVE_MAX))) + { + m_sCopyItemArray[i] = pItems; + continue; + } + + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pItem->nNum); + + if (pItem == nullptr + || pItem->nNum == 0 + || pItem->sCount == 0 + || pTable == nullptr) + continue; + + m_sCopyItemArray[lastCount + SLOT_MAX] = pItems; + lastCount++; + } + + for (int i = 0; i < INVENTORY_TOTAL; i++) + m_sItemArray[i] = m_sCopyItemArray[i]; + + + for (int i = SLOT_MAX; i < (SLOT_MAX + HAVE_MAX); i++) + { + _ITEM_DATA * pItem = GetItem(i); + + if (pItem->nNum == 0 + || pItem->sCount == 0) + IteAuto << uint32(0) << uint16(0) << uint16(0) << uint8(0) << uint16(0) << uint32(0) << uint32(0); + else + IteAuto << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag // item type flag (e.g. rented) + << pItem->sRemainingRentalTime; // remaining time + SetSpecialItemData(pItem,IteAuto); + IteAuto << pItem->nExpirationTime; + + + } + Send(&IteAuto); + } + + + _ITEM_TABLE * pItemData = nullptr; + CPet *newPet = nullptr; + _ITEM_DATA *pItem = nullptr; + + + + pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr + // || dir == ITEM_INVEN_SLOT && ((pTable->m_sWeight + m_sItemWeight) > m_sMaxWeight)) + // || dir > ITEM_MBAG_TO_MBAG || bSrcPos >= SLOT_MAX+HAVE_MAX+COSP_MAX+MBAG_MAX || bDstPos >= SLOT_MAX+HAVE_MAX+COSP_MAX+MBAG_MAX + || ((dir == ITEM_INVEN_SLOT || dir == ITEM_SLOT_SLOT) + && (bDstPos > SLOT_MAX || !ItemEquipAvailable(pTable))) + || (dir == ITEM_SLOT_INVEN && bSrcPos > SLOT_MAX) + || ((dir == ITEM_INVEN_SLOT || dir == ITEM_SLOT_SLOT) && bDstPos == RESERVED)) + goto fail_return; + + switch (dir) + { + case ITEM_MBAG_TO_MBAG: + if (bDstPos >= MBAG_TOTAL || bSrcPos >= MBAG_TOTAL + // We also need to make sure that if we're setting an item in a magic bag, we need to actually + // have a magic back to put the item in! + || (INVENTORY_MBAG+bDstPos < INVENTORY_MBAG2 && m_sItemArray[BAG1].nNum == 0) + || (INVENTORY_MBAG+bDstPos > INVENTORY_MBAG2 && m_sItemArray[BAG2].nNum == 0) + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[INVENTORY_MBAG + bSrcPos].nNum) + goto fail_return; + + pSrcItem = &m_sItemArray[INVENTORY_MBAG + bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_MBAG + bDstPos]; + break; + + + case ITEM_MBAG_TO_INVEN: + if (bDstPos >= HAVE_MAX || bSrcPos >= MBAG_TOTAL + // We also need to make sure that if we're taking an item from a magic bag, we need to actually + // have a magic back to take it from! + || (INVENTORY_MBAG+bSrcPos < INVENTORY_MBAG2 && m_sItemArray[BAG1].nNum == 0) + || (INVENTORY_MBAG+bSrcPos > INVENTORY_MBAG2 && m_sItemArray[BAG2].nNum == 0) + // Make sure that the item actually exists there. + || m_sItemArray[SLOT_MAX+bDstPos].nNum != 0 + || nItemID != m_sItemArray[INVENTORY_MBAG + bSrcPos].nNum) + goto fail_return; + + pSrcItem = &m_sItemArray[INVENTORY_MBAG + bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_INVENT + bDstPos]; + break; + + case ITEM_INVEN_TO_MBAG: + if (bDstPos >= MBAG_TOTAL || bSrcPos >= HAVE_MAX + // We also need to make sure that if we're adding an item to a magic bag, we need to actually + // have a magic back to put the item in! + || (INVENTORY_MBAG + bDstPos < INVENTORY_MBAG2 && m_sItemArray[BAG1].nNum == 0) + || (INVENTORY_MBAG + bDstPos > INVENTORY_MBAG2 && m_sItemArray[BAG2].nNum == 0) + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[INVENTORY_INVENT + bSrcPos].nNum) + goto fail_return; + + pSrcItem = &m_sItemArray[INVENTORY_INVENT + bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_MBAG + bDstPos]; + break; + + case ITEM_COSP_TO_INVEN: + if (bDstPos >= HAVE_MAX || bSrcPos >= COSP_MAX+MBAG_COUNT + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[INVENTORY_COSP + bSrcPos].nNum) + goto fail_return; + + pSrcItem = &m_sItemArray[INVENTORY_COSP + bSrcPos]; + pDstItem = &m_sItemArray[SLOT_MAX + bDstPos]; + + pTableSrc = g_pMain->GetItemPtr(pDstItem->nNum); + if (pDstItem->nNum != 0 + && (pTableSrc == nullptr || pTableSrc->m_bSlot != pTable->m_bSlot || !IsValidSlotPos(pTableSrc, bSrcPos))) + goto fail_return; + + break; + + case ITEM_PET_TO_INVEN: + if((pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + goto fail_return; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum() + || nItemID != 700012000) + goto fail_return; + + newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if (bSrcPos >= PET_MAX || bDstPos >= HAVE_MAX + || nItemID != newPet->m_sItemArray[bSrcPos].nNum + || m_sItemArray[SLOT_MAX + bDstPos].nNum > 0) + goto fail_return; + + pDstItem = &m_sItemArray[SLOT_MAX + bDstPos]; + pSrcItem = &newPet->m_sItemArray[bSrcPos]; + break; + + case ITEM_INVEN_TO_PET: + if((pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + goto fail_return; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum() + || nItemID != 700012000) + goto fail_return; + + newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if (bSrcPos >= HAVE_MAX || bDstPos >= PET_MAX + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[SLOT_MAX + bSrcPos].nNum + || newPet->m_sItemArray[bDstPos].nNum > 0) + goto fail_return; + + pDstItem = &newPet->m_sItemArray[bDstPos]; + pSrcItem = &m_sItemArray[SLOT_MAX + bSrcPos]; + break; + + + case ITEM_INVEN_TO_COSP: + if (bDstPos >= COSP_MAX+MBAG_COUNT || bSrcPos >= HAVE_MAX + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[SLOT_MAX + bSrcPos].nNum + || !IsValidSlotPos(pTable, bDstPos)){ + goto fail_return; + } + + pSrcItem = &m_sItemArray[SLOT_MAX + bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_COSP + bDstPos]; + + // If we're setting a magic bag... + if (bDstPos == COSP_BAG1 || bDstPos == COSP_BAG2) + { + // Can't replace existing magic bag. + if (pDstItem->nNum != 0 + // Can't set any old item in the bag slot, it must be a bag. + || pTable->m_bSlot != ItemSlotBag) + goto fail_return; + } + + pTableSrc = g_pMain->GetItemPtr(pDstItem->nNum); + if (pDstItem->nNum != 0 && !IsValidSlotPos(pTableSrc, bDstPos)) + goto fail_return; + break; + + case ITEM_INVEN_SLOT: + if (bDstPos >= SLOT_MAX || bSrcPos >= HAVE_MAX + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[INVENTORY_INVENT + bSrcPos].nNum + // Disable duplicate item moving to slot. + || m_sItemArray[INVENTORY_INVENT + bSrcPos].isDuplicate() + // Ensure the item is able to be equipped in that slot + || !IsValidSlotPos(pTable, bDstPos)) + goto fail_return; + + isSlotInven = true; + + pSrcItem = &m_sItemArray[INVENTORY_INVENT + bSrcPos]; + pDstItem = &m_sItemArray[bDstPos]; + pRightHand = &m_sItemArray[RIGHTHAND]; + pLeftHand = &m_sItemArray[LEFTHAND]; + + if(pTable->m_bSlot == 0x01 || (pTable->m_bSlot == 0x00 && bDstPos == RIGHTHAND)) + { + if( pLeftHand->nNum != 0 ) + { + _ITEM_TABLE* pTable2 = g_pMain->GetItemPtr( pLeftHand->nNum ); + + if(pTable2 == nullptr) + goto fail_return; + + if(pTable2->m_bSlot == 0x04) + { + // Sol elde tek el item var ise kalkan vs item geldiğinde sol eldeki itemi düşür. + memcpy(pRightHand, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, pLeftHand, sizeof(_ITEM_DATA)); + memset(pLeftHand, 0, sizeof(_ITEM_DATA)); + } + else + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else if(pTable->m_bSlot == 0x02 || (pTable->m_bSlot == 0x00 && bDstPos == LEFTHAND)) + { + if(pRightHand->nNum != 0 ) + { + _ITEM_TABLE* pTable2 = g_pMain->GetItemPtr(pRightHand->nNum); + + if(pTable2 == nullptr) + goto fail_return; + + if(pTable2->m_bSlot == 0x03) + { + memcpy(pLeftHand, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, pRightHand, sizeof(_ITEM_DATA)); + memset(pRightHand, 0, sizeof(_ITEM_DATA)); + } + else + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else if(pTable->m_bSlot == 0x03) + { + if( pLeftHand->nNum != 0 && pRightHand->nNum != 0 ) // her iki el de dolu ise işlem yapma + goto fail_return; + else if( pLeftHand->nNum != 0) // sol el dolu ise + { + memcpy(pRightHand, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, pLeftHand, sizeof(_ITEM_DATA)); + memset(pLeftHand, 0, sizeof(_ITEM_DATA)); + } + else // her iki ihtimal de yok ise normal işlem yap + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else if (pTable->m_bSlot == 0x04) + { + if( pLeftHand->nNum != 0 && pRightHand->nNum != 0 ) // her iki el de dolu ise işlem yapma + goto fail_return; + else if(pRightHand->nNum != 0) + { + memcpy(pLeftHand, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, pRightHand, sizeof(_ITEM_DATA)); + memset(pRightHand, 0, sizeof(_ITEM_DATA)); + } + else // her iki ihtimal de yok ise normal işlem yap + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + } + else + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); + } + break; + + case ITEM_SLOT_INVEN: + if (bDstPos >= HAVE_MAX || bSrcPos >= SLOT_MAX + // Make sure that the item actually exists there. + || m_sItemArray[SLOT_MAX+bDstPos].nNum != 0 + || nItemID != m_sItemArray[bSrcPos].nNum) + goto fail_return; + + if(isSummonPet && nItemID == 610001000) + goto fail_return; + + pSrcItem = &m_sItemArray[bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_INVENT + bDstPos]; + break; + + case ITEM_INVEN_INVEN: + if (bDstPos >= HAVE_MAX || bSrcPos >= HAVE_MAX + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[INVENTORY_INVENT + bSrcPos].nNum) + goto fail_return; + + pSrcItem = &m_sItemArray[INVENTORY_INVENT + bSrcPos]; + pDstItem = &m_sItemArray[INVENTORY_INVENT + bDstPos]; + break; + + case ITEM_SLOT_SLOT: + if (bDstPos >= SLOT_MAX || bSrcPos >= SLOT_MAX + // Make sure that the item actually exists there. + || nItemID != m_sItemArray[bSrcPos].nNum + // Ensure the item is able to be equipped in that slot + || !IsValidSlotPos(pTable, bDstPos)) + goto fail_return; + + pSrcItem = &m_sItemArray[bSrcPos]; + pDstItem = &m_sItemArray[bDstPos]; + break; + + default: + goto fail_return; + break; + //return; + } + + if(!isSlotInven){ + // If there's an item already in the target slot already, we need to just swap the items + if(dir == ITEM_INVEN_TO_MBAG && pSrcItem->nNum == pDstItem->nNum) + { + if(pTable->m_bCountable && pSrcItem->sCount + pDstItem->sCount < ITEMCOUNT_MAX) + { + pDstItem->sCount += pSrcItem->sCount; + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); // Clear out the source item's data + } + else + goto fail_return; + } + else if (pDstItem->nNum != 0) + { + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); // Temporarily store the target item + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); // Replace the target item with the source + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); // Now replace the source with the old target (swapping them) + } + // Since there's no way to move a partial stack using this handler, just overwrite the destination. + else + { + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); // Shift the item over + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); // Clear out the source item's data + } + } + + // If equipping/de-equipping an item + if (dir == ITEM_INVEN_SLOT || dir == ITEM_SLOT_INVEN + // or moving an item to/from our cospre item slots + || dir == ITEM_INVEN_TO_COSP || dir == ITEM_COSP_TO_INVEN + || dir == ITEM_SLOT_SLOT) + { + // Re-update item stats + SetUserAbility(false); + } + + SendItemMove(1); + SendItemWeight(); + + + + // Update everyone else, so that they can see your shiny new items (you didn't take them off did you!? DID YOU!?) + switch (dir) + { + case ITEM_INVEN_SLOT: + case ITEM_INVEN_TO_COSP: + UserLookChange(bDstPos, nItemID, pDstItem->sDuration); + break; + case ITEM_SLOT_INVEN: + UserLookChange(bSrcPos, pSrcItem->nNum, pSrcItem->sDuration); + break; + case ITEM_COSP_TO_INVEN: + UserLookChange(bSrcPos, pSrcItem->nNum, pSrcItem->sDuration); + break; + + case ITEM_SLOT_SLOT: + UserLookChange(bSrcPos, pSrcItem->nNum, pSrcItem->sDuration); + UserLookChange(bDstPos, pDstItem->nNum, pDstItem->sDuration); + break; + } + + Send2AI_UserUpdateInfo(); + return; + +fail_return: + SendItemMove(0); + return; +} + +bool CUser::CheckExchange(int nExchangeID) +{ + // Does the exchange exist? + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return false; + + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + if (pExchange == nullptr) + return false; + uint16 sFreeSlot = -1; + + // Find free slots in the inventory, so that we can check against this later. + uint8 bFreeSlots = 0; + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + if (m_sItemArray[i].nNum == 0 + && ++bFreeSlots >= ITEMS_IN_EXCHANGE_GROUP) + break; + } + + // Add up the rates for this exchange to obtain a total percentage + int nTotalPercent = 0; + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + nTotalPercent += pExchange->sExchangeItemCount[i]; + + if (nTotalPercent > 9000) + return (bFreeSlots > 0); + + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + if (m_sItemArray[i].nNum == 0) + { + sFreeSlot = i; + break; + } + } + + if (sFreeSlot < 0) + { + return false; + } + + // Can we hold all of these items? If we can't, we have a problem. + uint8 bReqSlots = 0; + uint32 nReqWeight = 0; + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + uint32 nItemID = pExchange->nExchangeItemNum[i]; + + // Does the item exist? If not, we'll ignore it (NOTE: not official behaviour). + _ITEM_TABLE * pTable = nullptr; + if (nItemID == 0 + || (pTable = g_pMain->GetItemPtr(nItemID)) == nullptr) + continue; + + // Try to find a slot for the item. + // If we can't find an applicable slot with our inventory as-is, + // there's no point even checking further. + int pos; + if ((pos = FindSlotForItem(nItemID, 1)) < 0) + return false; + + // Now that we have our slot, see if it's in use (i.e. if adding a stackable item) + // If it's in use, then we don't have to worry about requiring an extra slot for this item. + // The only caveat here is with having multiple of the same stackable item: + // theoretically we could give them OK, but when it comes time to adding them, we'll find that + // there's too many of them and they can't fit in the same slot. + // As this isn't an issue with real use cases, we can ignore it. + _ITEM_DATA *pItem = GetItem(pos); + if (pItem->nNum == 0) + bReqSlots++; // new item? new required slot. + + // Also take into account weight (not official behaviour) + nReqWeight += pTable->m_sWeight; + } + + // Holding too much already? + /*if (m_sItemWeight + nReqWeight > m_sMaxWeight) + return false;*/ + // Chaotic Generator ağırlık bugu + + if (isTrading() || isMerchanting() || isMining() || m_bMerchantStatex) + return false; + // Do we have enough slots? + return (bFreeSlots >= bReqSlots); +} + +bool CUser::CheckSpecialExchange(int nExchangeID) +{ + // Does the exchange exist? + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return false; + + _ITEM_MIX * pExchange = g_pMain->m_ItemMixArray.GetData(nExchangeID); + if (pExchange == nullptr) + return false; + uint16 sFreeSlot = -1; + + // Find free slots in the inventory, so that we can check against this later. + uint8 bFreeSlots = 0; + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + if (m_sItemArray[i].nNum == 0 + && ++bFreeSlots >= ITEMS_IN_SPECIAL_EXCHANGE_GROUP) + break; + } + + // Add up the rates for this exchange to obtain a total percentage + int nTotalPercent = 0; + for (int i = 0; i < ITEMS_IN_SPECIAL_EXCHANGE_GROUP; i++) + nTotalPercent += pExchange->sExchangeItemCount[i]; + + if (nTotalPercent > 9000) + return (bFreeSlots > 0); + + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + if (m_sItemArray[i].nNum == 0) + { + sFreeSlot = i; + break; + } + } + + if (sFreeSlot < 0) + { + return false; + } + + // Can we hold all of these items? If we can't, we have a problem. + uint8 bReqSlots = 0; + uint32 nReqWeight = 0; + for (int i = 0; i < ITEMS_IN_SPECIAL_EXCHANGE_GROUP; i++) + { + uint32 nItemID = pExchange->nExchangeItemNum[i]; + + // Does the item exist? If not, we'll ignore it (NOTE: not official behaviour). + _ITEM_TABLE * pTable = nullptr; + if (nItemID == 0 + || (pTable = g_pMain->GetItemPtr(nItemID)) == nullptr) + continue; + + // Try to find a slot for the item. + // If we can't find an applicable slot with our inventory as-is, + // there's no point even checking further. + int pos; + if ((pos = FindSlotForItem(nItemID, 1)) < 0) + return false; + + // Now that we have our slot, see if it's in use (i.e. if adding a stackable item) + // If it's in use, then we don't have to worry about requiring an extra slot for this item. + // The only caveat here is with having multiple of the same stackable item: + // theoretically we could give them OK, but when it comes time to adding them, we'll find that + // there's too many of them and they can't fit in the same slot. + // As this isn't an issue with real use cases, we can ignore it. + _ITEM_DATA *pItem = GetItem(pos); + if (pItem->nNum == 0) + bReqSlots++; // new item? new required slot. + + // Also take into account weight (not official behaviour) + nReqWeight += pTable->m_sWeight; + } + + // Holding too much already? + /*if (m_sItemWeight + nReqWeight > m_sMaxWeight) + return false;*/ + // Chaotic Generator ağırlık bugu + + if (isTrading() || isMerchanting() || isMining() || m_bMerchantStatex) + return false; + // Do we have enough slots? + return (bFreeSlots >= bReqSlots); +} + +bool CUser::RunExchange(int nExchangeID, uint16 count) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return false; + + + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + uint16 temp_sOriginItemCount0 = 0; + uint16 temp_sOriginItemCount1 = 0; + uint16 temp_sOriginItemCount2 = 0; + uint16 temp_sOriginItemCount3 = 0; + uint16 temp_sOriginItemCount4 = 0; + + uint16 temp_sCount = 0; + + if (pExchange != nullptr) + { + uint16 sItemCount[5]; + sItemCount[0] = GetItemCount(pExchange->nOriginItemNum[0]); + sItemCount[1] = GetItemCount(pExchange->nOriginItemNum[1]); + sItemCount[2] = GetItemCount(pExchange->nOriginItemNum[2]); + sItemCount[3] = GetItemCount(pExchange->nOriginItemNum[3]); + sItemCount[4] = GetItemCount(pExchange->nOriginItemNum[4]); + temp_sCount = sItemCount[0]; + + for (int i = 1; i < 5; i++){ + if (sItemCount[i] < temp_sCount && sItemCount[i] != 0) + temp_sCount = sItemCount[i]; + } + + if (temp_sCount >= count) + temp_sCount = count; + + temp_sOriginItemCount0 = pExchange->nOriginItemNum[0] == 0 ? 0 : (count == 0 ? pExchange->sOriginItemCount[0] : temp_sCount); + temp_sOriginItemCount1 = pExchange->nOriginItemNum[1] == 0 ? 0 : (count == 0 ? pExchange->sOriginItemCount[1] : temp_sCount); + temp_sOriginItemCount2 = pExchange->nOriginItemNum[2] == 0 ? 0 : (count == 0 ? pExchange->sOriginItemCount[2] : temp_sCount); + temp_sOriginItemCount3 = pExchange->nOriginItemNum[3] == 0 ? 0 : (count == 0 ? pExchange->sOriginItemCount[3] : temp_sCount); + temp_sOriginItemCount4 = pExchange->nOriginItemNum[4] == 0 ? 0 : (count == 0 ? pExchange->sOriginItemCount[4] : temp_sCount); + } + + if (isTrading() || isMerchanting() || isMining() || m_bMerchantStatex) + return false; + + if (pExchange == nullptr + // Is it a valid exchange (do we have room?) + || !CheckExchange(nExchangeID) + // We handle flags from 0-101 only. Anything else is broken. + || pExchange->bRandomFlag > 101) + return false; + + // Do we have all of the required items? + if(CheckExistItemAnd( + pExchange->nOriginItemNum[0], temp_sOriginItemCount0, + pExchange->nOriginItemNum[1], temp_sOriginItemCount1, + pExchange->nOriginItemNum[2], temp_sOriginItemCount2, + pExchange->nOriginItemNum[3], temp_sOriginItemCount3, + pExchange->nOriginItemNum[4], temp_sOriginItemCount4)) + { + // These checks are a little pointless, but remove the required items as well. + RobItem(pExchange->nOriginItemNum[0], temp_sOriginItemCount0); + RobItem(pExchange->nOriginItemNum[1], temp_sOriginItemCount1); + RobItem(pExchange->nOriginItemNum[2], temp_sOriginItemCount2); + RobItem(pExchange->nOriginItemNum[3], temp_sOriginItemCount3); + RobItem(pExchange->nOriginItemNum[4], temp_sOriginItemCount4); + } + + if(pExchange->nOriginItemNum[2] == 900000000) + { + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + if(pExchange->nOriginItemNum[i] == 900000000) + GoldLose(pExchange->sOriginItemCount[i],true); + + if(pExchange->nOriginItemNum[i] != 900000000) + RobItem(pExchange->nOriginItemNum[i], pExchange->sOriginItemCount[i]); + + } + } + + // No random element? We're just exchanging x items for y items. + if (!pExchange->bRandomFlag || pExchange->bRandomFlag == 10 || pExchange->bRandomFlag == 11 || pExchange->bRandomFlag == 12 || pExchange->bRandomFlag == 0) + { + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + bool item=false; + if (count == 0) + { + if (pExchange->nExchangeItemNum[i]==900000000)//noah + { + GoldGain(pExchange->sExchangeItemCount[i],true,false); + item =true; + } + else if (pExchange->nExchangeItemNum[i]==900001000)//exp + { + ExpChange(pExchange->sExchangeItemCount[i],true); + item =true; + } + else if (pExchange->nExchangeItemNum[i]==900002000||pExchange->nExchangeItemNum[i]==900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchange->sExchangeItemCount[i],false); + item =true; + } + else if (pExchange->nExchangeItemNum[i]==900004000 //random + || pExchange->nExchangeItemNum[i]==900005000 //hunt + || pExchange->nExchangeItemNum[i]==900006000 //Jobchange + || pExchange->nExchangeItemNum[i]==900007000 //Skill + || pExchange->nExchangeItemNum[i]==900008000 //Killopponentcountry + || pExchange->nExchangeItemNum[i]==900009000 //Transport + || pExchange->nExchangeItemNum[i]==900010000 //LevelUp + || pExchange->nExchangeItemNum[i]==900011000 //War + ) + { + item =true; + } + + else if(!item) + { + GiveItem(pExchange->nExchangeItemNum[i], pExchange->sExchangeItemCount[i]); + } + } + else if (pExchange->nExchangeItemNum[i]==900000000)//noah + { + GoldGain(pExchange->sExchangeItemCount[i]*count,true,false); + item =true; + } + else if (pExchange->nExchangeItemNum[i]==900001000)//exp + { + ExpChange(pExchange->sExchangeItemCount[i]*count,true); + item =true; + } + else if (pExchange->nExchangeItemNum[i]==900002000||pExchange->nExchangeItemNum[i]==900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchange->sExchangeItemCount[i]*count,false); + item =true; + } + else + GiveItem(pExchange->nExchangeItemNum[i], temp_sCount); + + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[0],pExchange->sExchangeItemCount[0], + pExchange->nExchangeItemNum[1],pExchange->sExchangeItemCount[1], + pExchange->nExchangeItemNum[2],pExchange->sExchangeItemCount[2], + pExchange->nExchangeItemNum[3],pExchange->sExchangeItemCount[3], + pExchange->nExchangeItemNum[4],pExchange->sExchangeItemCount[4]); + } + } + else if(pExchange->bRandomFlag == 20) + { + if (PremiumID > 0 ) + { + if(pExchange->nExchangeItemNum[3] == 900001000) + ExpChange(pExchange->sExchangeItemCount[3],true); + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[3],pExchange->sExchangeItemCount[3],0,0,0,0,0,0,0,0); + } + else + { + if(pExchange->nExchangeItemNum[0] == 900001000) + ExpChange(pExchange->sExchangeItemCount[0],true); + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[0],pExchange->sExchangeItemCount[0],0,0,0,0,0,0,0,0); + } + } + else if(pExchange->bRandomFlag == 30) + { + if (PremiumID > 0 ) + { + if(pExchange->nExchangeItemNum[3] == 900001000) + ExpChange(pExchange->sExchangeItemCount[3],true); + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[3],pExchange->sExchangeItemCount[3],0,0,0,0,0,0,0,0); + } + else + { + if(pExchange->nExchangeItemNum[0] == 900001000) + ExpChange(pExchange->sExchangeItemCount[0],true); + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[0],pExchange->sExchangeItemCount[0],0,0,0,0,0,0,0,0); + } + } + // For these items the rate set by bRandomFlag. + else if (pExchange->bRandomFlag <= 100) + { + int rand = myrand(0, 1000 * pExchange->bRandomFlag) / 1000; + if (rand >= 5) + rand = 4; + + if (rand <= 4) + GiveItem(pExchange->nExchangeItemNum[rand], pExchange->sExchangeItemCount[rand]); + } + // For 101, the rates are determined by sExchangeItemCount. + else if (pExchange->bRandomFlag == 101) + { + uint32 nTotalPercent = 0; + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + nTotalPercent += pExchange->sExchangeItemCount[i]; + + // If they add up to more than 100%, + if (nTotalPercent > 10000) + { + TRACE("Exchange %d is invalid. Rates add up to more than 100%% (%d%%)", nExchangeID, nTotalPercent / 100); + return false; + } + + // Holy stack batman! We're just going ahead and copying official for now. + // NOTE: Officially they even use 2 bytes per element. Yikes. + uint8 bRandArray[10000]; + memset(&bRandArray, 0, sizeof(bRandArray)); // default to 0 in case it's lower than 100% (in which case, first item's rate increases) + + // Copy the counts, as we're going to adjust them locally. + uint16 sExchangeCount[ITEMS_IN_EXCHANGE_GROUP]; + + memcpy(&sExchangeCount, &pExchange->sExchangeItemCount, sizeof(pExchange->sExchangeItemCount)); + + // Build array of exchange item slots (0-4) + int offset = 0; + for (int n = 0, i = 0; n < ITEMS_IN_EXCHANGE_GROUP; n++) + { + if (sExchangeCount[n] > 0) + { + memset(&bRandArray[offset], n, sExchangeCount[n]); + offset += sExchangeCount[n]; + } + } + + // Pull our exchange item slot out of our hat (the array we generated). + uint8 bRandSlot = bRandArray[myrand(0, 9999)]; + uint32 nItemID = pExchange->nExchangeItemNum[bRandSlot]; + + // Finally, give our item. + GiveItem(nItemID, 1); + + V3_QuestShowGiveItem(nItemID, 1, 0, 0, 0, 0, 0, 0, 0, 0); + } + + return true; +} + +bool CUser::RunSelectExchange(int nExchangeID, uint32 Count) +{ + if (isDead() || isTrading() || isStoreOpen() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isMining()) + return false; + + if (bMenuID >= 0 && bySelectedReward == -1) + { + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + if (pExchange == nullptr || !CheckExchange(nExchangeID)) + return false; + + // These checks are a little pointless, but remove the required items as well. + RobItem(pExchange->nOriginItemNum[bMenuID], pExchange->sOriginItemCount[bMenuID]); + + // No random element? We're just exchanging x items for y items. + if (!pExchange->bRandomFlag + || pExchange->bRandomFlag == 10 + || pExchange->bRandomFlag == 11 + || pExchange->bRandomFlag == 12 + || pExchange->bRandomFlag == 20 + || pExchange->bRandomFlag == 0) + { + bool m_ItemExchange = false; + if (pExchange->nExchangeItemNum[bMenuID] == 900000000)//noah + { + GoldGain(pExchange->sExchangeItemCount[bMenuID]); + m_ItemExchange = true; + } + else if (pExchange->nExchangeItemNum[bMenuID] == 900001000)//exp + { + ExpChange(pExchange->sExchangeItemCount[bMenuID], true); + m_ItemExchange = true; + } + else if (pExchange->nExchangeItemNum[bMenuID] == 900002000||pExchange->nExchangeItemNum[bMenuID] == 900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchange->sExchangeItemCount[bMenuID]); + m_ItemExchange = true; + } + else if (pExchange->nExchangeItemNum[bMenuID] == 900004000 //random + || pExchange->nExchangeItemNum[bMenuID] == 900005000 //hunt + || pExchange->nExchangeItemNum[bMenuID] == 900006000 //Jobchange + || pExchange->nExchangeItemNum[bMenuID] == 900007000 //Skill + || pExchange->nExchangeItemNum[bMenuID] == 900008000 //Killopponentcountry + || pExchange->nExchangeItemNum[bMenuID] == 900009000 //Transport + || pExchange->nExchangeItemNum[bMenuID] == 900010000 //LevelUp + || pExchange->nExchangeItemNum[bMenuID] == 900011000 //War + ) + { + m_ItemExchange = true; + } + + else if(!m_ItemExchange) + { + GiveItem(pExchange->nExchangeItemNum[bMenuID], pExchange->sExchangeItemCount[bMenuID]); + } + } + + _ITEM_EXCHANGE_EXP * pExchangeExp = g_pMain->m_ItemExchangeExpArray.GetData(nExchangeID); + + if (pExchangeExp == nullptr) + return false; + + // No random element? We're just exchanging x items for y items. + if (!pExchangeExp->bRandomFlag + || pExchangeExp->bRandomFlag == 10 + || pExchangeExp->bRandomFlag == 11 + || pExchangeExp->bRandomFlag == 12 + || pExchangeExp->bRandomFlag == 20 + || pExchangeExp->bRandomFlag == 0) + { + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + bool m_ItemExchangeExp = false; + if (pExchangeExp->nExchangeItemNum[i] == 900000000)//noah + { + GoldGain(pExchangeExp->sExchangeItemCount[i]); + m_ItemExchangeExp = true; + } + else if (pExchangeExp->nExchangeItemNum[i] == 900001000)//exp + { + ExpChange(pExchangeExp->sExchangeItemCount[i], true); + m_ItemExchangeExp = true; + } + else if (pExchangeExp->nExchangeItemNum[i] == 900002000 + || pExchangeExp->nExchangeItemNum[i] == 900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchangeExp->sExchangeItemCount[i]); + m_ItemExchangeExp = true; + } + else if (pExchangeExp->nExchangeItemNum[i] == 900004000 //random + || pExchangeExp->nExchangeItemNum[i] == 900005000 //hunt + || pExchangeExp->nExchangeItemNum[i] == 900006000 //Jobchange + || pExchangeExp->nExchangeItemNum[i] == 900007000 //Skill + || pExchangeExp->nExchangeItemNum[i] == 900008000 //Killopponentcountry + || pExchangeExp->nExchangeItemNum[i] == 900009000 //Transport + || pExchangeExp->nExchangeItemNum[i] == 900010000 //LevelUp + || pExchangeExp->nExchangeItemNum[i] == 900011000 //War + ) + { + m_ItemExchangeExp = true; + } + + else if(!m_ItemExchangeExp) + { + GiveItem(pExchangeExp->nExchangeItemNum[i], pExchangeExp->sExchangeItemCount[i]); + + V3_QuestShowGiveItem(pExchangeExp->nExchangeItemNum[0],pExchangeExp->sExchangeItemCount[0], + pExchangeExp->nExchangeItemNum[1],pExchangeExp->sExchangeItemCount[1], + pExchangeExp->nExchangeItemNum[2],pExchangeExp->sExchangeItemCount[2], + pExchangeExp->nExchangeItemNum[3],pExchangeExp->sExchangeItemCount[3], + pExchange->nExchangeItemNum[bMenuID],pExchange->sExchangeItemCount[bMenuID]); + } + } + } + } + else if (bMenuID >= 0 && bySelectedReward != -1) + { + + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + if (pExchange == nullptr || !CheckExchange(nExchangeID)) + return false; + + _ITEM_EXCHANGE_EXP * pExchangeExp = g_pMain->m_ItemExchangeExpArray.GetData(nExchangeID); + + if (pExchangeExp == nullptr) + return false; + + // No random element? We're just exchanging x items for y items. + if (!pExchangeExp->bRandomFlag + || pExchangeExp->bRandomFlag == 10 + || pExchangeExp->bRandomFlag == 11 + || pExchangeExp->bRandomFlag == 12 + || pExchangeExp->bRandomFlag == 20 + || pExchangeExp->bRandomFlag == 0) + { + bool m_ItemExchange = false; + if (pExchangeExp->nExchangeItemNum[bySelectedReward] == 900000000)//noah + { + GoldGain(pExchangeExp->sExchangeItemCount[bySelectedReward]); + m_ItemExchange = true; + } + else if (pExchangeExp->nExchangeItemNum[bySelectedReward] == 900001000)//exp + { + ExpChange(pExchangeExp->sExchangeItemCount[bySelectedReward], true); + m_ItemExchange = true; + } + else if (pExchangeExp->nExchangeItemNum[bySelectedReward] == 900002000 + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchangeExp->sExchangeItemCount[bySelectedReward]); + m_ItemExchange = true; + } + else if (pExchangeExp->nExchangeItemNum[bySelectedReward] == 900004000 //random + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900005000 //hunt + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900006000 //Jobchange + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900007000 //Skill + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900008000 //Killopponentcountry + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900009000 //Transport + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900010000 //LevelUp + || pExchangeExp->nExchangeItemNum[bySelectedReward] == 900011000 //War + ) + { + m_ItemExchange = true; + } + + else if(!m_ItemExchange) + { + + GiveItem(pExchangeExp->nExchangeItemNum[bySelectedReward], pExchangeExp->sExchangeItemCount[bySelectedReward]); + V3_QuestShowGiveItem(pExchange->nExchangeItemNum[0],pExchange->sExchangeItemCount[0], + pExchange->nExchangeItemNum[1],pExchange->sExchangeItemCount[1], + pExchange->nExchangeItemNum[2],pExchange->sExchangeItemCount[2], + pExchange->nExchangeItemNum[3],pExchange->sExchangeItemCount[3], + pExchangeExp->nExchangeItemNum[bySelectedReward],pExchangeExp->sExchangeItemCount[bySelectedReward]); + } + } + + _ITEM_EXCHANGE * pExchangeExps = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + if (pExchangeExps == nullptr) + return false; + + // No random element? We're just exchanging x items for y items. + if (!pExchangeExps->bRandomFlag + || pExchangeExps->bRandomFlag == 10 + || pExchangeExps->bRandomFlag == 11 + || pExchangeExps->bRandomFlag == 12 + || pExchangeExps->bRandomFlag == 20 + || pExchangeExps->bRandomFlag == 0) + { + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + bool m_ItemExchangeExps = false; + if (pExchangeExps->nExchangeItemNum[i] == 900000000)//noah + { + GoldGain(pExchangeExps->sExchangeItemCount[i]); + m_ItemExchangeExps = true; + } + else if (pExchangeExps->nExchangeItemNum[i] == 900001000)//exp + { + ExpChange(pExchangeExps->sExchangeItemCount[i], true); + m_ItemExchangeExps = true; + } + else if (pExchangeExps->nExchangeItemNum[i] == 900002000 + || pExchangeExps->nExchangeItemNum[i] == 900003000)//Country CONT Ladder Point + { + SendLoyaltyChange(pExchangeExps->sExchangeItemCount[i]); + m_ItemExchangeExps = true; + } + else if (pExchangeExps->nExchangeItemNum[i] == 900004000 //random + || pExchangeExps->nExchangeItemNum[i] == 900005000 //hunt + || pExchangeExps->nExchangeItemNum[i] == 900006000 //Jobchange + || pExchangeExps->nExchangeItemNum[i] == 900007000 //Skill + || pExchangeExps->nExchangeItemNum[i] == 900008000 //Killopponentcountry + || pExchangeExps->nExchangeItemNum[i] == 900009000 //Transport + || pExchangeExps->nExchangeItemNum[i] == 900010000 //LevelUp + || pExchangeExps->nExchangeItemNum[i] == 900011000 //War + ) + { + m_ItemExchangeExps = true; + } + + else if(m_ItemExchangeExps) + { + GiveItem(pExchangeExps->nExchangeItemNum[i], pExchangeExps->sExchangeItemCount[i]); + V3_QuestShowGiveItem(pExchangeExps->nExchangeItemNum[0],pExchangeExps->sExchangeItemCount[0], + pExchangeExps->nExchangeItemNum[1],pExchangeExps->sExchangeItemCount[1], + pExchangeExps->nExchangeItemNum[2],pExchangeExps->sExchangeItemCount[2], + pExchangeExps->nExchangeItemNum[3],pExchangeExps->sExchangeItemCount[3], + pExchange->nExchangeItemNum[i],pExchange->sExchangeItemCount[i]); + } + } + } + + } + return true; +} + + +uint32 CUser::GetMaxExchange(int nExchangeID) +{ + uint16 sResult = 0; + _ITEM_TABLE * pTable; + uint16 temp_sCount = 0; + + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + if (pExchange != nullptr) + { + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + { + pTable = g_pMain->GetItemPtr(pExchange->nOriginItemNum[i]); + if (pTable != nullptr) + temp_sCount += GetItemCount(pExchange->nOriginItemNum[i]); + } + + sResult = temp_sCount; + } + + return sResult; +} + +bool CUser::IsValidSlotPos(_ITEM_TABLE* pTable, int destpos) +{ + if (pTable == nullptr) + return false; + + + bool bOneHandedItem = false; + switch (pTable->m_bSlot) + { + case ItemSlot1HEitherHand: + if (destpos != RIGHTHAND && destpos != LEFTHAND) + return false; + + bOneHandedItem = true; + break; + + case ItemSlot1HRightHand: + if (destpos != RIGHTHAND) + return false; + + bOneHandedItem = true; + break; + + // If we're equipping a 2H item in our right hand, there must + // be no item in our left hand. + case ItemSlot2HRightHand: // + if (destpos != RIGHTHAND || GetItem(LEFTHAND)->nNum != 0) + { + _ITEM_DATA *pSrcItem = GetItem(LEFTHAND), *pDstItem = GetItem(RIGHTHAND), tmpItem ; + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); // Temporarily store the target item + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); // Replace the target item with the source + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); // Now replace the source with the old target (swapping them) + } + break; + + case ItemSlot1HLeftHand: + if (destpos != LEFTHAND) + return false; + bOneHandedItem = true; + break; + + // If we're equipping a 2H item in our left hand, there must + // be no item in our right hand. + case ItemSlot2HLeftHand:// + if (destpos != LEFTHAND || GetItem(RIGHTHAND)->nNum != 0) + { + _ITEM_DATA *pSrcItem = GetItem(RIGHTHAND), *pDstItem = GetItem(LEFTHAND), tmpItem ; + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); // Temporarily store the target item + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); // Replace the target item with the source + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); // Now replace the source with the old target (swapping them) + } + break; + + case ItemSlotPauldron: + if (destpos != BREAST) + return false; + break; + + case ItemSlotPads: + if (destpos != LEG) + return false; + break; + + case ItemSlotHelmet: + if (destpos != HEAD) + return false; + break; + + case ItemSlotGloves: + if (destpos != GLOVE) + return false; + break; + + case ItemSlotBoots: + if (destpos != FOOT) + return false; + break; + + case ItemSlotEarring: + if (destpos != RIGHTEAR && destpos != LEFTEAR) + return false; + break; + + case ItemSlotNecklace: + if (destpos != NECK) + return false; + break; + + case ItemSlotRing: + if (destpos != RIGHTRING && destpos != LEFTRING) + return false; + break; + + case ItemSlotPet: + case ItemSlotShoulder: + if (destpos != SHOULDER) + return false; + break; + + case ItemSlotBelt: + if (destpos != WAIST) + return false; + break; + + case ItemSlotCospreGloves: + if (destpos != COSP_GLOVE && destpos != COSP_GLOVE2) + return false; + break; + + case ItemSlotCosprePauldron: + if (destpos != COSP_BREAST) + return false; + break; + + case ItemSlotCospreHelmet: + if (destpos != COSP_HELMET) + return false; + break; + + case ItemSlotCospreWings: + if (destpos != COSP_WINGS) + return false; + break; + + case ItemSlotCospreFairy: + if (destpos != COSP_FAIRY) + return false; + break; + + case ItemSlotBag: + if (destpos != COSP_BAG1 && destpos != COSP_BAG2) + return false; + break; + default: + return false; + } + + // 1H items can only be equipped when a 2H item isn't equipped. + if (bOneHandedItem) + { + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable2 = GetItemPrototype(destpos == LEFTHAND ? RIGHTHAND : LEFTHAND, pItem); + if (pTable2 != nullptr && pTable2->is2Handed()) + { + _ITEM_DATA *pSrcItem = GetItem(RIGHTHAND), *pDstItem = GetItem(LEFTHAND), tmpItem ; + memcpy(&tmpItem, pDstItem, sizeof(_ITEM_DATA)); // Temporarily store the target item + memcpy(pDstItem, pSrcItem, sizeof(_ITEM_DATA)); // Replace the target item with the source + memcpy(pSrcItem, &tmpItem, sizeof(_ITEM_DATA)); // Now replace the source with the old target (swapping them) + } + } + + return true; +} + +void CUser::SendStackChangeSpecial(uint32 nItemID, uint32 nCount /* needs to be 4 bytes, not a bug */, uint16 sDurability, uint8 bPos, bool bNewItem /* = false */, uint32 Time, _ITEM_DATA * pItem) +{ + Packet result(WIZ_ITEM_COUNT_CHANGE); + + result << uint16(1); + result << uint8(1); + result << uint8(bPos); + result << nItemID << nCount; + result << uint8(bNewItem ? 100 : 0); + result << sDurability; + + if (Time != 0) + { + Time = int32(UNIXTIME) + ((60 * 60 * 24) * Time); + } + else + { + Time = 0; + } + + if (pItem != nullptr) + { + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(pItem->nSerialNum); + CPet * pPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(pRingData != nullptr) + result << pRingData->ID; + if(pPet != nullptr) + result << pPet->SpecialPetID; + } + + if (Time != 0) + { + result << Time << Time; + } + + SetUserAbility(false); + SendItemWeight(); + + Send(&result); +} + + +void CUser::SendStackChange(uint32 nItemID, uint32 nCount /* needs to be 4 bytes, not a bug */, uint16 sDurability, uint8 bPos, bool bNewItem /* = false */, uint32 Time) +{ + Packet result(WIZ_ITEM_COUNT_CHANGE); + + result << uint16(1); + result << uint8(1); + result << uint8(bPos); + result << nItemID << nCount; + result << uint8(bNewItem ? 100 : 0); + result << sDurability; + + if (Time != 0) + { + Time = int32(UNIXTIME) + ((60 * 60 * 24) * Time); + } + else + { + Time = 0; + } + + + + if (Time != 0) + { + result << Time << Time; + } + + SetUserAbility(false); + SendItemWeight(); + + Send(&result); +} +void CUser::ItemRemove(Packet & pkt) +{ + Packet result(WIZ_ITEM_REMOVE); + _ITEM_DATA * pItem; + uint8 bType, bPos; + uint32 nItemID; + + pkt >> bType >> bPos >> nItemID; + + // Inventory + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + goto fail_return; + else if (bType == 0) + { + if (bPos >= HAVE_MAX) + goto fail_return; + + bPos += SLOT_MAX; + } + // Equipped items + else if (bType == 1) + { + if (bPos >= SLOT_MAX) + goto fail_return; + } + else if (bType == 2) + { + if (bPos >= HAVE_MAX) + goto fail_return; + bPos += SLOT_MAX; + } + + pItem = GetItem(bPos); + + // Make sure the item matches what the client says it is + if (pItem == nullptr) + goto fail_return; + + if( pItem->sCount < 1 + || pItem->nNum != nItemID + || pItem->isSealed() + || pItem->isRented() + || pItem->IsSelling + || GetZoneID() == ZONE_CHAOS_DUNGEON) + goto fail_return; + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pItem->nNum); + + if (pTable == nullptr) + goto fail_return; + + if(pTable->m_iSellPrice != SellTypeFullPrice + && !pTable->isStackable() + && pItem->nExpirationTime < 1 + && !pTable->isPet()) + { + g_DBAgent.InsertRepurchase(pItem->nNum, uint32(UNIXTIME + 24 * 60 * 60 * 3), pItem->nSerialNum, this); + } + + memset(pItem, 0, sizeof(_ITEM_DATA)); + + SetUserAbility(); + SendItemWeight(); + + result << uint8(1); + Send(&result); + + return; +fail_return: + result << uint8(0); + Send(&result); +} + +bool CUser::CheckGiveSlot(uint8 sSlot) +{ + // Find free slots in the inventory, so that we can check against this later. + + if (isDead() || isTrading() || isStoreOpen() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isMining()) + return false; + + uint8 bFreeSlots = 0; + for (int i = SLOT_MAX; i < SLOT_MAX + HAVE_MAX; i++) + { + if (GetItem(i)->nNum == 0 && ++bFreeSlots >= sSlot) + break; + } + + // Can we hold all of these items? If we can't, we have a problem. + uint8 bReqSlots = 0; + for (int i = 0; i < sSlot; i++) + bReqSlots++; // new item? new required slot. + + if (bFreeSlots < bReqSlots) + return false; + + // Do we have enough slots? + return (bFreeSlots >= bReqSlots); +} \ No newline at end of file diff --git a/server/GameServer/ItemRepurchaseHandler.cpp b/server/GameServer/ItemRepurchaseHandler.cpp new file mode 100644 index 0000000..5364493 --- /dev/null +++ b/server/GameServer/ItemRepurchaseHandler.cpp @@ -0,0 +1,121 @@ +#include "stdafx.h" +#include "Map.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "DBAgent.h" +using namespace std; +using std::string; + +void CUser::ItemRepurchase(Packet & pkt) +{ + Packet result(WIZ_ITEM_TRADE); + uint8 subcode = 0; + + pkt >> subcode; + if (subcode == 4) + SendItemRepurchase(); + else + if (subcode == 2) + { + uint8 siranumarasi = -1; + uint32 ItemID; + pkt >> siranumarasi >> ItemID; + + _REPURCHASE_TYPE * nRep = RepurchaseList.GetData(siranumarasi); + _ITEM_TABLE * nTable = g_pMain->GetItemPtr(nRep->ItemID); + + + if(nRep == nullptr + || nTable == nullptr) + { + result << uint8(2) << uint8(2) << uint16(0); // Re-purchase period has been expired. + Send(&result); + return; + } + + + if ((uint32(UNIXTIME) - nRep->SellTime) > 3 * DAY) + { + result << uint8(2) << uint8(2) << uint16(-6); // -6 Re-purchase period has been expired. + Send(&result); + return; + } + + uint32 real_prices; + if (nTable->m_iBuyPrice > 1050000000) + real_prices = nTable->m_iBuyPrice; + else + real_prices = nTable->m_iBuyPrice * 2; + + if (real_prices > m_iGold) + { + result << uint8(2) << uint8(2) << uint16(-8); // You don't have enough Coins. + Send(&result); + return; + } + + int8 pos; + bool bNewItem = true; + pos = FindSlotForItem(nRep->ItemID, 1); + if (pos < 0) + { + result << uint8(2) << uint8(2) << uint16(-4); // Not enough inventory slot + Send(&result); + return; + } + + + _ITEM_DATA *pItem = GetItem(pos); + if (pItem->nNum != 0 || pItem == nullptr) + bNewItem = false; + + + pItem->nNum = nRep->ItemID; + pItem->sCount = 1; + pItem->nSerialNum = g_pMain->GenerateItemSerial(); + pItem->sDuration = nTable->m_sDuration; + g_DBAgent.UpdateRePurchaseType(1,GetName(),nRep); + SendStackChange(nRep->ItemID, m_sItemArray[pos].sCount, m_sItemArray[pos].sDuration, pos - SLOT_MAX, true); + RepurchaseList.DeleteData(nRep->number); + memset(nRep, 0,sizeof(_REPURCHASE_TYPE)); + GoldLose(real_prices); + g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this); + g_DBAgent.UpdateWarehouseData(GetAccountName(), UPDATE_LOGOUT, this); + SendItemRepurchase(); + } + + +} + +void CUser::SendItemRepurchase() +{ + Packet result(WIZ_ITEM_TRADE,uint8(5)); + result << uint8(1); +result << uint8(1); +result << uint8(RepurchaseList.GetSize()); + +foreach_stlmap(itr,RepurchaseList) +{ + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(itr->second->ItemID); + if (pTable == nullptr) + continue; + + uint32 BuyPrice = pTable->m_iBuyPrice; + uint32 SellPrice = pTable->m_iSellPrice; + + if(SellPrice == SellTypeFullPrice) + continue; + + if (pTable->m_iBuyPrice > 1050000000) + BuyPrice = pTable->m_iBuyPrice; + else + BuyPrice = pTable->m_iBuyPrice * 2; + + result << uint8(itr->second->number) + << itr->second->ItemID + << uint32(BuyPrice) + << uint32(uint32(UNIXTIME) - uint32(itr->second->SellTime)); +} + + Send(&result); +} diff --git a/server/GameServer/KingSystem.cpp b/server/GameServer/KingSystem.cpp new file mode 100644 index 0000000..6693329 --- /dev/null +++ b/server/GameServer/KingSystem.cpp @@ -0,0 +1,1368 @@ +#include "stdafx.h" +#include "KingSystem.h" +#include "../shared/DateTime.h" +#include "Map.h" + +CKingSystem::CKingSystem() +{ + m_byNation = 0; + + m_byType = ELECTION_TYPE_NO_TERM; + m_sYear = 0; + m_byMonth = m_byDay = m_byHour = m_byMinute = 0; + + m_byImType = 0; + m_sImYear = 0; + m_byImMonth = m_byImDay = m_byImHour = m_byImMinute = 0; + + m_byNoahEvent = m_byNoahEvent_Day = m_byNoahEvent_Hour = m_byNoahEvent_Minute = 0; + m_sNoahEvent_Duration = 0; + winPercent = 0; + m_byExpEvent = m_byExpEvent_Day = m_byExpEvent_Hour = m_byExpEvent_Minute; + m_sExpEvent_Duration = 0; + + m_nTribute = 0; + m_nTerritoryTax = m_nNationalTreasury = 0; + + m_bSentFirstMessage = false; +} + +/** +* @brief Handles timed events related to the King system. +*/ +void CKingSystem::CheckKingTimer() +{ + // Get the current time. + uint8 bCurMonth = g_localTime.tm_mon + 1, + bCurDay = g_localTime.tm_mday, + bCurHour = g_localTime.tm_hour, + bCurMinute = g_localTime.tm_min; + + // If there's an ongoing coin or XP event... + if (m_byNoahEvent || m_byExpEvent) + CheckSpecialEvent(); + + switch (m_byType) + { + case ELECTION_TYPE_NO_TERM: + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + // Nominations start a day before the election. + dt.AddDays(-1); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_NOMINATION); + + g_pMain->SendFormattedResource(IDS_KING_RECOMMEND_TIME, m_byNation, false); + SendUDP_ElectionStatus(m_byType); + + ResetElectionLists(); + LoadRecommendList(); + } + }break; + + case ELECTION_TYPE_NOMINATION://adaylık + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + // Nominations last until an hour before the scheduled election time. + dt.AddHours(-1); + dt.AddDays(2); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_PRE_ELECTION); + + g_pMain->SendFormattedResource(IDS_KING_RECOMMEND_FINISH_TIME, m_byNation, false); + LoadRecommendList(); + SendUDP_ElectionStatus(m_byType); + } + + if (!(bCurMinute % 30) && !m_bSentFirstMessage) + { + m_bSentFirstMessage = true; + g_pMain->SendFormattedResource(IDS_KING_PERIOD_OF_RECOMMEND_MESSAGE, m_byNation, true); + break; // awkward, but official behaviour. + } + + m_bSentFirstMessage = false; + } break; + + // This state seems like it could be completely removed. + // Leaving until the system's more complete, just in case. + case ELECTION_TYPE_PRE_ELECTION://1 saatlik ara + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + dt.AddDays(2); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_ELECTION); + g_pMain->SendFormattedResource(IDS_KING_ELECTION_TIME, m_byNation, false); + SendUDP_ElectionStatus(m_byType); + } + } break; + + case ELECTION_TYPE_ELECTION://secim zamanı + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + // Elections last for an hour. + dt.AddDays(5); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_TERM_STARTED); + if (GetElectionResult(m_byNation, this)) + { + g_pMain->SendFormattedResource(IDS_KING_ELECTION_RESULT_MESSAGE, m_byNation, true, winPercent, m_strKingName.c_str()); + + CUser * pOldKingUser = g_pMain->GetUserPtr(m_strOldKingName, TYPE_CHARACTER); + if (pOldKingUser != nullptr) + pOldKingUser->m_bRank = 0; + + CUser * pNewKingUser = g_pMain->GetUserPtr(m_strKingName, TYPE_CHARACTER); + if (pNewKingUser != nullptr) + pNewKingUser->m_bRank = 1; + } + return; + } + + if (!(bCurMinute % 30) && !m_bSentFirstMessage) + { + m_bSentFirstMessage = true; + g_pMain->SendFormattedResource(IDS_KING_PERIOD_OF_ELECTION_MESSAGE, m_byNation, true); + break; // awkward, but official behaviour. + } + + m_bSentFirstMessage = false; + } break; + + case ELECTION_TYPE_TERM_STARTED: + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + // Nominations start a day before the election. + dt.AddDays(35); + dt.AddMinutes(0); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_TERM_ENDED); + } + } break; + + case ELECTION_TYPE_TERM_ENDED: + { + DateTime dt(m_sYear, m_byMonth, m_byDay, m_byHour, m_byMinute); + + // Nominations start a day before the election. + dt.AddDays(5); + dt.AddMinutes(1); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + UpdateElectionStatus(ELECTION_TYPE_NOMINATION); + + g_pMain->SendFormattedResource(IDS_KING_RECOMMEND_TIME, m_byNation, false); + SendUDP_ElectionStatus(m_byType); + + ResetElectionLists(); + LoadRecommendList(); + } + } break; + } + + switch (m_byImType) + { + case 1: // 47 hours after the impeachment time, call GetImpeachmentRequestResult() + { + DateTime dt(m_sImYear, m_byImMonth, m_byImDay, m_byImHour, m_byImMinute); + dt.AddHours(47); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + // GetImpeachmentRequestResult(); + } + } break; + + case 2: // 2 days (48 hours) after the impeachment time, set the impeachment type to 3 + // and send IDS_KING_IMPEACHMENT_ELECTION_MESSAGE as WAR_SYSTEM_CHAT + { + DateTime dt(m_sImYear, m_byImMonth, m_byImDay, m_byImHour, m_byImMinute); + dt.AddDays(2); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + m_byImType = 3; + g_pMain->SendFormattedResource(IDS_KING_IMPEACHMENT_ELECTION_MESSAGE, m_byNation, false); + } + } break; + + case 3: // 3 days (72 hours) after the impeachment time, set the impeachment type to 4 + // and call GetImpeachmentElectionResult() + { + DateTime dt(m_sImYear, m_byImMonth, m_byImDay, m_byImHour, m_byImMinute); + dt.AddDays(3); + if (bCurMonth == dt.GetMonth() + && bCurDay == dt.GetDay() + && bCurHour == dt.GetHour() + && bCurMinute == dt.GetMinute()) + { + m_byImType = 4; + //GetImpeachmentElectionResult(); + } + } break; + } +} + +/** +* @brief Updates the election status. +* +* @param byElectionStatus The election status. +*/ +void CKingSystem::UpdateElectionStatus(uint8 byElectionStatus) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + result << uint8(KING_ELECTION) << uint8(KING_ELECTION_UPDATE_STATUS) + << m_byNation << byElectionStatus; + m_byType = byElectionStatus; + g_pMain->AddDatabaseRequest(result); +} + +/** +* @brief Updates the election list. +* +* @param byElectionListType Which list are we referring to? +* 1 = ? +* 2 = ? +* 3 = senator list +* 4 = voted for king list +* @param bDeleteList true to delete the list. +* @param sClanID Identifier for the clan. +* @param strUserID Identifier for the user. +* @param pUser The user making the request, if applicable. +*/ +void CKingSystem::UpdateElectionList(uint8 byElectionListType, bool bDeleteList, uint16 sClanID, std::string & strUserID, CUser * pUser /*= nullptr*/) +{ + // byElectionListType: + // 3 = senator + Packet result(WIZ_KING, uint8(KING_ELECTION)); + + result << uint8(KING_ELECTION) // special, looks redundant but implies these special opcodes + << uint8(KING_ELECTION_UPDATE_LIST) << m_byNation + << byElectionListType << bDeleteList + << sClanID << strUserID; + + g_pMain->AddDatabaseRequest(result, pUser); + + KingElectionList * pList = nullptr; + switch (byElectionListType) + { + case 3: + pList = &m_senatorList; + break; + + case 4: + pList = &m_candidateList; + break; + } + + if (pList == nullptr) + return; + + KingElectionList::iterator itr = pList->find(strUserID); + if (bDeleteList) + { + if (itr != pList->end()) + { + delete itr->second; + pList->erase(itr); + } + } + else + { + } +} + +/** +* @brief Checks to see if a special (coin/XP) event should end. +*/ +void CKingSystem::CheckSpecialEvent() +{ + // Get the current time. + uint8 bCurDay = g_localTime.tm_mday, + bCurHour = g_localTime.tm_hour, + bCurMinute = g_localTime.tm_min; + + int16 sEventExpiry; + + // If there's an exp event ongoing... + if (m_byExpEvent) + { + if (bCurDay == m_byExpEvent_Day) + sEventExpiry = bCurMinute + 60 * (bCurHour - m_byExpEvent_Hour) - m_byExpEvent_Minute; + else + sEventExpiry = bCurMinute + 60 * (bCurHour - m_byExpEvent_Hour + 24) - m_byExpEvent_Minute; + + if (sEventExpiry > m_sExpEvent_Duration) + { + m_byExpEvent = 0; + m_byExpEvent_Day = 0; + m_byExpEvent_Hour = 0; + m_byExpEvent_Minute = 0; + m_sExpEvent_Duration = 0; + + // TODO: Tell other servers that the event expired (i.e. via UDP) + // TODO: Update the bonuses on the AI server's side (which we don't have implemented). + // TODO: Update the KING_SYSTEM table to reset the stored event data there too. + + g_pMain->SendFormattedResource(IDS_KING_EXP_BONUS_EVENT_STOP, m_byNation, false); + + // KingNotifyMessage(IDS_KING_EXP_BONUS_EVENT_STOP, m_byNation, WAR_SYSTEM_CHAT); + // 31 translates to a resource ID of 230, other args: 0, 0, 0, 0 + } + } + + // If there's a coin event ongoing... + if (m_byNoahEvent) + { + if (bCurDay == m_byNoahEvent_Day) + sEventExpiry = bCurMinute + 60 * (bCurHour - m_byNoahEvent_Hour) - m_byNoahEvent_Minute; + else + sEventExpiry = bCurMinute + 60 * (bCurHour - m_byNoahEvent_Hour + 24) - m_byNoahEvent_Minute; + + if (sEventExpiry > m_sNoahEvent_Duration) + { + m_byNoahEvent = 0; + m_byNoahEvent_Day = 0; + m_byNoahEvent_Hour = 0; + m_byNoahEvent_Minute = 0; + m_sNoahEvent_Duration = 0; + + // TODO: Tell other servers that the event expired (i.e. via UDP) + // TODO: Update the bonuses on the AI server's side (which we don't have implemented). + // TODO: Update the KING_SYSTEM table to reset the stored event data there too. + g_pMain->SendFormattedResource(IDS_KING_NOAH_BONUS_EVENT_STOP, m_byNation, false); + + // KingNotifyMessage(IDS_KING_NOAH_BONUS_EVENT_STOP, m_byNation, WAR_SYSTEM_CHAT); + // 32 translates to a resource ID of 231, other args: 0, 0, 0, 0 + } + } +} + +/** +* @brief Generates a list of the top 10 clan leaders eligible to nominate a King. +* NOTE: These players are senators. +*/ +void CKingSystem::LoadRecommendList() +{ + m_top10ClanSet.clear(); + for (int i = 1; i <= 1000; i++) + { + // Lookup the clan ranking #i. + _KNIGHTS_RATING * pRating = g_pMain->m_KnightsRatingArray[m_byNation - 1].GetData(i); + CKnights * pKnights = nullptr; + + // Ignore this entry if no such clan is ranked #i + if (pRating == nullptr + // or for whatever reason the clan no longer exists... + || (pKnights = g_pMain->GetClanPtr(pRating->sClanID)) == nullptr) + continue; + + // Add user as senator. + UpdateElectionList(3, false, pRating->sClanID, pKnights->m_strChief); + + // If the senator's online, we can send them an announcement + // to tell them they can nominate a King. + CUser * pUser = g_pMain->GetUserPtr(pKnights->m_strChief, TYPE_CHARACTER); + if (pUser != nullptr) + { + Packet result; + std::string notice; + + // %s can nominate a King + g_pMain->GetServerResource(IDS_KING_RECOMMEND_REQUEST_MESSAGE, ¬ice, pKnights->m_strChief.c_str()); + + // Wrap it in a "#### NOTICE : ####" block. + g_pMain->GetServerResource(IDP_ANNOUNCEMENT, ¬ice, notice.c_str()); + + // Construct & send the chat/announcement packet + ChatPacket::Construct(&result, WAR_SYSTEM_CHAT, ¬ice); + pUser->Send(&result); + } + + // add to our top 10 ranked clan set. + m_top10ClanSet.insert(pRating->sClanID); + } +} + +/** +* @brief This sends the appropriate resource as a notice to the server (or to a particular +* user) +* Beyond initial reversing, this doesn't need to exist -- in fact, not even going to +* use it. It's just a temporary point of reference. +* +* @param nResourceID Identifier for the resource found in the SERVER_RESOURCE table. +* @param byNation The nation to send the notice/announcement to. +* @param chatType The chat type (notice/announcement). +*/ +void CKingSystem::KingNotifyMessage(uint32 nResourceID, int byNation, ChatType chatType) +{ + std::string result; + switch (nResourceID) + { + // Resource ID (SERVER_RESOURCE) // ID used internally (officially) + case IDS_KING_RECOMMEND_TIME: // 1 (none) + case IDS_KING_RECOMMEND_FINISH_TIME: // 2 (none) + case IDS_KING_ELECTION_TIME: // 3 (none) + case IDS_KING_IMPEACHMENT_REQUEST_TIME: // 4 (none) + case IDS_KING_IMPEACHMENT_ELECTION_TIME: // 5 (none) + case IDS_KING_REIGN_TIME: // 7 (none) + case IDS_KING_KARUS_PRIZE_EVENT_MESSAGE: // 11 (awarded %s %d coins) + case IDS_KING_ELMO_PRIZE_EVENT_MESSAGE: // 12 (awarded %s %d coins) + case IDS_KING_KARUS_FUGITIVE_EVENT_MESSAGE_1: // 13 (awarded %s %d coins -- probably inaccurate though, see below) + case IDS_KING_ELMO_FUGITIVE_EVENT_MESSAGE_1: // 14 (awarded %s %d coins -- probably inaccurate though, see below) + case IDS_KING_FUGITIVE_EVENT_MESSAGE_2: // 15 (%s killed %s and received %d coins as a reward) + case IDS_KING_KARUS_WEATHER_FINE_EVENT: // 16 (none) + case IDS_KING_KARUS_WEATHER_RAIN_EVENT: // 17 (none) + case IDS_KING_KARUS_WEATHER_SNOW_EVENT: // 18 (none) + case IDS_KING_ELMO_WEATHER_FINE_EVENT: // 19 (none) + case IDS_KING_ELMO_WEATHER_RAIN_EVENT: // 20 (none) + case IDS_KING_ELMO_WEATHER_SNOW_EVENT: // 21 (none) + case IDS_KING_KARUS_NOAH_BONUS_EVENT: // 22 (%d%% increased coin rate) + case IDS_KING_KARUS_EXP_BONUS_EVENT: // 23 (%d%% increased XP rate) + case IDS_KING_ELMO_NOAH_BONUS_EVENT: // 24 (%d%% increased coin rate) + case IDS_KING_ELMO_EXP_BONUS_EVENT: // 25 (%d%% increased XP rate) + case IDS_KING_RECOMMEND_REQUEST_MESSAGE: // 26 (%s can nominate a King) + case IDS_KING_CANDIDACY_RECOMMEND_MESSAGE: // 27 (%s has nominated %s as a King) + case IDS_KING_PERIOD_OF_RECOMMEND_MESSAGE: // 28 (none) + case IDS_KING_PERIOD_OF_ELECTION_MESSAGE: // 29 (none) + case IDS_KING_ELECTION_RESULT_MESSAGE: // 30 (%d%% of the vote was won by %s) + case IDS_KING_EXP_BONUS_EVENT_STOP: // 31 (none) + case IDS_KING_NOAH_BONUS_EVENT_STOP: // 32 (none) + case IDS_KING_IMPEACHMENT_REQUEST_MESSAGE: // 33 (none) + case IDS_KING_IMPEACHMENT_PASS_MESSAGE: // 34 (none) + case IDS_KING_IMPEACHMENT_REJECT_MESSAGE: // 35 (none) + case IDS_KING_IMPEACHMENT_ELECTION_MESSAGE: // 36 (none) + case IDS_KING_IMPEACHMENT_ELECTION_YES_RESULT_MESSAGE: // 37 (none) + case IDS_KING_IMPEACHMENT_ELECTION_NO_RESULT_MESSAGE: // 38 (none) + break; + } +} + +/** +* @brief Wrapper for the King system's packet handler. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::PacketProcess(CUser * pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + // ... onwards, to official-like code. + CKingSystem * pKingSystem = g_pMain->m_KingSystemArray.GetData(pUser->GetNation()); + if (pKingSystem != nullptr) + pKingSystem->KingPacketProcess(pUser, pkt); +} + +/** +* @brief The real packet handler for the King system. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::KingPacketProcess(CUser * pUser, Packet & pkt) +{ + switch (pkt.read()) + { + case KING_ELECTION: + ElectionSystem(pUser, pkt); + break; + + case KING_IMPEACHMENT: + ImpeachmentSystem(pUser, pkt); + break; + + case KING_TAX: + KingTaxSystem(pUser, pkt); + break; + + case KING_EVENT: + KingSpecialEvent(pUser, pkt); + break; + + case KING_NATION_INTRO: + break; + } +} + +/** +* @brief Election system. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ElectionSystem(CUser * pUser, Packet & pkt) +{ + switch (pkt.read()) + { + case KING_ELECTION_SCHEDULE: + ElectionScheduleConfirmation(pUser, pkt); + break; + + case KING_ELECTION_NOMINATE: + CandidacyRecommend(pUser, pkt); + break; + + case KING_ELECTION_NOTICE_BOARD: + CandidacyNoticeBoard(pUser, pkt); + break; + + case KING_ELECTION_POLL: + ElectionPoll(pUser, pkt); + break; + + case KING_ELECTION_RESIGN: + CandidacyResign(pUser, pkt); + break; + } +} + +/** +* @brief "Check election day" button at the election NPC +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ElectionScheduleConfirmation(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + result << uint8(KING_ELECTION_SCHEDULE); + + switch (m_byImType) + { + // No impeachment, send election date. + case 0: + { + // Client expects month as 1,12 (tm_mon is 0,11) + uint8 byElectionMonth = g_localTime.tm_mon + 1; + + /* When's the next election? */ + // If we've passed the election date, we need next month's election. + // (NOTE: this is official behaviour; it disregards the month set in the table) + if (g_localTime.tm_mday > m_byDay) + { + // Next month is January? Make it so. + ++byElectionMonth; + while (byElectionMonth > 12) + byElectionMonth -= 12; + } + + result << uint8(1) // election type + << byElectionMonth + << m_byDay << m_byHour << m_byMinute; + } break; + + // Last scheduled impeachment? + case 1: + { + result << uint8(3) + << m_byImMonth + << m_byImDay << m_byImHour << m_byImMinute; + } break; + + // Next impeachment? + case 3: + { + // This should not be necessary, but will leave. + uint8 byImpeachmentMonth = m_byImMonth; + while (byImpeachmentMonth > 12) + m_byImMonth -= 12; + + result << uint8(2) + << byImpeachmentMonth + << m_byImDay << m_byImHour << m_byImMinute; + } break; + } + + pUser->Send(&result); +} + +/** +* @brief Handles King candidacy recommendations by +* leaders of top 10 clans. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::CandidacyRecommend(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + std::string strUserID; + pkt.SByte(); + pkt >> strUserID; + if (strUserID.empty() || strUserID.length() > MAX_ID_SIZE) + return; + + result << uint8(KING_ELECTION_NOMINATE); + + // Make sure it's nomination time. + if (m_byType != ELECTION_TYPE_NOMINATION) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + LoadRecommendList(); + + // Make sure the user nominating a King is a clan leader + if (!pUser->isClanLeader() + // ... of a top 10 clan. + || m_top10ClanSet.find(pUser->GetClanID()) == m_top10ClanSet.end() + // ... and they haven't resigned their candidacy. + || m_resignedCandidateList.find(pUser->m_strUserID) != m_resignedCandidateList.end()) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + // Send request to database. + result << strUserID; + g_pMain->AddDatabaseRequest(result, pUser); +} + +/** +* @brief Inserts the nominated candidate to the election list. +* +* @param strNominee The nominee. +*/ +void CKingSystem::InsertNominee(std::string & strNominee) +{ + + // All nominees must be senators. + // No need to create duplicate data, so just find & reuse the same data. + KingElectionList::iterator senatorItr = m_senatorList.find(strNominee); + if (senatorItr == m_senatorList.end()) + return; + + // Now see if the candidate already exists in the list. + // If they don't, no need to do anything. + KingElectionList::iterator candidateItr = m_candidateList.find(strNominee); + if (candidateItr != m_candidateList.end()) + return; + + // Copy the information we need from our senator list entry + // NOTE: This is fairly dumb, so we should work this out when the system's functional and + // we're open to straying from official table designs. + _KING_ELECTION_LIST * pEntry = new _KING_ELECTION_LIST; + memcpy(pEntry, senatorItr->second, sizeof(_KING_ELECTION_LIST)); + + m_candidateList.insert(make_pair(strNominee, pEntry)); +} + +/** +* @brief Candidacy notice board system. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::CandidacyNoticeBoard(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + uint8 opcode = pkt.read(); + bool bSuccess = false; + + result << uint8(KING_ELECTION_NOTICE_BOARD) << opcode; + + switch (opcode) + { + // Write to the candidacy noticeboard + case KING_CANDIDACY_BOARD_WRITE: + { + if (m_byType != ELECTION_TYPE_NOMINATION + && m_byType != ELECTION_TYPE_PRE_ELECTION + && m_byType != ELECTION_TYPE_ELECTION) + { + result << int16(-1); + pUser->Send(&result); + return; + } + + std::string strNotice; + pkt >> strNotice; + + // The official max length of invalid notices is 480 bytes. + // The size of the column is 1024 bytes. Possibly this limit was + // imposed purely for the sake of the shared memory queue? + if (strNotice.empty() || strNotice.length() > 480) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + // Check to make sure the user's in the candidacy list. + KingCandidacyNoticeBoardMap::iterator itr = m_noticeBoardMap.find(pUser->m_strUserID); + if (itr == m_noticeBoardMap.end()) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + // Update the noticeboard. + itr->second = strNotice; + + // Preserve the write position so that we can reuse the packet + // without requiring junk data. + size_t wpos = result.wpos(); + + // Update the user. + result << int16(1); + pUser->Send(&result); + + // Now reuse the packet for the database request; + // overwrite the result sent to the client, so we don't need to send it. + result.put(wpos, strNotice.c_str(), strNotice.length()); + + // Update the database. + result << strNotice; + g_pMain->AddDatabaseRequest(result, pUser); + } return; + + // Read from the candidacy noticeboard + case KING_CANDIDACY_BOARD_READ: + { + if (m_byType != ELECTION_TYPE_NOMINATION + && m_byType != ELECTION_TYPE_PRE_ELECTION + && m_byType != ELECTION_TYPE_ELECTION) + { + result << int16(-1); + pUser->Send(&result); + return; + } + + pkt >> opcode; + result << opcode; + + // List candidates + if (opcode == 1) + { + result << int16(1) // success + << uint8(m_noticeBoardMap.size()); + + result.SByte(); + foreach (itr, m_noticeBoardMap) + result << itr->first; + } + else if (opcode == 2) + { + std::string strCandidate; + pkt.SByte(); + pkt >> strCandidate; + + if (strCandidate.empty() || strCandidate.length() > MAX_ID_SIZE) + return; + + // Does this candidate actually exist in the list? + KingCandidacyNoticeBoardMap::iterator itr = m_noticeBoardMap.find(strCandidate); + if (itr == m_noticeBoardMap.end() + // and is the message actually set? + || itr->second.empty()) + { + result << int16(-2); + /* + // Not implementing this oddity unless there's a really good + // client reason to explain this. + result.DByte(); + result << strCandidate + << ; + */ + } + else + { + result.DByte(); + result << int16(1) // success + << strCandidate << itr->second; + } + } + + pUser->Send(&result); + } return; + + case 4: + if (m_byType == ELECTION_TYPE_NOMINATION + || m_byType == ELECTION_TYPE_PRE_ELECTION + || m_byType == ELECTION_TYPE_ELECTION) + { + // TODO: Find user in (candidate list?), if not found we can break out of here and error. + if (1 == 2) + break; + + // + bSuccess = true; + } + break; + + case 5: + if (m_byType == ELECTION_TYPE_NOMINATION + || m_byType == ELECTION_TYPE_PRE_ELECTION + || m_byType == ELECTION_TYPE_ELECTION) + bSuccess = true; + break; + + + default: + return; + } + + result << int16(bSuccess ? 1 : -1); + if (opcode == 4) + result << bSuccess; + + pUser->Send(&result); +} + +/** +* @brief Election poll. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ElectionPoll(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + uint8 opcode = pkt.read(); + + result << uint8(KING_ELECTION_POLL) << opcode; + + // Make sure player's trying to vote during the + // election stage. + if (m_byType != ELECTION_TYPE_ELECTION) + { + result << int16(-1); + pUser->Send(&result); + return; + } + + switch (opcode) + { + // Show candidate list + case 1: + { + uint8 count = (uint8)m_candidateList.size(); + result << uint16(1) << count; + result.SByte(); + foreach (itr, m_candidateList) + { + CKnights * pKnights = g_pMain->GetClanPtr(itr->second->sKnights); + result << uint8(0) << itr->first; // candidate's name + if (pKnights != nullptr) + result << pKnights->m_strName; // clan name + else + result << uint8(0); // no clan name + } + pUser->Send(&result); + } break; + + // Vote for candidate + case 2: + { + std::string strCandidate; + pkt.SByte(); + pkt >> strCandidate; + if (strCandidate.empty() || strCandidate.length() > MAX_ID_SIZE) + return; + + // Candidate voted for isn't in list... + KingElectionList::iterator itr = m_candidateList.find(strCandidate); + if (itr == m_candidateList.end()) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + // User's level is too low to vote. + if (pUser->GetLevel() < 20) + { + result << int16(-4); + pUser->Send(&result); + return; + } + + + + UpdateElectionList( 4, // voted for King + false, // registering our vote, not deleting. + itr->second->sKnights, // clan ID + strCandidate, // candidate's name + pUser); // us, glorious us (so that it can let us know what happened with the request) + } break; + } +} + +/** +* @brief Handles candidate resignations. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::CandidacyResign(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_ELECTION)); + result << uint8(KING_ELECTION_RESIGN); + + // We can only submit a resignation if we're in the nomination stage. + if (m_byType != ELECTION_TYPE_NOMINATION) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + KingElectionList::iterator itr = m_candidateList.find(pUser->m_strUserID); + + // Do we even exist in the candidate list? + if (itr == m_candidateList.end()) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + // Add user to our resigned candidates list so they can't be re-nominated. + m_resignedCandidateList.insert(pUser->m_strUserID); + + // Remove them from our main candidates list. + m_candidateList.erase(itr); + + UpdateElectionList(4, // elected King + true, // remove ourselves from the list + itr->second->sKnights, + pUser->m_strUserID, + pUser); +} + +/** +* @brief Impeachment system. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ImpeachmentSystem(CUser * pUser, Packet & pkt) +{ + switch (pkt.read()) + { + case KING_IMPEACHMENT_REQUEST: + ImpeachmentRequest(pUser, pkt); + break; + + case KING_IMPEACHMENT_REQUEST_ELECT: + ImpeachmentRequestElect(pUser, pkt); + break; + + case KING_IMPEACHMENT_LIST: + ImpeachmentList(pUser, pkt); + break; + + case KING_IMPEACHMENT_ELECT: + ImpeachmentElect(pUser, pkt); + break; + + case KING_IMPEACHMENT_REQUEST_UI_OPEN: + ImpeachmentRequestUiOpen(pUser, pkt); + break; + + case KING_IMPEACHMENT_ELECTION_UI_OPEN: + ImpeachmentElectionUiOpen(pUser, pkt); + break; + } +} + +void CKingSystem::ImpeachmentRequest(CUser * pUser, Packet & pkt) {} +void CKingSystem::ImpeachmentRequestElect(CUser * pUser, Packet & pkt) {} +void CKingSystem::ImpeachmentList(CUser * pUser, Packet & pkt) {} +void CKingSystem::ImpeachmentElect(CUser * pUser, Packet & pkt) {} + +/** +* @brief Attempt to open the impeachment request UI. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ImpeachmentRequestUiOpen(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_IMPEACHMENT)); + result << uint8(KING_IMPEACHMENT_REQUEST_UI_OPEN); + + // Not able to make an impeachment request right now. + if (m_byImType != 1) + result << int16(-1); + // If they're not an senator... + else if (pUser->m_bRank != 2) + result << int16(-2); + // Able to make an impeachment request. + else + result << int16(1); + + pUser->Send(&result); +} + +/** +* @brief Attempt to open the impeachment election UI. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::ImpeachmentElectionUiOpen(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_IMPEACHMENT)); + + // If it's not the impeachment's election stage, send -1 as the error code + // otherwise, send 1 for success. + result << uint8(KING_IMPEACHMENT_ELECTION_UI_OPEN) + << int16(m_byImType != 3 ? -1 : 1); + + pUser->Send(&result); +} + +/** +* @brief King tax system. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::KingTaxSystem(CUser * pUser, Packet & pkt) +{ + CKingSystem *pKingSystem = g_pMain->m_KingSystemArray.GetData(m_byNation); + Packet result(WIZ_KING, uint8(KING_TAX)); + uint8 bOpcode = pkt.read(); + result << bOpcode; + + // If you're not a King, you shouldn't have access to this command. + if (!pUser->isKing()) + { + result << int16(-1); + pUser->Send(&result); + return; + } + + switch (bOpcode) + { + // Collect King's fund + case 2: + { + pUser->GoldGain(m_nTerritoryTax); + + HandleDatabaseRequest_Tax(m_nTerritoryTariff, pUser->GetNation(), m_nTerritoryTax); + pKingSystem->m_nTerritoryTax -= m_nTerritoryTax; + } + break; + // Lookup the tariff + case 3: + { + C3DMap * pMap = g_pMain->GetZoneByID(m_byNation); + if (pMap == nullptr) + return; + + result << int16(1) << (pMap->GetTariff() - 10); + pUser->Send(&result); + } + break; + // Update the tariff + case 4: + { + C3DMap * pMap = g_pMain->GetZoneByID(m_byNation); + uint8 byTerritoryTariff = pkt.read(); + + // Map doesn't exist, or invalid tariff amount + if (pMap == nullptr + || byTerritoryTariff > 10) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + // Update the tariff + pMap->SetTariff(10 + byTerritoryTariff); + + // Let all users in your nation know. + result << int16(1) << byTerritoryTariff << m_byNation; + g_pMain->Send_All(&result, nullptr, m_byNation); + + pKingSystem->m_nTerritoryTariff = byTerritoryTariff; + + // Update the database (TODO: Implement the request) + g_pMain->AddDatabaseRequest(result, pUser); + } + break; + // King's scepter / "unnecessary translation" + case 7: + { + if (pUser->CheckExistItem(KING_SCEPTER)) + { + result << int16(-1); + } + else if (pUser->FindSlotForItem(KING_SCEPTER) < 0) + { + result << int16(-2); + } + else + { + pUser->GiveItem(KING_SCEPTER); + pUser->GiveItem(KING_SCEPTER); + result << int16(1); + } + pUser->Send(&result); + } + break; + } +} + +/** +* @brief Handles commands accessible to the King. +* +* @param pUser The user sending the packet. +* @param pkt The packet. +*/ +void CKingSystem::KingSpecialEvent(CUser * pUser, Packet & pkt) +{ + Packet result(WIZ_KING, uint8(KING_EVENT)); + uint8 opcode = pkt.read(); + result << opcode; + + if (!pUser->isKing()) + { + result << int16(-1); + pUser->Send(&result); + return; + } + + switch (opcode) + { + case KING_EVENT_NOAH: // Noah event + { + + uint8 bAmount = pkt.read(); + if (bAmount < 1 || bAmount > 3) + return; + + uint32 nCost = 50000000 * bAmount; + if (nCost > m_nNationalTreasury) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + m_nNationalTreasury -= nCost; + + m_byNoahEvent = bAmount; + m_byNoahEvent_Day = g_localTime.tm_mday; + m_byNoahEvent_Hour = g_localTime.tm_hour; + m_byNoahEvent_Minute = g_localTime.tm_min; + + m_sNoahEvent_Duration = 30; // event expires in 30 minutes + + // %d%% increased coin rate + g_pMain->SendFormattedResource(m_byNation == KARUS ? IDS_KING_KARUS_NOAH_BONUS_EVENT : IDS_KING_ELMO_NOAH_BONUS_EVENT, + m_byNation, false, bAmount); + + // TODO: Update other servers via UDP + // TODO: Update the AI server + + // Update the database + result << m_byNation << bAmount << m_byNoahEvent_Day << m_byNoahEvent_Hour << m_byNoahEvent_Minute << m_sNoahEvent_Duration; + g_pMain->AddDatabaseRequest(result); + } break; + + case KING_EVENT_EXP: // EXP event + { + + uint8 bAmount = pkt.read(); + if (bAmount != 10 && bAmount != 30 && bAmount != 50) + return; + + uint32 nCost = 30000000 * bAmount; + if (nCost > m_nNationalTreasury) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + m_nNationalTreasury -= nCost; + + m_byExpEvent = bAmount; + m_byExpEvent_Day = g_localTime.tm_mday; + m_byExpEvent_Hour = g_localTime.tm_hour; + m_byExpEvent_Minute = g_localTime.tm_min; + + m_sExpEvent_Duration = 30; // event expires in 30 minutes + + // %d%% increased coin rate + g_pMain->SendFormattedResource(m_byNation == KARUS ? IDS_KING_KARUS_EXP_BONUS_EVENT : IDS_KING_ELMO_EXP_BONUS_EVENT, + m_byNation, false, bAmount); + + // TODO: Update other servers via UDP + // TODO: Update the AI server + + // Update the database + result << m_byNation << bAmount << m_byExpEvent_Day << m_byExpEvent_Hour << m_byExpEvent_Minute << m_sExpEvent_Duration; + g_pMain->AddDatabaseRequest(result); + } break; + + case KING_EVENT_PRIZE: + { + + uint32 nCoins; + std::string strUserID; + pkt.SByte(); + pkt >> nCoins >> strUserID; + + // If the user submitted invalid input, chances are + // the coins will end up 0. We can safely ignore it. + if (nCoins == 0) + return; + + CUser * pTUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pTUser == nullptr // this session check isn't official behaviour + // as they try to handle offline users - + // note the 'try' (it doesn't work properly)... + || strUserID.empty() || strUserID.length() > MAX_ID_SIZE) + { + result << int16(-2); + pUser->Send(&result); + return; + } + + if (nCoins > m_nNationalTreasury) + { + result << int16(-4); + pUser->Send(&result); + return; + } + + m_nNationalTreasury -= nCoins; + pTUser->GoldGain(nCoins); + + // (awarded %s %d coins) + g_pMain->SendFormattedResource(m_byNation == KARUS ? IDS_KING_KARUS_PRIZE_EVENT_MESSAGE : IDS_KING_ELMO_PRIZE_EVENT_MESSAGE, + m_byNation, false, pTUser->m_strUserID.c_str(), nCoins); + + // TODO: Update other servers via UDP + + // Update the database + result << m_byNation << nCoins << strUserID; + g_pMain->AddDatabaseRequest(result); + + } break; + + case KING_EVENT_FUGITIVE: // not sure what this is exactly, but it seems to work pretty much the same as the /prize command + break; + + case KING_EVENT_WEATHER: // Weather + { + + uint8 bType, bAmount; + pkt >> bType >> bAmount; + if (bAmount == 0 || bAmount > 100 + || bType == 0 || bType > WEATHER_SNOW) + return; + + if (m_nNationalTreasury < 100000) + { + result << int16(-3); + pUser->Send(&result); + return; + } + + m_nNationalTreasury -= 100000; + + g_pMain->m_byKingWeatherEvent = 1; + g_pMain->m_byKingWeatherEvent_Day = g_localTime.tm_mday; + g_pMain->m_byKingWeatherEvent_Hour = g_localTime.tm_hour; + g_pMain->m_byKingWeatherEvent_Minute = g_localTime.tm_min; + + g_pMain->m_byWeather = bType; + g_pMain->m_sWeatherAmount = bAmount; + + g_pMain->UpdateWeather(); + + // TODO: Update other servers via UDP + + // Get the resource ID, which differs per nation and weather type. + // This works because they're sequential. + uint32 nResourceID = + (m_byNation == KARUS + ? IDS_KING_KARUS_WEATHER_FINE_EVENT + (bType-1) + : IDS_KING_ELMO_WEATHER_FINE_EVENT + (bType-1)); + + g_pMain->SendFormattedResource(nResourceID, m_byNation, false); + } break; + + case KING_EVENT_NOTICE: // /royalorder command (King chat) + { + std::string strMessage; + pkt.SByte(); + pkt >> strMessage; + if (strMessage.empty() || strMessage.length() > 256) + return; + + Packet result(WIZ_KING); + result.SByte(); + result << uint8(KING_EVENT) << uint8(KING_EVENT_NOTICE) << uint8(1) << short(1) << strMessage; + g_pMain->Send_All(&result,nullptr,m_byNation); + + DateTime time; + g_pMain->WriteChatLogFile(string_format("[ KING - %d:%d:%d ] %s : %s ( Zone=%d, X=%d, Z=%d )\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pUser->GetName().c_str(),strMessage.c_str(),pUser->GetZoneID(),uint16(pUser->GetX()),uint16(pUser->GetZ()))); + } break; + } +} + +/** +* @brief Resets the election lists. +*/ +void CKingSystem::ResetElectionLists() +{ + + foreach (itr, m_senatorList) + delete itr->second; + m_senatorList.clear(); + + foreach (itr, m_candidateList) + delete itr->second; + m_candidateList.clear(); + m_resignedCandidateList.clear(); +} + +CKingSystem::~CKingSystem() +{ + ResetElectionLists(); +} \ No newline at end of file diff --git a/server/GameServer/KingSystem.h b/server/GameServer/KingSystem.h new file mode 100644 index 0000000..d7d2216 --- /dev/null +++ b/server/GameServer/KingSystem.h @@ -0,0 +1,161 @@ +#pragma once + +#include +#include + +struct _KING_ELECTION_LIST +{ + uint16 sKnights; + uint32 nVotes; +}; + +struct ci_compare +{ + bool operator() (const std::string & str1, const std::string & str2) const { + return STRCASECMP(str1.c_str(), str2.c_str()) < 0; + } +}; + +typedef std::set ClanIDSet; +typedef std::map KingCandidacyNoticeBoardMap; +typedef std::map KingElectionList; +typedef std::set ResignedCandidateList; + +enum ElectionType +{ + ELECTION_TYPE_NO_TERM = 0, + ELECTION_TYPE_NOMINATION = 1, + ELECTION_TYPE_PRE_ELECTION = 2, // not sure if this is accurately named + ELECTION_TYPE_ELECTION = 3, + + ELECTION_TYPE_TERM_STARTED = 6, // these two probably aren't accurately named at all + ELECTION_TYPE_TERM_ENDED = 7, + +}; + +enum ImpeachmentType +{ +}; + +class CUser; +class CKingSystem +{ +public: + CKingSystem(); + + // Handles timed events. + void CheckKingTimer(); + + // Updates the election status + void UpdateElectionStatus(uint8 byElectionState); + void UpdateElectionList(uint8 byElectionListType, bool bDeleteList, uint16 sClanID, std::string & strUserID, CUser * pUser = nullptr); + + // Checks to see if a special (coin/XP) event should end. + void CheckSpecialEvent(); + + // Generates a list of the top 10 clan leaders eligible to nominate a King. + void LoadRecommendList(); + + void KingNotifyMessage(uint32 nResourceID, int byNation, ChatType byChatType); + + // Wrapper to lookup the appropriate King system instance + static void PacketProcess(CUser * pUser, Packet & pkt); + + // The real method to handle packets from the client. + void KingPacketProcess(CUser * pUser, Packet & pkt); + + /* Election system */ + void ElectionSystem(CUser * pUser, Packet & pkt); + void ElectionScheduleConfirmation(CUser * pUser, Packet & pkt); + void CandidacyRecommend(CUser * pUser, Packet & pkt); + void InsertNominee(std::string & strNominee); + void CandidacyNoticeBoard(CUser * pUser, Packet & pkt); + void ElectionPoll(CUser * pUser, Packet & pkt); + void CandidacyResign(CUser * pUser, Packet & pkt); + + /* Impeachment system */ + void ImpeachmentSystem(CUser * pUser, Packet & pkt); + void ImpeachmentRequest(CUser * pUser, Packet & pkt); + void ImpeachmentRequestElect(CUser * pUser, Packet & pkt); + void ImpeachmentList(CUser * pUser, Packet & pkt); + void ImpeachmentElect(CUser * pUser, Packet & pkt); + void ImpeachmentRequestUiOpen(CUser * pUser, Packet & pkt); + void ImpeachmentElectionUiOpen(CUser * pUser, Packet & pkt); + + void KingTaxSystem(CUser * pUser, Packet & pkt); + void KingSpecialEvent(CUser * pUser, Packet & pkt); + + void SendUDP_ElectionStatus(uint8 m_byType); + bool GetElectionResult(uint8 Nation, CKingSystem *KingSystem); + static void HandleDatabaseRequest(CUser * pUser, Packet & pkt); + static void HandleDatabaseRequest_Election(CUser * pUser, Packet & pkt); + static void HandleDatabaseRequest_Event(CUser * pUser, Packet & pkt); + static void HandleDatabaseRequest_Tax(uint8 TerritoryTariff, uint8 Nation, uint32 TerritoryTax = 0); + + void ResetElectionLists(); + ~CKingSystem(); + + uint8 m_byNation; + + uint8 m_byType; + uint16 m_sYear; + uint8 m_byMonth; + uint8 m_byDay; + uint8 m_byHour; + uint8 m_byMinute; + + uint8 m_byImType; + uint16 m_sImYear; + uint8 m_byImMonth; + uint8 m_byImDay; + uint8 m_byImHour; + uint8 m_byImMinute; + + uint8 m_byNoahEvent; + uint8 m_byNoahEvent_Day; + uint8 m_byNoahEvent_Hour; + uint8 m_byNoahEvent_Minute; + uint16 m_sNoahEvent_Duration; + uint16 winPercent; + std::string m_strOldKingName; + + uint8 m_byExpEvent; + uint8 m_byExpEvent_Day; + uint8 m_byExpEvent_Hour; + uint8 m_byExpEvent_Minute; + uint16 m_sExpEvent_Duration; + + uint32 m_nTribute; + uint8 m_nTerritoryTariff; + uint32 m_nTerritoryTax; + uint32 m_nNationalTreasury; + + std::string m_strKingName; + std::string m_strImRequestID; + + ClanIDSet m_top10ClanSet; + + KingCandidacyNoticeBoardMap m_noticeBoardMap; + + /** + * @brief List of senators. + * Senators are the top 10 clan leaders and are + * able to nominate a King or propose impeachment. + */ + KingElectionList m_senatorList; + + /** + * @brief List of candidates still in the running for King. + * Candidates for election must be senators, + * so this data just refers to the above senator list. + */ + KingElectionList m_candidateList; + + /** + * @brief List of resigned candidates. + */ + ResignedCandidateList m_resignedCandidateList; + + // TODO: Give this a more appropriate name. + bool m_bSentFirstMessage; +}; \ No newline at end of file diff --git a/server/GameServer/Knights.cpp b/server/GameServer/Knights.cpp new file mode 100644 index 0000000..10e8890 --- /dev/null +++ b/server/GameServer/Knights.cpp @@ -0,0 +1,396 @@ +#include "stdafx.h" +#include "Knights.h" +#include "DBAgent.h" + +using std::string; + +CKnights::CKnights() +{ + m_sIndex = 0; + m_byFlag = ClanTypeNone; + m_byNation = 0; + m_byGrade = 5; + m_byRanking = 0; + m_sMembers = 1; + memset(&m_Image, 0, sizeof(m_Image)); + m_nMoney = 0; + m_sDomination = 0; + m_nPoints = 0; + m_nClanPointFund = 0; + m_sCape = -1; + m_sAlliance = 0; + m_sMarkLen = 0; + m_sMarkVersion = 0; + m_bCapeR = m_bCapeG = m_bCapeB = 0; + m_sClanPointMethod = 0; +} + +void CKnights::OnLogin(CUser *pUser) +{ + Packet result, result2; + string Name = "", myName = pUser->GetName(); + STRTOUPPER(myName); + // Set the active session for this user + foreach_array (i, m_arKnightsUser) + { + _KNIGHTS_USER * p = &m_arKnightsUser[i]; + if (!p->byUsed) + continue; + + Name = p->strUserName; + STRTOUPPER(Name); + + if(Name != myName) + continue; + + p->pSession = pUser; + pUser->m_pKnightsUser = p; + break; + } + + // Send login notice + // TODO: Shift this to SERVER_RESOURCE + std::string buffer = string_format("%s is online.", pUser->GetName().c_str()); + ChatPacket::Construct(&result, KNIGHTS_CHAT, &buffer); + Send(&result); + + // Construct the clan notice packet to send to the logged in player + if (!m_strClanNotice.empty()) + { + ConstructClanNoticePacket(&result); + pUser->Send(&result); + } + + if(m_sAlliance != 0) + { + std::string buffer2 = string_format("%s is online.", pUser->GetName().c_str()); + ChatPacket::Construct(&result2, ALLIANCE_CHAT, &buffer2); + g_pMain->Send_KnightsAlliance(GetAllianceID(), &result2); + } +} + + +void CKnights::ConstructClanNoticePacket(Packet *result) +{ + result->Initialize(WIZ_NOTICE); + result->DByte(); + *result << uint8(4) // type + << uint8(1) // total blocks + << m_strName // header + << m_strClanNotice; +} + +/** +* @brief Updates this clan's notice with clanNotice +* and informs logged in clan members. +* +* @param clanNotice The clan notice. +*/ +void CKnights::UpdateClanNotice(std::string & clanNotice) +{ + if (clanNotice.length() > MAX_CLAN_NOTICE_LENGTH || clanNotice.size() == 0) + return; + + Packet result; + + // Update the stored clan notice + m_strClanNotice = clanNotice; + + // Construct the update notice packet to inform players the clan notice has changed + std::string updateNotice = string_format("%s updated the clan notice.", m_strChief.c_str()); + ChatPacket::Construct(&result, KNIGHTS_CHAT, &updateNotice); + Send(&result); + + // Construct the new clan notice packet + ConstructClanNoticePacket(&result); + Send(&result); + + // Tell the database to update the clan notice. + result.Initialize(WIZ_CHAT); + result << uint8(CLAN_NOTICE) << GetID() << clanNotice; + g_pMain->AddDatabaseRequest(result); +} + +/** +* @brief Sends a request to update the clan's fund in the database. +*/ +void CKnights::UpdateClanFund() +{ + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE_FUND)); + result << GetID() << uint32(m_nClanPointFund); + g_pMain->AddDatabaseRequest(result); +} + +void CKnights::OnLogout(CUser *pUser) +{ + + +// Unset the active session for this user +if (pUser->m_pKnightsUser != nullptr) +{ + +pUser->m_pKnightsUser->m_lastLogin = UNIXTIME; +pUser->m_pKnightsUser->m_lastLogined = uint32(UNIXTIME); +pUser->m_pKnightsUser->pSession = nullptr; +pUser->m_pKnightsUser = nullptr; +} + + +Packet logoutNotice; +// TODO: Shift this to SERVER_RESOURCE +std::string buffer = string_format("%s is offline.", pUser->GetName().c_str()); +ChatPacket::Construct(&logoutNotice, KNIGHTS_CHAT, &buffer); +Send(&logoutNotice); + + + Packet result2; + + if(m_sAlliance != 0) + { + std::string buffer2 = string_format("%s is offline.", pUser->GetName().c_str()); + ChatPacket::Construct(&result2, ALLIANCE_CHAT, &buffer2); + g_pMain->Send_KnightsAlliance(GetAllianceID(), &result2); + } + + +} + +bool CKnights::AddUser(std::string & strUserID) +{ + for (int i = 0; i < MAX_CLAN_USERS; i++) + { + _KNIGHTS_USER * p = &m_arKnightsUser[i]; + if (p->byUsed) + continue; + + p->byUsed = 1; + p->strUserName = strUserID; + p->pSession = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (p->pSession != nullptr) + { + p->pSession->m_pKnightsUser = p; + p->m_sFame = p->pSession->m_bFame; + p->m_bLevel = p->pSession->GetLevel(); + p->m_sClass = p->pSession->GetClass(); + } + if(p->pSession == nullptr) + g_DBAgent.GetClanUserData(GetID(),m_arKnightsUser[i]); + + return true; + } + + return false; +} + +bool CKnights::AddUser(CUser *pUser) +{ + if (pUser == nullptr + || !AddUser(pUser->GetName())) + return false; + + pUser->SetClanID(m_sIndex); + pUser->m_bFame = TRAINEE; + return true; +} + +/** +* @brief Removes the specified user from the clan array. +* +* @param strUserID Identifier for the user. +* +* @return . +*/ +bool CKnights::RemoveUser(std::string & strUserID) +{ + string Name; + STRTOUPPER(strUserID); + for (int i = 0; i < MAX_CLAN_USERS; i++) + { + _KNIGHTS_USER * p = &m_arKnightsUser[i]; + if (p->byUsed == 0) + continue; + + Name = p->strUserName; + STRTOUPPER(Name); + + if(Name != strUserID) + continue; + + // If they're not logged in (note: logged in users being removed have their NP refunded in the other handler) + // but they've donated NP, ensure they're refunded for the next time they login. + if (p->nDonatedNP > 0) + RefundDonatedNP(p->nDonatedNP, p->pSession, p->strUserName.c_str()); + + p->Initialise(); + return true; + } + + return false; +} + +/** +* @brief Removes the specified user from this clan. +* +* @param pUser The user. +*/ +bool CKnights::RemoveUser(CUser *pUser) +{ + if (pUser == nullptr) + //|| pUser->m_pKnightsUser == nullptr) + return false; + + uint32 nDonatedNP = 0; + if( pUser->m_pKnightsUser != nullptr ) + nDonatedNP = pUser->m_pKnightsUser->nDonatedNP; + + if (nDonatedNP > 0) + RefundDonatedNP(nDonatedNP, pUser); + + pUser->SetClanID(0); + pUser->m_bFame = 0; + + if( pUser->m_pKnightsUser != nullptr ) + pUser->m_pKnightsUser->Initialise(); + + pUser->m_pKnightsUser = nullptr; + + if (!pUser->isClanLeader()) + pUser->SendClanUserStatusUpdate(); + + return true; +} + +/** +* @brief Refunds 30% of the user's donated NP. +* If the user has the item "CONT Recovery", refund ALL of the user's +* donated NP. +* +* @param nDonatedNP The donated NP. +* @param pUser The user's session, when refunding the user in-game. +* Set to nullptr to indicate the use of the character's name +* and consequently a database update instead. +* @param strUserID Logged out character's name. +* Used to refund logged out characters' national points +* when pUser is set to nullptr. +*/ +void CKnights::RefundDonatedNP(uint32 nDonatedNP, CUser * pUser /*= nullptr*/, const char * strUserID /*= nullptr*/) +{ + // Refund 30% of NP unless the user has the item "CONT Recovery". + // In this case, ALL of the donated NP will be refunded. + + if (pUser != nullptr) + { + if (pUser->CheckExistItem(ITEM_CONT_RECOVERY)) + pUser->RobItem(ITEM_CONT_RECOVERY); + else + nDonatedNP = (nDonatedNP * 30) / 100; + } + else + nDonatedNP = (nDonatedNP * 30) / 100; + + // Remove the refunded NP from the clan fund + if(m_nClanPointFund > nDonatedNP) + m_nClanPointFund -= nDonatedNP; + else + m_nClanPointFund = 0; + + // If the player's logged in, just adjust their national points in-game. + if (pUser != nullptr) + { + pUser->m_iLoyalty += nDonatedNP; + pUser->SendLoyaltyChange(0); + return; + } + // For logged out players, we must update the player's national points in the database. + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_REFUND_POINTS)); + result << strUserID << nDonatedNP; + g_pMain->AddDatabaseRequest(result); +} + +void CKnights::SendToRegion(Packet *pkt) +{ + foreach_array (i, m_arKnightsUser) + { + _KNIGHTS_USER *p = &m_arKnightsUser[i]; + if (p->byUsed && p->pSession != nullptr + && p->pSession->GetClanID() == m_sIndex) + p->pSession->SendToRegion(pkt); + } +} + +void CKnights::Disband(CUser *pLeader /*= nullptr*/) +{ + std::string clanNotice; + g_pMain->GetServerResource(m_byFlag == ClanTypeTraining ? IDS_CLAN_DESTROY : IDS_KNIGHTS_DESTROY, + &clanNotice, m_strName.c_str()); + SendChat(clanNotice.c_str()); + + foreach_array (i, m_arKnightsUser) + { + _KNIGHTS_USER *p = &m_arKnightsUser[i]; + if (!p->byUsed) + continue; + + // If the user's logged in, handle the player data removal in-game. + // It will be saved to the database when they log out. + if (p->pSession != nullptr) + RemoveUser(p->pSession); + else + RemoveUser(p->strUserName); + + } + g_pMain->m_KnightsArray.DeleteData(m_sIndex); + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_DESTROY)); + result << uint8(1); + pLeader->Send(&result); +} + +void CKnights::SendUpdate() +{ + CKnights *aKnights = g_pMain->GetClanPtr(GetAllianceID()); + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE)); + result << GetID() << m_byFlag << GetCapeID(aKnights); + Send(&result); +} + +void CKnights::SendChat(const char * format, ...) +{ + char buffer[128]; + va_list ap; + va_start(ap, format); + vsnprintf(buffer, 128, format, ap); + va_end(ap); + + Packet result; + ChatPacket::Construct(&result, KNIGHTS_CHAT, buffer); + Send(&result); +} + +void CKnights::SendChatAlliance(const char * format, ...) +{ + char buffer[128]; + va_list ap; + va_start(ap, format); + vsnprintf(buffer, 128, format, ap); + va_end(ap); + + Packet result; + ChatPacket::Construct(&result, ALLIANCE_CHAT, buffer); + Send(&result); +} + +void CKnights::Send(Packet *pkt) +{ + foreach_array (i, m_arKnightsUser) + { + _KNIGHTS_USER *p = &m_arKnightsUser[i]; + if (p->byUsed && p->pSession != nullptr) + p->pSession->Send(pkt); + } +} + +CKnights::~CKnights() +{ +} \ No newline at end of file diff --git a/server/GameServer/Knights.h b/server/GameServer/Knights.h new file mode 100644 index 0000000..2552147 --- /dev/null +++ b/server/GameServer/Knights.h @@ -0,0 +1,125 @@ +#pragma once + +#define MAX_CLAN_USERS 50 +#define MIN_NATIONAL_POINTS 500 +#define MIN_NP_TO_DONATE 1000 +#define MAX_CLAN_NOTICE_LENGTH 128 + +class CUser; +struct _KNIGHTS_USER +{ + uint8 byUsed; + std::string strUserName, strUserMemo; + uint32 nDonatedNP; + CUser *pSession; + uint16 m_sClass; + uint8 m_sFame; + uint8 m_bLevel; + time_t m_lastLogin; + uint32 m_lastLogined; + + INLINE _KNIGHTS_USER() { Initialise(); } + INLINE void Initialise() + { + byUsed = 0; + if(!strUserName.empty()) + strUserName.clear(); + nDonatedNP = 0; + pSession = nullptr; + m_lastLogined = 0; + } +}; + +enum ClanTypeFlag +{ + ClanTypeNone = 0, + ClanTypeTraining = 1, + ClanTypePromoted = 2, + ClanTypeAccredited5 = 3, + ClanTypeAccredited4 = 4, + ClanTypeAccredited2 = 5, + ClanTypeAccredited3 = 6, + ClanTypeAccredited1 = 7, + ClanTypeRoyal5 = 8, + ClanTypeRoyal4 = 9, + ClanTypeRoyal3 = 10, + ClanTypeRoyal2 = 11, + ClanTypeRoyal1 = 12 +}; + +class CKnights +{ +public: + uint16 m_sIndex; + uint8 m_byFlag; // 1 : Clan, 2 : Knights + uint8 m_byNation; // nation + uint8 m_byGrade; + uint8 m_byRanking; + uint16 m_sMembers; + + std::string m_strName; + std::string m_strChief, m_strViceChief_1, m_strViceChief_2, m_strViceChief_3; + std::string m_strClanNotice; + + uint64 m_nMoney; + uint16 m_sDomination; + uint32 m_nPoints; + uint32 m_nClanPointFund; // stored in national point form + uint16 m_sMarkVersion, m_sMarkLen; + char m_Image[MAX_KNIGHTS_MARK]; + uint16 m_sCape; + uint8 m_bCapeR, m_bCapeG, m_bCapeB; + uint16 m_sAlliance; + uint8 m_sClanPointMethod; + uint8 bySiegeFlag; + uint16 nLose,nVictory; + + _KNIGHTS_USER m_arKnightsUser[MAX_CLAN_USERS]; + + INLINE uint16 GetID() { return m_sIndex; } + INLINE uint16 GetAllianceID() { return m_sAlliance; } + INLINE uint16 GetCapeID(CKnights *pKnights) + { + if (isInAlliance() && pKnights != nullptr) + return pKnights->m_sCape; + else + return m_sCape; + } + INLINE uint16 CapGetCapeID() { return m_sCape; } + INLINE std::string & GetName() { return m_strName; } + INLINE uint8 GetClanPointMethod() { return m_sClanPointMethod; } + + INLINE bool isPromoted() { return m_byFlag >= ClanTypePromoted; } + INLINE bool isInAlliance() { return m_sAlliance > 0; } + INLINE bool isAllianceLeader() { return GetAllianceID() == GetID(); } + + CKnights(); + + // Attach our session to the clan's list & tell clannies we logged in. + void OnLogin(CUser *pUser); + + void ConstructClanNoticePacket(Packet *result); + void UpdateClanNotice(std::string & clanNotice); + + void UpdateClanFund(); + + // Detach our session from the clan's list & tell clannies we logged off. + void OnLogout(CUser *pUser); + + bool AddUser(std::string & strUserID); + bool AddUser(CUser *pUser); + + bool RemoveUser(std::string & strUserID); + bool RemoveUser(CUser *pUser); + + void RefundDonatedNP(uint32 nDonatedNP, CUser * pUser = nullptr, const char * strUserID = nullptr); + + void Disband(CUser *pLeader = nullptr); + + void SendUpdate(); + void SendChat(const char * format, ...); + void SendChatAlliance(const char * format, ...); + void Send(Packet *pkt); + void SendToRegion(Packet *pkt); + virtual ~CKnights(); +}; diff --git a/server/GameServer/KnightsManager.cpp b/server/GameServer/KnightsManager.cpp new file mode 100644 index 0000000..57c0fd2 --- /dev/null +++ b/server/GameServer/KnightsManager.cpp @@ -0,0 +1,1558 @@ +#include "stdafx.h" +#include "Map.h" +#include "KnightsManager.h" +#include "../shared/tstring.h" +#include "DBAgent.h" +#include "User.h" + +// TODO: Move this to the CUser class. +void CKnightsManager::PacketProcess(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + uint8 opcode = pkt.read(); + + if (pUser->isDead() + || pUser->isTrading() + || pUser->isMerchanting() + || pUser->isStoreOpen() + || pUser->isSellingMerchant() + || pUser->isBuyingMerchant() + || pUser->isMining() + || pUser->m_bMerchantStatex) + return; + + switch (opcode) + { + case KNIGHTS_CREATE: + CreateKnights(pUser, pkt); + break; + case KNIGHTS_JOIN: + JoinKnights(pUser, pkt); + break; + case KNIGHTS_WITHDRAW: + WithdrawKnights(pUser, pkt); + break; + case KNIGHTS_REMOVE: + case KNIGHTS_ADMIT: + case KNIGHTS_REJECT: + case KNIGHTS_CHIEF: + case KNIGHTS_VICECHIEF: + case KNIGHTS_OFFICER: + case KNIGHTS_PUNISH: + ModifyKnightsMember(pUser, pkt, opcode); + break; + case KNIGHTS_HANDOVER_VICECHIEF_LIST: + ModifyKnightsLeader(pUser, pkt, opcode); + break; + case KNIGHTS_HANDOVER_REQ: + ModifyKnightsLeader(pUser, pkt, opcode); + break; + case KNIGHTS_HANDOVER: + ModifyKnightsLeader(pUser, pkt, opcode); + break; + case KNIGHTS_POINT_METHOD: + ModifyKnightsPointMethod(pUser, pkt); + break; + case KNIGHTS_DESTROY: + DestroyKnights(pUser); + break; + case KNIGHTS_ALLLIST_REQ: + AllKnightsList(pUser, pkt); + break; + case KNIGHTS_MEMBER_REQ: + AllKnightsMember(pUser); + break; + case KNIGHTS_CURRENT_REQ: + CurrentKnightsMember(pUser, pkt); + break; + case KNIGHTS_JOIN_REQ: + JoinKnightsReq(pUser, pkt); + break; + case KNIGHTS_MARK_REGISTER: + RegisterClanSymbol(pUser, pkt); + break; + case KNIGHTS_MARK_VERSION_REQ: + RequestClanSymbolVersion(pUser, pkt); + break; + case KNIGHTS_MARK_REGION_REQ: + RequestClanSymbols(pUser, pkt); + break; + case KNIGHTS_MARK_REQ: + GetClanSymbol(pUser, pkt.read()); + break; + case KNIGHTS_ALLY_CREATE: + KnightsAllianceCreate(pUser, pkt); + break; + case KNIGHTS_ALLY_REQ: + KnightsAllianceRequest(pUser, pkt); + break; + case KNIGHTS_ALLY_INSERT: + KnightsAllianceInsert(pUser, pkt); + break; + case KNIGHTS_ALLY_REMOVE: + KnightsAllianceRemove(pUser, pkt); + break; + case KNIGHTS_ALLY_PUNISH: + KnightsAlliancePunish(pUser, pkt); + break; + case KNIGHTS_ALLY_LIST: + KnightsAllianceList(pUser, pkt); + break; + case KNIGHTS_TOP10: + ListTop10Clans(pUser); + break; + case KNIGHTS_POINT_REQ: + DonateNPReq(pUser, pkt); + break; + case KNIGHTS_DONATE_POINTS: + DonateNP(pUser, pkt); + break; + case KNIGHTS_DONATION_LIST: + DonationList(pUser, pkt); + break; + case KNIGHTS_NOTICE: + UpdateClanNotice(pUser,pkt); + break; + case KNIGHTS_MEMO: + UpdateKnightMemo(pUser,pkt); + break; + default: + TRACE("Unhandled clan system opcode: %X\n", opcode); + } +} + +void CKnightsManager::CreateKnights(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CREATE)); + std::string idname; + uint8 ret_value = 0; + pkt >> idname; + + if (idname.empty() || idname.size() > MAX_ID_SIZE + || !IsAvailableName(idname.c_str()) + || !g_pMain->WordGuardSystem(idname,idname.length())) + ret_value = 3; + else if (pUser->GetClanID() != 0) + ret_value = 5; + else if (g_pMain->m_nServerGroup == 2) + ret_value = 8; + else if (!pUser->GetMap()->canUpdateClan()) + ret_value = 9; + else if (pUser->GetLevel() < CLAN_LEVEL_REQUIREMENT) + ret_value = 2; + else if (!pUser->hasCoins(CLAN_COIN_REQUIREMENT)) + ret_value = 4; + + if (ret_value == 0) + { + uint16 knightindex = GetKnightsIndex(pUser->m_bNation); + if (knightindex >= 0) + { + result << uint8(g_pMain->RoyalG1 ? ClanTypeRoyal1 : ClanTypeTraining) + << knightindex << pUser->GetNation() + << idname << pUser->GetName(); + g_pMain->AddDatabaseRequest(result, pUser); + return; + } + ret_value = 6; + } + + result << ret_value; + pUser->Send(&result); +} + +bool CKnightsManager::IsAvailableName( const char *strname) +{ + foreach_stlmap (itr, g_pMain->m_KnightsArray) + if (STRCASECMP(itr->second->GetName().c_str(), strname) == 0) + return false; + + return true; +} + +int CKnightsManager::GetKnightsIndex( int nation ) +{ + Guard lock(g_pMain->m_KnightsArray.m_lock); + + int knightindex = 0; + if (nation == ELMORAD) knightindex = 15000; + + foreach_stlmap (itr, g_pMain->m_KnightsArray) + { + if (itr->second != nullptr && + knightindex < itr->second->GetID()) + { + if (nation == KARUS && itr->second->GetID() >= 15000) + continue; + + knightindex = itr->second->GetID(); + } + } + + knightindex++; + if ((nation == KARUS && (knightindex >= 15000 || knightindex < 0)) + || nation == ELMORAD && (knightindex < 15000 || knightindex > 30000) + || g_pMain->GetClanPtr(knightindex)) + return -1; + + return knightindex; +} + +void CKnightsManager::JoinKnights(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + uint8 bResult = 0; + + do + { + if (!pUser->GetMap()->canUpdateClan()) + bResult = 12; + else if (!pUser->isClanLeader() && !pUser->isClanAssistant()) + bResult = 6; + + if (bResult != 0) + break; + + uint16 sClanID = pUser->GetClanID(); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + { + bResult = 7; + break; + } + + CUser *pTUser = g_pMain->GetUserPtr(pkt.read()); + if (pTUser == nullptr) + bResult = 2; + else if (pTUser->isDead()) + bResult = 3; + else if (pTUser->GetNation() != pUser->GetNation()) + bResult = 4; + else if (pTUser->GetClanID() > 0) + bResult = 5; + + if (bResult != 0) + break; + + result << uint8(KNIGHTS_JOIN_REQ) << uint8(1) + << pUser->GetSocketID() << sClanID << pKnights->m_strName; + pTUser->Send(&result); + + pTUser->AchieveType4(10); + + return; + } while (0); + + + result << uint8(KNIGHTS_JOIN) << bResult; + pUser->Send(&result); +} + +void CKnightsManager::JoinKnightsReq(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_JOIN)); + uint8 bFlag, bResult = 0; + uint16 sid, sClanID; + pkt >> bFlag >> sid >> sClanID; + CUser *pTUser = g_pMain->GetUserPtr(sid); + if (pTUser == nullptr) + bResult = 2; + else if (bFlag == 0) + bResult = 11; + else + { + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + bResult = 7; + else if (pKnights->m_sMembers >= MAX_CLAN_USERS) + bResult = 8; + } + + if (bResult != 0) + { + result << bResult; + pUser->Send(&result); + } + else + { + result << sClanID; + g_pMain->AddDatabaseRequest(result, pUser); + } +} + +void CKnightsManager::WithdrawKnights(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + CKnights * pKinghts = g_pMain->GetClanPtr(pUser->m_bKnights); + Packet result(WIZ_KNIGHTS_PROCESS); + uint8 bResult = 0; + do + { + if (!pUser->isInClan()) + bResult = 10; + else if (pUser->isClanLeader() && !pUser->GetMap()->canUpdateClan()) + bResult = 12; + + if (bResult != 0) + break; + + result << uint8(pUser->isClanLeader() ? KNIGHTS_DESTROY : KNIGHTS_WITHDRAW) + << pUser->GetClanID(); + + if (pUser->isClanLeader()) + ReqKnightsAllianceRemove(pUser, pkt); + + g_pMain->AddDatabaseRequest(result, pUser); + return; + } while (0); + result << bResult; + pUser->Send(&result); +} + +void CKnightsManager::DestroyKnights( CUser* pUser ) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_DESTROY)); + uint8 bResult = 1; + if (!pUser->isClanLeader() || !pUser->isInClan()) + bResult = 0; + else if (!pUser->GetMap()->canUpdateClan()) + bResult = 12; + + if (bResult == 1) + { + result << pUser->GetClanID(); + g_pMain->AddDatabaseRequest(result, pUser); + } + else + { + result << bResult; + pUser->Send(&result); + } +} + +void CKnightsManager::ModifyKnightsLeader(CUser *pUser, Packet & pkt, uint8 opcode) +{ + if (pUser == nullptr) + return; + + CKnights* pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + + if (pKnights == nullptr) + return; + + uint8 isClanLeader = pUser->isClanLeader() ? 1 : 2; + + Packet result(WIZ_KNIGHTS_PROCESS); + + if (opcode == KNIGHTS_HANDOVER_VICECHIEF_LIST) + { + uint16 ViceChiefCount = 0; + + if (g_pMain->GetUserPtr(pKnights->m_strViceChief_1, TYPE_CHARACTER)) + ViceChiefCount++; + + if (g_pMain->GetUserPtr(pKnights->m_strViceChief_2, TYPE_CHARACTER)) + ViceChiefCount++; + + if (g_pMain->GetUserPtr(pKnights->m_strViceChief_3, TYPE_CHARACTER)) + ViceChiefCount++; + + result << opcode << isClanLeader << ViceChiefCount << pKnights->m_strViceChief_1 << pKnights->m_strViceChief_2 << pKnights->m_strViceChief_3; + pUser->Send(&result); + } + else if (opcode == KNIGHTS_HANDOVER_REQ) + { + if (isClanLeader) + { + std::string strUserID; + pkt >> strUserID; + + CUser *pTUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + + if (pTUser == nullptr) + return; + + pKnights->m_strChief = strUserID; + + if (pKnights->m_strViceChief_1 == strUserID) pKnights->m_strViceChief_1 = ""; + else if (pKnights->m_strViceChief_2 == strUserID) pKnights->m_strViceChief_2 = ""; + else if (pKnights->m_strViceChief_3 == strUserID) pKnights->m_strViceChief_3 = ""; + else return; + g_DBAgent.UpdateKnights((uint8)KNIGHTS_HANDOVER, strUserID, pUser->GetClanID(), 0); + + result << (uint8)KNIGHTS_HANDOVER << pUser->GetName() << strUserID; + pUser->Send(&result); + pUser->ChangeFame(TRAINEE); + g_DBAgent.UpdateUser(pUser->GetName(),UPDATE_PACKET_SAVE,pUser); + AllKnightsMember(pUser); + + result.clear(); + result << (uint8)KNIGHTS_HANDOVER << strUserID << pUser->GetName(); + pTUser->Send(&result); + pTUser->ChangeFame(CHIEF); + g_DBAgent.UpdateUser(pTUser->GetName(),UPDATE_PACKET_SAVE,pTUser); + AllKnightsMember(pTUser); + } + } +} + +void CKnightsManager::ModifyKnightsMember(CUser *pUser, Packet & pkt, uint8 opcode) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, opcode); + uint8 bResult = 1, bRemoveFlag = 0; + std::string strUserID; + + pkt >> strUserID; + if (pUser->GetName() == strUserID) + return; + + do + { + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE) + bResult = 2; + else if (!pUser->GetMap()->canUpdateClan()) + bResult = 12; + else if (STRCASECMP(strUserID.c_str(), pUser->GetName().c_str()) == 0) + bResult = 9; + else if (((opcode == KNIGHTS_ADMIT || opcode == KNIGHTS_REJECT) && pUser->GetFame() < OFFICER) + || (opcode == KNIGHTS_PUNISH && pUser->GetFame() < VICECHIEF)) + bResult = 0; + else if (opcode != KNIGHTS_ADMIT && opcode != KNIGHTS_REJECT && opcode != KNIGHTS_PUNISH + && !pUser->isClanLeader()) + bResult = 6; + CKnights *pKnight = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnight->m_strViceChief_1 == "") + bResult = 1; + else if (pKnight->m_strViceChief_2 == "") + bResult = 1; + else if (pKnight->m_strViceChief_3 == "") + bResult = 1; + else if (opcode == KNIGHTS_VICECHIEF) bResult = 0; + + if (bResult != 1) + break; + + CUser *pTUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pTUser == nullptr) + { + if (opcode != KNIGHTS_REMOVE) + bResult = 2; + } + else + { + if (pUser->GetNation() != pTUser->GetNation()) + bResult = 4; + else if (pUser->GetClanID() != pTUser->GetClanID()) + bResult = 5; + + if (bResult == 1 && opcode == KNIGHTS_VICECHIEF) + { + if (pTUser->isClanAssistant()) + bResult = 8; + else if (!g_pMain->GetClanPtr(pUser->GetClanID())) + bResult = 7; + } + + bRemoveFlag = 1; + } + + if (bResult != 1) + break; + + result << pUser->GetClanID() << strUserID << bRemoveFlag; + g_pMain->AddDatabaseRequest(result, pUser); + return; + } while (0); + + result << bResult; + pUser->Send(&result); +} + + +void CKnightsManager::ModifyKnightsPointMethod(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr && !pUser->isClanLeader()) + return; + + CKnights *pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + + if (pKnights == nullptr) + return; + + uint8 subCode = 0; + pkt >> subCode; + + uint8 bResult = 1; + + if (pKnights->m_byFlag >= ClanTypeAccredited5) + pKnights->m_sClanPointMethod = subCode != 0 ? subCode - 1 : pKnights->m_sClanPointMethod; + else + bResult = 2; + + g_DBAgent.UpdateKnights((uint8)KNIGHTS_POINT_METHOD, pUser->GetName(), pUser->GetClanID(), pKnights->GetClanPointMethod()); + + Packet result(WIZ_KNIGHTS_PROCESS, (uint8)KNIGHTS_POINT_METHOD); + result << bResult << pKnights->GetClanPointMethod(); + pUser->Send(&result); +} + +void CKnightsManager::AllKnightsList(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLLIST_REQ)); + uint16 sPage = pkt.read(), start = sPage * 10, count = 0; + result << uint8(1) << sPage << count; + + foreach_stlmap (itr, g_pMain->m_KnightsArray) + { + CKnights* pKnights = itr->second; + if (pKnights == nullptr + || !pKnights->isPromoted() + || pKnights->m_byNation != pUser->GetNation() + || count++ < start) + continue; + + result << uint16(pKnights->m_sIndex) << pKnights->m_strName + << uint16(pKnights->m_sMembers) << pKnights->m_strChief + << uint32(pKnights->m_nPoints); + if (count >= start + 10) + break; + } + + count -= start; + result.put(4, count); + pUser->Send(&result); +} + +void CKnightsManager::AllKnightsMember(CUser *pUser) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MEMBER_REQ)); + uint8 bResult = 1; + + if (!pUser->isInClan()) + bResult = 2; + else if (g_pMain->GetClanPtr(pUser->GetClanID()) == nullptr) + bResult = 7; + + result << bResult; + if (bResult == 1) + { + CKnights* pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + + uint16 pktSize = 0, count = 0; + result << pktSize << count << uint16(MAX_CLAN_USERS) << pKnights->m_strClanNotice << count; // placeholders + pktSize = (uint16)result.size(); + count = g_pMain->GetKnightsAllMembers(pUser->GetClanID(), result, pktSize, pUser->isClanLeader()); + if (count > MAX_CLAN_USERS) + return; + + pktSize = ((uint16)result.size() - pktSize) + 6; + result.put(2, pktSize); + result.put(4, count); + result.put(10+pKnights->m_strClanNotice.size(), count); + } + pUser->Send(&result); +} + +void CKnightsManager::CurrentKnightsMember(CUser *pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CURRENT_REQ)); + CKnights *pKnights = nullptr; + if (!pUser->isInClan() + || (pKnights = g_pMain->GetClanPtr(pUser->GetClanID())) == nullptr) + { + result << uint8(0); // failed + result << "is this error still used?"; + pUser->Send(&result); + return; + } + + uint16 page = pkt.read(); + uint16 start = page * 10; + uint16 count = 0; + + result << uint8(1) // success + << pKnights->m_strChief + << page; + + size_t pos = result.wpos(); + result << count; // placeholder + + foreach_array (i, pKnights->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pKnights->m_arKnightsUser[i]; + if (!p->byUsed + || count++ < start) + continue; + + CUser *pTUser = p->pSession; + result << pUser->GetName() << pUser->GetFame() << pUser->GetLevel() << pUser->GetClass() << uint32(0); + count++; + if (count >= start + 10) + break; + } + + count -= start; + result.put(pos, count); + pUser->Send(&result); +} + +void CKnightsManager::RecvUpdateKnights(CUser *pUser, Packet & pkt, uint8 command) +{ + if (pUser == nullptr) + return; + + uint16 sClanID = pkt.read(); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + return; + + if (command == KNIGHTS_JOIN) + { + std::string noticeText; + g_pMain->GetServerResource(IDS_KNIGHTS_JOIN, ¬iceText, pUser->GetName().c_str()); + pKnights->AddUser(pUser); + pKnights->SendChat("%s", noticeText.c_str()); + + } + else if (command == KNIGHTS_WITHDRAW || command == KNIGHTS_REMOVE) + { + pKnights->RemoveUser(pUser); + } + + Packet result(WIZ_KNIGHTS_PROCESS, command); + result << uint8(1) << pUser->GetSocketID() << pUser->GetClanID() << pUser->GetFame(); + + CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); + + if (command == KNIGHTS_JOIN) + { + result << pKnights->m_byFlag + << pKnights->GetAllianceID() + << pKnights->GetCapeID(aKnights) + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB << uint8(0) + << int16(pKnights->m_sMarkVersion) + << pKnights->m_strName << pKnights->m_byGrade << pKnights->m_byRanking; + } + + pUser->SendToRegion(&result,nullptr,pUser->GetEventRoom()); +} + +void CKnightsManager::RecvModifyFame(CUser *pUser, Packet & pkt, uint8 command) +{ + if (pUser == nullptr) + return; + + std::string clanNotice; + std::string strUserID; + uint16 sClanID; + + pkt >> sClanID >> strUserID; + + CUser *pTUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + + switch (command) + { + case KNIGHTS_REMOVE: + if (pTUser != nullptr) + pKnights->RemoveUser(pTUser); + else + pKnights->RemoveUser(strUserID); + + g_pMain->GetServerResource(IDS_KNIGHTS_REMOVE, &clanNotice, pTUser == nullptr ? strUserID.c_str() : pTUser->GetName().c_str()); + break; + case KNIGHTS_ADMIT: + if (pTUser != nullptr) + pTUser->m_bFame = KNIGHT; + break; + case KNIGHTS_REJECT: + if (pTUser != nullptr) + { + pTUser->SetClanID(0); + pTUser->m_bFame = 0; + + RemoveKnightsUser(sClanID, pTUser->GetName()); + } + break; + case KNIGHTS_CHIEF: + if (pTUser != nullptr) + { + pTUser->m_bFame = CHIEF; + g_pMain->GetServerResource(IDS_KNIGHTS_CHIEF, &clanNotice, pTUser->GetName().c_str()); + } + break; + case KNIGHTS_VICECHIEF: + if (pTUser != nullptr) + { + pTUser->m_bFame = VICECHIEF; + g_pMain->GetServerResource(IDS_KNIGHTS_VICECHIEF, &clanNotice, pTUser->GetName().c_str()); + } + break; + case KNIGHTS_OFFICER: + if (pTUser != nullptr) + pTUser->m_bFame = OFFICER; + break; + case KNIGHTS_PUNISH: + if (pTUser != nullptr) + pTUser->m_bFame = PUNISH; + break; + } + + if (pTUser != nullptr) + pTUser->SendClanUserStatusUpdate(command == KNIGHTS_REMOVE); + + if (clanNotice.empty()) + return; + + // Construct the clan system chat packet + Packet result; + ChatPacket::Construct(&result, KNIGHTS_CHAT, &clanNotice); + + // If we've been removed from a clan, tell the user as well (since they're no longer in the clan) + if (command == KNIGHTS_REMOVE && pTUser != nullptr) + pTUser->Send(&result); + + // Otherwise, since we're actually in the clan, we don't need to be explicitly told what happened. + if (pKnights != nullptr) + pKnights->Send(&result); +} + +bool CKnightsManager::AddKnightsUser(int index, std::string & strUserID) +{ + CKnights *pKnights = g_pMain->GetClanPtr(index); + return (pKnights == nullptr ? false : pKnights->AddUser(strUserID)); +} + +bool CKnightsManager::RemoveKnightsUser(int index, std::string & strUserID) +{ + CKnights *pKnights = g_pMain->GetClanPtr(index); + return (pKnights == nullptr ? false : pKnights->RemoveUser(strUserID)); +} + +void CKnightsManager::UpdateKnightsGrade(uint16 sClanID, uint8 byFlag) +{ + CKnights * pClan = g_pMain->GetClanPtr(sClanID); + if (pClan == nullptr) + return; + + if (byFlag == ClanTypeTraining) + pClan->m_sCape = -1; + else if (byFlag == ClanTypePromoted) + pClan->m_sCape = 0; + + pClan->m_byFlag = byFlag; + pClan->SendUpdate(); + + // Update the database server + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE_GRADE)); + result << sClanID << byFlag << pClan->m_sCape; + g_pMain->AddDatabaseRequest(result); +} + +void CKnightsManager::UpdateClanPoint(uint16 sClanID, int32 nChangeAmount) +{ + CKnights * pClan = g_pMain->GetClanPtr(sClanID); + if (pClan == nullptr) + return; + + if (nChangeAmount > 0) + { + if (pClan->m_nClanPointFund + nChangeAmount > LOYALTY_MAX) + pClan->m_nClanPointFund = LOYALTY_MAX; + else + pClan->m_nClanPointFund += nChangeAmount; + } + else + { + uint32 pChangeAmount = -nChangeAmount; + + if (pChangeAmount > pClan->m_nClanPointFund) + pClan->m_nClanPointFund = 0; + else + pClan->m_nClanPointFund -= pChangeAmount; + } + + pClan->UpdateClanFund(); +} + +void CKnightsManager::LoadUserDonatedNP(int index, std::string & strUserID, uint32 nDonatedNP, bool bIsKillReward) +{ + + CKnights *pKnights = g_pMain->GetClanPtr(index); + if (pKnights == nullptr) + return; + + std::string Name = "", myName = strUserID; + STRTOUPPER(myName); + + for (int i = 0; i < MAX_CLAN_USERS; i++) + { + if (pKnights->m_arKnightsUser[i].byUsed == 0) + continue; + + Name = pKnights->m_arKnightsUser[i].strUserName; + STRTOUPPER(Name); + if(Name != myName) + continue; + + pKnights->m_arKnightsUser[i].nDonatedNP = nDonatedNP; + break; + + } +} + + +void CKnightsManager::AddUserDonatedNPinGame(int index, CUser * pUser, uint32 nDonatedNP, bool bIsKillReward) +{ + CKnights *pKnights = g_pMain->GetClanPtr(index); + if (pKnights == nullptr || pUser == nullptr) + return; + + pKnights->m_nClanPointFund += nDonatedNP; + + foreach_array(i,pKnights->m_arKnightsUser) + { + _KNIGHTS_USER *p = &pKnights->m_arKnightsUser[i]; + if (!p->byUsed || p->pSession == nullptr) + continue; + + if (p->pSession->GetID() == pUser->GetID()) + { + pKnights->m_arKnightsUser[i].nDonatedNP += nDonatedNP; + break; + } + } + + + + pUser->AchieveType4(5); +} + +void CKnightsManager::RecvKnightsAllList(Packet & pkt) +{ + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLLIST_REQ)); + uint8 count = pkt.read(), send_count = 0; + result << send_count; // placeholder for count + for (int i = 0; i < count; i++) + { + uint32 nPoints; uint16 sClanID; uint8 bRank; + pkt >> sClanID >> nPoints >> bRank; + + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + if (pKnights == nullptr) + continue; + + if (pKnights->m_nPoints != nPoints + || pKnights->m_byRanking != bRank) + { + pKnights->m_nPoints = nPoints; + pKnights->m_byRanking = bRank; + pKnights->m_byGrade = g_pMain->GetKnightsGrade(nPoints); + + result << sClanID << pKnights->m_byGrade << pKnights->m_byRanking; + send_count++; + } + } + + result.put(1, send_count); + g_pMain->Send_All(&result); +} + +void CKnightsManager::RegisterClanSymbol(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr || !pUser->isInClan()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MARK_REGISTER)); + CKnights *pKnights = nullptr; + char clanSymbol[MAX_KNIGHTS_MARK]; + uint16 sFailCode = 1, sSymbolSize = pkt.read(); + + // Are they even a clan leader? + if (!pUser->isClanLeader()) + sFailCode = 11; + // Invalid zone (only in home zones) + else if (pUser->GetZoneID() != pUser->GetNation()) + sFailCode = 12; + // Invalid symbol size (or invalid packet) + else if (sSymbolSize == 0 + || sSymbolSize > MAX_KNIGHTS_MARK + || pkt.size() < sSymbolSize) + sFailCode = 13; + // User doesn't have enough coins + else if (pUser->m_iGold < CLAN_SYMBOL_COST) + sFailCode = 14; + // Clan doesn't exist + else if ((pKnights = g_pMain->GetClanPtr(pUser->GetClanID())) == nullptr) + sFailCode = 20; + // Clan not promoted + else if (!pKnights->isPromoted()) + sFailCode = 11; + + // Uh oh, did we error? + if (sFailCode != 1) + { + result << sFailCode; + pUser->Send(&result); + return; + } + + // Read the clan symbol from the packet + pkt.read(clanSymbol, sSymbolSize); + + // Nope? Let's update the clan symbol. + result << pUser->GetClanID() << sSymbolSize; + result.append(clanSymbol, sSymbolSize); + g_pMain->AddDatabaseRequest(result, pUser); +} + +void CKnightsManager::RequestClanSymbolVersion(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr + || !pUser->isInClan()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MARK_VERSION_REQ)); + int16 sFailCode = 1; + + CKnights *pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr || !pKnights->isPromoted() || !pUser->isClanLeader()) + sFailCode = 11; + else if (pUser->GetZoneID() != pUser->GetNation()) + sFailCode = 12; + + result << sFailCode; + + if (sFailCode == 1) + result << uint16(pKnights->m_sMarkVersion); + + pUser->Send(&result); +} + +/** +* The clan member (leader only?) tells groups of users to update the clan symbols +* they have for this clan. This is a horrible, horrible idea. +**/ +void CKnightsManager::RequestClanSymbols(CUser* pUser, Packet & pkt) +{ + // Should we force them to be a clan leader too? + // Need to check if *any* clan member can trigger this, or if it's just leaders. + if (pUser == nullptr + || !pUser->isInClan()) + return; + + uint16 sCount = pkt.read(); + if (sCount > 100) + sCount = 100; + + for (int i = 0; i < sCount; i++) + { + uint16 sid = pkt.read(); + CUser *pTUser = g_pMain->GetUserPtr(sid); + if (pTUser == nullptr + || !pTUser->isInGame()) + continue; + + // This is really quite scary that users can send directly to specific players like this. + // Quite possibly we should replace this with a completely server-side implementation. + GetClanSymbol(pTUser, pUser->GetClanID()); + } +} + +void CKnightsManager::GetClanSymbol(CUser* pUser, uint16 sClanID) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + + // Dose that clan exist? + if (pKnights == nullptr + // Are they promoted? + || !pKnights->isPromoted() + // Is their symbol version set? + || pKnights->m_sMarkVersion == 0 + // The clan symbol is more than 0 bytes, right? + || pKnights->m_sMarkLen <= 0) + return; + + result << uint8(KNIGHTS_MARK_REQ) << uint16(1); // success + result << uint16(pKnights->m_byNation) << sClanID + << uint16(pKnights->m_sMarkVersion) << uint16(pKnights->m_sMarkLen); + result.append(pKnights->m_Image, pKnights->m_sMarkLen); + pUser->SendCompressed(&result); +} + +/** +* @brief Performs CSW/Delos checks to determine whether an alliance +* can be made with the specified clan. +* +* @param pMainClan The clan seeking to form an alliance. +* @param pTargetClan Target clan an alliance is being formed with. +* +* @return true if it succeeds, false if it fails. +*/ +bool CKnightsManager::CheckAlliance(CKnights * pMainClan, CKnights * pTargetClan) +{ + _KNIGHTS_ALLIANCE * pMainAlliance = g_pMain->GetAlliancePtr(pMainClan->GetAllianceID()) , + * pTargetAlliance = g_pMain->GetAlliancePtr(pTargetClan->GetAllianceID()); + if(pMainAlliance == pTargetAlliance && (pMainAlliance != nullptr || pTargetAlliance != nullptr)) + return true; + else + return false; + return true; +} + +void CKnightsManager::KnightsAllianceCreate(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr || pUser->isDead()) + return; + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_CREATE)); + CKnights * pKnights = g_pMain->GetClanPtr(pUser->m_bKnights); + + if(pKnights->m_byFlag > 1 && pKnights->m_strChief == pUser->GetName()) + { + result << uint8(1) << pUser->m_bKnights; + g_pMain->AddDatabaseRequest(result, pUser); + pUser->Send(&result); + } +} +void CKnightsManager::KnightsAllianceInsert(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS); + result.SByte(); + uint8 bResult = 0; + + do + { + if (!pUser->isClanLeader() && !pUser->isClanAssistant()) + bResult = 6; + + if (bResult != 0) + break; + + uint16 sClanID = pUser->GetClanID(); + CKnights *pKnights = g_pMain->GetClanPtr(sClanID); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(pUser->m_bKnights); + if (pAlliance == nullptr) + { + CKnights * pTknights = g_pMain->GetClanPtr(pUser->m_bKnights); + + if(pTknights != nullptr && pKnights->m_byFlag > 1 && pKnights->m_strChief == pUser->GetName()) + { + result<< uint8(KNIGHTS_ALLY_CREATE) << uint8(1) << pUser->m_bKnights; + g_pMain->AddDatabaseRequest(result, pUser); + } + } + else + { + if (pKnights == nullptr) + { + bResult = 7; + break; + } + + CUser *pTUser = g_pMain->GetUserPtr(pkt.read()); + if (pTUser == nullptr) + bResult = 2; + else if (pTUser->isDead()) + bResult = 3; + else if (pTUser->GetNation() != pUser->GetNation() + || pTUser->isInTempleEventZone() + || pTUser->isInPKZone() + || pTUser->GetMap()->isWarZone() + || !pUser->isClanLeader() || !pTUser->isClanLeader()) + bResult = 4; + + if (bResult != 0) + break; + + + uint16 sTUserClanID = pTUser->GetClanID(); + CKnights *pTUserKnights = g_pMain->GetClanPtr(sTUserClanID); + + result << uint8(KNIGHTS_ALLY_REQ); + + result << uint8(1) << pKnights->GetName(); + pTUser->Send(&result); + return; + } + } + while (0); + + + result << uint8(KNIGHTS_JOIN) << bResult; + pUser->Send(&result); +} + +void CKnightsManager::KnightsAllianceRequest(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr || pUser->isDead()) + return; + + uint8 flag; + uint16 TargetClanLeaderID; + + pkt >> flag >> TargetClanLeaderID; + + Packet result(WIZ_KNIGHTS_PROCESS); + uint8 Hata = 0; + + CUser * pTargetUser = g_pMain->GetUserPtr(TargetClanLeaderID); + if (pTargetUser == nullptr) + { + Hata = 2; + goto FinalResult; + } + else + { + CKnights * pKnights = g_pMain->GetClanPtr(pTargetUser->m_bKnights); + if(pKnights == nullptr && !pUser->isInGame() && !pTargetUser->isInGame()) + { + Hata = 2; + goto FinalResult; + } + + CKnights * pTargetKnights = g_pMain->GetClanPtr(pUser->m_bKnights); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(pTargetUser->m_bKnights); + if (pTargetKnights != nullptr || pKnights != nullptr) + { + if (pTargetUser->isDead()) + { + Hata = 3; + goto FinalResult; + } + else if (pTargetUser->GetNation() != pUser->GetNation()) + { + Hata = 4; + goto FinalResult; + } + else if (!pTargetUser->GetClanID()) + { + Hata = 5; + goto FinalResult; + } + if(pAlliance != nullptr) + { + CKnights * pKnights1 = g_pMain->GetClanPtr(pAlliance->sSubAllianceKnights), + * pKnights2 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_1), + * pKnights3 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_2); + + if (pKnights->m_byFlag > 1 && + !pTargetKnights->isInAlliance() && + pKnights->m_strChief == pTargetUser->GetName() && + pAlliance != nullptr && + pAlliance->sMainAllianceKnights == pKnights->GetAllianceID() && + pAlliance->sMercenaryClan_1 != pTargetKnights->m_sIndex && + pAlliance->sMercenaryClan_2 != pTargetKnights->m_sIndex && + pAlliance->sSubAllianceKnights != pTargetKnights->m_sIndex) + { + uint16 MainCap = pKnights->m_sCape; + result << uint8(KNIGHTS_ALLY_INSERT) << uint8(1) << pTargetUser->m_bKnights << pUser->m_bKnights << MainCap; + g_pMain->AddDatabaseRequest(result, pTargetUser); + std::string noticeText; + g_pMain->GetServerResource(IDS_INSERT_KNIGHTS_ALLIANCE, ¬iceText, pTargetKnights->GetName().c_str()); + pKnights->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights1 != nullptr) + pKnights1->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights2 != nullptr) + pKnights2->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights3 != nullptr) + pKnights3->SendChatAlliance("%s", noticeText.c_str()); + } + } + } + } +FinalResult: + { + result << uint8(KNIGHTS_JOIN) << Hata; + pUser->Send(&result); + } +} + +void CKnightsManager::KnightsAllianceRemove(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr || pUser->isDead()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_REMOVE)); + CKnights *pKnights = g_pMain->GetClanPtr(pUser->GetClanID()), + *pTKnights = g_pMain->GetClanPtr(pKnights->m_sAlliance); + _KNIGHTS_ALLIANCE *pAlliance = g_pMain->GetAlliancePtr(pKnights->m_sAlliance); + + if (pAlliance == nullptr) + { + KnightsAllianceCreate(pUser,pkt); + g_pMain->ReloadKnightAndUserRanks(); + pAlliance = g_pMain->GetAlliancePtr(pUser->GetClanID()); + } + else + { + CKnights *pKnights1 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_1), + *pKnights2 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_2), + *pKnights3 = g_pMain->GetClanPtr(pAlliance->sSubAllianceKnights); + + if ((pKnights->m_strChief == pUser->GetName() + || pTKnights->m_strChief == pUser->GetName()) + && !pTKnights->isInAlliance() + && pAlliance != nullptr + && pAlliance->sMainAllianceKnights != pUser->GetClanID() + || pAlliance->sMercenaryClan_1 == pKnights->m_sIndex + || pAlliance->sMercenaryClan_2 == pKnights->m_sIndex + || pAlliance->sSubAllianceKnights == pKnights->m_sIndex) + { + + result << uint8(1) << pKnights->m_sAlliance << pUser->GetClanID() << uint16(-1); + g_pMain->AddDatabaseRequest(result, pUser); + pUser->SendToRegion(&result); + + std::string noticeText; + g_pMain->GetServerResource(IDS_REMOVE_KNIGHTS_ALLIANCE, ¬iceText, pKnights->GetName().c_str()); + pTKnights->SendChatAlliance("%s", noticeText.c_str()); + if (pKnights1 != nullptr) + pKnights1->SendChatAlliance("%s", noticeText.c_str()); + if (pKnights2 != nullptr) + pKnights2->SendChatAlliance("%s", noticeText.c_str()); + if (pKnights3 != nullptr) + pKnights3->SendChatAlliance("%s", noticeText.c_str()); + } + } +} + +void CKnightsManager::KnightsAlliancePunish(CUser* pUser, Packet & pkt) { + + + if (pUser == nullptr + || pUser->isDead()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_PUNISH)); // knights ban + uint16 TargetClanID = pkt.read(),MainCapeID; + CKnights *pTargetKnights = g_pMain->GetClanPtr(TargetClanID) , *pKnights = g_pMain->GetClanPtr(pUser->m_bKnights); + _KNIGHTS_ALLIANCE * pAlliance = g_pMain->GetAlliancePtr(pUser->m_bKnights); + + if( pAlliance != nullptr && pTargetKnights != nullptr && pKnights != nullptr) + { + CKnights * pKnights1 = g_pMain->GetClanPtr(pAlliance->sSubAllianceKnights), + * pKnights2 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_1), + * pKnights3 = g_pMain->GetClanPtr(pAlliance->sMercenaryClan_2); + + CUser *pTargetUser = nullptr; + + if (pTargetKnights != nullptr && !pTargetKnights->m_strChief.empty()) + pTargetUser = g_pMain->GetUserPtr(pTargetKnights->m_strChief, TYPE_CHARACTER); + + if (pAlliance->sMainAllianceKnights == pKnights->GetID()) + MainCapeID = pKnights->m_sCape; + else + MainCapeID = pTargetKnights->m_sCape; + + if (pKnights->m_byFlag > 1 && + pKnights->m_strChief == pUser->GetName() && + pAlliance != nullptr && + pTargetKnights->isInAlliance() && + pAlliance->sMainAllianceKnights == pKnights->GetAllianceID() || + pAlliance->sMercenaryClan_1 == pTargetKnights->m_sIndex || + pAlliance->sMercenaryClan_2 == pTargetKnights->m_sIndex || + pAlliance->sSubAllianceKnights == pTargetKnights->m_sIndex) + { + + if (pTargetUser != nullptr) + { + result << uint8(1) << pUser->m_bKnights << pTargetUser->m_bKnights << MainCapeID; + g_pMain->AddDatabaseRequest(result, pUser); + std::string noticeText; + g_pMain->GetServerResource(IDS_PUNISH_KNIGHTS_ALLIANCE, ¬iceText, pTargetKnights->GetName().c_str()); + pKnights->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights1 != nullptr) + pKnights1->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights2 != nullptr) + pKnights2->SendChatAlliance("%s", noticeText.c_str()); + if(pKnights3 != nullptr) + pKnights3->SendChatAlliance("%s", noticeText.c_str()); + } + } + } +} +/** +* @brief Handles the client packet responsible for displaying +* all clans that are part of the user's clan's alliance. +* +* @param pUser The user. +* @param pkt The packet. +*/ +void CKnightsManager::KnightsAllianceList(CUser* pUser, Packet & pkt) +{ + if (pUser == nullptr || !pUser->isInGame() || !pUser->isInClan()) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_ALLY_LIST)); + _KNIGHTS_ALLIANCE * pAlliance; + CKnights * pClan = g_pMain->GetClanPtr(pUser->GetClanID()); + + if (pClan == nullptr || !pClan->isInAlliance() || (pAlliance = g_pMain->GetAlliancePtr(pClan->GetAllianceID())) == nullptr) + { + result << uint8(0); + pUser->Send(&result); + return; + } + + uint16 clans[] = + { + pAlliance->sMainAllianceKnights, pAlliance->sSubAllianceKnights, + pAlliance->sMercenaryClan_1, pAlliance->sMercenaryClan_2 + }; + + size_t wpos = result.wpos(); + uint8 clanCount = 0; + result << clanCount << std::string("Valentine,ByTerry"); // Ally announcement + + result.SByte(); + + foreach_array(i, clans) + { + uint16 sClanID = clans[i]; + CKnights * pTmp = g_pMain->GetClanPtr(sClanID); + + if (pTmp == nullptr) + continue; + + result << pTmp->GetID() << pTmp->GetName() << pTmp->isInAlliance() << pUser->isInGame() << pUser->GetFame() << pTmp->m_strChief; + + clanCount++; + } + + if (clanCount == 0) + return; + + result.put(wpos, clanCount); + pUser->Send(&result); +} + +void CKnightsManager::ListTop10Clans(CUser *pUser) +{ + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_TOP10)); + result << uint16(0); + + // List top 5 clans of each nation + for (int nation = KARUS_ARRAY; nation <= ELMORAD_ARRAY; nation++) + { + uint16 i = 1; + foreach_stlmap (itr, g_pMain->m_KnightsRatingArray[nation]) + { + if (i > 5) + break; + + CKnights *pKnights = g_pMain->GetClanPtr(itr->second->sClanID); + + if (pKnights == nullptr) + { + result << int16(-1) // Clan ID + << "" // Clan name (2 byte length) + << int16(-1) // Symbol version + << int16(i-1); // Rank (0 - 4) + } + else + { + if (pKnights->m_byNation == nation + 1) + result << pKnights->m_sIndex << pKnights->m_strName << pKnights->m_sMarkVersion << int16(i-1); + else + continue; + } + + i++; + } + } + + pUser->Send(&result); +} +/** +* @brief Handles the clan NP info packet from the client. +* It is designed to tell the user how many points are +* currently stored, and how much they can donate. +* +* @param pUser The user. +* @param pkt The packet. +*/ +void CKnightsManager::DonateNPReq(CUser * pUser, Packet & pkt) +{ + if (pUser == nullptr + || !pUser->isInClan()) + return; + + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_POINT_REQ)); + result << uint8(1) + << uint32(pUser->GetLoyalty()) + << uint32(pKnights->m_nClanPointFund); // note: amount shown is in NP form + pUser->Send(&result); +} + +/** +* @brief Handles the clan NP donations packet from the client. +* +* @param pUser The user. +* @param pkt The packet. +*/ +void CKnightsManager::DonateNP(CUser *pUser, Packet & pkt) +{ + // Ensure the user's valid and in a clan. + if (pUser == nullptr + || !pUser->isInClan() + // Ensure users don't try to donate NP when their NP is at or below the minimum. + || pUser->GetLoyalty() < MIN_NP_TO_DONATE) + return; + + // Ensure the clan exists and the clan is at least Accredited. + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr + || pKnights->m_byFlag < ClanTypeAccredited5) + return; + + // Pass the packet straight to the database thread for further processing. + ReqDonateNP(pUser,pkt); +} + +/** +* @brief Handles the clan NP donations list packet from the client. +* i.e. the "save cont" button's "accumulation status" list. +* +* @param pUser The user. +* @param pkt The packet. +*/ + +void CKnightsManager::UpdateClanNotice(CUser * pUser,Packet & pkt) +{ + if (pUser == nullptr + || !pUser->isInClan()) + return; + + // Ensure the clan exists and the clan is at least Accredited. + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr + || !pUser->isClanLeader()) + return; + + std::string Notice; + + pkt >> Notice; + + pKnights->UpdateClanNotice( Notice ); +} + +void CKnightsManager::DonationList(CUser *pUser, Packet & pkt) +{ + // Ensure the user's valid and in a clan. + if (pUser == nullptr + || !pUser->isInClan()) + return; + + // Ensure the clan exists and the clan is at least Accredited. + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr + || pKnights->m_byFlag < ClanTypeAccredited5) + return; + + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_DONATION_LIST)); + uint8 count = 0; + size_t wpos = result.wpos(); + result << count; + + for (int i = 0; i < MAX_CLAN_USERS; i++) + { + _KNIGHTS_USER * p = &pKnights->m_arKnightsUser[i]; + if (!p->byUsed) + continue; + + result << p->strUserName << p->nDonatedNP; + count++; + } + + result.put(wpos, count); + pUser->Send(&result); +} + + +void CKnightsManager::UpdateKnightMemo(CUser * pUser, Packet & pkt) +{ + uint8 command = pkt.read(); + + Packet result(WIZ_KNIGHTS_PROCESS); + + if(pUser == nullptr) + return; + + CKnights* pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + + if(pKnights == nullptr) + return; + + std::string myName = pUser->GetName(); + std::string Name = ""; + + _KNIGHTS_USER * p = nullptr; + foreach_array (i, pKnights->m_arKnightsUser) + { + p = &pKnights->m_arKnightsUser[i]; + if (!p->byUsed) + continue; + + Name = p->strUserName; + STRTOUPPER(Name); + if(Name != myName) + continue; + + break; + } + + if(p == nullptr || p->strUserMemo.size() > 20) + return; + + pkt >> p->strUserMemo; + + if(p->strUserMemo.size() > 20 || p->strUserMemo.size() == 0) + return; + + pUser->m_strMemo = p->strUserMemo; + + result.DByte(); + result << uint8(0x58) << uint8(0x03) << uint8(0x01) << p->strUserMemo; + + g_pMain->Send_KnightsMember(pUser->GetClanID(),&result); + +} \ No newline at end of file diff --git a/server/GameServer/KnightsManager.h b/server/GameServer/KnightsManager.h new file mode 100644 index 0000000..256cd29 --- /dev/null +++ b/server/GameServer/KnightsManager.h @@ -0,0 +1,80 @@ +#pragma once + +class CUser; +class CGameServerDlg; +class CKnights; +class Packet; + +class CKnightsManager +{ +public: + static void CreateKnights(CUser* pUser, Packet & pkt); + static void JoinKnights(CUser* pUser, Packet & pkt); + static void WithdrawKnights(CUser* pUser, Packet & pkt); + static void ModifyKnightsMember(CUser* pUser, Packet & pkt, uint8 opcode); + static void ModifyKnightsLeader(CUser* pUser, Packet & pkt, uint8 opcode); + static void ModifyKnightsPointMethod(CUser* pUser, Packet & pkt); + static void DestroyKnights(CUser* pUser); + static void AllKnightsList(CUser* pUser, Packet & pkt); + static void AllKnightsMember(CUser* pUser); + static void CurrentKnightsMember(CUser* pUser, Packet & pkt); + static void JoinKnightsReq(CUser* pUser, Packet & pkt); + static void RegisterClanSymbol(CUser* pUser, Packet & pkt); + static void RequestClanSymbolVersion(CUser* pUser, Packet & pkt); + static void RequestClanSymbols(CUser* pUser, Packet & pkt); + static void GetClanSymbol(CUser* pUser, uint16 sClanID); + static bool CheckAlliance(CKnights * pMainClan, CKnights * pTargetClan); + static void KnightsAllianceDestroy(CUser* pUser, Packet & pkt); + static void KnightsAllianceCreate(CUser* pUser, Packet & pkt); + static void KnightsAllianceRequest(CUser* pUser, Packet & pkt); + static void KnightsAllianceInsert(CUser* pUser, Packet & pkt); + static void KnightsAllianceRemove(CUser* pUser, Packet & pkt); + static void KnightsAlliancePunish(CUser* pUser, Packet & pkt); + static void KnightsAllianceList(CUser* pUser, Packet & pkt); + static void ListTop10Clans(CUser *pUser); + static void DonateNPReq(CUser *pUser, Packet & pkt); + static void DonateNP(CUser *pUser, Packet & pkt); + static void DonationList(CUser *pUser, Packet & pkt); + + static bool AddKnightsUser(int index, std::string & strUserID); + static void LoadUserDonatedNP(int index, std::string & strUserID, uint32 nDonatedNP, bool bIsKillReward = false); + static void AddUserDonatedNPinGame(int index, CUser * pUser, uint32 nDonatedNP, bool bIsKillReward = false); + static bool RemoveKnightsUser(int index, std::string & strUserID); + static bool LoadKnightsIndex(int index); + static bool LoadAllKnights(); + static void UpdateKnightsGrade(uint16 sClanID, uint8 byFlag); + static void UpdateClanPoint(uint16 sClanID, int32 nChangeAmount); + static void UpdateKnightMemo(CUser*pUser, Packet &pkt); + static void UpdateClanNotice(CUser*pUser, Packet &pkt); + + // database requests go here + static void ReqKnightsPacket(CUser* pUser, Packet & pkt); + static void ReqCreateKnights(CUser* pUser, Packet & pkt); + static void ReqUpdateKnights(CUser* pUser, Packet & pkt, uint8 opcode); + static void ReqModifyKnightsMember(CUser* pUser, Packet & pkt, uint8 command); + static void ReqDestroyKnights(CUser* pUser, Packet & pkt); + static void ReqAllKnightsMember(CUser *pUser, Packet & pkt); + static void ReqKnightsList(Packet & pkt); + static void ReqRegisterClanSymbol(CUser *pUser, Packet & pkt); + static void KnightsAllianceCreate2(CUser* pUser, Packet & pkt); + static void KnightsCreateInsert(CUser* pUser, Packet & pkt); + static void ReqKnightsAllianceCreate(CUser *pUser, Packet & pkt); + static void ReqKnightsAllianceRequest(CUser *pUser, Packet & pkt); + static void ReqKnightsAllianceRemove(CUser *pUser, Packet & pkt); + static void ReqKnightsAlliancePunish(CUser *pUser, Packet & pkt); + static void ReqUpdateGrade(Packet & pkt); + static void ReqUpdateAuto(Packet & pkt); + static void ReqDonateNP(CUser *pUser, Packet & pkt); + static void ReqRefundNP(Packet & pkt); + static void ReqUpdateNP(Packet & pkt); + static void ReqUpdateClanNotice(Packet & pkt); + + static void RecvUpdateKnights(CUser* pUser, Packet & pkt, uint8 command); + static void RecvModifyFame(CUser* pUser, Packet & pkt, uint8 command); + static void RecvKnightsAllList(Packet & pkt); + + static int GetKnightsIndex( int nation ); + static bool IsAvailableName( const char* strname); + static void PacketProcess(CUser* pUser, Packet & pkt); + +}; \ No newline at end of file diff --git a/server/GameServer/LetterHandler.cpp b/server/GameServer/LetterHandler.cpp new file mode 100644 index 0000000..9399705 --- /dev/null +++ b/server/GameServer/LetterHandler.cpp @@ -0,0 +1,352 @@ +#include "stdafx.h" +#include "DBAgent.h" + +using std::string; + +void CUser::LetterSystem(Packet & pkt) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + { + Packet resulta(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + resulta << uint8(LETTER_LIST); + resulta << int8(-1); + Send(&resulta); + } + + uint8 opcode = pkt.read(); + + switch (opcode) + { + case LETTER_UNREAD: + case LETTER_LIST: + case LETTER_HISTORY: + case LETTER_READ: + case LETTER_GET_ITEM: + case LETTER_SEND: + break; + + case LETTER_DELETE: + { + uint8 bCount = pkt.read(); + if (bCount > 5) + { + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + result << uint8(LETTER_DELETE) << int8(-3); + Send(&result); + return; + } + } break; + + default: + TRACE("Unknown letter packet: %X\n", opcode); + return; + } + + g_pMain->AddDatabaseRequest(pkt, this); +} + +void CUser::ReqLetterSystem(Packet & pkt) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + { + Packet resulta(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + resulta << uint8(LETTER_LIST); + resulta << int8(-1); + Send(&resulta); + } + + uint8 opcode = pkt.read(); + switch (opcode) + { + // Are there any letters to be read? + // This is for the notification at the top of the screen. + case LETTER_UNREAD: + ReqLetterUnread(); + break; + + // Lists all the new mail. + case LETTER_LIST: + ReqLetterList(); + break; + + // Lists all the old mail. + case LETTER_HISTORY: + ReqLetterList(false); + break; + + // Opens up the letter & marks it as read. + case LETTER_READ: + ReqLetterRead(pkt); + break; + + // Used to send a letter & any coins/items (coins are disabled though) + case LETTER_SEND: + ReqLetterSend(pkt); + break; + + // Used to take an item from a letter. + case LETTER_GET_ITEM: + ReqLetterGetItem(pkt); + break; + + // Deletes up to 5 old letters at a time. + case LETTER_DELETE: + ReqLetterDelete(pkt); + break; + } +} + +void CUser::ReqLetterUnread() +{ + // TODO: Force this to use cached list data (or update if stale). Calling the DB for just this is pointless. + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + result << uint8(LETTER_UNREAD) + << g_DBAgent.GetUnreadLetterCount(m_strUserID); + Send(&result); +} + +void CUser::ReqLetterList(bool bNewLettersOnly /*= true*/) +{ + + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + result << uint8(bNewLettersOnly ? LETTER_LIST : LETTER_HISTORY); + + if (!g_DBAgent.GetLetterList(m_strUserID, result, bNewLettersOnly)) + result << int8(-1); + + Send(&result); +} + +void CUser::ReqLetterRead(Packet & pkt) +{ + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + uint32 nLetterID = pkt.read(); + string strMessage; + + result << uint8(LETTER_READ); + if (!g_DBAgent.ReadLetter(m_strUserID, nLetterID, strMessage)) + { + // TODO: research error codes + result << uint8(0); + } + else + { + result.SByte(); + result << uint8(1) << nLetterID << strMessage; + } + Send(&result); +} + +void CUser::ReqLetterSend(Packet & pkt) +{ + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + CUser * pUser; + string strRecipient, strSubject, strMessage; + _ITEM_DATA *pItem = nullptr; + uint32 nItemID = 0, nCoins = 0, nCoinRequirement = 1000; + uint8 bType, bSrcPos; + int8 bResult = 1; + int64 Serial = 0; + + if (isMerchanting() || isTrading() || m_bMerchantStatex) + { + bResult = -1; + goto send_packet; + } + + pkt.SByte(); + pkt >> strRecipient >> strSubject >> bType; + + // Invalid recipient name length + if (strRecipient.empty() || strRecipient.length() > MAX_ID_SIZE + // Invalid subject length + || strSubject.empty() || strSubject.length() > 31 + // Invalid type (as far as we're concerned) + || bType == 0 || bType > 2) + bResult = -1; + else if (STRCASECMP(m_strUserID.c_str(), strRecipient.c_str()) == 0) + bResult = -6; + + if (bResult != 1) + goto send_packet; + + if (bType == 2) + { + pkt >> nItemID >> bSrcPos >> nCoins; // coins will always be 0 (it's disabled) + if (nItemID != 0) + nCoinRequirement = 10000; // if coins were enabled, we'd obviously tack nCoins onto this. + else + nCoinRequirement = 5000; // if coins were enabled, we'd obviously tack nCoins onto this. + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + + // Invalid item (ID doesn't exist) + if (pTable == nullptr + // Invalid slot ID + || bSrcPos > HAVE_MAX + // Item doesn't match what the server sees. + || (pItem = GetItem(SLOT_MAX + bSrcPos))->nNum != nItemID) + bResult = -1; + // Untradeable item + else if (pTable->m_bRace == RACE_UNTRADEABLE || nItemID >= ITEM_GOLD + || pItem->isSealed() || pItem->isRented() || pItem->isBound() || pItem->isDuplicate() || pItem->nExpirationTime !=0) + bResult = -32; + } + + pkt >> strMessage; + if (pItem != nullptr) + Serial = pItem->nSerialNum; + + // Invalid message length + if (strMessage.empty() || strMessage.size() > 128) + bResult = -1; + + if (bResult != 1 && nCoins == 0) + goto send_packet; + + // Ensure they have all the coins they need + if (m_iGold < nCoinRequirement) + { + bResult = -1; + goto send_packet; + } + + // Leave the rest up to the database (does the character exist, etc?) + if (pItem != nullptr) + { + if (pItem->nNum == nItemID && pItem->nSerialNum == Serial) + bResult = g_DBAgent.SendLetter(m_strUserID, strRecipient, strSubject, strMessage, bType, pItem, nCoins); + else + bResult = 1; + } + else + bResult = g_DBAgent.SendLetter(m_strUserID, strRecipient, strSubject, strMessage, bType, pItem, nCoins); + + if (bResult != 1) + goto send_packet; + + // Remove the player's coins + if (nCoins != 0) + GoldLose(nCoinRequirement+nCoins); + else + GoldLose(nCoinRequirement); + + // Remove the player's item + if (pItem != nullptr) + { + memset(pItem, 0, sizeof(_ITEM_DATA)); + SendStackChange(nItemID, pItem->sCount, pItem->sDuration, bSrcPos); + } + + // If the other player's online, notify them. + pUser = g_pMain->GetUserPtr(strRecipient, TYPE_CHARACTER); + if (pUser != nullptr) + { + Packet notification(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + notification << uint8(LETTER_UNREAD) << true; + pUser->Send(¬ification); + } + +send_packet: + result << uint8(LETTER_SEND) << uint8(bResult); + Send(&result); +} + +void CUser::ReqLetterGetItem(Packet & pkt) +{ + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + uint64 nSerialNum = 0; + uint32 nLetterID = pkt.read(), nItemID = 0, nCoins = 0; + uint16 sCount = 0, sDurability = 0; + uint32 nExpirationTime = 0; + int8 bResult = g_DBAgent.GetItemFromLetter(m_strUserID, nLetterID, nItemID, sCount, sDurability, nCoins, nSerialNum,nExpirationTime); + int pos = -1; + + if (isMerchanting() || isTrading() || m_bMerchantStatex) + bResult = -1; + + // If the request was successful, check requirements... + if (bResult == 1) + { + // If we're being given an item, do we have enough room for this item? + if (nItemID + && ((pos = FindSlotForItem(nItemID, sCount)) < 0 + || !CheckWeight(nItemID, sCount))) + bResult = -1; + + // If we're being given coins, do they exceed our max? + if (nCoins + && m_iGold + nCoins > COIN_MAX) + bResult = -1; + } + + // If all of the requirements passed, we can give the items/coins. + // But ONLY if ALL requirements are met. + if (bResult == 1) + { + if (nItemID) + { + _ITEM_DATA *pItem = GetItem(pos); + + if(pItem->sCount > 0 && pItem->nNum > 0) + pItem->sCount += sCount; + else + pItem->sCount = sCount; + + + pItem->nNum = nItemID; + pItem->sDuration += sDurability; + pItem->nSerialNum = g_pMain->GenerateItemSerial(); + + if (pItem->nNum == nItemID && nExpirationTime != 0) + { + pItem->nExpirationTime =uint32(UNIXTIME) + ((60 * 60 * 24) * uint32(nExpirationTime)); + + SendStackChange(nItemID, pItem->sCount, pItem->sDuration, pos - SLOT_MAX,pItem->sCount == sCount,nExpirationTime); + } + else + { + SendStackChange(nItemID, pItem->sCount, pItem->sDuration, pos - SLOT_MAX,pItem->sCount == sCount); + } + } + if (nCoins && bResult == 1) + GoldGain(nCoins); + } + + if (bResult == -1){ + g_DBAgent.ResendLetter(m_strUserID, nLetterID); + } + + result << uint8(LETTER_GET_ITEM) << bResult; + Send(&result); +} +void CUser::ReqLetterDelete(Packet & pkt) +{ + + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_LETTER)); + uint8 bCount = pkt.read(); + result << uint8(LETTER_DELETE) << bCount; + for (uint8 i = 0; i < bCount; i++) + { + uint32 nLetterID = pkt.read(); + g_DBAgent.DeleteLetter(m_strUserID, nLetterID); + result << nLetterID; + } + Send(&result); +} diff --git a/server/GameServer/LoadServerData.cpp b/server/GameServer/LoadServerData.cpp new file mode 100644 index 0000000..1da3663 --- /dev/null +++ b/server/GameServer/LoadServerData.cpp @@ -0,0 +1,611 @@ +#include "stdafx.h" + +#include "Map.h" +#include "GameEvent.h" + +#include "KnightsManager.h" +#include "DBAgent.h" +#include "KingSystem.h" + +#include "../shared/database/OdbcRecordset.h" +#include "../shared/database/ItemTableSet.h" +#include "../shared/database/BotTableSet.h" +#include "../shared/database/SetItemTableSet.h" +#include "../shared/database/ItemMiningSet.h" +#include "../shared/database/ItemExchangeSet.h" +#include "../shared/database/ItemUpgradeSet.h" +#include "../shared/database/ItemOpSet.h" +#include "../shared/database/MagicTableSet.h" +#include "../shared/database/MagicType1Set.h" +#include "../shared/database/MagicType2Set.h" +#include "../shared/database/MagicType3Set.h" +#include "../shared/database/MagicType4Set.h" +#include "../shared/database/MagicType5Set.h" +#include "../shared/database/MagicType6Set.h" +#include "../shared/database/MagicType7Set.h" +#include "../shared/database/MagicType8Set.h" +#include "../shared/database/MagicType9Set.h" +#include "../shared/database/ObjectPosSet.h" +#include "../shared/database/ZoneInfoSet.h" +#include "../shared/database/EventSet.h" +#include "../shared/database/CoefficientSet.h" +#include "../shared/database/LevelUpTableSet.h" +#include "../shared/database/PetLevelUpTableSet.h" +#include "../shared/database/ServerResourceSet.h" +#include "../shared/database/QuestHelperSet.h" +#include "../shared/database/QuestMonsterSet.h" +#include "../shared/database/KnightsSet.h" +#include "../shared/database/ReKnightsSet.h" +#include "../shared/database/KnightsUserSet.h" +#include "../shared/database/KnightsAllianceSet.h" +#include "../shared/database/KnightsRankSet.h" +#include "../shared/database/KnightsCapeSet.h" +#include "../shared/database/UserPersonalRankSet.h" +#include "../shared/database/UserKnightsRankSet.h" +#include "../shared/database/StartPositionSet.h" +#include "../shared/database/StartPositionRandomSet.h" +#include "../shared/database/BattleSet.h" +#include "../shared/database/RentalItemSet.h" +#include "../shared/database/KingSystemSet.h" +#include "../shared/database/KingCandidacyNoticeBoardSet.h" +#include "../shared/database/KingElectionListSet.h" +#include "../shared/database/EventTriggerSet.h" +#include "../shared/database/MonsterChallenge.h" +#include "../shared/database/EventTimes.h" +#include "../shared/database/MonsterChallengeSummonList.h" +#include "../shared/database/MonsterSummonListSet.h" +#include "../shared/database/MonsterSummonListZoneSet.h" +#include "../shared/database/MonsterRespawnListSet.h" +#include "../shared/database/MonsterRespawnListInformationSet.h" +#include "../shared/database/MonsterRespawnListRandomSet.h" +#include "../shared/database/PremiumItemSet.h" +#include "../shared/database/PremiumItemExpSet.h" +#include "../shared/database/PetTableSet.h" +#include "../shared/database/CypherTableSet.h" +#include "../shared/database/UserDailyOpSet.h" +#include "../shared/database/UserItemSet.h" +#include "../shared/database/KnightsSiegeWar.h" +#include "../shared/database/AchieveComSet.h" +#include "../shared/database/AchieveWarSet.h" +#include "../shared/database/AchieveTitleSet.h" +#include "../shared/database/AchieveMainSet.h" +#include "../shared/database/AchieveNormalSet.h" +#include "../shared/database/AchieveMonsterSet.h" +#include "../shared/database/ItemCrashSet.h" +#include "../shared/database/ItemMixSet.h" +#include "../shared/database/ItemDuper.h" +#include "../shared/database/IlegalItems.h" +#include "../shared/database/ItemExchangeExpSet.h" + +bool CGameServerDlg::LoadItemCrashTable() +{ + LOAD_TABLE(CItemCrashSet,g_DBAgent.m_GameDB,&m_ItemCrashArray,true,false); +} + +bool CGameServerDlg::LoadItemTable() +{ + LOAD_TABLE(CItemTableSet, g_DBAgent.m_GameDB, &m_ItemtableArray, false, false); +} + +bool CGameServerDlg::LoadItemDuper() +{ + LOAD_TABLE(CItemDuper, g_DBAgent.m_GameDB, &m_ItemDupersArray,true, false); +} + +bool CGameServerDlg::LoadIlegalItems() +{ + LOAD_TABLE(CIlegalItems, g_DBAgent.m_GameDB, &m_IlegalItemsArray,true, false); +} + +bool CGameServerDlg::LoadSetItemTable() +{ + LOAD_TABLE(CSetItemTableSet, g_DBAgent.m_GameDB, &m_SetItemArray,true, false); +} + +bool CGameServerDlg::LoadAchieveMonsterTable() +{ + LOAD_TABLE(CAchieveMonsterSet, g_DBAgent.m_GameDB, &ACHIEVE_MONSTER,true, false); +} + +bool CGameServerDlg::LoadAchieveNormalTable() +{ + LOAD_TABLE(CAchieveNormalSet, g_DBAgent.m_GameDB, &ACHIEVE_NORMAL,true, false); +} + +bool CGameServerDlg::LoadAchieveTitleTable() +{ + LOAD_TABLE(CAchieveTitleSet, g_DBAgent.m_GameDB, &ACHIEVE_TITLE,true, false); +} + +bool CGameServerDlg::LoadAchieveWarTable() +{ + LOAD_TABLE(CAchieveWarSet, g_DBAgent.m_GameDB, &ACHIEVE_WAR,true, false); +} + +bool CGameServerDlg::LoadAchieveMainTable() +{ + LOAD_TABLE(CAchieveMainSet, g_DBAgent.m_GameDB, &ACHIEVE_MAIN,true, false); +} + +bool CGameServerDlg::LoadAchieveComTable() +{ + LOAD_TABLE(CAchieveComSet, g_DBAgent.m_GameDB, &ACHIEVE_COM,true, false); +} + +bool CGameServerDlg::LoadKnightsSiegeWarsTable() +{ + LOAD_TABLE(CKnightsSiegeWarfare, g_DBAgent.m_GameDB, &m_KnightsSiegeWarfareArray,true, false); +} +bool CGameServerDlg::LoadItemExchangeTable() +{ + LOAD_TABLE(CItemExchangeSet, g_DBAgent.m_GameDB, &m_ItemExchangeArray,true, false); +} + +bool CGameServerDlg::LoadItemMixTable() +{ + LOAD_TABLE(CItemMixSet, g_DBAgent.m_GameDB, &m_ItemMixArray,true, false); +} + +bool CGameServerDlg::LoadItemExchangeExpTable() +{ + LOAD_TABLE(CItemExchangeExpSet, g_DBAgent.m_GameDB, &m_ItemExchangeExpArray,true, false); +} + +uint8 CGameServerDlg::GetTariffByZone(int zoneid) +{ + + _KNIGHTS_SIEGE_WARFARE *pSiegeWar = g_pMain->GetSiegeMasterKnightsPtr(1); + CKingSystem *pKingSystemK = g_pMain->m_KingSystemArray.GetData(1); + CKingSystem *pKingSystemH = g_pMain->m_KingSystemArray.GetData(2); + + switch (zoneid) + { + case ZONE_KARUS: + if (pKingSystemK != nullptr) + return (10 + pKingSystemK->m_nTerritoryTariff); + else + return 10; + break; + case ZONE_KARUS_ESLANT: + if (pKingSystemK != nullptr) + return (10 + pKingSystemK->m_nTerritoryTariff); + else + return 10; + break; + case ZONE_ELMORAD: + if (pKingSystemH != nullptr) + return (10 + pKingSystemH->m_nTerritoryTariff); + else + return 10; + break; + case ZONE_ELMORAD_ESLANT: + if (pKingSystemH != nullptr){ + return (10 + pKingSystemH->m_nTerritoryTariff); + }else + return 10; + break; + case ZONE_MORADON: + if (pSiegeWar != nullptr){ + return (uint8)pSiegeWar->sMoradonTariff; + }else + return 0; + break; + case ZONE_DELOS: + if (pSiegeWar != nullptr){ + return (uint8)pSiegeWar->sDellosTariff; + }else + return 0; + break; + default: + break; + } + + return 0; +} +bool CGameServerDlg::LoadItemMiningTable() +{ + + memset(&bRandArrayNormalMattock, 0, sizeof(bRandArrayNormalMattock)); + memset(&bRandArrayGoldenMattock, 0, sizeof(bRandArrayGoldenMattock)); + + g_pMain->TotalMiningExchangeRate = 0; + g_pMain->TotalGoldenMiningExchangeRate = 0; + + LOAD_TABLE(CItemMiningSet, g_DBAgent.m_GameDB, &m_ItemMiningArray,true, false); + + + if (g_pMain->TotalMiningExchangeRate != 10000) + printf("WARNING : Total Mining Exchange Rate(ITEM_MINING) have to be [10000]!\n"); + + if (g_pMain->TotalGoldenMiningExchangeRate != 10000) + printf("WARNING : Total Golden Mining Exchange Rate(ITEM_MINING) have to be [10000]!\n"); + +} + +bool CGameServerDlg::LoadItemUpgradeTable() +{ + LOAD_TABLE(CItemUpgradeSet, g_DBAgent.m_GameDB, &m_ItemUpgradeArray, false, false); +} + +bool CGameServerDlg::LoadItemOpTable() +{ + LOAD_TABLE(CItemOpSet, g_DBAgent.m_GameDB, &m_ItemOpArray,true, false); +} + +bool CGameServerDlg::LoadServerResourceTable() +{ + LOAD_TABLE(CServerResourceSet, g_DBAgent.m_GameDB, &m_ServerResourceArray, false, false); +} + +bool CGameServerDlg::LoadQuestHelperTable() +{ + Guard lock(m_questNpcLock); + m_QuestNpcList.clear(); + LOAD_TABLE(CQuestHelperSet, g_DBAgent.m_GameDB, &m_QuestHelperArray,true, false); +} + +bool CGameServerDlg::LoadQuestMonsterTable() +{ + LOAD_TABLE(CQuestMonsterSet, g_DBAgent.m_GameDB, &m_QuestMonsterArray,true, false); +} + +bool CGameServerDlg::LoadMagicTable() +{ + LOAD_TABLE(CMagicTableSet, g_DBAgent.m_GameDB, &m_MagictableArray, false, false); +} + +bool CGameServerDlg::LoadMagicType1() +{ + LOAD_TABLE(CMagicType1Set, g_DBAgent.m_GameDB, &m_Magictype1Array, false, false); +} + +bool CGameServerDlg::LoadMagicType2() +{ + LOAD_TABLE(CMagicType2Set, g_DBAgent.m_GameDB, &m_Magictype2Array, false, false); +} + +bool CGameServerDlg::LoadMagicType3() +{ + LOAD_TABLE(CMagicType3Set, g_DBAgent.m_GameDB, &m_Magictype3Array, false, false); +} + +bool CGameServerDlg::LoadMagicType4() +{ + LOAD_TABLE(CMagicType4Set, g_DBAgent.m_GameDB, &m_Magictype4Array, false, false); +} + +bool CGameServerDlg::LoadMagicType5() +{ + LOAD_TABLE(CMagicType5Set, g_DBAgent.m_GameDB, &m_Magictype5Array, false, false); +} + +bool CGameServerDlg::LoadMagicType6() +{ + LOAD_TABLE(CMagicType6Set, g_DBAgent.m_GameDB, &m_Magictype6Array, false, false); +} + +bool CGameServerDlg::LoadMagicType7() +{ + LOAD_TABLE(CMagicType7Set, g_DBAgent.m_GameDB, &m_Magictype7Array, false, false); +} + +bool CGameServerDlg::LoadMagicType8() +{ + LOAD_TABLE(CMagicType8Set, g_DBAgent.m_GameDB, &m_Magictype8Array, false, false); +} + +bool CGameServerDlg::LoadMagicType9() +{ + LOAD_TABLE(CMagicType9Set, g_DBAgent.m_GameDB, &m_Magictype9Array, false, false); +} + +bool CGameServerDlg::LoadRentalList() +{ + LOAD_TABLE(CRentalItemSet, g_DBAgent.m_GameDB, &m_RentalItemArray,true, false); +} + +bool CGameServerDlg::LoadCoefficientTable() +{ + LOAD_TABLE(CCoefficientSet, g_DBAgent.m_GameDB, &m_CoefficientArray, false, false); +} + +bool CGameServerDlg::LoadLevelUpTable() +{ + LOAD_TABLE(CLevelUpTableSet, g_DBAgent.m_GameDB, &m_LevelUpArray, false, false); +} + +bool CGameServerDlg::LoadPetLevelUpTable() +{ + LOAD_TABLE(CPetLevelUpTableSet, g_DBAgent.m_GameDB, &m_PetLevelUpArray, false, false); +} + +bool CGameServerDlg::LoadAllKnights(bool bIsSlient) +{ + Guard lock(m_KnightsArray.m_lock); + LOAD_TABLE(CKnightsSet, g_DBAgent.m_GameDB, &m_KnightsArray,true, bIsSlient); +} + +bool CGameServerDlg::ReloadAllKnights(bool bIsSlient) +{ + Guard lock(m_KnightsArray.m_lock); + LOAD_TABLE(CReKnightsSet, g_DBAgent.m_GameDB, &m_KnightsArray,true, bIsSlient); +} + +bool CGameServerDlg::LoadAllKnightsUserData(bool bIsSlient) +{ + LOAD_TABLE(CKnightsUserSet, g_DBAgent.m_GameDB, nullptr,true, bIsSlient); +} + +bool CGameServerDlg::LoadKnightsAllianceTable(bool bIsSlient) +{ + LOAD_TABLE(CKnightsAllianceSet, g_DBAgent.m_GameDB, &m_KnightsAllianceArray,true, bIsSlient); +} + +bool CGameServerDlg::LoadUserRankings() +{ + CUserPersonalRankSet UserPersonalRankSet(g_DBAgent.m_GameDB, &m_UserPersonalRankMap); + CUserKnightsRankSet UserKnightsRankSet(g_DBAgent.m_GameDB, &m_UserKnightsRankMap); + TCHAR * szError = nullptr; + + // Cleanup first, in the event it's already loaded (we'll have this automatically reload in-game) + CleanupUserRankings(); + + // Acquire the lock for thread safety, and load both tables. + //Guard lock(m_userRankingsLock); + + szError = UserPersonalRankSet.Read(true); + if (szError != nullptr) + { + printf("ERROR: Failed to load personal rankings, error:\n%s\n", szError); + return false; + } + + szError = UserKnightsRankSet.Read(true); + if (szError != nullptr) + { + printf("ERROR: Failed to load user knights rankings, error:\n%s\n", szError); + return false; + } + + foreach (itr, m_UserKnightsRankMap) + { + CUser *pUser = GetUserPtr(itr->first, TYPE_CHARACTER); + if (pUser == nullptr) + continue; + + GetUserRank(pUser); + + } + + foreach (itr, m_UserPersonalRankMap) + { + CUser *pUser = GetUserPtr(itr->first, TYPE_CHARACTER); + if (pUser == nullptr) + continue; + + GetUserRank(pUser); + } + + return true; +} + +void CGameServerDlg::CleanupUserRankings() +{ + std::set<_USER_RANK *> deleteSet, DELETESET2; + Guard lock(m_userRankingsLock); + + // Go through the personal rank map, reset the character's rank and insert + // the _USER_RANK struct instance into the deletion set for later. + foreach (itr, m_UserPersonalRankMap) + { + CUser *pUser = GetUserPtr(itr->first, TYPE_CHARACTER); + if (pUser != nullptr) + pUser->m_bPersonalRank = -1; + + deleteSet.insert(itr->second); + } + + // Go through the knights rank map, reset the character's rank and insert + // the _USER_RANK struct instance into the deletion set for later. + foreach (itr, m_UserKnightsRankMap) + { + CUser *pUser = GetUserPtr(itr->first, TYPE_CHARACTER); + if (pUser != nullptr) + pUser->m_bKnightsRank = -1; + + DELETESET2.insert(itr->second); + } + + // Clear out the maps + m_UserPersonalRankMap.clear(); + m_UserKnightsRankMap.clear(); + + // Free the memory used by the _USER_RANK structs + foreach (itr, deleteSet) + delete *itr; + + foreach (itr, DELETESET2) + delete *itr; + + // These only store pointers to memory that was already freed by the primary rankings maps. + m_playerRankings[KARUS_ARRAY].clear(); + m_playerRankings[ELMORAD_ARRAY].clear(); + m_playerPersonalRankings[KARUS_ARRAY].clear(); + m_playerPersonalRankings[ELMORAD_ARRAY].clear(); +} + +bool CGameServerDlg::LoadKnightsCapeTable() +{ + LOAD_TABLE(CKnightsCapeSet, g_DBAgent.m_GameDB, &m_KnightsCapeArray, false, false); +} + +bool CGameServerDlg::LoadKnightsRankTable(bool bWarTime /*= false*/, bool bIsSlient /*= false*/) +{ + std::string strKarusCaptainNames, strElmoCaptainNames; + LOAD_TABLE_ERROR_ONLY(CKnightsRankSet, g_DBAgent.m_GameDB, nullptr, true, bIsSlient); + + BoardCache[0].clear(); + BoardCache[1].clear(); + + + if (!bWarTime) + return true; + + CKnightsRankSet & pSet = _CKnightsRankSet; // kind ugly generic naming + + if (pSet.nKarusCount > 0) + { + Packet result; + GetServerResource(IDS_KARUS_CAPTAIN, &strKarusCaptainNames, + pSet.strKarusCaptain[0], pSet.strKarusCaptain[1], pSet.strKarusCaptain[2], + pSet.strKarusCaptain[3], pSet.strKarusCaptain[4]); + ChatPacket::Construct(&result, WAR_SYSTEM_CHAT, &strKarusCaptainNames); + Send_All(&result, nullptr, KARUS); + } + + if (pSet.nElmoCount > 0) + { + Packet result; + GetServerResource(IDS_ELMO_CAPTAIN, &strElmoCaptainNames, + pSet.strElmoCaptain[0], pSet.strElmoCaptain[1], pSet.strElmoCaptain[2], + pSet.strElmoCaptain[3], pSet.strElmoCaptain[4]); + ChatPacket::Construct(&result, WAR_SYSTEM_CHAT, &strElmoCaptainNames); + Send_All(&result, nullptr, ELMORAD); + } + + return true; +} + +bool CGameServerDlg::LoadStartPositionTable() +{ + LOAD_TABLE(CStartPositionSet, g_DBAgent.m_GameDB, &m_StartPositionArray, false, false); +} + +bool CGameServerDlg::LoadBattleTable() +{ + LOAD_TABLE(CBattleSet, g_DBAgent.m_GameDB, &m_byOldVictory,true, false); +} + +bool CGameServerDlg::LoadKingSystem() +{ + LOAD_TABLE_ERROR_ONLY(CKingSystemSet, g_DBAgent.m_GameDB, &m_KingSystemArray,true, false); + LOAD_TABLE_ERROR_ONLY(CKingCandidacyNoticeBoardSet, g_DBAgent.m_GameDB, &m_KingSystemArray,true, false); + LOAD_TABLE(CKingElectionListSet, g_DBAgent.m_GameDB, &m_KingSystemArray,true, false); +} + +bool CGameServerDlg::LoadMonsterChallengeTable() +{ + LOAD_TABLE(CMonsterChallenge, g_DBAgent.m_GameDB, &m_MonsterChallengeArray,true, false); +} + +bool CGameServerDlg::LoadEventTimesTable() +{ + LOAD_TABLE(CEventTimes, g_DBAgent.m_GameDB, &m_EventTimesArray,true, false); +} + +bool CGameServerDlg::LoadMonsterChallengeSummonListTable() +{ + LOAD_TABLE(CMonsterChallengeSummonList, g_DBAgent.m_GameDB, &m_MonsterChallengeSummonListArray,true, false); +} + +bool CGameServerDlg::LoadMonsterSummonListTable() +{ + LOAD_TABLE(CMonsterSummonListSet, g_DBAgent.m_GameDB, &m_MonsterSummonList,true, false); +} + +bool CGameServerDlg::LoadMonsterSummonListZoneTable() +{ + LOAD_TABLE(CMonsterSummonListZoneSet, g_DBAgent.m_GameDB, &m_MonsterSummonListZoneArray,true, false); +} + +bool CGameServerDlg::LoadMonsterRespawnListTable() +{ + LOAD_TABLE(CMonsterRespawnListSet, g_DBAgent.m_GameDB, &m_MonsterRespawnListArray,true, false); +} + +bool CGameServerDlg::LoadMonsterRespawnListInformationTable() +{ + LOAD_TABLE(CMonsterRespawnListInformationSet, g_DBAgent.m_GameDB, &m_MonsterRespawnListInformationArray,true, false); +} + +bool CGameServerDlg::LoadMonsterRespawnListRandomTable() +{ + LOAD_TABLE(CMonsterRespawnListRandomSet, g_DBAgent.m_GameDB, &m_MonsterRespawnListRandomArray,true, false); +} + +bool CGameServerDlg::LoadPremiumItemTable() +{ + LOAD_TABLE(CPremiumItemSet, g_DBAgent.m_GameDB, &m_PremiumItemArray,true, false); +} + +bool CGameServerDlg::LoadPremiumItemExpTable() +{ + LOAD_TABLE(CPremiumItemExpSet, g_DBAgent.m_GameDB, &m_PremiumItemExpArray,true, false); +} + +bool CGameServerDlg::LoadPetTable() +{ + LastPetID = 2; + LOAD_TABLE(CPetTableSet, g_DBAgent.m_GameDB, &m_PetArray,true, false); +} + +bool CGameServerDlg::LoadBotTable() +{ + LOAD_TABLE(CBotTableSet, g_DBAgent.m_GameDB, &m_arBotArray,true, false); +} + +bool CGameServerDlg::LoadCypherRingTable() +{ + LOAD_TABLE(CCypherTableSet, g_DBAgent.m_GameDB, &m_CypherRingArray,true, false); +} + +bool CGameServerDlg::LoadUserDailyOpTable() +{ + LOAD_TABLE(CUserDailyOpSet, g_DBAgent.m_GameDB, &m_UserDailyOpMap,true, false); +} + +bool CGameServerDlg::LoadEventTriggerTable() +{ + LOAD_TABLE(CEventTriggerSet, g_DBAgent.m_GameDB, &m_EventTriggerArray,true, false); +} + +bool CGameServerDlg::LoadStartPositionRandomTable() +{ + LOAD_TABLE(CStartPositionRandomSet, g_DBAgent.m_GameDB, &m_StartPositionRandomArray,true, false); +} + +bool CGameServerDlg::LoadUserItemTable() +{ + LOAD_TABLE(CUserItemSet, g_DBAgent.m_GameDB, &m_UserItemArray,true, false); +} + +bool CGameServerDlg::LoadObjectPosTable() +{ + LOAD_TABLE(CObjectPosSet, g_DBAgent.m_GameDB, &m_ObjectEventArray,true, false); +} + +bool CGameServerDlg::MapFileLoad() +{ + ZoneInfoMap zoneMap; + LOAD_TABLE_ERROR_ONLY(CZoneInfoSet, g_DBAgent.m_GameDB, &zoneMap, false, false); + + foreach (itr, zoneMap) + { + C3DMap *pMap = new C3DMap(); + _ZONE_INFO *pZone = itr->second; + if (!pMap->Initialize(pZone)) + { + printf("ERROR: Unable to load SMD - %s\n", pZone->m_MapName.c_str()); + delete pZone; + delete pMap; + m_ZoneArray.DeleteAllData(); + return false; + } + + delete pZone; + m_ZoneArray.PutData(pMap->m_nZoneNumber, pMap); + } + + LOAD_TABLE_ERROR_ONLY(CEventSet, g_DBAgent.m_GameDB, &m_ZoneArray, true, false); + return true; +} \ No newline at end of file diff --git a/server/GameServer/LoadServerData.h b/server/GameServer/LoadServerData.h new file mode 100644 index 0000000..45e42e8 --- /dev/null +++ b/server/GameServer/LoadServerData.h @@ -0,0 +1,95 @@ +#pragma once + +class C3DMap; + +#include "../shared/types.h" +#include "../shared/STLMap.h" +#include "../shared/STLMapOnlyLoad.h" +#include "GameDefine.h" +#include "Knights.h" +#include "Npc.h" +#include "Pet.h" + +class CKingSystem; + +typedef CSTLMapOnlyLoad ZoneArray; +typedef std::map LevelUpArray; +typedef CSTLMapOnlyLoad <_CLASS_COEFFICIENT> CoefficientArray; +typedef CSTLMapOnlyLoad <_ITEM_TABLE> ItemtableArray; +typedef CSTLMapOnlyLoad <_MAGIC_TABLE> MagictableArray; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE1> Magictype1Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE2> Magictype2Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE3> Magictype3Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE4> Magictype4Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE5> Magictype5Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE6> Magictype6Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE7> Magictype7Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE8> Magictype8Array; +typedef CSTLMapOnlyLoad <_MAGIC_TYPE9> Magictype9Array; +typedef CSTLMap NpcArray; +typedef CSTLMap BotArray; +typedef std::map PetArray; +typedef CSTLMap <_PARTY_GROUP> PartyArray; +typedef CSTLMap KnightsArray; +typedef CSTLMap <_KNIGHTS_RATING> KnightsRatingArray; +typedef CSTLMap <_KNIGHTS_ALLIANCE> KnightsAllianceArray; +typedef CSTLMap <_KNIGHTS_USER *> KnightsUserArray; +typedef CSTLMapOnlyLoad <_ZONE_SERVERINFO> ServerArray; +typedef CSTLMapOnlyLoad <_KNIGHTS_CAPE> KnightsCapeArray; +typedef CSTLMapOnlyLoad <_START_POSITION> StartPositionArray; +typedef CSTLMapOnlyLoad <_SERVER_RESOURCE> ServerResourceArray; +typedef CSTLMapOnlyLoad <_QUEST_HELPER> QuestHelperArray; +typedef CSTLMapOnlyLoad <_QUEST_MONSTER> QuestMonsterArray; +typedef CSTLMap <_RENTAL_ITEM> RentalItemArray; +typedef CSTLMapOnlyLoad <_ITEM_EXCHANGE> ItemExchangeArray; +typedef CSTLMap <_ITEM_EXCHANGE_EXP> ItemExchangeExpArray; +typedef CSTLMapOnlyLoad <_ITEM_UPGRADE> ItemUpgradeArray; +typedef CSTLMap <_ITEM_OP> ItemOpArray; +typedef CSTLMapOnlyLoad KingSystemArray; +typedef CSTLMapOnlyLoad <_SET_ITEM> SetItemArray; +typedef CSTLMapOnlyLoad <_MINING_ITEM> ItemMiningArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_NORMAL> AchieveNormalArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_TITLE> AchieveTitleArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_WAR> AchieveWarArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_COM> AchieveComArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_MAIN> AchieveMainArray; +typedef CSTLMapOnlyLoad <_ACHIEVE_MONSTER> AchieveMonsterArray; +typedef std::map CypherRingArray; +typedef CSTLMap <_ITEM_DUPER> ItemDupersArray; +typedef CSTLMap <_ILEGAL_ITEMS> IlegalItemsArray; + +typedef CSTLMap <_MERCHANT_LIST> MerchantListArray; + + +typedef std::map UserNameRankMap; +typedef std::map UserRankMap; + +typedef std::vector<_QUEST_HELPER *> QuestHelperList; +typedef std::map QuestNpcList; + +typedef std::vector<_MONSTER_SUMMON_LIST> MonsterSummonList; +typedef CSTLMapOnlyLoad MonsterSummonListArray; +typedef CSTLMapOnlyLoad <_MONSTER_SUMMON_LIST_ZONE> MonsterSummonListZoneArray; +typedef CSTLMapOnlyLoad <_MONSTER_RESPAWN_LIST> MonsterRespawnListArray; +typedef CSTLMapOnlyLoad <_MONSTER_RESPAWN_LIST_INFORMATION> MonsterRespawnListInformationArray; +typedef CSTLMapOnlyLoad <_MONSTER_RESPAWN_LIST_RANDOM> MonsterRespawnListRandomArray; + +typedef CSTLMapOnlyLoad <_PREMIUM_ITEM> PremiumItemArray; +typedef CSTLMapOnlyLoad <_PREMIUM_ITEM_EXP> PremiumItemExpArray; + +typedef CSTLMap <_USER_RANKING> UserRankingArray; +typedef std::map UserDailyOpMap; + +typedef CSTLMap <_TEMPLE_EVENT_USER> TempleEventUserArray; +typedef CSTLMapOnlyLoad <_KNIGHTS_SIEGE_WARFARE> KnightsSiegeWarfareArray; +typedef CSTLMapOnlyLoad <_EVENT_TRIGGER> EventTriggerArray; +typedef CSTLMapOnlyLoad <_MONUMENT_INFORMATION> NationMonumentInformationArray; +typedef CSTLMapOnlyLoad <_MONSTER_CHALLENGE> MonsterChallengeArray; +typedef CSTLMap <_EVENT_TIMES> EventTimesArray; +typedef CSTLMapOnlyLoad <_MONSTER_CHALLENGE_SUMMON_LIST> MonsterChallengeSummonListArray; +typedef CSTLMapOnlyLoad <_START_POSITION_RANDOM> StartPositionRandomArray; +typedef CSTLMapOnlyLoad <_USER_ITEM> UserItemArray; +typedef CSTLMapOnlyLoad <_OBJECT_EVENT> ObjectEventArray; +typedef CSTLMap <_CHAT_ROOM> ChatRoomArray; +typedef CSTLMap <_ITEM_CRASH> ItemCrashArray; +typedef CSTLMap <_ITEM_MIX> ItemMixArray; \ No newline at end of file diff --git a/server/GameServer/LoginHandler.cpp b/server/GameServer/LoginHandler.cpp new file mode 100644 index 0000000..49b30c6 --- /dev/null +++ b/server/GameServer/LoginHandler.cpp @@ -0,0 +1,51 @@ +#include "stdafx.h" +#include "DBAgent.h" + +void CUser::VersionCheck(Packet & pkt) +{ + iguard2 =0; + Packet result(WIZ_VERSION_CHECK); + srand ((int)time(NULL)); + iguardkey = rand() % 250 +1; + result << uint8(0) << uint16(__VERSION) << m_crypto.GenerateKey() + << uint8(0)<< uint8(0x31)<> strAccountID >> strPasswd; + + //printf("strAcc : %s strPass : %s\n",strAccountID.c_str(),strPasswd.c_str()); + + if (strAccountID.empty() || strAccountID.size() > MAX_ID_SIZE || strPasswd.empty() || strPasswd.size() > MAX_PW_SIZE) + goto fail_return; + + CUser * pUser = g_pMain->GetUserPtr(strAccountID, TYPE_ACCOUNT); + + if (pUser && (pUser->GetSocketID() != GetSocketID())) + { + pUser->Disconnect(); + goto fail_return; + } + + result << strPasswd; + m_strAccountID = strAccountID; + + + g_pMain->AddDatabaseRequest(result, this); + return; + +fail_return: + result << uint8(-1); + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/LuaEngine.cpp b/server/GameServer/LuaEngine.cpp new file mode 100644 index 0000000..044598c --- /dev/null +++ b/server/GameServer/LuaEngine.cpp @@ -0,0 +1,499 @@ +#include "stdafx.h" +#include "LuaEngine.h" +#include "../shared/RWLock.h" + +#include "User.h" +#include "Npc.h" + +// define global functions to be called from Lua (e.g. myrand()) +DEFINE_LUA_FUNCTION_TABLE(g_globalFunctions, + MAKE_LUA_FUNCTION(CheckPercent) + MAKE_LUA_FUNCTION(HowmuchItem) + MAKE_LUA_FUNCTION(ShowMap) + MAKE_LUA_FUNCTION(CheckNation) + MAKE_LUA_FUNCTION(CheckClass) + MAKE_LUA_FUNCTION(CheckLevel) + MAKE_LUA_FUNCTION(CheckSkillPoint) + MAKE_LUA_FUNCTION(SaveEvent) + MAKE_LUA_FUNCTION(CheckGiveSlot) + MAKE_LUA_FUNCTION(CheckExchange) + MAKE_LUA_FUNCTION(RunExchange) + MAKE_LUA_FUNCTION(RunSelectExchange) + MAKE_LUA_FUNCTION(SearchQuest) + MAKE_LUA_FUNCTION(NpcMsg) + MAKE_LUA_FUNCTION(ShowEffect) + MAKE_LUA_FUNCTION(ShowNpcEffect) + MAKE_LUA_FUNCTION(ExistMonsterQuestSub) + MAKE_LUA_FUNCTION(CountMonsterQuestSub) + MAKE_LUA_FUNCTION(CountMonsterQuestMain) + MAKE_LUA_FUNCTION(PromoteKnight) + MAKE_LUA_FUNCTION(CheckClanGrade) + MAKE_LUA_FUNCTION(CheckClanPoint) + MAKE_LUA_FUNCTION(CheckLoyalty) + MAKE_LUA_FUNCTION(SelectMsg) + MAKE_LUA_FUNCTION(CastSkill) + MAKE_LUA_FUNCTION(GetName) + MAKE_LUA_FUNCTION(GetAccountName) + MAKE_LUA_FUNCTION(GetZoneID) + MAKE_LUA_FUNCTION(GetX) + MAKE_LUA_FUNCTION(GetY) + MAKE_LUA_FUNCTION(GetZ) + MAKE_LUA_FUNCTION(GetNation) + MAKE_LUA_FUNCTION(GetLevel) + MAKE_LUA_FUNCTION(GetCoins) + MAKE_LUA_FUNCTION(GetInnCoins) + MAKE_LUA_FUNCTION(GetLoyalty) + MAKE_LUA_FUNCTION(GetRebLevel) + MAKE_LUA_FUNCTION(GetMonthlyLoyalty) + MAKE_LUA_FUNCTION(GetManner) + MAKE_LUA_FUNCTION(isWarrior) + MAKE_LUA_FUNCTION(isRogue) + MAKE_LUA_FUNCTION(isMage) + MAKE_LUA_FUNCTION(isPriest) + MAKE_LUA_FUNCTION(isInClan) + MAKE_LUA_FUNCTION(isClanLeader) + MAKE_LUA_FUNCTION(isInParty) + MAKE_LUA_FUNCTION(isPartyLeader) + MAKE_LUA_FUNCTION(isKing) + // Shortcuts for lazy people + MAKE_LUA_FUNCTION(hasCoins) + MAKE_LUA_FUNCTION(hasInnCoins) + MAKE_LUA_FUNCTION(hasLoyalty) + MAKE_LUA_FUNCTION(hasMonthlyLoyalty) + MAKE_LUA_FUNCTION(hasManner) + MAKE_LUA_FUNCTION(SendBoard) + MAKE_LUA_FUNCTION(SendReported) + // Here lie the useful methods. + MAKE_LUA_FUNCTION(GiveItem) + MAKE_LUA_FUNCTION(RobItem) + MAKE_LUA_FUNCTION(CheckExistItem) + MAKE_LUA_FUNCTION(GoldGain) + MAKE_LUA_FUNCTION(GoldLose) + MAKE_LUA_FUNCTION(ExpChange) + MAKE_LUA_FUNCTION(GiveCash) + MAKE_LUA_FUNCTION(TempleEventJoin) + MAKE_LUA_FUNCTION(GiveLoyalty) + MAKE_LUA_FUNCTION(RobLoyalty) + MAKE_LUA_FUNCTION(NpcSay) // dialog + MAKE_LUA_FUNCTION(CheckWeight) + MAKE_LUA_FUNCTION(CheckExistEvent) + MAKE_LUA_FUNCTION(isRoomForItem) // FindSlotForItem() + MAKE_LUA_FUNCTION(SendNameChange) + MAKE_LUA_FUNCTION(SendClanNameChange) + MAKE_LUA_FUNCTION(SendStatSkillDistribute) + MAKE_LUA_FUNCTION(SendPetUpgrade) + MAKE_LUA_FUNCTION(SendRepurchase) + MAKE_LUA_FUNCTION(ResetSkillPoints) + MAKE_LUA_FUNCTION(ResetStatPoints) + MAKE_LUA_FUNCTION(PromoteUserNovice) + MAKE_LUA_FUNCTION(PromoteUser) + MAKE_LUA_FUNCTION(RobAllItemParty) + MAKE_LUA_FUNCTION(CheckWaiting) + MAKE_LUA_FUNCTION(ZoneChange) + MAKE_LUA_FUNCTION(ZoneChangeParty) + MAKE_LUA_FUNCTION(ZoneChangeClan) + MAKE_LUA_FUNCTION(KissUser) + MAKE_LUA_FUNCTION(ChangeManner) + MAKE_LUA_FUNCTION(GetClass) + MAKE_LUA_FUNCTION(CheckKnight) + MAKE_LUA_FUNCTION(CheckStatPoint) + MAKE_LUA_FUNCTION(RobClanPoint) + MAKE_LUA_FUNCTION(CheckBeefRoastVictory) + MAKE_LUA_FUNCTION(RequestPersonalRankReward) + MAKE_LUA_FUNCTION(RequestReward) + MAKE_LUA_FUNCTION(RunCountExchange) + MAKE_LUA_FUNCTION(GetMaxExchange) + MAKE_LUA_FUNCTION(GetUserDailyOp) + MAKE_LUA_FUNCTION(GetEventTrigger) + MAKE_LUA_FUNCTION(GetPremium) + MAKE_LUA_FUNCTION(CheckWarVictory) + MAKE_LUA_FUNCTION(CheckMiddleStatueCapture) + MAKE_LUA_FUNCTION(MoveMiddleStatue) + MAKE_LUA_FUNCTION(LevelChange) + MAKE_LUA_FUNCTION(GivePremium) + MAKE_LUA_FUNCTION(GiveKnightCash) + MAKE_LUA_FUNCTION(RollDice) + MAKE_LUA_FUNCTION(CheckMonsterChallengeTime) + MAKE_LUA_FUNCTION(CheckMonsterChallengeUserCount) + MAKE_LUA_FUNCTION(CheckEventZoneTime) + MAKE_LUA_FUNCTION(CheckEventZoneUserCount) + MAKE_LUA_FUNCTION(GetPVPMonumentNation) + MAKE_LUA_FUNCTION(SendNationChange) + MAKE_LUA_FUNCTION(GetRace) + MAKE_LUA_FUNCTION(JobChange) + ); + +CLuaEngine::CLuaEngine() : m_lock(new RWLock()) +{ +} + +CLuaScript::CLuaScript() : m_luaState(nullptr) +{ +} + +/** +* @brief Initialise Lua scripts. +* +* @return true if it succeeds, false if it fails. +*/ +bool CLuaEngine::Initialise() +{ + printf("Started up Lua engine (built with %s)\n", LUA_RELEASE); + // TODO: Initialise a pool of scripts (enough for 1 per worker thread). + return m_luaScript.Initialise(); +} + +/** +* @brief Initialises a Lua script state. +* +* @return true if it succeeds, false if it fails. +*/ +bool CLuaScript::Initialise() +{ + Guard lock(m_lock); + + // Lua already initialised? + if (m_luaState != nullptr) + { + printf("ERROR: Lua script already initialised. Cannot reinitialise.\n"); + return false; + } + + // Create a new state. + m_luaState = luaL_newstate(); + if (m_luaState == nullptr) + { + printf("ERROR: Failed to initialise Lua script. Not enough memory.\n"); + return false; + } + + // Expose scripts to Lua libraries + // May be preferable to limit these, but for now we won't stress too much. + luaL_openlibs(m_luaState); + + /* globals */ + + // push the global table onto the stack so we can set our globals + lua_pushglobaltable(m_luaState); + + // setup our global funcs... + luaL_setfuncs(m_luaState, g_globalFunctions, 0); + + /* objects */ + + // bind our classes + lua_bindclass(m_luaState, CUser); + lua_bindclass(m_luaState, CNpc); + + return true; +} + +/** +* @brief TODO: Pull an available script for use. +* +* @return null if it fails, else. +*/ +CLuaScript * CLuaEngine::SelectAvailableScript() +{ + return &m_luaScript; +} + +/** +* @brief Attempts to executes a Lua script. +* If it has not been compiled already, it will compile the script +* and cache it in the internal script map. +* +* @param pUser The user running the script. +* @param pNpc The NPC attached to the script. +* @param nEventID Identifier for the event. +* @param bSelectedReward The reward selected, if applicable. +* @param filename The script's filename. +* +* @return true if it succeeds, false if it fails. +*/ +bool CLuaEngine::ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename) +{ + ScriptBytecodeMap::iterator itr; + bool result = false; + + m_lock->AcquireReadLock(); + itr = m_scriptMap.find(filename); + if (itr == m_scriptMap.end()) + { + // Build full path to script + std::string szPath = LUA_SCRIPT_DIRECTORY; + szPath += filename; + + // Release the read lock (we're not reading anymore) + m_lock->ReleaseReadLock(); + + // Attempt to compile + BytecodeBuffer bytecode; + bytecode.reserve(LUA_SCRIPT_BUFFER_SIZE); + if (!SelectAvailableScript()->CompileScript(szPath.c_str(), bytecode)) + { + printf("ERROR: Could not compile Lua script.\n"); + printf("FILE: %s\n", szPath.c_str()); + printf("USER: %s\n", pUser->GetName().c_str()); + printf("ZONE: %d\n", pUser->GetZoneID()); + printf("NPC ID: %d\n", pNpc->m_sSid); + printf("-\n"); + return false; + } + + // Acquire the write lock (we're adding the compiled script) + m_lock->AcquireWriteLock(); + + // Add the script to our map + m_scriptMap[filename] = bytecode; + + // Now that we have the bytecode, we can use it. + result = SelectAvailableScript()->ExecuteScript(pUser, pNpc, nEventID, bSelectedReward, + filename, bytecode); + + // Done using the lock. + m_lock->ReleaseWriteLock(); + } + else + { + // Already have the bytecode, so now we need to use it. + result = SelectAvailableScript()->ExecuteScript(pUser, pNpc, nEventID, bSelectedReward, + filename, itr->second); + + // Done using the lock. + m_lock->ReleaseReadLock(); + } + + std::string EventMessage; + EventMessage = string_format("NpcID = %d - EventID = %d - Lua = %s", pNpc->m_sSid, nEventID, filename); + Packet EventNotice(WIZ_CHAT, uint8(PUBLIC_CHAT)); + EventNotice << pUser->GetNation() << pUser->GetSocketID() << uint8(0) << EventMessage; + pUser->Send(&EventNotice); + + return result; +} + +/** +* @brief Attempts to compile a Lua script. +* +* @param filename Filename of the script. +* @param buffer The buffer to store the script's compiled bytecode. +* +* @return true if it succeeds, false if it fails. +*/ +bool CLuaScript::CompileScript(const char * filename, BytecodeBuffer & buffer) +{ + // ensure that we wait until the last user's done executing their script. + Guard lock(m_lock); + + /* Attempt to load the file */ + int err = luaL_loadfile(m_luaState, filename); + + // If something bad happened, try to find an error. + if (err != LUA_OK) + { + RetrieveLoadError(err, filename); + return false; + } + + // Everything's OK so far, the script has been loaded, now we need to start dumping it to bytecode. + err = lua_dump(m_luaState, (lua_Writer)LoadBytecodeChunk, &buffer); + if (err + || buffer.empty()) + { + printf("ERROR: Failed to dump the Lua script `%s` to bytecode.\n", filename); + return false; + } + + // Compiled! + return true; +} + +/** +* @brief Callback for lua_dump() to read in each chunk of bytecode. +* +* @param L The associated lua_State. +* @param bytes The chunk of bytecode being dumped. +* @param len The number of bytes of bytecode in this chunk. +* @param buffer The buffer to store this chunk of bytecode in. +* +* @return The bytecode chunk. +*/ +int CLuaScript::LoadBytecodeChunk(lua_State * L, uint8 * bytes, size_t len, BytecodeBuffer * buffer) +{ + for (size_t i = 0; i < len; i++) + buffer->push_back(bytes[i]); + + return 0; +} + +/** +* @brief Executes the Lua script from bytecode. +* +* @param pUser The user running the script. +* @param pNpc The NPC attached to the script. +* @param nEventID Identifier for the event. +* @param bSelectedReward The reward selected, if applicable. +* @param filename The script's filename for debugging purposes. +* @param bytecode The script's compiled bytecode. +* +* @return true if it succeeds, false if it fails. +*/ +bool CLuaScript::ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename, BytecodeBuffer & bytecode) +{ + // Ensure that we wait until the last user's done executing their script. + Guard lock(m_lock); + + /* Attempt to run the script. */ + + // Load the buffer with our bytecode. + int err = luaL_loadbuffer(m_luaState, reinterpret_cast(&bytecode[0]), bytecode.size(), nullptr); + if (err != LUA_OK) + { + RetrieveLoadError(err, filename); + return false; + } + + + lua_tsetglobal(m_luaState, "UID", pUser->GetID()); + lua_tsetglobal(m_luaState, "STEP", bSelectedReward); + lua_tsetglobal(m_luaState, "EVENT", nEventID); + + // Try calling the script's entry point + err = lua_pcall(m_luaState, + 0, // no arguments + 0, // 0 returned values + 0); // no error handler + + // Nothing returned, so we can finish up here. + if (err == LUA_OK) + { + lua_settop(m_luaState, 0); + return true; + } + + // Attempt to provide somewhat informative errors to help the user figure out what's wrong. + switch (err) + { + case LUA_ERRRUN: + printf("ERROR: A runtime error occurred within Lua script.\n"); + printf("FILE: %s\n", filename); + printf("USER: %s\n", pUser->GetName().c_str()); + printf("ZONE: %d\n", pUser->GetZoneID()); + printf("NPC ID: %d\n", pNpc->m_sSid); + printf("-\n"); + break; + + case LUA_ERRMEM: + printf("ERROR: Unable to allocate memory during execution of Lua script.\n"); + printf("FILE: %s\n", filename); + printf("USER: %s\n", pUser->GetName().c_str()); + printf("ZONE: %d\n", pUser->GetZoneID()); + printf("NPC ID: %d\n", pNpc->m_sSid); + printf("-\n"); + break; + + case LUA_ERRERR: + printf("ERROR: An error occurred during Lua script, Error handler failed.\n"); + printf("FILE: %s\n", filename); + printf("USER: %s\n", pUser->GetName().c_str()); + printf("ZONE: %d\n", pUser->GetZoneID()); + printf("NPC ID: %d\n", pNpc->m_sSid); + printf("-\n"); + break; + + default: + printf("ERROR: An unknown error occurred in Lua script.\n"); + printf("FILE: %s\n", filename); + printf("USER: %s\n", pUser->GetName().c_str()); + printf("ZONE: %d\n", pUser->GetZoneID()); + printf("NPC ID: %d\n", pNpc->m_sSid); + printf("-\n"); + break; + } + + // Is there an error set? That can be more useful than our generic error. + if (lua_isstring(m_luaState, -1)) + { + printf("ERROR: [%s] The following error was provided.\n",filename); + printf("MESSAGE: %s\n", lua_to(m_luaState, -1)); + printf("-\n"); + + } + + lua_settop(m_luaState, 0); + + return false; +} + +/** +* @brief Retrieves the associated error for a script load operation. +* +* @param err The error. +* @param filename Filename of the file. +*/ +void CLuaScript::RetrieveLoadError(int err, const char * filename) +{ + switch (err) + { + case LUA_ERRFILE: + printf("ERROR: Unable to load Lua script `%s`.\n", filename); + break; + + case LUA_ERRSYNTAX: + printf("ERROR: There was a error with the syntax of Lua script `%s`.\n", filename); + break; + + case LUA_ERRMEM: + printf("ERROR: Unable to allocate memory for Lua script `%s`.\n", filename); + break; + + default: + printf("ERROR: An unknown error occurred while loading Lua script `%s`.\n", filename); + break; + } + + // Is there an error set? That can be more useful than our generic error. + if (lua_isstring(m_luaState, -1)) + { + printf("ERROR: %s", lua_to(m_luaState, -1)); + } +} + + + + +/** +* @brief Waits for & shuts down the current Lua script. +*/ +void CLuaScript::Shutdown() +{ + Guard lock(m_lock); + // Seems silly right now, but it ensures we wait + // until a script is finished its execution before + // we proceed. Cleanup will continue as normal. +} + +/** +* @brief Shuts down the Lua script pool. +*/ +void CLuaEngine::Shutdown() +{ + m_lock->AcquireWriteLock(); + // TODO: Script pool. + m_luaScript.Shutdown(); + m_lock->ReleaseWriteLock(); +} + +CLuaScript::~CLuaScript() +{ + Guard lock(m_lock); + if (m_luaState != nullptr) + lua_close(m_luaState); +} + +CLuaEngine::~CLuaEngine() +{ + m_scriptMap.clear(); + delete m_lock; +} diff --git a/server/GameServer/LuaEngine.h b/server/GameServer/LuaEngine.h new file mode 100644 index 0000000..b75f056 --- /dev/null +++ b/server/GameServer/LuaEngine.h @@ -0,0 +1,70 @@ +#pragma once + +#include "../shared/types.h" + +# define LUA_SCRIPT_DIRECTORY "./Quests/" +# define LUA_SCRIPT_BUFFER_SIZE 20000 + +// If defined, scripts are not cached. This is for testing/development purposes only. +#ifdef _DEBUG +# define LUA_SCRIPT_CACHE_DISABLED +#endif + +extern "C" { +# include "../scripting/Lua/src/lualib.h" +# include "../scripting/Lua/src/lauxlib.h" +} + +#include "../scripting/lua_helpers.h" +#include "lua_bindings.h" + +typedef std::vector BytecodeBuffer; +typedef std::map ScriptBytecodeMap; +class CUser; +class CNpc; +class CLuaScript +{ +public: + CLuaScript(); + bool Initialise(); + + // Compiles script to bytecode + bool CompileScript(const char * filename, BytecodeBuffer & buffer); + + // Loads bytecode one chunk at a time. + static int LoadBytecodeChunk(lua_State * L, uint8 * bytes, size_t len, BytecodeBuffer * buffer); + + // Executes script from bytecode + bool ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename, BytecodeBuffer & bytecode); + + // Handles the retrieval of error messages (same error codes used in both the compilation & execution stages) + void RetrieveLoadError(int err, const char * filename); + + void Shutdown(); + ~CLuaScript(); + +private: + lua_State * m_luaState; + std::recursive_mutex m_lock; +}; + +class RWLock; +class CLuaEngine +{ +public: + CLuaEngine(); + bool Initialise(); + CLuaScript * SelectAvailableScript(); + bool ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename); + void Shutdown(); + ~CLuaEngine(); + +private: + // For now, we'll only use a single instance for such. + // In the future, however, it would be wise to spread the load across + // multiple script instances (which have been completely thread-safe since Lua 5.1) + CLuaScript m_luaScript; + RWLock * m_lock; + + ScriptBytecodeMap m_scriptMap; +}; \ No newline at end of file diff --git a/server/GameServer/MagicInstance.cpp b/server/GameServer/MagicInstance.cpp new file mode 100644 index 0000000..7efa90e --- /dev/null +++ b/server/GameServer/MagicInstance.cpp @@ -0,0 +1,3610 @@ +#include "stdafx.h" +#include "Map.h" +#include "../shared/KOSocketMgr.h" +#include "MagicProcess.h" +#include "MagicInstance.h" +#include + +using std::string; +using std::vector; + +#define SPECIAL_MAGIC_HAMMER_SKILL_1 490215 +#define SPECIAL_MAGIC_HAMMER_SKILL_2 490216 +#define SPECIAL_MAGIC_HAMMER_SKILL_3 490217 + +void MagicInstance::Run() +{ + SkillUseResult result; + if (pSkill == nullptr) + pSkill = g_pMain->m_MagictableArray.GetData(nSkillID); + + if (pSkillCaster == nullptr) + pSkillCaster = g_pMain->GetUnitPtr(sCasterID); + + if (sTargetID != -1 && pSkillTarget == nullptr) + pSkillTarget = g_pMain->GetUnitPtr(sTargetID); + + if(pSkillTarget != nullptr) + { + if(pSkillTarget->isNPC()) + { + if(TO_NPC(pSkillTarget)->isMonster() && (TO_NPC(pSkillTarget)->GetType() == NPC_TREE + || TO_NPC(pSkillTarget)->GetType() == NPC_FOSSIL)) + { + SendSkillFailed(); + return; + } + } + } + + + if (pSkill == nullptr + || pSkillCaster == nullptr + || CheckSkillPrerequisites() == SkillUseFail + || (result = UserCanCast()) == SkillUseFail) + { + SendSkillFailed(); + return; + } + + // If the skill's already been handled (e.g. death taunts), + // we don't need to do anything further. + if (result == SkillUseHandled) + return; + + bool bInitialResult; + switch (bOpcode) + { + case MAGIC_CASTING: + case MAGIC_FAIL: + + if (pSkillCaster->isPlayer() && pSkill->bCastTime > 0) + { + CUser *pCaster = TO_USER(pSkillCaster); + + Guard lock(pCaster->_unitlock); + if (pCaster->m_CastingCoolDownList.find(nSkillID) != pCaster->m_CastingCoolDownList.end()) + { + pCaster->m_CastingCoolDownList.erase(nSkillID); + pCaster->m_CastingCoolDownList.insert(std::make_pair(nSkillID, getMSTime())); + }else + pCaster->m_CastingCoolDownList.insert(std::make_pair(nSkillID, getMSTime())); + + } + + SendSkill(bOpcode == MAGIC_CASTING); // only send casting packets to the region, not fail packets. + break; + + case MAGIC_FLYING: + { + // Handle arrow & mana checking/removals. + if (pSkillCaster->isPlayer()) + { + CUser * pCaster = TO_USER(pSkillCaster); + _MAGIC_TYPE2 * pType = g_pMain->m_Magictype2Array.GetData(nSkillID); + + // NOTE: Not all skills that use MAGIC_FLYING are type 2 skills. + // Some type 3 skills use it (such as "Vampiric Fire"). + // For these we should really apply the same flying logic, but for now we'll just ignore it. + if (pType != nullptr) + { + // Throwing knives are differentiated by the fact "NeedArrow" is set to 0. + // We still need to check for & take 1 throwing knife in this case however. + uint8 bCount = pType->bNeedArrow; + if (!bCount) + bCount = 1; + + if (pType == nullptr + // The user does not have enough arrows! We should point them in the right direction. ;) + || (!pCaster->CheckExistItem(pSkill->iUseItem, bCount)) + // Ensure user has enough mana for this skill + || pSkill->sMsp > pSkillCaster->GetMana()) + { + SendSkillFailed(); + return; + } + + // Add all flying arrow instances to the user's list for hit detection + Guard lock(pCaster->_unitlock); + for (size_t i = 0; i < bCount; i++) + pCaster->m_flyingArrows.push_back(Arrow(pType->iNum, UNIXTIME)); + + // Remove the arrows + pCaster->RobItem(pSkill->iUseItem, bCount); + } + // for non-type 2 skills, ensure we check the user's mana. + else if (pSkill->sMsp > pSkillCaster->GetMana()) + { + SendSkillFailed(); + return; + } + + // Take the required mana for this skill + if (!pCaster -> isBlinking() && pCaster->isRogue() && !pCaster->isDevil()) + pCaster->MSpChange(-(pSkill->sMsp)); + } + + SendSkill(true); // send this to the region + } break; + + case MAGIC_EFFECTING: + // Hacky check for a transformation item (Disguise Totem, Disguise Scroll) + // These apply when first type's set to 0, second type's set and obviously, there's a consumable item. + // Need to find a better way of handling this. + if (!bIsRecastingSavedMagic + && (pSkill->bType[0] == 0 && pSkill->bType[1] != 0 && pSkill->iUseItem != 0 + && (pSkillCaster->isPlayer() && TO_USER(pSkillCaster)->CheckExistItem(pSkill->iUseItem))) + && !TO_USER(pSkillCaster)->isInPKZone()) + { + SendTransformationList(); + return; + } + + bInitialResult = ExecuteSkill(pSkill->bType[0]); + + if (bInitialResult) + { + if (pSkillCaster->isPlayer()) + { + CUser *pCaster = TO_USER(pSkillCaster); + + if (!pSkillCaster->hasBuff(BUFF_TYPE_INSTANT_MAGIC)) + { + Guard lock(pCaster->_unitlock); + pCaster->m_CoolDownList.insert(std::make_pair(nSkillID, UNIXTIME)); + + if (pSkill->bType[0] != 0) + { + if(pSkill->bType[0] == 3 && pSkill->nBeforeAction == int32(-1)) + pCaster->m_MagicTypeCooldownList.insert(std::make_pair(10, UNIXTIME)); + else + pCaster->m_MagicTypeCooldownList.insert(std::make_pair(pSkill->bType[0], UNIXTIME)); + } + if (pSkill->bType[1] != 0) + pCaster->m_MagicTypeCooldownList.insert(std::make_pair(pSkill->bType[1], UNIXTIME)); + } + } + + ExecuteSkill(pSkill->bType[1]); + + if (pSkill->bType[0] != 2) + ConsumeItem(); + + + + } + break; + + case MAGIC_CANCEL: + case MAGIC_CANCEL2: + Type3Cancel(); //Damage over Time skills. + Type4Cancel(); //Buffs + Type6Cancel(); //Transformations + Type9Cancel(); //Stealth, lupine etc. + break; + + case MAGIC_TYPE4_EXTEND: + Type4Extend(); + break; + } +} + +SkillUseResult MagicInstance::UserCanCast() +{ + if (pSkill == nullptr) + return SkillUseFail; + + if(pSkillCaster->isBlinking() && !bIsRecastingSavedMagic ) + return SkillUseFail; + + // We don't need to check anything as we're just canceling our buffs. + if (bOpcode == MAGIC_CANCEL || bOpcode == MAGIC_CANCEL2 + // Also don't need to check anything if we're forwarding a fail packet. + || bOpcode == MAGIC_FAIL + // Or are reapplying persistent buffs. + || bIsRecastingSavedMagic) + return SkillUseOK; + + // Ensure the caster can use skills (i.e. they're not incapacitated, or have skills blocked, etc). + // Additionally, unless it's resurrection-related, dead players cannot use skills. + if (!pSkillCaster->canUseSkills() + || (pSkillCaster->isDead() && pSkill->bType[0] != 5)) + return SkillUseFail; + + // If we're using an AOE, and the target is specified... something's not right. + if ((pSkill->bMoral >= MORAL_AREA_ENEMY && pSkill->bMoral <= MORAL_SELF_AREA) && sTargetID != -1) + { + // Items that proc skills require the target ID to be fixed up. + // There's no other means of detecting who to target. + if (!bIsItemProc) + return SkillUseFail; + + sTargetID = -1; + } + + // NPCs do not need most of these checks. + if (pSkillCaster->isPlayer()) + { + if ((pSkill->sSkill != 0 + && (TO_USER(pSkillCaster)->m_sClass != (pSkill->sSkill / 10) + || pSkillCaster->GetLevel() < pSkill->sSkillLevel)) + && pSkillCaster->GetZoneID() != ZONE_CHAOS_DUNGEON) + return SkillUseFail; + + if (pSkillCaster->GetZoneID() == ZONE_CHAOS_DUNGEON && !g_pMain->pTempleEvent.isAttackable) + return SkillUseFail; + + if (pSkillCaster->GetZoneID() == ZONE_BORDER_DEFENSE_WAR && !g_pMain->pTempleEvent.isAttackable) + return SkillUseFail; + + if (pSkillCaster->GetZoneID() == ZONE_JURAD_MOUNTAIN && !g_pMain->pTempleEvent.isAttackable) + return SkillUseFail; + + if (TO_USER(pSkillCaster)->isTrading() + || TO_USER(pSkillCaster)->isMerchanting() + || TO_USER(pSkillCaster)->isSellingMerchant() + || TO_USER(pSkillCaster)->m_bMerchantStatex + || TO_USER(pSkillCaster)->isBuyingMerchant() + || TO_USER(pSkillCaster)->isStoreOpen() + || TO_USER(pSkillCaster)->isMining()) + return SkillUseFail; + + if ((pSkillCaster->GetMana() - pSkill->sMsp) < 0 && (((pSkill->bType[0] == 2 || pSkill->bType[0] == 3) && pSkill->bFlyingEffect == 0) || (pSkill->bType[0] != 2 || pSkill->bType[0] == 3))) + return SkillUseFail; + + // If we're in a snow war, we're only ever allowed to use the snowball skill. + if (pSkillCaster->GetZoneID() == ZONE_SNOW_BATTLE && g_pMain->m_byBattleOpen == SNOW_BATTLE && nSkillID != SNOW_EVENT_SKILL) + return SkillUseFail; + + // Handle death taunts (i.e. pressing the spacebar on a corpse). + // NOTE: These skills don't really have any other generic means of identification. + if (pSkillTarget != nullptr + && pSkill->bMoral == MORAL_ENEMY + && pSkill->bType[0] == 3 + && pSkill->bType[1] == 0 + // Target player must be a corpse. + && pSkillTarget->isDead()) + { + _MAGIC_TYPE3 * pType3 = g_pMain->m_Magictype3Array.GetData(pSkill->iNum); + if (pType3 == nullptr) + return SkillUseFail; + + // Skill mustn't do any damage or such. + if (pType3->bDirectType == 0 && pType3->sFirstDamage == 0 && pType3->sTimeDamage == 0) + { + // We also need to tweak the packet being sent. + bOpcode = MAGIC_EFFECTING; + sData[1] = 1; + SendSkill(); + return SkillUseHandled; + } + } + + _MAGIC_TYPE5 * pType5; + + uint8 bType = 0; + uint16 sNeedStone = 0; + + if (pSkill->bType[0] == 5) + { + pType5 = g_pMain->m_Magictype5Array.GetData(pSkill->iNum); + + if (pType5) + { + bType = pType5->bType; + sNeedStone = pType5->sNeedStone; + } + } + + // Archer & transformation skills will handle item checking themselves + if ((pSkill->bType[0] != 2 && pSkill->bType[0] != 6) + // The user does not meet the item's requirements or does not have any of said item. + && (pSkill->iUseItem != 0 && !TO_USER(bType == RESURRECTION ? pSkillTarget : pSkillCaster)->CanUseItem(pSkill->iUseItem, (bType == RESURRECTION ? sNeedStone : 1)))) + return SkillUseFail; + + // Some skills also require class-specific stones which are taken instead of UseItem. + // In this case, UseItem is considered a required item and not consumed on skill use. + if (pSkill->nBeforeAction >= ClassWarrior && pSkill->nBeforeAction <= ClassPorutu) + nConsumeItem = CLASS_STONE_BASE_ID + (pSkill->nBeforeAction * 1000); + else + nConsumeItem = pSkill->iUseItem; + + if ((pSkill->bType[0] != 2 && pSkill->bType[0] != 6) + // The user does not meet the item's requirements or does not have any of said item. + && (pSkill->iUseItem != 0 && !TO_USER(pSkillCaster)->CanUseItem(pSkill->iUseItem)) && bType != RESURRECTION) + return SkillUseFail; + + // We cannot use CSW transformations outside of Delos (or when CSW is not enabled.) + if (pSkill->bType[0] == 6 + && (nSkillID / 10000) == 45 + && pSkillCaster->GetZoneID() != ZONE_DELOS) + return SkillUseFail; + +#if !defined(DEBUG) + // For skills that are unlocked via quests, ensure the user has actually + // completed the quest... + // NOTE: GMs are excluded. + if (!TO_USER(pSkillCaster)->isGM() && pSkill->sEtc != 0 && !TO_USER(pSkillCaster)->V3_CheckExistEvent(pSkill->sEtc, 2)) + return SkillUseFail; +#endif + + if (pSkill->bType[0] < 4 && pSkillTarget != nullptr && !pSkillCaster->isInAttackRange(pSkillTarget, pSkill)) + return SkillUseFail; + } + + if ((bOpcode == MAGIC_EFFECTING || bOpcode == MAGIC_CASTING) && !IsAvailable()) + return SkillUseFail; + + // Instant casting affects the next cast skill only, and is then removed. + if (bOpcode == MAGIC_EFFECTING && pSkillCaster->canInstantCast()) + bInstantCast = true; + + // In case we made it to here, we can cast! Hurray! + return SkillUseOK; +} + +SkillUseResult MagicInstance::CheckSkillPrerequisites() +{ + if (pSkill == nullptr) + return SkillUseFail; + + if (bOpcode != MAGIC_FLYING && bOpcode != MAGIC_EFFECTING) + { + if (bOpcode == MAGIC_CASTING + && pSkillTarget + && (pSkill->sRange > 0 + && pSkill->sUseStanding == 1 + && (pSkillCaster->GetDistanceSqrt(pSkillTarget) > float(pSkill->sRange * 2)))) // Skill Range Check for Casting + return SkillUseFail; + else + return SkillUseOK; + } + + if (pSkillCaster == nullptr) + { + TRACE("#### CheckSkillPrerequisites : pSkillCaster == nullptr ####\n"); + return SkillUseFail; + } + + if (nSkillID > 299999 && nSkillID < 399999) + if (pSkillCaster->isPlayer()) + return SkillUseFail; + + if (pSkillCaster->isPlayer()) + { + CUser *pCaster = TO_USER(pSkillCaster); + + if (pCaster) + { + if (pCaster->GetZoneID() == ZONE_PRISON) + return SkillUseFail; + + if (pSkill->sUseStanding == 1 && pCaster->m_sSpeed != 0) // Hacking prevention! + return SkillUseFail; + + if ((pSkill->bType[0] == 3 || pSkill->bType[1] == 3) && pSkill->bFlyingEffect != -1) + { + _MAGIC_TYPE3 * pType = g_pMain->m_Magictype3Array.GetData(nSkillID); + + if (pType == nullptr) + TRACE("[%s] Used skill %d but it does not exist in MagicType3.\n", pSkillCaster->GetName().c_str(), nSkillID); + + else if (pType->bAttribute == AttributeNone) + { + if (pSkill->bType[0] != 0) + pCaster->m_MagicTypeCooldownList.erase(pSkill->bType[0]); + + if (pSkill->bType[1] != 0) + pCaster->m_MagicTypeCooldownList.erase(pSkill->bType[1]); + } + } + + + // Skil Range, Safety Area, Temple Zones and Event Room Checks... + if (pSkillTarget != nullptr) + { + float A = pSkillCaster->GetDistanceSqrt(pSkillTarget); + + if ((pSkill->sRange > 0 + && pSkill->sUseStanding == 0 + && (pSkillCaster->GetDistanceSqrt(pSkillTarget) > float(pSkill->sRange * 2))) // Skill Range Check + || (pSkillTarget->isPlayer() && pSkillCaster != pSkillTarget && (TO_USER(pSkillTarget)->isInSafetyArea() && nSkillID < 300000 && (pSkillCaster->GetZoneID() == ZONE_DELOS || pSkillCaster->GetZoneID() == ZONE_ARENA))) // Disable Skill in Safety Area + || (pCaster->isInTempleEventZone() && !pCaster->isSameEventRoom(pSkillTarget))) // If EventRoom is not same disable Skill. + return SkillUseFail; + } + + Guard lock2(pCaster->_unitlock); + // Skill Cooldown Checks... + if(bOpcode != MAGIC_FLYING) + { + if (pCaster->m_CastingCoolDownList.find(nSkillID) != pCaster->m_CastingCoolDownList.end() && pSkill->bCastTime > 0) + { + SkillCooldownList::iterator itr = pCaster->m_CastingCoolDownList.find(nSkillID); + + int64 DiffrentMilliseconds = getMSTime() - itr->second; + + if (DiffrentMilliseconds > 0 && DiffrentMilliseconds < int32(pSkill->bCastTime * 10) && pSkill->bType[0] != 9 && !bIsRecastingSavedMagic) + return SkillUseFail; + else + pCaster->m_CastingCoolDownList.erase(nSkillID); + } + } + + if(pSkillTarget == nullptr && pSkillCaster != nullptr) + { + if(pSkill->bMoral == MORAL_AREA_ALL + || pSkill->bMoral == MORAL_AREA_ENEMY + || pSkill->bMoral == MORAL_AREA_FRIEND + || pSkill->bMoral == MORAL_SELF_AREA) + { + if(!pSkillCaster->isInRangeSlow(this->sData[0], this->sData[2], (float) (pSkill->sRange + 2))) + return SkillUseFail; + } + } + + // Skill Cooldown Checks... + if (bOpcode != MAGIC_TYPE4_EXTEND && pCaster->m_CoolDownList.find(nSkillID) != pCaster->m_CoolDownList.end()) + { + SkillCooldownList::iterator itr = pCaster->m_CoolDownList.find(nSkillID); + + int64 DiffrentMilliseconds = (int64(UNIXTIME) * 1000) - (int64(itr->second) * 1000); + + if (DiffrentMilliseconds > 0 && DiffrentMilliseconds < int32(pSkill->sReCastTime * 100) && pSkill->bType[0] != 9 && !bIsRecastingSavedMagic) + return SkillUseFail; + else + pCaster->m_CoolDownList.erase(nSkillID); + } + + if (pCaster->isRogue() && pSkill->bType[0] == 2 && pSkill -> iUseItem != 370007000) + { + _ITEM_TABLE * pLeftHand = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND); + _ITEM_TABLE * pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); + + if ((pLeftHand == nullptr && pRightHand == nullptr) + || ((pLeftHand && !pLeftHand->isBow()) + || (pRightHand && !pRightHand->isBow()))) // Hacking prevention! + return SkillUseFail; + + if (bOpcode == MAGIC_EFFECTING) + return SkillUseOK; + } + + uint8 myType = pSkill->bType[0]; + + if(myType == 3 && pSkill->nBeforeAction == -1) + myType = 10; + // Same time skill checks... + MagicTypeCooldownList::iterator itr; + if (myType != 0) + { + if ((myType == 1 + || myType == 2 + || myType == 3 + || myType == 4 + || myType == 5 + || myType == 6 + || myType == 7 + || myType == 10) + && (nSkillID < 400000 || myType == 10) + && pCaster->m_MagicTypeCooldownList.find(myType) != pCaster->m_MagicTypeCooldownList.end()) + { + itr = pCaster->m_MagicTypeCooldownList.find(myType); + + if ((float(UNIXTIME - itr->second) < PLAYER_SKILL_REQUEST_INTERVAL)) + return SkillUseFail; + else + pCaster->m_MagicTypeCooldownList.erase(myType); + } + } + + if (pSkill->bType[1] != 0) + { + if ((pSkill->bType[1] == 1 + || pSkill->bType[1] == 2 + || pSkill->bType[1] == 3 + || pSkill->bType[1] == 4 + || pSkill->bType[1] == 5 + || pSkill->bType[1] == 6 + || pSkill->bType[1] == 7) + && nSkillID < 400000 + && pCaster->m_MagicTypeCooldownList.find(pSkill->bType[1]) != pCaster->m_MagicTypeCooldownList.end()) + { + itr = pCaster->m_MagicTypeCooldownList.find(pSkill->bType[1]); + + if ((float(UNIXTIME - itr->second) < PLAYER_SKILL_REQUEST_INTERVAL)) + return SkillUseFail; + else + pCaster->m_MagicTypeCooldownList.erase(pSkill->bType[1]); + } + } + } + } + + if (pSkillTarget != nullptr) + { + if (pSkillTarget->isNPC() && !pSkillCaster->isAttackable(pSkillTarget)) + return SkillUseFail; + else + { + if (TO_USER(pSkillTarget)->hasBuff(BUFF_TYPE_FREEZE)) // Effect Sorunu ve Blink Sorunu Var... + return SkillUseFail; + } + } + + return SkillUseOK; +} + +/** +* @brief Checks primary type 3 (DOT/HOT) skill prerequisites before executing the skill. +* +* @return true if it succeeds, false if it fails. +*/ +bool MagicInstance::CheckType3Prerequisites() +{ + _MAGIC_TYPE3 * pType = g_pMain->m_Magictype3Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + // Handle AOE prerequisites + if (sTargetID == -1) + { + // No need to handle any prerequisite logic for NPCs/mobs casting AOEs. + if (!pSkillCaster->isPlayer()) + return true; + + // Player can attack other players in the safety area. + /*if (TO_USER(pSkillCaster)->isInSafetyArea()) + return false;*/ + + if (pSkill->bMoral == MORAL_PARTY_ALL && pType->sTimeDamage > 0) + { + // Players may not cast group healing spells whilst transformed + // into a monster (skills with IDs of 45###). + if (TO_USER(pSkillCaster)->isMonsterTransformation()) + return false; + + // Official behaviour means we cannot cast a group healing spell + // if we currently have an active restoration spells on us. + // This behaviour seems fairly illogical, but it's how it works. + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + if (pSkillCaster->m_durationalSkills[i].m_sHPAmount > 0) + return false; + } + } + + // No other reason to reject AOE spells. + return true; + } + // Handle prerequisites for skills cast on NPCs. + else if (sTargetID >= NPC_BAND) + { + if (pSkillTarget == nullptr) + return false; + + // Unless the zone is Delos, or it's a healing skill, we can continue on our merry way. + if (pSkillCaster->GetZoneID() != 30 || (pType->sFirstDamage <= 0 && pType->sTimeDamage <= 0)) + return true; + + // We cannot heal gates! That would be bad, very bad. + //if (TO_NPC(pSkillTarget)->GetType() == NPC_GATE) // note: official only checks byType 50 + //return false; + + // Otherwise, officially there's no reason we can't heal NPCs (more specific logic later). + return true; + } + // Handle prerequisites for skills cast on players. + else + { + // We only care about friendly non-AOE spells. + if (pSkill->bMoral > MORAL_PARTY) + return true; + + if (pSkillTarget == nullptr + || !pSkillTarget->isPlayer() + || pSkillTarget->isDead()) + return false; + + // If the spell is a healing/restoration spell... + if (pType->sTimeDamage >= 0) + { + // Official behaviour means we cannot cast a restoration spell + // if the target currently has an active restoration spell on them. + /*for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + if (pSkillTarget->m_durationalSkills[i].m_sHPAmount > 0 && pSkillCaster->m_durationalSkills[i].m_bHPInterval != 4) + return false; + }*/ + } + + // It appears that the server should reject any attacks or heals + // on players that have transformed into monsters. + if (TO_USER(pSkillTarget)->isSiegeTransformation() && !pSkillCaster->CanAttack(pSkillTarget)) + return false; + + return true; + } +} + +/** +* @brief Checks primary type 4 (buff/debuff) skill prerequisites before executing the skill. +* +* @return true if it succeeds, false if it fails. +*/ +bool MagicInstance::CheckType4Prerequisites() +{ + _MAGIC_TYPE4 * pType = g_pMain->m_Magictype4Array.GetData(nSkillID); + + // Certain transformation (type 6) skills state they have an associated + // type 4 skill but do not have any entry in the table. Consider these OK. + if (pType == nullptr) + return (pSkill->bType[0] == 6); + + if (sTargetID < 0 || sTargetID >= MAX_USER) + { + if (sTargetID < NPC_BAND // i.e. it's an AOE + || pType->bBuffType != BUFF_TYPE_HP_MP // doesn't matter who we heal. + || pType->sMaxHPPct != 99) // e.g. skills like Dispel Magic / Sweet Kiss + return true; + + return false; + } + + // At this point, it can only be a user -- so ensure the ID was invalid (this was looked up earlier). + if (pSkillTarget == nullptr || !pSkillTarget->isPlayer()) + return false; + + if (TO_USER(pSkillTarget)->isTransformed()) + { + // Can't use buff scrolls/pots when transformed into anything but NPCs. + if (!TO_USER(pSkillTarget)->isNPCTransformation() && (nSkillID >= 500000 + // Can't use bezoars etc when transformed + // (this should really be a whitelist, but this is blocked explicitly in 1.298) + || pType->bBuffType == BUFF_TYPE_SIZE)) + { + SendSkillFailed(); + return false; + } + } + + // If the specified target already has this buff (debuffs are required to reset) + // we should fail this skill. + // NOTE: AOE buffs are exempt. + if (pType->isBuff()) + { + Guard lock(pSkillTarget->_unitlock); + if (pSkillTarget->m_buffMap.find(pType->bBuffType) + != pSkillTarget->m_buffMap.end()) + return false; + } + + // TODO: Allow for siege-weapon only buffs (e.g. "Physical Attack Scroll") + + return true; +} + +bool MagicInstance::CheckType6Prerequisites() +{ + if (!pSkillCaster->isPlayer()) + return true; + + _MAGIC_TYPE6 * pType = g_pMain->m_Magictype6Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + CUser * pCaster = TO_USER(pSkillCaster); + switch (pType->bUserSkillUse) + { + // For monster transformations (TransformationSkillUseMonster), nBeforeAction is set to the item + // used for showing the transformation list & UseItem is the consumable item. + case TransformationSkillUseMonster: + // Ensure they have the item for showing the transformation list + if ((!pCaster->CanUseItem(pSkill->nBeforeAction) + // Ensure they have the required item for the skill. + || !pCaster->CanUseItem(pSkill->iUseItem)) && !pCaster->CheckExistItem(381001000)) + return false; + + break; + + // For all other transformations, all we care about is UseItem (BeforeAction is set to 0 in these cases). + default: + // Ensure they have the item for showing the transformation list + if (!pCaster->CanUseItem(pSkill->iUseItem)) + return false; + break; + } + + // Perform class check, if applicable. + bool bAllowedClass = (pType->sClass == 0); + if (bAllowedClass) + return true; + + // NOTE: sClass is a 4 digit number (e.g. 1111) with a digit per class + // in the order warrior/rogue/mage/priest with '1' representing 'allowed' & + // anything else as forbidden. + switch (pCaster->GetBaseClassType()) + { + case ClassWarrior: + bAllowedClass = ((pType->sClass / 1000)) == 1; + break; + + case ClassRogue: + bAllowedClass = ((pType->sClass % 1000) / 100) == 1; + break; + + case ClassMage: + bAllowedClass = (((pType->sClass % 1000) % 100) / 10) == 1; + break; + + case ClassPriest: + bAllowedClass = (((pType->sClass % 1000) % 100) % 10) == 1; + break; + + case ClassPorutu: + bAllowedClass = (((pType->sClass % 1000) % 100) % 10) == 1; + break; + } + + return bAllowedClass; +} + +bool MagicInstance::ExecuteSkill(uint8 bType) +{ + if (bType == 0 || + (pSkillCaster->isBlinking() + && bType != 4 + && pSkill->iNum < 300000)) + return false; + + // Implement player-specific logic before skills are executed. + if (pSkillCaster->isPlayer()) + { + // If a player is stealthed, and they are casting a type 1/2/3/7 skill + // it is classed as an attack, so they should be unstealthed. + if ((bType >= 1 && bType <= 3) || (bType == 7)) + TO_USER(pSkillCaster)->RemoveStealth(); + + if(TO_USER(pSkillCaster)->isKurianPortu() && pSkill->bItemGroup >= 0 && pSkill->bItemGroup <= 90 && pSkill->iUseItem == 0) + { + TO_USER(pSkillCaster)->ySpChange( -pSkill->bItemGroup ); + } + } + + switch (bType) + { + case 1: return ExecuteType1(); + case 2: return ExecuteType2(); + case 3: return ExecuteType3(); + case 4: return ExecuteType4(); + case 5: return ExecuteType5(); + case 6: return ExecuteType6(); + case 7: return ExecuteType7(); + case 8: return ExecuteType8(); + case 9: return ExecuteType9(); + } + + + + return false; +} + +void MagicInstance::SendTransformationList() +{ + if (!pSkillCaster->isPlayer()) + return; + + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_TRANSFORM_LIST)); + result << nSkillID; + TO_USER(pSkillCaster)->Send(&result); +} + +/** +* @brief Sends the skill failed packet to the caster. +* +* @param sTargetID Target ID to override with, as some use cases +* require. +*/ +void MagicInstance::SendSkillFailed(int16 sTargetID) +{ + if (pSkillCaster == nullptr) + return; + + Packet result; + sData[3] = (bOpcode == MAGIC_CASTING ? SKILLMAGIC_FAIL_CASTING : SKILLMAGIC_FAIL_NOEFFECT); + BuildSkillPacket(result, sCasterID, sTargetID == -1 ? this->sTargetID : sTargetID, MAGIC_FAIL, nSkillID, sData); + + // No need to proceed if we're not sending fail packets. + if (!bSendFail || !pSkillCaster->isPlayer()) + return; + + TO_USER(pSkillCaster)->Send(&result); +} + +void MagicInstance::SendSkillNotEffect() +{ + if (pSkillCaster == nullptr) + return; + + Packet result; + sData[3] = (bOpcode == MAGIC_CASTING ? SKILLMAGIC_FAIL_CASTING : SKILLMAGIC_FAIL_NOEFFECT); + BuildSkillPacket(result, sCasterID, sTargetID, MAGIC_EFFECTING, nSkillID, sData); + + // No need to proceed if we're not sending fail packets. + if (!bSendFail || !pSkillCaster->isPlayer()) + return; + + TO_USER(pSkillCaster)->Send(&result); +} + +/** +* @brief Builds skill packet using the specified data. +* +* @param result Buffer to store the packet in. +* @param sSkillCaster Skill caster's ID. +* @param sSkillTarget Skill target's ID. +* @param opcode Skill system opcode. +* @param nSkillID Identifier for the skill. +* @param sData Array of additional misc skill data. +*/ +void MagicInstance::BuildSkillPacket(Packet & result, int16 sSkillCaster, int16 sSkillTarget, int8 opcode, + uint32 nSkillID, int16 sData[7]) +{ + // On skill failure, flag the skill as failed. + if (opcode == MAGIC_FAIL) + { + bSkillSuccessful = false; + + // No need to proceed if we're not sending fail packets. + if (!bSendFail) + return; + } + + result.Initialize(WIZ_MAGIC_PROCESS); + result << opcode << nSkillID << sSkillCaster << sSkillTarget + << sData[0] << sData[1] << sData[2] << sData[3] + << sData[4] << sData[5] << sData[6]; + +} + +/** +* @brief Builds and sends skill packet using the specified data to pUnit. +* +* @param pUnit The unit to send the packet to. If an NPC is specified, +* bSendToRegion is assumed true. +* @param bSendToRegion true to send the packet to pUser's region. +* @param sSkillCaster Skill caster's ID. +* @param sSkillTarget Skill target's ID. +* @param opcode Skill system opcode. +* @param nSkillID Identifier for the skill. +* @param sData Array of additional misc skill data. +*/ +void MagicInstance::BuildAndSendSkillPacket(Unit * pUnit, bool bSendToRegion, int16 sSkillCaster, int16 sSkillTarget, int8 opcode, uint32 nSkillID, int16 sData[7]) +{ + Packet result; + BuildSkillPacket(result, sSkillCaster, sSkillTarget, opcode, nSkillID, sData); + + // No need to proceed if we're not sending fail packets. + if (opcode == MAGIC_FAIL && !bSendFail) + return; + + if (bSendToRegion || !pUnit->isPlayer()) + pUnit->SendToRegion(&result); + else + TO_USER(pUnit)->Send(&result); +} + +/** +* @brief Sends the skill data in the current context to pUnit. +* If pUnit is nullptr, it will assume the caster. +* +* @param bSendToRegion true to send the packet to pUnit's region. +* If pUnit is an NPC, this is assumed true. +* @param pUser The unit to send the packet to. +* If pUnit is an NPC, it will send to pUnit's region regardless. +*/ +void MagicInstance::SendSkill(bool bSendToRegion, Unit * pUnit) +{ + // If pUnit is nullptr, it will assume the caster. + if (pUnit == nullptr) + pUnit = pSkillCaster; + + // Build the skill packet using the skill data in the current context. + BuildAndSendSkillPacket(pUnit, bSendToRegion, + this->sCasterID, this->sTargetID, this->bOpcode, this->nSkillID, this->sData); +} + +bool MagicInstance::IsAvailable() +{ + CUser* pParty = nullptr; + int modulator = 0, Class = 0, skill_mod = 0; + + if (pSkill == nullptr + || (pSkillCaster->GetZoneID() == ZONE_CHAOS_DUNGEON && !g_pMain->pTempleEvent.isAttackable)) + goto fail_return; + + if (pSkill == nullptr + || (pSkillCaster->GetZoneID() == ZONE_BORDER_DEFENSE_WAR && !g_pMain->pTempleEvent.isAttackable)) + goto fail_return; + + if (pSkill == nullptr + || (pSkillCaster->GetZoneID() == ZONE_JURAD_MOUNTAIN && !g_pMain->pTempleEvent.isAttackable)) + goto fail_return; + + switch (pSkill->bMoral) + { + // Enforce self-casting skills *unless* we're an NPC. + // Quest NPCs, naturally, use skills set as self-buffs. + case MORAL_SELF: + if (pSkillCaster->isPlayer() && pSkillCaster != pSkillTarget) + goto fail_return; + break; + + case MORAL_FRIEND_WITHME: + if (pSkillTarget != pSkillCaster && pSkillCaster->isHostileTo(pSkillTarget)) + pSkillTarget = pSkillCaster; + break; + + case MORAL_FRIEND_EXCEPTME: + if (pSkillCaster == pSkillTarget || pSkillCaster->isHostileTo(pSkillTarget)) + goto fail_return; + break; + + case MORAL_PARTY: + { + // NPCs can't *be* in parties. + if (pSkillCaster->isNPC() || (pSkillTarget != nullptr && pSkillTarget->isNPC())) + goto fail_return; + + // We're definitely a user, so... + CUser *pCaster = TO_USER(pSkillCaster); + + // If the caster's not in a party, make sure the target's not someone other than themselves. + if ((!pCaster->isInParty() && pSkillCaster != pSkillTarget) + // Also ensure that if there is a target, they're in the same party. + || (pSkillTarget != nullptr && + TO_USER(pSkillTarget)->GetPartyID() != pCaster->GetPartyID())) + goto fail_return; + } break; + + case MORAL_NPC: + if (pSkillTarget == nullptr + || !pSkillTarget->isNPC() + || pSkillCaster->isHostileTo(pSkillTarget) + && pSkill->iUseItem != 379105000) + goto fail_return; + break; + + case MORAL_ENEMY: + // Allow for archery skills with no defined targets (e.g. an arrow from 'multiple shot' not hitting any targets). + // These should be ignored, not fail. + if (pSkillTarget != nullptr && !pSkillCaster->isHostileTo(pSkillTarget)) + goto fail_return; + break; + + case MORAL_CORPSE_FRIEND: + // We need to revive *something*. + if (pSkillTarget == nullptr + // Are we allowed to revive this person? + || pSkillCaster->isHostileTo(pSkillTarget) + // We cannot revive ourselves. + || pSkillCaster == pSkillTarget + // We can't revive living targets. + || pSkillTarget->isAlive()) + goto fail_return; + break; + + case MORAL_CLAN: + { + // NPCs cannot be in clans. + if (pSkillCaster->isNPC() + || (pSkillTarget != nullptr && pSkillTarget->isNPC())) + goto fail_return; + + // We're definitely a user, so.... + CUser * pCaster = TO_USER(pSkillCaster); + + // If the caster's not in a clan, make sure the target's not someone other than themselves. + if ((!pCaster->isInClan() && pSkillCaster != pSkillTarget) + // If we're targeting someone, that target must be in our clan. + || (pSkillTarget != nullptr + && TO_USER(pSkillTarget)->GetClanID() != pCaster->GetClanID())) + goto fail_return; + } break; + + case MORAL_SIEGE_WEAPON: + if (pSkillCaster->isPlayer() || !TO_USER(pSkillCaster)->isSiegeTransformation()) + goto fail_return; + break; + } + + // Check skill prerequisites + for (int i = 0; i < 2; i++) + { + switch (pSkill->bType[i]) + { + case 3: + if (!CheckType3Prerequisites()) + return false; + break; + + case 4: + if (!CheckType4Prerequisites()) + return false; + break; + + case 6: + if (!CheckType6Prerequisites()) + return false; + else + { + if (TO_USER(pSkillCaster)->CheckExistItem(381001000)) + TO_USER(pSkillCaster)->RobItem(381001000); + } + break; + } + } + + // This only applies to users casting skills. NPCs are fine and dandy (we can trust THEM at least). + if (pSkillCaster->isPlayer()) + { + if(pSkill->iNum == 490145)//EXP Flash + { + if(TO_USER(pSkillCaster)->PremiumID == 11) + { + if(TO_USER(pSkillCaster)->m_FlashExpBonus > 79 || TO_USER(pSkillCaster)->GetLevel() > 79) + return false; + } + else + { + if(TO_USER(pSkillCaster)->m_FlashExpBonus > 39) + return false; + } + } + + if(pSkill->iNum == 490146)// DC Flash + { + if(TO_USER(pSkillCaster)->PremiumID == 10) + { + if(TO_USER(pSkillCaster)->m_FlashDcBonus > 99) + return false; + } + else + { + return false; + } + } + + if(pSkill->iNum == 490147)//WAR Flash + { + if(TO_USER(pSkillCaster)->PremiumID == 12) + { + if(TO_USER(pSkillCaster)->m_FlashWarBonus > 99) + return false; + } + else + { + return false; + } + } + + if (pSkill->bType[0] == 3) + { + _MAGIC_TYPE3 * pType3 = g_pMain->m_Magictype3Array.GetData(pSkill->iNum); + _ITEM_TABLE * pTable; + if (pType3 == nullptr) + goto fail_return; + + // Allow for skills that block potion use. + if (!pSkillCaster->canUsePotions() + && pType3->bDirectType == 1 // affects target's HP (magic numbers! yay!) + && pType3->sFirstDamage > 0 // healing only + && pSkill->iUseItem != 0 // requiring an item (i.e. pots) + // To avoid conflicting with priest skills that require items (e.g. "Laying of hands") + // we need to lookup the item itself for the information we need to ignore it. + && (pTable = g_pMain->GetItemPtr(pSkill->iUseItem)) != nullptr + // Item-required healing skills are class-specific. + // We DO NOT want to block these skills. + && pTable->m_bClass == 0) + goto fail_return; + } + + modulator = pSkill->sSkill % 10; // Hacking prevention! + if( modulator != 0 ) + { + Class = pSkill->sSkill / 10; + if(Class != TO_USER(pSkillCaster)->GetClass()) + goto fail_return; + if((pSkill->sSkillLevel > TO_USER(pSkillCaster)->m_bstrSkill[modulator]) && TO_USER(pSkillCaster)->GetFame() != COMMAND_CAPTAIN) + goto fail_return; + } + else if (pSkill->sSkillLevel > pSkillCaster->GetLevel()) + goto fail_return; + + if (pSkill->bType[0] == 1) + { + // Weapons verification in case of COMBO attack (another hacking prevention). + if (pSkill->sSkill == 1055 || pSkill->sSkill == 2055) // Weapons verification in case of dual wielding attacks ! + { + if (TO_USER(pSkillCaster)->isWeaponsDisabled()) + return false; + + _ITEM_TABLE *pLeftHand = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND); + _ITEM_TABLE *pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); + + if ((pLeftHand != nullptr + && !pLeftHand->isSword() && !pLeftHand->isAxe() + && !pLeftHand->isMace() && !pLeftHand->isSpear()) + || (pRightHand != nullptr + && !pRightHand->isSword() && !pRightHand->isAxe() + && !pRightHand->isMace() && !pRightHand->isSpear())) + return false; + } + else if (pSkill->sSkill == 1056 || pSkill->sSkill == 2056) + { // Weapons verification in case of 2 handed attacks ! + if (TO_USER(pSkillCaster)->isWeaponsDisabled()) + return false; + + _ITEM_TABLE *pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); + + if (TO_USER(pSkillCaster)->GetItem(LEFTHAND)->nNum != 0 + || (pRightHand != nullptr + && !pRightHand->isSword() && !pRightHand->isAxe() + && !pRightHand->isMace() && !pRightHand->isSpear())) + return false; + } + } + + // Handle MP/HP/item loss. + if (bOpcode == MAGIC_EFFECTING) + { + int total_hit = pSkillCaster->m_sTotalHit; + + if ((pSkill->bType[0] == 2 || pSkill->bType[0] == 3) && pSkill->bFlyingEffect != 0) // Type 2 related... + return true; // Do not reduce MP/SP when flying effect is not 0. + + if (pSkill->sMsp > pSkillCaster->GetMana()) + goto fail_return; + + // If the PLAYER uses an item to cast a spell. + if (pSkillCaster->isPlayer() && (pSkill->bType[0] == 3 || pSkill->bType[0] == 4)) + { + if (pSkill->iUseItem != 0) + { + _ITEM_TABLE* pItem = nullptr; // This checks if such an item exists. + pItem = g_pMain->GetItemPtr(pSkill->iUseItem); + + if (!pItem) + return false; + + if ((pItem->m_bClass != 0 && !TO_USER(pSkillCaster)->JobGroupCheck(pItem->m_bClass)) + || (pItem->m_bReqLevel != 0 && TO_USER(pSkillCaster)->GetLevel() < pItem->m_bReqLevel)) + return false; + } + } + if (pSkillCaster->isDevil()) + { + pSkillCaster->MSpChange(-(pSkill->sMsp / 2)); + } + else if (pSkill->bType[0] != 4 || (pSkill->bType[0] == 4 && sTargetID == -1) && !pSkillCaster -> isBlinking()) + { + pSkillCaster->MSpChange(-(pSkill->sMsp)); + } + + // Skills that require HP rather than MP. + if (pSkill->sHP > 0 + && pSkill->sMsp == 0 + && pSkill->sHP < 10000) // Hack (used officially) to allow for skills like "Sacrifice" + { + if (pSkill->sHP > pSkillCaster->GetHealth()) goto fail_return; + pSkillCaster->HpChange(-pSkill->sHP); + } + + // Support skills like "Sacrifice", that sacrifice your HP for another's. + if (pSkill->sHP >= 10000) + { + // Can't cast this on ourself. + if (pSkillCaster == pSkillTarget) + return false; + + // Take 10,000 HP from the caster (note: DB is set to 10,0001 but server will always take 10,000...) + pSkillCaster->HpChange(-10000); + } + } + } + + return true; + +fail_return: + SendSkillFailed(); + + return false; +} + +bool MagicInstance::ExecuteType1() +{ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE1* pType = g_pMain->m_Magictype1Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + int damage = 0; + bool bResult = false; + + vector casted_member; + + if (!bIsRecastingSavedMagic + && sTargetID >= 0 + && (pSkillTarget && pSkillTarget->HasSavedMagic(nSkillID))) + return false; + + if (sTargetID == -1) + { + std::vector unitList; + + + g_pMain->GetUnitListFromSurroundingRegions(pSkillCaster, &unitList); + foreach (itr, unitList) + { + Unit * pTarget = g_pMain->GetUnitPtr(*itr); + + if(pTarget == nullptr) + continue; + + if (TO_USER(pSkillCaster)->isInArena() && pSkillCaster == pTarget) + continue; + + if (pTarget->isPlayer()) + { + if (TO_USER(pTarget)->isGM()) + continue; + + if (pSkillCaster->GetNation() != pTarget->GetNation() || pTarget->GetZoneID() == ZONE_ARENA) + TO_USER(pTarget)->RemoveStealth(); + } + + if (pSkillCaster != pTarget + && !pTarget->isDead() && !pTarget->isBlinking() && pTarget->isAttackable() + && CMagicProcess::UserRegionCheck(pSkillCaster, pTarget, pSkill,pSkill->sRange, sData[0], sData[2])) + casted_member.push_back(pTarget); + + if (pSkill->sRange > 0 + && (pSkillCaster->GetDistanceSqrt(pTarget) >= (float)pSkill->sRange *2)) + continue; + damage = pSkillCaster->GetDamage(pTarget, pSkill); + pTarget->HpChange(-damage, pSkillCaster); + + } + + // If you managed to not hit anything with your AoE, you're still gonna have a cooldown (You should l2aim) + if (casted_member.empty() || (sTargetID == -1 && casted_member.empty())) + { + SendSkill(); + return true; + } + + bResult = 1; + } + if (pSkillTarget != nullptr && !pSkillTarget->isDead()) + { + bResult = 1; + + uint16 sAdditionalDamage = pType->sAddDamage; + + // Give increased damage in war zones (as per official 1.298~1.325) + // This may need to be revised to use the last nation to win the war, or more accurately, + // the nation that last won the war 3 times in a row (whether official behaves this way now is unknown). + if (pSkillCaster->isPlayer() && pSkillTarget->isPlayer()) + { + if (pSkillCaster->GetMap()->isWarZone()) + sAdditionalDamage /= 2; + else + sAdditionalDamage /= 3; + } + + damage = pSkillCaster->GetDamage(pSkillTarget, pSkill); + + // Only add additional damage if the target's not currently blocking it. + // NOTE: Not sure whether to count this as physical or magic damage. + // Using physical damage, due to the nature of these skills. + if (!pSkillTarget->m_bBlockPhysical) + damage += sAdditionalDamage; + + if (pSkillCaster->GetZoneID() == ZONE_CHAOS_DUNGEON) + damage = pType->sAddDamage / 10; + + pSkillTarget->HpChange(-damage, pSkillCaster); + + if (pSkillTarget->m_bReflectArmorType != 0 && pSkillCaster != pSkillTarget) + ReflectDamage(damage, pSkillTarget); + } + // yeni koydum + if (pSkillCaster->isPlayer()) + TO_USER(pSkillCaster)->ItemWoreOut(ATTACK, damage); + + // /This should only be sent once. I don't think there's reason to enforce this, as no skills behave otherwise + sData[3] = (damage == 0 ? SKILLMAGIC_FAIL_ATTACKZERO : 0); + + // Send the skill data in the current context to the caster's region + if (pSkill->iNum !=106520 && pSkill->iNum !=106802 && pSkill->iNum !=206520 && pSkill->iNum !=105520 && pSkill->iNum !=205520 && pSkill->iNum !=206802 && pSkill->iNum !=106820 && pSkill->iNum !=206820) + SendSkill(); + + return bResult; +} + +bool MagicInstance::ExecuteType2() +{ + /* + NOTE: + Archery skills work differently to most other skills. + + When an archery skill is used, the client sends MAGIC_FLYING (instead of MAGIC_CASTING) + to show the arrows flying in the air to their targets. + + The client chooses the target(s) to be hit by the arrows. + + When an arrow hits a target, it will send MAGIC_EFFECTING which triggers this handler. + An arrow sent may not necessarily hit a target. + + As such, for archery skills that use multiple arrows, not all n arrows will necessarily + hit their target, and thus they will not necessarily call this handler all n times. + + What this means is, we must remove all n arrows from the user in MAGIC_FLYING, otherwise + it is not guaranteed all arrows will be hit and thus removed. + (and we can't just go and take all n items each time an arrow hits, that could potentially + mean 25 arrows are removed [5 each hit] when using "Arrow Shower"!) + + However, via the use of hacks, this MAGIC_FLYING step can be skipped -- so we must also check + to ensure that there arrows are indeed flying, to prevent users from spamming the skill + without using arrows. + */ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE2 *pType = g_pMain->m_Magictype2Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + int damage = 0; + bool bResult = false; + float total_range = 0.0f; // These variables are used for range verification! + int sx, sz, tx, tz; + int range = 0; + + // If we need arrows, then we require a bow. + // This check is needed to allow for throwing knives (the sole exception at this time. + // In this case, 'NeedArrow' is set to 0 -- we do not need a bow to use throwing knives, obviously. + if (pType->bNeedArrow > 0) + { + _ITEM_TABLE * pTable = nullptr; + if (pSkillCaster->isPlayer()) + { + if (TO_USER(pSkillCaster)->isWeaponsDisabled()) + return false; + + // Not wearing a left-handed bow + pTable = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND); + if (pTable == nullptr || !pTable->isBow()) + { + pTable = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); + + // Not wearing a right-handed (2h) bow either! + if (pTable == nullptr || !pTable->isBow()) + return false; + } + } + else + { + // TODO: Verify this. It's more a placeholder than anything. + pTable = g_pMain->GetItemPtr(TO_NPC(pSkillCaster)->m_iWeapon_1); + if (pTable == nullptr) + return false; + } + + // For arrow skills, we require a bow & its range. + range = pTable->m_sRange; + } + else + { + // For non-arrow skills (i.e. throwing knives) we should use the skill's range. + range = pSkill->sRange; + } + + // is this checked already? + if (pSkillTarget == nullptr || pSkillTarget->isDead()) + goto packet_send; + + total_range = pow(((pType->sAddRange * range) / 100.0f), 2.0f) ; // Range verification procedure. + sx = (int)pSkillCaster->GetX(); tx = (int)pSkillTarget->GetX(); + sz = (int)pSkillCaster->GetZ(); tz = (int)pSkillTarget->GetZ(); + + if ((pow((float)(sx - tx), 2.0f) + pow((float)(sz - tz), 2.0f)) > total_range) // Target is out of range, exit. + goto packet_send; + + if (pSkillCaster->isPlayer()) + { + CUser * pUser = TO_USER(pSkillCaster); + Guard lock(pUser->_unitlock); + + // No arrows currently flying. + if (pUser->m_flyingArrows.empty()) + goto packet_send; + + ArrowList::iterator arrowItr; + bool bFoundArrow = false; + for (auto itr = pUser->m_flyingArrows.begin(); itr != pUser->m_flyingArrows.end();) + { + if (UNIXTIME >= itr->tFlyingTime + ARROW_EXPIRATION_TIME) + { + itr = pUser->m_flyingArrows.erase(itr); + } + else + { + if (itr->nSkillID == nSkillID) + { + arrowItr = itr; /* don't break out here to ensure we remove all expired arrows */ + bFoundArrow = true; + } + + ++itr; + } + } + + // No flying arrow matching this skill's criteria was found. + // User's probably cheating. + if (!bFoundArrow) + goto packet_send; + + // Remove this instance's arrow now that we've found it. + pUser->m_flyingArrows.erase(arrowItr); + } + + damage = pSkillCaster->GetDamage(pSkillTarget, pSkill); // Get damage points of enemy. + + pSkillTarget->HpChange(-damage, pSkillCaster); // Reduce target health point. + if (pSkillTarget->m_bReflectArmorType != 0 && pSkillCaster != pSkillTarget) + ReflectDamage(damage, pSkillTarget); + + bResult = true; + +packet_send: + // This should only be sent once. I don't think there's reason to enforce this, as no skills behave otherwise + sData[3] = (damage == 0 ? SKILLMAGIC_FAIL_ATTACKZERO : 0); + + // Send the skill data in the current context to the caster's region + if (pSkill->iNum != 208562 && pSkill->iNum != 108562 && pSkill->iNum != 208566 && pSkill->iNum != 108566) + SendSkill(); + + return bResult; +} + +// Applied when a magical attack, healing, and mana restoration is done. +bool MagicInstance::ExecuteType3() +{ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE3* pType = g_pMain->m_Magictype3Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + int damage = 0, duration_damage = 0; + vector casted_member; + + // If the target's a group of people... + if (sTargetID == -1) + { + std::vector unitList; + g_pMain->GetUnitListFromSurroundingRegions(pSkillCaster, &unitList); + if(pType->sFirstDamage > 0 || pType->sTimeDamage > 0) + casted_member.push_back(pSkillCaster); + foreach (itr, unitList) + { + + Unit * pTarget = g_pMain->GetUnitPtr(*itr); + + if(pTarget == nullptr) + continue; + + + if (pTarget->isNPC() + && pTarget->GetNation() == pSkillCaster->GetNation() + && pType->sFirstDamage < 0 + && !TO_NPC(pTarget)->isMonster()) + continue; + + if(pTarget->GetEventRoom() != pSkillCaster->GetEventRoom()) + continue; + + + if (pSkillCaster != pTarget + && !pTarget->isDead() + && pTarget->isAttackable() + && CMagicProcess::UserRegionCheck(pSkillCaster, pTarget, pSkill, pType->bRadius, sData[0], sData[2])) + casted_member.push_back(pTarget); + } + + // If you managed to not hit anything with your AoE, you're still gonna have a cooldown (You should l2aim) + if (casted_member.empty() || (sTargetID == -1 && casted_member.empty())) + { + SendSkill(); + return true; + } + } + else + { // If the target was a single unit. + if (pSkillTarget == nullptr + || pSkillTarget->isDead() + || (pSkillTarget->isPlayer() + && (TO_USER(pSkillTarget)->isBlinking() || TO_USER(pSkillTarget)->isInSafetyArea()))) + return false; + + if (pSkill->sRange > 0 + && (pSkillCaster->GetDistanceSqrt(pSkillTarget) > float(pSkill->sRange * 2))) + return false; + + casted_member.push_back(pSkillTarget); + } + + // Anger explosion requires the caster be a player + // and a full anger gauge (which will be reset after use). + if (pType->bDirectType == 18) + { + // Only players can cast this skill. + if (!pSkillCaster->isPlayer() + || !TO_USER(pSkillCaster)->hasFullAngerGauge()) + return false; + + // Reset the anger gauge + TO_USER(pSkillCaster)->UpdateAngerGauge(0); + } + + sData[1] = 1; + foreach (itr, casted_member) + { + Unit * pTarget = *itr; // it's checked above, not much need to check it again + + if(pTarget == nullptr) + continue; + + // If you are casting an attack spell. + if ((pType->sFirstDamage < 0) && (pType->bDirectType == 1 || pType->bDirectType == 8) + && (nSkillID < 400000) + && (pType->bDirectType != 11 && pType->bDirectType != 13)) + damage = GetMagicDamage(pTarget, pType->sFirstDamage, pType->bAttribute); + else + damage = pType->sFirstDamage; + + // Allow for complete magic damage blocks. + if (damage < 0 && pTarget->m_bBlockMagic) + continue; + + if (pSkillCaster->isPlayer()) + { + if (pSkillCaster->GetZoneID() == ZONE_SNOW_BATTLE && g_pMain->m_byBattleOpen == SNOW_BATTLE) + damage = -10; + } + + bool bSendLightningStunSkill = true; + + if (pType->bDirectType < 2 && nSkillID < 400000 + && pType->bAttribute == AttributeLightning + || pType->bAttribute == AttributeIce + && pTarget->isPlayer()) + { + // Success rate... + if (pSkill->bSuccessRate < 100 && pSkill->bSuccessRate <= myrand(0, 100)) + bSendLightningStunSkill = false; + // Calculate user ressistance... + else + { + uint16 nMaxRessitance = 250; // Monster Lighting Fix + uint16 nTargetResistance = pType->bAttribute == AttributeIce ? pTarget->m_sColdR : pTarget->m_sLightningR; + + if (nTargetResistance > nMaxRessitance) + nMaxRessitance = nTargetResistance; + + if (nTargetResistance >= myrand(0, nMaxRessitance - nTargetResistance) || myrand(0,3)) + bSendLightningStunSkill = false; + } + if (nSkillID == 115810 || nSkillID == 215810) + bSendLightningStunSkill = true; + } + + // Non-durational spells. + if (pType->bDuration == 0) + { + switch (pType->bDirectType) + { + // Affects target's HP + case 1: + // Disable to heal or minor NPC. + if ((pTarget->isNPC() && pType->sTimeDamage > 0) || (pTarget->isNPC() && pType->sFirstDamage > 0)) + return false; + + + // "Critical Point" buff gives a chance to double HP from pots or the rogue skill "Minor heal". + if (damage > 0 && pSkillCaster->hasBuff(BUFF_TYPE_DAMAGE_DOUBLE) + && CheckPercent(500)) + damage *= 2; + + /*if (damage > 0 && pTarget->isDevil()) //Created by Terry + { + damage *= 2; + } + Kurian HP POT x2 + */ + + pTarget->HpChangeMagic(damage, pSkillCaster, (AttributeType) pType->bAttribute); + + if (pTarget->m_bReflectArmorType != 0 && pTarget != pSkillCaster && damage < 0) + ReflectDamage(damage, pTarget); + + break; + case 2: + if (!pTarget->isDead() && pTarget->isPlayer()) + pTarget->MSpChange(pType->sFirstDamage); + else if (!pTarget->isDead()) + pTarget->HpChange(pType->sFirstDamage,pSkillCaster); + break; + case 3: + pTarget->MSpChange(damage); + break; + + // "Magic Hammer" repairs equipped items. + case 4: + if (pTarget->isPlayer()) + { + if (damage > 0) + { + // Power Up Store ( Talia, Armor Destruction ve Tamamını ) + if (pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_1 + || pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_2 + || pSkill->iNum == SPECIAL_MAGIC_HAMMER_SKILL_3) + TO_USER(pTarget)->ItemWoreOut(ACID_ALL, damage); + else + TO_USER(pTarget)->ItemWoreOut(REPAIR_ALL, damage); + } + else + TO_USER(pTarget)->ItemWoreOut(DEFENCE, -damage); + } + break; + + // Increases/decreases target's HP by a percentage + case 5: + if (pType->sFirstDamage < 100) + damage = (pType->sFirstDamage * pTarget->GetHealth()) / -100; + else + damage = (pTarget->GetMaxHealth() * (pType->sFirstDamage - 100)) / 100; + + pTarget->HpChangeMagic(damage, pSkillCaster); + break; + + // Caster absorbs damage based on percentage of target's HP. Players only. + case 8: + if (pType->sFirstDamage > 0) + { + if (pType->sFirstDamage < 100) + damage = (pTarget->GetHealth() * 100) / pType->sFirstDamage; + else + damage = (pTarget->GetMaxHealth() - 100 * 100) / pType->sFirstDamage; + } + + if (!pTarget->isDead() && pTarget->isPlayer()) + { + pTarget->HpChangeMagic(damage, pSkillCaster); + pSkillCaster->HpChangeMagic(-(damage)); + } + else + pTarget->HpChange(damage,pSkillCaster); + + break; + + // Caster absorbs damage based on percentage of target's max HP + case 9: + if (pType->sFirstDamage < 100) + damage = (pType->sFirstDamage * pTarget->GetHealth()) / -100; + else + damage = (pTarget->GetMaxHealth() * (pType->sFirstDamage - 100)) / 100; + + pTarget->HpChangeMagic(damage, pSkillCaster); + if (pTarget->isPlayer()) + pSkillCaster->HpChangeMagic(-(damage)); + break; + + // Inflicts true damage (i.e. disregards Ac/resistances/buffs, etc). + case 11: + pTarget->HpChange(damage, pSkillCaster); + break; + + // Used by "Destination scroll" (whatever that is) + case 12: + continue; + + // Chance (how often?) to reduce the opponent's armor and weapon durability by sFirstDamage + case 13: + if (pTarget->isPlayer() && CheckPercent(500)) // using 50% for now. + { + TO_USER(pTarget)->ItemWoreOut(ATTACK, damage); + TO_USER(pTarget)->ItemWoreOut(DEFENCE, damage); + } + break; + + // Drains target's MP, gives half of it to the caster as HP. Players only. + // NOTE: Non-durational form (as in 1.8xx). This was made durational later (database configured). + case 16: + if (pTarget->isPlayer()) + { + pTarget->MSpChange(pType->sFirstDamage); + pSkillCaster->HpChangeMagic(-(pType->sFirstDamage) / 2); + } + break; + case 17: + if (!pTarget->isNPC() && !pTarget->isDead() && pSkillCaster->GetZoneID() == ZONE_DELOS && !pSkillCaster->isDead()) + { + pTarget->HpChangeMagic(pType->sFirstDamage,pSkillCaster, (AttributeType) pType->bAttribute); + } + break; + case 19: // Chaos Dungeon Skills + if (pTarget->isPlayer()) + { + pTarget->HpChangeMagic(damage / 10, pSkillCaster, (AttributeType) pType->bAttribute); + + if (pTarget != pSkillCaster) + ReflectDamage(damage, pTarget); + } + break; + // Stat Scroll - MagicNum = 501011 + case 255: + if (TO_USER(pSkillCaster)->isPlayer()) + { + + } + break; + } + } + // Durational spells! Durational spells only involve HP. + else if (pType->bDuration != 0) + { + if (pType->bDirectType == 18) + damage = -(int)(pSkillCaster->GetLevel() * 12.5); + + if (damage != 0) // In case there was first damage...... + pTarget->HpChangeMagic(damage, pSkillCaster); // Initial damage!!! + + if (pTarget == nullptr) + return false; + if (pTarget->isAlive()) + { + // HP booster (should this actually just be using sFirstDamage as the percent of max HP, i.e. 105 being 5% of max HP each increment?) + if (!pTarget->isNPC()) + { + if (pType->bDirectType == 14) + duration_damage = (int)(pSkillCaster->GetLevel() * (10 + pSkillCaster->GetLevel() / 2.6)) + 3; + else if (pType->bDirectType == 19) + duration_damage = (pType->sTimeDamage / 10); + else if (pType->sTimeDamage < 0 && pType->bAttribute != 4) + duration_damage = GetMagicDamage(pTarget, pType->sTimeDamage, pType->bAttribute); + else + duration_damage = pType->sTimeDamage; + + // Allow for complete magic damage blocks. + if (duration_damage < 0 && pTarget->m_bBlockMagic) + continue; + + if (pType->bDirectType == 18) + duration_damage = -(int)((pSkillCaster->GetLevel() * 12.5) * (pType->bDuration / 2)); + + // Setup DOT (damage over time) + for (int k = 0; k < MAX_TYPE3_REPEAT; k++) + { + Unit::MagicType3 * pEffect = &pTarget->m_durationalSkills[k]; + + if(pEffect == nullptr) + continue; + + if (pEffect->m_byUsed) + continue; + + pEffect->m_byUsed = true; + pEffect->m_tHPLastTime = 0; + if (pType->bDirectType == 14) // HP Booster pot basamama sorunu + pEffect->m_bHPInterval = 4; // interval of 4s between each damage loss/HP gain + else + pEffect->m_bHPInterval = 2; // interval of 2s between each damage loss/HP gain + + // number of ticks required at a rate of 2s per tick over the total duration of the skill + float tickCount = (float)pType->bDuration / (float)pEffect->m_bHPInterval; + + + // amount of HP to be given/taken every tick at a rate of 2s per tick + pEffect->m_sHPAmount = (int16)(duration_damage / tickCount); + + pEffect->m_bTickCount = 0; + pEffect->m_bTickLimit = (uint8) tickCount; + pEffect->m_sSourceID = sCasterID; + pEffect->m_byAttribute = pType->bAttribute; + pEffect->m_sTo = false; + break; + } + + pTarget->m_bType3Flag = true; + }else{ + + + if (pType->sTimeDamage < 0 && pType->bAttribute != 4) + duration_damage = GetMagicDamage(pTarget, pType->sTimeDamage, pType->bAttribute); + else + duration_damage = pType->sTimeDamage; + + + for (int k = 0; k < MAX_TYPE3_REPEAT; k++) + { + Unit::MagicType3 * pEffect = &pSkillCaster->m_durationalSkills[k]; + + if(pEffect == nullptr) + continue; + + if (pEffect->m_byUsed) + continue; + + pEffect->m_byUsed = true; + pEffect->m_tHPLastTime = 0; + pEffect->m_bHPInterval = 2; // interval of 2s between each damage loss/HP gain + + // number of ticks required at a rate of 2s per tick over the total duration of the skill + float tickCount = (float)pType->bDuration / (float)pEffect->m_bHPInterval; + + + // amount of HP to be given/taken every tick at a rate of 2s per tick + pEffect->m_sHPAmount = (int16)(duration_damage / tickCount); + pEffect->m_bTickCount = 0; + pEffect->m_bTickLimit = (uint8) tickCount; + pEffect->m_sSourceID = pTarget->GetID(); + pEffect->m_byAttribute = pType->bAttribute; + pEffect->m_sTo = true; + break; + } + + pSkillCaster->m_bType3Flag = true; + + } + + } + + // Send the status updates (i.e. DOT or position indicators) to the party/user + if (pTarget->isPlayer() + // Ignore healing spells, not sure if this will break any skills. + && pType->sTimeDamage < 0) + { + if (bSendLightningStunSkill) + TO_USER(pTarget)->SendUserStatusUpdate(pType->bAttribute == POISON_R ? USER_STATUS_POISON : USER_STATUS_DOT, USER_STATUS_INFLICT); + } + } + + if (!bSendLightningStunSkill) + { + if (pSkillCaster->isNPC()) + { + sData[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + else + { + if (pSkill->bMoral == MORAL_ENEMY) + { + sData[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + else if (pSkill->bMoral != MORAL_ENEMY) + { + sData[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + } + } + else + { + if (bSendLightningStunSkill && LightStunSkills() && pTarget->isPlayer() + || bSendLightningStunSkill && ColdSkills() && pTarget->isPlayer()) + { + MagicInstance instance; + nSkillID += 80000; + instance.nSkillID = nSkillID; + if (LightStunSkillsNot() && pTarget->isPlayer()) + { + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_INFLICT); + ExecuteType4(); + } + if(ColdSkillsNot() && pTarget->isPlayer()) + { + if (pTarget->isPlayer() && ColdSkillsNot()) + { + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_SPEED, USER_STATUS_INFLICT); + ExecuteType4(); + } + _MAGIC_TYPE4* pType2 = g_pMain->m_Magictype4Array.GetData(nSkillID); + + if (pType2 == nullptr) + return false; + + uint8 nTargetSpeedAmount = pType2->bSpeed; + + uint8 bResult = 1; + uint16 sDuration = pType2->sDuration; + + Unit *pTmp = (pSkillCaster->isPlayer() ? pSkillCaster : pTarget); + int16 sDataCopy[] = + { + sData[0], bResult, sData[2], sDuration, + sData[4], pType2->bSpeed, sData[6] + }; + + sDataCopy[5] = nTargetSpeedAmount; + BuildAndSendSkillPacket(pTmp, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); + } + else + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + else + + // Send the skill data in the current context to the caster's region, with the target explicitly set. + // In the case of AOEs, this will mean the AOE will show the AOE's effect on the user (not show the AOE itself again). + if (pSkill->bType[1] == 0 || pSkill->bType[1] == 3) + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sData); + + } + // Tell the AI server we're healing someone (so that they can choose to pick on the healer!) + if (pType->bDirectType == 1 && damage > 0 + && sCasterID != sTargetID) + { + Packet result(AG_HEAL_MAGIC); + result << sCasterID; + g_pMain->Send_AIServer(&result); + } + } + + // Allow for AOE effects. + if (sTargetID == -1 && pSkill->bType[0] == 3) + SendSkill(); + + return true; +} + + + +bool MagicInstance::ExecuteType4() +{ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE4* pType = g_pMain->m_Magictype4Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + int damage = 0; + vector casted_member; + + if (!bIsRecastingSavedMagic && sTargetID >= 0 && (pSkillTarget && pSkillTarget->HasSavedMagic(nSkillID))) + return false; + + if (sTargetID >= 0 + && pType->bBuffType == BUFF_TYPE_FREEZE + && (pSkillTarget && pSkillTarget->isNPC())) + return false; + + if (sTargetID == -1) + { + std::vector unitList; + + g_pMain->GetUnitListFromSurroundingRegions(pSkillCaster, &unitList); + foreach (itr, unitList) + { + Unit * pTarget = g_pMain->GetUnitPtr(*itr); + + if(pTarget == nullptr) + continue; + + if ((TO_USER(pSkillCaster)->isInArena() ||TO_USER(pSkillCaster)->isInPartyArena()) && pSkillCaster == pTarget) + continue; + + if (pTarget->isPlayer()) + { + if (TO_USER(pTarget)->isGM()) + continue; + } + + if (!pTarget->isDead() && !pTarget->isBlinking() && pTarget->isAttackable() + && CMagicProcess::UserRegionCheck(pSkillCaster, pTarget, pSkill, pType->bRadius, sData[0], sData[2])){ + casted_member.push_back(pTarget); + if (pTarget->isPlayer() && (pSkillCaster->GetNation() != pTarget->GetNation() || pTarget->GetZoneID() == ZONE_ARENA)) + TO_USER(pTarget)->RemoveStealth(); + } + } + + if(pSkill->bType[0] == 4) + SendSkill(); + + + if (casted_member.empty()) + { + if (pSkillCaster->isPlayer()) + { + if (pSkill->bMoral == MORAL_PARTY_ALL) + casted_member.push_back(pSkillCaster); + else + { + return false; + } + } + } + } + else + { + // If the target was another single unit. + if (pSkillTarget == nullptr + || pSkillTarget->isDead() + || (pSkillTarget->isBlinking() && !bIsRecastingSavedMagic)) + return false; + + casted_member.push_back(pSkillTarget); + } + + foreach (itr, casted_member) + { + Unit * pTarget = *itr; + + if(pTarget == nullptr) + continue; + + if (sTargetID != -1 && pSkill->sRange > 0 && (pSkillCaster->GetDistanceSqrt(pTarget) > float(pSkill->sRange * 2)) && pType->bBuffType != BUFF_TYPE_HP_MP) + continue; + + uint8 bResult = 1; + _BUFF_TYPE4_INFO pBuffInfo; + bool bAllowCastOnSelf = false; + uint16 sDuration = pType->sDuration; + + // Speed Skills + bool mSendSpeed = true; + uint8 nTargetSpeedAmount = pType->bSpeed; + + // A handful of skills (Krowaz, currently) should use the caster as the target. + // As such, we should correct this before any other buff/debuff logic is handled. + switch (pType->bBuffType) + { + case BUFF_TYPE_UNDEAD: + case BUFF_TYPE_UNSIGHT: + case BUFF_TYPE_BLOCK_PHYSICAL_DAMAGE: + case BUFF_TYPE_BLOCK_MAGICAL_DAMAGE: + if (!pSkillCaster->isPlayer() && pSkillCaster->GetZoneID() != ZONE_CHAOS_DUNGEON) + continue; + + pTarget = pSkillCaster; + bAllowCastOnSelf = true; + break; + } + + bool bBlockingDebuffs = pTarget->m_bBlockCurses; + + // Skill description: Blocks all curses and has a chance to reflect the curse back onto the caster. + // NOTE: the exact rate is undefined, so we'll have to guess and improve later. + if (pType->isDebuff() && pTarget->m_bReflectCurses) + { + const short reflectChance = 25; // % chance to reflect. + if (CheckPercent(reflectChance * 10)) + { + pTarget = pSkillCaster; // skill has been reflected, the target is now the caster. + bBlockingDebuffs = (pTarget->m_bBlockCurses || pTarget->m_bReflectCurses); + bAllowCastOnSelf = true; + } + // Didn't reflect, so we'll just block instead. + else + { + bBlockingDebuffs = true; + } + } + + Type4BuffMap::iterator buffItr = pTarget->m_buffMap.find(pType->bBuffType); + + // Identify whether or not a skill (buff/debuff) with this buff type was already cast on the player. + // NOTE: Buffs will already be cast on a user when trying to recast. + // We should not error out in this case. + bool bSkillTypeAlreadyOnTarget = (!bIsRecastingSavedMagic && buffItr != pTarget->m_buffMap.end()); + + + // Debuffs 'stack', in that the expiry time is reset each time. + // Debuffs also take precedence over buffs of the same nature, so we should ensure they get removed + // rather than just stacking the modifiers, as the client only supports one (de)buff of that type active. + if (bSkillTypeAlreadyOnTarget && pType->isDebuff()) + { + CMagicProcess::RemoveType4Buff(pType->bBuffType, pTarget, false); + bSkillTypeAlreadyOnTarget = false; + } + + // If this skill is a debuff, and we are in the crossfire, + // we should not bother debuffing ourselves (that would be bad!) + // Note that we should allow us if there's an explicit override (i.e. with Krowaz self-debuffs) + if (!bAllowCastOnSelf + && pType->isDebuff() && pTarget == pSkillCaster) + continue; + + // If the user already has this buff type cast on them (debuffs should just reset the duration) + if ((bSkillTypeAlreadyOnTarget && pType->isBuff()) + // or it's a curse (debuff), and we're blocking them + || (pType->isDebuff() && bBlockingDebuffs) + // or we couldn't grant the (de)buff... + || !CMagicProcess::GrantType4Buff(pSkill, pType, pSkillCaster, pTarget, bIsRecastingSavedMagic)) + { + if (sTargetID != -1 // only error out when buffing a target, otherwise we break the mass-(de)buff. + // Only buffs should error here, unless it's a debuff & the user's blocking it. + && (pType->isBuff() || (pType->isDebuff() && bBlockingDebuffs))) + { + bResult = 0; + goto fail_return; + } + + // Debuffs of any kind, or area buffs should be ignored and carry on. + // Usually - debuffs specifically - they correspond with attack skills which should + // not be reset on fail. + continue; + } + + // Only players can store persistent skills. + if (nSkillID > 500000 && pTarget->isPlayer()) + { + // Persisting effects will already exist in the map if we're recasting it. + if (!bIsRecastingSavedMagic) + pTarget->InsertSavedMagic(nSkillID, pType->sDuration); + else + sDuration = pTarget->GetSavedMagicDuration(nSkillID); + } + + if (pSkillCaster->isPlayer() && (sTargetID != -1 && pSkill->bType[0] == 4) && !pSkillCaster->isBlinking()) + pSkillCaster->MSpChange( -(pSkill->sMsp) ); + + + + // We do not want to reinsert debuffs into the map (which had their expiry times reset above). + if (!bSkillTypeAlreadyOnTarget) + { + pBuffInfo.m_nSkillID = nSkillID; + pBuffInfo.m_bBuffType = pType->bBuffType; + pBuffInfo.m_bIsBuff = pType->bIsBuff; + + pBuffInfo.m_bDurationExtended = false; + pBuffInfo.m_tEndTime = UNIXTIME + sDuration; + + // Add the buff into the buff map. + pTarget->AddType4Buff(pType->bBuffType, pBuffInfo); + } + + // Speed skill posibility... + if (pTarget -> isPlayer() || pTarget->isNPC()) + { + if ((pSkill->bMoral == MORAL_ENEMY + || pSkill->bMoral == MORAL_AREA_ENEMY) + && (pType->bBuffType == BUFF_TYPE_SPEED2 + || pType->bBuffType == BUFF_TYPE_SPEED + || pType->bBuffType == BUFF_TYPE_STUN)) + { + + // Success rate...by Terry + if (pSkill->bSuccessRate < 100 && pSkill->bSuccessRate <= myrand(0, 100)) + mSendSpeed = false; + else + { + // Calculate user ressistance... + uint16 nMaxRessitance = 250; + uint16 nTargetResistance = pType->bBuffType == BUFF_TYPE_SPEED2 ? pTarget->m_sColdR : pTarget->m_sLightningR; + + if (nTargetResistance > nMaxRessitance) + nMaxRessitance = nTargetResistance; + + if (nTargetResistance >= myrand(0, nMaxRessitance - nTargetResistance) || myrand(0,3)) + mSendSpeed = false; + } + + + if (mSendSpeed) + { + _MAGIC_TYPE4 * pTypeTarget; + Guard lock(pTarget->m_buffLock); + auto itr = pTarget->m_buffMap.find(BUFF_TYPE_SPEED || BUFF_TYPE_SPEED2); + if (itr != pTarget->m_buffMap.end() && (pTypeTarget = g_pMain->m_Magictype4Array.GetData(itr->second.m_nSkillID))) + nTargetSpeedAmount = pTypeTarget->bSpeed; + } + + if (!mSendSpeed) + goto fail_return; + } + } + + // Update character stats. + if (pTarget->isPlayer()) + { + TO_USER(pTarget)->SetUserAbility(); + TO_USER(pTarget)->Send2AI_UserUpdateInfo(); + + if (pType->isBuff() && pType->bBuffType == BUFF_TYPE_HP_MP) + TO_USER(pTarget)->HpChange(pTarget->m_sMaxHPAmount); + } + /*else + { + TO_NPC(pTarget)->Send2AI_NpcUpdateInfo(); + + if (pType->isBuff() && pType->bBuffType == BUFF_TYPE_HP_MP) + TO_NPC(pTarget)->HpChange(pTarget->m_sMaxHPAmount); + }*/ + + + +fail_return: + if (pSkill->bType[1] == 0 || pSkill->bType[1] == 4) + { + Unit *pTmp = (pSkillCaster->isPlayer() ? pSkillCaster : pTarget); + int16 sDataCopy[] = + { + sData[0], bResult, sData[2], sDuration, + sData[4], pType->bSpeed, sData[6] + }; + + if (!mSendSpeed) + { + if (pSkillCaster->isNPC()) + { + sDataCopy[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + else + { + if (pSkill->bMoral == MORAL_ENEMY) + { + sDataCopy[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + else if (pSkill->bMoral != MORAL_ENEMY) + { + sDataCopy[1] = 0; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); + TO_USER(pSkillCaster)->ShowEffect(nSkillID); + } + } + } + + else + BuildAndSendSkillPacket(pTmp, true, sCasterID, pTarget->GetID(), bOpcode, nSkillID, sDataCopy); + + if (mSendSpeed && (pSkill->bMoral >= MORAL_ENEMY || pSkill->bMoral >= MORAL_AREA_ENEMY) && pTarget->isPlayer()) + { + UserStatus status = USER_STATUS_POISON; + if (pType->bBuffType == BUFF_TYPE_SPEED || pType->bBuffType == BUFF_TYPE_SPEED2) + status = USER_STATUS_SPEED; + + TO_USER(pTarget)->SendUserStatusUpdate(status, USER_STATUS_INFLICT); + } + + if (pType->bBuffType == BUFF_TYPE_DECREASE_RESIST + || pType->bBuffType == BUFF_TYPE_DISABLE_TARGETING + || pType->bBuffType == BUFF_TYPE_AC // for Torment by Terry. + && sTargetID != -1) + SendSkill(); + } + + + if (bResult == 0 && pSkillCaster->isPlayer()) + SendSkillFailed((*itr)->GetID()); + } + + return true; +} + +bool MagicInstance::ExecuteType5() +{ + // Disallow anyone that isn't a player. + if (!pSkillCaster->isPlayer() + || pSkill == nullptr) + return false; + + _MAGIC_TYPE5* pType = g_pMain->m_Magictype5Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + vector casted_member; + + // Targeting a group of people (e.g. party) + if (sTargetID == -1) + { + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser * pTUser = TO_USER(itr.second); + if (!pTUser->isInGame()) + continue; + + // If the target's dead, only allow resurrection/self-resurrection spells. + if (pTUser->isDead() && (pType->bType != RESURRECTION && pType->bType != RESURRECTION_SELF)) + continue; + + // If the target's alive, we don't need to resurrect them. + if (!pTUser->isDead() && (pType->bType == RESURRECTION || pType->bType == RESURRECTION_SELF)) + continue; + + // Ensure the target's applicable for this skill. + if (CMagicProcess::UserRegionCheck(pSkillCaster, pTUser, pSkill, pSkill->sRange, sData[0], sData[2])) + casted_member.push_back(pTUser); + } + } + // Targeting a single person + else + { + if (pSkillTarget == nullptr || !pSkillTarget->isPlayer()) + return false; + + // If the target's dead, only allow resurrection/self-resurrection spells. + if (pSkillTarget->isDead() && (pType->bType != RESURRECTION && pType->bType != RESURRECTION_SELF)) + return false; + + // If the target's alive, we don't need to resurrect them. + if (!pSkillTarget->isDead() && (pType->bType == RESURRECTION || pType->bType == RESURRECTION_SELF)) + return false; + + casted_member.push_back(TO_USER(pSkillTarget)); + } + + foreach (itr, casted_member) + { + Type4BuffMap::iterator buffIterator; + CUser * pTUser = (*itr); + + if(pTUser == nullptr) + continue; + + int skillCount = 0; + bool bRemoveDOT = false; + + switch (pType->bType) + { + // Remove all DOT skills + case REMOVE_TYPE3: + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + Unit::MagicType3 * pEffect = &pTUser->m_durationalSkills[i]; + + if(pEffect == nullptr) + continue; + + if (!pEffect->m_byUsed) + continue; + + // Ignore healing-over-time skills + if (pEffect->m_sHPAmount >= 0) + { + skillCount++; + continue; + } + + pEffect->Reset(); + // TODO: Wrap this up (ugh, I feel so dirty) + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + result << uint8(200); // removes DOT skill + pTUser->Send(&result); + bRemoveDOT = true; + } + + if (skillCount == 0) + { + pTUser->m_bType3Flag = false; + if (bRemoveDOT) + pTUser->SendUserStatusUpdate(USER_STATUS_DOT, USER_STATUS_CURE); + } + break; + + case REMOVE_TYPE4: // Remove type 4 debuffs + { + Type4BuffMap buffMap = pTUser->m_buffMap; // copy the map so we can't break it while looping + + foreach (itr, buffMap) + { + if (itr->second.isDebuff()) + { + CMagicProcess::RemoveType4Buff(itr->first, pTUser); + + if (pTUser->isLockableScroll(itr->second.m_bBuffType)) + pTUser->RecastLockableScrolls(itr->second.m_bBuffType); + } + } + + // NOTE: This originally checked to see if there were any active debuffs. + // As this seems pointless (as we're removing all of them), it was removed + // however leaving this note in, in case this behaviour in certain conditions + // is required. + pTUser->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + } break; + + case RESURRECTION_SELF: + if (pSkillCaster != pTUser || pTUser->m_iLostExp == 0) + continue; + + pTUser->Regene(1,nSkillID); + break; + case RESURRECTION: + if (pTUser->CheckExistItem(pSkill->iUseItem, pType->sNeedStone)) + { + if (pTUser->RobItem(pSkill->iUseItem, pType->sNeedStone)) + { + TO_USER(pSkillCaster)->GiveItem(pSkill->iUseItem, (pType->sNeedStone / 2) + 1); + pTUser->Regene(1,nSkillID); + } + } + break; + + case REMOVE_BLESS: + { + if (CMagicProcess::RemoveType4Buff(BUFF_TYPE_HP_MP, pTUser)) + { + if (!pTUser->isDebuffed()) + pTUser->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + } + } break; + } + + if (pSkill->bType[1] == 0 || pSkill->bType[1] == 5) + { + // Send the packet to the caster. + sData[1] = 1; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + } + } + + return true; +} + +bool MagicInstance::ExecuteType6() +{ + if (pSkill == nullptr + || !pSkillCaster->isPlayer()) + return false; + + _MAGIC_TYPE6 * pType = g_pMain->m_Magictype6Array.GetData(nSkillID); + + CUser * pCaster = TO_USER(pSkillCaster); + uint16 sDuration = 0; + + if (pType == nullptr + // Allow NPC transformations in PVP zones + || (pType->bUserSkillUse != TransformationSkillUseNPC + // All PVP zones. + && pSkillCaster->GetMap()->canAttackOtherNation() + // Exclude home zones (which can be invaded). + && (pSkillCaster->GetZoneID() > ELMORAD + && !(pSkillCaster->GetZoneID() == ZONE_KARUS_ESLANT || pSkillCaster->GetZoneID() == ZONE_ELMORAD_ESLANT))) + || (!bIsRecastingSavedMagic && pCaster->isTransformed()) + // All buffs must be removed before using transformation skills + || (pType->bUserSkillUse != TransformationSkillUseNPC && pSkillCaster->isBuffed(true)) + // Transformation nation. + || (pType->bNation != 0 && pType->bNation != pCaster->GetNation())) + { + // If we're recasting it, then it's either already cast on us (i.e. we're changing zones) + // or we're relogging. We need to remove it now, as the client doesn't see us using it. + if (bIsRecastingSavedMagic) + Type6Cancel(true); + + return false; + } + + // We can ignore all these checks if we're just recasting on relog. + if (!bIsRecastingSavedMagic) + { + if (pSkillTarget->HasSavedMagic(nSkillID)) + return false; + + // Monster transformations require a transformation list. + if (pType->bUserSkillUse == TransformationMonster) + pCaster->RobItem(pSkill->nBeforeAction); + + // User's casting a new skill. Use the full duration. + sDuration = pType->sDuration; + } + else + { + // Server's recasting the skill (kept on relog, zone change, etc.) + int16 tmp = pSkillCaster->GetSavedMagicDuration(nSkillID); + + // Has it expired (or not been set?) -- just in case. + if (tmp <= 0) + return false; + + // it's positive, so no harm here in casting. + sDuration = tmp; + } + + switch (pType->bUserSkillUse) + { + case TransformationSkillUseMonster: + pCaster->m_transformationType = TransformationMonster; + break; + + case TransformationSkillUseNPC: + pCaster->m_transformationType = TransformationNPC; + break; + + case TransformationSkillUseSiege: + case TransformationSkillUseSiege2: + pCaster->m_transformationType = TransformationSiege; + break; + + default: // anything + return false; + } + + Packet result(AG_USER_TRANS_CHANGE); + result << pCaster->GetID() << uint8(pCaster->m_transformationType); + g_pMain->Send_AIServer(&result); + + // TODO : Save duration, and obviously end + pCaster->m_sTransformID = pType->sTransformID; + pCaster->m_tTransformationStartTime = UNIXTIME; + pCaster->m_sTransformationDuration = sDuration; + + pSkillCaster->StateChangeServerDirect(3, nSkillID); + + // TODO : Give the users ALL TEH BONUSES!! + + sData[1] = 1; + sData[3] = sDuration; + SendSkill(); + + pSkillCaster->InsertSavedMagic(nSkillID, sDuration); + return true; +} + +bool MagicInstance::ExecuteType7() +{ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE7* pType = g_pMain->m_Magictype7Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + vector casted_member; + + int damage = pType->sDamage; + + if (sTargetID == -1) + { + std::vector unitList; + g_pMain->GetUnitListFromSurroundingRegions(pSkillCaster, &unitList); + if(pType->sDamage > 0) + casted_member.push_back(pSkillCaster); + + foreach (itr, unitList) + { + Unit * pTarget = g_pMain->GetUnitPtr(*itr); + + if(pTarget == nullptr) + continue; + + if (pTarget->isNPC() && pTarget->GetNation() == pSkillCaster->GetNation() && !TO_NPC(pTarget)->isMonster()) + continue; + + if (pSkillCaster != pTarget && !pTarget->isDead() && !pTarget->isBlinking() && pTarget->isAttackable() + && CMagicProcess::UserRegionCheck(pSkillCaster, pTarget, pSkill, pType->bRadius, sData[0], sData[2])) + casted_member.push_back(pTarget); + } + + if (casted_member.empty() || (sTargetID == -1 && casted_member.empty())) + return false; + } + else + { + if (pSkillTarget != nullptr && !pSkillTarget->isDead()) + { + if (pType->bTargetChange == 1) + { + if (damage < 0) + return false; + + pSkillTarget->HpChange(-damage, pSkillCaster); + + return true; + } + } + } + + foreach (itr, casted_member) + { + Unit * pTarget = *itr; + + if(pTarget == nullptr) + continue; + + if (pType->bTargetChange == 1) + { + if (damage < 0) + continue; + + pTarget->HpChange(-damage, pSkillCaster); + } + } + + return false; +} + +// Warp, resurrection, and summon spells. +bool MagicInstance::ExecuteType8() +{ + if (pSkill == nullptr) + return false; + + _MAGIC_TYPE8* pType = g_pMain->m_Magictype8Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + vector casted_member; + + if (sTargetID == -1) + { + // TODO: Localise this loop to make it not suck (the life out of the server). + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser* pTUser = TO_USER(itr.second); + if (CMagicProcess::UserRegionCheck(pSkillCaster, pTUser, pSkill, pType->sRadius, sData[0], sData[2])) + casted_member.push_back(pTUser); + } + + if (casted_member.empty()) + return false; + } + else + { // If the target was another single player. + CUser* pTUser = g_pMain->GetUserPtr(sTargetID); + if (pTUser == nullptr) + return false; + + casted_member.push_back(pTUser); + } + + foreach (itr, casted_member) + { + CUser* pTUser = *itr; + + if(pTUser == nullptr) + continue; + + uint8 bResult = 0; + _OBJECT_EVENT* pEvent = nullptr; + + if (pType->bWarpType != 11) + { // Warp or summon related: targets CANNOT be dead. + if (pTUser->isDead() + // Players can have their teleports blocked by skills. + || !pTUser->canTeleport()) + goto packet_send; + } + // Resurrection related: we're reviving DEAD targets. + else if (!pTUser->isDead()) + goto packet_send; + + // Is target already warping? + if (pTUser->m_bWarp) + goto packet_send; + + switch(pType->bWarpType) + { + case 0: // For Kurian Rush by Terry + { + CUser * pCaster = TO_USER(pSkillCaster); + if (KurianStuns() && (*itr)->isPlayer()) + { + MagicInstance instance; + nSkillID += 80000; + instance.nSkillID = nSkillID; + if (KurianStunsNot() && (*itr)->isPlayer()) + { + (*itr)->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_INFLICT); + + ExecuteType4(); + + _MAGIC_TYPE4* pType2 = g_pMain->m_Magictype4Array.GetData(nSkillID); + nSkillID -= 80000; + + if (pType2 == nullptr) + return false; + + uint8 bResult = 1; + uint16 sDuration = pType2->sDuration; + uint8 nTargetSpeedAmount = pType2->bSpeed; + + Unit *pTmp = (pSkillCaster->isPlayer() ? pSkillCaster : *itr); + int16 sDataCopy[] = + { + sData[0], bResult, sData[2], sDuration, + sData[4], pType2->bSpeed, sData[6] + }; + } + } + } + break; + case 1: // Send source to resurrection point. + // Disable gate / escape etc for forgetten temple and pvp zones... + if (pTUser->GetZoneID() > ZONE_BIFROST + && (nSkillID == 109035 + || nSkillID == 110035 + || nSkillID == 209035 + || nSkillID == 210035)) + { + SendSkillFailed(); + return false; + } + // Send the packet to the target. + sData[1] = 1; + + BuildAndSendSkillPacket(*itr, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + + if (pTUser->GetMap() == nullptr) + continue; + + pEvent = pTUser->GetMap()->GetObjectEvent(pTUser->m_sBind); + + if (pEvent != nullptr) + pTUser->Warp(uint16(pEvent->fPosX * 10), uint16(pEvent->fPosZ * 10)); + else if (pTUser->GetZoneID() <= ELMORAD || pTUser->GetMap()->isWarZone() || pTUser->GetMap()->canAttackOtherNation()) + { + _START_POSITION * pStartPosition = g_pMain->m_StartPositionArray.GetData(pTUser->GetZoneID()); + if (pStartPosition) + pTUser->Warp((uint16)((pTUser->GetNation() == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX) + myrand(0, pStartPosition->bRangeX)) * 10,(uint16)((pTUser->GetNation() == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ) + myrand(0, pStartPosition->bRangeZ)) * 10); + else + return false; + } + else if (pTUser->GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + uint16 KillCount1, KillCount2, KillCount3; + float x = 0.0f, z = 0.0f; + KillCount1 = pTUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom1[pTUser->GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom1[pTUser->GetEventRoom()]; + KillCount2 = pTUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom2[pTUser->GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom2[pTUser->GetEventRoom()]; + KillCount3 = pTUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom3[pTUser->GetEventRoom()] : g_pMain->pTempleEvent.ElmoDeathRoom3[pTUser->GetEventRoom()]; + + if (KillCount1 > 3 && KillCount2 < 4) + { + if (pTUser->GetNation() == KARUS) + { + x = (float) (223 + (myrand(-1,1))); + z = (float) (672 + (myrand(-1,1))); + }else + { + x = (float) (800 + (myrand(-1,1))); + z = (float) (343 + (myrand(-1,1))); + } + }else if(KillCount2 > 3 && KillCount3 < 4) + { + if (pTUser->GetNation() == KARUS) + { + x = (float) (340 + (myrand(-1,1))); + z = (float) (847 + (myrand(-1,1))); + }else + { + x = (float) (690 + (myrand(-1,1))); + z = (float) (172 + (myrand(-1,1))); + } + }else if(KillCount3 > 3) + { + if (pTUser->GetNation() == KARUS) + { + x = (float) (512 + (myrand(-1,1))); + z = (float) (736 + (myrand(-1,1))); + }else + { + x = (float) (512 + (myrand(-1,1))); + z = (float) (282 + (myrand(-1,1))); + } + }else + { + short sx,sz; + pTUser->GetStartPosition(sx, sz); + x = sx; + z = sz; + } + + pTUser->Warp(uint16(x * 10), uint16(z * 10)); + + } + else + { + _START_POSITION * pStartPosition = g_pMain->m_StartPositionArray.GetData(pTUser->GetZoneID()); + if (pStartPosition) + pTUser->Warp((uint16)((pTUser->GetNation() == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX) + myrand(0, pStartPosition->bRangeX)) * 10,(uint16)((pTUser->GetNation() == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ) + myrand(0, pStartPosition->bRangeZ)) * 10); + else + return false; + } + break; + case 2: // Send target to teleport point WITHIN the zone. + // LATER!!! + break; + case 3: // Send target to teleport point OUTSIDE the zone. + // LATER!!! + break; + case 5: // Send target to a hidden zone. + // LATER!!! + break; + + case 11: // Resurrect a dead player. + { + // Send the packet to the target. + sData[1] = 1; + BuildAndSendSkillPacket(*itr, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + + pTUser->m_bResHpType = USER_STANDING; // Target status is officially alive now. + pTUser->HpChange(pTUser->m_iMaxHp, pSkillCaster); // Refill HP. + pTUser->ExpChange( pType->sExpRecover/100 ,true); // Increase target experience. + + Packet result(AG_USER_REGENE); + result << uint16((*itr)->GetSocketID()) << uint16(pTUser->GetHealth()); + g_pMain->Send_AIServer(&result); + } break; + + case 12: // Summon a target within the zone. + // Disable telepert for forgetten temple... + if(pTUser->GetZoneID() == ZONE_FORGOTTEN_TEMPLE + || (pTUser->GetZoneID() > ZONE_BIFROST && (nSkillID == 490042 || nSkillID == 490050))) + { + SendSkillFailed(); + return false; + } + // Cannot teleport users from other zones. + if (pSkillCaster->GetZoneID() != pTUser->GetZoneID() + // Cannot teleport ourselves. + || pSkillCaster == pTUser) + goto packet_send; + + // Send the packet to the target. + sData[1] = 1; + BuildAndSendSkillPacket(*itr, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + pTUser->Warp(pSkillCaster->GetSPosX(), pSkillCaster->GetSPosZ()); + break; + + case 13: // Summon a target outside the zone. + if (pSkillCaster->GetZoneID() == pTUser->GetZoneID()) // Different zone? + goto packet_send; + + // Send the packet to the target. + sData[1] = 1; + BuildAndSendSkillPacket(*itr, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + + pTUser->ZoneChange(pSkillCaster->GetZoneID(), pSkillCaster->GetX(), pSkillCaster->GetZ()) ; + pTUser->UserInOut(INOUT_RESPAWN); + break; + + case 20: // Teleport the source (radius) meters forward + { + // Calculate difference between where user is now and where they were previously + // to figure out an orientation. + // Should really use m_sDirection, but not sure what the value is exactly. + float warp_x = pTUser->GetX() - pTUser->m_oldx, + warp_z = pTUser->GetZ() - pTUser->m_oldz; + + // Unable to work out orientation, so we'll just fail (won't be necessary with m_sDirection). + float distance = sqrtf(warp_x*warp_x + warp_z*warp_z); + if (distance == 0.0f) + goto packet_send; + + warp_x /= distance; warp_z /= distance; + warp_x *= pType->sRadius; warp_z *= pType->sRadius; + warp_x += pTUser->m_oldx; warp_z += pTUser->m_oldz; + + sData[1] = 1; + BuildAndSendSkillPacket(*itr, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + pTUser->Warp(uint16(warp_x * 10), uint16(warp_z * 10)); + } break; + + case 21: // Summon a monster within a zone with monster staff. + { + MonsterSummonList * pMonsterSummonList = g_pMain->m_MonsterSummonList.GetData(0); + + if (pMonsterSummonList) + { + int nRandom = myrand(0, 9999); + int TotalMonsterRate = 0; + + std::vector<_MONSTER_SUMMON_LIST>::iterator RandomMonsterRate[10000]; + memset(RandomMonsterRate, 0, sizeof(RandomMonsterRate)); + + for (std::vector<_MONSTER_SUMMON_LIST>::iterator itr = pMonsterSummonList->begin(); itr != pMonsterSummonList->end(); ++itr) + { + for(int ad=0; ad < itr->sProbability; ad++) + RandomMonsterRate[TotalMonsterRate + ad] = itr; + + TotalMonsterRate += itr->sProbability; + } + + + std::vector<_MONSTER_SUMMON_LIST>::iterator itr = RandomMonsterRate[nRandom]; + g_pMain->SpawnEventNpc(itr->sSid,true,pSkillCaster->GetZoneID(),pSkillCaster->GetX(),pSkillCaster->GetY(),pSkillCaster->GetZ(),1,10); + + break; + } + } + break; + // This is used by Wild Advent (70 rogue skill) and Descent, teleport the user to the target user (Moral check to distinguish between the 2 skills) + case 25: + float dest_x, dest_z = 0.0f; + // If we're not even in the same zone, I can't teleport to you! + if (pTUser->GetZoneID() != pSkillCaster->GetZoneID() + || (pSkill->bMoral < MORAL_ENEMY && pSkillCaster->isHostileTo(pTUser)) + || (pSkill->iNum > 500000 && pSkillCaster->GetZoneID() > ZONE_MORADONM2)) + return false; + + dest_x = pTUser->GetX(); + dest_z = pTUser->GetZ(); + + if (pSkillCaster->isPlayer() && (pSkillCaster->GetDistanceSqrt(pSkillTarget) <= (float)pType->sRadius)) + TO_USER(pSkillCaster)->Warp(uint16(dest_x * 10), uint16(dest_z * 10)); + else + SendSkillFailed(); + break; + } + + bResult = 1; + +packet_send: + // Send the packet to the caster. + sData[1] = bResult; + BuildAndSendSkillPacket(pSkillCaster, true, sCasterID, (*itr)->GetID(), bOpcode, nSkillID, sData); + } + return true; +} + +bool MagicInstance::ExecuteType9() +{ + if (pSkill == nullptr + // Only players can use these skills. + || !pSkillCaster->isPlayer()) + return false; + + _MAGIC_TYPE9* pType = g_pMain->m_Magictype9Array.GetData(nSkillID); + if (pType == nullptr) + return false; + + CUser * pCaster = TO_USER(pSkillCaster); + + if(pCaster == nullptr) + return false; + + Guard lock(pCaster->_unitlock); + Type9BuffMap & buffMap = pCaster->m_type9BuffMap; + + // Ensure this type of skill isn't already in use. + if (buffMap.find(pType->bStateChange) != buffMap.end()) + { + sData[1] = 0; + SendSkillFailed(); + return false; + } + + sData[1] = 1; + + if (pType->bStateChange <= 2 && pCaster->canStealth() && pCaster->GetZoneID() != ZONE_FORGOTTEN_TEMPLE) + { + // Cannot stealth when already stealthed. + // This prevents us from using both types 1 and 2 (i.e. dispel on move & dispel on attack) + // at the same time. + if (pCaster->m_bInvisibilityType != INVIS_NONE) + { + sData[1] = 0; + SendSkillFailed(); + return false; + } + + // Invisibility perk does NOT apply when using these skills on monsters. + if (pSkillTarget->isPlayer()) + { + pCaster->StateChangeServerDirect(7, pType->bStateChange); // Update the client to be invisible + buffMap.insert(std::make_pair(pType->bStateChange, _BUFF_TYPE9_INFO(nSkillID, UNIXTIME + pType->sDuration))); + } + + // Update all players nearby to tell them we're now invisible. + SendSkill(); + } + else if (pType->bStateChange >= 3 && pType->bStateChange <= 4) + { + Packet result(WIZ_STEALTH, uint8(1)); + result << pType->sRadius; + + // If the player's in a party, apply this skill to all members of the party. + if (pCaster->isInParty() && pType->bStateChange == 4) + { + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(pCaster->GetPartyID()); + if (pParty == nullptr) + return false; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + + // If this user already has this skill active, we don't need to reapply it. + if (pUser->m_type9BuffMap.find(pType->bStateChange) + != pUser->m_type9BuffMap.end()) + continue; + + pUser->m_type9BuffMap.insert(std::make_pair(pType->bStateChange, _BUFF_TYPE9_INFO(nSkillID, UNIXTIME + pType->sDuration))); + pUser->Send(&result); + + // Ensure every user in the party is given the skill icon in the corner of the screen. + BuildAndSendSkillPacket(pUser, false, sCasterID, pUser->GetID(), bOpcode, nSkillID, sData); + } + } + else // not in a party, so just apply this skill to us. + { + buffMap.insert(std::make_pair(pType->bStateChange, _BUFF_TYPE9_INFO(nSkillID, UNIXTIME + pType->sDuration))); + pCaster->Send(&result); + + // Ensure we are given the skill icon in the corner of the screen. + SendSkill(false); // only update us, as only we need to know that we can see invisible players. + } + } + + else if(pType->bStateChange == 8)//pat summon + { + + _ITEM_TABLE * pItemData = nullptr; + if(pCaster == nullptr + || (pItemData = pCaster->GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return false; + + _ITEM_DATA *pItem = nullptr; + + if ( (pItem = pCaster->GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return false; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr ) + return false; + if(newPet->m_pNpc != nullptr) + { + + if(newPet->m_pNpc->isAlive()) + { + Packet result(WIZ_PET); + result << uint8(1) << uint8(5) << uint8(1) << uint16(-2); + pCaster->Send(&result); + SendSkillFailed(); + return false; + } + } + if((pCaster->isInPKZone() || pCaster->isInTempleEventZone()) + || (pCaster->GetMap() != nullptr && pCaster->GetMap()->isWarZone())) + { + Packet result(WIZ_PET); + result << uint8(1) << uint8(5) << uint8(1) << uint16(-3); + pCaster->Send(&result); + SendSkillFailed(); + return false; + } + + SendSkill(); + pCaster->PetSkill(pItem->nSerialNum); + sData[4] = newPet->GetID(); + SendSkill(); + + pCaster->isSummonPet = true; + } + + else if (pType->bStateChange == 9) + { + if (pCaster->GetZoneID() == ZONE_MORADON || pSkillCaster->GetZoneID() == ZONE_MORADONM2) + return 0; + + buffMap.insert(std::make_pair(pType->bStateChange, _BUFF_TYPE9_INFO(nSkillID, UNIXTIME + pType->sDuration))); + g_pMain->SpawnEventNpc(pType->sMonsterNum,false,pCaster->GetZoneID(),pCaster->GetX(),pCaster->GetY(),pCaster->GetZ(),1,2, pType->sDuration, /*pCaster->GetZoneID() == ZONE_MORADON ? 3 :*/ pCaster->GetNation(), pCaster->GetSocketID()); + SendSkill(); + } + + return true; +} + +short MagicInstance::GetMagicDamage(Unit *pTarget, int total_hit, int attribute) +{ + short damage = 0, temp_hit = 0, righthand_damage = 0, attribute_damage = 0; + int random = 0, total_r = 0 ; + uint8 result; + + if (pTarget == nullptr + || pSkillCaster == nullptr) + return 0; + + if(pTarget->isDead() + || pSkillCaster->isDead()) + return 0; + + // Trigger item procs + if (pTarget->isPlayer() && pSkillCaster->isPlayer()) + { + pSkillCaster->OnAttack(pTarget, AttackTypeMagic); + pTarget->OnDefend(pSkillCaster, AttackTypeMagic); + } + + if (pTarget->m_bBlockMagic) + return 0; + + int16 sMagicAmount = 0; + if (pSkillCaster->isNPC()) + { + result = pSkillCaster->GetHitRate(pTarget->m_fTotalHitrate / pSkillCaster->m_fTotalEvasionrate); + } + else + { + CUser *pUser = TO_USER(pSkillCaster); + uint8 bCha = pUser->isMage() ? pUser->GetStat(STAT_CHA) : 60; + if (bCha > 86 && pUser->isMage()) + sMagicAmount = bCha - 86; + + sMagicAmount += pUser->m_sMagicAttackAmount; + total_hit = total_hit * bCha / 186; + result = SUCCESS; + } + + if (result != FAIL) + { + // In case of SUCCESS.... + switch (attribute) + { + case FIRE_R: + total_r = (pTarget->m_sFireR + pTarget->m_bAddFireR) * pTarget->m_bPctFireR / 100; + break; + case COLD_R: + total_r = (pTarget->m_sColdR + pTarget->m_bAddColdR) * pTarget->m_bPctColdR / 100; + break; + case LIGHTNING_R: + total_r = (pTarget->m_sLightningR + pTarget->m_bAddLightningR) * pTarget->m_bPctLightningR / 100; + break; + case MAGIC_R: + total_r = (pTarget->m_sMagicR + pTarget->m_bAddMagicR) * pTarget->m_bPctMagicR / 100; + break; + case DISEASE_R: + total_r = (pTarget->m_sDiseaseR + pTarget->m_bAddDiseaseR) * pTarget->m_bPctDiseaseR / 100; + break; + case POISON_R: + total_r = (pTarget->m_sPoisonR + pTarget->m_bAddPoisonR) * pTarget->m_bPctPoisonR / 100; + break; + } + + total_r += pTarget->m_bResistanceBonus; + + + Guard lock(pSkillCaster->_unitlock); + + if (pSkillCaster->isPlayer()) + { + CUser *pUser = TO_USER(pSkillCaster); + + // double the staff's damage when using a skill of the same attribute as the staff + _ITEM_TABLE *pRightHand = pUser->GetItemPrototype(RIGHTHAND); + if (!pUser->isWeaponsDisabled() && pRightHand != nullptr && pRightHand->isStaff() && pUser->GetItemPrototype(LEFTHAND) == nullptr) + { + righthand_damage = pRightHand->m_sDamage + pUser->m_bAddWeaponDamage; + auto itr = pSkillCaster->m_equippedItemBonuses.find(RIGHTHAND); + if (itr != pSkillCaster->m_equippedItemBonuses.end()) + { + auto bonusItr = itr->second.find(attribute); + if (bonusItr != itr->second.end()) + attribute_damage *= 2; + } + } + else + { + righthand_damage = 0; + } + + // Add on any elemental skill damage + foreach (itr, pSkillCaster->m_equippedItemBonuses) + { + uint8 bSlot = itr->first; + foreach (bonusItr, itr->second) + { + uint8 bType = bonusItr->first; + int16 sAmount = bonusItr->second; + int16 sTempResist = 0; + + switch (bType) + { + case ITEM_TYPE_FIRE: + sTempResist = (pTarget->m_sFireR + pTarget->m_bAddFireR) * pTarget->m_bPctFireR / 100; + break; + case ITEM_TYPE_COLD: + sTempResist = (pTarget->m_sColdR + pTarget->m_bAddColdR) * pTarget->m_bPctColdR / 100; + break; + case ITEM_TYPE_LIGHTNING: + sTempResist = (pTarget->m_sLightningR + pTarget->m_bAddLightningR) * pTarget->m_bPctLightningR / 100; + break; + case ITEM_TYPE_POISON: + sTempResist = (pTarget->m_sPoisonR + pTarget->m_bAddPoisonR) * pTarget->m_bPctPoisonR / 100; + break; + } + + sTempResist += pTarget->m_bResistanceBonus; + if (bType >= ITEM_TYPE_FIRE && bType <= ITEM_TYPE_POISON) + { + if (sTempResist > 200) + sTempResist = 200; + + // add attribute damage amount to right-hand damage instead of attribute + // so it doesn't bother taking into account caster level (as it would with the staff attributes). + righthand_damage += sAmount - sAmount * sTempResist / 200; + } + } + } + + } + + damage = (230 * total_hit / (total_r + 250)); + random = myrand(0, damage); + damage = (short)(random * 0.3f + (damage * 0.85f)) - sMagicAmount; + + if (pSkillCaster->isNPC()) + damage -= ((3 * righthand_damage) + (3 * attribute_damage)); + else if (attribute != MAGIC_R) // Only if the staff has an attribute. + damage -= (short)(((righthand_damage * 0.8f) + (righthand_damage * pSkillCaster->GetLevel()) / 60) + ((attribute_damage * 0.8f) + (attribute_damage * pSkillCaster->GetLevel()) / 30)); + if (pTarget->m_bMagicDamageReduction < 100) + damage = damage * pTarget->m_bMagicDamageReduction / 100; + } + + // Apply boost for skills matching weather type. + // This isn't actually used officially, but I think it's neat... + GetWeatherDamage(damage, attribute); + + if (pTarget->isPlayer()) + damage /= 3; + + // Implement damage cap. + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + if(pTarget->GetID() > NPC_BAND) + { + switch(TO_NPC(pTarget)->GetType()) + { + case NPC_FOSSIL: + damage = 0; + break; + case NPC_TREE: + damage = 0; + break; + } + } + + return damage; +} + +int32 MagicInstance::GetWeatherDamage(int32 damage, int attribute) +{ + // Give a 10% damage output boost based on weather (and skill's elemental attribute) + if ((g_pMain->m_byWeather == WEATHER_FINE && attribute == AttributeFire) + || (g_pMain->m_byWeather == WEATHER_RAIN && attribute == AttributeLightning) + || (g_pMain->m_byWeather == WEATHER_SNOW && attribute == AttributeIce)) + damage = (damage * 110) / 100; + + return damage; +} + +void MagicInstance::Type6Cancel(bool bForceRemoval) +{ + if (g_pMain->m_Magictype6Array.GetData(nSkillID) == nullptr) + return; + + // NPCs cannot transform. + if (!pSkillCaster->isPlayer() + // Are we transformed? Note: if we're relogging, and we need to remove it, we should ignore this check. + || (!bForceRemoval && !TO_USER(pSkillCaster)->isTransformed())) + return; + + CUser * pUser = TO_USER(pSkillCaster); + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_CANCEL_TRANSFORMATION)); + + // TODO: Reset stat changes, recalculate stats. + pUser->m_transformationType = TransformationNone; + + Packet result2(AG_USER_TRANS_CHANGE); + result2 << pUser->GetID() << uint8(pUser->m_transformationType); + g_pMain->Send_AIServer(&result2); + + pUser->Send(&result); + + pUser->RemoveSavedMagic(pUser->m_bAbnormalType); + pUser->StateChangeServerDirect(3, ABNORMAL_NORMAL); +} + +void MagicInstance::Type9Cancel(bool bRemoveFromMap) +{ + if (pSkillCaster == nullptr + || !pSkillCaster->isPlayer()) + return; + + _MAGIC_TYPE9 * pType = g_pMain->m_Magictype9Array.GetData(nSkillID); + if (pType == nullptr) + return; + + uint8 bResponse = 0; + CUser * pCaster = TO_USER(pSkillCaster); + Guard lock(pCaster->_unitlock); + Type9BuffMap & buffMap = pCaster->m_type9BuffMap; + + + + // If this skill isn't already applied, there's no reason to remove it. + if (buffMap.find(pType->bStateChange) == buffMap.end() && pType->bStateChange != 8) + return; + else if(pType->bStateChange == 8 && buffMap.find(pType->bStateChange) == buffMap.end()) + buffMap.insert(std::make_pair(8, _BUFF_TYPE9_INFO(500117, UNIXTIME + 5))); + + // Remove the buff from the map + if (bRemoveFromMap) + buffMap.erase(pType->bStateChange); + + // Stealths + if (pType->bStateChange <= 2 + || (pType->bStateChange >= 5 && pType->bStateChange < 7)) + { + pCaster->StateChangeServerDirect(7, INVIS_NONE); + bResponse = 91; + } + // Lupine etc. + else if (pType->bStateChange >= 3 && pType->bStateChange <= 4) + { + pCaster->InitializeStealth(); + bResponse = 92; + } + // Guardian pet related + else if (pType->bStateChange == 7) + { + Packet pet(WIZ_PET, uint8(1)); + pet << uint16(1) << uint16(6); + pCaster->Send(&pet); + bResponse = 93; + } + + else if(pType->bStateChange == 8)//pat summon + { + if(!pCaster->isSummonPet) + { + SendSkillFailed(); + return; + } + + _ITEM_TABLE * pItemData = nullptr; + if(pCaster == nullptr + || (pItemData = pCaster->GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + + _ITEM_DATA *pItem = nullptr; + + if ((pItem = pCaster->GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc != nullptr) + { + if(newPet->m_pNpc->isAlive()) + newPet->Dead(); + bResponse = 93; + pCaster->isSummonPet = false; + } + } + + else if (pType->bStateChange == 9) + { + g_pMain->KillNpc(pCaster->GetSocketID()); + } + + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + result << bResponse; + pCaster->Send(&result); +} + +void MagicInstance::Type4Cancel() +{ + if (pSkill == nullptr || pSkillTarget != pSkillCaster) + return; + + _MAGIC_TYPE4* pType = g_pMain->m_Magictype4Array.GetData(nSkillID); + if (pType == nullptr + || pType->isDebuff()) + return; + + if (nSkillID > 500000 + && TO_USER(pSkillCaster)->isLockableScroll(pType->bBuffType) + && pSkillCaster->hasDebuff(pType->bBuffType)) + return; + + if (!CMagicProcess::RemoveType4Buff(pType->bBuffType, TO_USER(pSkillCaster))) + return; + + TO_USER(pSkillCaster)->RemoveSavedMagic(nSkillID); +} + +void MagicInstance::Type3Cancel() +{ + if (pSkill == nullptr + || pSkillCaster != pSkillTarget) + return; + + // Should this take only the specified skill? I'm thinking so. + _MAGIC_TYPE3* pType = g_pMain->m_Magictype3Array.GetData(nSkillID); + if (pType == nullptr) + return; + + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + Unit::MagicType3 * pEffect = &pSkillCaster->m_durationalSkills[i]; + + if(pEffect == nullptr) + continue; + + if (!pEffect->m_byUsed + // we can only cancel healing-over-time skills + // damage-over-time skills must remain. + || pEffect->m_sHPAmount <= 0) + continue; + + pEffect->Reset(); + break; // we can only have one healing-over-time skill active. + // since we've found it, no need to loop through the rest of the array. + } + + if (pSkillCaster->isPlayer()) + { + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + result << uint8(100); // remove the healing-over-time skill. + TO_USER(pSkillCaster)->Send(&result); + } + + int buff_test = 0; + for (int j = 0; j < MAX_TYPE3_REPEAT; j++) + { + if (pSkillCaster->m_durationalSkills[j].m_byUsed) + { + buff_test++; + break; + } + } + + if (buff_test == 0) + pSkillCaster->m_bType3Flag = false; + + if (pSkillCaster->isPlayer() + && !pSkillCaster->m_bType3Flag) + TO_USER(pSkillCaster)->SendUserStatusUpdate(USER_STATUS_DOT, USER_STATUS_CURE); +} + +void MagicInstance::Type4Extend() +{ + if (pSkill == nullptr + // Only players can extend buffs. + || !pSkillCaster->isPlayer() + // Can't use on special items. + || nSkillID >= 500000) + return; + + _MAGIC_TYPE4 *pType = g_pMain->m_Magictype4Array.GetData(nSkillID); + if (pType == nullptr + || pType->isDebuff()) + return; + + Guard lock(pSkillTarget->_unitlock); + Type4BuffMap::iterator itr = pSkillTarget->m_buffMap.find(pType->bBuffType); + + // Can't extend a buff that hasn't been started. + if (itr == pSkillCaster->m_buffMap.end() + // Can't extend a buff that's already been extended. + || itr->second.m_bDurationExtended) + return; + + // Require the "Duration Item" for buff duration extension. + // The things we must do to future-proof things... + bool bItemFound = false; + for (int i = SLOT_MAX; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA * pItem = nullptr; + _ITEM_TABLE * pTable = TO_USER(pSkillCaster)->GetItemPrototype(i, pItem); + if (pTable == nullptr + || pTable->m_bKind != 255 + || pTable->m_iEffect1 == 0) + continue; + + _MAGIC_TABLE * pEffect = g_pMain->m_MagictableArray.GetData(pTable->m_iEffect1); + if (pEffect == nullptr + || pEffect->bMoral != MORAL_EXTEND_DURATION + || !TO_USER(pSkillCaster)->RobItem(i, pTable)) + continue; + + bItemFound = true; + break; + } + + // No "Duration Item" was found. + if (!bItemFound) + return; + + // Extend the duration of a buff. + itr->second.m_tEndTime += pType->sDuration; + + // Mark the buff as extended (we cannot extend it more than once). + itr->second.m_bDurationExtended = true; + + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_TYPE4_EXTEND)); + result << uint32(nSkillID); + TO_USER(pSkillTarget)->Send(&result); +} + +void MagicInstance::ReflectDamage(int32 damage, Unit * pTarget) +{ + if (pSkillCaster == nullptr || pTarget == nullptr) + return; + + if (damage < 0) + damage *= -1; + + int16 total_resistance_caster = 0; + int32 reflect_damage = 0; + + switch (pTarget->m_bReflectArmorType) + { + case FIRE_DAMAGE: + total_resistance_caster = (pSkillCaster->m_sFireR + pSkillCaster->m_bAddFireR) * pTarget->m_bPctFireR / 100; + reflect_damage = ((230 * damage) / (total_resistance_caster + 250)) / 100 * 35; + pSkillCaster->HpChange(-damage, pTarget); + break; + + case ICE_DAMAGE: + total_resistance_caster = (pSkillCaster->m_sColdR + pSkillCaster->m_bAddColdR) * pTarget->m_bPctColdR / 100; + reflect_damage = ((230 * damage) / (total_resistance_caster + 250)) / 100 * 35; + pSkillCaster->HpChange(-damage, pTarget); + break; + + case LIGHTNING_DAMAGE: + total_resistance_caster = (pSkillCaster->m_sLightningR + pSkillCaster->m_bAddLightningR) * pTarget->m_bPctLightningR / 100; + reflect_damage = ((230 * damage) / (total_resistance_caster + 250)) / 100 * 35; + pSkillCaster->HpChange(-damage, pTarget); + break; + } + + CMagicProcess::RemoveType4Buff(BUFF_TYPE_MAGE_ARMOR,pTarget,true); +} + +void MagicInstance::ConsumeItem() +{ + if (nConsumeItem != 0 && pSkillCaster->isPlayer()) + if( nConsumeItem == 370001000 || + nConsumeItem == 370002000 || + nConsumeItem == 370003000 || + nConsumeItem == 379069000 || + nConsumeItem == 379070000 || + nConsumeItem == 379063000 || + nConsumeItem == 379064000 || + nConsumeItem == 379065000 || + nConsumeItem == 379066000 ) + TO_USER(pSkillCaster)->RobItem(0); + else + TO_USER(pSkillCaster)->RobItem(nConsumeItem); + + if (bInstantCast) + CMagicProcess::RemoveType4Buff(BUFF_TYPE_INSTANT_MAGIC, pSkillCaster); +} diff --git a/server/GameServer/MagicInstance.h b/server/GameServer/MagicInstance.h new file mode 100644 index 0000000..9288192 --- /dev/null +++ b/server/GameServer/MagicInstance.h @@ -0,0 +1,170 @@ +#pragma once + +enum ResistanceTypes +{ + NONE_R = 0, + FIRE_R = 1, + COLD_R = 2, + LIGHTNING_R = 3, + MAGIC_R = 4, + DISEASE_R = 5, + POISON_R = 6, + LIGHT_R = 7, + DARKNESS_R = 8 +}; + +enum MagicDamageType +{ + FIRE_DAMAGE = 5, + ICE_DAMAGE = 6, + LIGHTNING_DAMAGE = 7 +}; + +enum SkillMoral +{ + MORAL_SELF = 1, + MORAL_FRIEND_WITHME = 2, + MORAL_FRIEND_EXCEPTME = 3, + MORAL_PARTY = 4, + MORAL_NPC = 5, + MORAL_PARTY_ALL = 6, + MORAL_ENEMY = 7, + MORAL_ALL = 8, + MORAL_AREA_ENEMY = 10, + MORAL_AREA_FRIEND = 11, + MORAL_AREA_ALL = 12, + MORAL_SELF_AREA = 13, + MORAL_CLAN = 14, + MORAL_CLAN_ALL = 15, + MORAL_UNDEAD = 16, // I don't think a lot of these made it to KO. + MORAL_PET_WITHME = 17, + MORAL_PET_ENEMY = 18, + MORAL_ANIMAL1 = 19, + MORAL_ANIMAL2 = 20, + MORAL_ANIMAL3 = 21, + MORAL_ANGEL = 22, + MORAL_DRAGON = 23, + MORAL_CORPSE_FRIEND = 25, + MORAL_CORPSE_ENEMY = 26, + MORAL_SIEGE_WEAPON = 31, // must be using a siege weapon + MORAL_EXTEND_DURATION = 240 +}; + +#define WARP_RESURRECTION 1 // To the resurrection point. + +#define REMOVE_TYPE3 1 +#define REMOVE_TYPE4 2 +#define RESURRECTION 3 +#define RESURRECTION_SELF 4 +#define REMOVE_BLESS 5 +#define CLASS_STONE_BASE_ID 379058000 + +enum SkillUseResult +{ + SkillUseOK, + SkillUseFail, + SkillUseHandled +}; + +class Unit; +struct _MAGIC_TABLE; +class MagicInstance +{ +public: + uint8 bOpcode; + uint32 nSkillID; + _MAGIC_TABLE * pSkill; + int16 sCasterID, sTargetID; + Unit *pSkillCaster, *pSkillTarget; + int16 sData[7]; + bool bSendFail; // When enabled (enabled by default), sends fail packets to the client. + // This is not preferable in cases like scripted casts, as the script should handle the failure. + bool bIsRecastingSavedMagic; + bool bIsItemProc; + bool bInstantCast; + + bool bSkillSuccessful; + + uint32 nConsumeItem; + + INLINE bool ColdSkills() + { + return nSkillID == 109642 || nSkillID == 110642 || nSkillID == 209642 || nSkillID == 210642 || nSkillID == 110672 || nSkillID == 210672; + } + + INLINE bool LightStunSkills() + { + return nSkillID == 109742 || nSkillID == 110742 || nSkillID == 209742 || nSkillID == 210742 || nSkillID == 110772 || nSkillID == 210772 + || nSkillID == 107566 || nSkillID == 207566 || nSkillID == 108566 || nSkillID == 208566 + || nSkillID == 115810 || nSkillID == 215810; + } + + INLINE bool KurianStuns() + { + return nSkillID == 114509 || nSkillID == 214509 || nSkillID == 115509 || nSkillID == 215509; + } + + INLINE bool KurianStunsNot() + { + return nSkillID == 194509 || nSkillID == 294509 || nSkillID == 195509 || nSkillID == 295509; + } + + INLINE bool ColdSkillsNot() + { + return nSkillID == 189642 || nSkillID == 190642 || nSkillID == 289642 || nSkillID == 290642 || nSkillID == 190672 || nSkillID == 290672; + } + + INLINE bool LightStunSkillsNot() + { + return nSkillID == 189742 || nSkillID == 190742 || nSkillID == 289742 || nSkillID == 290742 || nSkillID == 190772 || nSkillID == 290772 + || nSkillID == 187566 || nSkillID == 287566 || nSkillID == 188566 || nSkillID == 288566 + || nSkillID == 195810 || nSkillID == 295810;; + } + MagicInstance() : bOpcode(MAGIC_EFFECTING), nSkillID(0), pSkill(nullptr), + sCasterID(-1), sTargetID(-1), pSkillCaster(nullptr), pSkillTarget(nullptr), + bSendFail(true), bIsRecastingSavedMagic(false), bIsItemProc(false), bInstantCast(false), + bSkillSuccessful(true), nConsumeItem(0) + { + memset(&sData, 0, sizeof(sData)); + } + + void Run(); + + bool IsAvailable(); + SkillUseResult UserCanCast(); + SkillUseResult CheckSkillPrerequisites(); + + bool CheckType3Prerequisites(); + bool CheckType4Prerequisites(); + bool CheckType6Prerequisites(); + + bool ExecuteSkill(uint8 bType); + bool ExecuteType1(); + bool ExecuteType2(); + bool ExecuteType3(); + bool ExecuteType4(); + bool ExecuteType5(); + bool ExecuteType6(); + bool ExecuteType7(); + bool ExecuteType8(); + bool ExecuteType9(); + + void Type3Cancel(); + void Type4Cancel(); + void Type6Cancel(bool bForceRemoval = false); + void Type9Cancel(bool bRemoveFromMap = true); + void Type4Extend(); + + short GetMagicDamage(Unit *pTarget, int total_hit, int attribute); + int32 GetWeatherDamage(int32 damage, int attribute); + void ReflectDamage(int32 damage, Unit * pTarget); + void ConsumeItem(); + + void SendSkillToAI(); + void BuildSkillPacket(Packet & result, int16 sSkillCaster, int16 sSkillTarget, int8 opcode, uint32 nSkillID, int16 sData[7]); + void BuildAndSendSkillPacket(Unit * pUnit, bool bSendToRegion, int16 sSkillCaster, int16 sSkillTarget, int8 opcode, uint32 nSkillID, int16 sData[7]); + void SendSkill(bool bSendToRegion = true, Unit * pUnit = nullptr); + void SendSkillFailed(int16 sTargetID = -1); + void SendSkillNotEffect(); + void SendTransformationList(); +}; \ No newline at end of file diff --git a/server/GameServer/MagicProcess.cpp b/server/GameServer/MagicProcess.cpp new file mode 100644 index 0000000..09fd823 --- /dev/null +++ b/server/GameServer/MagicProcess.cpp @@ -0,0 +1,1356 @@ +#include "stdafx.h" +#include "MagicProcess.h" +#include "MagicInstance.h" +#include "Map.h" + + +#if defined(GAMESERVER) +# include "GameServerDlg.h" +# include "../shared/DateTime.h" +#else +# include "../AIServer/ServerDlg.h" +# include "../AIServer/User.h" +# include "../AIServer/Npc.h" +#endif + +#if defined(GAMESERVER) +void CMagicProcess::MagicPacket(Packet & pkt, Unit * pCaster /*= nullptr*/) +{ + if (g_pMain->m_IsMagicTableInUpdateProcess) + return; + + MagicInstance instance; + pkt >> instance.bOpcode >> instance.nSkillID; + + instance.pSkill = g_pMain->m_MagictableArray.GetData(instance.nSkillID); + if (instance.pSkill == nullptr) + { + if (pCaster != nullptr) + TRACE("[%s] Used skill %d but it does not exist.\n", pCaster->GetName().c_str(), instance.nSkillID); + + if (pCaster->isPlayer() && instance.nSkillID < 0) + { + DateTime time; + g_pMain->SendFormattedNotice("%s is currently disconnect for skill hack.",Nation::ALL, pCaster->GetName().c_str()); + g_pMain->WriteCheatLogFile(string_format("[ SkillHack - %d:%d:%d ] %s Disconnected for SkillHack.\n", time.GetHour(),time.GetMinute(),time.GetSecond(), pCaster->GetName().c_str())); + TO_USER(pCaster)->Disconnect(); + } + + return; + } + + pkt >> instance.sCasterID >> instance.sTargetID + >> instance.sData[0] >> instance.sData[1] >> instance.sData[2] >> instance.sData[3] + >> instance.sData[4] >> instance.sData[5] >> instance.sData[6]; + + // Prevent users from faking other players or NPCs. + if (pCaster != nullptr // if it's nullptr, it's from AI. + && (instance.sCasterID >= NPC_BAND + || instance.sCasterID != pCaster->GetID())) + return; + + instance.bIsRecastingSavedMagic = false; + instance.Run(); +} + +void CMagicProcess::UpdateAIServer(uint32 nSkillID, AISkillOpcode opcode, + Unit * pTarget, Unit * pCaster /*= nullptr*/, + bool bIsRecastingSavedMagic /*= false*/) +{ + Packet result(AG_MAGIC_ATTACK_REQ, uint8(opcode)); + int16 sCasterID = (pCaster == nullptr ? -1 : pCaster->GetID()), + sTargetID = (pTarget == nullptr ? -1 : pTarget->GetID()); + result << nSkillID << sCasterID << sTargetID << bIsRecastingSavedMagic; + g_pMain->Send_AIServer(&result); +} +#else +void CMagicProcess::MagicPacket(Packet & pkt, Unit * pCaster /*= nullptr*/) +{ + _MAGIC_TABLE * pSkill; + _MAGIC_TYPE4 * pType4; + Unit * pSkillCaster, * pSkillTarget; + uint32 nSkillID; + uint16 sCasterID, sTargetID; + uint8 bOpcode; + bool bIsRecastingSavedMagic; + + pkt >> bOpcode >> nSkillID >> sCasterID >> sTargetID >> bIsRecastingSavedMagic; + + pSkill = g_pMain->m_MagictableArray.GetData(nSkillID); + if (pSkill == nullptr) + return; + + pSkillCaster = g_pMain->GetUnitPtr(sCasterID); + pSkillTarget = g_pMain->GetUnitPtr(sTargetID); + + if (bOpcode == AISkillOpcodeBuff || bOpcode == AISkillOpcodeRemoveBuff) + { + pType4 = g_pMain->m_Magictype4Array.GetData(nSkillID); + if (pType4 == nullptr) + return; + } + + /*if(pSkillCaster != nullptr) + printf("Target : %s, pType4: %d\n",pSkillCaster->GetName().c_str(),pType4->bSpeed);*/ + + switch (bOpcode) + { + case AISkillOpcodeBuff: + if (pSkillCaster == nullptr || pSkillTarget == nullptr) + return; + + GrantType4Buff(pSkill, pType4, pSkillCaster, pSkillTarget, bIsRecastingSavedMagic); + break; + + case AISkillOpcodeRemoveBuff: + if (pSkillTarget == nullptr) + return; + + RemoveType4Buff(pType4->bBuffType, pSkillTarget); + break; + } + + /*if(pSkillCaster != nullptr) + printf("Target : %s, sAmount: %d\n",pSkillCaster->GetName().c_str(),pSkillTarget->m_bSpeedAmount);*/ + + +} +#endif + +// TODO: Clean this up (even using unit code...) +bool CMagicProcess::UserRegionCheck(Unit * pSkillCaster, Unit * pSkillTarget, _MAGIC_TABLE * pSkill, int radius, short mousex /*= 0*/, short mousez /*= 0*/) +{ + if (pSkillCaster->isDead() + || pSkillTarget == nullptr) + return false; + + switch (pSkill->bMoral) + { + case MORAL_PARTY_ALL: // Check that it's your party. + // NPCs cannot be in parties. + if (pSkillCaster->isNPC() + || pSkillTarget->isNPC()) + return false; + + if (!TO_USER(pSkillTarget)->isInParty()) + return (pSkillTarget == pSkillCaster); + + if (TO_USER(pSkillTarget)->GetPartyID() == TO_USER(pSkillCaster)->GetPartyID() + && pSkill->bType[0] != 8) + goto final_test; + else if (TO_USER(pSkillTarget)->GetPartyID() == TO_USER(pSkillCaster)->GetPartyID() + && pSkill->bType[0] == 8) + { + if (pSkillTarget->GetMap()->isWarZone() && (UNIXTIME - TO_USER(pSkillTarget)->m_tLastRegeneTime < CLAN_SUMMON_TIME)) + return false; + + goto final_test; + } + + break; + + // Nation alone cannot dictate whether a unit can attack another. + // As such, we must check behaviour specific to these entities. + // For example: same nation players attacking each other in an arena. + case MORAL_SELF_AREA: + case MORAL_AREA_ENEMY: + if (pSkillCaster->isHostileTo(pSkillTarget)) + goto final_test; + break; + + case MORAL_AREA_ALL: + if (pSkillCaster->isNPC() + || pSkillTarget->isNPC()) + return false; + + if ((TO_USER(pSkillCaster)->isInArena() + && TO_USER(pSkillTarget)->isInArena()) + || (TO_USER(pSkillCaster)->isInPartyArena() + && (TO_USER(pSkillCaster)->GetPartyID() != TO_USER(pSkillTarget)->GetPartyID() || TO_USER(pSkillCaster)->GetPartyID() == uint16(-1) || TO_USER(pSkillTarget)->GetPartyID() == uint16(-1)) + && TO_USER(pSkillTarget)->isInPartyArena()) + || (TO_USER(pSkillCaster)->isInPVPZone() + && TO_USER(pSkillTarget)->isInPVPZone()) + || (TO_USER(pSkillCaster)->isInTempleEventZone() + && TO_USER(pSkillTarget)->isInTempleEventZone())) + goto final_test; + + // Players cant attack other players in the safety area. + if (TO_USER(pSkillTarget)->isInSafetyArea()) + return false; + break; + + case MORAL_AREA_FRIEND: + if (!pSkillCaster->isHostileTo(pSkillTarget)) + goto final_test; + break; + + case MORAL_CLAN_ALL: + // NPCs cannot be in clans. + if (pSkillCaster->isNPC() + || pSkillTarget->isNPC()) + return false; + + if (!TO_USER(pSkillTarget)->isInClan()) + return (pSkillTarget == pSkillCaster); + + if (TO_USER(pSkillTarget)->GetClanID() == TO_USER(pSkillCaster)->GetClanID() + && pSkill->bType[0] != 8) + goto final_test; + else if (TO_USER(pSkillTarget)->GetClanID() == TO_USER(pSkillCaster)->GetClanID() + && pSkill->bType[0] == 8) + { + if (pSkillTarget->GetMap()->isWarZone() && (UNIXTIME - TO_USER(pSkillTarget)->m_tLastRegeneTime < CLAN_SUMMON_TIME)) + return false; + goto final_test; + } + break; + } + return false; + +final_test: + return (radius == 0 || pSkillTarget->isInRangeSlow(mousex, mousez, (float) radius)); +} + +#if defined(GAMESERVER) +void CMagicProcess::CheckExpiredType6Skills(Unit * pTarget) +{ + if (!pTarget->isPlayer() + || !TO_USER(pTarget)->isTransformed() + || (UNIXTIME - TO_USER(pTarget)->m_tTransformationStartTime) < TO_USER(pTarget)->m_sTransformationDuration) + return; + + MagicInstance instance; + instance.pSkillCaster = pTarget; + instance.Type6Cancel(); +} + +void CMagicProcess::CheckExpiredType9Skills(Unit * pTarget, bool bForceExpiration /*= false*/) +{ + if (!pTarget->isPlayer()) + return; + + Guard lock(pTarget->_unitlock); + Type9BuffMap & buffMap = pTarget->m_type9BuffMap; + + MagicInstance instance; + instance.pSkillCaster = pTarget; + + for (auto itr = buffMap.begin(); itr != buffMap.end();) + { + if (bForceExpiration || UNIXTIME >= itr->second.tEndTime) + { + // Cancel the skill, but don't remove it from the map. We'll do that. + instance.nSkillID = itr->second.nSkillID; + instance.Type9Cancel(false); + itr = buffMap.erase(itr); + } + else + { + ++itr; + } + } +} + +void CMagicProcess::RemoveStealth(Unit * pTarget, InvisibilityType bInvisibilityType) +{ + if (bInvisibilityType != INVIS_DISPEL_ON_MOVE + && bInvisibilityType != INVIS_DISPEL_ON_ATTACK) + return; + + Guard lock(pTarget->_unitlock); + Type9BuffMap & buffMap = pTarget->m_type9BuffMap; + MagicInstance instance; + + // Buff type is 1 for 'dispel on move' skills and 2 for 'dispel on attack' skills. + uint8 bType = (bInvisibilityType == INVIS_DISPEL_ON_MOVE ? 1 : 2); + + // If there's no such skill active on the user, no reason to remove it. + auto itr = buffMap.find(bType); + if (itr == buffMap.end()) + return; + + instance.pSkillCaster = pTarget; + instance.nSkillID = itr->second.nSkillID; + instance.Type9Cancel(); +} +#endif + +bool CMagicProcess::GrantType4Buff(_MAGIC_TABLE * pSkill, _MAGIC_TYPE4 *pType, Unit * pCaster, Unit *pTarget, bool bIsRecastingSavedMagic /*= false*/) +{ + // Buff mustn't already be added at this point. + Guard lock(pTarget->_unitlock); + if (pTarget->m_buffMap.find(pType->bBuffType) != pTarget->m_buffMap.end()) + return false; + + switch (pType->bBuffType) + { + case BUFF_TYPE_HP_MP: + if (pType->sMaxHP == 0 && pType->sMaxHPPct > 0) + pTarget->m_sMaxHPAmount = (pType->sMaxHPPct - 100) * (pTarget->GetMaxHealth() - pTarget->m_sMaxHPAmount) / 100; + else + pTarget->m_sMaxHPAmount = pType->sMaxHP; + + if (pType->sMaxMP == 0 && pType->sMaxMPPct > 0) + pTarget->m_sMaxMPAmount = (pType->sMaxMPPct - 100) * (pTarget->GetMaxMana() - pTarget->m_sMaxMPAmount) / 100; + else + pTarget->m_sMaxMPAmount = pType->sMaxMP; + break; + + case BUFF_TYPE_AC: + if (pType->sAC == 0 && pType->sACPct > 0) + pTarget->m_sACPercent += (pType->sACPct - 100); + else + pTarget->m_sACAmount += pType->sAC; + break; + + case BUFF_TYPE_SIZE: + if (pCaster->isPlayer()) + { + // Unfortunately there's no way to differentiate which does what. + // Officially it also resorts to checking the skill ID. + uint8 bEffect = ABNORMAL_NORMAL; + switch (pSkill->iNum) + { + case 490034: // Bezoar + bEffect = ABNORMAL_GIANT; + break; + + case 490401: // Maximize Scroll + bEffect = ABNORMAL_GIANT_TARGET; // NOTE: not sure why, but this is what it uses officially. + break; + + case 490035: // Rice cake + case 490100: // unknown, possibly intended to be "Minimize Scroll" + bEffect = ABNORMAL_DWARF; + break; + } + + if (bEffect != ABNORMAL_NORMAL) + pTarget->StateChangeServerDirect(3, bEffect); + } + break; + + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_ATTACK_SPEED: + pTarget->m_sAttackSpeedAmount += (pType->bAttackSpeed - 100); + break; + + case BUFF_TYPE_SPEED: + pTarget->m_bSpeedAmount = pType->bSpeed; + break; + + case BUFF_TYPE_BATTLE_CRY: + case BUFF_TYPE_STATS: + if (pTarget->isPlayer()) + { + TO_USER(pTarget)->SetStatBuff(STAT_STR, pType->bStr); + TO_USER(pTarget)->SetStatBuff(STAT_STA, pType->bSta); + TO_USER(pTarget)->SetStatBuff(STAT_DEX, pType->bDex); + TO_USER(pTarget)->SetStatBuff(STAT_INT, pType->bIntel); + TO_USER(pTarget)->SetStatBuff(STAT_CHA, pType->bCha); + } + break; + + case BUFF_TYPE_RESISTANCES: + pTarget->m_bAddFireR = pType->bFireR; + pTarget->m_bAddColdR = pType->bColdR; + pTarget->m_bAddLightningR = pType->bLightningR; + pTarget->m_bAddMagicR = pType->bMagicR; + pTarget->m_bAddDiseaseR = pType->bDiseaseR; + pTarget->m_bAddPoisonR = pType->bPoisonR; + break; + + case BUFF_TYPE_ACCURACY: + pTarget->m_bHitRateAmount = pType->bHitRate; + pTarget->m_sAvoidRateAmount = pType->sAvoidRate; + break; + + case BUFF_TYPE_MAGIC_POWER: + if (pTarget->isPlayer()) + pTarget->m_sMagicAttackAmount = (pType->bMagicAttack - 100) * TO_USER(pTarget)->GetStat(STAT_CHA) / 100; + break; + + case BUFF_TYPE_EXPERIENCE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_sExpGainAmount = (uint8) pType->sExpPct; + break; + + case BUFF_TYPE_FISHING: +#if defined(GAMESERVER) + if (pTarget->isPlayer() && pType->sSpecialAmount == 1) + TO_USER(pTarget)->DcFlash(); + //TO_USER(pTarget)->m_FlashDcBonus = (uint8) pType->sExpPct; + if (pTarget->isPlayer() && pType->sSpecialAmount == 2) + TO_USER(pTarget)->ExpFlash(); + //TO_USER(pTarget)->m_FlashExpBonus = (uint8) pType->sExpPct; + if (pTarget->isPlayer() && pType->sSpecialAmount == 3) + TO_USER(pTarget)->WarFlash(); + //TO_USER(pTarget)->m_FlashWarBonus = (uint8) pType->sExpPct; +#endif + break; + + case BUFF_TYPE_WEIGHT: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bMaxWeightAmount = (uint8) pType->sExpPct; + break; + + case BUFF_TYPE_WEAPON_DAMAGE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bAddWeaponDamage = uint8(pType->bAttack); + break; + + case BUFF_TYPE_WEAPON_AC: + if (pTarget->isPlayer()) + { + if (pType->sAC == 0 && pType->sACPct > 0) + TO_USER(pTarget)->m_bPctArmourAc += (pType->sACPct - 100); + else + TO_USER(pTarget)->m_sAddArmourAc += pType->sAC; + } + break; + + case BUFF_TYPE_LOYALTY: + if(pTarget->isPlayer()) + TO_USER(pTarget)->m_bNPGainAmount = (uint8) pType->sExpPct; + break; + + case BUFF_TYPE_NOAH_BONUS: + if(pTarget->isPlayer()) + TO_USER(pTarget)->m_bNoahGainAmount = (uint8) pType->sExpPct; + break; + + case BUFF_TYPE_PREMIUM_MERCHANT: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bPremiumMerchant = true; + break; + + case BUFF_TYPE_DAMAGE: + if (pTarget->isPlayer()) + pTarget->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_ATTACK_SPEED_ARMOR: + pTarget->m_sACAmount += pType->sAC; + pTarget->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_DAMAGE_DOUBLE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bPlayerAttackAmount = uint8(pType->bAttack); + break; + + case BUFF_TYPE_DISABLE_TARGETING: + pTarget->m_bIsBlinded = true; + break; + + case BUFF_TYPE_BLIND: + // The only skill that uses this buff type is "Blinding Strafe", which states: + // Description: Shoots an arrow that inflicts 400% damage and blinds the enemy. Does not apply to monsters. + // As such, we should not blind monsters. + if (pTarget->isPlayer()) + pTarget->m_bIsBlinded = true; + break; + + case BUFF_TYPE_FREEZE: + // Proportional to the target user's current HP. + pTarget->m_bBlockMagic = true; //Block Magical Attack Damage (But Effect Work) by Terry + TO_USER(pTarget)->BlinkStart(); + pTarget->m_bSpeedAmount = pType->bSpeed; + break; + + case BUFF_TYPE_INSTANT_MAGIC: + pTarget->m_bInstantCast = true; + break; + + case BUFF_TYPE_DECREASE_RESIST: + pTarget->m_bPctFireR = (100 - pType->bFireR); + pTarget->m_bPctColdR = (100 - pType->bColdR); + pTarget->m_bPctLightningR = (100 - pType->bLightningR); + pTarget->m_bPctMagicR = (100 - pType->bMagicR); + pTarget->m_bPctDiseaseR = (100 - pType->bDiseaseR); + pTarget->m_bPctPoisonR = (100 - pType->bPoisonR); + break; + + case BUFF_TYPE_MAGE_ARMOR: + pTarget->m_bReflectArmorType = (pSkill->sSkill % 100); + break; + + case BUFF_TYPE_PROHIBIT_INVIS: + pTarget->m_bCanStealth = false; + break; + + case BUFF_TYPE_RESIS_AND_MAGIC_DMG: // Elysian Web + pTarget->m_bMagicDamageReduction = (uint8) pType->sExpPct; + break; + + case BUFF_TYPE_TRIPLEAC_HALFSPEED: // Wall of Iron + switch (pSkill->iNum) + { + case 115820: + pTarget->m_sACPercent += (pType->sACPct - 100); + pTarget->m_bSpeedAmount = pTarget->m_bSpeedAmount / 2; + if (pTarget->m_bSpeedAmount == 0) + pTarget->m_bSpeedAmount = 1; + break; + case 215820: + pTarget->m_sACPercent += (pType->sACPct - 100); + pTarget->m_bSpeedAmount = pTarget->m_bSpeedAmount / 2; + if (pTarget->m_bSpeedAmount == 0) + pTarget->m_bSpeedAmount = 1; + break; + default: + pTarget->m_sACPercent += 300; // 300%, or 3x + pTarget->m_bSpeedAmount = pTarget->m_bSpeedAmount / 2; + if (pTarget->m_bSpeedAmount == 0) + pTarget->m_bSpeedAmount = 1; + } + break; + + case BUFF_TYPE_BLOCK_CURSE: // Counter Curse + pTarget->m_bBlockCurses = true; + break; + + case BUFF_TYPE_BLOCK_CURSE_REFLECT: // Curse Refraction + pTarget->m_bReflectCurses = true; + break; + + case BUFF_TYPE_MANA_ABSORB: // Outrage / Frenzy / Mana Shield + pTarget->m_bManaAbsorb = (uint8) pType->sExpPct; + pTarget->AbsorbCount = 4; + break; + + case BUFF_TYPE_VARIOUS_EFFECTS: //... whatever the event item grants. + // what is tweaked in the database: AC, Attack, MaxHP, resistances + // AC + if (pType->sAC == 0 && pType->sACPct > 100) + pTarget->m_sACPercent += (pType->sACPct - 100); + else if (pType->sAC > 0 && pType->sACPct == 100) + pTarget->m_sACAmount += pType->sAC; + + // Attack + if (pType->bAttack > 100) + pTarget->m_bAttackAmount += (pType->bAttack - 100); + + // NP Bonus + if (pTarget->isPlayer() && pType->sSpecialAmount > 0) + TO_USER(pTarget)->m_bSkillNPBonus += pType->sSpecialAmount; + break; + + case BUFF_TYPE_IGNORE_WEAPON: // Weapon cancellation + // Disarms the opponent. (rendering them unable to attack) +#if defined(GAMESERVER) + if (pTarget->isPlayer()) + { + CUser * pTUser = TO_USER(pTarget); + + pTUser->m_bWeaponsDisabled = true; + pTUser->UserLookChange(RIGHTHAND, 0, 0); + + _ITEM_TABLE * pLeftHand = pTUser->GetItemPrototype(LEFTHAND); + if (pLeftHand != nullptr && !pLeftHand->isShield()) + pTUser->UserLookChange(LEFTHAND, 0, 0); + } +#endif + break; + + case BUFF_TYPE_PASSION_OF_SOUL: // Passion of the Soul + // Increase pet's HP by 120 + break; + + case BUFF_TYPE_FIRM_DETERMINATION: // Firm Determination + // Increase pet's AC by 20 + break; + + case BUFF_TYPE_ATTACK_MAGIC_ATTACK: + pTarget->m_sMagicAttackAmount += (pType->bMagicAttack - 100); + pTarget->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_ATTACK_TIME: + pTarget->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_SPEED2: // Cold Wave +#if defined(GAMESERVER) // update the target data in the AI server. + TO_USER(pTarget)->m_bSpeedAmount = (pTarget->m_bSpeedAmount / 100 * pType->bSpeed); + TO_USER(pTarget)->m_bIceSpeedAmount = 100; +#elif defined(AI_SERVER) + TO_USER(pTarget)->m_bSpeedAmount = (pTarget->m_bSpeedAmount / 100 * pType->bSpeed); + TO_USER(pTarget)->m_bIceSpeedAmount = 100; +#endif + break; + + case BUFF_TYPE_UNK_EXPERIENCE: // unknown buff type, used for something relating to XP. + break; + + case BUFF_TYPE_ATTACK_RANGE_ARMOR: // Inevitable Murderous + pTarget->m_sACAmount += 100; + pTarget->m_bRadiusAmount = pType->bRadius; + break; + + case BUFF_TYPE_MIRROR_DAMAGE_PARTY: // Minak's Thorn + pTarget->m_bMirrorDamage = true; + pTarget->m_byMirrorAmount = (uint8) pType->sSpecialAmount; + break; + + case BUFF_TYPE_DAGGER_BOW_DEFENSE: // Eskrima + // Inflicts attacks as well as a bleeding curse on the enemy. Decreases 10% Dagger and Bow Defense of the enemy under the bleeding curse buff. + // NOTE: overwrite the percentage for now (nothing else uses it) + // Also: the amount is 20 in the database. Could be that it's divided by 2 (i.e. splitting it between dagger/bow), the skill description's inaccurate + // or the description roughly reflects the final damage after player damage reduction. For now, we'll just assume it's the latter. + pTarget->m_byDaggerRAmount += (uint8) (pType->sSpecialAmount / 2);// 10 + pTarget->m_byBowRAmount += (uint8) (pType->sSpecialAmount / 2); + break; + + case BUFF_TYPE_STUN: // Lighting Skill Stun + pTarget->m_bSpeedAmount = pType->bSpeed; + break; + case BUFF_TYPE_DEVIL_TRANSFORM: // Devil Transform + pTarget->m_bIsDevil = true; + pTarget->AbsorbedAmmount = 0; + pTarget->StateChangeServerDirect(12, 1); + break; + + case BUFF_TYPE_LOYALTY_AMOUNT: // Santa's Present (gives an extra +2NP per kill, unlike BUFF_TYPE_LOYALTY which uses an percent). + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bSkillNPBonus += 2; + break; + + case BUFF_TYPE_NO_RECALL: // prevents teleportation. + pTarget->m_bCanTeleport = false; + break; + + case BUFF_TYPE_REDUCE_TARGET: // "Reduction" (reduces target's stats, but enlarges their character to make them easier to attack) + // NOTE: Skill description says "Enlarge enemy, but decrease attack and defense rate by 5%" + // There's nothing else set in the client to give those stats, and AC's reduced by 15% according to the data... + // Just working with the TBL data for now (i.e. just the 15% AC reduction). + if (pTarget->isPlayer()) + { + pTarget->StateChangeServerDirect(3, ABNORMAL_GIANT_TARGET); + pTarget->m_sACPercent += (pType->sACPct - 100); + } + break; + + case BUFF_TYPE_SILENCE_TARGET: // Silences the target to prevent them from using any skills (or potions) + pTarget->m_bCanUseSkills = false; + break; + + case BUFF_TYPE_NO_POTIONS: // "No Potion" prevents target from using potions. + pTarget->m_bCanUsePotions = false; + break; + + case BUFF_TYPE_KAUL_TRANSFORMATION: // Transforms the target into a Kaul (a pig thing), preventing you from /town'ing or attacking, but increases defense. + if (pTarget->isPlayer()) + { + pTarget->m_bIsKaul = true; + pTarget->m_sACAmount += 500; + pTarget->StateChangeServerDirect(3, pType->iNum); + } + break; + + case BUFF_TYPE_UNDEAD: // User becomes undead, increasing defense but preventing the use of potions and converting all health received into damage. + pTarget->m_bIsUndead = true; + pTarget->m_sACPercent += (pType->sACPct - 100); + break; + + case BUFF_TYPE_UNSIGHT: // Blocks the caster's sight (not the target's). + pTarget->m_bIsBlinded = true; + break; + + case BUFF_TYPE_BLOCK_PHYSICAL_DAMAGE: // Blocks all physical damage. + pTarget->m_bBlockPhysical = true; + break; + + case BUFF_TYPE_BLOCK_MAGICAL_DAMAGE: // Blocks all magical/skill damage. + pTarget->m_bBlockMagic = true; + break; + + case BUFF_TYPE_UNK_POTION: // unknown potion, "Return of the Warrior", "Comeback potion", perhaps some sort of revive? + break; + + case BUFF_TYPE_SLEEP: // Zantman(Sandman), puts enemies to sleep. + break; + + case BUFF_TYPE_INVISIBILITY_POTION: // "Unidentified potion" + break; + + case BUFF_TYPE_GODS_BLESSING: // Increases your defense/max HP + break; + + case BUFF_TYPE_HELP_COMPENSATION: // Compensation for using the help system (to help, ask for help, both?) + break; + + case BUFF_TYPE_INC_CONTRIBUTION: + break; + + case BUFF_TYPE_IMIR_ROAR: + break; + + case BUFF_TYPE_LOGOS_HORNS: + break; + + case BUFF_TYPE_UNKNOW: + break; + + case BUFF_TYPE_DROP_RATE: + break; + + case BUFF_TYPE_MAMA_MAGPIE: + pTarget->StateChangeServerDirect(3, pType->iNum); + break; + + case BUFF_TYPE_ATTACK_AMMONUT2: + TO_USER(pTarget)->m_bAttackAmount += (pType->bAttack - 100); + break; + + case BUFF_TYPE_ARMORED: //Amored Skill Dark Knight Staff 300AC by Terry + pTarget->m_sACAmount += pType->sAC; + break; + + default: + return false; + } + +#if defined(GAMESERVER) // update the target data in the AI server. + UpdateAIServer(pSkill->iNum, AISkillOpcodeBuff, pCaster, pTarget, bIsRecastingSavedMagic); +#elif defined(AI_SERVER) // on the AI server's side, add the buff to the target's buff map. + _BUFF_TYPE4_INFO buffInfo; + buffInfo.m_nSkillID = pSkill->iNum; + pTarget->AddType4Buff(pType->bBuffType, buffInfo); +#endif + + return true; +} + +bool CMagicProcess::RemoveType4Buff(uint8 byBuffType, Unit *pTarget, bool bRemoveSavedMagic /*= true*/, bool bRecastSavedMagic /*= false*/) +{ + // Buff must be added at this point. If it doesn't exist, we can't remove it twice. + Guard lock(pTarget->m_buffLock); + auto itr = pTarget->m_buffMap.find(byBuffType); + if (itr == pTarget->m_buffMap.end()) + return false; + + _MAGIC_TABLE * pSkill = g_pMain->m_MagictableArray.GetData(itr->second.m_nSkillID); + if (pSkill == nullptr) + return false; + + //_MAGIC_TYPE4 * pType = g_pMain->m_Magictype4Array.GetData(pSkill->iNum); + _MAGIC_TYPE4 * pType = g_pMain->m_Magictype4Array.GetData(itr->second.m_nSkillID); //Missing remove Bufs - Fixed by Terry + + if (pType == nullptr || pTarget == nullptr) + return false; + + // If this buff persists across logout, it should be removed here too. + if (bRemoveSavedMagic + && pTarget->isPlayer() + && pTarget->HasSavedMagic(pSkill->iNum)) + TO_USER(pTarget)->RemoveSavedMagic(pSkill->iNum); + + if (itr->second.isBuff()) + pTarget->m_buffCount--; + + pTarget->m_buffMap.erase(itr); + + switch (byBuffType) + { + case BUFF_TYPE_HP_MP: + pTarget->m_sMaxHPAmount = 0; + pTarget->m_sMaxMPAmount = 0; + break; + + case BUFF_TYPE_AC: + if (pType->sAC == 0 && pType->sACPct > 0) + pTarget->m_sACPercent -= (pType->sACPct - 100); + else + pTarget->m_sACAmount -= pType->sAC; + break; + + case BUFF_TYPE_SIZE: + pTarget->StateChangeServerDirect(3, ABNORMAL_NORMAL); + break; + + case BUFF_TYPE_INC_CONTRIBUTION: + break; + + case BUFF_TYPE_IMIR_ROAR: + break; + + case BUFF_TYPE_LOGOS_HORNS: + break; + + case BUFF_TYPE_UNKNOW: + break; + + case BUFF_TYPE_DROP_RATE: + break; + + case BUFF_TYPE_MAMA_MAGPIE: + pTarget->StateChangeServerDirect(3, TO_USER(pTarget)->m_nOldAbnormalType); + break; + + case BUFF_TYPE_ARMORED: //Amored Skill, Dark Knight Staff 300-AC by Terry + pTarget->m_sACAmount -= pType->sAC; + break; + + case BUFF_TYPE_ATTACK_AMMONUT2: + if (pType->bAttack > 100) + TO_USER(pTarget)->m_bAttackAmount -= (pType->bAttack - 100); + else + TO_USER(pTarget)->m_bAttackAmount += (100 - pType->bAttack); + break; + + case BUFF_TYPE_DAMAGE: + pTarget->m_bAttackAmount -= (pType->bAttack - 100); + break; + + case BUFF_TYPE_ATTACK_SPEED: + pTarget->m_sAttackSpeedAmount -= (pType->bAttackSpeed - 100); + break; + + case BUFF_TYPE_SPEED: + pTarget->m_bSpeedAmount = 100; + break; + case BUFF_TYPE_BATTLE_CRY: + case BUFF_TYPE_STATS: + if (pTarget->isPlayer()) + { + TO_USER(pTarget)->RemoveStatBuff(STAT_STR, pType->bStr); + TO_USER(pTarget)->RemoveStatBuff(STAT_STA, pType->bSta); + TO_USER(pTarget)->RemoveStatBuff(STAT_DEX, pType->bDex); + TO_USER(pTarget)->RemoveStatBuff(STAT_INT, pType->bIntel); + TO_USER(pTarget)->RemoveStatBuff(STAT_CHA, pType->bCha); + } + break; + + case BUFF_TYPE_RESISTANCES: + pTarget->m_bAddFireR = 0; + pTarget->m_bAddColdR = 0; + pTarget->m_bAddLightningR = 0; + pTarget->m_bAddMagicR = 0; + pTarget->m_bAddDiseaseR = 0; + pTarget->m_bAddPoisonR = 0; + break; + + case BUFF_TYPE_ACCURACY: + pTarget->m_bHitRateAmount = 100; + pTarget->m_sAvoidRateAmount = 100; + break; + + case BUFF_TYPE_MAGIC_POWER: + pTarget->m_sMagicAttackAmount = 0; + break; + + case BUFF_TYPE_EXPERIENCE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_sExpGainAmount = 100; + break; + + case BUFF_TYPE_FISHING: + break; + + case BUFF_TYPE_WEIGHT: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bMaxWeightAmount = 100; + break; + + case BUFF_TYPE_WEAPON_DAMAGE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bAddWeaponDamage = 0; + break; + + case BUFF_TYPE_WEAPON_AC: + if (pType->sAC == 0 && pType->sACPct > 0) + TO_USER(pTarget)->m_bPctArmourAc -= (pType->sACPct - 100); + else + TO_USER(pTarget)->m_sAddArmourAc -= pType->sAC; + break; + + case BUFF_TYPE_LOYALTY: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bNPGainAmount = 100; + break; + + case BUFF_TYPE_NOAH_BONUS: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bNoahGainAmount = 100; + break; + + case BUFF_TYPE_PREMIUM_MERCHANT: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bPremiumMerchant = false; + break; + + case BUFF_TYPE_ATTACK_SPEED_ARMOR: + pTarget->m_sACAmount -= pType->sAC; + if (pType->bAttack > 100) + pTarget->m_bAttackAmount -= (pType->bAttack - 100); + else + pTarget->m_bAttackAmount -= pType->bAttack; + break; + + case BUFF_TYPE_DAMAGE_DOUBLE: + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bPlayerAttackAmount = 100; + break; + + case BUFF_TYPE_DISABLE_TARGETING: + pTarget->m_bIsBlinded = false; + break; + + case BUFF_TYPE_BLIND: + // Only players can be blinded (at least by the only skill - "Blinding Strafe" - that uses this type). + if (pTarget->isPlayer()) + { + pTarget->m_bIsBlinded = false; + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + } + break; + + case BUFF_TYPE_FREEZE: + // Proportional to the target user's current HP. + pTarget->m_bBlockMagic = false; // Remove Blockes Magical Damage - By Terry + pTarget->m_bSpeedAmount = 100; + break; + + case BUFF_TYPE_INSTANT_MAGIC: + pTarget->m_bInstantCast = false; + break; + + case BUFF_TYPE_DECREASE_RESIST: + pTarget->m_bPctFireR = 100; + pTarget->m_bPctColdR = 100; + pTarget->m_bPctLightningR = 100; + pTarget->m_bPctMagicR = 100; + pTarget->m_bPctDiseaseR = 100; + pTarget->m_bPctPoisonR = 100; + break; + + case BUFF_TYPE_MAGE_ARMOR: + pTarget->m_bReflectArmorType = 0; + break; + + case BUFF_TYPE_PROHIBIT_INVIS: + pTarget->m_bCanStealth = true; + break; + + case BUFF_TYPE_RESIS_AND_MAGIC_DMG: // Elysian Web + pTarget->m_bMagicDamageReduction = 100; + if(pTarget->isPlayer()) + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_POISON,USER_STATUS_CURE); + break; + + case BUFF_TYPE_TRIPLEAC_HALFSPEED: // Wall of Iron + switch (pSkill->iNum) + { + case 115820: + pTarget->m_sACPercent -= (pType->sACPct - 100); + pTarget->m_bSpeedAmount = 100; + break; + case 215820: + pTarget->m_sACPercent -= (pType->sACPct - 100); + pTarget->m_bSpeedAmount = 100; + break; + default: + pTarget->m_sACPercent -= 300; // 300%, or 3x + pTarget->m_bSpeedAmount = 100; + } + break; + + case BUFF_TYPE_BLOCK_CURSE: // Counter Curse + pTarget->m_bBlockCurses = false; + break; + + case BUFF_TYPE_BLOCK_CURSE_REFLECT: // Curse Refraction + pTarget->m_bReflectCurses = false; + break; + + case BUFF_TYPE_MANA_ABSORB: // Outrage / Frenzy / Mana Shield + pTarget->m_bManaAbsorb = 0; + pTarget->AbsorbCount = 0; + break; + + case BUFF_TYPE_IGNORE_WEAPON: // Weapon cancellation +#if defined(GAMESERVER) + if (pTarget->isPlayer()) + { + CUser * pTUser = TO_USER(pTarget); + _ITEM_DATA * pLeftItem, * pRightItem; + + _ITEM_TABLE * pLeftHand = pTUser->GetItemPrototype(LEFTHAND, pLeftItem), + * pRightHand = pTUser->GetItemPrototype(RIGHTHAND, pRightItem); + + pTUser->m_bWeaponsDisabled = false; + + if (pLeftHand != nullptr) + pTUser->UserLookChange(LEFTHAND, pLeftItem->nNum, pLeftItem->sDuration); + + if (pRightHand != nullptr) + pTUser->UserLookChange(RIGHTHAND, pRightItem->nNum, pRightItem->sDuration); + } +#endif + break; + + case BUFF_TYPE_VARIOUS_EFFECTS: //... whatever the event item grants. + // what is tweaked in the database: AC, Attack, MaxHP, resistances + // AC + if (pType->sAC == 0 && pType->sACPct > 100) + pTarget->m_sACPercent -= (pType->sACPct - 100); + else if (pType->sAC > 0 && pType->sACPct == 100) + pTarget->m_sACAmount -= pType->sAC; + + // Attack + if (pType->bAttack > 100) + pTarget->m_bAttackAmount -= (pType->bAttack - 100); + + // NP Bonus + if (pTarget->isPlayer() && pType->sSpecialAmount > 0) + TO_USER(pTarget)->m_bSkillNPBonus -= uint8(pType->sSpecialAmount); + break; + + case BUFF_TYPE_PASSION_OF_SOUL: // Passion of the Soul + // Increase pet's HP by 120 + break; + + case BUFF_TYPE_FIRM_DETERMINATION: // Firm Determination + // Increase pet's AC by 20 + break; + + case BUFF_TYPE_ATTACK_MAGIC_ATTACK: + pTarget->m_sMagicAttackAmount -= (pType->bMagicAttack - 100); + pTarget->m_bAttackAmount -= (pType->bAttack - 100); + break; + + case BUFF_TYPE_ATTACK_TIME: + pTarget->m_bAttackAmount -= (pType->bAttack - 100); + break; + + case BUFF_TYPE_SPEED2: // Cold Wave +#if defined(GAMESERVER) // update the target data in the AI server. + TO_USER(pTarget)->m_bSpeedAmount = 100; + TO_USER(pTarget)->m_bIceSpeedAmount = 0; +#elif defined(AI_SERVER) + TO_USER(pTarget)->m_bSpeedAmount = 100; + TO_USER(pTarget)->m_bIceSpeedAmount = 0; +#endif + break; + + case BUFF_TYPE_UNK_EXPERIENCE: // unknown buff type, used for something relating to XP. + break; + + case BUFF_TYPE_ATTACK_RANGE_ARMOR: // Inevitable Murderous + pTarget->m_sACAmount -= 100; + pTarget->m_bRadiusAmount = 0; + break; + + case BUFF_TYPE_MIRROR_DAMAGE_PARTY: // Minak's Thorn + pTarget->m_bMirrorDamage = false; + pTarget->m_byMirrorAmount = 0; + break; + + case BUFF_TYPE_DAGGER_BOW_DEFENSE: // Eskrima + // Inflicts attacks as well as a bleeding curse on the enemy. Decreases 10% Dagger and Bow Defense of the enemy under the bleeding curse buff. + pTarget->m_byDaggerRAmount -= (uint8) (pType->sSpecialAmount / 2); + pTarget->m_byBowRAmount -= (uint8) (pType->sSpecialAmount / 2); // note: overwrite the percentage for now (nothing else uses it) + break; + + case BUFF_TYPE_DEVIL_TRANSFORM: // Devil Transform + pTarget->m_bIsDevil = false; + pTarget->AbsorbedAmmount = 0; + pTarget->StateChangeServerDirect(12, 0); + break; + + case BUFF_TYPE_STUN : // Lighting Skill + pTarget->m_bSpeedAmount = 100; + break; + + case BUFF_TYPE_LOYALTY_AMOUNT: // Santa's Present (gives an extra +2NP per kill, unlike BUFF_TYPE_LOYALTY which uses an percent). + if (pTarget->isPlayer()) + TO_USER(pTarget)->m_bSkillNPBonus -= 2; + break; + + case BUFF_TYPE_NO_RECALL: // prevents teleportation. + pTarget->m_bCanTeleport = true; + break; + + case BUFF_TYPE_REDUCE_TARGET: // "Reduction" (reduces target's stats, but enlarges their character to make them easier to attack) + // NOTE: Skill description says "Enlarge enemy, but decrease attack and defense rate by 5%" + // There's nothing else set in the client to give those stats, and AC's reduced by 15% according to the data... + // Just working with the TBL data for now (i.e. just the 15% AC reduction). + if (pTarget->isPlayer()) + { + pTarget->StateChangeServerDirect(3, ABNORMAL_NORMAL); + pTarget->m_sACPercent -= (pType->sACPct - 100); + } + break; + + case BUFF_TYPE_SILENCE_TARGET: // Silences the target to prevent them from using any skills (or potions) + pTarget->m_bCanUseSkills = true; + break; + + case BUFF_TYPE_NO_POTIONS: // "No Potion" prevents target from using potions. + pTarget->m_bCanUsePotions = true; + break; + + case BUFF_TYPE_KAUL_TRANSFORMATION: // Transforms the target into a Kaul (a pig thing), preventing you from /town'ing or attacking, but increases defense. + if (pTarget->isPlayer()) + { + pTarget->m_bIsKaul = false; + pTarget->m_sACAmount -= 500; + pTarget->StateChangeServerDirect(3, TO_USER(pTarget)->m_nOldAbnormalType); + } + break; + + case BUFF_TYPE_UNDEAD: // User becomes undead, increasing defense but preventing the use of potions and converting all health received into damage. + pTarget->m_bIsUndead = false; + pTarget->m_sACPercent -= (pType->sACPct - 100); + break; + + case BUFF_TYPE_UNSIGHT: // Blocks the caster's sight (not the target's). + pTarget->m_bIsBlinded = false; + break; + + case BUFF_TYPE_BLOCK_PHYSICAL_DAMAGE: // Blocks all physical damage. + pTarget->m_bBlockPhysical = false; + break; + + case BUFF_TYPE_BLOCK_MAGICAL_DAMAGE: // Blocks all magical/skill damage. + pTarget->m_bBlockMagic = false; + break; + + case BUFF_TYPE_UNK_POTION: // unknown potion, "Return of the Warrior", "Comeback potion", perhaps some sort of revive? + break; + + case BUFF_TYPE_SLEEP: // Zantman(Sandman), puts enemies to sleep. + break; + + case BUFF_TYPE_INVISIBILITY_POTION: // "Unidentified potion" + break; + + case BUFF_TYPE_GODS_BLESSING: // Increases your defense/max HP + break; + + case BUFF_TYPE_HELP_COMPENSATION: // Compensation for using the help system (to help, ask for help, both?) + break; + + default: + return false; + } + + if (pTarget->isPlayer()) + { + if (pSkill->bMoral >= MORAL_ENEMY) + { + if (byBuffType == BUFF_TYPE_SPEED || byBuffType == BUFF_TYPE_SPEED2) + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_SPEED, USER_STATUS_CURE); + } + + TO_USER(pTarget)->SetUserAbility(); + + + + if (bRemoveSavedMagic) + { + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + result << byBuffType; + TO_USER(pTarget)->Send(&result); + } + } + +#if defined(GAMESERVER) // update the target data in the AI server. + + if (bRecastSavedMagic && TO_USER(pTarget)->isLockableScroll(pType->bBuffType)) + { + TO_USER(pTarget)->SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + TO_USER(pTarget)->RecastLockableScrolls(pType->bBuffType); + } + + UpdateAIServer(pType->iNum, AISkillOpcodeRemoveBuff, pTarget); +#endif + + return true; +} + +/** +* @brief Test if the specified skill is a buff +* or a debuff. +* +* @param pSkill The specified skill. +* +* @return true if skill is a buff, false if debuff. +*/ +bool CMagicProcess::IsBuff(_MAGIC_TYPE4 * pType) +{ + switch (pType->bBuffType) + { + case BUFF_TYPE_NONE: // used by things like firecrackers. + return true; + + case BUFF_TYPE_HP_MP: + if (pType->sMaxHP > 0 + || pType->sMaxMP > 0) + return true; + + // If either the max HP percent or max MP percent are less than 100% + // it is a debuff we are dealing with, not a buff. + return (pType->sMaxHPPct >= 100 && pType->sMaxMPPct >= 100); + + case BUFF_TYPE_AC: + if (pType->sAC == 0 && pType->sACPct > 0) + return pType->sACPct >= 100; + else + return pType->sAC >= 0; + + // Size changes (via Bezoars, Rice cakes, etc) + // are buffs. + case BUFF_TYPE_SIZE: + return true; + + case BUFF_TYPE_DAMAGE: + return pType->bAttack >= 100; + + case BUFF_TYPE_ATTACK_SPEED: + return pType->bAttackSpeed >= 100; + + case BUFF_TYPE_SPEED: + return pType->bSpeed >= 100; + + // If any of the stats are below 0, it's a debuff. + case BUFF_TYPE_BATTLE_CRY: + case BUFF_TYPE_STATS: + return !(pType->bStr < 0 || pType->bSta < 0 || pType->bDex < 0 || pType->bIntel < 0 || pType->bCha < 0); + + // There are no skills that negatively affect resistances, so it will always be a buff. + case BUFF_TYPE_RESISTANCES: + return true; + + case BUFF_TYPE_ACCURACY: + return (pType->bHitRate >= 100 && pType->sAvoidRate >= 100); + + case BUFF_TYPE_MAGIC_POWER: + return pType->bMagicAttack >= 100; + + case BUFF_TYPE_EXPERIENCE: + case BUFF_TYPE_WEIGHT: + return true; + + case BUFF_TYPE_WEAPON_DAMAGE: + return pType->bAttack > 0; + + case BUFF_TYPE_WEAPON_AC: + if (pType->sAC == 0 && pType->sACPct > 0) + return pType->sACPct >= 100; + else + return pType->sAC > 0; + + case BUFF_TYPE_LOYALTY: + case BUFF_TYPE_NOAH_BONUS: + case BUFF_TYPE_PREMIUM_MERCHANT: + case BUFF_TYPE_ATTACK_SPEED_ARMOR: // only used by "Berserk Echo", which is a buff. + case BUFF_TYPE_DAMAGE_DOUBLE: + return true; + + case BUFF_TYPE_DISABLE_TARGETING: + case BUFF_TYPE_BLIND: + case BUFF_TYPE_FREEZE: + return false; + + case BUFF_TYPE_INSTANT_MAGIC: + return true; + + case BUFF_TYPE_DECREASE_RESIST: + return false; + + case BUFF_TYPE_DEVIL_TRANSFORM: + case BUFF_TYPE_MAGE_ARMOR: + case BUFF_TYPE_PROHIBIT_INVIS: + case BUFF_TYPE_RESIS_AND_MAGIC_DMG: // Elysian Web + case BUFF_TYPE_TRIPLEAC_HALFSPEED: // Wall of Iron + case BUFF_TYPE_BLOCK_CURSE: // Counter Curse + case BUFF_TYPE_BLOCK_CURSE_REFLECT: // Curse Refraction + case BUFF_TYPE_MANA_ABSORB: // Outrage / Frenzy / Mana Shield + case BUFF_TYPE_ARMORED: + return true; + + case BUFF_TYPE_IMIR_ROAR: + case BUFF_TYPE_LOGOS_HORNS: + case BUFF_TYPE_MAMA_MAGPIE: + case BUFF_TYPE_ATTACK_AMMONUT2: + return true; + + case BUFF_TYPE_IGNORE_WEAPON: // Weapon cancellation + // Disarms the opponent. (rendering them unable to attack) + return false; + + case BUFF_TYPE_VARIOUS_EFFECTS: //... whatever the event item grants. + return true; // everything seems positive, however it might be prudent to have this check. + + case BUFF_TYPE_PASSION_OF_SOUL: // Passion of the Soul + case BUFF_TYPE_FIRM_DETERMINATION: // Firm Determination + case BUFF_TYPE_ATTACK_MAGIC_ATTACK: + case BUFF_TYPE_ATTACK_TIME: + return true; + + case BUFF_TYPE_SPEED2: // Cold Wave + // skill explicitly slows + return false; + + case BUFF_TYPE_UNK_EXPERIENCE: //unknown buff type, used for something relating to XP. + return true; + + case BUFF_TYPE_ATTACK_RANGE_ARMOR: // Inevitable Murderous + case BUFF_TYPE_MIRROR_DAMAGE_PARTY: // Minak's Thorn + return true; + + case BUFF_TYPE_DAGGER_BOW_DEFENSE: // Eskrima + return false; + + case BUFF_TYPE_STUN: // Lighting Skill Stun + case BUFF_TYPE_DRAKEY: + case BUFF_TYPE_SPEED3: + case BUFF_TYPE_GM_BUFF: + return false; + + case BUFF_TYPE_UNKNOW: // unknown, assume debuff for now. + case BUFF_TYPE_DROP_RATE: + case BUFF_TYPE_INC_CONTRIBUTION: + return false; + + case BUFF_TYPE_LOYALTY_AMOUNT: // Santa's Present (gives an extra +2NP per kill). + return true; + + case BUFF_TYPE_NO_RECALL: // prevents teleportation. + case BUFF_TYPE_REDUCE_TARGET: // "Reduction" (reduces target's stats, but enlarges their character to make them easier to attack) + case BUFF_TYPE_SILENCE_TARGET: // Silences the target to prevent them from using any skills (or potions) + case BUFF_TYPE_NO_POTIONS: // "No Potion" prevents target from using potions. + case BUFF_TYPE_KAUL_TRANSFORMATION: // Transforms the target into a Kaul (a pig thing), preventing you from /town'ing or attacking, but increases defense. + return false; + + case BUFF_TYPE_UNDEAD: // User becomes undead, increasing defense but preventing the use of potions and converting all health received into damage. + case BUFF_TYPE_UNSIGHT: // Blocks the caster's sight (not the target's). + return false; + + case BUFF_TYPE_BLOCK_PHYSICAL_DAMAGE: // Blocks all physical damage. + case BUFF_TYPE_BLOCK_MAGICAL_DAMAGE: // Blocks all magical/skill damage. + case BUFF_TYPE_UNK_POTION: // unknown potion, "Return of the Warrior", "Comeback potion", perhaps some sort of revive? + return true; + + case BUFF_TYPE_SLEEP: // Zantman(Sandman), puts enemies to sleep. + return false; + + case BUFF_TYPE_INVISIBILITY_POTION: // "Unidentified potion", it debuffs, but hides in the interest of the user. Needs to be a buff. + case BUFF_TYPE_GODS_BLESSING: // Increases your defense/max HP + case BUFF_TYPE_HELP_COMPENSATION: // Compensation for using the help system (to help, ask for help, both?) + return true; + + // TODO: Identify and name these. + case BUFF_TYPE_FISHING: // DC/War/Exp Flash - grants additional NP/XP + return true; + + } + + printf("WARNING: Unhandled buff type (%d) for skill %d, assuming it's a debuff.\n", pType->bBuffType, pType->iNum); + return false; +} diff --git a/server/GameServer/MagicProcess.h b/server/GameServer/MagicProcess.h new file mode 100644 index 0000000..220b8d9 --- /dev/null +++ b/server/GameServer/MagicProcess.h @@ -0,0 +1,20 @@ +#pragma once + +class Packet; +class Unit; +struct _MAGIC_TABLE; +struct _MAGIC_TYPE4; + +class CMagicProcess +{ +public: + static void MagicPacket(Packet & pkt, Unit * pCaster = nullptr); + static void UpdateAIServer(uint32 nSkillID, AISkillOpcode opcode, Unit * pTarget, Unit * pCaster = nullptr, bool bIsRecastingSavedMagic = false); + static void CheckExpiredType6Skills(Unit * pTarget); + static void CheckExpiredType9Skills(Unit * pTarget, bool bForceExpiration = false); + static void RemoveStealth(Unit * pTarget, InvisibilityType bInvisibilityType); + static bool UserRegionCheck(Unit * pSkillCaster, Unit * pSkillTarget, _MAGIC_TABLE * pSkill, int radius, short mousex = 0, short mousez = 0); + static bool GrantType4Buff(_MAGIC_TABLE * pSkill, _MAGIC_TYPE4 *pType, Unit * pCaster, Unit *pTarget, bool bIsRecastingSavedMagic = false); + static bool RemoveType4Buff(uint8 byBuffType, Unit *pTarget, bool bRemoveSavedMagic = true, bool bRecastSavedMagic = false); + static bool IsBuff(_MAGIC_TYPE4 * pType); +}; \ No newline at end of file diff --git a/server/GameServer/Map.cpp b/server/GameServer/Map.cpp new file mode 100644 index 0000000..99ab221 --- /dev/null +++ b/server/GameServer/Map.cpp @@ -0,0 +1,207 @@ +#include "stdafx.h" +#include "Map.h" +#include +#include "../shared/SMDFile.h" + +/* passthru methods */ +int C3DMap::GetXRegionMax() { return m_smdFile->GetXRegionMax(); } +int C3DMap::GetZRegionMax() { return m_smdFile->GetZRegionMax(); } +bool C3DMap::IsValidPosition(float x, float z, float y) { return m_smdFile->IsValidPosition(x, z, y); } +_REGENE_EVENT * C3DMap::GetRegeneEvent(int objectindex) { return m_smdFile->GetRegeneEvent(objectindex); } +_WARP_INFO * C3DMap::GetWarp(int warpID) { return m_smdFile->GetWarp(warpID); } +void C3DMap::GetWarpList(int warpGroup, std::set<_WARP_INFO *> & warpEntries) { m_smdFile->GetWarpList(warpGroup, warpEntries); } + +C3DMap::C3DMap() : m_smdFile(nullptr), m_ppRegion(nullptr), + m_nZoneNumber(0), m_sMaxUser(150), m_wBundle(1) +{ +} + +bool C3DMap::Initialize(_ZONE_INFO *pZone) +{ + m_nServerNo = pZone->m_nServerNo; + m_nZoneNumber = pZone->m_nZoneNumber; + m_fInitX = pZone->m_fInitX; + m_fInitY = pZone->m_fInitY; + m_fInitZ = pZone->m_fInitZ; + + m_smdFile = SMDFile::Load(pZone->m_MapName, true /* load warps & regene events */); + + if (m_smdFile != nullptr) + { + SetZoneAttributes(m_nZoneNumber); + m_ppRegion = new CRegion*[m_smdFile->m_nXRegion]; + for (int i = 0; i < m_smdFile->m_nXRegion; i++) + m_ppRegion[i] = new CRegion[m_smdFile->m_nZRegion]; + } + + return (m_smdFile != nullptr); +} + +CRegion * C3DMap::GetRegion(uint16 regionX, uint16 regionZ) +{ + if (regionX > GetXRegionMax() + || regionZ > GetZRegionMax()) + return nullptr; + + Guard lock(m_lock); + return &m_ppRegion[regionX][regionZ]; +} + +bool C3DMap::RegionItemAdd(uint16 rx, uint16 rz, _LOOT_BUNDLE * pBundle) +{ + if (pBundle == nullptr) + return false; + + Guard lock(m_lock); + pBundle->nBundleID = m_wBundle++; + + std::vector willdelete; + foreach_stlmap_nolock(itr,m_RegionItemArray) + { + _LOOT_BUNDLE *Loot = itr->second; + if(uint32(Loot->tDropTime + DROP_MAX_TIME) < uint32(UNIXTIME)) + willdelete.push_back(Loot->nBundleID); + } + + foreach(itr,willdelete) + m_RegionItemArray.DeleteData(*itr); + + + m_RegionItemArray.PutData(pBundle->nBundleID, pBundle); + if (m_wBundle == UINT16_MAX) + m_wBundle = 1; + + return true; +} + +/** +* @brief Removes an item from a region's bundle. +* If the bundle's empty, the bundle is then +* removed from the region. +* +* @param pRegion The region. +* @param pBundle The bundle. +* @param pItem The item being removed from the bundle. +*/ +void C3DMap::RegionItemRemove(_LOOT_BUNDLE * pBundle, _LOOT_ITEM * pItem) +{ + if (pBundle == nullptr + || pItem == nullptr) + return; + + Guard lock(m_RegionItemArray.m_lock); + + // If the bundle exists, and the item matches what the user's removing + // we can remove this item from the bundle. + for(int i = 0; i < NPC_HAVE_ITEM_LIST;i++) + { + _LOOT_ITEM * pLoot = &pBundle->Items[i]; + if (pLoot == pItem) + { + memset(pLoot, 0, sizeof(_LOOT_ITEM)); + pBundle->ItemsCount--; + // If this was the last item in the bundle, remove the bundle from the region. + if (pBundle->ItemsCount) + return; + + m_RegionItemArray.DeleteData(pBundle->nBundleID); + return; + } + } +} + +bool C3DMap::CheckEvent(float x, float z, CUser* pUser) +{ + if (pUser == nullptr) + return false; + + CGameEvent *pEvent; + + int event_index = m_smdFile->GetEventID((int)(x / m_smdFile->GetUnitDistance()), (int)(z / m_smdFile->GetUnitDistance())); + if (event_index < 2) + { + if (g_pMain->m_byBattleOpen == NATION_BATTLE && pUser->GetMap()->isWarZone() && g_pMain->m_byBattleZoneType == 0) + { + pEvent = m_EventArray.GetData(1010 + (pUser->GetNation() == ELMORAD ? 1 : 2)); + + if (pEvent != nullptr) + { + if ((x > pEvent->m_iCond[0] && x < pEvent->m_iCond[1]) && (z > pEvent->m_iCond[2] && z < pEvent->m_iCond[3])) + pUser->ZoneChange(pEvent->m_iExec[0],(float)pEvent->m_iExec[1],(float)pEvent->m_iExec[2]); + else + { + pEvent = m_EventArray.GetData(1010 + pUser->GetNation()); + + if (pEvent != nullptr) + { + if ((x > pEvent->m_iCond[0] && x < pEvent->m_iCond[1]) && (z > pEvent->m_iCond[2] && z < pEvent->m_iCond[3])) + if (g_pMain->m_bVictory == pUser->GetNation()) + pUser->ZoneChange(pEvent->m_iExec[0],(float)pEvent->m_iExec[1],(float)pEvent->m_iExec[2]); + } + } + } + + return false; + } + else + return false; + } + + if ( g_pMain->m_byBattleOpen == NATION_BATTLE && + pUser->GetZoneID() != ZONE_KARUS_ESLANT && + pUser->GetZoneID() != ZONE_ELMORAD_ESLANT ) + event_index += g_pMain->m_byBattleZone -1; + + if ( g_pMain->m_byBattleOpen == SNOW_BATTLE && + pUser->GetZoneID() != ZONE_KARUS_ESLANT && + pUser->GetZoneID() != ZONE_ELMORAD_ESLANT ) + event_index += g_pMain->m_byBattleZone +10; + + pEvent = m_EventArray.GetData( event_index ); + if (pEvent == nullptr) + return false; + + if (pEvent->m_bType == 1 && (pEvent->m_iExec[0] > ZONE_BATTLE_BASE && pEvent->m_iExec[0] <= ZONE_BATTLE6) && g_pMain->m_byBattleOpen != NATION_BATTLE ) + return false; + else if (pEvent->m_bType == 1 && pEvent->m_iExec[0] == ZONE_SNOW_BATTLE && g_pMain->m_byBattleOpen != SNOW_BATTLE ) + return false; + else if (pEvent->m_iExec[0] > ZONE_BATTLE_BASE && pEvent->m_iExec[0] <= ZONE_BATTLE6) + { + + + if (g_pMain->m_byBattleZoneType == ZONE_ARDREAM && (pUser->GetLevel() < MIN_LEVEL_NIEDS_TRIANGLE || pUser->GetLevel() > MAX_LEVEL_NIEDS_TRIANGLE || !pUser->CanLevelQualify(MAX_LEVEL_NIEDS_TRIANGLE))) + return false; + } + + pEvent->RunEvent(pUser); + return true; +} + +_OBJECT_EVENT * C3DMap::GetObjectEvent(int objectindex) +{ + foreach_stlmap_nolock(itr, g_pMain->m_ObjectEventArray) + { + if (itr->second->sZoneID == m_nZoneNumber + && itr->second->sIndex == objectindex) + return itr->second; + } + + return nullptr; +} + +C3DMap::~C3DMap() +{ + m_EventArray.DeleteAllData(); + + if (m_ppRegion != nullptr) + { + for (int i = 0; i <= GetXRegionMax(); i++) + delete [] m_ppRegion[i]; + + delete [] m_ppRegion; + m_ppRegion = nullptr; + } + + if (m_smdFile != nullptr) + m_smdFile->DecRef(); +} \ No newline at end of file diff --git a/server/GameServer/Map.h b/server/GameServer/Map.h new file mode 100644 index 0000000..cd0c332 --- /dev/null +++ b/server/GameServer/Map.h @@ -0,0 +1,79 @@ +#pragma once + +#include "Region.h" +#include "GameEvent.h" +#include "../shared/STLMap.h" + +class CGameEvent; +typedef CSTLMap EventArray; + +class CUser; +class CGameServerDlg; +class SMDFile; +class C3DMap +{ +public: + ZoneItemArray m_RegionItemArray; + // Passthru methods + int GetXRegionMax(); + int GetZRegionMax(); + bool IsValidPosition(float x, float z, float y); + _OBJECT_EVENT * GetObjectEvent(int objectindex); + _REGENE_EVENT * GetRegeneEvent(int objectindex); + _WARP_INFO * GetWarp(int warpID); + void GetWarpList(int warpGroup, std::set<_WARP_INFO *> & warpEntries); + + C3DMap(); + bool Initialize(_ZONE_INFO *pZone); + CRegion * GetRegion(uint16 regionX, uint16 regionZ); + bool CheckEvent( float x, float z, CUser* pUser = nullptr ); + void RegionItemRemove(_LOOT_BUNDLE * pBundle, _LOOT_ITEM * pItem); + bool RegionItemAdd(uint16 rx, uint16 rz, _LOOT_BUNDLE * pBundle); + virtual ~C3DMap(); + + EventArray m_EventArray; + + int m_nServerNo, m_nZoneNumber; + float m_fInitX, m_fInitZ, m_fInitY; + short m_sMaxUser; + + CRegion** m_ppRegion; + + uint32 m_wBundle; // Zone Item Max Count + + SMDFile *m_smdFile; + std::recursive_mutex m_lock; + + INLINE uint16 GetID() { return m_nZoneNumber; } + + /* the following should all be duplicated to AI server's map class for now */ + + INLINE bool canTradeWithOtherNation() { return (m_zoneFlags & ZF_TRADE_OTHER_NATION) != 0; } + INLINE bool canTalkToOtherNation() { return (m_zoneFlags & ZF_TALK_OTHER_NATION) != 0; } + INLINE bool canAttackOtherNation() { return (m_zoneFlags & ZF_ATTACK_OTHER_NATION) != 0; } + INLINE bool canAttackSameNation() { return (m_zoneFlags & ZF_ATTACK_SAME_NATION) != 0; } + INLINE bool isWarZone() { + if (this==nullptr) + return false; + + return (m_zoneFlags & ZF_WAR_ZONE) != 0; + } + INLINE bool isNationPVPZone() { return canAttackOtherNation() && !canAttackSameNation(); } + INLINE bool areNPCsFriendly() { return (m_zoneFlags & ZF_FRIENDLY_NPCS) != 0; } + INLINE bool canUpdateClan() { return (m_zoneFlags & ZF_CLAN_UPDATE) != 0; } + + INLINE uint8 GetZoneType() { return m_zoneType; } + INLINE uint8 GetTariff() { return m_byTariff; } + INLINE void SetTariff(uint8 tariff) { m_byTariff = tariff; } + + INLINE uint8 GetMinLevelReq() { return m_byMinLevel; } + INLINE uint8 GetMaxLevelReq() { return m_byMaxLevel; } + +protected: + void SetZoneAttributes(int zoneNumber); + + ZoneAbilityType m_zoneType; + uint16 m_zoneFlags; + uint8 m_byTariff; + uint8 m_byMinLevel, m_byMaxLevel; +}; \ No newline at end of file diff --git a/server/GameServer/MerchantHandler.cpp b/server/GameServer/MerchantHandler.cpp new file mode 100644 index 0000000..0949907 --- /dev/null +++ b/server/GameServer/MerchantHandler.cpp @@ -0,0 +1,1175 @@ +#include "stdafx.h" +#include + +using std::string; + +enum MerchantOpenResponseCodes +{ + MERCHANT_OPEN_SUCCESS = 1, + MERCHANT_OPEN_NO_SESSION = -1, + MERCHANT_OPEN_DEAD = -2, + MERCHANT_OPEN_TRADING = -3, + MERCHANT_OPEN_MERCHANTING = -4, + MERCHANT_OPEN_INVALID_ZONE = -5, + MERCHANT_OPEN_SHOPPING = -6, + MERCHANT_OPEN_UNDERLEVELED = 30 +}; + +void CUser::MerchantProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + + if (isTrading() + || isStoreOpen() + || isDead()) + CancelMerchant(); + + switch (opcode) + { + // Regular merchants + case MERCHANT_OPEN: + MerchantOpen(); + break; + + case MERCHANT_CLOSE: + MerchantClose(); + break; + + case MERCHANT_ITEM_ADD: + MerchantItemAdd(pkt); + break; + + case MERCHANT_ITEM_CANCEL: + MerchantItemCancel(pkt); + break; + + case MERCHANT_ITEM_LIST: + MerchantItemList(pkt); + break; + + case MERCHANT_ITEM_BUY: + MerchantItemBuy(pkt); + break; + + case MERCHANT_INSERT: + MerchantInsert(pkt); + break; + + case MERCHANT_TRADE_CANCEL: + CancelMerchant(); + break; + + // Buying merchants + case MERCHANT_BUY_OPEN: + BuyingMerchantOpen(pkt); + break; + + case MERCHANT_BUY_CLOSE: + BuyingMerchantClose(); + break; + + case MERCHANT_BUY_LIST: + BuyingMerchantList(pkt); + break; + + case MERCHANT_BUY_INSERT: + BuyingMerchantInsert(pkt); + break; + + case MERCHANT_BUY_BUY: // seeya! + BuyingMerchantBuy(pkt); + break; + + case MERCHANT_MENISIA_LIST: + OfficialList(pkt); + break; + } + + +} + +void CUser::MerchantOpen() +{ + int16 errorCode = 0; + if (isDead()) + errorCode = MERCHANT_OPEN_DEAD; + else if (isStoreOpen()) + errorCode = MERCHANT_OPEN_SHOPPING; + else if (isTrading()) + errorCode = MERCHANT_OPEN_TRADING; + else if (GetZoneID() != ZONE_MORADON + || isMining()) + errorCode = MERCHANT_OPEN_INVALID_ZONE; + else if (GetLevel() < 20) + errorCode = MERCHANT_OPEN_UNDERLEVELED; + else if (isBuyingMerchant()){ + BuyingMerchantClose(); + return; + }else if(uint32(m_bLastMerchantTime+55) > uint32(UNIXTIME)) + errorCode = MERCHANT_OPEN_TRADING; + else if (isMerchanting() || m_bMerchantStatex) + errorCode = MERCHANT_OPEN_MERCHANTING; + else + { + errorCode = MERCHANT_OPEN_SUCCESS; + m_bMerchantStatex = 1; + m_bLastMerchantTime = uint32(UNIXTIME); + } + + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_OPEN)); + result << errorCode; + Send(&result); + + // If we're already merchanting, user may be desynced + // so we need to close our current merchant first. + if (errorCode == MERCHANT_OPEN_MERCHANTING) + { + MerchantClose(); + } +} + +void CUser::MerchantClose() +{ + GiveMerchantItems(); // Give back to the user that which hasn't been sold, if any. + + m_bMerchantState = MERCHANT_STATE_NONE; + + m_bMerchantStatex = 0; + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_CLOSE)); + result << GetSocketID(); + SendToRegion(&result,nullptr,GetEventRoom()); + + string errorMessage = string_format(_T("MERCHANT_CLOSE uId-%s- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteMerchantUserLogFile(errorMessage); + + _MERCHANT_LIST * pList = g_pMain->m_MerchantListArray.GetData(GetID()); + if(!pList) + return; + else + g_pMain->m_MerchantListArray.DeleteData(GetID()); +} + +void CUser::MerchantItemAdd(Packet & pkt) +{ + Packet result(WIZ_MERCHANT, uint8(MERCHANT_ITEM_ADD)); + uint32 nGold, nItemID; + uint16 sCount; + uint16 bResult = 0; + uint8 bSrcPos, // It sends the "actual" inventory slot (SLOT_MAX -> INVENTORY_MAX-SLOT_MAX), so need to allow for it. + bDstPos, + bMode; // Might be a flag for normal / "premium" merchant mode, once skills are implemented take another look at this. + + pkt >> nItemID >> sCount >> nGold >> bSrcPos >> bDstPos >> bMode; + + // TODO: Implement the possible error codes for these various error cases. + if (bSrcPos >= HAVE_MAX + || bDstPos >= MAX_MERCH_ITEMS + || !m_bMerchantStatex + || isMerchanting()) + return; + + bSrcPos += SLOT_MAX; + _ITEM_DATA *pSrcItem = GetItem(bSrcPos); + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr) + return; + + if ((nItemID >= ITEM_NO_TRADE && nItemID < ITEM_NO_TRADE_MAX) // Cannot be traded, sold or stored. + || pTable->m_bRace == RACE_UNTRADEABLE) // Cannot be traded or sold. + goto fail_return; + + if (pSrcItem == nullptr) + return; + + if (pSrcItem->nNum != nItemID + || pSrcItem->sCount < sCount + || pSrcItem->isRented() + || pSrcItem->isSealed() + || pSrcItem->isBound() + || pSrcItem->nExpirationTime != 0 + || pSrcItem->isDuplicate()) + goto fail_return; + + _MERCH_DATA *pMerch = &m_arSellMerchantItems[bDstPos]; + + if(pMerch == nullptr) + return; + + if (pSrcItem->IsSelling) + goto fail_return; + + pMerch->nNum = nItemID; + pMerch->nPrice = nGold; + pMerch->sCount = sCount; // Selling Count + pMerch->bCount = pSrcItem->sCount; // Original Count ( INVENTORY ) + pMerch->sDuration = pSrcItem->sDuration; + pMerch->nSerialNum = pSrcItem->nSerialNum; // NOTE: Stackable items will have an issue with this. + pMerch->bOriginalSlot = bSrcPos; + pMerch->IsSoldOut = false; + pSrcItem->IsSelling = true; + bResult = 1; + // Take the user's item. + //memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + + result << bResult + << nItemID << sCount << pMerch->sDuration << nGold + << bSrcPos << bDstPos; + Send(&result); + +fail_return: + result << bResult + << nItemID + << sCount + << pSrcItem->sDuration + << nGold + << bSrcPos + << bDstPos; + Send(&result); +} +void CUser::MerchantItemCancel(Packet & pkt) +{ + Packet result(WIZ_MERCHANT, uint8(MERCHANT_ITEM_CANCEL)); + _MERCH_DATA *pMerch = nullptr; + _ITEM_DATA *pItem = nullptr; + + if(isMerchanting() || !m_bMerchantStatex) + return; + + uint8 bSrcPos = pkt.read(); + + /* if (this == nullptr) + result << int16(-1);*/ + // Invalid source position + if (bSrcPos >= MAX_MERCH_ITEMS) + result << int16(-2); + // There's no item in that list..? + else if ((pMerch = &m_arSellMerchantItems[bSrcPos])->nNum == 0) + result << int16(-3); + // Check to make sure we've got a valid stack + else if (pMerch->bOriginalSlot > HAVE_MAX || (pItem = &m_sItemArray[pMerch->bOriginalSlot])->nNum != pMerch->nNum) + result << int16(-3); // custom error + else + { + pItem->nNum = pMerch->nNum; + pItem->sCount = pMerch->bCount; + pItem->sDuration = pMerch->sDuration; + pItem->IsSelling = false; + pItem->nSerialNum = pMerch->nSerialNum; // NOTE: Stackable items will have an issue with this. + + + + string errorMessage = string_format(_T("MERCHANT_ITEM_CANCEL uId-%s- %d,%d,%d"), + GetName().c_str(), pMerch->nNum, pMerch->bCount, pMerch->sDuration); + g_pMain->WriteMerchantUserLogFile(errorMessage); + + memset(pMerch, 0, sizeof(pMerch)); + result << int16(1) << bSrcPos; + + + } + + Send(&result); +} + +void CUser::MerchantItemList(Packet & pkt) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (m_sMerchantsSocketID >= 0) + RemoveFromMerchantLookers(); //This check should never be hit... + + uint16 uid = pkt.read(); + + if(uid == GetID()) + return; + + CUser *pMerchant = g_pMain->GetUserPtr(uid); + CBot *pMerchantBot = g_pMain->m_arBotArray.GetData(uid); + if ((pMerchant == nullptr + || !pMerchant->isMerchanting()) + && (pMerchantBot == nullptr || !pMerchantBot->isMerchanting()) + || pMerchant->m_bMerchantState != MERCHANT_STATE_SELLING) + return; + + m_sMerchantsSocketID = uid; + + if(pMerchant != nullptr) + { + if (pMerchant->m_arMerchantLookers.size() != 0) { + Packet result(WIZ_MERCHANT, uint8(35)); + result << uint8(7); + Send(&result); + return; + } + + pMerchant->m_arMerchantLookers.push_front(GetSocketID()); + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_ITEM_LIST)); + result << uint16(1) << uint16(uid); + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + _MERCH_DATA *pMerch = &pMerchant->m_arSellMerchantItems[i]; + result << pMerch->nNum << pMerch->sCount + << pMerch->sDuration << pMerch->nPrice; + pMerchant->SetMerchantSpecialItemData(pMerch,result); + } + Send(&result); + } + else if(pMerchantBot != nullptr) + { + if (pMerchantBot->m_arMerchantLookers.size() != 0) { + Packet result(WIZ_MERCHANT, uint8(35)); + result << uint8(7); + Send(&result); + return; + } + pMerchantBot->m_arMerchantLookers.push_front(GetSocketID()); + Packet result(WIZ_MERCHANT, uint8(MERCHANT_ITEM_LIST)); + result << uint16(1) << uint16(uid); + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + _MERCH_DATA *pMerch = &pMerchantBot->m_arSellMerchantItems[i]; + result << pMerch->nNum << pMerch->sCount + << pMerch->sDuration << pMerch->nPrice << uint32(0); + } + Send(&result); + } +} + +void CUser::MerchantItemBuy(Packet & pkt) +{ + uint32 itemid, req_gold; + uint16 item_count, leftover_count; + uint8 item_slot, dest_slot; + + CUser *pMerchant = g_pMain->GetUserPtr(m_sMerchantsSocketID), + *pUser = g_pMain->GetUserPtr(GetID()); + CBot *pMerchantBot = g_pMain->m_arBotArray.GetData(m_sMerchantsSocketID); + if (pMerchant == nullptr && pMerchantBot == nullptr) + return; + + pkt >> itemid >> item_count >> item_slot >> dest_slot; + + // Make sure the slots are correct and that we're actually buying at least 1 item. + if (item_slot >= MAX_MERCH_ITEMS + || dest_slot >= HAVE_MAX + || item_count == 0) + return; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + + _MERCH_DATA *pMerch; + // Grab pointers to the items. + if(m_sMerchantsSocketID > MAX_USER) + pMerch = &pMerchantBot->m_arSellMerchantItems[item_slot]; + else + pMerch = &pMerchant->m_arSellMerchantItems[item_slot]; + + _ITEM_DATA *pItem = GetItem(SLOT_MAX + dest_slot); + _ITEM_DATA *pItemRob; + if(m_sMerchantsSocketID < MAX_USER) + pItemRob = &pMerchant->m_sItemArray[pMerch->bOriginalSlot]; + + + + // Make sure the merchant actually has that item in that slot + // and that they have enough + if (pMerch->nNum != itemid + || pMerch->sCount < item_count) + return; + + // If it's not stackable, and we're specifying something other than 1 + // we really don't care to handle this request... + _ITEM_TABLE *proto = g_pMain->GetItemPtr(itemid); + if (proto == nullptr + || !proto->m_bCountable && item_count != 1) + return; + + // Do we have enough coins? + req_gold = pMerch->nPrice * item_count; + if (m_iGold < req_gold) + return; + + // If the slot's not empty + if (pItem->nNum != 0 + // and we already have an item that isn't the same item + // or it's the same item but the item's not stackable... + && (pItem->nNum != itemid || !proto->m_bCountable)) + return; + + leftover_count = pMerch->sCount - item_count; + if(m_sMerchantsSocketID < MAX_USER) + pMerchant->GoldChange(GetSocketID(), req_gold); + else + GoldLose(req_gold); + pItem->nNum = itemid; + pItem->sCount += item_count; + pItem->sDuration = pMerch->sDuration; + pItem->nSerialNum = pMerch->nSerialNum; + + string errorMessage = string_format(_T("MERCHANT_ITEM_BUY buyerId-%s- sellerId-%s- Gold-%d- I-%d-, C-%d-"), + GetName().c_str(),m_sMerchantsSocketID < MAX_USER ? pMerchant->GetName().c_str() : pMerchantBot->GetName().c_str(), req_gold, itemid, item_count); + g_pMain->WriteMerchantUserLogFile(errorMessage); + + pMerch->sCount -= item_count; + pMerch->bCount -= item_count; + + + if (pMerch->sCount == 0 && pMerch->bCount == 0 && m_sMerchantsSocketID < MAX_USER) + memset(pItemRob, 0, sizeof(_ITEM_DATA)); + else if(m_sMerchantsSocketID < MAX_USER) + pItemRob->sCount = pMerch->sCount; + + SendStackChangeSpecial(itemid, pItem->sCount, pItem->sDuration, dest_slot, + (pItem->sCount == item_count),0,pItem); // is it a new item? + + if(m_sMerchantsSocketID < MAX_USER) + pMerchant->SendStackChange(itemid, pMerch->bCount, pMerch->sDuration, + pMerch->bOriginalSlot- SLOT_MAX); + + if (pMerch->sCount == 0 && pMerch->bCount == 0) + memset(pMerch, 0, sizeof(_MERCH_DATA)); + else if (pMerch->sCount == 0) // Countable item protect. + pMerch->IsSoldOut = true; + + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_ITEM_PURCHASED)); + if(m_sMerchantsSocketID < MAX_USER) + { + result << itemid << GetName(); + pMerchant->Send(&result); + } + result.clear(); + + result << uint8(MERCHANT_ITEM_BUY) << uint16(1) + << itemid << leftover_count + << item_slot << dest_slot; + + Send(&result); + + if (item_slot < 4 && leftover_count == 0) + { + result.Initialize(WIZ_MERCHANT_INOUT); + result << uint8(2) << m_sMerchantsSocketID << uint8(1) << uint8(0) << item_slot; + if(m_sMerchantsSocketID < MAX_USER) + pMerchant->SendToRegion(&result,nullptr,pMerchant->GetEventRoom()); + else + pMerchantBot->SendToRegion(&result); + } + + if(m_sMerchantsSocketID < MAX_USER) + g_pMain->MerchantUserInOutForMe(pMerchant); + + g_pMain->MerchantUserInOutForMe(pUser); + + int nItemsRemaining = 0; + if(m_sMerchantsSocketID < MAX_USER) + { + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + if (pMerchant->m_arSellMerchantItems[i].nNum != 0 && !pMerchant->m_arSellMerchantItems[i].IsSoldOut) + nItemsRemaining++; + } + + if (nItemsRemaining == 0) + pMerchant->MerchantClose(); + } + else + { + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + if (pMerchantBot->m_arSellMerchantItems[i].nNum != 0 && !pMerchantBot->m_arSellMerchantItems[i].IsSoldOut) + nItemsRemaining++; + } + + if (nItemsRemaining == 0) + { + pMerchantBot->LastWarpTime = UNIXTIME + 60; + + pMerchantBot->m_bMerchantState = MERCHANT_STATE_NONE; + pMerchantBot->m_bMerchantStatex = 0; + + Packet result35(WIZ_MERCHANT, uint8(MERCHANT_CLOSE)); + result35 << pMerchantBot->GetID(); + pMerchantBot->SendToRegion(&result35); + } + } +} + +void CUser::MerchantInsert(Packet & pkt) +{ + string advertMessage; // check here maybe to make sure they're not using it otherwise? + pkt >> advertMessage; + uint16 bResult = 0; + if (advertMessage.size() > MAX_MERCH_MESSAGE) + return; + + uint8 Count = 0, ListCount = 0, i = 1, TotalCount = 0; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || !m_bMerchantStatex) + return; + + uint8 MerchantItemleri = 0; + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + if (m_arSellMerchantItems[i].nNum != 0) + MerchantItemleri++; + } + + if (MerchantItemleri == 0) + return; + + m_bMerchantState = MERCHANT_STATE_SELLING; + bResult = 1; + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_INSERT)); + + if(isGM()) + { + CBot * myBot = nullptr; + uint16 ID = g_pMain->SpawnBot(3600,GetZoneID(),GetX(),GetY(),GetZ(),5,35); + if(ID) + { + myBot = g_pMain->m_arBotArray.GetData(ID); + if(myBot == nullptr) + return; + + std::string asdasd = advertMessage; + + if(!asdasd.empty()) + myBot->MerchantChat = string_format("%s(Location:%d,%d)",asdasd.c_str(),myBot->GetSPosX()/10,myBot->GetSPosZ()/10); + else + myBot->MerchantChat.clear(); + + + myBot->m_iLoyalty = uint32(UNIXTIME) - 110; + _MERCH_DATA * pMerch, * pMerchMe; + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + pMerch = &myBot->m_arSellMerchantItems[i]; + pMerchMe = &m_arSellMerchantItems[i]; + pMerch->nNum = pMerchMe->nNum; + pMerch->nPrice = pMerchMe->nPrice; + pMerch->sCount = pMerchMe->sCount; // Selling Count + pMerch->bCount = pMerchMe->bCount; // Original Count ( INVENTORY ) + pMerch->sDuration = pMerchMe->sDuration; + pMerch->nSerialNum = pMerchMe->nSerialNum; // NOTE: Stackable items will have an issue with this. + pMerch->bOriginalSlot = pMerchMe->bOriginalSlot; + pMerch->IsSoldOut = false; + bResult = 1; + + } + MerchantClose(); + myBot->m_bPremiumMerchant = m_bPremiumMerchant; + myBot->m_bMerchantState = MERCHANT_STATE_SELLING; + + result << bResult << advertMessage << myBot->GetID() + << m_bPremiumMerchant; + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + result << myBot->m_arSellMerchantItems[i].nNum; + + if(bResult == 1) + { + _MERCHANT_LIST * pList = new _MERCHANT_LIST; + + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + + pList->ItemID[i] = myBot->m_arSellMerchantItems[i].nNum; + pList->Price[i] = myBot->m_arSellMerchantItems[i].nPrice; + pList->strUserID = myBot->GetID(); + pList->strUserName = myBot->m_strUserID; + pList->Type = 0; + + } + + g_pMain->m_MerchantListArray.PutData(pList->strUserID, pList); + } + myBot->SendToRegion(&result); + return; + } + } + + if(bResult == 1) + { + _MERCHANT_LIST * pList = new _MERCHANT_LIST; + + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + + pList->ItemID[i] = m_arSellMerchantItems[i].nNum; + pList->Price[i] = m_arSellMerchantItems[i].nPrice; + pList->strUserID = GetID(); + pList->strUserName = m_strUserID; + pList->Type = 0; + + } + + g_pMain->m_MerchantListArray.PutData(pList->strUserID, pList); + } + result << bResult << advertMessage << GetSocketID() + << m_bPremiumMerchant; + + string errorMessage = string_format(_T("MERCHANT_INSERT Msg-%s- uId-%s- %d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d"), + advertMessage.c_str(),GetName().c_str(),m_arSellMerchantItems[0].nNum,m_arSellMerchantItems[1].nNum,m_arSellMerchantItems[2].nNum,m_arSellMerchantItems[3].nNum, + m_arSellMerchantItems[4].nNum,m_arSellMerchantItems[5].nNum,m_arSellMerchantItems[6].nNum,m_arSellMerchantItems[7].nNum,m_arSellMerchantItems[8].nNum,m_arSellMerchantItems[9].nNum, + m_arSellMerchantItems[10].nNum,m_arSellMerchantItems[11].nNum); + + g_pMain->WriteMerchantUserLogFile(errorMessage); + + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + result << m_arSellMerchantItems[i].nNum; + + SendToRegion(&result,nullptr,GetEventRoom()); +} + +void CUser::GiveMerchantItems() +{ + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + _MERCH_DATA *pMerch = &m_arSellMerchantItems[i]; + if (pMerch->nNum == 0) + continue; + + _ITEM_DATA *pItem = &m_sItemArray[pMerch->bOriginalSlot]; + pItem->nNum = pMerch->nNum; + pItem->nSerialNum = pMerch->nSerialNum; + pItem->sCount = pMerch->bCount; + pItem->sDuration = pMerch->sDuration; + pItem->IsSelling = false; + // NOTE: Don't need to update the client, the client doesn't see any change. + } + + // remove the items from the array now that they've been restored to the user + memset(&m_arSellMerchantItems, 0, sizeof(m_arSellMerchantItems)); +} + +void CUser::CancelMerchant() +{ + if (m_sMerchantsSocketID < 0) + return; + CUser *pMerchant = g_pMain->GetUserPtr(GetID()); + if(pMerchant == nullptr) + return; + RemoveFromMerchantLookers(); + memset(&m_arSellMerchantItems, 0, sizeof(m_arSellMerchantItems)); + Packet result(WIZ_MERCHANT, uint8(MERCHANT_TRADE_CANCEL)); + result << uint16(1); + Send(&result); + + +} + +void CUser::BuyingMerchantOpen(Packet & pkt) +{ + int16 errorCode = 0; + if (isDead()) + errorCode = MERCHANT_OPEN_DEAD; + else if (isStoreOpen()) + errorCode = MERCHANT_OPEN_SHOPPING; + else if (isTrading()) + errorCode = MERCHANT_OPEN_TRADING; + else if ((GetZoneID() != ZONE_MORADON && GetZoneID() != ZONE_MORADONM2) || isMining()) + errorCode = MERCHANT_OPEN_INVALID_ZONE; + else if (GetLevel() < 20) + errorCode = MERCHANT_OPEN_UNDERLEVELED; + else if (isMerchanting() || m_bMerchantStatex) + errorCode = MERCHANT_OPEN_MERCHANTING; + else if(uint32(m_bLastMerchantTime+55) > uint32(UNIXTIME)) + errorCode = MERCHANT_OPEN_TRADING; + else { + errorCode = MERCHANT_OPEN_SUCCESS; + m_bMerchantStatex = 1; + m_bLastMerchantTime = uint32(UNIXTIME); + } + memset(&m_arBuyMerchantItems, 0, sizeof(m_arBuyMerchantItems)); + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_OPEN)); + result << errorCode; + Send(&result); + + if (errorCode == MERCHANT_OPEN_MERCHANTING) + BuyingMerchantClose(); +} + +void CUser::BuyingMerchantClose() +{ + + if (isMerchanting() && !isBuyingMerchant()){ + MerchantClose(); + return; + } + if (isMerchanting()) + m_bMerchantState = MERCHANT_STATE_NONE; + else if (m_sMerchantsSocketID >= 0) + RemoveFromMerchantLookers(); + else + return; + + m_bMerchantStatex = 0; + memset(&m_arBuyMerchantItems, 0, sizeof(m_arBuyMerchantItems)); + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_CLOSE)); + result << GetSocketID(); + SendToRegion(&result,nullptr,GetEventRoom()); + + _MERCHANT_LIST * pList = g_pMain->m_MerchantListArray.GetData(GetID()); + if(!pList) + return; + else + g_pMain->m_MerchantListArray.DeleteData(GetID()); +} + +void CUser::BuyingMerchantInsert(Packet & pkt) +{ + uint8 amount_of_items; + uint32 itemid, buying_price; + uint32 totalamount = 0; + uint16 item_count; + _ITEM_TABLE *pItem = nullptr; + uint8 bResult = 0; + + pkt >> amount_of_items; + + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || !m_bMerchantStatex) + return; + + uint8 MerchantItemleri = 0; + + + + for (int i = 0; i < amount_of_items; i++) + { + pkt >> itemid >> item_count >> buying_price; + pItem = g_pMain->m_ItemtableArray.GetData(itemid); + if (pItem == nullptr){ + BuyingMerchantClose(); + return; + } + m_arBuyMerchantItems[i].nNum = itemid; + m_arBuyMerchantItems[i].sCount = item_count; + m_arBuyMerchantItems[i].nPrice = buying_price; + m_arBuyMerchantItems[i].sDuration = pItem->m_sDuration; + totalamount += buying_price; + MerchantItemleri++; + + } + + if (MerchantItemleri == 0) + return; + + if (!hasCoins(totalamount)) + return; + + m_bMerchantState = MERCHANT_STATE_BUYING; + bResult = 1; + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_INSERT)); + result << bResult; + Send(&result); + + if(bResult == 1) + { + _MERCHANT_LIST * pList = new _MERCHANT_LIST; + + for (int i = 0; i < amount_of_items; i++) + { + + pList->ItemID[i] = m_arBuyMerchantItems[i].nNum; + pList->Price[i] = m_arBuyMerchantItems[i].nPrice; + pList->strUserID = GetID(); + pList->strUserName = m_strUserID; + pList->Type = 1; + + } + + g_pMain->m_MerchantListArray.PutData(pList->strUserID, pList); + } + BuyingMerchantInsertRegion(); +} + +void CUser::BuyingMerchantInsertRegion() +{ + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_REGION_INSERT)); + result << GetSocketID(); + + for (int i = 0; i < 4; i++) + { + result << m_arBuyMerchantItems[i].nNum; + } + + SendToRegion(&result,nullptr,GetEventRoom()); +} + +void CUser::BuyingMerchantList(Packet & pkt) +{ + if (m_sMerchantsSocketID >= 0) + RemoveFromMerchantLookers(); //This check should never be hit... + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + uint16 uid = pkt.read(); + + if(uid == GetID()) + return; + + CUser *pMerchant = g_pMain->GetUserPtr(uid); + if (pMerchant == nullptr + || !pMerchant->isMerchanting() + || pMerchant->m_bMerchantState != MERCHANT_STATE_BUYING) + return; + + m_sMerchantsSocketID = uid; + + if (pMerchant->m_arMerchantLookers.size() != 0) { + Packet result(WIZ_MERCHANT, uint8(35)); + result << uint8(7); + Send(&result); + return; + } + + pMerchant->m_arMerchantLookers.push_front(GetSocketID()); + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_LIST)); + result << uint8(1) << uint16(uid); + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + _MERCH_DATA *pMerch = &pMerchant->m_arBuyMerchantItems[i]; + result << pMerch->nNum << pMerch->sCount + << pMerch->sDuration << pMerch->nPrice; + } + Send(&result); +} + +void CUser::BuyingMerchantBuy(Packet & pkt) +{ + uint32 nPrice; + uint16 sStackSize, sRemainingStackSize; + uint8 bSellerSrcSlot, bMerchantListSlot; + + CUser *pMerchant = g_pMain->GetUserPtr(m_sMerchantsSocketID); + if (pMerchant == nullptr) + return; + + pkt >> bSellerSrcSlot >> bMerchantListSlot >> sStackSize; + + if (bSellerSrcSlot >= HAVE_MAX + || bMerchantListSlot >= MAX_MERCH_ITEMS) + return; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + _MERCH_DATA *pWantedItem = &pMerchant->m_arBuyMerchantItems[bMerchantListSlot]; + _ITEM_DATA *pSellerItem = GetItem(SLOT_MAX + bSellerSrcSlot); + + // Make sure the merchant actually has that item in that slot + // and that they want enough, and the selling user has enough + if (pWantedItem == nullptr + || pSellerItem == nullptr + || pWantedItem->nNum != pSellerItem->nNum + || pWantedItem->sCount < sStackSize + || pSellerItem->sCount < sStackSize + || pSellerItem->nExpirationTime > 0 + // For scrolls, this will ensure you can only sell a full stack of scrolls. + // For everything else, this will ensure you cannot sell items that need repair. + || pSellerItem->sDuration != pWantedItem->sDuration + || pSellerItem->isDuplicate() + || sStackSize <= 0) + return; + + // If it's not stackable, and we're specifying something other than 1 + // we really don't care to handle this request... + _ITEM_TABLE *proto = g_pMain->GetItemPtr(pWantedItem->nNum); + if (proto == nullptr + || !proto->m_bCountable && sStackSize != 1) + return; + + + // Do they have enough coins? + nPrice = pWantedItem->nPrice * sStackSize; + if (!pMerchant->hasCoins(nPrice)) + return; + + // Now find the buyer a home for their item + int8 bDstPos = pMerchant->FindSlotForItem(pWantedItem->nNum, sStackSize); + if (bDstPos < 0) + return; + + _ITEM_DATA *pMerchantItem = pMerchant->GetItem(bDstPos); + + // Take coins off the buying merchant + if (!pMerchant->GoldLose(nPrice)) + return; + + // and give them all to me, me, me! + GoldGain(nPrice); + + // Get the remaining stack size after purchase. + sRemainingStackSize = pSellerItem->sCount - sStackSize; + + // Now we give the buying merchant their wares. + pMerchantItem->nNum = pSellerItem->nNum; + pMerchantItem->sDuration = pSellerItem->sDuration; + pSellerItem->sCount -= sStackSize; + pMerchantItem->sCount += sStackSize; + + // Update how many items the buyer still needs. + pWantedItem->sCount -= sStackSize; + + // If the buyer needs no more, remove this item from the wanted list. + if (pWantedItem->sCount == 0) + memset(pWantedItem, 0, sizeof(_MERCH_DATA)); + + // If the seller's all out, remove their item. + if (pSellerItem->sCount == 0) + memset(pSellerItem, 0, sizeof(_ITEM_DATA)); + + // TODO : Proper checks for the removal of the items in the array, we're now assuming everything gets bought + + // Update players + SendStackChange(pSellerItem->nNum, pSellerItem->sCount, pSellerItem->sDuration, bSellerSrcSlot); + pMerchant->SendStackChange(pMerchantItem->nNum, pMerchantItem->sCount, pMerchantItem->sDuration, bDstPos - SLOT_MAX, + pMerchantItem->sCount == sStackSize); // if the buying merchant only has what they wanted, it's a new item. + // (otherwise it was a stackable item that was merged into an existing slot) + + Packet result(WIZ_MERCHANT, uint8(MERCHANT_BUY_BOUGHT)); + result << bMerchantListSlot << uint16(0) << GetName(); + pMerchant->Send(&result); + + result.clear(); + result << uint8(MERCHANT_BUY_SOLD) << uint8(1) << bMerchantListSlot << pWantedItem->sCount << bSellerSrcSlot << pSellerItem->sCount; + Send(&result); + + result.clear(); + result << uint8(MERCHANT_BUY_BUY) << uint8(1); + Send(&result); + + + if (bMerchantListSlot < 4 && pWantedItem->sCount == 0) + { + result.Initialize(WIZ_MERCHANT_INOUT); + result << uint8(2) << m_sMerchantsSocketID << uint8(1) << uint8(0) << bMerchantListSlot; + pMerchant->SendToRegion(&result,nullptr,pMerchant->GetEventRoom()); + } + + int nItemsRemaining = 0; + for (int i = 0; i < MAX_MERCH_ITEMS; i++) + { + if (pMerchant->m_arBuyMerchantItems[i].nNum != 0) + nItemsRemaining++; + } + + if (nItemsRemaining == 0) + pMerchant->BuyingMerchantClose(); + +} + +void CUser::RemoveFromMerchantLookers() +{ + CUser *pPreviousMerchantUser = g_pMain->GetUserPtr(m_sMerchantsSocketID); + + CBot *pPreviousMerchantBot = g_pMain->m_arBotArray.GetData(m_sMerchantsSocketID); + if (pPreviousMerchantUser == nullptr && pPreviousMerchantBot == nullptr) + return; + if ( m_sMerchantsSocketID < MAX_USER) + pPreviousMerchantUser->m_arMerchantLookers.remove(GetSocketID()); + else + pPreviousMerchantBot->m_arMerchantLookers.remove(GetSocketID()); + m_sMerchantsSocketID = -1; +} + +void CUser::OfficialList(Packet & pkt) +{ + if (GetZoneID() < ZONE_MORADON || GetZoneID() > ZONE_MORADONM2) + { + Packet result(WIZ_MERCHANT, uint8(MERCHANT_MENISIA_LIST)); + result << uint8(1) << uint8(0) << uint8(3); + Send(&result); + return; + } + + uint8 opcode = pkt.read(); + + switch (opcode) + { + case 1: + ListSend(pkt); + break; + + case 2: + ListMoveProcess(pkt); + break; + } +} + +void CUser::ListSend(Packet & pkt) +{ + uint32 RecvItemID = pkt.read(); + + if (RecvItemID != ITEM_MENICIAS_LIST) + return; + + if (CheckExistItem(RecvItemID)) + { + uint8 nCount = 0; + + Packet result(WIZ_MERCHANT,uint8(MERCHANT_MENISIA_LIST)); + result << uint8(0x01) << uint8(0x01) << nCount; + Send(&result); + + int16 nSize = g_pMain->m_MerchantListArray.GetSize(); + + if(nSize == 0) + { + uint8 nCount = 0; + Packet result2(WIZ_MERCHANT,uint8(MERCHANT_MENISIA_LIST)); + result2 << uint8(0x01) << uint8(0x02) << nCount; + Send(&result2); + return; + } + + while (nSize > 0) + { + nCount++; + result.clear(); + + result << uint8(MERCHANT_MENISIA_LIST) << uint8(1) << uint8(2) << nCount; + + if(nSize > 50) + result << uint8(50); + else + result << uint8(nSize); + + result.SByte(); + + foreach_stlmap(itr, g_pMain->m_MerchantListArray) + { + result << itr->second->strUserID << itr->second->strUserName << itr->second->Type; + + for(int i = 0; i < 12; i++) + { + if(itr->second->ItemID[i] == 3452816845) + result << uint32(0) << uint32(0); + else + { + result << itr->second->ItemID[i] << itr->second->Price[i]; + } + } + } + Send(&result); + nSize = nSize - 50; + } + } + else + { + Packet result(WIZ_MERCHANT,uint8(MERCHANT_MENISIA_LIST)); + result << uint8(0x01) << uint8(0x00) << uint8(0x00); + Send(&result); + } +} + +void CUser::ListMoveProcess(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + { + Packet result(WIZ_MERCHANT, uint8(MERCHANT_MENISIA_LIST)); + result << uint8(1) << uint8(0) << uint8(3); + Send(&result); + return; + } + + uint16 TargetID = pkt.read(); + CUser *pUser = g_pMain->GetUserPtr(TargetID); + CBot * pBot = g_pMain->m_arBotArray.GetData(TargetID); + + if (!pUser) + { + if(pBot) + { + ZoneChange(pBot->m_bZone, pBot->GetX(), pBot->GetZ()); + } + else + { + Packet error(WIZ_MERCHANT, uint8(MERCHANT_MENISIA_LIST)); + error << uint8(2) << uint8(0) << uint8(0); + Send(&error); + return; + } + + + + } + else if(!pBot) + { + if(pUser) + { + ZoneChange(pUser->GetZoneID(), pUser->GetX(), pUser->GetZ()); + } + else + { + Packet error(WIZ_MERCHANT, uint8(MERCHANT_MENISIA_LIST)); + error << uint8(2) << uint8(0) << uint8(0); + Send(&error); + return; + } + } + + +} \ No newline at end of file diff --git a/server/GameServer/NPCHandler.cpp b/server/GameServer/NPCHandler.cpp new file mode 100644 index 0000000..0dfa06d --- /dev/null +++ b/server/GameServer/NPCHandler.cpp @@ -0,0 +1,1577 @@ +#include "stdafx.h" +#include "Map.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "DBAgent.h" +#include +#include "../shared/DateTime.h" + +using namespace std; +using std::string; + +struct ITEMS +{ + int ITEMID; + uint8 IPOS; + uint16 _ICOUNT; +} +pItems; + +void CUser::ItemRepair(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result(WIZ_ITEM_REPAIR); + uint32 money, itemid; + uint16 durability, quantity, sNpcID; + _ITEM_TABLE* pTable = nullptr; + CNpc *pNpc = nullptr; + uint8 sPos, sSlot; + + pkt >> sPos >> sSlot >> sNpcID >> itemid; + if (sPos == 1 ) + { // SLOT + if (sSlot >= SLOT_MAX) + goto fail_return; + + if (m_sItemArray[sSlot].nNum != itemid) + goto fail_return; + } + else if (sPos == 2 ) + { // INVEN + if (sSlot >= HAVE_MAX) + goto fail_return; + + if (m_sItemArray[SLOT_MAX+sSlot].nNum != itemid) + goto fail_return; + } + + pNpc = g_pMain->GetNpcPtr(sNpcID); + if (pNpc == nullptr || !isInRange(pNpc, MAX_NPC_RANGE)) + return; + + if (pNpc->GetType() == NPC_TINKER || pNpc->GetType() == NPC_MERCHANT) + { + pTable = g_pMain->GetItemPtr( itemid ); + if (pTable == nullptr + || pTable->m_iSellPrice == SellTypeNoRepairs) + goto fail_return; + + durability = pTable->m_sDuration; + if(durability == 1) + goto fail_return; + + if(sPos == 1) + quantity = pTable->m_sDuration - m_sItemArray[sSlot].sDuration; + else if(sPos == 2) + quantity = pTable->m_sDuration - m_sItemArray[SLOT_MAX+sSlot].sDuration; + + money = (unsigned int)((((pTable->m_iBuyPrice-10) / 10000.0f) + pow((float)pTable->m_iBuyPrice, 0.75f)) * quantity / (double)durability); + + if (GetPremiumProperty(PremiumRepairDiscountPercent) > 0) + money = money * GetPremiumProperty(PremiumRepairDiscountPercent) / 100; + + if (!GoldLose(money, false)) + goto fail_return; + + if (sPos == 1) + m_sItemArray[sSlot].sDuration = durability; + else if(sPos == 2) + m_sItemArray[SLOT_MAX+sSlot].sDuration = durability; + + result << uint8(1) << GetCoins(); + Send(&result); + return; + } + +fail_return: + result << uint8(0) << GetCoins(); + Send(&result); +} + +void CUser::ClientEvent(uint16 sNpcID) +{ + // Ensure AI's loaded + if (!g_pMain->m_bPointCheckFlag) + return; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + int32 iEventID = 0; + CNpc *pNpc = g_pMain->GetNpcPtr(sNpcID); + if (pNpc == nullptr + || !isInRange(pNpc, MAX_NPC_RANGE)) + return; + + m_sEventNid = sNpcID; + m_sEventSid = pNpc->GetProtoID(); // For convenience purposes with Lua scripts. + + if (pNpc->GetProtoID() == SAW_BLADE_SSID) + { + HpChange(-5000 / 10); + return; + } + else if (pNpc->GetProtoID() == CHAOS_CUBE_SSID && !pNpc->isDead() && pNpc->cubeisactive < UNIXTIME) + { + pNpc->cubeisactive= UNIXTIME + 10; + uint8 nEventRoomUserCount = g_pMain->TempleEventGetRoomUsers(GetEventRoom()); + uint8 nItemRewardRankFirst = nEventRoomUserCount / 3; + uint8 nItemRewardRankSecond = (nEventRoomUserCount - 1) * 2; + + int32 nUserRank = GetPlayerRank(RANK_TYPE_CHAOS_DUNGEON); + uint32 nItemID = 0; + int rand = 0; + rand = myrand(1,100); + + if (rand > 0 && rand < 11) + nItemID = ITEM_KILLING_BLADE; + else if (rand > 10 && rand < 56) + nItemID = ITEM_LIGHT_PIT; + else if (rand > 55 && rand < 93) + nItemID = ITEM_DRAIN_RESTORE; + else + nItemID = ITEM_KILLING_BLADE; + + GiveItem(nItemID,1); + g_pMain->ShowNpcEffect(GetSocketID(),251,GetZoneID(),GetEventRoom()); + /// AG_CHAOS_CUBE + Packet result(AG_CHAOS_CUBE); + result << sNpcID; + g_pMain->Send_AIServer(&result); + return; + } + else if(pNpc->GetProtoID() == CHAOS_CUBE_SSID) + return; + else if (pNpc->GetType() == NPC_KISS) + { + KissUser(); + return; + } + + Guard lock(g_pMain->m_questNpcLock); + QuestNpcList::iterator itr = g_pMain->m_QuestNpcList.find(pNpc->GetProtoID()); + if (itr == g_pMain->m_QuestNpcList.end()) + return; + + QuestHelperList & pList = itr->second; + _QUEST_HELPER * pHelper = nullptr; + foreach (itr, pList) + { + if ((*itr) == nullptr + || (*itr)->sEventDataIndex + || (*itr)->bEventStatus + || ((*itr)->bNation != 3 && (*itr)->bNation != GetNation()) + || ((*itr)->bClass != 5 && !JobGroupCheck((*itr)->bClass))) + continue; + + pHelper = (*itr); + break; + } + + if (pHelper == nullptr) + return; + + V3_QuestRunEvent(pHelper, pHelper->nEventTriggerIndex); +} + +void CUser::KissUser() +{ + Packet result(WIZ_KISS); + result << uint32(GetID()) << m_sEventNid; + GiveItem(910014000); // aw, you got a 'Kiss'. How literal. + SendToRegion(&result,nullptr,GetEventRoom()); +} + +void CUser::ClassChange(Packet & pkt, bool bFromClient /*= true */) +{ + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result(WIZ_CLASS_CHANGE); + bool bSuccess = false; + uint8 opcode = pkt.read(); + /*printf ("%d %s\n",opcode,GetName().c_str());*/ + if (opcode == CLASS_CHANGE_REQ) + { + ClassChangeReq(); + return; + } + else if (opcode == ALL_POINT_CHANGE) + { + AllPointChange(false); + return; + } + else if (opcode == ALL_SKILLPT_CHANGE) + { + AllSkillPointChange(false); + return; + } + else if (opcode == CHANGE_MONEY_REQ) + { + uint8 sub_type = pkt.read(); // type is irrelevant + uint32 money = (uint32)pow((GetLevel() * 2.0f), 3.4f); + + if (GetLevel() < 30) + money = (uint32)(money * 0.4f); + else if (GetLevel() >= 60) + money = (uint32)(money * 1.5f); + + // If nation discounts are enabled (1), and this nation has won the last war, get it half price. + // If global discounts are enabled (2), everyone can get it for half price. + if ((g_pMain->m_sDiscount == 1 && g_pMain->m_byOldVictory == GetNation()) + || g_pMain->m_sDiscount == 2) + money /= 2; + + result << uint8(CHANGE_MONEY_REQ) << money; + Send(&result); + return; + } + else if (opcode == CHANGE_REBIRTH_STAT) + { + if (GetRebLevel() >= 5) + return; + + if(!CheckExistItem(900579000,1)) + return; + + uint8 RecStr, RecSta, RecDex, RecInt, RecCha; + + uint8 rStr = GetRebStatBuff(STAT_STR), + rSta = GetRebStatBuff(STAT_STA), + rDex = GetRebStatBuff(STAT_DEX), + rInt = GetRebStatBuff(STAT_INT), + rCha = GetRebStatBuff(STAT_CHA); + + pkt >> RecStr >> RecSta >> RecDex >> RecInt >> RecCha; + + if (RecStr + RecSta + RecDex + RecInt + RecCha < 2) + return; + + SetRebStatBuff(STAT_STR, rStr += RecStr); + SetRebStatBuff(STAT_STA, rSta += RecSta); + SetRebStatBuff(STAT_DEX, rDex += RecDex); + SetRebStatBuff(STAT_INT, rInt += RecInt); + SetRebStatBuff(STAT_CHA, rCha += RecCha); + + m_questMap[52]= 0; + m_questMap[53]= 0; + m_questMap[54]= 0; + + m_reblvl++; + m_iExp= 0; + + RobItem(900579000,1); + result << uint8(CHANGE_REBIRTH_STAT) << uint16(1); + Send(&result); + Disconnect(); + return; + } + // If this packet was sent from the client, ignore it. + else if (bFromClient) + return; + + uint8 classcode = pkt.read(); + switch (m_sClass) + { + case KARUWARRIOR: + if( classcode == BERSERKER || classcode == GUARDIAN ) + bSuccess = true; + break; + case KARUROGUE: + if( classcode == HUNTER || classcode == PENETRATOR ) + bSuccess = true; + break; + case KARUWIZARD: + if( classcode == SORSERER || classcode == NECROMANCER ) + bSuccess = true; + break; + case KARUPRIEST: + if( classcode == SHAMAN || classcode == DARKPRIEST ) + bSuccess = true; + break; + case ELMORWARRRIOR: + if( classcode == BLADE || classcode == PROTECTOR ) + bSuccess = true; + break; + case ELMOROGUE: + if( classcode == RANGER || classcode == ASSASSIN ) + bSuccess = true; + break; + case ELMOWIZARD: + if( classcode == MAGE || classcode == ENCHANTER ) + bSuccess = true; + break; + case ELMOPRIEST: + if( classcode == CLERIC || classcode == DRUID ) + bSuccess = true; + break; + case BERSERKER: + if (classcode == GUARDIAN) + bSuccess = true; + break; + case HUNTER: + if (classcode == PENETRATOR) + bSuccess = true; + break; + case SORSERER: + if (classcode == NECROMANCER) + bSuccess = true; + break; + case SHAMAN: + if (classcode == DARKPRIEST) + bSuccess = true; + break; + case BLADE: + if (classcode == PROTECTOR) + bSuccess = true; + break; + case PORUTU: + if (classcode == PORUTUSKILLED) + bSuccess = true; + break; + case PORUTUSKILLED: + if (classcode == PORUTUMASTER) + bSuccess = true; + break; + case KURIAN: + if (classcode == KURIANSKILLED) + bSuccess = true; + break; + case KURIANSKILLED: + if (classcode == KURIANMASTER) + bSuccess = true; + break; + case RANGER: + if (classcode == ASSASSIN) + bSuccess = true; + break; + case MAGE: + if (classcode == ENCHANTER) + bSuccess = true; + break; + case CLERIC: + if (classcode == DRUID) + bSuccess = true; + break; + + } + + // Not allowed this job change + if (!bSuccess) + { + result << uint8(CLASS_CHANGE_RESULT) << uint8(0); + Send(&result); + return; + } + + m_sClass = classcode; + if (isInParty()) + { + // TO-DO: Move this somewhere better. + result.SetOpcode(WIZ_PARTY); + result << uint8(PARTY_CLASSCHANGE) << GetSocketID() << uint16(classcode); + g_pMain->Send_PartyMember(GetPartyID(), &result); + } +} + +void CUser::RecvSelectMsg(Packet & pkt) // Receive menu reply from client. +{ + string szLuaFilename; + pkt.SByte(); + pkt >> bMenuID >> szLuaFilename >> bySelectedReward; + + if(isTrading() + || isMerchanting() + || isMining() + || m_bMerchantStatex + || isDead() + || isStoreOpen()) + return; + + + if (!AttemptSelectMsg(bMenuID, bySelectedReward)) + memset(&m_iSelMsgEvent, -1, sizeof(m_iSelMsgEvent)); +} + +bool CUser::AttemptSelectMsg(uint8 bMenuID, int8 bySelectedReward) +{ + _QUEST_HELPER * pHelper = nullptr; + if (bMenuID >= MAX_MESSAGE_EVENT + || isDead() + || m_nQuestHelperID == 0) + return false; + + // Get the event number that needs to be processed next. + int32 selectedEvent = m_iSelMsgEvent[bMenuID]; + if (selectedEvent < 0 + || (pHelper = g_pMain->m_QuestHelperArray.GetData(m_nQuestHelperID)) == nullptr + || !V3_QuestRunEvent(pHelper, selectedEvent, bySelectedReward)) + return false; + + return true; +} + +void CUser::SendSay(int32 nTextID[8]) +{ + Packet result(WIZ_NPC_SAY); + result << int32(-1) << int32(-1); + foreach_array_n(i, nTextID, 8) + result << nTextID[i]; + Send(&result); +} + +void CUser::SelectMsg(uint8 bFlag, int32 nQuestID, int32 menuHeaderText, + int32 menuButtonText[MAX_MESSAGE_EVENT], int32 menuButtonEvents[MAX_MESSAGE_EVENT]) +{ + _QUEST_HELPER * pHelper = g_pMain->m_QuestHelperArray.GetData(m_nQuestHelperID); + if (pHelper == nullptr) + return; + + + + // Send the menu to the client + Packet result(WIZ_SELECT_MSG); + result.SByte(); + + result << m_sEventSid << bFlag << nQuestID << menuHeaderText; + foreach_array_n(i, menuButtonText, MAX_MESSAGE_EVENT) + result << menuButtonText[i]; + result << pHelper->strLuaFilename; + Send(&result); + + // and store the corresponding event IDs. + memcpy(&m_iSelMsgEvent, menuButtonEvents, sizeof(int32) * MAX_MESSAGE_EVENT); +} + +void CUser::NpcEvent(Packet & pkt) +{ + // Ensure AI is loaded first + if (!g_pMain->m_bPointCheckFlag) + return; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result; + uint8 bUnknown = pkt.read(); + uint16 sNpcID = pkt.read(); + int32 nQuestID = pkt.read(); + + CNpc *pNpc = g_pMain->GetNpcPtr(sNpcID); + if (pNpc == nullptr + || !isInRange(pNpc, MAX_NPC_RANGE)) + return; + + switch (pNpc->GetType()) + { + case NPC_LOYALTY_MERCHANT: + result.SetOpcode(WIZ_TRADE_NPC); + result << pNpc->m_iSellingGroup; + Send(&result); + break; + case NPC_MERCHANT: + case NPC_TINKER: + result.SetOpcode(pNpc->GetType() == NPC_MERCHANT ? WIZ_TRADE_NPC : WIZ_REPAIR_NPC); + result << pNpc->m_iSellingGroup; + Send(&result); + break; + + case NPC_MARK: + result.SetOpcode(WIZ_KNIGHTS_PROCESS); + result << uint8(KNIGHTS_CAPE_NPC); + Send(&result); + break; + + case NPC_RENTAL: + result.SetOpcode(WIZ_RENTAL); + result << uint8(RENTAL_NPC) + << uint16(1) // 1 = enabled, -1 = disabled + << pNpc->m_iSellingGroup; + Send(&result); + break; + + case NPC_ELECTION: + case NPC_TREASURY: + { + CKingSystem * pKingSystem = g_pMain->m_KingSystemArray.GetData(GetNation()); + result.SetOpcode(WIZ_KING); + if (pNpc->GetType() == NPC_ELECTION) + { + // Ensure this still works as per official without a row in the table. + string strKingName = (pKingSystem == nullptr ? "" : pKingSystem->m_strKingName); + result.SByte(); + result << uint8(KING_NPC) << strKingName; + } + else + { + // Ensure this still works as per official without a row in the table. + uint32 nTribute = (pKingSystem == nullptr ? 0 : pKingSystem->m_nTribute + pKingSystem->m_nTerritoryTax); + uint32 nTreasury = (pKingSystem == nullptr ? 0 : pKingSystem->m_nNationalTreasury); + result << uint8(KING_TAX) << uint8(1) // success + << uint16(isKing() ? 1 : 2) // 1 enables king-specific stuff (e.g. scepter), 2 is normal user stuff + << nTribute << nTreasury; + } + Send(&result); + } break; + + case NPC_SIEGE: + { + _KNIGHTS_SIEGE_WARFARE *pKnightSiegeWarFare = g_pMain->GetSiegeMasterKnightsPtr(1); + result.SetOpcode(WIZ_SIEGE); + result << uint8(3) << uint8(7); + Send(&result); + } + break; + case NPC_SIEGE_1: + { + _KNIGHTS_SIEGE_WARFARE *pKnightSiegeWarFare = g_pMain->GetSiegeMasterKnightsPtr(1); + if (pKnightSiegeWarFare->sMasterKnights == GetClanID()) + { + result.SetOpcode(WIZ_SIEGE); + result << uint8(4) << uint8(1) + + << pKnightSiegeWarFare->nDungeonCharge + << pKnightSiegeWarFare->nMoradonTax + << pKnightSiegeWarFare->nDellosTax; + Send(&result); + } + } + break; + + case NPC_VICTORY_GATE: + switch(GetWarVictory()) + { + case KARUS: + if(GetNation() == KARUS) + ZoneChange(2,222,1846); + break; + case ELMORAD: + if(GetNation() == ELMORAD) + ZoneChange(1,1865,168); + break; + } + break; + + case NPC_CAPTAIN: + result.SetOpcode(WIZ_CLASS_CHANGE); + result << uint8(CLASS_CHANGE_REQ); + Send(&result); + break; + + case NPC_WAREHOUSE: + result.SetOpcode(WIZ_WAREHOUSE); + result << uint8(WAREHOUSE_REQ); + Send(&result); + break; + + case NPC_CHAOTIC_GENERATOR: + case NPC_CHAOTIC_GENERATOR2: + SendAnvilRequest(sNpcID, ITEM_BIFROST_REQ);//Burda deniyoruz + break; + case NPC_KJWAR: + result.SetOpcode(WIZ_CAPTURE); + result << uint8(1) << uint8(7); + Send(&result); + break; + case NPC_BORDER_MONUMENT: + CaptureEvent(); + break; + case NPC_CLAN: // this HAS to go. + result << uint16(0); // page 0 + CKnightsManager::AllKnightsList(this, result); + default: + ClientEvent(sNpcID); + } +} + +void CUser::CaptureEvent() +{ + + if(GetZoneID() != ZONE_BORDER_DEFENSE_WAR || + g_pMain->pTempleEvent.m_sMiniTimerNation[GetEventRoom()] == GetNation()) + return; + + Packet Border; + Packet Reg; + + m_tBorderCapure = UNIXTIME; + + Border.Initialize(WIZ_QUEST); + Border <SendNotice(sNoticeMessage.c_str(),Nation::ALL); + + m_bAuthority = AUTHORITY_BANNED; + Disconnect(); +} + +void CUser::ItemTrade(Packet & pkt) +{ + Packet result(WIZ_ITEM_TRADE); + uint32 transactionPrice; + int group = 0; + uint16 npcid; + uint16 line; + _ITEM_TABLE* pTable = nullptr; + CNpc* pNpc = nullptr; + uint8 type = 0, errorCode = 1,purchased_item_count; + bool bSuccess = true; + std::vector pItems(0); + _KNIGHTS_SIEGE_WARFARE *pSiegeWar = g_pMain->GetSiegeMasterKnightsPtr(1); + CKingSystem *pKingSystem = g_pMain->m_KingSystemArray.GetData(GetNation()); + DateTime time; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + { + errorCode = 1; + goto send_packet; + } + + pkt >> type; + + + if (type == 5) + { + RecvRepurchase(pkt); + return; + } + + // Buy == 1, Sell == 2 + if (type == 1 || type == 2) + { + pkt >> group >> npcid; + + + if (!g_pMain->m_bPointCheckFlag + || (pNpc = g_pMain->GetNpcPtr(npcid)) == nullptr + || (pNpc->GetType() != NPC_MERCHANT && pNpc->GetType() != NPC_TINKER && pNpc->GetType() != NPC_LOYALTY_MERCHANT && pNpc->m_iSellingGroup != 232000) + || pNpc->m_iSellingGroup != group + || !isInRange(pNpc, MAX_NPC_RANGE)) + goto fail_return; + } + + + pkt >> purchased_item_count; + + if(purchased_item_count > 14) + purchased_item_count = 14; + else if(purchased_item_count < 1) + goto fail_return; + + if (type == 1) + { + for (int i = 0; i < purchased_item_count; i++) + { + ITEMS iItems; + pkt >> iItems.ITEMID; + pkt >> iItems.IPOS; + pkt >> iItems._ICOUNT; + pkt >> line; // WtF ? + pItems.resize(i+1,iItems); + + _ITEM_TABLE * cItem = g_pMain->m_ItemtableArray.GetData(iItems.ITEMID); // Shop Hacker's Fucked by Terry + + if (cItem == nullptr) + { + g_pMain->WriteCheatLogFile(string_format("[ ShopHack - %d:%d:%d ] Error Invalid: User %s tried to buy the Invalid Item %d NpcID %d \n", time.GetHour(),time.GetMinute(),time.GetSecond(), GetName().c_str(), iItems.ITEMID , npcid)); + goto fail_return; + } + + if (cItem->m_bSellingGroup != group / 1000) + { + g_pMain->WriteCheatLogFile(string_format("[ ShopHack - %d:%d:%d ] Error Group: User %s tried to buy the Item %d in ShopGroup %d, NpcID %d \n", time.GetHour(),time.GetMinute(),time.GetSecond(), GetName().c_str(), iItems.ITEMID , group, npcid)); + //ShopHackerBan(); + goto fail_return; + } + + if (iItems.IPOS >= HAVE_MAX || iItems._ICOUNT < 1 // Dupe Fixed. + || iItems._ICOUNT > MAX_ITEM_COUNT + || (iItems._ICOUNT > 200 && cItem->m_iBuyPrice >= 100000)) + { + errorCode = 2; + goto fail_return; + } + } + } + else + { + for (int i = 0; i < purchased_item_count; i++) + { + ITEMS iItems; + pkt >> iItems.ITEMID; + pkt >> iItems.IPOS; + pkt >> iItems._ICOUNT; + pItems.resize(i+1,iItems); + + _ITEM_TABLE * cItem = g_pMain->m_ItemtableArray.GetData(iItems.ITEMID); // Shop Hacker's Fucked by Terry + + if (cItem == nullptr) + { + g_pMain->WriteCheatLogFile(string_format("[ ShopHack - %d:%d:%d ] Error Invalid: User %s tried to buy the Invalid Item %d NpcID %d \n", time.GetHour(),time.GetMinute(),time.GetSecond(), GetName().c_str(), iItems.ITEMID , npcid)); + goto fail_return; + } + + if (iItems.IPOS >= HAVE_MAX || iItems._ICOUNT < 1 + || iItems._ICOUNT > MAX_ITEM_COUNT + || (iItems._ICOUNT > 200 && cItem->m_iSellPrice >= 100000)) + { + errorCode = 2; + goto fail_return; + } + } + } + + + + uint32 real_price = 0; + uint32 total_price = 0; + // Buying from an NPC Gold + if (type == 1 && pNpc->m_iSellingGroup != 249000) + { + + for (int i = 0; i < purchased_item_count; i++) + { + transactionPrice = 0; + if(pItems[i].ITEMID != 0) + { + if (isTrading() + || (pTable = g_pMain->GetItemPtr(pItems[i].ITEMID)) == nullptr + || (type == 2 + && ((pItems[i].ITEMID >= ITEM_NO_TRADE && pItems[i].ITEMID < ITEM_NO_TRADE_MAX) + || pTable->m_bRace == RACE_UNTRADEABLE))) + goto fail_return; + + if(pTable->m_iBuyPrice > 200000 + && pItems[i]._ICOUNT > 100 + || (pItems[i]._ICOUNT > 2000 + && pTable->m_iBuyPrice > 2) + || pItems[i]._ICOUNT > 9999) + { + errorCode = 4; + goto fail_return; + } + + if (pTable->m_bSellingGroup == 0 + || pTable->m_iNPBuyPrice > 0) + { + errorCode = 2; + goto fail_return; + } + + if (pItems[i].IPOS >= HAVE_MAX + || pItems[i]._ICOUNT <= 0 + || pItems[i]._ICOUNT > MAX_ITEM_COUNT) + { + errorCode = 2; + goto fail_return; + } + + if (i == 0) + { + _ITEM_TABLE *prTable = nullptr; + uint32 totalweight = 0; + for (int j = 0; j < purchased_item_count; j++) + { + prTable = g_pMain->GetItemPtr(pItems[j].ITEMID); + + if(prTable == nullptr) + goto fail_return; + + total_price = total_price + uint32(((uint32)prTable->m_iBuyPrice * pItems[j]._ICOUNT)); + totalweight += prTable->m_sWeight * pItems[i]._ICOUNT; + + if(prTable->m_bSellingGroup == 0) + goto fail_return; + } + + if ((totalweight + m_sItemWeight) > m_sMaxWeight) + { + errorCode = 4; + total_price = 0; + goto fail_return; + } + + if(!hasCoins(total_price)) + { + errorCode = 3; + total_price = 0; + goto fail_return; + } + } + + if (pItems[i].ITEMID != 0) + { + if (m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum != 0) + { + if (m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum != pItems[i].ITEMID) + { + errorCode = 2; + goto fail_return; + } + + if (!pTable->m_bCountable || pItems[i]._ICOUNT <= 0) + { + errorCode = 2; + goto fail_return; + } + + if (pTable->m_bCountable + && (pItems[i]._ICOUNT + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sCount) > MAX_ITEM_COUNT) + { + errorCode = 4; + goto fail_return; + } + } + + + + + uint32 tariffTax = 0/*Kiiye*/, nationalTax = 0/*Irka*/; + uint32 BuyPrice = pTable->m_iBuyPrice * 90 / 100; + if (GetMap()->GetTariff() > 0) + tariffTax = (pTable->m_iBuyPrice * GetMap()->GetTariff() / 100 * pItems[i]._ICOUNT) ; + + switch (GetZoneID()) + { + case ZONE_MORADON: + case ZONE_MORADONM2: + if (pSiegeWar->nMoradonTax < COIN_MAX) + pSiegeWar->nMoradonTax += tariffTax; + if (pSiegeWar->nMoradonTax < COIN_MAX) + InsertTaxUpEvent(ZONE_MORADON, tariffTax); + break; + case ZONE_DELOS: + case ZONE_HELL_ABYSS: + case ZONE_DESPERATION_ABYSS: + if (pSiegeWar->nMoradonTax < COIN_MAX) + pSiegeWar->nDellosTax += tariffTax; + if (pSiegeWar->nMoradonTax < COIN_MAX) + InsertTaxUpEvent(ZONE_DELOS, tariffTax); + break; + default: + nationalTax = pTable->m_iBuyPrice * 10 / 100 * pItems[i]._ICOUNT; + + if(tariffTax > nationalTax) + tariffTax -= nationalTax; + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + { + pKingSystem->m_nTerritoryTax += (tariffTax); + InsertTaxUpEvent(GetNation(), (tariffTax)); + } + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + { + pKingSystem->m_nNationalTreasury += (nationalTax); + InsertTaxUpEvent((GetNation() + 10), (nationalTax)); + } + break; + } + + if (pTable->m_iSellPrice != SellTypeFullPrice) + transactionPrice = ((((uint32)BuyPrice) * pItems[i]._ICOUNT) + tariffTax + nationalTax); + else + transactionPrice = (((uint32)pTable->m_iBuyPrice) * pItems[i]._ICOUNT); + + + if (!hasCoins(transactionPrice)) + { + errorCode = 3; + goto fail_return; + } + + + + m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum = pItems[i].ITEMID; + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sDuration = pTable->m_sDuration; + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sCount += pItems[i]._ICOUNT; + + m_iGold -= transactionPrice; + + if (!pTable->m_bCountable) + m_sItemArray[SLOT_MAX+pItems[i].IPOS].nSerialNum = g_pMain->GenerateItemSerial(); + + SetUserAbility(false); + SendItemWeight(); + + string errorMessage = string_format(_T("NPC_ITEM_BUY uId-%s- nId-%s- P-%d- I-%d- Z-%d- X-%d- Y-%d- t-%d-"), + GetName().c_str(),pNpc->GetName().c_str(),transactionPrice,pItems[i].ITEMID,GetZoneID(), uint16(GetX()), uint16(GetZ()),tariffTax); + g_pMain->WriteTradeUserLogFile(errorMessage); + } + + } + real_price += transactionPrice; + } + } + // Selling an item to an NPC Gold + else if (type == 2 && pNpc->m_iSellingGroup != 249000) + { + for (int i = 0; i < purchased_item_count; i++) + { + if (isTrading() + || (pTable = g_pMain->GetItemPtr(pItems[i].ITEMID)) == nullptr + || (type == 2 + && ((pItems[i].ITEMID >= ITEM_NO_TRADE && pItems[i].ITEMID < ITEM_NO_TRADE_MAX) + || pTable->m_bRace == RACE_UNTRADEABLE))) + goto fail_return; + + _ITEM_DATA *pItem = &m_sItemArray[SLOT_MAX+pItems[i].IPOS]; + if (pItem->nNum != pItems[i].ITEMID + || pItem->isSealed() + || pItem->isRented() + || pItem->nExpirationTime > 0) + { + errorCode = 2; + goto fail_return; + } + + if (pItem->sCount < pItems[i]._ICOUNT + || pItems[i]._ICOUNT < 1) + { + errorCode = 3; + goto fail_return; + } + + if (PremiumID == 0 && pTable->m_iSellPrice == SellTypeFullPrice) + transactionPrice = ((uint32)pTable->m_iBuyPrice * pItems[i]._ICOUNT); + else if (PremiumID > 0 && pTable->m_iSellPrice == SellTypeFullPrice) + transactionPrice = ((uint32)pTable->m_iBuyPrice * pItems[i]._ICOUNT); + else if (PremiumID == 0 && pTable->m_iSellPrice != SellTypeFullPrice) + transactionPrice = (((uint32)pTable->m_iBuyPrice / 6) * pItems[i]._ICOUNT); + else if (PremiumID > 0 && pTable->m_iSellPrice != SellTypeFullPrice) + transactionPrice = (((uint32)pTable->m_iBuyPrice / 4) * pItems[i]._ICOUNT); + + + + if (GetCoins() + transactionPrice > COIN_MAX) + { + errorCode = 3; + goto fail_return; + } + + + GoldGain(transactionPrice, false); + + if(pTable->isStackable()) + pItem->sCount -= pItems[i]._ICOUNT; + else + pItem->sCount = 0; + + if (pItems[i]._ICOUNT >= pItem->sCount) + memset(pItem, 0, sizeof(_ITEM_DATA)); + else + pItem->sCount -= pItems[i]._ICOUNT; + + SetUserAbility(false); + SendItemWeight(); + + string errorMessage = string_format(_T("NPC_ITEM_SELL uId-%s- nId-%s- P-%d- I-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pNpc->GetName().c_str(),transactionPrice,pItems[i].ITEMID,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + real_price += transactionPrice; + } + } + // Buying an item to an NPC NationalPoint + else if (type == 1 && pNpc->m_iSellingGroup == 249000) + { + + for (int i = 0; i < purchased_item_count; i++) + { + transactionPrice = 0; + if(pItems[i].ITEMID != 0) + { + if (isTrading() + || (pTable = g_pMain->GetItemPtr(pItems[i].ITEMID)) == nullptr + || (type == 2 + && ((pItems[i].ITEMID >= ITEM_NO_TRADE && pItems[i].ITEMID < ITEM_NO_TRADE_MAX) + || pTable->m_bRace == RACE_UNTRADEABLE))) + goto fail_return; + + if(pTable->m_iNPBuyPrice > 200000 && pItems[i]._ICOUNT > 100) + { + errorCode = 4; + goto fail_return; + } + + if (pTable->m_bSellingGroup == 0 + || pTable->m_iNPBuyPrice == 0){ + errorCode = 2; + goto fail_return; + } + + if (pItems[i].IPOS >= HAVE_MAX + || pItems[i]._ICOUNT <= 0 || pItems[i]._ICOUNT > MAX_ITEM_COUNT) + { + errorCode = 2; + goto fail_return; + } + + if (i == 0) + { + _ITEM_TABLE *prTable; + for (int j = 0; j < purchased_item_count; j++) + { + prTable = nullptr; + prTable = g_pMain->GetItemPtr(pItems[j].ITEMID); + if (prTable != nullptr) + total_price += uint32(((uint32)prTable->m_iNPBuyPrice * pItems[j]._ICOUNT)); + + } + + if(!hasLoyalty(total_price)) + { + errorCode = 3; + total_price = 0; + goto fail_return; + } + } + + if (pItems[i].ITEMID != 0) + { + if (m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum != 0) + { + if (m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum != pItems[i].ITEMID) + { + errorCode = 2; + goto fail_return; + } + + if (!pTable->m_bCountable || pItems[i]._ICOUNT <= 0) + { + errorCode = 2; + goto fail_return; + } + + if (pTable->m_bCountable + && (pItems[i]._ICOUNT + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sCount) > MAX_ITEM_COUNT) + { + errorCode = 4; + goto fail_return; + } + } + + + + + uint32 BuyPrice; + BuyPrice = pTable->m_iNPBuyPrice; + + transactionPrice = ((((uint32)BuyPrice) * pItems[i]._ICOUNT)); + + + if (!hasLoyalty(transactionPrice) || pTable->m_bSellingGroup == 0) + { + errorCode = 3; + goto fail_return; + } + + if (((pTable->m_sWeight * pItems[i]._ICOUNT) + m_sItemWeight) > m_sMaxWeight) + { + errorCode = 4; + goto fail_return; + } + + m_sItemArray[SLOT_MAX+pItems[i].IPOS].nNum = pItems[i].ITEMID; + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sDuration = pTable->m_sDuration; + m_sItemArray[SLOT_MAX+pItems[i].IPOS].sCount += pItems[i]._ICOUNT; + + m_iLoyalty -= transactionPrice; + + if (!pTable->m_bCountable) + m_sItemArray[SLOT_MAX+pItems[i].IPOS].nSerialNum = g_pMain->GenerateItemSerial(); + + SetUserAbility(false); + SendItemWeight(); + + string errorMessage = string_format(_T("NPC_ITEM_BUY_NP uId-%s- nId-%s- P-%d- I-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pNpc->GetName().c_str(),transactionPrice,pItems[i].ITEMID,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + } + + } + real_price += transactionPrice; + } + } + // Selling an item to an NPC NationalPoint + else + goto fail_return; + + goto send_packet; + +fail_return: + bSuccess = false; +send_packet: + result << bSuccess; + + if (!bSuccess) + result << errorCode; + + else if (pNpc == nullptr) + { + bSuccess = false; + result << uint8(0x00) << bSuccess; + } + + if (!bSuccess) + result << errorCode; + else if (pNpc->m_iSellingGroup == 249000 && bSuccess) + result << m_iLoyalty << real_price << pTable->m_bSellingGroup; + else if (pNpc->m_iSellingGroup != 249000 && bSuccess && pTable) + result << m_iGold << real_price << pTable->m_bSellingGroup; + Send(&result); +} + +/** +* @brief Handles the name change response packet +* containing the specified new name. +* +* @param pkt The packet. +*/ +void CUser::HandleNameChange(Packet & pkt) +{ + uint8 opcode; + pkt >> opcode; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + switch (opcode) + { + case NameChangePlayerRequest: + HandlePlayerNameChange(pkt); + break; + case ClanNameChange: + HandleKnightsNameChange(pkt); + break; + } +} + +void CUser::HandleKnightsNameChange(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + ClanNameChangeOpcode response = ClanNameChangeSuccess; + pkt.DByte(); + string strKnightsID; + pkt >> strKnightsID; + + if (strKnightsID.empty() || strKnightsID.length() > MAX_ID_SIZE || !g_pMain->WordGuardSystem(strKnightsID,strKnightsID.length())) + response = ClanNameChangeInvalidName; + else if (!isInClan() || !isClanLeader()) + response = ClanNameChangeNotInClan; + else if (!CheckExistItem(800086000)) + response = ClanNameChangeInvalidName; + + if (response != ClanNameChangeSuccess) + { + SendKnightsNameChange(response); + return; + } + + Packet result(WIZ_NAME_CHANGE, uint8(ClanNameChange)); + result << strKnightsID; + g_pMain->AddDatabaseRequest(result, this); +} + +/** +* @brief Handles the character name change response packet +* containing the specified new character's name. +* +* @param pkt The packet. +*/ +void CUser::HandlePlayerNameChange(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + NameChangeOpcode response = NameChangeSuccess; + string strUserID; + pkt >> strUserID; + + if (strUserID.empty() || strUserID.length() > MAX_ID_SIZE || !g_pMain->WordGuardSystem(strUserID,strUserID.length())) + response = NameChangeInvalidName; + else if (isInClan()) + response = NameChangeInClan; + else if (isKing()) + response = NameChangeKing; + + if (response != NameChangeSuccess) + { + SendNameChange(response); + return; + } + + // Ensure we have the scroll before handling this request. + if (!CheckExistItem(ITEM_SCROLL_OF_IDENTITY)) + return; + + Packet result(WIZ_NAME_CHANGE, uint8(NameChangePlayerRequest)); + result << strUserID; + g_pMain->AddDatabaseRequest(result, this); +} +/** +* @brief Sends a name change packet. +* +* @param opcode Name change packet opcode. +* NameChangeShowDialog shows the dialog where you can set your name. +* NameChangeSuccess confirms the name was changed. +* NameChangeInvalidName throws an error reporting the name is invalid. +* NameChangeInClan throws an error reporting the user's still in a clan (and needs to leave). +* NameChangeIsKing if the user is king +*/ +void CUser::SendNameChange(NameChangeOpcode opcode /*= NameChangeShowDialog*/) +{ + Packet result(WIZ_NAME_CHANGE, uint8(opcode)); + Send(&result); +} + + +void CUser::SendKnightsNameChange(ClanNameChangeOpcode opcode /*= ClanNameChangeShowDialog*/) +{ + Packet result(WIZ_NAME_CHANGE, uint8(16)); + result << opcode; + Send(&result); +} + + + +void CUser::HandleCapeChange(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result(WIZ_CAPE); + CKnights *pKnights = nullptr; + _KNIGHTS_CAPE *pCape = nullptr; + uint32 nReqClanPoints = 0, nReqCoins = 0; + int16 sErrorCode = 0, sCapeID; + uint8 r, g, b; + bool bApplyingPaint = false; + + pkt >> sCapeID >> r >> g >> b; + + // If we're not a clan leader, what are we doing changing the cape? + if (!isClanLeader() + || isDead()) + { + sErrorCode = -1; + goto fail_return; + } + + // Does the clan exist? + if ((pKnights = g_pMain->GetClanPtr(GetClanID())) == nullptr) + { + sErrorCode = -2; + goto fail_return; + } + + // Make sure we're promoted + if (!pKnights->isPromoted() + // and that if we're in an alliance, we're the primary clan in the alliance. + || (pKnights->isInAlliance() && !pKnights->isAllianceLeader())) + { + sErrorCode = -1; + goto fail_return; + } + + if (sCapeID >= 0) + { + // Does this cape type exist? + if ((pCape = g_pMain->m_KnightsCapeArray.GetData(sCapeID)) == nullptr || sCapeID == 99) + { + sErrorCode = -5; + goto fail_return; + } + + // Is our clan allowed to use this cape? + if ((pCape->byGrade && pKnights->m_byGrade > pCape->byGrade) + // not sure if this should use another error, need to confirm + || pKnights->m_byFlag < pCape->byRanking) + { + sErrorCode = -6; + goto fail_return; + } + + // NOTE: Error code -8 is for nDuration + // It applies if we do not have the required item ('nDuration', awful name). + // Since no capes seem to use it, we'll ignore it... + + // Can we even afford this cape? + if (!hasCoins(pCape->nReqCoins)) + { + sErrorCode = -7; + goto fail_return; + } + + nReqCoins = pCape->nReqCoins; + nReqClanPoints = pCape->nReqClanPoints; + } + + // These are 0 when not used + if (r != 0 || g != 0 || b != 0) + { + // To use paint, the clan needs to be accredited + if (pKnights->m_byFlag < ClanTypeAccredited5) + { + sErrorCode = -1; // need to find the error code for this + goto fail_return; + } + + bApplyingPaint = true; + nReqClanPoints += 1000; // does this need tweaking per clan rank? + } + + // If this requires clan points, does our clan have enough? + if (pKnights->m_nClanPointFund < nReqClanPoints) + { + // this error may not be correct + sErrorCode = -7; + goto fail_return; + } + + if (nReqCoins > 0) + GoldLose(nReqCoins); + + if (nReqClanPoints) + { + pKnights->m_nClanPointFund -= nReqClanPoints; + pKnights->UpdateClanFund(); + } + + // Are we changing the cape? + if (sCapeID >= 0) + pKnights->m_sCape = sCapeID; + + // Are we applying paint? + if (bApplyingPaint) + { + pKnights->m_bCapeR = r; + pKnights->m_bCapeG = g; + pKnights->m_bCapeB = b; + } + + CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); + + result << uint16(1) // success + << pKnights->GetAllianceID() + << pKnights->GetID() + << pKnights->m_sCape + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB + << uint8(0); + + pKnights->Send(&result); + + // TO-DO: + // When we implement alliances, this should send to the alliance + // if the clan is part of one. Also, their capes should be updated. + + // TO-DO: Send to other servers via UDP. + + // Now tell Aujard to save (we don't particularly care whether it was able to do so or not). + result.Initialize(WIZ_CAPE); + result << pKnights->GetID() << pKnights->CapGetCapeID() + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB; + g_pMain->AddDatabaseRequest(result, this); + return; + +fail_return: + result << sErrorCode; + Send(&result); +} + +void CUser::SendRepurchase(bool nReflash /*= false */) +{ + g_DBAgent.LoadRepurchase(this); + + uint8 OpCode = 1; + uint16 rCount = uint16(m_RepurchaseMap.size()); + uint32 nPrice; + + if(nReflash) + OpCode = 4; + + Packet result(WIZ_ITEM_TRADE, uint8(5)); + result << OpCode + << uint8(1) + << rCount; + + BOOST_FOREACH(auto itr, m_RepurchaseMap) + { + _ITEM_TABLE * pItem = g_pMain->m_ItemtableArray.GetData(itr.second->nNum); + + if (pItem == nullptr) + continue; + + nPrice = pItem->m_iBuyPrice * 300; + + if (nPrice > COIN_MAX) + nPrice = COIN_MAX; + + result << itr.second->nNum + << nPrice + << uint16(0) + << rCount-- + << uint8(0); + } + + Send(&result); +} + +void CUser::RecvRepurchase(Packet& pkt) +{ + uint16 opcode, nSlot; + uint32 nItemID, nPrice; + + pkt >> opcode >> nItemID; + + if (opcode == 0) + { + SendRepurchase(true); + return; + } + else if(opcode != 2) + return; + + BOOST_FOREACH(auto itr, m_RepurchaseMap) + { + if (itr.second->nNum != nItemID) + continue; + + nSlot = itr.first; + break; + } + + RepurchaseMap::iterator itr = m_RepurchaseMap.find(nSlot); + _ITEM_TABLE * pItem = g_pMain->m_ItemtableArray.GetData(nItemID); + + if(pItem == nullptr || itr == m_RepurchaseMap.end()) + return; + + nPrice = pItem->m_iBuyPrice * 300; + if (GetCoins() < nPrice) + { + uint32 nDiference = nPrice - GetCoins(); + + Packet result(WIZ_ITEM_TRADE, uint8(5)); + result << uint8(2) // 2 success + << uint8(2) + << uint8(0) // Count + << uint16(0) + << uint16(0); + + Send(&result); + return; + } + + int8 pos; + bool bNewItem = true; + pos = FindSlotForItem(nItemID, 1); + if (pos < 0) + { + Packet result(WIZ_ITEM_TRADE, uint8(5)); + result << uint8(2) << uint8(2) << uint16(-4); // Not enough inventory slot + Send(&result); + return; + } + + _ITEM_DATA *pItemData = GetItem(pos); + if (pItemData->nNum != 0 || pItemData == nullptr) + bNewItem = false; + + GoldLose(nPrice); + GiveItem(nItemID, 1); + SendStackChange(nItemID, m_sItemArray[pos].sCount, m_sItemArray[pos].sDuration, pos - SLOT_MAX, true); + g_DBAgent.DeleteRepurchase(itr->second->nNum, itr->second->tRepTime, this); + + Packet result(WIZ_ITEM_TRADE, uint8(5)); + result << uint8(2) // 2 Send Success + << uint8(1) // 1 Success, 2 Failed, press button again + << uint16(0); + + result << nItemID; + + Send(&result); + +} \ No newline at end of file diff --git a/server/GameServer/Npc.cpp b/server/GameServer/Npc.cpp new file mode 100644 index 0000000..84dca87 --- /dev/null +++ b/server/GameServer/Npc.cpp @@ -0,0 +1,1113 @@ +#include "stdafx.h" +#include "Map.h" +#include "MagicInstance.h" +#include "../shared/DateTime.h" + +using namespace std; + +CNpc::CNpc() : Unit(UnitNPC) +{ + Initialize(); +} + + +CNpc::~CNpc() +{ +} + +/** +* @brief Initializes this object. +*/ +void CNpc::Initialize() +{ + cubeisactive = 0; + Unit::Initialize(); + m_bIsEventNpc = false; + m_sSid = 0; + m_sPid = 0; // MONSTER(NPC) Picture ID + m_sSize = 100; // MONSTER(NPC) Size + m_strName.clear(); // MONSTER(NPC) Name + m_iMaxHP = 0; // �ִ� HP + m_iHP = 0; // ���� HP + m_byState = 0; // ������ (NPC) �����̻� + m_tNpcType = 0; // NPC Type + // 0 : Normal Monster + // 1 : NPC + // 2 : �� �Ա�,�ⱸ NPC + // 3 : ������ + m_iSellingGroup = 0; + //m_dwStepDelay = 0; + + m_byDirection = 0; // npc�� ����,, + m_iWeapon_1 = 0; + m_iWeapon_2 = 0; + m_NpcState = NPC_LIVE; + m_byGateOpen = true; + m_byObjectType = NORMAL_OBJECT; + m_JuraidGateOpen = 1; + m_byTrapNumber = 0; + m_oSocketID = -1; + m_bEventRoom = 0; + + nIsPet = false; + strPetName = ""; + strUserName = ""; + nSerial = 0; + UserId = -1; + InitType3(); + InitType4(true); +} + +/** +* @brief Adds the NPC to the region. +* +* @param new_region_x The new region x coordinate. +* @param new_region_z The new region z coordinate. +*/ +void CNpc::AddToRegion(int16 new_region_x, int16 new_region_z) +{ + if(GetMap() == nullptr) + return; + + if(GetMap()->GetXRegionMax() < new_region_x + || GetMap()->GetZRegionMax() < new_region_z) + return; + + GetRegion()->Remove(this); + SetRegion(new_region_x, new_region_z); + + GetRegion()->Add(this); +} + +/** +* @brief Sends the movement packet for the NPC. +* +* @param fPosX The position x coordinate. +* @param fPosY The position y coordinate. +* @param fPosZ The position z coordinate. +* @param fSpeed The speed. +*/ +void CNpc::MoveResult(float fPosX, float fPosY, float fPosZ, float fSpeed) +{ + if(nIsPet) + return; + + /*Packet result(WIZ_NPC_MOVE); + + SetPosition(fPosX, fPosY, fPosZ); + RegisterRegion(); + #if __VERSION >= 1950 + result << uint8(fSpeed); + #endif + result << GetID() << GetSPosX() << GetSPosZ() << GetSPosY() << uint16(1); + SendToRegion(&result);*/ + + Packet result(WIZ_NPC_MOVE, uint8(SUCCESS)); + SetPosition(fPosX, fPosY, fPosZ); + RegisterRegion(); + result << GetID() << GetSPosX() << GetSPosZ() << GetSPosY(); + if(m_bIceSpeedAmount > 0) + result << fSpeed / float(m_bIceSpeedAmount); + else + result << fSpeed * float(85.99F); + SendToRegion(&result); +} + +/** +* @brief Constructs an in/out packet for the NPC. +* +* @param result The packet buffer the constructed packet will be stored in. +* @param bType The type (in or out). +*/ +void CNpc::GetInOut(Packet & result, uint8 bType) +{ + result.Initialize(WIZ_NPC_INOUT); + result << bType << GetID(); + if (bType != INOUT_OUT) + GetNpcInfo(result); + + if (bType == INOUT_IN) + OnRespawn(); +} + +/** +* @brief Constructs and sends an in/out packet for the NPC. +* +* @param bType The type (in or out). +* @param fX The x coordinate. +* @param fZ The z coordinate. +* @param fY The y coordinate. +*/ +void CNpc::SendInOut(uint8 bType, float fX, float fZ, float fY) +{ + if (GetRegion() == nullptr) + { + SetRegion(GetNewRegionX(), GetNewRegionZ()); + if (GetRegion() == nullptr) + return; + } + + if (bType == INOUT_OUT) + { + GetRegion()->Remove(this); + } + else + { + GetRegion()->Add(this); + SetPosition(fX, fY, fZ); + } + + Packet result; + GetInOut(result, bType); + SendToRegion(&result); + + if (nIsPet) + { + Packet result3; + CUser *pUser = g_pMain->GetUserPtr(UserId); + CPet *mPet = g_pMain->GetPetPtr(nSerial); + + if (mPet == nullptr + || pUser == nullptr) + return; + + if(pUser->LastWarpTime > (UNIXTIME - 2)) + return; + + result3.Initialize(WIZ_OBJECT_EVENT); + result3 << uint8(0x0B) << uint8(0x01) << GetID() << uint32(30403); + SendToRegion(&result3); + + g_pMain->m_LivingPetArray.insert(std::make_pair(mPet->m_Serial, mPet)); + + Packet pet(WIZ_PET); + pet.DByte(); + + pet << uint8(0x01) << uint8(0x05) << uint8(0x01) << uint8(0x01) << uint8(0x00) + << uint32(mPet->SpecialPetID) + << mPet->GetName() + << mPet->m_sClass + << mPet->m_bLevel << uint16((mPet->m_iExp* 10000) / g_pMain->GetPetExpByLevel(mPet->m_bLevel)) + << uint16(mPet->m_sMaxHp) << uint16(mPet->m_sHp) + << uint16(mPet->m_sMaxMp) << uint16(mPet->m_sMp) + << uint16(mPet->m_sSatisfaction) + << uint16(mPet->m_sAttack) << uint16(mPet->m_sAc) + << uint8(mPet->m_sFireR) << uint8(mPet->m_sColdR) << uint8(mPet->m_sLightningR) + << uint8(mPet->m_sMagicR) << uint8(mPet->m_sDiseaseR) << uint8(mPet->m_sPoisonR); + + for (int i = 0; i < PET_MAX; i++) // pet cıkar görürsün de ne sorcaksan sor cıkıcam valla kanka 2 minik sorum var :D + { + _ITEM_DATA * pItem = &mPet->m_sItemArray[i]; + + //if(pItem->nNum > 0) + pet << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag << uint32(0) << pItem->nExpirationTime; + //else + //pet << uint32(0) << uint16(0) << uint16(0) << uint8(0) << uint16(0) << uint32(0) << uint32(0); + } + + pUser->Send(&pet); + } +} + +/** +* @brief Gets NPC information for use in various NPC packets. +* +* @param pkt The packet the information will be stored in. +*/ +void CNpc::GetNpcInfo(Packet & pkt, uint8 myNation) +{ + if(nIsPet) + { + pkt.SByte(); + CUser *pUser = g_pMain->GetUserPtr(UserId); + if(!pUser) + return; + _ITEM_DATA *pItem = nullptr; + + if ((pItem = pUser->GetItem(SHOULDER)) == nullptr) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->pSession == nullptr) + return; + + pkt << uint16(0) << uint8(newPet->isMonster() ? 1:2) << m_sPid << m_iSellingGroup + << uint8(15) << uint32(0) + << newPet->m_sSize << uint32(m_iWeapon_1) << uint32(m_iWeapon_2) + << pUser->GetName() << newPet->m_strPetID + << pUser->GetNation() << newPet->m_bLevel + << newPet->GetSPosX() << newPet->GetSPosZ() << newPet->GetSPosY() + << uint32(0) << uint8(0) << uint32(0) << int16(newPet->m_byDirection); + + } + pkt.SByte(); +#if (__VERSION >= 1950) + pkt << GetProtoID() + << uint8(isMonster() ? 1 : 2) // Monster = 1, NPC = 2 (need to use a better flag) + << m_sPid + << m_iSellingGroup; + if (nIsPet && !m_bIsEventNpc) + pkt << uint8(64); + else + pkt << GetType(); + pkt << uint32(0) + << m_sSize + << uint32(m_iWeapon_1) << uint32(m_iWeapon_2); // isPet() ? string + if (nIsPet && m_bIsEventNpc) + pkt << strUserName << strPetName; + if(myNation == uint8(-1)) + pkt << uint8(isMonster() ? 0 : GetNation()); + else + pkt << uint8(myNation); + + pkt << GetLevel() + << GetSPosX() << GetSPosZ() << GetSPosY(); + if(GetProtoID() == 8110) + pkt << uint32(m_JuraidGateOpen); + else + pkt << uint32(m_byGateOpen); + pkt << m_byObjectType + << uint16(0) << uint16(0) // unknown + << int16(m_byDirection); +#endif +#if (__VERSION < 1950) + pkt << GetProtoID() + << uint8(isMonster() ? 1 : 2) // Monster = 1, NPC = 2 (need to use a better flag) + << m_sPid + << GetType() + << m_iSellingGroup + << m_sSize + << m_iWeapon_1 << m_iWeapon_2 + // Monsters require 0 regardless, otherwise they'll act as NPCs. + << uint8(isMonster() ? 0 : GetNation()) + << GetLevel() + << GetSPosX() << GetSPosZ() << GetSPosY() + << uint32(isGateOpen()) + << m_byObjectType + << uint16(0) << uint16(0) // unknown + << int16(m_byDirection); +#endif +} + +/** +* @brief Sends a gate status. +* +* @param ObjectType object type +* @param bFlag The flag (open or shut). +* @param bSendAI true to update the AI server. +*/ +void CNpc::SendGateFlag(uint8 bFlag /*= -1*/, bool bSendAI /*= true*/) +{ + uint8 objectType = OBJECT_FLAG_LEVER; + + _OBJECT_EVENT * pObjectEvent = GetMap()->GetObjectEvent(GetProtoID()); + + if (pObjectEvent) + objectType = (uint8)pObjectEvent->sType; + + if (GetProtoID() == 8110) + objectType = OBJECT_GATE; + + + Packet result(WIZ_OBJECT_EVENT, objectType); + + if (GetProtoID() == 8110) + { + m_JuraidGateOpen = bFlag; + + result << uint8(1) << GetID() << bFlag; + SendToRegion(&result); + } + else + { + + // If there's a flag to set, set it now. + if (bFlag >= 0) + m_byGateOpen = (bFlag == 1); + + // Tell everyone nearby our new status. + result << uint8(1) << GetID() << m_byGateOpen; + SendToRegion(&result); + + // Tell the AI server our new status + if (bSendAI) + { + result.Initialize(AG_NPC_GATE_OPEN); + result << GetID() << GetProtoID() << m_byGateOpen; + Send_AIServer(&result); + } + } +} + +/** +* @brief Changes an NPC's hitpoints. +* +* @param amount The amount to adjust the HP by. +* @param pAttacker The attacker. +* @param bSendToAI true to update the AI server. +*/ +void CNpc::HpChange(int amount, Unit *pAttacker /*= nullptr*/, bool bSendToAI /*= true*/) +{ + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + + if(GetType() == NPC_FOSSIL && tid < NPC_BAND && amount != -1) + return; + + if(GetType() == NPC_TREE && tid < NPC_BAND && amount != -20) + return; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + // Glorious copypasta. + if (amount < 0 && -amount > m_iHP) + m_iHP = 0; + else if (amount >= 0 && m_iHP + amount > m_iMaxHP) + m_iHP = m_iMaxHP; + else + m_iHP += amount; + + if(nIsPet && nSerial > 0) + { + CPet * pPet = g_pMain->GetPetPtr(nSerial); + + if(pPet != nullptr) + pPet->HpChange(amount,pAttacker,false); + } + + // NOTE: This will handle the death notification/looting. + if (bSendToAI) + SendHpChangeToAI(tid, nIsPet && nSerial > 0 && isDead() ? -50000 : amount); + + if (pAttacker != nullptr + && pAttacker->isPlayer()) + TO_USER(pAttacker)->SendTargetHP(0, GetID(), amount); +} + +void CNpc::HpChangeMagic(int amount, Unit *pAttacker /*= nullptr*/, AttributeType attributeType /*= AttributeNone*/) +{ + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + + if(GetType() == NPC_FOSSIL || GetType() == NPC_TREE) + return; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + HpChange(amount, pAttacker, false); + SendHpChangeToAI(tid, amount, attributeType); +} + +void CNpc::SendHpChangeToAI(uint16 sTargetID, int amount, AttributeType attributeType /*= AttributeNone*/) +{ + Packet result(AG_NPC_HP_CHANGE); + result << GetID() << sTargetID << m_iHP << amount << uint8(attributeType); + Send_AIServer(&result); +} + +/** +* @brief Changes an NPC's mana. +* +* @param amount The amount to adjust the mana by. +*/ +void CNpc::MSpChange(int amount) +{ + +} + +bool CNpc::CastSkill(Unit * pTarget, uint32 nSkillID) +{ + if (pTarget == nullptr) + return false; + + MagicInstance instance; + + instance.bSendFail = false; + instance.nSkillID = nSkillID; + instance.sCasterID = GetID(); + instance.sTargetID = pTarget->GetID(); + + instance.Run(); + + return (instance.bSkillSuccessful); +} + +float CNpc::GetRewardModifier(uint8 byLevel) +{ + int iLevelDifference = GetLevel() - byLevel; + + if (iLevelDifference <= -14) + return 0.2f; + else if (iLevelDifference <= -8 && iLevelDifference >= -13) + return 0.5f; + else if (iLevelDifference <= -2 && iLevelDifference >= -7) + return 0.8f; + + return 1.0f; +} + +float CNpc::GetPartyRewardModifier(uint32 nPartyLevel, uint32 nPartyMembers) +{ + int iLevelDifference = GetLevel() - (nPartyLevel / nPartyMembers); + + if (iLevelDifference >= 8) + return 1.3f;// was 2.0f edited byBrate + else if (iLevelDifference >= 5) + return 1.2f;// was 1.5f edited byBrate + else if (iLevelDifference >= 2) + return 1.1f;// was 1.2f edited byBrate + + return 1.0f; +} + +/** +* @brief Executes the death action. +* +* @param pKiller The killer. +*/ +void CNpc::OnDeath(Unit *pKiller) +{ + if (m_NpcState == NPC_DEAD || pKiller == nullptr) + return; + + ASSERT(GetMap() != nullptr); + ASSERT(GetRegion() != nullptr); + + m_NpcState = NPC_DEAD; + m_sACPercent = 100; + + if (m_byObjectType == SPECIAL_OBJECT) + { + _OBJECT_EVENT *pEvent = GetMap()->GetObjectEvent(GetProtoID()); + if (pEvent != nullptr) + pEvent->byLife = 0; + } + if (GetProtoID() != 31527 + || GetProtoID() != 31528 + || GetProtoID() != 31529 + || GetProtoID() != 31530) + Unit::OnDeath(pKiller); + OnDeathProcess(pKiller); + + GetRegion()->Remove(TO_NPC(this)); + SetRegion(); + + if(nIsPet && nSerial > 0) + { + CPet * pPet = g_pMain->GetPetPtr(nSerial); + + if(pPet != nullptr) + pPet->Dead(); + } +} + +/** +* @brief Executes the death process. +* +* @param pKiller The killer. +*/ +void CNpc::OnDeathProcess(Unit *pKiller) +{ + if ((TO_NPC(this) == nullptr + || pKiller == nullptr)) + return; + + if (pKiller->GetID() > NPC_BAND) + return; + + CUser * pUser = TO_USER(pKiller); + + if (pUser == nullptr) + return; + + if (!m_bMonster) + { + switch (m_tNpcType) + { + case NPC_BIFROST_MONUMENT: + pUser->BifrostProcess(pUser); + break; + case NPC_CZ_MONUMENT: + CZMonumentProcess(pUser); + break; + case NPC_PVP_MONUMENT: + PVPMonumentProcess(pUser); + break; + case NPC_BATTLE_MONUMENT: + BattleMonumentProcess(pUser); + break; + case NPC_HUMAN_MONUMENT: + NationMonumentProcess(pUser); + break; + case NPC_KARUS_MONUMENT: + NationMonumentProcess(pUser); + break; + case NPC_DESTROYED_ARTIFACT: + pUser->CastleSiegeWarProcess(pUser); + break; + } + } + else if (m_bMonster) + { + if (GetProtoID() == 700 || GetProtoID() == 750 || GetProtoID() == 701 || GetProtoID() == 751) + { + if (pUser->V3_CheckExistEvent(STARTER_SEED_QUEST, 1)) + { + _QUEST_HELPER * pQuestHelper ; + if (pUser->GetNation() == ELMORAD) + pQuestHelper = g_pMain->m_QuestHelperArray.GetData(5005); + else + pQuestHelper = g_pMain->m_QuestHelperArray.GetData(5002); + + pUser->V3_QuestRunEvent(pQuestHelper,pQuestHelper->nEventTriggerIndex); + } + } + + else if (g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID()) != nullptr && pUser->isInPKZone()) + { + g_pMain->SpawnEventNpc(g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sSid, true, GetZoneID(), GetX(), GetY(), GetZ(), g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sCount); + + } + else if (g_pMain->pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + if (JuraidTempleEventZone()) + { + if (g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID()) != nullptr) + g_pMain->SpawnEventNpc(g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sSid, true, GetZoneID(), GetX(), GetY(), GetZ(), g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sCount,5,60*60,GetNation(),pUser->GetSocketID(),pUser->GetEventRoom()); + + + if (GetProtoID() == 8100 || GetProtoID() == 8102) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom1[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom1[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom1[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom1[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID1[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 1\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID1[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 1\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8101 || GetProtoID () == 8104) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID2[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 2\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID2[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 2\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8103 || GetProtoID () == 8105) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID3[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 3\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID3[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 3\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8106)// Deva + { + g_pMain->pTempleEvent.isDevaControl[GetEventRoom()] = true; + g_pMain->pTempleEvent.isDevaFlag[GetEventRoom()] = true; + g_pMain->pTempleEvent.DevaNation[GetEventRoom()] = pUser->GetNation(); + } + + } + } + else if (m_tNpcType == NPC_CHAOS_STONE && pUser->isInPKZone()) + { + ChaosStoneProcess(pUser,5); + }else if((m_sSid == g_pMain->Zone1Boss[GetEventRoom()] || m_sSid == g_pMain->Zone2Boss[GetEventRoom()] || m_sSid == g_pMain->Zone3Boss[GetEventRoom()]) && (GetZoneID() == ZONE_STONE1 || GetZoneID() == ZONE_STONE2 || GetZoneID() == ZONE_STONE3)) + { + Packet dresult(WIZ_EVENT); + dresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(0) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + TO_USER(pKiller)->Send(&dresult); + TO_USER(pKiller)->m_TimeMonsterStone = UNIXTIME + 20; + } + + if (g_pMain->m_bForgettenTempleIsActive && GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_ForgettenTempleMonsterList.erase(m_sNid); + + if (pUser->isInParty()) + { + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty != nullptr) + { + for (int i = 0; i < 8; i++) + { + if (pParty->uid[i] >= 0) + { + CUser * pUserRange = g_pMain->GetUserPtr(pParty->uid[i]); + if (!isInRangeSlow(pUserRange, 50.0f) || pUserRange == nullptr) + continue; + + CUser * pUserParty = g_pMain->GetUserPtr(pParty->uid[i]); + pUserParty->V3_MonsterCount(GetProtoID()); + pUserParty->AchieveType2(this); + } + } + } + } + else + { + pUser->V3_MonsterCount(GetProtoID()); + pUser->AchieveType2(this); + } + } + + DateTime time; + string pKillerPartyUsers; + + if (pUser->isInParty()) + { + CUser *pPartyUser; + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty) + { + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + pPartyUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pPartyUser) + pKillerPartyUsers += string_format("%s,",pPartyUser->GetName().c_str()); + } + } + + if (!pKillerPartyUsers.empty()) + pKillerPartyUsers = pKillerPartyUsers.substr(0,pKillerPartyUsers.length() - 1); + } + + if (pKillerPartyUsers.empty()) + g_pMain->WriteDeathNpcLogFile(string_format("[ %s - %d:%d:%d ] Killer=%s,SID=%d,Target=%s,Zone=%d,X=%d,Z=%d\n",m_bMonster ? "MONSTER" : "NPC",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),GetProtoID(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + else + g_pMain->WriteDeathNpcLogFile(string_format("[ %s - %d:%d:%d ] Killer=%s,KillerParty=%s,SID=%d,Target=%s,Zone=%d,X=%d,Z=%d\n",m_bMonster ? "MONSTER" : "NPC",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),pKillerPartyUsers.c_str(),GetProtoID(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + + InitType3(); + InitType4(false); +} + +void CNpc::InitType3() +{ + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + m_durationalSkills[i].Reset(); + + m_bType3Flag = false; +} + +void CNpc::InitType4(bool bRemoveSavedMagic /*= false*/, uint8 buffType /* = 0 */) +{ + Type4BuffMap buffMap = m_buffMap; // copy the map + + for (auto itr = buffMap.begin(); itr != buffMap.end(); itr++) + { +#ifdef GAMESERVER + if (buffType > 0 && itr->second.m_bBuffType != buffType) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, bRemoveSavedMagic, buffType > 0 ? true : false); +#endif + } +} + +/** +* @brief Executes the Npc respawn. +*/ +void CNpc::OnRespawn() +{ + if (GetProtoID() == BORDER_WAR_MONUMENT_SID + || (g_pMain->m_byBattleOpen == NATION_BATTLE + && (GetProtoID() == ELMORAD_MONUMENT_SID + || GetProtoID() == ASGA_VILLAGE_MONUMENT_SID + || GetProtoID() == RAIBA_VILLAGE_MONUMENT_SID + || GetProtoID() == DODO_CAMP_MONUMENT_SID + || GetProtoID() == LUFERSON_MONUMENT_SID + || GetProtoID() == LINATE_MONUMENT_SID + || GetProtoID() == BELLUA_MONUMENT_SID + || GetProtoID() == LAON_CAMP_MONUMENT_SID))) + { + _MONUMENT_INFORMATION * pData = new _MONUMENT_INFORMATION(); + pData->sSid = GetProtoID(); + pData->sNid = m_sNid; + pData->RepawnedTime = int32(UNIXTIME); + + if (GetProtoID() == DODO_CAMP_MONUMENT_SID || GetProtoID() == LAON_CAMP_MONUMENT_SID) + g_pMain->m_bMiddleStatueNation = m_bNation; + + if (!g_pMain->m_NationMonumentInformationArray.PutData(pData->sSid, pData)) + delete pData; + } + else if (g_pMain->m_bForgettenTempleIsActive && GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_ForgettenTempleMonsterList.insert(std::make_pair(m_sNid, GetProtoID())); +} + +/** +* @brief Executes the death process. +* +* @param pUser The User. +* @param MonsterCount The Respawn boss count. +*/ +void CNpc::ChaosStoneProcess(CUser *pUser, uint16 MonsterCount) +{ + if (pUser == nullptr) + return; + + g_pMain->SendNotice("",GetZoneID(), Nation::ALL); + + std::vector MonsterSpawned; + std::vector MonsterSpawnedFamily; + bool bLoopBack = true; + + for (uint8 i = 0; i < MonsterCount;i++) + { + uint32 nMonsterNum = myrand(0, g_pMain->m_MonsterSummonListZoneArray.GetSize()); + _MONSTER_SUMMON_LIST_ZONE * pMonsterSummonListZone = g_pMain->m_MonsterSummonListZoneArray.GetData(nMonsterNum); + + if (pMonsterSummonListZone != nullptr) + { + if (pMonsterSummonListZone->ZoneID == GetZoneID()) + { + if (std::find(MonsterSpawned.begin(),MonsterSpawned.end(),nMonsterNum) == MonsterSpawned.end()) + { + if (std::find(MonsterSpawnedFamily.begin(),MonsterSpawnedFamily.end(),pMonsterSummonListZone->byFamily) == MonsterSpawnedFamily.end()) + { + g_pMain->SpawnEventNpc(pMonsterSummonListZone->sSid, true,GetZoneID(), GetX(), GetY(), GetZ(), 1, CHAOS_STONE_MONSTER_RESPAWN_RADIUS, CHAOS_STONE_MONSTER_LIVE_TIME); + MonsterSpawned.push_back(nMonsterNum); + MonsterSpawnedFamily.push_back(pMonsterSummonListZone->byFamily); + bLoopBack = false; + } + } + } + } + + if (bLoopBack) + i--; + else + bLoopBack = true; + } +} + +/* +* @brief Executes the pvp monument process. +* +* @param pUser The User. +*/ +void CNpc::PVPMonumentProcess(CUser *pUser) +{ + if (pUser == nullptr) + return; + + std::string sKillMonuPvP; + std::string sKillMonuEvent; + std::string sMonuNation; + + Packet result(WIZ_CHAT, uint8(MONUMENT_NOTICE)); + result << uint8(FORCE_CHAT) << pUser->GetNation() << pUser->GetName().c_str(); + g_pMain->Send_Zone(&result, GetZoneID(), nullptr, Nation::ALL); + + if (pUser->GetNation() == KARUS) + sMonuNation = "Karus"; + else + sMonuNation = "Human"; + + sKillMonuPvP = string_format("%s has destroyed the %s. %s nation get +5 NPs per kill!",pUser->GetName().c_str(),GetName().c_str(),sMonuNation.c_str()); + sKillMonuEvent = string_format("%s has destroyed the %s. %s nation get +10 NPs per kill!",pUser->GetName().c_str(),GetName().c_str(),sMonuNation.c_str()); + + if (GetZoneID() == ZONE_RONARK_LAND) + { + g_pMain->m_nPVPMonumentNation[GetZoneID()] = pUser->GetNation(); + g_pMain->SendAnnouncement(sKillMonuPvP.c_str()); + } + else + { + g_pMain->m_nEventMonumentNation[GetZoneID()] = pUser->GetNation(); + g_pMain->SendAnnouncement(sKillMonuEvent.c_str()); + } + + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation(), pUser->GetNation() == KARUS ? MONUMENT_KARUS_SPID : MONUMENT_ELMORAD_SPID); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); +} + +/* +* @brief Executes the battle monument process. +* +* @param pUser The User. +*/ +void CNpc::BattleMonumentProcess(CUser *pUser) +{ + if (pUser && g_pMain->m_byBattleOpen == NATION_BATTLE) + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation(), pUser->GetNation() == KARUS ? MONUMENT_KARUS_SPID : MONUMENT_ELMORAD_SPID); + g_pMain->Announcement(DECLARE_BATTLE_MONUMENT_STATUS, Nation::ALL, m_byTrapNumber, pUser); + + if (pUser->GetNation() == KARUS) + { + g_pMain->m_sKarusMonumentPoint +=2; + g_pMain->m_sKarusMonuments++; + + if (g_pMain->m_sElmoMonuments != 0) + g_pMain->m_sElmoMonuments--; + + if (g_pMain->m_sKarusMonuments >= 7){ + g_pMain->m_sKarusMonumentPoint +=10; + Packet result(WIZ_MAP_EVENT); + result << uint8(3) << uint8(1) << short(15); + g_pMain->Send_Zone(&result,ZONE_BATTLE4); + } + + if (g_pMain->m_sKilledElmoNpc == 3 && g_pMain->m_sKarusMonuments >= 7) + g_pMain->BattleZoneResult(pUser->GetNation()); + + } + else + { + g_pMain->m_sElmoMonumentPoint += 2; + g_pMain->m_sElmoMonuments++; + + if (g_pMain->m_sKarusMonuments != 0) + g_pMain->m_sKarusMonuments--; + + if (g_pMain->m_sElmoMonuments >= 7){ + g_pMain->m_sElmoMonumentPoint +=10; + Packet result(WIZ_MAP_EVENT); + result << uint8(3) << uint8(2) << short(15); + g_pMain->Send_Zone(&result,ZONE_BATTLE4); + } + + if (g_pMain->m_sKilledKarusNpc == 3 && g_pMain->m_sElmoMonuments >= 7) + g_pMain->BattleZoneResult(pUser->GetNation()); + } + + g_pMain->NereidsMonumentEvent(m_byTrapNumber,pUser->GetNation(),nullptr); + + } +} + +/* +* @brief Executes the nation monument process. +* +* @param pUser The User. +*/ +void CNpc::NationMonumentProcess(CUser *pUser) +{ + if (!pUser) + return; + + if (g_pMain->m_byBattleOpen == NATION_BATTLE) + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + g_pMain->Announcement(DECLARE_NATION_MONUMENT_STATUS, Nation::ALL, GetProtoID(), pUser); + + uint16 sSid = 0; + + foreach_stlmap (itr, g_pMain->m_NationMonumentInformationArray) + if (itr->second->sSid == (pUser->GetNation() == KARUS ? GetProtoID() + 10000 : GetProtoID() - 10000)) + sSid = itr->second->sSid; + + if (sSid != 0) + g_pMain->m_NationMonumentInformationArray.DeleteData(sSid); + } + else + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + + uint16 sSid = 0; + + foreach_stlmap (itr, g_pMain->m_NationMonumentInformationArray) + if (itr->second->sSid == (pUser->GetNation() == KARUS ? GetProtoID() + 10000 : GetProtoID() - 10000)) + sSid = itr->second->sSid; + + if (sSid != 0) + g_pMain->m_NationMonumentInformationArray.DeleteData(sSid); + } +} + +/* +* @brief Executes the Cz monument process. +* +* @param pUser The User. +*/ +void CNpc::CZMonumentProcess(CUser *pUser) +{ + if (pUser == nullptr) + return; + + std::string sKillMonu; + std::string sRecoMonu; + + sKillMonu = string_format("%s has destroyed the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); + sRecoMonu = string_format("%s has recovered the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); + + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + + if (pUser->GetNation() == KARUS) + { + if (GetSpid() == 30092) + { + g_pMain->SendAnnouncement(sKillMonu.c_str()); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); + pUser->SendLoyaltyChange(150); + } + else + { + g_pMain->SendAnnouncement(sRecoMonu.c_str()); + } + } + else + { + if (GetSpid() == 30091) + { + g_pMain->SendAnnouncement(sKillMonu.c_str()); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); + pUser->SendLoyaltyChange(150); + } + else + { + g_pMain->SendAnnouncement(sRecoMonu.c_str()); + } + } +} + + +void CNpc::HPTimeChangeType3() +{ + if (isDead() + || !m_bType3Flag || isPlayer()) + return; + + uint16 totalActiveDurationalSkills = 0, + totalActiveDOTSkills = 0; + + bool bIsDOT = false; + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + MagicType3 * pEffect = &m_durationalSkills[i]; + if (!pEffect->m_byUsed) + continue; + + // Has the required interval elapsed before using this skill? + if ((UNIXTIME - pEffect->m_tHPLastTime) >= pEffect->m_bHPInterval) + { + Unit * pUnit = g_pMain->GetUnitPtr(pEffect->m_sSourceID); + + if (pUnit == nullptr) + continue; + + if (!isInRangeSlow(pUnit, 50.0f)) + m_bType3Flag = false; + + // Reduce the HP + HpChange(pEffect->m_sHPAmount, pUnit); // do we need to specify the source of the DOT? + pEffect->m_tHPLastTime = UNIXTIME; + + if (pEffect->m_sHPAmount < 0) + bIsDOT = true; + + // Has the skill expired yet? + if (++pEffect->m_bTickCount == pEffect->m_bTickLimit) + { + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + + // Healing-over-time skills require the type 100 + if (pEffect->m_sHPAmount > 0) + result << uint8(100); + else // Damage-over-time requires 200. + result << uint8(200); + + Send_AIServer(&result); + + pEffect->Reset(); + } + } + + if (pEffect->m_byUsed) + { + totalActiveDurationalSkills++; + if (pEffect->m_sHPAmount < 0) + totalActiveDOTSkills++; + } + } + + // Have all the skills expired? + if (totalActiveDurationalSkills == 0) + m_bType3Flag = false; +} + +void CNpc::Type4Duration() +{ + Guard lock(m_buffLock); + if (m_buffMap.empty()) + return; + + foreach (itr, m_buffMap) + { + if (itr->second.m_tEndTime > UNIXTIME) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, true, false); + break; // only ever handle one at a time with the current logic + } +} + diff --git a/server/GameServer/Npc.h b/server/GameServer/Npc.h new file mode 100644 index 0000000..d0d3b02 --- /dev/null +++ b/server/GameServer/Npc.h @@ -0,0 +1,127 @@ +#pragma once + +#include "LuaEngine.h" +#include "Unit.h" + +class CNpc : public Unit +{ +public: + virtual uint16 GetID() { return m_sNid; } + virtual std::string & GetName() { return m_strName; } + INLINE void SetNPCEventRoom(uint16 nEventRoom) { m_bEventRoom = nEventRoom; } + time_t cubeisactive; + uint16 m_sNid; // NPC ID + uint16 m_sSid; // prototype ID + short m_sPid; // MONSTER(NPC) Picture ID + short m_sSize; // MONSTER(NPC) Size + int m_iWeapon_1; + int m_iWeapon_2; + std::string m_strName; // MONSTER(NPC) Name + int m_iMaxHP; // ÃÖ´ë HP + int m_iHP; // ÇöÀç HP + uint8 m_byState; // ¸ó½ºÅÍ (NPC) »óÅ + uint8 m_tNpcType; // NPC Type + // 0 : Normal Monster + // 1 : NPC + // 2 : °¢ ÀÔ±¸,Ãⱸ NPC + // 3 : °æºñº´ + int m_iSellingGroup; // ItemGroup + + uint8 m_NpcState; // NPCÀÇ »óÅ - »ì¾Ò´Ù, Á×¾ú´Ù, ¼­ÀÖ´Ù µîµî... + bool m_byGateOpen; // Gate status: true is open, false is closed. + uint8 m_JuraidGateOpen; + + uint8 m_byObjectType; // º¸ÅëÀº 0, objectŸÀÔ(¼º¹®, ·¹¹ö)Àº 1 + int16 m_byDirection; + bool m_bIsEventNpc; + bool nIsPet; + uint64 nSerial; + std::string strUserName,strPetName; + uint16 UserId; + + uint8 m_byTrapNumber; + + bool m_bMonster; // are we a monster or an NPC? + + int16 m_oSocketID; // owner user + uint16 m_bEventRoom; + +public: + CNpc(); + + void Initialize(); + void AddToRegion(int16 new_region_x, int16 new_region_z); + + void MoveResult(float xpos, float ypos, float zpos, float speed); + void GetInOut(Packet & result, uint8 bType); + void SendInOut(uint8 bType, float fx, float fz, float fy); + void GetNpcInfo(Packet & pkt, uint8 myNation = -1); + void SendGateFlag(uint8 bFlag = -1, bool bSendAI = true); + void HpChange(int amount, Unit *pAttacker = nullptr, bool bSendToAI = true); + void HpChangeMagic(int amount, Unit *pAttacker = nullptr, AttributeType attributeType = AttributeNone); + void HPTimeChangeType3(); + typedef std::map NpcSavedMagicMap; + void Type4Duration(); + INLINE bool isLockableScroll(uint8 buffType) { return (buffType == BUFF_TYPE_HP_MP || buffType == BUFF_TYPE_AC || buffType == BUFF_TYPE_STATS || buffType == BUFF_TYPE_DAMAGE || buffType == BUFF_TYPE_FISHING || buffType == BUFF_TYPE_BATTLE_CRY); } + void SendHpChangeToAI(uint16 sTargetID, int amount, AttributeType attributeType = AttributeNone); + void MSpChange(int amount); + + bool CastSkill(Unit * pTarget, uint32 nSkillID); + void InitType3(); + void InitType4(bool bRemoveSavedMagic = false, uint8 buffType = 0); + void OnDeath(Unit *pKiller); + void OnDeathProcess(Unit *pKiller); + void ChaosStoneProcess(CUser *pUser, uint16 MonsterCount); + void PVPMonumentProcess(CUser *pUser); + void BattleMonumentProcess(CUser *pUser); + void NationMonumentProcess(CUser *pUser); + void OnRespawn(); + void CZMonumentProcess(CUser *pUser); + bool isDead() { return m_NpcState == NPC_DEAD || m_iHP <= 0; }; + + INLINE bool isMonster() { return m_bMonster; } + INLINE bool isGuard() { return GetType() == NPC_GUARD || GetType() == NPC_PATROL_GUARD || GetType() == NPC_STORE_GUARD; }; + INLINE bool isGate() { return GetType() == NPC_GATE || GetType() == NPC_PHOENIX_GATE || GetType() == NPC_SPECIAL_GATE || GetType() == NPC_VICTORY_GATE || GetType() == NPC_GATE2 || GetType() == NPC_KJWAR || GetType() == NPC_BORDER_MONUMENT;}; + INLINE bool isGateOpen() { return m_byGateOpen; }; + INLINE bool isGateClosed() { return !isGateOpen(); }; + + INLINE short GetProtoID() { return m_sSid; }; + INLINE uint8 GetType() { return m_tNpcType; }; + INLINE short GetSpid() { return m_sPid; }; + INLINE uint8 GetState() { return m_byState; }; + + virtual int32 GetHealth() { return m_iHP; } + virtual int32 GetMaxHealth() { return m_iMaxHP; } + virtual int32 GetMana() { return 0; } + virtual int32 GetMaxMana() { return 0; } + + bool isHostileTo(Unit * pTarget); + + short GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + short GetDamage(CUser *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + short GetDamage(CNpc *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + + float GetRewardModifier(uint8 byLevel); + float GetPartyRewardModifier(uint32 nPartyLevel, uint32 nPartyMembers); + + virtual ~CNpc(); + + DECLARE_LUA_CLASS(CNpc); + + DECLARE_LUA_GETTER(GetID) + DECLARE_LUA_GETTER(GetProtoID) + DECLARE_LUA_GETTER(GetName) + DECLARE_LUA_GETTER(GetNation) + DECLARE_LUA_GETTER(GetType) + DECLARE_LUA_GETTER(GetZoneID) + DECLARE_LUA_GETTER(GetX) + DECLARE_LUA_GETTER(GetY) + DECLARE_LUA_GETTER(GetZ) + + DECLARE_LUA_FUNCTION(CastSkill) { + LUA_RETURN(LUA_GET_INSTANCE()->CastSkill( + reinterpret_cast(LUA_ARG(CUser *, 2)), + LUA_ARG(uint32, 3) + )); + } +}; \ No newline at end of file diff --git a/server/GameServer/PBACS.h b/server/GameServer/PBACS.h new file mode 100644 index 0000000..0fe9a1d --- /dev/null +++ b/server/GameServer/PBACS.h @@ -0,0 +1,115 @@ +bool biguard=0; +unsigned int radd[29]; +unsigned int thadd[29]; +unsigned char opcode[29]; +// tmm reyiz + +void iGuardLoad(){// byte ilemesi lazm ama servera res lazm + +radd[0]=0x004A90D3; +opcode[0]=0x2B; +thadd[0]=0x015E1600; +radd[1]=0x004A9C16; +opcode[1]=0x04; +thadd[1]=0x015E1600; +radd[2]=0x004DFE54; +opcode[2]=0x06; +thadd[2]=0x015E1600; +radd[3]=0x006E3B58; +opcode[3]=0x48; +thadd[3]=0x015E1600; +radd[4]=0x00868E75; +opcode[4]=0x31; +thadd[4]=0x015E1600; +radd[5]=0x0080E0C8; +opcode[5]=0x30; +thadd[5]=0x015E1600; +radd[6]=0x004E19F7; +opcode[6]=0x68; +thadd[6]=0x015E1600; +radd[7]=0x005F529A; +opcode[7]=0x68; +thadd[7]=0x015E1600; +radd[8]=0x005F532B; +opcode[8]=0x68; +thadd[8]=0x015E1600; +radd[9]=0x004E0E71; +opcode[9]=0x30; +thadd[9]=0x015E1600; +radd[10]=0x006007C2; +opcode[10]=0x30; +thadd[10]=0x015E1600; +radd[11]=0x0080D347; +opcode[11]=0x30; +thadd[11]=0x015E1600; +radd[12]=0x0080D494; +opcode[12]=0x30; +thadd[12]=0x015E1600; +radd[13]=0x0062B054; +opcode[13]=0x68; +thadd[13]=0x015E1600; +radd[14]=0x0062B17A; +opcode[14]=0x68; +thadd[14]=0x015E1600; +radd[15]=0x0062B0B4; +opcode[15]=0x68; +thadd[15]=0x015E1600; +radd[16]=0x0062DE22; +opcode[16]=0x68; +thadd[16]=0x015E1600; +radd[17]=0x005F5113; +opcode[17]=0x68; +thadd[17]=0x015E1600; +radd[18]=0x005F5185; +opcode[18]=0x68; +thadd[18]=0x015E1600; +radd[19]=0x005F51D3; +opcode[19]=0x68; +thadd[19]=0x015E1600; +radd[20]=0x005F5DF7; +opcode[20]=0x68; +thadd[20]=0x015E1600; +radd[21]=0x0062B00A; +opcode[21]=0x68; +thadd[21]=0x015E1600; +radd[22]=0x0062C2C2; +opcode[22]=0x68; +thadd[22]=0x015E1600; +radd[23]=8891056; +opcode[23]=0x31; +thadd[23]=0x015E1600;//6f68f1 87b42e +radd[24]=0x6f68f1; +opcode[24]=0x31; +thadd[24]=0x015E1600; +radd[25]=0x87b42e; +opcode[25]=0x31; +thadd[25]=0x015E1600;// yeppa +/*7301853 49 +8441621 48 +8446070 48*/ +radd[26]=7301853; +opcode[26]=49; +thadd[26]=0x015E1600;// yeppa + +radd[27]=8441621; +opcode[27]=48; +thadd[27]=0x015E1600;// yeppa + +radd[28]=8446070; +opcode[28]=48; +thadd[28]=0x015E1600;// yepparadd[25]=0x87b42e; + +biguard=1; +} + +bool checkiguard(unsigned int nerdengeldi,unsigned char command){ + if (!biguard) iGuardLoad(); + if (nerdengeldi > 0x900000) return false; + if (command == 0x2b || command == 0x31 || command == 0x30 || command == 0x68 || command == 0x48 || command == 0x06 + || command == 0x04 ){ + for (int i =0;i<29;i++){ + if (radd[i] == nerdengeldi && opcode[i] == command) return true; + } return false; + } + return true; +} \ No newline at end of file diff --git a/server/GameServer/PartyHandler.cpp b/server/GameServer/PartyHandler.cpp new file mode 100644 index 0000000..3443d0b --- /dev/null +++ b/server/GameServer/PartyHandler.cpp @@ -0,0 +1,650 @@ +#include "stdafx.h" +#include "../shared/KOSocketMgr.h" +#include +using namespace std; + +void CUser::PartyProcess(Packet & pkt) +{ + // TODO: Clean this entire system up. + string strUserID; + CUser *pUser; + uint8 opcode = pkt.read(); + switch (opcode) + { + case PARTY_CREATE: // Attempt to create a party. + case PARTY_INSERT: // Attempt to invite a user to an existing party. + pkt >> strUserID; + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE) + return; + + pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + return; + + PartyRequest(pUser->GetSocketID(), (opcode == PARTY_CREATE)); + break; + + // Did the user we invited accept our party invite? + case PARTY_PERMIT: + if (pkt.read()) + PartyInsert(); + else + PartyCancel(); + break; + + // Authorises a member as the new party leader + case PARTY_PROMOTE: + PartyPromote(pkt.read()); + break; + + // Remove a user from our party. + case PARTY_REMOVE: + PartyRemove(pkt.read()); + break; + + // Disband our party. + case PARTY_DELETE: + PartyDelete(); + break; + } +} + +void CUser::PartyCancel() +{ + int leader_id = -1, count = 0; + + if (!isInParty()) + return; + + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return; + + leader_id = pParty->uid[0]; + CUser *pUser = g_pMain->GetUserPtr(leader_id); + if (pUser == nullptr) + return; + + m_bInParty = false; + m_sPartyIndex = -1; + m_sPartyRequest = -1; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + if (pParty->uid[i] >= 0) + count++; + } + + if (count == 1) + pUser->PartyDelete(); + + Packet result(WIZ_PARTY, uint8(PARTY_INSERT)); + result << int16(-1); + pUser->Send(&result); +} + +void CUser::PartyRequest(int memberid, bool bCreate) +{ + Packet result; + int16 errorCode = -1, i=0; + _PARTY_GROUP* pParty = nullptr; + + CUser *pUser = g_pMain->GetUserPtr(memberid); + if (pUser == nullptr + || pUser == this + || pUser->isInParty()) + goto fail_return; + + // Only allow partying of the enemy nation in Moradon or FT. + // Also, we threw in a check to prevent them from partying from other zones. + if ((GetNation() != pUser->GetNation() && (GetZoneID() != ZONE_MORADON && GetZoneID() != ZONE_MORADONM2) + && GetZoneID() != ZONE_FORGOTTEN_TEMPLE && GetZoneID() != ZONE_LOST_TEMPLE) + || GetZoneID() != pUser->GetZoneID() + || (GetZoneID() == ZONE_DELOS && pUser->GetClanID() != GetClanID()) + || GetZoneID() == ZONE_CHAOS_DUNGEON + || GetZoneID() == ZONE_STONE1 || GetZoneID() == ZONE_STONE2 || GetZoneID() == ZONE_STONE3) + { + errorCode = -3; + goto fail_return; + } + + // Players taking the beginner/"chicken" quest can party anyone. + if (!m_bIsChicken) + { + // Players in the same clan can party together, no matter the level difference. + if (!isInClan() + || GetClanID() != pUser->GetClanID()) + { + if (!((pUser->GetLevel() <= (int)(GetLevel() * 1.5) && pUser->GetLevel() >= (int)(GetLevel() * 2 / 3)) + || (pUser->GetLevel() <= (GetLevel() + 8) && pUser->GetLevel() >= ((int)(GetLevel()) - 8)))) + { + errorCode = -2; + goto fail_return; + } + } + } + + if (!bCreate) + { + pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + goto fail_return; + + for (i = 0; i < MAX_PARTY_USERS; i++) + { + if (pParty->uid[i] < 0) + break; + } + if (i == MAX_PARTY_USERS) + goto fail_return; // party is full + } + else + { + if (isInParty()) + goto fail_return; // can't create a party if we're already in one + + pParty = g_pMain->CreateParty(this); + if (pParty == nullptr) + goto fail_return; + + m_bPartyLeader = true; + StateChangeServerDirect(6, 1); // give party leader the 'P' symbol + + result.Initialize(AG_USER_PARTY); + result << uint8(PARTY_CREATE) << pParty->wIndex << pParty->uid[0]; + Send_AIServer(&result); + } + + pUser->m_sPartyRequest = m_sPartyIndex; + + result.Initialize(WIZ_PARTY); + result << uint8(PARTY_PERMIT) << GetSocketID() << GetName(); + pUser->Send(&result); + return; + +fail_return: + result.Initialize(WIZ_PARTY); + result << uint8(PARTY_INSERT) << errorCode; + Send(&result); +} + +void CUser::PartyInsert() +{ + Packet result(WIZ_PARTY); + CUser* pUser = nullptr; + _PARTY_GROUP* pParty = nullptr; + uint8 byIndex = 0xFF; + int leader_id = -1; + m_sPartyIndex= m_sPartyRequest; + m_bInParty = true; + + if (!isInParty()) + return; + + pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + { + m_bInParty = false; + m_sPartyIndex = -1; + return; + } + + leader_id = pParty->uid[0]; + pUser = g_pMain->GetUserPtr(leader_id); + if (pUser == nullptr) + return; + + if (pUser->GetZoneID() != GetZoneID() + || GetPartyMemberAmount(pParty) == MAX_PARTY_USERS) + { + PartyCancel(); + return; + } + + // make sure user isn't already in the array... + // kind of slow, but it works for the moment + foreach_array (i, pParty->uid) + { + if (pParty->uid[i] == GetSocketID()) + { + m_bInParty = false; + m_sPartyIndex = -1; + pParty->uid[i] = -1; + return; + } + } + + // Send the played who just joined the existing party list + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + // No player set? + if (pParty->uid[i] < 0) + { + // If we're not in the list yet, add us. + if (byIndex == 0xFF) + { + pParty->uid[i] = GetSocketID(); + byIndex = i; + } + continue; + } + + // For everyone else, + pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + result.clear(); + result << uint8(PARTY_INSERT) << pParty->uid[i] + << uint8(1) // success + << pUser->GetName() + << pUser->m_iMaxHp << pUser->m_sHp + << pUser->GetLevel() << pUser->m_sClass + << pUser->m_iMaxMp << pUser->m_sMp + << pUser->GetNation(); + Send(&result); + } + + pUser = g_pMain->GetUserPtr(pParty->uid[0]); + if (pUser == nullptr) + return; + + if (pUser->m_bNeedParty == 2 && pUser->isInParty()) + pUser->StateChangeServerDirect(2, 1); + + if (m_bNeedParty == 2 && isInParty()) + StateChangeServerDirect(2, 1); + + result.clear(); + result << uint8(PARTY_INSERT) << GetSocketID() + << uint8(1) // success + << GetName() + << m_iMaxHp << m_sHp + << GetLevel() << GetClass() + << m_iMaxMp << m_sMp + << GetNation(); + g_pMain->Send_PartyMember(GetPartyID(), &result); + + result.Initialize(AG_USER_PARTY); + result << uint8(PARTY_INSERT) << pParty->wIndex << byIndex << GetSocketID(); + Send_AIServer(&result); +} + +void CUser::PartyPromote(uint16 sMemberID) +{ + // Only the existing party leader can promote a new party leader. + if (!isPartyLeader()) + return; + + // Ensure this user exists and that they're in our party already. + CUser * pUser = g_pMain->GetUserPtr(sMemberID); + if (pUser == nullptr + || pUser->GetPartyID() != GetPartyID()) + return; + + // Ensure this party exists. + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return; + + // Find the position of the user to promote in the array. + uint8 pos = 0; + for (uint8 i = 1; i < MAX_PARTY_USERS; i++) + { + if (pParty->uid[i] != sMemberID) + continue; + + pos = i; + break; + } + + // Didn't find it? (leader's always position 0, no need to check there) + if (pos == 0) + return; + + // Swap the IDs around, so they have the leadership position. + std::swap(pParty->uid[0], pParty->uid[pos]); + + // Swap the seeking party & leader flags + std::swap(m_bNeedParty, pUser->m_bNeedParty); + std::swap(m_bPartyLeader, pUser->m_bPartyLeader); + + // Remove our leadership state from the client + StateChangeServerDirect(6, 0); // remove 'P' symbol from old party leader + StateChangeServerDirect(2, m_bNeedParty); // seeking a party + + // Make them leader. + pUser->StateChangeServerDirect(6, 1); // assign 'P' symbol to new party leader + pUser->StateChangeServerDirect(2, pUser->m_bNeedParty); // seeking a party + + Packet result(WIZ_PARTY, uint8(PARTY_INSERT)); + result << pUser->GetSocketID() + << uint8(100) // reset position to leader + << pUser->GetName() + << pUser->m_iMaxHp << pUser->m_sHp + << pUser->GetLevel() << pUser->GetClass() + << pUser->m_iMaxMp << pUser->m_sMp + << pUser->GetNation(); + g_pMain->Send_PartyMember(GetPartyID(), &result); + + // Now update the slots in the AI server. + result.Initialize(AG_USER_PARTY); + + // Shift the ex-leader to the promoted player's slot + result << uint8(PARTY_INSERT) << pParty->wIndex << pos << GetSocketID(); + Send_AIServer(&result); + + // Shift the leader to the ex-leader's slot (0). + result << uint8(PARTY_INSERT) << pParty->wIndex << uint8(0) << pUser->GetSocketID(); + Send_AIServer(&result); +} + +void CUser::PartyRemove(int memberid) +{ + if (!isInParty()) + return; + + CUser *pUser = g_pMain->GetUserPtr(memberid); + if (pUser == nullptr) + return; + + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + { + m_bInParty = pUser->m_bInParty = false; + m_sPartyIndex = pUser->m_sPartyIndex = -1; + return; + } + + if (memberid != GetSocketID()) + { + if (pParty->uid[0] != GetSocketID()) + return; + } + else + { + if (pParty->uid[0] == memberid) + { + PartyDelete(); + return; + } + } + + int count = 0, memberPos = -1; + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + if (pParty->uid[i] < 0) + continue; + else if (pParty->uid[i] == memberid) + { + memberPos = i; + continue; + } + + count++; + } + + if (count == 1) + { + CUser *pPartyLeader = g_pMain->GetUserPtr(pParty->uid[0]); + if (pPartyLeader == nullptr) + return; + else + pPartyLeader->PartyDelete(); + return; + } + + Packet result(WIZ_PARTY, uint8(PARTY_REMOVE)); + result << uint16(memberid); + g_pMain->Send_PartyMember(m_sPartyIndex, &result); + + if (memberPos >= 0) + { + pUser->m_bInParty = false; + pUser->m_sPartyIndex = pParty->uid[memberPos] = -1; + } + + // AI Server + result.Initialize(AG_USER_PARTY); + result << uint8(PARTY_REMOVE) << pParty->wIndex << uint16(memberid); + Send_AIServer(&result); +} + +void CUser::PartyDelete() +{ + if (!isInParty()) + return; + + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + { + m_bInParty = false; + m_sPartyIndex = -1; + return; + } + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser != nullptr) + { + pUser->m_bInParty = false; + pUser->m_sPartyIndex = -1; + } + } + + Packet result(WIZ_PARTY, uint8(PARTY_DELETE)); + g_pMain->Send_PartyMember(pParty->wIndex, &result); + result.Initialize(AG_USER_PARTY); + + m_bPartyLeader = false; + StateChangeServerDirect(6, 0); // remove 'P' symbol from party leader + + result << uint8(PARTY_DELETE) << uint16(pParty->wIndex); + Send_AIServer(&result); + g_pMain->DeleteParty(pParty->wIndex); +} + +// Seeking party system +void CUser::PartyBBS(Packet & pkt) +{ + uint8 opcode = pkt.read(); + switch (opcode) + { + case PARTY_BBS_REGISTER: + PartyBBSRegister(pkt); + break; + case PARTY_BBS_DELETE: + PartyBBSDelete(pkt); + break; + case PARTY_BBS_NEEDED: + PartyBBSNeeded(pkt, PARTY_BBS_NEEDED); + break; + case PARTY_BBS_WANTED: + PartyBBSWanted(pkt); + break; + case PARTY_BBS_LIST: + SendPartyBBSNeeded(0, PARTY_BBS_LIST); + break; + } +} + +void CUser::PartyBBSRegister(Packet & pkt) +{ + int counter = 0; + + if (isInParty() // You are already in a party! + || m_bNeedParty == 2) // You are already on the BBS! + { + Packet result(WIZ_PARTY_BBS, uint8(PARTY_BBS_REGISTER)); + result << uint8(0); + Send(&result); + return; + } + + StateChangeServerDirect(2, 2); // seeking a party + + // TODO: Make this a more localised map + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + if (pUser->GetNation() != GetNation() + || pUser->m_bNeedParty == 1) + continue; + + if(!((pUser->GetLevel() <= (int)(GetLevel() * 1.5) && pUser->GetLevel() >= (int)(GetLevel() * 1.5)) + || (pUser->GetLevel() <= (GetLevel() + 8) && pUser->GetLevel() >= ((int)(GetLevel()) - 8)))) + continue; + + if (pUser->GetSocketID() == GetSocketID()) break; + counter++; + } + + SendPartyBBSNeeded(counter / MAX_BBS_PAGE, PARTY_BBS_LIST); +} + +void CUser::PartyBBSDelete(Packet & pkt) +{ + // You don't need anymore + if (m_bNeedParty == 1) + { + Packet result(WIZ_PARTY_BBS, uint8(PARTY_BBS_DELETE)); + result << uint8(0); + Send(&result); + return; + } + + StateChangeServerDirect(2, 1); // not looking for a party + SendPartyBBSNeeded(0, PARTY_BBS_DELETE); +} + +void CUser::PartyBBSNeeded(Packet & pkt, uint8 type) +{ + SendPartyBBSNeeded(pkt.read(), type); +} + +void CUser::SendPartyBBSNeeded(uint16 page_index, uint8 bType) +{ + Packet result(WIZ_PARTY_BBS); + + uint16 start_counter = 0, BBS_Counter = 0; + uint8 valid_counter = 0; + int j = 0; + + start_counter = page_index * MAX_BBS_PAGE; + + if (start_counter >= MAX_USER) + { + result << uint8(PARTY_BBS_NEEDED) << uint8(0); + Send(&result); + return; + } + + //0B01 0000 0C 0002 00 + + result << bType << uint8(1) << page_index << uint8(0x0a) << uint8(0); //Not sure what the last 2 bytes are. + + // TODO: Make this a more localised map + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + int i = -1; // start at -1, first iteration gets us to 0.+ +#if __VERSION > 2005 + result << uint16(0); +#endif + BOOST_FOREACH (auto itr, sessMap) + { + CUser *pUser = TO_USER(itr.second); + _PARTY_GROUP *pParty = nullptr; + string WantedMessage = "Seeking_Party"; + uint8 PartyMembers = 0; + uint16 sClass = pUser->m_sClass; + i++; + + if (GetZoneID() != pUser->GetZoneID() + || (GetNation() != pUser->GetNation() + && (GetZoneID() != ZONE_MORADON && GetZoneID() != ZONE_MORADONM2) + && GetZoneID() != ZONE_FORGOTTEN_TEMPLE) + || (pUser->m_bNeedParty == 1 && !pUser->m_bPartyLeader)) + //|| !((pUser->GetLevel() <= (int)(GetLevel() * 1.5) && pUser->GetLevel() >= (int)(GetLevel() * 2 / 3)) + //|| (pUser->GetLevel() <= (GetLevel() + 8) && pUser->GetLevel() >= ((int)(GetLevel()) - 8)))) + continue; + + BBS_Counter++; + + if (i < start_counter + || valid_counter >= MAX_BBS_PAGE) + continue; + + if (pUser->m_bPartyLeader) + { + pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty == nullptr) //Shouldn't be hit. + return; + WantedMessage = pParty->WantedMessage; + PartyMembers = GetPartyMemberAmount(pParty); + sClass = pParty->sWantedClass; + } + + result.DByte(); + result << pUser->GetName() + << sClass + << uint16(0) << pUser->GetLevel() //Not sure what that uint16 does. + << uint8(0) << uint8(pUser->m_bPartyLeader ? 3 : 2); //2 is player, 3 is party leader + result.SByte(); + result << WantedMessage + << pUser->GetZoneID() + << PartyMembers + << pUser->GetNation(); + +#if __VERSION > 2005 + result << uint8(0); +#endif + + valid_counter++; + } + + // You still need to fill up ten slots. + if (valid_counter < MAX_BBS_PAGE) + { + for (int j = valid_counter; j < MAX_BBS_PAGE; j++) + result << uint16(0) << uint16(0) + << uint16(0) << uint8(0) + << uint8(0) << uint8(0) << uint8(0) + << uint16(0) + << uint8(0); + } + + result << page_index << BBS_Counter; + Send(&result); +} + +void CUser::PartyBBSWanted(Packet & pkt) +{ + uint16 page_index = 0; + if (!isPartyLeader()) + return; + + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return; + + pkt >> pParty->sWantedClass >> page_index >> pParty->WantedMessage; + SendPartyBBSNeeded(page_index, PARTY_BBS_WANTED); +} + +uint8 CUser::GetPartyMemberAmount(_PARTY_GROUP *pParty) +{ + if (pParty == nullptr) + pParty = g_pMain->GetPartyPtr(GetPartyID()); + + if (pParty == nullptr) + return 0; + + uint8 PartyMembers = 0; + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + if(pParty->uid[i] >= 0) + PartyMembers++; + } + return PartyMembers; +} diff --git a/server/GameServer/Pet.cpp b/server/GameServer/Pet.cpp new file mode 100644 index 0000000..896b125 --- /dev/null +++ b/server/GameServer/Pet.cpp @@ -0,0 +1,320 @@ +#include "stdafx.h" +#include "Map.h" +#include "DBAgent.h" + +CPet::CPet() : Unit(UnitType::UnitPet) +{ + CPet::Initialize(); +} + +void CPet::Initialize() +{ + m_MovingMap.DeleteAllData(); + memset(m_sItemArray, 0x00, sizeof(m_sItemArray)); + SpecialPetID = 0; + isMoving = false; + isDropping = false; + + + m_sSid = 0; + m_sPid = 0; + m_sSize = 100; + m_strPetID.clear(); + m_byState = 0; + m_iSellingGroup = 0; + m_byDirection = 0; + m_iWeapon_1 = 0; + m_iWeapon_2 = 0; + m_oSocketID = -1; + m_bEventRoom = 0; + + m_NpcState = NPC_LIVE; + m_iExp = 0; + m_bLevel = 0; + m_sClass = 0; + m_bNation = 0; + m_sSatisfaction = 0; + m_Serial = 0; + m_sMaxHp = 0; + m_sMaxMp = 0; + m_sHp = 0; + m_sMp = 0; + m_sAttack = 0; + m_sAc = 0; + + m_bResistanceBonus = 0; + m_sFireR = m_sColdR = m_sLightningR = m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; + + m_pNpc = nullptr; + mode = 0; + LastStep = 1; + LastMovedTime = 0; + Unit::Initialize(); +} + +CPet::~CPet() +{ + +} + +void CPet::AddtoMovingMap(float toX, float toY, float toZ, uint8 speed, bool IsDrop, uint32 BundleID) +{ + if(m_pNpc == nullptr) + return; + + _PET_MOVE * pMove = new _PET_MOVE; + + pMove->X = toX; + pMove->Y = toY; + pMove->Z = toZ; + pMove->Speed = speed; + pMove->Time = uint32(UNIXTIME); + pMove->Drop = IsDrop; + pMove->BundleID = BundleID; + + Moving(toX,toY,toZ,speed); + m_MovingMap.PutData(LastStep, pMove); + LastStep++; +} + +void CPet::SendMoveResult(float fX, float fY, float fZ, float fSpeed /*= 0.0f*/) +{ + Packet result(MOVE_RESULT, uint8(SUCCESS)); + result << m_pNpc->GetID() << fX << fZ << fY << fSpeed; + g_pMain->Send_AIServer(&result); +} + +void CPet::Moving(float toX, float toY, float toZ, uint8 Speed) +{ + if(this == nullptr || m_pNpc == nullptr) + return; + + m_pNpc->SetPosition(toX, toY, toZ); + m_pNpc->RegisterRegion(); + SendMoveResult(toX,toY,toZ,Speed); + Packet result2(WIZ_NPC_MOVE); + result2 << uint8(Speed) << m_pNpc->GetID() << m_pNpc->GetSPosX() << m_pNpc->GetSPosZ() << m_pNpc->GetSPosY() << uint16(1); + m_pNpc->SendToRegion(&result2); + LastMovedTime = uint32(UNIXTIME); +} + +void CPet::SummonPet(CUser * pSessionz) +{ + pSession = pSessionz; + pSession->SummonPetID = SpecialPetID; + + if(pSession->SummonPetID < 1) + return ; + + m_NpcState = NPC_LIVE; + m_sNid = pSession->GetSocketID() + INVALID_BAND; + m_sSid = 19019; + m_sPid = 25500; + m_sSize = 80; + m_iWeapon_1 = m_iWeapon_2 = 0; + m_bZone = pSession->GetZoneID(); + m_bNation= pSession->GetNation(); + m_bLevel = 1; + m_curx = pSession->m_curx; + m_curz = pSession->m_curz; + m_cury =pSession->m_cury; + m_iSellingGroup = 0 ; + m_fTotalHitrate = 0; + m_fTotalEvasionrate = 0; + m_sTotalAc = 0; + m_sTotalHit = 5; + m_byDirection = 45; + m_oSocketID = pSession->GetSocketID() + INVALID_BAND; + m_bEventRoom = pSession->m_bEventRoom; + m_sFireR = m_sColdR = m_sLightningR = 0; + m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; + m_sAttack = 20; + m_sAc = 5; + m_sMaxHp = 100; + m_sMaxMp = 100; + m_sHp = 100; + m_sMp = 100; + m_bMonster = false; + + + g_pMain->SpawnEventNpc(m_sSid,false,m_bZone,m_curx,m_cury,m_curz,1,2,0,m_bNation,m_oSocketID,m_bEventRoom, true, GetName(), pSession->GetName(), m_Serial, pSession->GetID()); + +} + +void CPet::GetInOut(Packet& result, uint8 bType) +{ + +} + +void CPet::AddToRegion(int16 new_region_x, int16 new_region_z) +{ + +} + +void CPet::OnAttack(Unit* pTarget, AttackType attackType) +{ + +} + +void CPet::OnDefend(Unit* pAttacker, AttackType attackType) +{ + +} + +void CPet::InsertSavedMagic(uint32 nSkillID, uint16 sDuration) +{ + +} + +void CPet::HpChange(int amount, Unit* pAttacker, bool bSendToAI) +{ + if(m_pNpc == nullptr) + return; + + CUser * pUser = g_pMain->GetUserPtr(m_pNpc->UserId); + + if(pUser == nullptr) + return; + + Packet result(WIZ_PET); + result << uint8(1) << uint8(7) << uint16(m_pNpc->GetMaxHealth()) << uint16(m_pNpc->GetHealth()); + pUser->Send(&result); + + if(m_pNpc->isDead()) + { + + Guard lock(pUser->_unitlock); + Type9BuffMap & buffMap = pUser->m_type9BuffMap; + g_DBAgent.UpdatePetData(m_Serial,this); + // Ensure this type of skill isn't already in use. + + Packet result2(WIZ_PET); + result2 << uint8(1) << uint8(5) << uint8(2) << uint16(1); + pUser->SendToRegion(&result2); + g_pMain->m_LivingPetArray.erase(m_Serial); + if (buffMap.find(8) != buffMap.end()) + return; + + buffMap.insert(std::make_pair(8, _BUFF_TYPE9_INFO(500117, UNIXTIME - 1))); + + } + // NOTE: This will handle the death notification/looting. + if (bSendToAI) + m_pNpc->SendHpChangeToAI(m_pNpc->m_sNid, m_pNpc->nIsPet && m_pNpc->nSerial > 0 && isDead() ? -50000 : amount); + +} + +void CPet::Dead() +{ + if(m_pNpc == nullptr) + return; + + if(m_pNpc->GetHealth() > 0) + m_pNpc->HpChange(-m_pNpc->GetHealth(),nullptr,true); + + +} + +void CPet::HpChangeMagic(int amount, Unit* pAttacker, AttributeType attributeType) +{ + +} + +void CPet::ExpChange(int amount) +{ + + CUser * pUser = g_pMain->GetUserPtr(m_pNpc->UserId); + + if(pUser == nullptr) + return; + + uint64 MaxEXP = g_pMain->GetPetExpByLevel(m_bLevel); + + m_iExp += amount; + if (m_iExp < 0) + m_iExp = 0; + else if (m_iExp > MaxEXP && m_bLevel < MAX_LEVEL_PET) + { + m_iExp -= MaxEXP; + m_bLevel++; + }else if(m_iExp > MaxEXP && m_bLevel == MAX_LEVEL_PET) + m_iExp = MaxEXP; + + + Packet result(WIZ_PET); + result << uint8(1) << uint8(10) << uint64(amount) << uint16((m_iExp* 10000) / g_pMain->GetPetExpByLevel(m_bLevel)) << m_bLevel << m_sSatisfaction; + pUser->Send(&result); + +} + +void CPet::MSpChange(int amount) +{ + + CUser * pUser = g_pMain->GetUserPtr(m_pNpc->UserId); + + if(pUser == nullptr) + return; + + m_sMp += amount; + if (m_sMp < 0) + m_sMp = 0; + else if (m_sMp > m_sMaxMp) + m_sMp = m_sMaxMp; + + + Packet result(WIZ_PET); + result << uint8(1) << uint8(13) << uint16(m_sMaxMp) << uint16(m_sMp); + pUser->Send(&result); + +} + +void CPet::UpdatePetItem() +{ + + + CUser * pUser = g_pMain->GetUserPtr(m_pNpc->UserId); + + if(pUser == nullptr) + return; + + Packet result(WIZ_PET); + result.DByte(); + result << uint8(1) << uint8(14) << uint32(SpecialPetID) << m_strPetID << m_sClass << m_bLevel << uint16((m_iExp* 10000) / g_pMain->GetPetExpByLevel(m_bLevel)) << uint16(m_sSatisfaction); + pUser->Send(&result); + +} + +void CPet::SatisfactionChange(int amount) +{ + if(m_pNpc == nullptr) + return; + + CUser * pUser = g_pMain->GetUserPtr(m_pNpc->UserId); + + if(pUser == nullptr) + return; + + m_sSatisfaction += amount; + if (m_sSatisfaction < 0) + m_sSatisfaction = 0; + else if (m_sSatisfaction > 10000) + m_sSatisfaction = 10000; + + + if(amount > 0) + { + Packet result(WIZ_PET); + result << uint8(1) << uint8(16) << uint16(m_sSatisfaction); + pUser->Send(&result); + } + + Packet result(WIZ_PET); + result << uint8(1) << uint8(15) << uint16(m_sSatisfaction); + pUser->Send(&result); + //UpdatePetItem(); +} + +void CPet::StateChangeServerDirect(uint8 bType, uint32 nBuff) +{ + +} diff --git a/server/GameServer/Pet.h b/server/GameServer/Pet.h new file mode 100644 index 0000000..f3bf4ff --- /dev/null +++ b/server/GameServer/Pet.h @@ -0,0 +1,101 @@ +#pragma once + +#include "stdafx.h" +#include "Unit.h" + +class CGameServerDlg; +class CPet : public Unit +{ +public: + CPet(); + std::string m_strPetID; + uint16 m_sNid; + uint64 m_iExp; +typedef CSTLMap <_PET_MOVE> PetMovingMap; + PetMovingMap m_MovingMap; + uint32 LastStep; + _ITEM_DATA m_sItemArray[PET_MAX]; + uint32 SpecialPetID; + uint8 m_bLevel; + uint32 LastMovedTime; + uint16 m_sSatisfaction; + uint64 m_Serial; + bool isMoving; + bool isDropping; + uint8 mode; + uint8 m_sClass; + int m_sMaxHp,m_sHp,m_sMaxMp,m_sMp; + uint16 m_sAttack,m_sAc; + uint8 m_byState; // (NPC) + int m_iSellingGroup; // ItemGroup + int16 m_byDirection; + uint8 m_NpcState; // NPC - Ҵ, ׾, ִ ... + + short m_sPid; // MONSTER(NPC) Picture ID + short m_sSize; // MONSTER(NPC) Size + int m_iWeapon_1; + int m_iWeapon_2; + + uint8 m_bNation; + uint8 m_bZone; + float m_curx, m_curz, m_cury; + + INLINE float GetX() { return m_curx; } + INLINE float GetY() { return m_cury; } + INLINE float GetZ() { return m_curz; } + + INLINE uint16 GetSPosX() { return uint16(GetX() * 10); }; + INLINE uint16 GetSPosY() { return uint16(GetY() * 10); }; + INLINE uint16 GetSPosZ() { return uint16(GetZ() * 10); }; + + bool m_bMonster; // are we a monster or an NPC? + + CNpc * m_pNpc; + CUser* pSession; + + virtual void Initialize(); + virtual uint16 GetID() { return m_sNid; }; + virtual std::string & GetName() { return m_strPetID; }; + virtual int32 GetHealth() { return m_pNpc->GetHealth(); }; + virtual int32 GetMaxHealth() { return m_pNpc->GetMaxHealth(); }; + virtual int32 GetMana() { return m_pNpc->GetMana(); }; + virtual int32 GetMaxMana() { return m_pNpc->GetMaxMana(); }; + virtual bool isBlinking() { return m_pNpc->isBlinking(); }; + virtual bool isDead() { return m_pNpc->isDead(); }; + // 90 asas ve captain hz 67 swli hz + virtual void Moving(float toX, float toY, float toZ, uint8 Speed); + void SendMoveResult(float fX, float fY, float fZ, float fSpeed /*= 0.0f*/); + virtual void AddtoMovingMap(float toX, float toY, float toZ, uint8 speed, bool IsDrop, uint32 BundleID); + uint16 m_sSid; // prototype ID + INLINE short GetProtoID() { return m_sSid; }; + INLINE bool isMonster() { return m_bMonster; } + + void GetNpcInfos(Packet & pkt,CUser* pUser = nullptr); + + + virtual bool isAlive() { return m_pNpc->isAlive(); }; + virtual void GetInOut(Packet& result, uint8 bType); + virtual void AddToRegion(int16 new_region_x, int16 new_region_z); + virtual short GetDamage(Unit* pTarget, _MAGIC_TABLE* pSkill, bool bPreviewOnly){ return m_pNpc->GetDamage(pTarget, pSkill, bPreviewOnly); }; + virtual void OnAttack(Unit* pTarget, AttackType attackType); + virtual void OnDefend(Unit* pAttacker, AttackType attackType); + virtual void InsertSavedMagic(uint32 nSkillID, uint16 sDuration); + virtual bool HasSavedMagic(uint32 nSkillID) { return m_pNpc->HasSavedMagic(nSkillID); }; + virtual int16 GetSavedMagicDuration(uint32 nSkillID) { return m_pNpc->GetSavedMagicDuration(nSkillID); }; + virtual void HpChange(int amount, Unit* pAttacker, bool bSendToAI); + virtual void HpChangeMagic(int amount, Unit* pAttacker, AttributeType attributeType); + virtual void MSpChange(int amount); + virtual void ExpChange(int amount); + virtual void SatisfactionChange(int amount); + virtual void Dead(); + virtual void StateChangeServerDirect(uint8 bType, uint32 nBuff); + virtual bool isHostileTo(Unit* pTarget) { return m_pNpc->isHostileTo(pTarget); }; + virtual bool CanAttack(Unit* pTarget) { return m_pNpc->CanAttack(pTarget); }; + virtual bool isAttackable(Unit* pTarget) { return m_pNpc->isAttackable(pTarget); }; + virtual bool CanCastRHit(uint16 m_SocketID) { return m_pNpc->CanCastRHit(m_SocketID); }; + virtual bool isSameEventRoom(Unit* pTarget) { return m_pNpc->isSameEventRoom(pTarget); }; + virtual void SummonPet(CUser * pSessionz); + virtual void UpdatePetItem(); + + virtual ~CPet(); +}; \ No newline at end of file diff --git a/server/GameServer/PetLevelUpTable.h b/server/GameServer/PetLevelUpTable.h new file mode 100644 index 0000000..857dc73 --- /dev/null +++ b/server/GameServer/PetLevelUpTable.h @@ -0,0 +1,25 @@ +#pragma once + +class CLevelUpTableSet : public OdbcRecordset +{ +public: + CLevelUpTableSet(OdbcConnection * dbConnection, LevelUpArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("LEVEL_UP_PET"); } + virtual tstring GetColumns() { return _T("[Level], [Exp]"); } + + virtual bool Fetch() + { + std::pair pData; + + _dbCommand->FetchByte(1, pData.first); + _dbCommand->FetchInt64(2, pData.second); + + m_pMap->insert(pData); + + return true; + } + + LevelUpArray *m_pMap; +}; \ No newline at end of file diff --git a/server/GameServer/QuestHandler.cpp b/server/GameServer/QuestHandler.cpp new file mode 100644 index 0000000..7266ce8 --- /dev/null +++ b/server/GameServer/QuestHandler.cpp @@ -0,0 +1,594 @@ +#include "stdafx.h" +#include "KnightsManager.h" +#include + +void CUser::V3_QuestDataRequest() +{ + Packet result(WIZ_QUEST, uint8(1)); + result << uint16(m_questMap.size()); + + if(m_questMap.size() > 0) + foreach (itr, m_questMap) + result << itr->first << itr->second; + + Send(&result); +} + +void CUser::SendSkillQuestFinish() +{ + if (isWarrior() && isMastered()) + { + if (!V3_CheckExistEvent(334, 2)) + V3_QuestEvent(334, 2); + if (!V3_CheckExistEvent(359, 2)) + V3_QuestEvent(359, 2); + if (!V3_CheckExistEvent(365, 2)) + V3_QuestEvent(365, 2); + } + else if (isRogue() && isMastered()) + { + if (!V3_CheckExistEvent(335, 2)) + V3_QuestEvent(335, 2); + if (!V3_CheckExistEvent(347, 2)) + V3_QuestEvent(347, 2); + if (!V3_CheckExistEvent(360, 2)) + V3_QuestEvent(360, 2); + if (!V3_CheckExistEvent(366, 2)) + V3_QuestEvent(366, 2); + } + else if (isMage() && isMastered()) + { + if (!V3_CheckExistEvent(336, 2)) + V3_QuestEvent(336, 2); + if (!V3_CheckExistEvent(348, 2)) + V3_QuestEvent(348, 2); + if (!V3_CheckExistEvent(361, 2)) + V3_QuestEvent(361, 2); + if (!V3_CheckExistEvent(367, 2)) + V3_QuestEvent(367, 2); + } + else if (isPriest() && isMastered()) + { + if (!V3_CheckExistEvent(337, 2)) + V3_QuestEvent(337, 2); + if (!V3_CheckExistEvent(349, 2)) + V3_QuestEvent(349, 2); + if (!V3_CheckExistEvent(357, 2)) + V3_QuestEvent(357, 2); + if (!V3_CheckExistEvent(362, 2)) + V3_QuestEvent(362, 2); + if (!V3_CheckExistEvent(363, 2)) + V3_QuestEvent(363, 2); + if (!V3_CheckExistEvent(364, 2)) + V3_QuestEvent(364, 2); + if (!V3_CheckExistEvent(368, 2)) + V3_QuestEvent(368, 2); + } + else if (isKurianPortu() && isMastered()) + { + if (!V3_CheckExistEvent(1377, 2)) + V3_QuestEvent(1377, 2); + if (!V3_CheckExistEvent(1378, 2)) + V3_QuestEvent(1378, 2); + } +} + +void CUser::V3_QuestProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + uint32 nQuestID = pkt.read(); + + CNpc *pNpc = g_pMain->GetNpcPtr(m_sEventNid); + _QUEST_HELPER * pQuestHelper = g_pMain->m_QuestHelperArray.GetData(nQuestID); + // Does this quest helper exist? + if (pQuestHelper == nullptr) + return; + + uint16 nQuest = pQuestHelper->sEventDataIndex; + + // If we're the same min. level as the quest requires, + // do we have the min. required XP? Seems kind of silly, but OK.. + if (pQuestHelper->bLevel == GetLevel() && pQuestHelper->nExp > m_iExp) + return; + + switch (opcode) + { + case 3: + case 7: + V3_QuestExecuteHelper(pQuestHelper); + V3_QuestMonsterDataRequest(nQuest); + break; + + case 4: + V3_QuestCheckFulfill(pQuestHelper); + break; + + case 5: + if (!V3_CheckExistEvent(pQuestHelper->sEventDataIndex, 2)) + V3_QuestEvent(pQuestHelper->sEventDataIndex, 4); + + + V3_QuestMonsterDataDeleteAll(nQuest); + V3_QuestMonsterDataRequest(nQuest); + + + // Kick the user out of the quest zone. + // Monster suppression squad is the only zone I'm aware of that this should apply to. + if (GetZoneID() >= 81 && GetZoneID() <= 83) + KickOutZoneUser(true); + break; + + case 6: + if (!V3_CheckExistEvent(pQuestHelper->sEventDataIndex, 2)) + V3_QuestEvent(pQuestHelper->sEventDataIndex, 1); + break; + + case 12: + if (!V3_CheckExistEvent(pQuestHelper->sEventDataIndex, 3)) + V3_QuestEvent(pQuestHelper->sEventDataIndex, 1); + break; + } +} + +void CUser::V3_QuestEvent(uint16 sQuestID, uint8 bQuestState) +{ + if (V3_CheckExistEvent(sQuestID, 2) && (bQuestState ==2 || bQuestState ==1 || bQuestState ==4)) + { + Packet resultmer; + std::string bufferpro = string_format("[Quest Message] only can do one time"); + ChatPacket::Construct(&resultmer, 7, &bufferpro); + Send(&resultmer); + m_bAuthority = AUTHORITY_BANNED; + Disconnect(); + std::string BanNotice; + BanNotice=string_format("%s is currently blocked for illegal activity. Reason: Tried to do quest bug.", GetName().c_str()); + g_pMain->SendNotice(BanNotice.c_str(),Nation::ALL); + + printf("%s is currently blocked for illegal activity. Quest BUG \n",GetName().c_str()); + return; + } + _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(sQuestID); + _QUEST_HELPER * pQuestHelper = g_pMain->m_QuestHelperArray.GetData(sQuestID); + + if(sQuestID == STARTER_SEED_QUEST && m_questMap[sQuestID] == 1 && bQuestState == 2) + { + Packet video(WIZ_SELECT_MSG); + video << uint16(1) << uint8(15); + Send(&video); + } + + m_questMap[sQuestID] = bQuestState; + + // Don't need to handle special/kill quests any further + if (sQuestID >= QUEST_KILL_GROUP1 || sQuestID < 0) + return; + + Packet result(WIZ_QUEST, uint8(2)); + result << sQuestID << bQuestState; + Send(&result); + + if (bQuestState == 2) + { + _QUEST_HELPER * pHelper = nullptr; + uint32 jIndex = 0; + foreach_stlmap(itr, g_pMain->m_QuestHelperArray) + { + pHelper = itr->second; + + if(pHelper == nullptr) + continue; + + if (pHelper->sEventDataIndex != sQuestID) + continue; + + if (pHelper->bEventStatus != 2) + continue; + + jIndex = pHelper->nExchangeIndex; + break; + } +/* Now Closed. + + _ITEM_EXCHANGE * pItem = g_pMain->m_ItemExchangeArray.GetData(jIndex); + + if (pQuestMonster == nullptr) + { + for(int i = 0; i < ITEMS_IN_ORIGIN_GROUP; i++) + { + if(pItem != nullptr && pItem->nOriginItemNum[i] != 0) + { + RobItem(pItem->nOriginItemNum[i], pItem->sOriginItemCount[i]); + } + } + } + + RunExchange(jIndex);*/ + + V3_QuestMonsterDataDeleteAll(sQuestID); + V3_QuestMonsterDataRequest(sQuestID); + } + + if (bQuestState == 1 && pQuestMonster != nullptr) + { + //_QUEST_DATA * dQuest = m_QuestDataArray.GetData(sQuestID); + Quest_MonMap::iterator itr = m_QuestMonMap.find(sQuestID); + + if (itr == m_QuestMonMap.end()) + { + _QUEST_DATA * nQuest = new _QUEST_DATA; + //nQuest->dQuestID = sQuestID; + nQuest->dCKills[0] = 0; + nQuest->dCKills[1] = 0; + nQuest->dCKills[2] = 0; + nQuest->dCKills[3] = 0; + m_QuestMonMap.insert(std::make_pair(sQuestID, nQuest)); + } + + V3_QuestMonsterDataRequest(sQuestID); + } +} + +void CUser::V3_QuestExecuteHelper(_QUEST_HELPER * pQuestHelper) +{ + if (pQuestHelper == nullptr && pQuestHelper->bQuestType != 3) + return; + + V3_QuestRunEvent(pQuestHelper, pQuestHelper->nEventTriggerIndex); // NOTE: Fulfill will use nEventCompleteIndex +} + +void CUser::V3_QuestCheckFulfill(_QUEST_HELPER * pQuestHelper) +{ + if (pQuestHelper == nullptr || !V3_CheckExistEvent(pQuestHelper->sEventDataIndex, 1)) + return; + + V3_QuestRunEvent(pQuestHelper, pQuestHelper->nEventCompleteIndex); +} + +void CUser::V3_RequestStart() +{ + _QUEST_DATA * dQuest = nullptr; + foreach(itr, m_QuestMonMap) + { + V3_QuestMonsterDataRequest(itr->first); + } +} + +void CUser::V3_QuestMonsterDataRequest(uint16 uQuestID) +{ + Packet result(WIZ_QUEST, uint8(9)); + Quest_MonMap::iterator itr = m_QuestMonMap.find(uQuestID); + + if (itr == m_QuestMonMap.end()) + return; + + + + result << uint8(1) + << itr->first + << itr->second->dCKills[0] << itr->second->dCKills[1] + << itr->second->dCKills[2] << itr->second->dCKills[3]; + + Send(&result); +} + +void CUser::V3_QuestMonsterDataDeleteAll(uint16 nQuestID) +{ + m_QuestMonMap.erase(nQuestID); +} + +bool CUser::V3_CheckExistEvent(uint16 sQuestID, uint8 bQuestState) +{ + // Attempt to find a quest with that ID in the map + QuestMap::iterator itr = m_questMap.find(sQuestID); + + // If it doesn't exist, it doesn't exist. + // Unless of course, we wanted it to not exist, in which case we're right! + // (this does seem silly, but this behaviour is STILL expected, so do not remove it.) + if (itr == m_questMap.end()) + return bQuestState == 0; + + + return itr->second == bQuestState; +} + +void CUser::V3_MonsterCount(uint16 sNpcID) +{ + foreach(itr, m_QuestMonMap) + { + V3_QuestKillCount(itr->first, sNpcID); + } +} + +void CUser::V3_QuestKillCount(uint16 nQuestID, uint16 sNpcID) +{ + _QUEST_MONSTER *pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(nQuestID); + Quest_MonMap::iterator itr = m_QuestMonMap.find(nQuestID); + + if (pQuestMonster == nullptr || itr == m_QuestMonMap.end()) + return; + + // TODO: Implement obscure zone ID logic + for (int Count = 0; Count < QUEST_MOB_GROUPS; Count++) + { + for (int i = 0; i < QUEST_MOBS_PER_GROUP; i++) + { + if (pQuestMonster->sNum[Count][i] != sNpcID) + continue; + + if (itr->second->dCKills[Count] + 1 > pQuestMonster->sCount[Count]) + return; + + itr->second->dCKills[Count]++; + + Packet result(WIZ_QUEST, uint8(9)); + result << uint8(2) << uint16(nQuestID) << uint8(Count + 1) << itr->second->dCKills[Count]; + Send(&result); + + if (itr->second->dCKills[Count] >= pQuestMonster->sCount[Count]) + { + V3_QuestEvent(nQuestID, 3); + } + return; + } + } +} + +bool CUser::V3_QuestRunEvent(_QUEST_HELPER * pQuestHelper, uint32 nEventID, int8 bSelectedReward) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return false; + + // Lookup the corresponding NPC. + if (pQuestHelper->strLuaFilename == "01_main.lua") + { + m_sEventNid = 10000; + } + + CNpc * pNpc = g_pMain->GetNpcPtr(m_sEventNid); + bool result = false; + + // Make sure the NPC exists and is not dead (we should also check if it's in range) + if (pNpc == nullptr || pNpc->isDead()) + return result; + + // Increase the NPC's reference count to ensure it doesn't get freed while executing a script + pNpc->IncRef(); + + m_nQuestHelperID = pQuestHelper->nIndex; + result = g_pMain->GetLuaEngine()->ExecuteScript(this, pNpc, nEventID, bSelectedReward, + pQuestHelper->strLuaFilename.c_str()); + + // Decrease it now that we've finished with it + free if necessary + pNpc->DecRef(); + + return result; +} + +void CUser::V3_QuestUpdateEvent(uint16 sQuestID) +{ + _QUEST_HELPER * pQuestHelper = g_pMain->m_QuestHelperArray.GetData(sQuestID); + + if (pQuestHelper == nullptr) + return; + + V3_QuestEvent(pQuestHelper->sEventDataIndex, pQuestHelper->bEventStatus); +} + +void CUser::V3_QuestSendNpcMsg(uint32 nQuestID, uint16 sNpcID) +{ + Packet result(WIZ_QUEST, uint8(7)); + result << nQuestID << sNpcID; + Send(&result); +} + +void CUser::V3_QuestShowGiveItem(uint32 nUnk1, uint32 sUnk1, + uint32 nUnk2, uint32 sUnk2, + uint32 nUnk3, uint32 sUnk3, + uint32 nUnk4, uint32 sUnk4, + uint32 nUnk5, uint32 sUnk5) +{ + Packet result(WIZ_QUEST, uint8(10)); + result << nUnk1 << sUnk1 + << nUnk2 << sUnk2 + << nUnk3 << sUnk3 + << nUnk4 << sUnk4 + << nUnk5 << sUnk5; + Send(&result); +} + +void CUser::V3_QuestShowMap(uint32 nQuestHelperID) +{ + Packet result(WIZ_QUEST, uint8(11)); + result << nQuestHelperID; + Send(&result); +} + +uint16 CUser::V3_QuestCheckMonsterCount(uint16 sQuestID, uint8 Slot) +{ + Quest_MonMap::iterator itr = m_QuestMonMap.find(sQuestID); + + if(itr == m_QuestMonMap.end()) + return 0; + + return itr->second->dCKills[Slot -1]; +} + +uint16 CUser::V3_QuestSearchEligibleQuest(uint16 sNpcID) +{ + Guard lock(g_pMain->m_questNpcLock); + QuestNpcList::iterator itr = g_pMain->m_QuestNpcList.find(sNpcID); + + if (itr == g_pMain->m_QuestNpcList.end() || itr->second.empty()) + return 0; + + // Loop through all the QuestHelper instances attached to that NPC. + foreach (itr2, itr->second) + { + _QUEST_HELPER * pHelper = (*itr2); + if (pHelper->bLevel > GetLevel() + || (pHelper->bLevel == GetLevel() && pHelper->nExp > m_iExp) + || (pHelper->bClass != 5 && !JobGroupCheck(pHelper->bClass)) + || (pHelper->bNation != 3 && pHelper->bNation != GetNation()) + || (pHelper->sEventDataIndex == 0) + || (pHelper->bEventStatus < 0 || V3_CheckExistEvent(pHelper->sEventDataIndex, 2)) + || !V3_CheckExistEvent(pHelper->sEventDataIndex, pHelper->bEventStatus)) + continue; + + return 2; + } + return 0; +} + +uint16 CUser::V3_CheckMonsterCount(uint16 bQuest, uint8 bGroup) +{ + _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(bQuest); + Quest_MonMap::iterator itr = m_QuestMonMap.find(bQuest); + + if (pQuestMonster == nullptr || itr == m_QuestMonMap.end() || bGroup == 0 || bGroup >= QUEST_MOB_GROUPS) + return 0; + + return itr->second->dCKills[bGroup -1]; +} + +// First job change; you're a [novice], Harry! +bool CUser::PromoteUserNovice() +{ + uint8 bNewClasses[] = { ClassWarriorNovice, ClassRogueNovice, ClassMageNovice, ClassPriestNovice, ClassPorutuSkilled}; + uint8 bOldClass = GetClassType() - 1; // convert base class 1,2,3,4 to 0,1,2,3 to align with bNewClasses + if ( GetClassType() == 13) + bOldClass=4; + + // Make sure it's a beginner class. + if (!isBeginner()) + return false; + + Packet result(WIZ_CLASS_CHANGE, uint8(6)); + + // Build the new class. + uint16 sNewClass = (GetNation() * 100) + bNewClasses[bOldClass]; + result << sNewClass << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + + // Change the class & update party. + result.clear(); + result << uint8(2) << sNewClass; + ClassChange(result, false); // TODO: Clean this up. Shouldn't need to build a packet for this. + + // Update the clan. + result.clear(); + result << uint16(0); + CKnightsManager::CurrentKnightsMember(this, result); // TODO: Clean this up too. + return true; +} + +// From novice to master. +bool CUser::PromoteUser() +{ + /* unlike the official, the checks & item removal should be handled in the script, not here */ + uint8 bOldClass = GetClassType(); + + // We must be a novice before we can be promoted to master. + if (!isNovice()) + return false; + + Packet result(WIZ_CLASS_CHANGE, uint8(6)); + + // Build the new class. + uint16 sNewClass = (GetNation() * 100) + bOldClass + 1; + result << sNewClass << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + + // Change the class & update party. + result.clear(); + result << uint8(2) << sNewClass; + ClassChange(result, false); // TODO: Clean this up. Shouldn't need to build a packet for this. + + // use integer division to get from 5/7/9/11 (novice classes) to 1/2/3/4 (base classes) + uint8 bBaseClass = (bOldClass / 2) - 1; + + // this should probably be moved to the script + V3_QuestEvent(bBaseClass, 2); + + // Update the clan. + result.clear(); + result << uint16(0); + CKnightsManager::CurrentKnightsMember(this, result); // TODO: Clean this up too. + return true; +} + +void CUser::PromoteClan(ClanTypeFlag byFlag) +{ + if (!isInClan()) + return; + + CKnightsManager::UpdateKnightsGrade(GetClanID(), byFlag); +} + +void CUser::SendClanPointChange(int32 nChangeAmount) +{ + if (!isInClan()) + return; + + CKnightsManager::UpdateClanPoint(GetClanID(), nChangeAmount); +} + +uint8 CUser::GetClanGrade() +{ + if (!isInClan()) + return 0; + + CKnights * pClan = g_pMain->GetClanPtr(GetClanID()); + if (pClan == nullptr) + return 0; + + return pClan->m_byGrade; +} + +uint32 CUser::GetClanPoint() +{ + if (!isInClan()) + return 0; + + CKnights * pClan = g_pMain->GetClanPtr(GetClanID()); + if (pClan == nullptr) + return 0; + + return pClan->m_nClanPointFund; +} + +uint8 CUser::GetClanRank() +{ + if (!isInClan()) + return ClanTypeNone; + + CKnights * pClan = g_pMain->GetClanPtr(GetClanID()); + if (pClan == nullptr) + return ClanTypeNone; + + return pClan->m_byFlag; +} + +uint8 CUser::GetBeefRoastVictory() +{ + if(g_pMain->m_sBifrostTime <= 90 * MINUTE && g_pMain->m_BifrostVictory != 0) + return g_pMain->m_sBifrostVictoryAll; + else + return g_pMain->m_BifrostVictory; +} + +uint8 CUser::GetWarVictory() { return g_pMain->m_bVictory; } + +uint8 CUser::CheckMiddleStatueCapture() { return g_pMain->m_bMiddleStatueNation == GetNation() ? 1 : 0; } + +void CUser::MoveMiddleStatue() { Warp((GetNation() == KARUS ? DODO_CAMP_WARP_X : LAON_CAMP_WARP_X) + myrand(0, DODO_LAON_WARP_RADIUS),(GetNation() == KARUS ? DODO_CAMP_WARP_Z : LAON_CAMP_WARP_Z) + myrand(0, DODO_LAON_WARP_RADIUS)); } + +uint8 CUser::GetPVPMonumentNation() { return g_pMain->m_nPVPMonumentNation[GetZoneID()]; } + +uint8 CUser::GetEventMonumentNation() { return g_pMain->m_nEventMonumentNation[GetZoneID()]; } \ No newline at end of file diff --git a/server/GameServer/RES/GameServer.ico b/server/GameServer/RES/GameServer.ico new file mode 100644 index 0000000..b17d197 Binary files /dev/null and b/server/GameServer/RES/GameServer.ico differ diff --git a/server/GameServer/RES/GameServer.rc b/server/GameServer/RES/GameServer.rc new file mode 100644 index 0000000..4890457 Binary files /dev/null and b/server/GameServer/RES/GameServer.rc differ diff --git a/server/GameServer/Region.cpp b/server/GameServer/Region.cpp new file mode 100644 index 0000000..06cf9a1 --- /dev/null +++ b/server/GameServer/Region.cpp @@ -0,0 +1,64 @@ +#include "stdafx.h" +#include "Region.h" +#include "User.h" +#include "Npc.h" + +/** +* @brief Adds user instance to the region. +* +* @param pUser The user to add. +*/ +void CRegion::Add(CUser * pUser) +{ + Guard lock(m_lock); + m_RegionUserArray.insert(pUser->GetID()); +} + +void CRegion::Add(CBot * pBot) +{ + Guard lock(m_lock); + m_RegionBotArray.insert(pBot->GetID()); +} + + +void CRegion::Remove(CBot * pBot) +{ + Guard lock(m_lock); + m_RegionBotArray.erase(pBot->GetID()); +} + + +/** +* @brief Removes the given user instance from the region. +* +* @param pUser The user to remove. +*/ +void CRegion::Remove(CUser * pUser) +{ + Guard lock(m_lock); + m_RegionUserArray.erase(pUser->GetID()); +} + +/** +* @brief Adds the given NPC to the region. +* +* @param pNpc The NPC to add. +*/ +void CRegion::Add(CNpc * pNpc) +{ + Guard lock(m_lock); + m_RegionNpcArray.insert(pNpc->GetID()); +} + + + +/** +* @brief Removes the given NPC from the region. +* +* @param pNpc The NPC to remove. +*/ +void CRegion::Remove(CNpc * pNpc) +{ + Guard lock(m_lock); + m_RegionNpcArray.erase(pNpc->GetID()); +} \ No newline at end of file diff --git a/server/GameServer/Region.h b/server/GameServer/Region.h new file mode 100644 index 0000000..3ccdd5c --- /dev/null +++ b/server/GameServer/Region.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include "Define.h" +#include "GameDefine.h" +#include "../shared/STLMap.h" + +typedef CSTLMap <_LOOT_BUNDLE> ZoneItemArray; +typedef std::set ZoneUserArray; +typedef std::set ZoneBotArray; +typedef std::set ZoneNpcArray; + +class CNpc; +class CUser; +class CBot; + +class CRegion +{ +public: + std::recursive_mutex m_lock; + ZoneUserArray m_RegionUserArray; + ZoneBotArray m_RegionBotArray; + ZoneNpcArray m_RegionNpcArray; + + void Add(CBot * pBot); + void Remove(CBot * pBot); + void Add(CUser * pUser); + void Remove(CUser * pUser); + void Add(CNpc * pNpc); + void Remove(CNpc * pNpc); +}; diff --git a/server/GameServer/RentalHandler.cpp b/server/GameServer/RentalHandler.cpp new file mode 100644 index 0000000..bf534e3 --- /dev/null +++ b/server/GameServer/RentalHandler.cpp @@ -0,0 +1,16 @@ +#include "stdafx.h" + +void CUser::RentalSystem(Packet & pkt) +{ + if (isDead()) + return; + + uint8 opcode = pkt.read(); + + // TO-DO + /*if (opcode == 1) + PremiumRentalProcess(pBuf + index); + else if (opcode == 2) + PvPRentalProcess(pBuf + index);*/ +} + diff --git a/server/GameServer/SealHandler.cpp b/server/GameServer/SealHandler.cpp new file mode 100644 index 0000000..9be77f0 --- /dev/null +++ b/server/GameServer/SealHandler.cpp @@ -0,0 +1,523 @@ +#include "stdafx.h" +#include "DBAgent.h" + +using std::string; + +#define ITEM_SEAL_PRICE 1000000 + +enum +{ + SEAL_TYPE_SEAL = 1, + SEAL_TYPE_UNSEAL = 2, + SEAL_TYPE_KROWAZ = 3, + SEAL_TYPE_OLD_ITEM = 4 +}; + +enum SealErrorCodes +{ + SealErrorNone = 0, // no error, success! + SealErrorFailed = 2, // "Seal Failed." + SealErrorNeedCoins = 3, // "Not enough coins." + SealErrorInvalidCode = 4, // "Invalid Citizen Registry Number" (i.e. invalid code/password) + SealErrorPremiumOnly = 5, // "Only available to premium users" + SealErrorFailed2 = 6, // "Seal Failed." + SealErrorTooSoon = 7, // "Please try again. You may not repeat this function instantly." +}; + +/** +* @brief Packet handler for the item sealing system. +* +* @param pkt The packet. +*/ +void CUser::ItemSealProcess(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + // Seal type + uint8 opcode = pkt.read(); + + Packet result(WIZ_ITEM_UPGRADE, uint8(ITEM_SEAL)); + result << opcode; + + switch (opcode) + { + // Used when sealing an item. + case SEAL_TYPE_SEAL: + { + string strPasswd; + uint32 nItemID; + int16 unk0; // set to -1 in this case + uint8 bSrcPos, bResponse = SealErrorNone; + pkt >> unk0 >> nItemID >> bSrcPos >> strPasswd; + + /* + Most of these checks are handled client-side, so we shouldn't need to provide error messages. + Also, item sealing requires certain premium types (gold, platinum, etc) - need to double-check + these before implementing this check. + */ + + // is this a valid position? (need to check if it can be taken from new slots) + if (bSrcPos >= HAVE_MAX + // does the item exist where the client says it does? + || GetItem(SLOT_MAX + bSrcPos)->nNum != nItemID + // i ain't be allowin' no stealth items to be sealed! + || GetItem(SLOT_MAX + bSrcPos)->nSerialNum == 0 + || GetItem(SLOT_MAX + bSrcPos)->nExpirationTime > 0) + bResponse = SealErrorFailed; + // is the password valid by client limits? + else if (strPasswd.empty() || strPasswd.length() > 8) + bResponse = SealErrorInvalidCode; + // do we have enough coins? + else if (!hasCoins(ITEM_SEAL_PRICE)) + bResponse = SealErrorNeedCoins; + + _ITEM_TABLE* pItem = g_pMain->m_ItemtableArray.GetData(nItemID); + + if(pItem == nullptr) + return; + + // If no error, pass it along to the database. + if (bResponse == SealErrorNone) + { + result << nItemID << bSrcPos << strPasswd << bResponse; + g_pMain->AddDatabaseRequest(result, this); + } + // If there's an error, tell the client. + // From memory though, there was no need -- it handled all of these conditions itself + // so there was no need to differentiate (just ignore the packet). Need to check this. + else + { + result << bResponse; + Send(&result); + } + } break; + + // Used when unsealing an item. + case SEAL_TYPE_UNSEAL: + { + string strPasswd; + uint32 nItemID; + int16 unk0; // set to -1 in this case + uint8 bSrcPos, bResponse = SealErrorNone; + pkt >> unk0 >> nItemID >> bSrcPos >> strPasswd; + + if (bSrcPos >= HAVE_MAX + || GetItem(SLOT_MAX+bSrcPos)->bFlag != ITEM_FLAG_SEALED + || GetItem(SLOT_MAX+bSrcPos)->nNum != nItemID) + bResponse = SealErrorFailed; + else if (strPasswd.empty() || strPasswd.length() > 8) + bResponse = SealErrorInvalidCode; + + // If no error, pass it along to the database. + if (bResponse == SealErrorNone) + { + result << nItemID << bSrcPos << strPasswd << bResponse; + g_pMain->AddDatabaseRequest(result, this); + } + // If there's an error, tell the client. + // From memory though, there was no need -- it handled all of these conditions itself + // so there was no need to differentiate (just ignore the packet). Need to check this. + else + { + result << bResponse; + Send(&result); + } + } break; + + // Used when binding a Krowaz item (used to take it from not bound -> bound) + case SEAL_TYPE_KROWAZ: + { + string strPasswd = "0"; //Dummy, not actually used. + uint32 nItemID; + uint8 bSrcPos = 0 , unk3, bResponse = SealErrorNone; + uint16 unk1, unk2; + pkt >> unk1 >> nItemID >> bSrcPos >> unk3 >> unk2; + + if (bSrcPos >= HAVE_MAX + || GetItem(SLOT_MAX+bSrcPos)->bFlag != ITEM_FLAG_NONE + || GetItem(SLOT_MAX+bSrcPos)->nNum != nItemID) + bResponse = SealErrorFailed; + + if (bResponse == SealErrorNone) + { + result << nItemID << bSrcPos << strPasswd << bResponse; + g_pMain->AddDatabaseRequest(result, this); + } + } + break; + + // Used when binding a Old item (used to take it from bound -> not bound) + case SEAL_TYPE_OLD_ITEM: + { + string strPasswd, strPasswdA; + uint32 nItemID; + int16 unk0; + uint8 bSrcPos, bResponse = SealErrorNone; + pkt >> unk0 >> nItemID >> bSrcPos >> strPasswd; + + + if (bSrcPos >= HAVE_MAX + || GetItem(SLOT_MAX+bSrcPos)->nNum != nItemID) + bResponse = SealErrorFailed; + + if (bResponse == SealErrorNone) + { + _ITEM_TABLE * pTable = g_pMain->m_ItemtableArray.GetData(nItemID); + if (pTable == nullptr) + return; + + if (pTable->m_bKind == 93) + RobItem(810890000, 10); + else if (pTable->m_bKind >= 210 && pTable->m_bKind <= 240) + RobItem(810890000, 70); + + result << nItemID << bSrcPos << strPasswd << bResponse; + g_pMain->AddDatabaseRequest(result, this); + } + else + { + result << bResponse; + Send(&result); + } + } + break; + } +} + +void CUser::SealItem(uint8 bSealType, uint8 bSrcPos) +{ + _ITEM_DATA * pItem = GetItem(SLOT_MAX + bSrcPos); + if (pItem == nullptr) + return; + + switch (bSealType) + { + case SEAL_TYPE_SEAL: + pItem->bFlag = ITEM_FLAG_SEALED; + GoldLose(ITEM_SEAL_PRICE); + break; + + case SEAL_TYPE_UNSEAL: + pItem->bFlag = 0; + break; + + case SEAL_TYPE_KROWAZ: + pItem->bFlag = ITEM_FLAG_BOUND; + break; + + case SEAL_TYPE_OLD_ITEM: + pItem->bFlag = ITEM_FLAG_NOT_BOUND; + break; + } +} + +void CUser::SendCharacterSealInfo(Packet & pkt) +{ + Packet result(WIZ_ITEM_UPGRADE,uint8(9)); + uint32 SpecialID; + uint64 Serial; + pkt >> SpecialID; + + Serial = g_DBAgent.GetSerialByID(SpecialID); + + if(Serial == 0) + goto fail_return; + + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(Serial); + + if(pRingData == nullptr) + goto fail_return; + + + result << uint8(4) << uint8(1); + g_DBAgent.LoadCharSeal(pRingData->UserName,result); + Send(&result); +fail_return: + result << uint8(4) << uint8(2); + Send(&result); +} + + +void CUser::SendCharacterSealProcess() +{ + Packet result(WIZ_ITEM_UPGRADE,uint8(9)); + + if(!CheckExistItem(800111000) && !CheckExistItem(800112000)) + return; + + + std::string strCharID1, strCharID2, strCharID3, strCharID4; + uint16 Class1 = 0, Class2 = 0, Class3 = 0, Class4 = 0; + uint8 Level1 = 0, Level2 = 0, Level3 = 0, Level4 = 0; + + g_DBAgent.GetAllCharID(GetAccountName(), strCharID1, strCharID2, strCharID3, strCharID4); + + for (int i = 1; i < 4; i++) +{ + if(strCharID1.empty()) + { + strCharID1 = strCharID2; + strCharID2.clear(); + } + + if(strCharID2.empty()) + { + strCharID2 = strCharID3; + strCharID3.clear(); + } + + if(strCharID3.empty()) + { + strCharID3 = strCharID4; + strCharID4.clear(); + } +} + + + + if(!strCharID1.empty()) + Class1 = g_DBAgent.LoadAccountNTS(strCharID1); + if(!strCharID2.empty()) + Class2 = g_DBAgent.LoadAccountNTS(strCharID2); + if(!strCharID3.empty()) + Class3 = g_DBAgent.LoadAccountNTS(strCharID3); + if(!strCharID4.empty()) + Class4 = g_DBAgent.LoadAccountNTS(strCharID4); + + if(!strCharID1.empty()) + Level1 = g_DBAgent.LoadCharLevel(strCharID1); + if(!strCharID2.empty()) + Level2 = g_DBAgent.LoadCharLevel(strCharID2); + if(!strCharID3.empty()) + Level3 = g_DBAgent.LoadCharLevel(strCharID3); + if(!strCharID4.empty()) + Level4 = g_DBAgent.LoadCharLevel(strCharID4); + result.DByte(); + result << uint8(1) << uint8(1); + + for (int a = 0; a < 4; a++) + { + if(a == 0) + { + if (strCharID1.empty()) + continue; + + result << strCharID1 << uint8(1) << Class1 << Level1 << uint8(1) << uint32(1) << uint8(1); + result << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0); + + }else if(a == 1) + { + if (strCharID2.empty()) + continue; + + result << strCharID2 << uint8(1) << Class2 << Level2 << uint8(1) << uint32(1) << uint8(1); + result << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0); + + }else if(a == 2) + { + if (strCharID3.empty()) + continue; + + result << strCharID3 << uint8(1) << Class3 << Level3 << uint8(1) << uint32(1) << uint8(1); + result << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0); + + }else if(a == 3) + { + if (strCharID4.empty()) + continue; + + result << strCharID4 << uint8(1) << Class4 << Level4 << uint8(1) << uint32(1) << uint8(1); + result << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0) << uint64(0); + } + + } + + Send(&result); +} +/** +* @brief Packet handler for the character sealing system. +* +* @param pkt The packet. +*/ +void CUser::CharacterSealProcess(Packet & pkt) +{ + uint8 command = pkt.read(); + + if (isDead() + || !isInGame() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + switch (command) + { + case 1: + SendCharacterSealProcess(); + break; + case 2: + CharacterGetSealed(pkt); + break; + case 3: + CharacterGetUnSealed(pkt); + break; + case 4: + SendCharacterSealInfo(pkt); + break; + } + + + + +} + +void CUser::CharacterGetSealed(Packet & pkt) +{ + Packet result(WIZ_ITEM_UPGRADE, uint8(9)); + uint16 UnkNow1; + uint32 ItemNum; + uint8 Slot, ErrorCode = 0; + std::string strUserID, strPasswd; + pkt.DByte(); + pkt >> UnkNow1 >> Slot >> ItemNum; + + pkt >> strUserID >> strPasswd; + + if (strPasswd.empty() || strPasswd.length() > 8 + || strUserID.empty()) + { + result << uint8(2) << uint8(2);// Character seal failed. 14032 + Send(&result); + return; + } + + _ITEM_DATA * pItem = GetItem(SLOT_MAX + Slot); + + if(ItemNum != 800111000 + || pItem == nullptr + || pItem->nNum != ItemNum) + { + result << uint8(2) << uint8(2);// Character seal failed. 14032 + Send(&result); + return; + } + + uint8 YanCharimi = g_DBAgent.LoadYanCharHAS(GetAccountName(),strUserID); + + if (YanCharimi == 0) + { + result << uint8(2) << uint8(2);// Character seal failed. 14032 + Send(&result); + return; + } + + uint64 Serial = g_pMain->GenerateItemSerial(); + + _CYPHERRING_DATA * pData = new _CYPHERRING_DATA; + pData->m_Serial = Serial; + pData->UserName = strUserID; + pData->iExp = g_DBAgent.LoadCharExp(strUserID); + pData->bRace = g_DBAgent.LoadCharRace(strUserID); + pData->sClass = uint8(g_DBAgent.LoadAccountNTS(strUserID)); + pData->bLevel = g_DBAgent.LoadCharLevel(strUserID); + g_pMain->LastPetID++; + pData->ID = g_pMain->LastPetID; + + uint8 DBResult = g_DBAgent.InsertCypherRingData(Serial,pData, strPasswd); + + if(DBResult != 1) + { + result << uint8(2) << uint8(0) << uint8(20 + DBResult); + Send(&result); + return; + } + + g_pMain->m_CypherRingArray.insert(std::make_pair(pData->m_Serial, pData)); + + pItem->nSerialNum = Serial; + pItem->nNum = 800112000; + + // Character seal successful. 14031 + // When a bound item is equipped or stored on a character it cannot be sealed. 14044 + // When a rental item is equipped or stored on a character it cannot be sealed. 14045 + + + // 2 0 20 >> There is no password set for the VIP Vault. Visit the Inn Hostess to set the VIP Vault password. + // 2 0 22 >> Invalid Citizen Registry Number. + + + result.DByte(); + result << uint8(2) << uint8(1) << Slot << uint32(pItem->nNum) << uint32(pData->ID) << pData->UserName << uint8(pData->sClass) << uint8(pData->bLevel) << uint16((pData->iExp * 10000) / g_pMain->GetExpByLevel(pData->bLevel)) << uint16(pData->bRace); + Send(&result); + + // 2 2 hatalar + + // uint16 -4 14044 + // uint16 -5 14045 + // nothing 14032 +} + + +void CUser::CharacterGetUnSealed(Packet & pkt) +{ + Packet result(WIZ_ITEM_UPGRADE,uint8(9)); + uint16 unkNown; + uint32 ItemID; + uint8 Slot, CharacterSlot; + + result << uint8(3); + + if(!CheckExistItem(800112000)) + goto fail_return; + + pkt >> unkNown >> Slot >> ItemID >> CharacterSlot; + + if(Slot >= HAVE_MAX || ItemID != 800112000) + goto fail_return; + + _ITEM_DATA * pItem = GetItem(Slot + SLOT_MAX); + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(ItemID); + + if (pItem == nullptr || pTable == nullptr) + goto fail_return; + + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(pItem->nSerialNum); + + if(pRingData == nullptr) + goto fail_return; + + if(pRingData->m_Serial != pItem->nSerialNum) + goto fail_return; + + uint8 YanChar = g_DBAgent.YanChar(GetAccountName()); + uint8 Nation = g_DBAgent.LoadCharNation(pRingData->UserName); + + if(YanChar > 3 || YanChar < 1 || Nation < 1 || Nation > 2 || Nation != GetNation()) + goto fail_return; + + uint8 DBResult = g_DBAgent.InsertCypherRingChar(GetAccountName(), pItem->nSerialNum); + + if(DBResult != 1) + goto fail_return; + + g_pMain->m_CypherRingArray.erase(pItem->nSerialNum); + RobItem(SLOT_MAX + Slot,pTable,1); + + result << uint8(1); + +fail_return: + result << uint8(2); + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/ShoppingMallHandler.cpp b/server/GameServer/ShoppingMallHandler.cpp new file mode 100644 index 0000000..1117444 --- /dev/null +++ b/server/GameServer/ShoppingMallHandler.cpp @@ -0,0 +1,127 @@ +#include "stdafx.h" +#include "DBAgent.h" + +void CUser::ShoppingMall(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + uint8 opcode = pkt.read(); + + switch (opcode) + { + case STORE_OPEN: + HandleStoreOpen(pkt); + break; + + case STORE_CLOSE: + HandleStoreClose(); + break; + + case STORE_BUY: + case STORE_MINI: // not sure what this is + case STORE_PROCESS: + /* fairly certain there's no need to emulate these as they're unused */ + break; + + case STORE_LETTER: + LetterSystem(pkt); + break; + + default: + TRACE("Unknown shoppingmall packet: %X\n", opcode); + } +} + +// We're opening the PUS... +void CUser::HandleStoreOpen(Packet & pkt) +{ + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_OPEN)); + int16 sErrorCode = 1, sFreeSlot = -1; + + if (isDead()) + sErrorCode = -2; + else if (isTrading()) + sErrorCode = -3; + else if (isMerchanting() || m_bMerchantStatex) + sErrorCode = -4; + // Not allowed in private arenas + else if (GetZoneID() >= 40 && GetZoneID() <= 45) + sErrorCode = -5; + else if (isStoreOpen()) + sErrorCode = -7; + if (sErrorCode != 1) + goto fail_return; + + for (int i = SLOT_MAX; i < INVENTORY_TOTAL; i++) + { + if (GetItem(i)->nNum == 0) + { + sFreeSlot = i; + break; + } + } + + if (sFreeSlot < 0) + { + sErrorCode = -8; + goto fail_return; + } + + m_bStoreOpen = true; + +fail_return: + result << sErrorCode << sFreeSlot; + Send(&result); +} + +// We're closing the PUS so that we can call LOAD_WEB_ITEMMALL and load the extra items. +void CUser::HandleStoreClose() +{ + if(!m_bStoreOpen) + return; + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_CLOSE)); + m_bStoreOpen = false; + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::ReqLoadWebItemMall() +{ + Packet result(WIZ_SHOPPING_MALL, uint8(STORE_CLOSE)); + std::vector<_ITEM_DATA> itemList; + + if (!g_DBAgent.LoadWebItemMall(itemList, this)) + return; + + + if(int(itemList.size()) > GetEmptySlotCount()) + return; + else + g_DBAgent.ClearWebItemMall(this); + + + + // reuse the GiveItem() method for giving them the item, just don't send the packet + // as it's handled by STORE_CLOSE. + + foreach (itr, itemList) + GiveItem(itr->nNum, itr->sCount, true, itr->nExpirationTime); + + for (int i = SLOT_MAX; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA *pItem = GetItem(i); + result << pItem->nNum + << pItem->sDuration + << pItem->sCount + << pItem->bFlag // item type flag (e.g. rented) + << pItem->sRemainingRentalTime; + } + + Send(&result); +} \ No newline at end of file diff --git a/server/GameServer/TradeHandler.cpp b/server/GameServer/TradeHandler.cpp new file mode 100644 index 0000000..9f70f39 --- /dev/null +++ b/server/GameServer/TradeHandler.cpp @@ -0,0 +1,572 @@ +#include "stdafx.h" +#include "Map.h" +#include "../shared/DateTime.h" + +using namespace std; + +void CUser::ExchangeProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + + if (isStoreOpen() || isGM() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isDead() || m_bMerchantStatex) + opcode = 8; + + switch (opcode) + { + case EXCHANGE_REQ: + ExchangeReq(pkt); + break; + case EXCHANGE_AGREE: + ExchangeAgree(pkt); + break; + case EXCHANGE_ADD: + ExchangeAdd(pkt); + break; + case EXCHANGE_DECIDE: + ExchangeDecide(); + break; + case EXCHANGE_CANCEL: + ExchangeCancel(); + break; + } +} + +void CUser::ExchangeReq(Packet & pkt) +{ + Packet result(WIZ_EXCHANGE); + CUser * pUser; + uint16 destid; + + if (isDead() || isStoreOpen() || isMerchanting() || m_bMerchantStatex) + goto fail_return; + + else if (isTrading()) + { + ExchangeCancel(); + return; + } + + destid = pkt.read(); + pUser = g_pMain->GetUserPtr(destid); + if (pUser == nullptr + || pUser == this + || pUser->isGM() + || pUser->isTrading() + || pUser->m_bMerchantStatex + || pUser->GetZoneID() != GetZoneID() + || !isInRange(pUser->GetX(),pUser->GetZ(),RANGE_50M) + || (GetNation() != GetNation() && GetMap()->canTradeWithOtherNation())) + goto fail_return; + + m_sExchangeUser = destid; + pUser->m_sExchangeUser = GetSocketID(); + + if (pUser->isDead() || pUser->isStoreOpen() || pUser->isMerchanting()) + goto fail_return; + + if (GetLevel() < 20 || pUser->GetLevel() < 20) + { + Packet resultmer; + std::string bufferpro = string_format("[Trade Message] must be at least 20 level"); + ChatPacket::Construct(&resultmer, 7, &bufferpro); + Send(&resultmer); + goto fail_return; + } + + result << uint8(EXCHANGE_REQ) << GetSocketID(); + pUser->Send(&result); + return; + +fail_return: + result << uint8(EXCHANGE_CANCEL); + Send(&result); +} + +void CUser::ExchangeAgree(Packet & pkt) +{ + uint8 bResult = pkt.read(); + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + if (pUser == nullptr || pUser == this) + { + m_sExchangeUser = -1; + return; + } + + if (pUser->isDead() + || isDead() + || pUser->isStoreOpen() + || isStoreOpen() + || pUser->isMerchanting() + || isMerchanting() + || pUser->m_bMerchantStatex + || m_bMerchantStatex + || !pUser->isTrading() + || !isTrading() + || pUser->GetZoneID() != GetZoneID() + || !isInRange(pUser->GetX(),pUser->GetZ(),RANGE_50M)) + { + m_sExchangeUser = -1; + return; + } + + if (!bResult || pUser->isDead()) // declined + { + m_sExchangeUser = -1; + pUser->m_sExchangeUser = -1; + bResult = 0; + } + + string errorMessage = string_format(_T("TRADE uId-%s- tId-%s- r-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pUser->GetName().c_str(),bResult,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + + Packet result(WIZ_EXCHANGE, uint8(EXCHANGE_AGREE)); + result << uint16(bResult); + pUser->Send(&result); +} + +void CUser::ExchangeAdd(Packet & pkt) +{ + if (!isTrading() + || isDead() + || isStoreOpen() + || isMerchanting() + || m_bMerchantStatex) + return; + + Packet result(WIZ_EXCHANGE, uint8(EXCHANGE_ADD)); + uint64 nSerialNum; + uint32 nItemID, count = 0; + uint16 duration = 0; + _ITEM_DATA * pSrcItem = nullptr; + list<_EXCHANGE_ITEM*>::iterator Iter; + uint8 pos; + bool bAdd = true, bGold = false; + + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + if (pUser == nullptr + || pUser == this + || pUser->isDead() + || isDead()) + { + ExchangeCancel(); + return; + } + + if (pUser->isDead() || pUser->isStoreOpen() + || pUser->isMerchanting() + || pUser->m_bMerchantStatex + || !pUser->isTrading()) + goto add_fail; + + pkt >> pos >> nItemID >> count; + + if(count == 0) + goto add_fail; + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr + || (nItemID != ITEM_GOLD + && (pos >= HAVE_MAX // Invalid position + || (nItemID >= ITEM_NO_TRADE && nItemID < ITEM_NO_TRADE_MAX) // Cannot be traded, stored or sold. + || pTable->m_bRace == RACE_UNTRADEABLE)) // Cannot be traded or sold. + || m_bExchangeOK) + goto add_fail; + + if (nItemID == ITEM_GOLD) + { + if (count <= 0 || count > m_iGold) + goto add_fail; + + // If we have coins in the list already + // add to the amount of coins listed. + foreach (itr, m_ExchangeItemList) + { + if ((*itr)->nItemID == ITEM_GOLD) + { + (*itr)->nCount += count; + bAdd = false; /* don't need to add a new entry */ + break; + } + } + + m_iGold -= count; + } + else if ((pSrcItem = GetItem(SLOT_MAX + pos)) != nullptr && pSrcItem->nNum == nItemID) + { + if (pSrcItem->sCount < count + || pSrcItem->isRented() + || pSrcItem->isSealed() + || pSrcItem->isBound() + || pSrcItem->isDuplicate() + || pSrcItem->nExpirationTime !=0) + goto add_fail; + + if (pTable->m_bCountable) + { + foreach (itr, m_ExchangeItemList) + { + if ((*itr)->nItemID == nItemID) + { + (*itr)->nCount += count; + bAdd = false; + break; + } + } + } + + if(pTable->isStackable()) + pSrcItem->sCount -= count; + else + pSrcItem->sCount = 0; + + + duration = pSrcItem->sDuration; + nSerialNum = pSrcItem->nSerialNum; + } + else + goto add_fail; + + foreach (itr, m_ExchangeItemList) + { + if ((*itr)->nItemID == ITEM_GOLD) + { + bGold = true; + break; + } + } + if ((int)m_ExchangeItemList.size() > (bGold ? 13 : 12)) + goto add_fail; + + if (bAdd) + { + _EXCHANGE_ITEM * pItem = new _EXCHANGE_ITEM; + pItem->nItemID = nItemID; + pItem->sDurability = duration; + pItem->nCount = count; + pItem->nSerialNum = nSerialNum; + pItem->bSrcPos = SLOT_MAX + pos; + m_ExchangeItemList.push_back(pItem); + } + + result << uint8(1); + Send(&result); + + result.clear(); + + result << uint8(EXCHANGE_OTHERADD) + << nItemID << count << duration; + SetSpecialItemData(pSrcItem,result); + pUser->Send(&result); + return; + +add_fail: + result << uint8(0); + Send(&result); +} + +void CUser::ExchangeDecide() +{ + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + if (pUser == nullptr + || pUser->isDead() + || pUser == this + || isDead() + || !isTrading() + || m_bMerchantStatex + || isStoreOpen() + || isMerchanting() + || m_bExchangeOK + || m_sExchangeUser == -1) + { + ExchangeCancel(); + return; + } + + if(pUser->isDead() + || !pUser->isTrading() + || pUser->m_bMerchantStatex + || pUser->isStoreOpen() + || pUser->isMerchanting()) + { + pUser->ExchangeCancel(); + ExchangeCancel(); + return; + } + + Packet result(WIZ_EXCHANGE); + if (!pUser->m_bExchangeOK) + { + m_bExchangeOK = 1; + result << uint8(EXCHANGE_OTHERDECIDE); + pUser->Send(&result); + return; + } + + // Did the exchange requirements fail? + if (!CheckExchange() || !pUser->CheckExchange()) + { + // At this stage, neither user has their items exchanged. + // However, their coins were removed -- these will be removed by ExchangeFinish(). + result << uint8(EXCHANGE_DONE) << uint8(0); + Send(&result); + pUser->Send(&result); + + ExchangeCancel(); + pUser->ExchangeCancel(); + } + else + { + ExecuteExchange(); + pUser->ExecuteExchange(); + + Packet result(WIZ_EXCHANGE); + result << uint8(EXCHANGE_DONE) << uint8(1) + << GetCoins() + << uint16(pUser->m_ExchangeItemList.size()); + + foreach (itr, pUser->m_ExchangeItemList) + { + result << (*itr)->bDstPos << (*itr)->nItemID + << uint16((*itr)->nCount) << (*itr)->sDurability; + pUser->SetExchangeSpecialItemData((*itr),result); + } + Send(&result); + + result.clear(); + + result << uint8(EXCHANGE_DONE) << uint8(1) + << pUser->GetCoins() + << uint16(m_ExchangeItemList.size()); + + foreach (itr, m_ExchangeItemList) + { + + result << (*itr)->bDstPos << (*itr)->nItemID + << uint16((*itr)->nCount) << (*itr)->sDurability; + SetExchangeSpecialItemData((*itr),result); + } + pUser->Send(&result); + DateTime time; + foreach (itr, pUser->m_ExchangeItemList) + { + g_pMain->WriteTradeUserLogFile(string_format("[ %d:%d:%d ] User Trade: %s - Recv Item User: %s - Item: %d , count %d , Serial: %I64d \n", time.GetHour(),time.GetMinute(),time.GetSecond() , pUser->GetName().c_str() , GetName().c_str() , (*itr)->nItemID , (*itr)->nCount , (*itr)->nSerialNum )); + } + + foreach (itr, m_ExchangeItemList) + { + g_pMain->WriteTradeUserLogFile(string_format("[ %d:%d:%d ] User Trade: %s - Recv Item User: %s - Item: %d , count %d , Serial: %I64d \n", time.GetHour(),time.GetMinute(),time.GetSecond() , GetName().c_str() , pUser->GetName().c_str() , (*itr)->nItemID , (*itr)->nCount , (*itr)->nSerialNum )); + } + + SetUserAbility(false); + SendItemWeight(); + ExchangeFinish(); + + pUser->SetUserAbility(false); + pUser->SendItemWeight(); + pUser->ExchangeFinish(); + } +} + +void CUser::ExchangeCancel(bool bIsOnDeath) +{ + if (!isTrading() + || (!bIsOnDeath && isDead())) + return; + + // Restore coins and items... + while (m_ExchangeItemList.size()) + { + _EXCHANGE_ITEM *pItem = m_ExchangeItemList.front(); + if (pItem != nullptr) + { + // Restore coins to owner + if (pItem->nItemID == ITEM_GOLD) + m_iGold += pItem->nCount; + // Restore items to owner + else if(GetItem(pItem->bSrcPos)->nNum == pItem->nItemID) + GetItem(pItem->bSrcPos)->sCount += pItem->nCount; + + delete pItem; + } + + m_ExchangeItemList.pop_front(); + } + + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + ExchangeFinish(); + + if (pUser != nullptr) + { + pUser->ExchangeCancel(); + + string errorMessage = string_format(_T("TRADE_CANCEL uId-%s- tId-%s- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pUser->GetName().c_str(),GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + + Packet result(WIZ_EXCHANGE, uint8(EXCHANGE_CANCEL)); + pUser->Send(&result); + } +} + +void CUser::ExchangeFinish() +{ + m_sExchangeUser = -1; + m_bExchangeOK = 0; + m_ExchangeItemList.clear(); +} + +/** +* @brief Determines if a trade will be successful. +* If it's successful, we can exchange the items. +* +* @return true if it succeeds, false if it fails. +*/ +bool CUser::CheckExchange() +{ + uint32 money = 0; + uint16 weight = 0; + + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + if (pUser == nullptr || pUser == this) + return false; + + if (pUser->isDead() + || pUser->isStoreOpen() + || pUser->isMerchanting() + || pUser->m_bMerchantStatex) + return false; + + if (isDead() + || isStoreOpen() + || isMerchanting() + || m_bMerchantStatex) + return false; + + + // Get the total number of free slots in the player's inventory + uint8 bFreeSlots = 0, bItemCount = 0; + for (uint8 i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + _ITEM_DATA * pItem = GetItem(i); + if (pItem->nNum == 0) + bFreeSlots++; + } + + // Loop through the other user's list of items up for trade. + foreach (Iter, pUser->m_ExchangeItemList) + { + // If we're trading coins, ensure we don't exceed our limit. + if ((*Iter)->nItemID == ITEM_GOLD) + { + money += (*Iter)->nCount; + if ((m_iGold + money) > COIN_MAX) + return false; + + continue; + } + + // Does this item exist? + _ITEM_TABLE *pTable = g_pMain->GetItemPtr((*Iter)->nItemID); + if (pTable == nullptr) + return false; + + if(pTable->isStackable() + && (*Iter)->nItemID != 0 // slot in use + && (*Iter)->nItemID != pTable->m_iNum) + return false; + + // Is there enough room for this item? + // NOTE: Also ensures we have enough space in our inventory (with one exchange in mind anyway) + if (!CheckWeight(pTable, (*Iter)->nItemID, (*Iter)->nCount)) + return false; + + // Total up the weight. + weight += pTable->m_sWeight; + bItemCount++; + } + + // Do we have enough free slots for all these items? + if (bItemCount > bFreeSlots) + return false; /* note: ignores item stacks for now */ + + // Ensure the total combined item weight does not exceed our weight limit + return ((weight + m_sItemWeight) <= m_sMaxWeight); +} + +bool CUser::ExecuteExchange() +{ + CUser *pUser = g_pMain->GetUserPtr(m_sExchangeUser); + if (pUser == nullptr) + return false; + + ItemList::iterator coinItr = pUser->m_ExchangeItemList.end(); + foreach (Iter, pUser->m_ExchangeItemList) + { + if ((*Iter)->nItemID == ITEM_GOLD) + { + m_iGold += (*Iter)->nCount; + coinItr = Iter; + continue; + } + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr((*Iter)->nItemID); + if (pTable == nullptr) + continue; + + int nSlot = FindSlotForItem((*Iter)->nItemID, (*Iter)->nCount); + ASSERT(nSlot > 0); /* this shouldn't happen, CheckExchange() prevents this */ + + _ITEM_DATA * pDstItem = GetItem(nSlot); + _ITEM_DATA * pSrcItem = pUser->GetItem((*Iter)->bSrcPos); + + if(pDstItem->nNum != pSrcItem->nNum + && pDstItem->nNum != 0) + continue; + + pDstItem->nNum = pSrcItem->nNum; + if(pTable->isStackable()) + pDstItem->sCount += (*Iter)->nCount; + else + pDstItem->sCount = (*Iter)->nCount; + + if (pDstItem->sCount > MAX_ITEM_COUNT) + pDstItem->sCount = MAX_ITEM_COUNT; + + pDstItem->sDuration = pSrcItem->sDuration; + + if (!pTable->isStackable() || (*Iter)->nCount == pDstItem->sCount) + pDstItem->nSerialNum = pSrcItem->nSerialNum; + + if (!pTable->isStackable() && pDstItem->nSerialNum == 0) + pSrcItem->nSerialNum = g_pMain->GenerateItemSerial(); + + // This is really silly, but match the count up with the duration + // for this special items that behave this way. + if (pTable->m_bKind == 255) + pDstItem->sCount = pDstItem->sDuration; + + // Set destination position for use in packet to client + // to let them know where the item is. + (*Iter)->bDstPos = (uint8) (nSlot - SLOT_MAX); + + + string errorMessage = string_format(_T("TRADE_FINISH uId-%s- tId-%s- I-%d- Z-%d- X-%d- Y-%d-"), + GetName().c_str(),pUser->GetName().c_str(),pSrcItem->nNum,GetZoneID(), uint16(GetX()), uint16(GetZ())); + g_pMain->WriteTradeUserLogFile(errorMessage); + + // Remove the item from the other player. + if (pSrcItem->sCount == 0 || pTable->m_bKind == 255) + memset(pSrcItem, 0, sizeof(_ITEM_DATA)); + } + + // Remove coins from the list so it doesn't get sent + // with the rest of the packet. + if (coinItr != pUser->m_ExchangeItemList.end()) + { + delete *coinItr; + pUser->m_ExchangeItemList.erase(coinItr); + } + + return true; +} \ No newline at end of file diff --git a/server/GameServer/Unit.cpp b/server/GameServer/Unit.cpp new file mode 100644 index 0000000..f71a983 --- /dev/null +++ b/server/GameServer/Unit.cpp @@ -0,0 +1,1543 @@ +#include "stdafx.h" +#include "Map.h" +#ifdef GAMESERVER +# include "GameServerDlg.h" +# include "MagicInstance.h" +#else +# include "../AIServer/ServerDlg.h" +# include "../AIServer/Npc.h" +# include "../AIServer/User.h" +#endif +#include + +Unit::Unit(UnitType unitType) + : m_pMap(nullptr), m_pRegion(nullptr), m_sRegionX(0), m_sRegionZ(0), m_unitType(unitType) +{ + Initialize(); +} + +void Unit::Initialize() +{ + InitType4(true); + m_pMap = nullptr; + m_pRegion = nullptr; + + + m_reblvl = 0; + + SetPosition(0.0f, 0.0f, 0.0f); + m_bLevel = 0; + m_bNation = 0; + + m_sTotalHit = 0; + m_sTotalAc = 0; + m_fTotalHitrate = 0.0f; + m_fTotalEvasionrate = 0.0f; + + m_bResistanceBonus = 0; + m_bAttackAmount = 100; + m_sFireR = m_sColdR = m_sLightningR = m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; + m_sDaggerR = m_sSwordR = m_sAxeR = m_sMaceR = m_sSpearR = m_sBowR = 0; + m_byDaggerRAmount = m_byBowRAmount = 0; + + m_equippedItemBonuses.clear(); + + m_bCanStealth = true; + m_bReflectArmorType = 0; + m_bIsBlinded = false; + m_bCanUseSkills = m_bCanUsePotions = m_bCanTeleport = true; + m_bInstantCast = false; + m_bIsUndead = m_bIsKaul = false; + m_bisReturnee = false; + + m_bIsDevil = false; + m_bBlockPhysical = m_bBlockMagic = false; + m_bBlockCurses = m_bReflectCurses = false; + m_bMirrorDamage = false; + m_byMirrorAmount = 0; + + m_sAttackSpeedAmount = 100; // this is for the duration spells Type 4 + m_bSpeedAmount = 100; + m_sACAmount = 0; + m_sACPercent = 100; + m_bAttackAmount = 100; + m_sMagicAttackAmount = 0; + m_sMaxHPAmount = m_sMaxMPAmount = 0; + m_bHitRateAmount = 100; + m_sAvoidRateAmount = 100; + m_bAddFireR = m_bAddColdR = m_bAddLightningR = 0; + m_bAddMagicR = m_bAddDiseaseR = m_bAddPoisonR = 0; + m_bPctFireR = m_bPctColdR = m_bPctLightningR = 100; + m_bPctMagicR = m_bPctDiseaseR = m_bPctPoisonR = 100; + m_bMagicDamageReduction = 100; + m_bManaAbsorb = 0; + AbsorbCount = 0; + m_bRadiusAmount = 0; + m_buffCount = 0; + + m_bIceSpeedAmount = 0; + AbsorbedAmmount = 0; + + m_oSocketID = -1; + m_bEventRoom = 0; + SetUnitEventRoom(0); + + InitType3(); +} + +/* +NOTE: Due to KO messiness, we can really only calculate a 2D distance/ +There are a lot of instances where the y (height level, in this case) coord isn't set, +which understandably screws things up a lot. +*/ +// Calculate the distance between 2 2D points. +float Unit::GetDistance(float fx, float fz) +{ + return GetDistance(GetX(), GetZ(), fx, fz); +} + +// Calculate the 2D distance between Units. +float Unit::GetDistance(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + ASSERT(pTarget != nullptr); + if (GetZoneID() != pTarget->GetZoneID()) + return -FLT_MAX; + + return GetDistance(pTarget->GetX(), pTarget->GetZ()); +} + +float Unit::GetDistanceSqrt(Unit * pTarget) +{ + ASSERT(pTarget != nullptr); + if (GetZoneID() != pTarget->GetZoneID()) + return -FLT_MAX; + + return sqrtf(GetDistance(pTarget->GetX(), pTarget->GetZ())); +} + +// Check to see if the Unit is in 2D range of another Unit. +// Range MUST be squared already. +bool Unit::isInRange(Unit * pTarget, float fSquaredRange) +{ + return (GetDistance(pTarget) <= fSquaredRange); +} + +// Check to see if we're in the 2D range of the specified coordinates. +// Range MUST be squared already. +bool Unit::isInRange(float fx, float fz, float fSquaredRange) +{ + return (GetDistance(fx, fz) <= fSquaredRange); +} + +// Check to see if the Unit is in 2D range of another Unit. +// Range must NOT be squared already. +// This is less preferable to the more common precalculated range. +bool Unit::isInRangeSlow(Unit * pTarget, float fNonSquaredRange) +{ + return isInRange(pTarget, pow(fNonSquaredRange, 2.0f)); +} + +// Check to see if the Unit is in 2D range of the specified coordinates. +// Range must NOT be squared already. +// This is less preferable to the more common precalculated range. +bool Unit::isInRangeSlow(float fx, float fz, float fNonSquaredRange) +{ + return isInRange(fx, fz, pow(fNonSquaredRange, 2.0f)); +} + +float Unit::GetDistance(float fStartX, float fStartZ, float fEndX, float fEndZ) +{ + return pow(fStartX - fEndX, 2.0f) + pow(fStartZ - fEndZ, 2.0f); +} + +bool Unit::isInRange(float fStartX, float fStartZ, float fEndX, float fEndZ, float fSquaredRange) +{ + return (GetDistance(fStartX, fStartZ, fEndX, fEndZ) <= fSquaredRange); +} + +bool Unit::isInRangeSlow(float fStartX, float fStartZ, float fEndX, float fEndZ, float fNonSquaredRange) +{ + return isInRange(fStartX, fStartZ, fEndX, fEndZ, pow(fNonSquaredRange, 2.0f)); +} + +#ifdef GAMESERVER +void Unit::SetRegion(uint16 x /*= -1*/, uint16 z /*= -1*/) +{ + m_sRegionX = x; m_sRegionZ = z; + m_pRegion = m_pMap->GetRegion(x, z); // TODO: Clean this up +} + +bool Unit::RegisterRegion() +{ + if(this == nullptr) + return false; + + uint16 + new_region_x = GetNewRegionX(), new_region_z = GetNewRegionZ(), + old_region_x = GetRegionX(), old_region_z = GetRegionZ(); + + if (GetRegion() == nullptr || (old_region_x == new_region_x && old_region_z == new_region_z)) + return false; + + AddToRegion(new_region_x, new_region_z); + + RemoveRegion(old_region_x - new_region_x, old_region_z - new_region_z); + InsertRegion(new_region_x - old_region_x, new_region_z - old_region_z); + + return true; +} + +void Unit::RemoveRegion(int16 del_x, int16 del_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_OUT); + g_pMain->Send_OldRegions(&result, del_x, del_z, GetMap(), GetRegionX(), GetRegionZ(),nullptr,GetEventRoom()); +} + +void Unit::InsertRegion(int16 insert_x, int16 insert_z) +{ + ASSERT(GetMap() != nullptr); + + Packet result; + GetInOut(result, INOUT_IN); + g_pMain->Send_NewRegions(&result, insert_x, insert_z, GetMap(), GetRegionX(), GetRegionZ(),nullptr,GetEventRoom()); +} +#endif + +/* These should not be declared here, but it's necessary until the AI server better shares unit code */ + +/** +* @brief Calculates damage for players attacking either monsters/NPCs or other players. +* +* @param pTarget Target unit. +* @param pSkill The skill used in the attack, if applicable.. +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses. +* Used by AI logic to determine who to target (by checking who deals the most damage). +* +* @return The damage. +*/ +short CUser::GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + /* + This seems identical to users attacking NPCs/monsters. + The only differences are: + - GetACDamage() is not called + - the resulting damage is not divided by 3. + */ + int32 damage = 0; + int random = 0; + int32 temp_hit = 0, temp_ac = 0, temp_ap = 0, temp_hit_B = 0; + uint8 result; + + if (pTarget == nullptr || pTarget->isDead()) + return -1; + + // Trigger item procs + if (pTarget->isPlayer() + && !bPreviewOnly) + { + OnAttack(pTarget, AttackTypePhysical); + pTarget->OnDefend(this, AttackTypePhysical); + } + + temp_ac = pTarget->m_sTotalAc; + + // A unit's total AC shouldn't ever go below 0. + if ((pTarget->m_sACAmount) <= 0) + pTarget->m_sACAmount = 0; + else + temp_ac += pTarget->m_sACAmount; + + if (pTarget->m_sACPercent > 0 && pTarget->m_sACPercent < 100) + temp_ac -= temp_ac * (100 - pTarget->m_sACPercent) / 100; + + temp_ap = m_sTotalHit * m_bAttackAmount; + +#ifdef GAMESERVER + // Apply player vs player AC/AP bonuses. + if (pTarget->isPlayer()) + { + CUser * pTUser = TO_USER(pTarget); // NOTE: using a = a*v instead of a *= v because the compiler assumes different + // types being multiplied, which results in these calcs not behaving correctly. + + // adjust player AP by percent, for skills like "Critical Point" + temp_ap = temp_ap * m_bPlayerAttackAmount / 100; + + // Now handle class-specific AC/AP bonuses. + temp_ac = temp_ac * (100 + pTUser->m_byAcClassBonusAmount[GetBaseClassType() - 1]) / 100; + temp_ap = temp_ap * (100 + m_byAPClassBonusAmount[pTUser->GetBaseClassType() - 1]) / 100; + } +#endif + + // Allow for complete physical damage blocks. + // NOTE: Unsure if we need to count skill usage as magic damage or if we + // should only block that in explicit magic damage skills (CMagicProcess::GetMagicDamage()). + if (pTarget->m_bBlockPhysical) + return 0; + + temp_hit_B = (int)((temp_ap * 200 / 100) / (temp_ac + 240)); + + // Skill/arrow hit. + if (pSkill != nullptr) + { + // SKILL HIT! YEAH! + if (pSkill->bType[0] == 1) + { + _MAGIC_TYPE1 *pType1 = g_pMain->m_Magictype1Array.GetData(pSkill->iNum); + if (pType1 == nullptr) + return -1; + + // Non-relative hit. + if (pType1->bHitType) + { + result = (pType1->sHitRate <= myrand(0, 100) ? FAIL : SUCCESS); + } + // Relative hit. + else + { + result = GetHitRate((m_fTotalHitrate / pTarget->m_fTotalEvasionrate) * (pType1->sHitRate / 100.0f)); + } + + temp_hit = (int32)(temp_hit_B * (pType1->sHit / 100.0f)); + } + // ARROW HIT! YEAH! + else if (pSkill->bType[0] == 2) + { + _MAGIC_TYPE2 *pType2 = g_pMain->m_Magictype2Array.GetData(pSkill->iNum); + if (pType2 == nullptr) + return -1; + + // Non-relative/Penetration hit. + if (pType2->bHitType == 1 || pType2->bHitType == 2) + { + result = (pType2->sHitRate <= myrand(0, 100) ? FAIL : SUCCESS); + } + // Relative hit/Arc hit. + else + { + result = GetHitRate((m_fTotalHitrate / pTarget->m_fTotalEvasionrate) * (pType2->sHitRate / 100.0f)); + } + + if (pType2->bHitType == 1 /* || pType2->bHitType == 2 */) + temp_hit = (int32)(m_sTotalHit * m_bAttackAmount * (pType2->sAddDamage / 100.0f) / 100); + else + temp_hit = (int32)(temp_hit_B * (pType2->sAddDamage / 100.0f)); + } + } + // Normal hit (R attack) + else + { + temp_hit = temp_ap / 100; + result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + } + + switch (result) + { // 1. Magical item damage.... + case GREAT_SUCCESS: + case SUCCESS: + case NORMAL: + if (pSkill != nullptr) + { // Skill Hit. + damage = temp_hit; + random = myrand(0, damage); + if (pSkill->bType[0] == 1) + damage = (short)((temp_hit + 0.3f * random) + 0.99f); + else + damage = (short)(((temp_hit * 0.6f) + 1.0f * random) + 0.99f); + } + else + { // Normal Hit. + +#ifdef GAMESERVER + if (isGM() && !pTarget->isPlayer()) + { + if (g_pMain->m_nGameMasterRHitDamage != 0) + { + damage = g_pMain->m_nGameMasterRHitDamage; + return damage; + } + } +#endif + + damage = temp_hit_B; + random = myrand(0, damage); + damage = (short)((0.85f * temp_hit_B) + 0.3f * random); + } + + break; + case FAIL: + if (pSkill != nullptr) + { // Skill Hit. + + } else { // Normal Hit. +#ifdef GAMESERVER + if (isGM() && !pTarget->isPlayer()) + { + damage = 30000; + return damage; + } +#endif + } + } + + // Apply item bonuses + damage = GetMagicDamage(damage, pTarget, bPreviewOnly); + + // These two only apply to players + if (pTarget->isPlayer()) + { + damage = GetACDamage(damage, pTarget); // 3. Additional AC calculation.... + + // Give increased damage in war zones (as per official 1.298~1.325) + // This may need to be revised to use the last nation to win the war, or more accurately, + // the nation that last won the war 3 times in a row (whether official behaves this way now is unknown). + if (GetMap()->isWarZone()) + damage /= 2; + else + damage /= 2; + } + + // Enforce damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + + if(pTarget->GetID() > NPC_BAND) + { + switch(TO_NPC(pTarget)->GetType()) + { + case NPC_FOSSIL: + damage = 0; + break; + case NPC_TREE: + damage = 0; + break; + } + } + + + return damage; +} + +#if GAMESERVER +void CUser::OnAttack(Unit * pTarget, AttackType attackType) +{ + if (!pTarget->isPlayer() + || attackType == AttackTypeMagic) + return; + + // Trigger weapon procs for the attacker on attack + static const uint8 itemSlots[] = { RIGHTHAND, LEFTHAND }; + foreach_array (i, itemSlots) + { + // If we hit an applicable weapon, don't try proc'ing the other weapon. + // It is only ever meant to proc on the dominant weapon. + if (TriggerProcItem(itemSlots[i], pTarget, TriggerTypeAttack)) + break; + } +} + +void CUser::OnDefend(Unit * pAttacker, AttackType attackType) +{ + if (!pAttacker->isPlayer()) + return; + + // Trigger defensive procs for the defender when being attacked + static const uint8 itemSlots[] = { LEFTHAND }; + foreach_array (i, itemSlots) + TriggerProcItem(itemSlots[i], pAttacker, TriggerTypeDefend); +} + +/** +* @brief Trigger item procs. +* +* @param bSlot Slot of item to attempt to proc. +* @param pTarget Target of the skill (attacker/defender depending on the proc type). +* @param triggerType Which type of item to proc (offensive/defensive). +* +* @return true if there's an applicable item to proc, false if not. +*/ +bool CUser::TriggerProcItem(uint8 bSlot, Unit * pTarget, ItemTriggerType triggerType) +{ + // Don't proc weapon skills if our weapon is disabled. + if (triggerType == TriggerTypeAttack && isWeaponsDisabled()) + return false; + + // Ensure there's an item in this slot, + _ITEM_DATA * pItem = GetItem(bSlot); + if (pItem == nullptr + // and that it doesn't need to be repaired. + || pItem->sDuration == 0) + return false; // not an applicable item + + // Ensure that this item has an attached proc skill in the table + _ITEM_OP * pData = g_pMain->m_ItemOpArray.GetData(pItem->nNum); + if (pData == nullptr // no skill to proc + || pData->bTriggerType != triggerType) // don't use an offensive proc when we're defending (or vice versa) + return false; // not an applicable item + + // At this point, we have determined there is an applicable item in the slot. + // Should it proc now? (note: CheckPercent() checks out of 1000) + if (!CheckPercent(pData->bTriggerRate * 10)) + return true; // it is an applicable item, it just didn't proc. No need to proc subsequent items. + + MagicInstance instance; + + instance.bIsItemProc = true; + instance.sCasterID = GetID(); + instance.sTargetID = pTarget->GetID(); + instance.nSkillID = pData->nSkillID; + + // For AOE skills such as "Splash", the AOE should be focus on the target. + instance.sData[0] = (uint16) pTarget->GetX(); + instance.sData[2] = (uint16) pTarget->GetZ(); + + instance.Run(); + return true; // it is an applicable item, and it proc'd. No need to proc subsequent items. +} +#endif + +short CNpc::GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget->isPlayer()) + return GetDamage(TO_USER(pTarget), pSkill); + + return GetDamage(TO_NPC(pTarget), pSkill); +} + +/** +* @brief Calculates damage for monsters/NPCs attacking players. +* +* @param pTarget Target player. +* @param pSkill The skill (not used here). +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses (not used here). +* +* @return The damage. +*/ +short CNpc::GetDamage(CUser *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget == nullptr) + return 0; + + int32 damage = 0, HitB; + int32 Ac = pTarget->m_sTotalAc; + + // A unit's total AC shouldn't ever go below 0. + if ((pTarget->m_sACAmount) <= 0) + pTarget->m_sACAmount = 0; + else + Ac += pTarget->m_sACAmount; + + Ac = TO_USER(pTarget)->m_sItemAc + pTarget->GetLevel() + + (Ac - pTarget->GetLevel() - TO_USER(pTarget)->m_sItemAc); + HitB = (int)((m_sTotalHit * m_bAttackAmount * 200 / 100) / (Ac + 240)); + + if (HitB <= 0) + return 0; + + uint8 result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + switch (result) + { + case GREAT_SUCCESS: + damage = (int)(0.3f * myrand(0, HitB)); + damage += (short)(0.85f * (float)HitB); + damage = (damage * 3) / 2; + break; + + case SUCCESS: + case NORMAL: + damage = (int)(0.3f * myrand(0, HitB)); + damage += (short)(0.85f * (float)HitB); + break; + } + + int nMaxDamage = (int)(2.6 * m_sTotalHit); + if (damage > nMaxDamage) + damage = nMaxDamage; + + // Enforce overall damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + return (short) damage; +} + +/** +* @brief Calculates damage for monsters/NPCs attacking other monsters/NPCs. +* +* @param pTarget Target NPC/monster. +* @param pSkill The skill (not used here). +* @param bPreviewOnly true to preview the damage only and not apply any item bonuses (not used here). +* +* @return The damage. +*/ +short CNpc::GetDamage(CNpc *pTarget, _MAGIC_TABLE *pSkill /*= nullptr*/, bool bPreviewOnly /*= false*/) +{ + if (pTarget == nullptr) + return 0; + + short damage = 0, Hit = m_sTotalHit, Ac = pTarget->m_sTotalAc; + uint8 result = GetHitRate(m_fTotalHitrate / pTarget->m_fTotalEvasionrate); + switch (result) + { + case GREAT_SUCCESS: + damage = (short)(0.6 * Hit); + if (damage <= 0) + { + damage = 0; + break; + } + damage = myrand(0, damage); + damage += (short)(0.7 * Hit); + break; + + case SUCCESS: + case NORMAL: + if (Hit - Ac > 0) + { + damage = (short)(0.6 * (Hit - Ac)); + if (damage <= 0) + { + damage = 0; + break; + } + damage = myrand(0, damage); + damage += (short)(0.7 * (Hit - Ac)); + } + break; + } + + // Enforce damage cap + if (damage > MAX_DAMAGE) + damage = MAX_DAMAGE; + + return damage; +} + +short Unit::GetMagicDamage(int damage, Unit *pTarget, bool bPreviewOnly /*= false*/) +{ + if (pTarget->isDead() || pTarget-> isBlinking()) + return 0; + + Guard lock(_unitlock); + int16 sReflectDamage = 0; + bool sKontrol = false; + // Check each item that has a bonus effect. + int aa = m_equippedItemBonuses.size(); + + foreach (itr, m_equippedItemBonuses) + { + // Each item can support multiple bonuses. + // Thus, we must handle each bonus. + int ss = itr->second.size(); + + foreach (bonusItr, itr->second) + { + short total_r = 0, temp_damage = 0; + uint8 bType = bonusItr->first; + int16 sAmount = bonusItr->second; + + bool bIsDrain = (bType >= ITEM_TYPE_HP_DRAIN && bType <= ITEM_TYPE_MP_DRAIN); + if (bIsDrain) + temp_damage = damage * sAmount / 100; + + switch (bType) + { + case ITEM_TYPE_FIRE: + total_r = (pTarget->m_sFireR + pTarget->m_bAddFireR) * pTarget->m_bPctFireR / 100; + break; + case ITEM_TYPE_COLD: + total_r = (pTarget->m_sColdR + pTarget->m_bAddColdR) * pTarget->m_bPctColdR / 100; + break; + case ITEM_TYPE_LIGHTNING: + total_r = (pTarget->m_sLightningR + pTarget->m_bAddLightningR) * pTarget->m_bPctLightningR / 100; + break; + case ITEM_TYPE_HP_DRAIN: + pTarget->HpChange(temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MP_DAMAGE: + pTarget->MSpChange(-temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MP_DRAIN: + MSpChange(temp_damage); + sKontrol = true; + break; + case ITEM_TYPE_MIRROR_DAMAGE: + sReflectDamage += sAmount; + break; + } + + total_r += pTarget->m_bResistanceBonus; + if (!bIsDrain) + { + if (total_r > 200) + total_r = 200; + + temp_damage = sAmount - sAmount * total_r / 200; + damage += temp_damage; + } + else if(bType == ITEM_TYPE_HP_DRAIN) + { + HpChange(temp_damage); + temp_damage = sAmount - sAmount * total_r / 200; + return damage += temp_damage; + } + } + } + + // If any items have have damage reflection enabled, we should reflect this back to the client. + // NOTE: This should only apply to shields, so it should only ever apply once. + // We do this here to ensure it's taking into account the total calculated damage. + if (sReflectDamage > 0 && !sKontrol) + { + short temp_damage = damage * sReflectDamage / 100; + HpChange(-temp_damage); + } + + if(pTarget->GetID() > NPC_BAND) + { + switch(TO_NPC(pTarget)->GetType()) + { + case NPC_FOSSIL: + damage = 0; + break; + case NPC_TREE: + damage = 0; + break; + } + } + + return damage; +} + +short Unit::GetACDamage(int damage, Unit *pTarget) +{ + // This isn't applicable to NPCs. + if (!isPlayer() || !pTarget->isPlayer()) + return damage; + +#ifdef GAMESERVER + if (pTarget->isDead()) + return 0; + + CUser * pUser = TO_USER(this); + if (pUser->isWeaponsDisabled()) + return damage; + + uint8 weaponSlots[] = { LEFTHAND, RIGHTHAND }; + + int firstdamage = damage; + + foreach_array (slot, weaponSlots) + { + _ITEM_TABLE * pWeapon = pUser->GetItemPrototype(weaponSlots[slot]); + if (pWeapon == nullptr) + continue; + + if (pWeapon->isDagger()) + damage -= damage * pTarget->m_sDaggerR / 200; + else if (pWeapon->isSword()) + damage -= damage * pTarget->m_sSwordR / 200; + else if (pWeapon->isAxe()) + damage -= damage * pTarget->m_sAxeR / 200; + else if (pWeapon->isMace()) + damage -= damage * pTarget->m_sMaceR / 200; + else if (pWeapon->isSpear()) + damage -= damage * pTarget->m_sSpearR / 200; + else if (pWeapon->isBow()) + damage -= damage * pTarget->m_sBowR / 200; + else if (pWeapon->isStaff()) + damage -= damage * pTarget->m_sSpearR / 200; + } + +#endif + return damage; +} + +uint8 Unit::GetHitRate(float rate) +{ + int random = myrand(1, 10000); + if (rate >= 5.0f) + { + if (random >= 1 && random <= 3500) + return GREAT_SUCCESS; + else if (random >= 3501 && random <= 7500) + return SUCCESS; + else if (random >= 7501 && random <= 9800) + return NORMAL; + } + else if (rate < 5.0f && rate >= 3.0f) + { + if (random >= 1 && random <= 2500) + return GREAT_SUCCESS; + else if (random >= 2501 && random <= 6000) + return SUCCESS; + else if (random >= 6001 && random <= 9600) + return NORMAL; + } + else if (rate < 3.0f && rate >= 2.0f) + { + if (random >= 1 && random <= 2000) + return GREAT_SUCCESS; + else if (random >= 2001 && random <= 5000) + return SUCCESS; + else if (random >= 5001 && random <= 9400) + return NORMAL; + } + else if (rate < 2.0f && rate >= 1.25f) + { + if (random >= 1 && random <= 1500) + return GREAT_SUCCESS; + else if (random >= 1501 && random <= 4000) + return SUCCESS; + else if (random >= 4001 && random <= 9200) + return NORMAL; + } + else if (rate < 1.25f && rate >= 0.8f) + { + if (random >= 1 && random <= 1000) + return GREAT_SUCCESS; + else if (random >= 1001 && random <= 3000) + return SUCCESS; + else if (random >= 3001 && random <= 9000) + return NORMAL; + } + else if (rate < 0.8f && rate >= 0.5f) + { + if (random >= 1 && random <= 800) + return GREAT_SUCCESS; + else if (random >= 801 && random <= 2500) + return SUCCESS; + else if (random >= 2501 && random <= 8000) + return NORMAL; + } + else if (rate < 0.5f && rate >= 0.33f) + { + if (random >= 1 && random <= 600) + return GREAT_SUCCESS; + else if (random >= 601 && random <= 2000) + return SUCCESS; + else if (random >= 2001 && random <= 7000) + return NORMAL; + } + else if (rate < 0.33f && rate >= 0.2f) + { + if (random >= 1 && random <= 400) + return GREAT_SUCCESS; + else if (random >= 401 && random <= 1500) + return SUCCESS; + else if (random >= 1501 && random <= 6000) + return NORMAL; + } + else + { + if (random >= 1 && random <= 200) + return GREAT_SUCCESS; + else if (random >= 201 && random <= 1000) + return SUCCESS; + else if (random >= 1001 && random <= 5000) + return NORMAL; + } + + return FAIL; +} + +#ifdef GAMESERVER +void Unit::SendToRegion(Packet *result) +{ + g_pMain->Send_Region(result, GetMap(), GetRegionX(), GetRegionZ(), nullptr, GetEventRoom()); +} + +// Handle it here so that we don't need to ref the class everywhere +void Unit::Send_AIServer(Packet *result) +{ + g_pMain->Send_AIServer(result); +} +#endif + +void Unit::InitType3() +{ + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + m_durationalSkills[i].Reset(); + + m_bType3Flag = false; +} + +void Unit::InitType4(bool bRemoveSavedMagic /*= false*/, uint8 buffType /* = 0 */) +{ + // Remove all buffs that should not be recast. + Guard lock(_unitlock); + Type4BuffMap buffMap = m_buffMap; // copy the map + + for (auto itr = buffMap.begin(); itr != buffMap.end(); itr++) + { +#ifdef GAMESERVER + if (buffType > 0 && itr->second.m_bBuffType != buffType) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, bRemoveSavedMagic, buffType > 0 ? true : false); +#endif + } +} + +/** +* @brief Determine if this unit is basically able to attack the specified unit. +* This should only be called to handle the minimal shared logic between +* NPCs and players. +* +* You should use the more appropriate CUser or CNpc specialization. +* +* @param pTarget Target for the attack. +* +* @return true if we can attack, false if not. +*/ +bool Unit::CanAttack(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + // Units cannot attack units in different zones. + if (GetZoneID() != pTarget->GetZoneID()) + return false; + + // We cannot attack our target if we are incapacitated + // (should include debuffs & being blinded) + if (isIncapacitated() + // or if our target is in a state in which + // they should not be allowed to be attacked + || pTarget->isDead() + || pTarget->isBlinking()) + return false; + + // Finally, we can only attack the target if we are hostile towards them. + return isHostileTo(pTarget); +} + +/** +* @brief Determine if this unit is basically able to attack the specified unit. +* This should only be called to handle the minimal shared logic between +* NPCs and players. +* +* You should use the more appropriate CUser or CNpc specialization. +* +* @param pTarget Target for the attack. +* +* @return true if we attackable, false if not. +*/ +bool Unit::isAttackable(Unit * pTarget) +{ + if (pTarget == nullptr) + pTarget = this; + + if (pTarget) + { + if (pTarget->isNPC()) + { + CNpc * pNpc = TO_NPC(pTarget); + if (pNpc != nullptr) + { +#if defined(GAMESERVER) + if (pNpc->GetType() == NPC_BIFROST_MONUMENT) + return (g_pMain->m_bAttackBifrostMonument); + else if (pNpc->GetType() == NPC_PVP_MONUMENT) + { + if(pNpc->GetSpid() == MONUMENT_ENEMY_SPID) + return true; + + if ((GetNation() == KARUS && pNpc->GetSpid() == MONUMENT_KARUS_SPID) + || (GetNation() == ELMORAD && pNpc->GetSpid() == MONUMENT_ELMORAD_SPID)) + return false; + else + return true; + } + else if (pNpc->GetType() == NPC_GUARD_TOWER1 + || pNpc->GetType() == NPC_GUARD_TOWER2 + || pNpc->GetType() == NPC_GATE2 + || pNpc->GetType() == NPC_VICTORY_GATE + || pNpc->GetType() == NPC_PHOENIX_GATE + || pNpc->GetType() == NPC_SPECIAL_GATE + || pNpc->GetType() == NPC_GATE_LEVER + || pNpc->GetType() == NPC_BORDER_MONUMENT + || pNpc->GetType() == NPC_BYGROUP3) + return false; + else if (pNpc->m_sSid == 8850 && !GetMap()->canAttackOtherNation()) + return false; +#endif + } + } + } + + return true; +} + +bool Unit::CanCastRHit(uint16 m_socketID) +{ +#if defined(GAMESERVER) + CUser *pUser = g_pMain->GetUserPtr(m_socketID); + + if (pUser == nullptr) + return true; + + if (pUser->m_RHitRepeatList.find(m_socketID) != pUser->m_RHitRepeatList.end()) + { + RHitRepeatList::iterator itr = pUser->m_RHitRepeatList.find(m_socketID); + if (float(UNIXTIME - itr->second) < PLAYER_R_HIT_REQUEST_INTERVAL) + return false; + else + { + pUser->m_RHitRepeatList.erase(m_socketID); + return true; + } + } +#endif + return true; +} + +void Unit::OnDeath(Unit *pKiller) +{ +#ifdef GAMESERVER + + SendDeathAnimation(pKiller); +#endif +} + +void Unit::SendDeathAnimation(Unit * pKiller /*= nullptr*/) +{ +#ifdef GAMESERVER + Packet result(WIZ_DEAD); + result << GetID(); + SendToRegion(&result); +#else + Packet result(AG_DEAD); + int16 tid = (pKiller == nullptr ? -1 : pKiller->GetID()); + result << GetID() << tid; + g_pMain->Send(&result); +#endif +} + +void Unit::AddType4Buff(uint8 bBuffType, _BUFF_TYPE4_INFO & pBuffInfo) +{ + Guard lock(_unitlock); + m_buffMap.insert(std::make_pair(bBuffType, pBuffInfo)); + + if (pBuffInfo.isBuff()) + m_buffCount++; +} + +/************************************************************************** +* The following methods should not be here, but it's necessary to avoid +* code duplication between AI and GameServer until they're better merged. +**************************************************************************/ + +/** +* @brief Sets zone attributes for the loaded zone. +* +* @param zoneNumber The zone number. +*/ +void KOMap::SetZoneAttributes(int zoneNumber) +{ + m_zoneFlags = 0; + #if defined(GAMESERVER) + m_byTariff = g_pMain->GetTariffByZone(zoneNumber); // defaults to 10 officially for zones that don't use it. +#else + m_byTariff = 0; // defaults to 10 officially for zones that don't use it. +#endif + m_byMinLevel = 1; + m_byMaxLevel = 83; + + + switch (zoneNumber) + { + case ZONE_KARUS: + case ZONE_ELMORAD: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_CLAN_UPDATE; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_KARUS_ESLANT: + case ZONE_ELMORAD_ESLANT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ESLANT, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_MORADONM2: + case ZONE_MORADON: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS | ZF_CLAN_UPDATE; + break; + case ZONE_DELOS: + m_zoneType = ZoneAbilitySiegeDisabled; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BIFROST: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_BIFROST, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_DESPERATION_ABYSS: + case ZONE_HELL_ABYSS: + case ZONE_DRAGON_CAVE: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_NATION_BASE, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_ARENA: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_ATTACK_SAME_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_ORC_ARENA: + case ZONE_GOBLIN_ARENA: + case ZONE_BLOOD_DON_ARENA: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_CAITHAROS_ARENA: + m_zoneType = ZoneAbilityCaitharosArena; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_FORGOTTEN_TEMPLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_LOST_TEMPLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_DARK_LAND: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE3: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE2: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE4: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE5: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_BATTLE6: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + m_byMinLevel = MIN_LEVEL_FOR_BATTLES, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_SNOW_BATTLE: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_WAR_ZONE; + break; + case ZONE_KROWAZ_DOMINION: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_PVP_EVENT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ARDREAM, m_byMaxLevel = MAX_LEVEL_ARDREAM; + break; + case ZONE_CLAN_EVENT: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION; + break; + case ZONE_RONARK_LAND: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_RONARK_LAND_BASE: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_RONARK_LAND_BASE, m_byMaxLevel = MAX_LEVEL_RONARK_LAND_BASE; + break; + case ZONE_ARDREAM: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + m_byMinLevel = MIN_LEVEL_ARDREAM, m_byMaxLevel = MAX_LEVEL_ARDREAM; + break; + case ZONE_BORDER_DEFENSE_WAR: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION; + break; + case ZONE_CHAOS_DUNGEON: + m_zoneType = ZoneAbilityPVP; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_ATTACK_SAME_NATION; + break; + case ZONE_JURAD_MOUNTAIN: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = MIN_LEVEL_JURAD_MOUNTAIN, m_byMaxLevel = MAX_LEVEL; + break; + case ZONE_PRISON: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_FRIENDLY_NPCS; + break; + case ZONE_ISILOON_ARENA: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_FELANKOR_ARENA: + m_zoneType = ZoneAbilityPVPNeutralNPCs; + m_zoneFlags = ZF_TALK_OTHER_NATION | ZF_ATTACK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_WINNER_CASTLE2: + case ZONE_WINNER_CASTLE: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + break; + case ZONE_STONE1: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = 1, m_byMaxLevel = 39; + break; + case ZONE_STONE2: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = 39, m_byMaxLevel = 60; + break; + case ZONE_STONE3: + m_zoneType = ZoneAbilityNeutral; + m_zoneFlags = ZF_TRADE_OTHER_NATION | ZF_TALK_OTHER_NATION | ZF_FRIENDLY_NPCS; + m_byMinLevel = 59, m_byMaxLevel = MAX_LEVEL; + break; + default: + m_zoneType = ZoneAbilityPVP; + break; + } +} + +/** +* @brief Determines if an NPC is hostile to a unit. +* Non-hostile units cannot be attacked. +* +* @param pTarget Target unit +* +* @return true if hostile to, false if not. +*/ +bool CNpc::isHostileTo(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + if (m_oSocketID == pTarget->GetID()) + return true; + + if (GetType() == NPC_GATE + && (GetZoneID() == ZONE_BATTLE + || GetZoneID() == ZONE_BATTLE2 + || GetZoneID() == ZONE_BATTLE3 + || GetZoneID() == ZONE_BATTLE4 + || GetZoneID() == ZONE_BATTLE5 + || GetZoneID() == ZONE_BATTLE6) + && GetNation() != pTarget->GetNation()) + return true; + + + // Only players can attack these targets. + if (pTarget->isPlayer()) + { + // Scarecrows are NPCs that the client allows us to attack + // however, since they're not a monster, and all NPCs in neutral zones + // are friendly, we need to override to ensure we can attack them server-side. +#if defined(GAMESERVER) + + if(GetType() == NPC_FOSSIL) + { + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable = TO_USER(pTarget)->GetItemPrototype(RIGHTHAND, pItem); + if (pItem == nullptr || pTable == nullptr + || pItem->sDuration <= 0 // are we supposed to wear the pickaxe on use? Need to verify. + || !pTable->isPickaxe()) + return false; + else + return true; + } + + if (GetType() == NPC_SCARECROW || GetType() == NPC_BIFROST_MONUMENT && g_pMain->m_bAttackBifrostMonument) + return true; + +#else + if (GetType() == NPC_SCARECROW || GetType() == NPC_BIFROST_MONUMENT) + return true; +#endif + } +#if defined(GAMESERVER) + + if (g_pMain->m_byBattleSiegeWarOpen && !TO_USER(pTarget)->isInClan() && GetZoneID() == ZONE_DELOS) + return false; + + CKnights * pKnights ; + _KNIGHTS_SIEGE_WARFARE * pSiegeWars ; + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS && TO_USER(pTarget)->GetClanID() != 0) + { + pKnights = g_pMain->GetClanPtr(TO_USER(pTarget)->GetClanID()); + pSiegeWars = g_pMain->GetSiegeMasterKnightsPtr(1); + } + + + + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS && pKnights->GetID() != pSiegeWars->sMasterKnights && m_sSid == 541 && GetType() == NPC_DESTROYED_ARTIFACT) + return true;// CSW Açık Kale sahibi clanda değil atack yapabilir + else if(!g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS) + return false;// CSW kapalı delosta atack yok + else if(g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS && (pKnights->GetID() == pSiegeWars->sMasterKnights || GetNation() == Nation::ALL)) + return false;// CSW açık ve kale sahibi clanda atack yok + + if (GetNation() == Nation::ALL + || (!isMonster() && GetMap()->areNPCsFriendly() && GetNation() != Nation::NONE)) + return false; +#else + // A nation of 0 indicates friendliness to all + if (GetNation() == Nation::ALL + // Also allow for cases when all NPCs in this zone are inherently friendly. + || (!isMonster() && GetMap()->areNPCsFriendly())) + return false; +#endif + // A nation of 3 indicates hostility to all (or friendliness to none) + if (GetNation() == Nation::NONE) + return true; + + // An NPC cannot attack a unit of the same nation + return (GetNation() != pTarget->GetNation()); +} + +/** +* @brief Determines if a player is hostile to a unit. +* Non-hostile units cannot be attacked. +* +* @param pTarget Target unit +* +* @return true if hostile to, false if not. +*/ +bool CUser::isHostileTo(Unit * pTarget) +{ + if (pTarget == nullptr) + return false; + + + + // For non-player hostility checks, refer to the appropriate override. + if (!pTarget->isPlayer()) + return pTarget->isHostileTo(this); + + // Players can attack other players in the arena. + if ((isInArena() + && TO_USER(pTarget)->isInArena()) + || (isInPartyArena() + && TO_USER(pTarget)->isInPartyArena() + && (GetPartyID() != TO_USER(pTarget)->GetPartyID() || GetPartyID() == uint16(-1) || TO_USER(pTarget)->GetPartyID() == uint16(-1)))) + return true; + + // Players can attack other players in the safety area. + if (TO_USER(pTarget)->isInSafetyArea() + || TO_USER(pTarget)->hasBuff(BUFF_TYPE_FREEZE) + || TO_USER(pTarget)->isBlinking()) + return false; + + if(TO_USER(pTarget)->GetEventRoom() != GetEventRoom()) + return false; + + // Players can attack opposing nation players when they're in PVP zones. + if (GetNation() != pTarget->GetNation() + && isInPVPZone()) + return true; + + if (GetNation() != pTarget->GetNation() + && JuraidTempleEventZone()) + return true; + + if (GetNation() != pTarget->GetNation() + && BorderTempleEventZone()) + return true; + + if (ChaosTempleEventZone()) + return true; + + #if GAMESERVER + if (g_pMain->m_byBattleSiegeWarOpen && GetZoneID() == ZONE_DELOS) + { + + CUser *pUser = g_pMain->GetUserPtr(GetName(), TYPE_CHARACTER); + CUser *pTargetUser = g_pMain->GetUserPtr(TO_USER(pTarget)->m_strUserID, TYPE_CHARACTER); + + if(pUser == nullptr + || pTargetUser == nullptr) + return false; + + if (pUser->GetClanID() > 0 + && pTargetUser->GetClanID() > 0) + return g_pMain->CastleSiegeWarAttack(pUser, pTargetUser); + else + return false; + } +#endif + + // Players cannot attack other players in any other circumstance. + return false; +} + + +/** +* @brief Determine if this user is in an arena area. +* +* @return true if in arena, false if not. +*/ +bool CUser::isInArena() +{ + /* + All of this needs to be handled more generically + (i.e. bounds loaded from the database, or their existing SMD method). + */ + + // If we're in the Arena zone, assume combat is acceptable everywhere. + // NOTE: This is why we need generic bounds checks, to ensure even attacks in the Arena zone are in one of the 4 arena locations. + if (GetZoneID() == ZONE_ARENA) + return true; + + // The only other arena is located in Moradon. If we're not in Moradon, then it's not an Arena. + if (GetZoneID() != ZONE_MORADON && GetZoneID() != ZONE_MORADONM2) + return false; + + // Moradon outside arena spawn bounds. + return ((GetX() < 735.0f && GetX() > 684.0f) + && (GetZ() < 491.0f && GetZ() > 440.0f)/* || (GetZ() < 411.0f && GetZ() > 360.0f))*/); +} + +bool CUser::isInPartyArena() +{ + /* + All of this needs to be handled more generically + (i.e. bounds loaded from the database, or their existing SMD method). + */ + + // If we're in the Arena zone, assume combat is acceptable everywhere. + // NOTE: This is why we need generic bounds checks, to ensure even attacks in the Arena zone are in one of the 4 arena locations. + if (GetZoneID() == ZONE_ARENA) + return true; + + // The only other arena is located in Moradon. If we're not in Moradon, then it's not an Arena. + if (GetZoneID() != ZONE_MORADON && GetZoneID() != ZONE_MORADONM2) + return false; + + // Moradon outside arena spawn bounds. + return ((GetX() < 735.0f && GetX() > 684.0f) + && (GetZ() < 411.0f && GetZ() > 360.0f)); + +} +/** +* @brief Determine if this user is in a normal PVP zone. +* That is, they're in an PK zone that allows combat +* against the opposite nation. +* +* @return true if in PVP zone, false if not. +*/ +bool CUser::isInPVPZone() +{ + if (GetMap()->canAttackOtherNation()) + return true; + +#if defined(GAMESERVER) + // Native/home zones are classed as PVP zones during invasions. + if ((GetZoneID() == KARUS && g_pMain->m_byKarusOpenFlag) + || (GetZoneID() == ELMORAD && g_pMain->m_byElmoradOpenFlag)) + return true; +#endif + + return false; +} + +/** +* @brief Determine if this user is in an safety area. +* +* @return true if in safety area, false if not. +*/ +bool CUser::isInSafetyArea() +{ + switch (GetZoneID()) + { + case ZONE_BIFROST: + if (GetNation() == KARUS) + return ((GetX() < 124.0f && GetX() > 56.0f) && ((GetZ() < 840.0f && GetZ() > 700.0f))); + else + if (GetNation() == ELMORAD) + return ((GetX() < 270.0f && GetX() > 190.0f) && ((GetZ() < 970.0f && GetZ() > 870.0f))); + + case ZONE_RONARK_LAND_BASE: + if (GetNation() == KARUS || GetNation() == ELMORAD) + return ((GetX() < 589.0f && GetX() > 403.0f) && ((GetZ() < 297.0f && GetZ() > 156.0f))); + + case ZONE_DARK_LAND: + if (GetNation() == KARUS || GetNation() == ELMORAD) + return ((GetX() < 110.0f && GetX() > 4.0f) && ((GetZ() < 507.0f && GetZ() > 318.0f)) || (GetX() < 225.0f && GetX() > 4.0f) && ((GetZ() < 507.0f && GetZ() > 388.0f))); + + case ZONE_ARENA: + if (GetNation() == KARUS || GetNation() == ELMORAD) + return ((GetX() < 148.0f && GetX() > 106.0f) && ((GetZ() < 149.0f && GetZ() > 50.0f)) || (GetX() < 169.0f && GetX() > 86.0f) && ((GetZ() < 127.0f && GetZ() > 100.0f)) || (GetX() < 150.0f && GetX() > 102.0f) && ((GetZ() < 144.0f && GetZ() > 82.0f)) || (GetX() < 157.0f && GetX() > 99.0f) && ((GetZ() < 139.0f && GetZ() > 88.0f))); + + case ZONE_ELMORAD: + if (GetNation() == KARUS) + return ((GetX() < 244.0f && GetX() > 176.0f) && ((GetZ() < 1880.0f && GetZ() > 1820.0f))); + + case ZONE_BORDER_DEFENSE_WAR: + if (GetNation() == ELMORAD) + return ((GetX() < 224.0f && GetX() > 179.0f) && ((GetZ() < 222.0f && GetZ() > 169.0f))); + else if (GetNation() == KARUS) + return ((GetX() < 74.0f && GetX() > 22.0f) && ((GetZ() < 96.0f && GetZ() > 36.0f))); + + case ZONE_KARUS: + if (GetNation() == ELMORAD) + return ((GetX() < 1876.0f && GetX() > 1820.0f) && ((GetZ() < 212.0f && GetZ() > 136.0f))); + + case ZONE_BATTLE: + if (GetNation() == ELMORAD) + return ((GetX() < 125.0f && GetX() > 98.0f) && ((GetZ() < 780.0f && GetZ() > 755.0f))); + else if (GetNation() == KARUS) + return ((GetX() < 831.0f && GetX() > 805.0f) && ((GetZ() < 110.0f && GetZ() > 85.0f))); + case ZONE_BATTLE2: + if (GetNation() == ELMORAD) + return ((GetX() < 977.0f && GetX() > 942.0f) && ((GetZ() < 904.0f && GetZ() > 863.0f))); + else if (GetNation() == KARUS) + return ((GetX() < 80.0f && GetX() > 46.0f) && ((GetZ() < 174.0f && GetZ() > 142.0f))); + case ZONE_DELOS: + return ((GetX() > 411.0f && GetX() < 597.0f) && ((GetZ() < 296.0f && GetZ() > 113.0f))); + } + + return false; +} + +bool Unit::isSameEventRoom(Unit *pTarget) +{ + if (pTarget == nullptr) + return false; + + if (GetEventRoom() == pTarget->GetEventRoom()) + return true; + + return false; +} \ No newline at end of file diff --git a/server/GameServer/Unit.h b/server/GameServer/Unit.h new file mode 100644 index 0000000..ca0cf5e --- /dev/null +++ b/server/GameServer/Unit.h @@ -0,0 +1,383 @@ +#pragma once + +#if defined(AI_SERVER) +# define KOMap MAP +#else +# define KOMap C3DMap +#endif + +#include "Define.h" +#include "GameDefine.h" +#include "../shared/ReferenceObject.h" +#include + +// Maximum range allowed between a player and an NPC. +#define MAX_NPC_RANGE (121.0f) // pow(11.0f, 2.0f), to save having to calculate it in the code. + +// Maximum range allowed between a unit and an object +#define MAX_OBJECT_RANGE (100.0f) // pow(10.0f, 2.0f) + +// Maximum range allowed between a player & their loot. +#define MAX_LOOT_RANGE (121.0f) // pow(11.0f, 2.0f) + +struct _MAGIC_TABLE; +struct _BUFF_TYPE4_INFO; +struct _BUFF_TYPE9_INFO; +class CRegion; +class KOMap; +class Packet; + +typedef std::map Type4BuffMap; +typedef std::map Type9BuffMap; + +enum AttackType { AttackTypeNone, AttackTypePhysical, AttackTypeMagic }; +enum UnitType { UnitPlayer, UnitNPC, UnitPet }; + +/** +* This class is a bridge between the CNpc & CUser classes +**/ +class Unit : public ReferenceObject +{ +public: + Unit(UnitType unitType); + + virtual void Initialize(); + + INLINE UnitType GetUnitType() { return m_unitType; } + INLINE void SetUnitType(UnitType unitType) { m_unitType = unitType; } + + INLINE bool isPlayer() { return GetUnitType() == UnitPlayer; } + INLINE bool isNPC() { return GetUnitType() == UnitNPC; } + + INLINE KOMap * GetMap() { return m_pMap; } + + virtual uint16 GetID() = 0; + INLINE uint8 GetZoneID() { return m_bZone; } + INLINE uint16 GetEventRoom() { return m_bEventRoom > (uint16)MAX_MONSTER_STONE_EVENT_ROOM ? 0 : m_bEventRoom; } + INLINE void SetUnitEventRoom(uint16 nEventRoom) { m_bEventRoom = nEventRoom; } + + INLINE bool isInTempleEventZone(uint8 nZoneID = 0) + { + if (nZoneID == 0) + nZoneID = GetZoneID(); + + return nZoneID == ZONE_BORDER_DEFENSE_WAR || nZoneID == ZONE_CHAOS_DUNGEON || nZoneID == ZONE_JURAD_MOUNTAIN; + } + + INLINE bool isInTempEventZone(uint8 nZoneID = 0) + { + if (nZoneID == 0) + nZoneID = GetZoneID(); + + return nZoneID == ZONE_BORDER_DEFENSE_WAR || nZoneID == ZONE_CHAOS_DUNGEON; + } + + INLINE bool BorderTempleEventZone(uint8 nZoneID = 0) + { + if (nZoneID == 0) + nZoneID = GetZoneID(); + + return nZoneID == ZONE_BORDER_DEFENSE_WAR; + } + + INLINE bool ChaosTempleEventZone(uint8 nZoneID = 0) + { + if (nZoneID == 0) + nZoneID = GetZoneID(); + + return nZoneID == ZONE_CHAOS_DUNGEON; + } + + INLINE bool JuraidTempleEventZone(uint8 nZoneID = 0) + { + if (nZoneID == 0) + nZoneID = GetZoneID(); + + return nZoneID == ZONE_JURAD_MOUNTAIN; + } + INLINE float GetX() { return m_curx; } + INLINE float GetY() { return m_cury; } + INLINE float GetZ() { return m_curz; } + + INLINE void SetPosition(float fx, float fy, float fz) + { + m_curx = fx; + m_curz = fz; + m_cury = fy; + } + + INLINE uint16 GetSPosX() { return uint16(GetX() * 10); }; + INLINE uint16 GetSPosY() { return uint16(GetY() * 10); }; + INLINE uint16 GetSPosZ() { return uint16(GetZ() * 10); }; + + INLINE uint16 GetRegionX() { return m_sRegionX; } + INLINE uint16 GetRegionZ() { return m_sRegionZ; } + + INLINE uint16 GetNewRegionX() { return (uint16)(GetX()) / VIEW_DISTANCE; } + INLINE uint16 GetNewRegionZ() { return (uint16)(GetZ()) / VIEW_DISTANCE; } + + INLINE CRegion * GetRegion() { return m_pRegion; } + void SetRegion(uint16 x = -1, uint16 z = -1); + + virtual std::string & GetName() = 0; // this is especially fun... + + INLINE uint8 GetNation() { return m_bNation; } + INLINE uint8 GetLevel() { return m_bLevel; } + + INLINE uint8 GetRebLevel() { return m_reblvl; } + + virtual int32 GetHealth() = 0; + virtual int32 GetMaxHealth() = 0; + virtual int32 GetMana() = 0; + virtual int32 GetMaxMana() = 0; + + INLINE bool isIncapacitated() { return isDead() || isBlinded() || isBlinking() || isKaul(); } + INLINE bool isBlinded() { return m_bIsBlinded; } + INLINE bool canUseSkills() { return !(!isBlinded() && hasBuff(BUFF_TYPE_BLIND)) && m_bCanUseSkills && !isKaul(); } + INLINE bool canUsePotions() { return m_bCanUsePotions; } + INLINE bool canTeleport() { return m_bCanTeleport; } + INLINE bool isKaul() { return m_bIsKaul; } + INLINE bool isDevil() { return m_bIsDevil; } + INLINE bool isReturnee() { return m_bisReturnee; } + + INLINE bool isBuffed(bool bIsOnlyScroll = false) + { + Guard lock(_unitlock); + + // Check the buff counter. + // We cannot check the map itself, as the map contains both buffs and debuffs. + if (bIsOnlyScroll) + { + foreach (itr, m_buffMap) + if (itr->second.m_nSkillID > 500000) + return true; + } + return false; + } + + INLINE bool isDebuffed() + { + Guard lock(_unitlock); + + // As the 'buff' map contains both buffs and debuffs, if the number of buffs/debuffs in the map doesn't + // match the number of buffs we have, we can conclude we have some debuffs in there. + return (uint8) m_buffMap.size() != m_buffCount; + } + + INLINE bool hasBuff(uint8 buff, bool isOnlyBuff = false) + { + Guard lock(_unitlock); + + if (isOnlyBuff) + { + auto itr = m_buffMap.find(buff); + if (itr != m_buffMap.end() && itr->second.isBuff()) + return true; + } + + return m_buffMap.find(buff) != m_buffMap.end(); + } + + INLINE bool hasDebuff(uint8 buff) + { + Guard lock(_unitlock); + auto itr = m_buffMap.find(buff); + if (itr != m_buffMap.end() && itr->second.isDebuff()) + return true; + + return false; + } + + INLINE bool canInstantCast() { return m_bInstantCast; } + INLINE bool canStealth() { return m_bCanStealth; } + + virtual bool isBlinking() { return false; } + + virtual bool isDead() = 0; + virtual bool isAlive() { return !isDead(); } + + float GetDistance(float fx, float fz); + float GetDistance(Unit * pTarget); + float GetDistanceSqrt(Unit * pTarget); + + bool isInRange(Unit * pTarget, float fSquaredRange); + bool isInRange(float fx, float fz, float fSquaredRange); + bool isInRangeSlow(Unit * pTarget, float fNonSquaredRange); + bool isInRangeSlow(float fx, float fz, float fNonSquaredRange); + + static float GetDistance(float fStartX, float fStartZ, float fEndX, float fEndZ); + static bool isInRange(float fStartX, float fStartZ, float fEndX, float fEndZ, float fSquaredRange); + static bool isInRangeSlow(float fStartX, float fStartZ, float fEndX, float fEndZ, float fNonSquaredRange); + + virtual void GetInOut(Packet & result, uint8 bType) = 0; + + bool RegisterRegion(); + virtual void AddToRegion(int16 new_region_x, int16 new_region_z) = 0; + void RemoveRegion(int16 del_x, int16 del_z); + void InsertRegion(int16 insert_x, int16 insert_z); + + bool isInAttackRange(Unit * pTarget, _MAGIC_TABLE * pSkill = nullptr); + virtual short GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false) = 0; + virtual void OnAttack(Unit * pTarget, AttackType attackType) {} + virtual void OnDefend(Unit * pAttacker, AttackType attackType) {} + + short GetMagicDamage(int damage, Unit *pTarget, bool bPreviewOnly = false); + short GetACDamage(int damage, Unit *pTarget); + uint8 GetHitRate(float rate); + + virtual void InsertSavedMagic(uint32 nSkillID, uint16 sDuration) {} + virtual bool HasSavedMagic(uint32 nSkillID) { return false; } + virtual int16 GetSavedMagicDuration(uint32 nSkillID) { return -1; } + + virtual void HpChange(int amount, Unit *pAttacker = nullptr, bool bSendToAI = true) = 0; + virtual void HpChangeMagic(int amount, Unit *pAttacker = nullptr, AttributeType attributeType = AttributeNone) { HpChange(amount, pAttacker); } + virtual void MSpChange(int amount) = 0; + + void SendToRegion(Packet *result); + void Send_AIServer(Packet *result); + + void InitType3(); + void InitType4(bool bRemoveSavedMagic = false, uint8 buffType = 0); + void AddType4Buff(uint8 bBuffType, _BUFF_TYPE4_INFO & pBuffInfo); + + virtual void StateChangeServerDirect(uint8 bType, uint32 nBuff) {} + virtual bool isHostileTo(Unit * pTarget) = 0; + virtual bool CanAttack(Unit * pTarget); + virtual bool isAttackable(Unit * pTarget = nullptr); + virtual bool CanCastRHit(uint16 m_SocketID); + virtual bool isSameEventRoom(Unit * pTarget); + + void OnDeath(Unit *pKiller); + void SendDeathAnimation(Unit *pKiller = nullptr); + + // public for the moment + // protected: + KOMap * m_pMap; + CRegion * m_pRegion; + + uint8 m_bZone; + float m_curx, m_curz, m_cury; + uint16 m_sRegionX, m_sRegionZ; // this is probably redundant + + UnitType m_unitType; + + uint8 m_bLevel; + uint8 m_reblvl; + uint8 m_bNation; + + uint16 m_sTotalHit; + uint16 m_sTotalAc; + float m_fTotalHitrate; + float m_fTotalEvasionrate; + + short m_sACAmount; // additional absolute AC + int16 m_sACPercent; // percentage of total AC to modify by + int16 m_bAttackAmount; + short m_sMagicAttackAmount; + short m_sMaxHPAmount, m_sMaxMPAmount; + uint8 m_bHitRateAmount; + short m_sAvoidRateAmount; + + float m_bIceSpeedAmount; + int16 m_sAttackSpeedAmount; + uint8 m_bSpeedAmount; + + + int16 AbsorbedAmmount; + + // Item calculated elemental resistances. + uint16 m_sFireR, m_sColdR, m_sLightningR, + m_sMagicR, m_sDiseaseR, m_sPoisonR; + + // Additional elemental resistance amounts from skills (note: NOT percentages) + uint8 m_bAddFireR, m_bAddColdR, m_bAddLightningR, + m_bAddMagicR, m_bAddDiseaseR, m_bAddPoisonR; + + // Elemental resistance percentages (adjusted by debuffs) + uint8 m_bPctFireR, m_bPctColdR, m_bPctLightningR, + m_bPctMagicR, m_bPctDiseaseR, m_bPctPoisonR; + + uint8 m_bMagicDamageReduction; + uint8 m_bManaAbsorb, AbsorbCount; + uint8 m_bRadiusAmount; + + uint8 m_bResistanceBonus; + + BYTE m_bMagicTypeLeftHand; // The type of magic item in user's left hand + BYTE m_bMagicTypeRightHand; // The type of magic item in user's right hand + short m_sMagicAmountLeftHand; // The amount of magic item in user's left hand + short m_sMagicAmountRightHand; // The amount of magic item in user's left hand + + // bonus type -> amount + typedef std::map ItemBonusMap; + + // slot id -> bonus map + typedef std::map EquippedItemBonuses; + + // This map is for applying item bonuses from equipped skills, i.e. resistances, drains, damage reflection, etc. + // It is indexed by slot ID (this should really work with the item container), and contains a map of each bonus (indexed by type) + // supported by this item (we support multiple bonuses, official most likely still overrides them). + EquippedItemBonuses m_equippedItemBonuses; + + // Weapon resistances + int16 m_sDaggerR; + uint8 m_byDaggerRAmount; + int16 m_sSwordR; + int16 m_sAxeR; + int16 m_sMaceR; + int16 m_sSpearR; + int16 m_sBowR; + uint8 m_byBowRAmount; + + struct MagicType3 + { + bool m_byUsed; // indicates whether this element is used + time_t m_tHPLastTime; // time when the durational skill last affected the unit + int16 m_sHPAmount; // HP amount to affet the unit by (negative for damage, positive for HP recovery) + uint8 m_bHPInterval; // interval (in seconds) between each durational skill effect + uint8 m_bTickCount; // + uint8 m_bTickLimit; // number of ticks required before the skill expires + uint16 m_sSourceID; // ID of the unit that used this skill on the unit + uint8 m_byAttribute; // skill attribute + bool m_sTo; + MagicType3() { Reset(); } + + INLINE void Reset() + { + m_byUsed = false; + m_tHPLastTime = 0; + m_sHPAmount = 0; + m_bHPInterval = 0; + m_bTickCount = 0; + m_bTickLimit = 0; + m_sSourceID = -1; + m_byAttribute = AttributeNone; + } + }; + + MagicType3 m_durationalSkills[MAX_TYPE3_REPEAT]; + bool m_bType3Flag; + + Type4BuffMap m_buffMap; + Type9BuffMap m_type9BuffMap; + std::recursive_mutex _unitlock, m_buffLock; + uint8 m_buffCount; // counter for buffs (not debuffs). Used for identifying when the user is buffed. + + bool m_bIsBlinded; + bool m_bCanUseSkills; // blinding prevents you from using skills or attacks, skills like "Full Skill Gear" prevent use of skills only. + bool m_bCanUsePotions; + bool m_bCanTeleport; + bool m_bCanStealth; + bool m_bInstantCast; + bool m_bBlockCurses, m_bReflectCurses; + bool m_bMirrorDamage; + uint8 m_byMirrorAmount; + uint8 m_bReflectArmorType; + bool m_bIsUndead, m_bIsKaul,m_bIsDevil,m_bisReturnee; + + bool m_bBlockPhysical; + bool m_bBlockMagic; + + int16 m_oSocketID; // owner user + uint16 m_bEventRoom; +}; diff --git a/server/GameServer/UpgradeHandler.cpp b/server/GameServer/UpgradeHandler.cpp new file mode 100644 index 0000000..39bbf3f --- /dev/null +++ b/server/GameServer/UpgradeHandler.cpp @@ -0,0 +1,1417 @@ +#include "stdafx.h" +#include "../shared/DateTime.h" +#include "DBAgent.h" +#include "KingSystem.h" +#include "Map.h" +#include + +// Some item ID definitions +#define MIN_ITEM_ID 100000000 +#define MAX_ITEM_ID 999999999 + +#define MAGE_EARRING 310310004 +#define WARRIOR_EARRING 310310005 +#define ROGUE_EARRING 310310006 +#define PRIEST_EARRING 310310007 + +#define UPGRADE_RUBY_EARRING_MIN 310110005 +#define UPGRADE_RUBY_EARRING_MAX 310110007 + +#define UPGRADE_PEARL_EARRING_MIN 310150005 +#define UPGRADE_PEARL_EARRING_MAX 310150007 + +#define SHADOW_PIECE 700009000 +#define TRINA_PIECE 700002000 +#define KRAVDIS_PIECE 379258000 + +/** +* @brief Packet handler for the assorted systems that +* were deemed to come under the 'upgrade' system. +* +* @param pkt The packet. +*/ +void CUser::ItemUpgradeProcess(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isSellingMerchant() + || isBuyingMerchant() + || isStoreOpen() + || isMining() + || m_bMerchantStatex) + return; + + uint8 opcode = pkt.read(); + + switch (opcode) + { + case ITEM_UPGRADE: + ItemUpgrade(pkt); + break; + + case ITEM_ACCESSORIES: + ItemUpgradeAccessories(pkt); + break; + + case ITEM_BIFROST_EXCHANGE: + BifrostPieceProcess(pkt); + break; + + case ITEM_PET: + ItemUpgradePet(pkt); + break; + + case ITEM_UPGRADE_REBIRTH: + ItemUpgradeRebirth(pkt); + break; + + case ITEM_SEAL: + ItemSealProcess(pkt); + break; + + case ITEM_CHARACTER_SEAL: + CharacterSealProcess(pkt); + break; + + case ITEM_SPECIAL_EXCHANGE: + SpecialItemExchange(pkt); + break; + + case ITEM_DISASSEMBLING: + ItemDisassembling(pkt); + break; + + } +} + +/** +* @brief Packet handler for the standard item upgrade system. +* +* @param pkt The packet. +*/ +void CUser::ItemUpgrade(Packet & pkt, uint8 nUpgradeType) +{ + bool Follow = false; + enum UpgradeErrorCodes + { + UpgradeFailed = 0, + UpgradeSucceeded = 1, + UpgradeTrading = 2, + UpgradeNeedCoins = 3, + UpgradeNoMatch = 4, + UpgradeRental = 5 + }; + + enum UpgradeType { UpgradeTypeNormal = 1, UpgradeTypePreview = 2 }; + + Packet result(WIZ_ITEM_UPGRADE, nUpgradeType); + _ITEM_DATA * pOriginItem; + _ITEM_TABLE * proto; + int32 nItemID[10]; int8 bPos[10]; + uint16 sNpcID; + int8 bType = UpgradeTypeNormal, bResult = UpgradeNoMatch,ItemClass = 0; + bool Trina = false, Karivdis = false, Accessories = false; + DateTime time; + + if (isDead() || isTrading() || isStoreOpen() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isMining() || m_bMerchantStatex) + { + bResult = UpgradeTrading; + goto fail_return; + } + + pkt >> bType; // either preview or upgrade, need to allow for these types + + if(bType == UpgradeTypePreview) + { + bResult = UpgradeFailed; + goto fail_return; + } + + pkt >> sNpcID; + for (int i = 0; i < 10; i++) + { + pkt >> nItemID[i] >> bPos[i]; + + // Invalid slot ID + if (bPos[i] != -1 && bPos[i] >= HAVE_MAX) + return; + } + //printf("bPos1:%d,bPos2:%d,bPos3:%d,bPos4:%d,bPos5:%d\n",bPos[0],bPos[1],bPos[2],bPos[3],bPos[4]); + //printf("nID1:%d,nID2:%d,nID3:%d,nID4:%d,nID5:%d\n",nItemID[0],nItemID[1],nItemID[2],nItemID[3],nItemID[4]); + + pOriginItem = GetItem(SLOT_MAX + bPos[0]); + if (pOriginItem->nNum != nItemID[0] + || (proto = g_pMain->GetItemPtr(nItemID[0])) == nullptr) + goto fail_return; // error with error code UpgradeNoMatch ("Items required for upgrade do not match") + else if (pOriginItem->isRented() + || pOriginItem->isSealed() + || pOriginItem->nExpirationTime > 0) // unsure if there's another error code for sealed items + { + bResult = UpgradeRental; + goto fail_return; + } + + // Invalid item in slot. + for (int x = 0; x < 10; x++) + { + if (bPos[x] != -1 && (nItemID[x] > 0 && nItemID[x] != GetItem(SLOT_MAX + bPos[x])->nNum)) + goto fail_return; + } + + { // scoped lock to prevent race conditions + int nReqOriginItem = nItemID[0] % 100000; + _ITEM_UPGRADE * pUpgrade = nullptr; + foreach_stlmap_nolock (itr, g_pMain->m_ItemUpgradeArray) + { + pUpgrade = itr->second; + + if (pUpgrade->sOriginItem != nReqOriginItem) + continue; + + + + if (((nItemID[0] / MIN_ITEM_ID) != 11) && + (nItemID[0] / MIN_ITEM_ID) != pUpgrade->nIndex / 100000 && pUpgrade->nIndex < 300000) + continue; + + + + + if (nItemID[1]== TRINA_PIECE || nItemID[2]== TRINA_PIECE) + Trina = true; + if (nItemID[1]== KRAVDIS_PIECE || nItemID[2]== KRAVDIS_PIECE) + Karivdis = true; + + + + + if (((nItemID[1]== TRINA_PIECE || nItemID[2]== TRINA_PIECE) && (pUpgrade->bRateType == 4)) + || (nItemID[1]== KRAVDIS_PIECE || nItemID[2]== KRAVDIS_PIECE) && (pUpgrade->bRateType != 4)) + continue; + + + if(pUpgrade->bRateType == 1) + if( nItemID[1] == 379221000 || + nItemID[1] == 379222000 || + nItemID[1] == 379223000 || + nItemID[1] == 379224000 || + nItemID[1] == 379225000 || + nItemID[1] == 379226000 || + nItemID[1] == 379227000 || + nItemID[1] == 379228000 || + nItemID[1] == 379229000 || + nItemID[1] == 379230000 || + nItemID[1] == 379231000 || + nItemID[1] == 379232000 || + nItemID[1] == 379233000 || + nItemID[1] == 379234000 || + nItemID[1] == 379235000 || + nItemID[1] == 379255000 || + nItemID[2] == 379221000 || + nItemID[2] == 379222000 || + nItemID[2] == 379223000 || + nItemID[2] == 379224000 || + nItemID[2] == 379225000 || + nItemID[2] == 379226000 || + nItemID[2] == 379227000 || + nItemID[2] == 379228000 || + nItemID[2] == 379229000 || + nItemID[2] == 379230000 || + nItemID[2] == 379231000 || + nItemID[2] == 379232000 || + nItemID[2] == 379233000 || + nItemID[2] == 379234000 || + nItemID[2] == 379235000 || + nItemID[2] == 379255000 ) + ItemClass = 1; + else + continue; + + if( pUpgrade->bRateType == 2) + if( + nItemID[1] == 379205000 || + nItemID[1] == 379206000 || + nItemID[1] == 379208000 || + nItemID[1] == 379209000 || + nItemID[1] == 379210000 || + nItemID[1] == 379211000 || + nItemID[1] == 379212000 || + nItemID[1] == 379213000 || + nItemID[1] == 379214000 || + nItemID[1] == 379215000 || + nItemID[1] == 379216000 || + nItemID[1] == 379217000 || + nItemID[1] == 379218000 || + nItemID[1] == 379219000 || + nItemID[1] == 379220000 || + nItemID[2] == 379205000 || + nItemID[2] == 379206000 || + nItemID[2] == 379208000 || + nItemID[2] == 379209000 || + nItemID[2] == 379210000 || + nItemID[2] == 379211000 || + nItemID[2] == 379212000 || + nItemID[2] == 379213000 || + nItemID[2] == 379214000 || + nItemID[2] == 379215000 || + nItemID[2] == 379216000 || + nItemID[2] == 379217000 || + nItemID[2] == 379218000 || + nItemID[2] == 379219000 || + nItemID[2] == 379220000 + ) + ItemClass = 2; + else + continue; + + if( pUpgrade->bRateType == 3) + if( + nItemID[1] == 379021000 || + nItemID[1] == 379022000 || + nItemID[1] == 379023000 || + nItemID[1] == 379024000 || + nItemID[1] == 379025000 || + nItemID[1] == 379030000 || + nItemID[1] == 379031000 || + nItemID[1] == 379032000 || + nItemID[1] == 379033000 || + nItemID[1] == 379034000 || + nItemID[1] == 379035000 || + nItemID[1] == 379138000 || + nItemID[1] == 379139000 || + nItemID[1] == 379140000 || + nItemID[1] == 379141000 || + nItemID[1] == 379016000 || + nItemID[2] == 379021000 || + nItemID[2] == 379022000 || + nItemID[2] == 379023000 || + nItemID[2] == 379024000 || + nItemID[2] == 379025000 || + nItemID[2] == 379030000 || + nItemID[2] == 379031000 || + nItemID[2] == 379032000 || + nItemID[2] == 379033000 || + nItemID[2] == 379034000 || + nItemID[2] == 379035000 || + nItemID[2] == 379138000 || + nItemID[2] == 379139000 || + nItemID[2] == 379140000 || + nItemID[2] == 379141000 || + nItemID[1] == 379016000 + ) + ItemClass = 3; + else + continue; + + if( pUpgrade->bRateType == 4) + if( + nItemID[1] == 379256000 || + nItemID[1] == 379257000 || + nItemID[2] == 379256000 || + nItemID[2] == 379257000 ) + ItemClass = 4; + else + continue; + + + if (proto->ItemClass == 8) + { + Accessories = true; + if (pUpgrade->bRateType != 8 + || (pUpgrade->bOriginType != -1 + && pUpgrade->bOriginType != 23 + && proto->ItemExt != pUpgrade->bOriginType)) + continue; + } + + if (proto->ItemClass != 4 + && (nItemID[1] == 379257000 + || nItemID[2] == 379257000)) + goto fail_return; + + if ((proto->ItemClass == 4 + || proto->ItemClass == 2 + || proto->ItemClass == 1) + && (nItemID[1] == 379256000 + || nItemID[2] == 379256000)) + goto fail_return; + + + if(bPos[0] == bPos[1] + || bPos[1] == bPos[2] + || bPos[0] == bPos[2]) + continue; + + if (!(proto->ItemClass <= ItemClass) + && !Accessories) + continue; + + + + + if (pUpgrade->bOriginType != -1 + && pUpgrade->nIndex < 200000 && pUpgrade->nIndex >= 100000) + { + switch (pUpgrade->bOriginType) + { + case 0: + if (!proto->isDagger()) + continue; + break; + + case 1: + if (proto->m_bKind != 21) + continue; + break; + + case 2: + if (proto->m_bKind != 22) + continue; + break; + + case 3: + if (proto->m_bKind != 31) + continue; + break; + + case 4: + if (proto->m_bKind != 32) + continue; + break; + + case 5: + if (proto->m_bKind != 41) + continue; + break; + + case 6: + if (proto->m_bKind != 42) + continue; + break; + + case 7: + if (proto->m_bKind != 51) + continue; + break; + + case 8: + if (proto->m_bKind != 52) + continue; + break; + + case 9: + if (proto->m_bKind != 70 && proto->m_bKind != 71) + continue; + break; + + case 10: + if (proto->m_bKind != 110) + continue; + break; + + case 11: + if ((nItemID[0] / 10000000) != 19) + continue; + break; + + case 12: + if (proto->m_bKind != 60) + continue; + break; + + case 13: + if (proto->m_bKind != 210 && proto->m_bKind != 220 && proto->m_bKind != 230 && proto->m_bKind != 240) + continue; + break; + + case 14: + if (proto->m_bKind != 11) + continue; + break; + } + } + + + + + if ((nItemID[0] / MIN_ITEM_ID) != (pUpgrade->nIndex / 100000) + && ((nItemID[0] / MIN_ITEM_ID) != 11 && (pUpgrade->nIndex / 100000) == 1) + && ((pUpgrade->nIndex / 100000) == 1 + || (pUpgrade->nIndex / 100000) == 2)) + continue; + + + + + bool isValidMatch = true; + // Does our upgrade attempt match the requirements for this upgrade entry? + for (int x = 1; x < MAX_ITEMS_REQ_FOR_UPGRADE; x++) + { + if (bPos[x] == -1 + || pUpgrade->nReqItem[x-1] == 0) + continue; + + _ITEM_DATA * pItem = GetItem(SLOT_MAX + bPos[x]); + + if (pItem == nullptr + || nItemID[x] != pItem->nNum + || (nUpgradeType != ITEM_ACCESSORIES + && nItemID[x] != pUpgrade->nReqItem[x-1])) + { + if(!Trina && !Karivdis) + isValidMatch = false; + break; + } + } + + // Not a valid match, try another row. + if (!isValidMatch) + continue; + + if (!hasCoins(pUpgrade->nReqNoah)) + { + bResult = UpgradeNeedCoins; + goto fail_return; + } + + if(proto->ItemClass > 4 && !Accessories && pUpgrade->nReqItem[0] != 379257000 && pUpgrade->nReqItem[1] != 379257000 && (!Karivdis || !Trina)) + { + bResult = UpgradeNoMatch; + goto fail_return; + } + else if(proto->ItemClass < 3 && !Accessories && pUpgrade->nReqItem[0] == 379257000 || pUpgrade->nReqItem[1] == 379257000 && (!Karivdis || !Trina)) + { + bResult = UpgradeNoMatch; + goto fail_return; + } + + + int nNewItemID = pOriginItem->nNum + pUpgrade->nGiveItem; + + // Does this new item exist? + _ITEM_TABLE * newProto = g_pMain->GetItemPtr(nNewItemID); + if (newProto == nullptr) + continue; + + bResult = UpgradeSucceeded; + break; + } + + // If we ran out of upgrades to search through, it failed. + if (bResult != UpgradeSucceeded || pUpgrade == nullptr) + goto fail_return; + + // Generate a random number, test if the item burned. + int rand = myrand(0, myrand(9000, 10000)),GenRate = 0; + + if((Trina || Karivdis) && pUpgrade->sGenRate < 10000) + { + GenRate = (pUpgrade->sGenRate + pUpgrade->sTrinaRate); + + if(GenRate > 10000) + GenRate=10000; + } + else + GenRate = pUpgrade->sGenRate; + + if (bType == UpgradeTypeNormal && GenRate < rand) + { + bResult = UpgradeFailed; + memset(pOriginItem, 0, sizeof(_ITEM_DATA)); + + // Send upgrade notice. + + if ((pUpgrade->sGenRate < 2001 + && nUpgradeType != ITEM_ACCESSORIES) + || nUpgradeType == ITEM_UPGRADE_REBIRTH + || (nUpgradeType == ITEM_ACCESSORIES + && pUpgrade->sGenRate < 5001)) + ItemUpgradeNotice(proto, UpgradeFailed); + + GoldLose(pUpgrade->nReqNoah,true); + + uint32 tariffTax = 0, nationalTax = 0; + C3DMap * pMap = GetMap(); + _KNIGHTS_SIEGE_WARFARE *pSiegeWar = g_pMain->GetSiegeMasterKnightsPtr(1); + CKingSystem *pKingSystem = g_pMain->m_KingSystemArray.GetData(GetNation()); + + if(pMap == nullptr) + return; + + if (pMap->GetTariff()) + tariffTax = (pUpgrade->nReqNoah * GetMap()->GetTariff() / 100) ; + + switch (GetZoneID()) + { + case ZONE_KARUS: + nationalTax = pUpgrade->nReqNoah * 10 / 100; + if(tariffTax >= nationalTax) + tariffTax -= nationalTax; + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + pKingSystem->m_nTerritoryTax += (tariffTax); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + pKingSystem->m_nNationalTreasury += (nationalTax); + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + InsertTaxUpEvent(ZONE_KARUS, (tariffTax)); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + InsertTaxUpEvent(ZONE_KARUS_ESLANT, (nationalTax)); + break; + case ZONE_ELMORAD: + nationalTax = pUpgrade->nReqNoah * 10 / 100; + if(tariffTax >= nationalTax) + tariffTax -= nationalTax; + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + pKingSystem->m_nTerritoryTax += (tariffTax); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + pKingSystem->m_nNationalTreasury += (nationalTax); + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + InsertTaxUpEvent(ZONE_ELMORAD, (tariffTax)); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + InsertTaxUpEvent(ZONE_ELMORAD_ESLANT, (nationalTax)); + break; + case ZONE_ELMORAD_ESLANT: + nationalTax = pUpgrade->nReqNoah * 10 / 100; + if(tariffTax >= nationalTax) + tariffTax -= nationalTax; + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + pKingSystem->m_nTerritoryTax += (tariffTax); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + pKingSystem->m_nNationalTreasury += (nationalTax); + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + InsertTaxUpEvent(ZONE_ELMORAD, (tariffTax)); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + InsertTaxUpEvent(ZONE_ELMORAD_ESLANT, (nationalTax)); + break; + case ZONE_MORADON: + + if (pSiegeWar->nMoradonTax < COIN_MAX) + pSiegeWar->nMoradonTax += tariffTax; + if (pSiegeWar->nMoradonTax < COIN_MAX) + InsertTaxUpEvent(ZONE_MORADON, tariffTax); + break; + case ZONE_MORADONM2: + if (pSiegeWar->nMoradonTax < COIN_MAX) + pSiegeWar->nMoradonTax += tariffTax; + if (pSiegeWar->nMoradonTax < COIN_MAX) + InsertTaxUpEvent(ZONE_MORADON, tariffTax); + break; + default: + nationalTax = pUpgrade->nReqNoah * 10 / 100; + if(tariffTax >= nationalTax) + tariffTax -= nationalTax; + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + pKingSystem->m_nTerritoryTax += (tariffTax); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + pKingSystem->m_nNationalTreasury += (nationalTax); + + if (pKingSystem->m_nTerritoryTax < COIN_MAX) + InsertTaxUpEvent(GetNation(), (tariffTax)); + + if (pKingSystem->m_nNationalTreasury < COIN_MAX) + InsertTaxUpEvent((GetNation() + 10), (nationalTax)); + break; + } + + + + if (nUpgradeType == ITEM_UPGRADE_REBIRTH) + { + if (bResult == UpgradeFailed) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemRebirthUpgrade - %d:%d:%d ] %s : Failed = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), proto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + else if (nUpgradeType == ITEM_ACCESSORIES && pUpgrade->sGenRate) + { + if (bResult == UpgradeFailed) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemAccessories - %d:%d:%d ] %s : Failed = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), proto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + else + { + if (bResult == UpgradeFailed && pUpgrade->sGenRate) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemUpgrade - %d:%d:%d ] %s : Failed = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), proto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + } + else + { + + if (isDead() + || isTrading() + || isStoreOpen() + || isMerchanting() + || m_bMerchantStatex + || isSellingMerchant() + || isBuyingMerchant() + || isMining()) + { + bResult = UpgradeTrading; + goto fail_return; + } + // Generate the new item ID + int nNewItemID = pOriginItem->nNum + pUpgrade->nGiveItem; + + // Does this new item exist? + _ITEM_TABLE * newProto = g_pMain->GetItemPtr(nNewItemID); + if (newProto == nullptr) + { // if not, just say it doesn't match. No point removing the item anyway (like official :/). + bResult = UpgradeNoMatch; + goto fail_return; + } + + if (bType != UpgradeTypePreview) + { + // Update the user's item in their inventory with the new item + pOriginItem->nNum = nNewItemID; + + // Reset the durability also, to the new cap. + pOriginItem->sDuration = newProto->m_sDuration; + + // Send upgrade notice. + if ((pUpgrade->sGenRate < 2001 + && nUpgradeType != ITEM_ACCESSORIES) + || nUpgradeType == ITEM_UPGRADE_REBIRTH + || (nUpgradeType == ITEM_ACCESSORIES + && pUpgrade->sGenRate < 5001)) + ItemUpgradeNotice(newProto, UpgradeSucceeded); + + // Rob gold upgrade noah + GoldLose(pUpgrade->nReqNoah,true); + + if (nUpgradeType == ITEM_UPGRADE_REBIRTH) + { + if (bResult == UpgradeSucceeded) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemRebirthUpgrade - %d:%d:%d ] %s : Succes = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), newProto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + else if (nUpgradeType == ITEM_ACCESSORIES) + { + if (bResult == UpgradeSucceeded) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemAccessories - %d:%d:%d ] %s : Succes = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), newProto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + else + { + if (bResult == UpgradeSucceeded) + g_pMain->WriteUpgradeLogFile(string_format("[ ItemUpgrade - %d:%d:%d ] %s : Succes = %s ( Zone =%d, X=%d, Z=%d )\n", time.GetHour(), time.GetMinute(), time.GetSecond(), GetName().c_str(), newProto->m_sName.c_str(), GetZoneID(), uint16(GetX()), uint16(GetZ()))); + } + } + + // Replace the item ID in the list for the packet + nItemID[0] = nNewItemID; + } + + // Remove the source item + if (bType != UpgradeTypePreview) + { + // Remove all required items, if applicable. + for (int i = 0; i < 10; i++) + { + + if (bPos[i] == -1 || bPos[i] >= HAVE_MAX || nItemID[i] < 1) + continue; + + + _ITEM_DATA * pItem = GetItem(SLOT_MAX + bPos[i]); + + if (pItem->nNum == 0 || pItem->sCount == 0 || (bResult == UpgradeSucceeded && pItem->nNum == pOriginItem->nNum)) + continue; + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pItem->nNum); + + pItem->sCount--; + if (pItem->sCount == 0 || (pTable != nullptr && pTable->isAccessory())) + memset(pItem, 0, sizeof(pItem)); + } + } + } // end of scoped lock + + result << bType; + + if(Follow) + printf("1x-%d\n",bResult); + + result << bResult; + foreach_array (i, nItemID) + result << nItemID[i] << bPos[i]; + Send(&result); + + // Send the result to everyone in the area + // (i.e. make the anvil do its burned/upgraded indicator thing) + result.Initialize(WIZ_OBJECT_EVENT); + result << uint8(OBJECT_ANVIL) << bResult << sNpcID; + SendToRegion(&result,nullptr,GetEventRoom()); + + return; +fail_return: + result << bResult; + + // The item data's only sent when not experiencing a general error + if (bResult != 2) + { + foreach_array (i, nItemID) + result << nItemID[i] << bPos[i]; + } + Send(&result); +} + + +/** +* @brief Upgrade notice. +* +* @param pItem The item. +*/ +void CUser::ItemUpgradeNotice(_ITEM_TABLE * pItem, uint8 UpgradeResult) +{ + bool bSendUpgradeNotice = false; + std::string sUpgradeNotice; + + // Notice is only rebirth upgrade a Offical stuff. + if (pItem->m_ItemType == 11 || pItem->m_ItemType == 12 || pItem->m_ItemType == 4) + bSendUpgradeNotice = true; + + if (bSendUpgradeNotice) + { + Packet result(WIZ_LOGOSSHOUT,uint8(0x02)); + result.SByte(); + + if (UpgradeResult == 0) + result << uint8(0x05) << uint8(0x00) << GetName() << pItem->m_iNum; + else if (UpgradeResult == 1) + result << uint8(0x05) << uint8(0x01) << GetName() << pItem->m_iNum; + + g_pMain->Send_All(&result); + } +} + +/** +* @brief Packet handler for the accessory upgrade system. +* +* @param pkt The packet. +*/ +void CUser::ItemUpgradeAccessories(Packet & pkt) +{ + ItemUpgrade(pkt, ITEM_ACCESSORIES); +} + +void CUser::ItemUpgradePet(Packet & pkt) +{ + + Packet result(WIZ_ITEM_UPGRADE,uint8(ITEM_PET)); + uint16 unknown; + uint32 ItemID; + uint8 Slot; + + /*1 Familiar hatching failed. + 2 Invalid name. + 3 This Familiar cannot be incubated. + 4 Limit exceeded.*/ + uint8 Error = 2; + std::string Name; + pkt.DByte(); + pkt >> unknown >> ItemID >> Slot >> Name; + + if(Slot >= HAVE_MAX) + goto fail_return; + + //printf("%d %d %d %s\n",unknown,ItemID,Slot,Name.c_str()); + + _ITEM_DATA * pItem = GetItem(SLOT_MAX + Slot); + + if(ItemID != 600001000 + || pItem == nullptr + || pItem->nNum != ItemID) + { + Error = 3; + goto fail_return; + } + uint64 Serial = g_pMain->GenerateItemSerial(); + + if (Name.length() > 21 + || !g_pMain->WordGuardSystem(Name,Name.length()) + || Name.length() < 1) + { + Error = 2; + goto fail_return; + } + + + CPet * pData = new CPet(); + pData->m_Serial = Serial; + pData->m_strPetID = Name; + pData->m_iExp = 0; + pData->m_bLevel = 1; + pData->m_sSatisfaction = 10000; + pData->m_sClass = 101; + g_pMain->LastPetID++; + pData->SpecialPetID = g_pMain->LastPetID; + + uint8 DBResult = g_DBAgent.InsertPetData(Serial,pData); + + if(DBResult != 1) + { + Error = DBResult - 1; + goto fail_return; + } + + g_pMain->m_PetArray.insert(std::make_pair(pData->m_Serial, pData)); + + pItem->nSerialNum = Serial; + pItem->nNum = 610001000; + + result.DByte(); + result << uint8(1) << uint32(pItem->nNum) << Slot << uint32(pData->SpecialPetID) << Name << uint8(pData->m_sClass) << uint8(pData->m_bLevel) << uint16((pData->m_iExp* 10000) / g_pMain->GetPetExpByLevel(pData->m_bLevel)) << uint16(pData->m_sSatisfaction); + Send(&result); + +fail_return: + result << uint8(0) << uint8(Error); + Send(&result); +} + +/** +* @brief Packet handler for the Chaotic Generator system +* which is used to exchange Bifrost pieces/fragments. +* +* @param pkt The packet. +*/ + +void CUser::BifrostPieceProcess(Packet & pkt) +{ + enum ResultOpCodes + { + Failed = 0, + Success = 1 + }; + + enum ResultMessages + { + EffectNone = 0, // No effect + EffectRed = 1, // There will be better days. + EffectGreen = 2, // Don't be too disappointed. You're luck isn't that bad. + EffectWhite = 3 // It must be your lucky day. + }; + + uint16 nObjectID = 0; + uint32 nExchangeItemID = 0; + + pkt >> nObjectID >> nExchangeItemID; + + std::vector ExchangeIndexList; + ResultOpCodes resultOpCode = Success; + ResultMessages resultMessage = EffectNone; + uint32 nItemID = 0; + uint8 sItemSlot = 0; + uint8 sExchangeItemSlot = 0; + + sExchangeItemSlot = FindSlotForItem(nExchangeItemID, 1) - SLOT_MAX; + + if (g_pMain->m_ItemExchangeArray.GetSize() > 0) + { + foreach_stlmap (itr, g_pMain->m_ItemExchangeArray) + { + if (itr->second->nOriginItemNum[0] == nExchangeItemID) + { + if (std::find(ExchangeIndexList.begin(),ExchangeIndexList.end(),itr->second->nIndex) == ExchangeIndexList.end()) + ExchangeIndexList.push_back(itr->second->nIndex); + } + else + continue; + } + } + + if (ExchangeIndexList.size() > 0) + { + uint32 randIndex = myrand(0, (ExchangeIndexList.size() - 1)); + uint32 nExchangeID = ExchangeIndexList[randIndex]; + + _ITEM_EXCHANGE * pExchange = g_pMain->m_ItemExchangeArray.GetData(nExchangeID); + + if (pExchange == nullptr + || !CheckExchange(nExchangeID) + || pExchange->bRandomFlag > 101 + || !CheckExistItemAnd(pExchange->nOriginItemNum[0], pExchange->sOriginItemCount[0], 0, 0, 0, 0, 0, 0, 0, 0)) + resultOpCode = Failed; + + if (isTrading() || isMerchanting() || isMining() || isStoreOpen()) + resultOpCode = Failed; + + if (pExchange->bRandomFlag > 0 && resultOpCode == Success) + { + uint32 nTotalPercent = 0; + for (int i = 0; i < ITEMS_IN_EXCHANGE_GROUP; i++) + nTotalPercent += pExchange->sExchangeItemCount[i]; + + if (nTotalPercent > 10000) + resultOpCode = Failed; + + if (resultOpCode == Success) + { + uint8 bRandArray[20000]; + memset(&bRandArray, 0, sizeof(bRandArray)); + uint32 sExchangeCount[ITEMS_IN_EXCHANGE_GROUP]; + memcpy(&sExchangeCount, &pExchange->sExchangeItemCount, sizeof(pExchange->sExchangeItemCount)); + + int offset = 0; + for (int n = 0, i = 0; n < ITEMS_IN_EXCHANGE_GROUP; n++) + { + if (sExchangeCount[n] > 0) + { + memset(&bRandArray[offset], n, sExchangeCount[n]); + offset += sExchangeCount[n]; + } + } + + uint8 bRandSlot = bRandArray[myrand(0, 20000)]; + nItemID = pExchange->nExchangeItemNum[bRandSlot]; + + sItemSlot = GetEmptySlot() - SLOT_MAX; + RobItem(pExchange->nOriginItemNum[0], 1); + GiveItem(nItemID, 1); + + + _ITEM_TABLE *pItem = g_pMain->m_ItemtableArray.GetData(nItemID); + + if (pItem != nullptr) + { + if (pItem->m_ItemType == 4) + resultMessage = EffectWhite; + else if (pItem->m_ItemType == 5 || pItem->m_ItemType == 11 || pItem->m_ItemType == 12) + resultMessage = EffectGreen; + else + resultMessage = EffectRed; + } + } + } + } + + Packet result(WIZ_ITEM_UPGRADE); + result << (uint8)ITEM_BIFROST_EXCHANGE << (uint8)resultOpCode << nItemID << sItemSlot << nExchangeItemID << sExchangeItemSlot << (uint8)resultMessage; + Send(&result); + + result.clear(); + result.SetOpcode(WIZ_OBJECT_EVENT); + result << (uint8)OBJECT_ARTIFACT << (uint8)resultMessage << nObjectID; + + if (resultOpCode != Failed) + SendToRegion(&result); +} + +/** +* @brief Packet handler for the Special exchange system +* which is used to exchange Krowaz meterials. +* +* @param pkt The packet. +*/ +void CUser::SpecialItemExchange(Packet & pkt) +{ + enum ResultOpCodes + { + WrongMaterial = 0, + Success = 1, + Failed = 2 + }; + + ResultOpCodes resultOpCode = WrongMaterial; + + std::vector ExchangingItems; + uint16 sNpcID; + uint32 nShadowPiece; + uint8 nShadowPieceSlot; + uint8 nMaterialCount; + uint8 nItemSlot[10]; + uint8 nDownFlag; + uint32 nItemID[10]; + uint8 nItemCount[10]; + + uint32 nItemNumber = 0; + uint8 sItemSlot = 0; + + pkt >> sNpcID >> nShadowPiece >> nShadowPieceSlot >> nMaterialCount; + + for (int i = 0; i < 10; i++) + { + nItemID[i] = 0; + nItemCount[i] = 0; + } + + for (int i = 0; i < nMaterialCount; i++) + pkt >> nItemSlot[i]; + + pkt >> nDownFlag; + + for (int i = 0; i < nMaterialCount; i++) + { + uint8 nReadByte; + int nDigit = 100000000; + nItemID[i] = 0; + for( int x = 0; x < 9; x++ ) + { + pkt >> nReadByte; + nItemID[i] += (nReadByte - 48) * nDigit; + nDigit = nDigit / 10; + } + + uint8 nCount[3] = { 0, 0, 0}; + pkt >> nCount[0]; + pkt >> nCount[1]; + pkt >> nCount[2]; + int nCountFinish = 0; + nCountFinish += (nCount[0] - 48) * 100; + nCountFinish += (nCount[1] - 48) * 10; + nCountFinish += (nCount[2] - 48) * 1; + nItemCount[i] = nCountFinish; + + _ITEM_DATA * pItem = GetItem(nItemSlot[i] + SLOT_MAX); + + if(pItem == nullptr) + return; + + if(pItem->nNum != nItemID[i] + || pItem->sCount < nItemCount[i]) + return; + + ExchangingItems.push_back(nItemID[i]); + } + + std::vector ExchangeIndexList; + + if (nMaterialCount >= 2) // Minimum Required : 2 Material + { + if (g_pMain->m_ItemMixArray.GetSize() > 0) + { + foreach_stlmap_nolock(itr, g_pMain->m_ItemMixArray) + { + + uint8 nOriginItemCount = 0; + uint8 nMatchCount = 0; + bool bAddArray = false; + + if (nMaterialCount == 2) + nMatchCount = (nShadowPiece == 0 ? 2 : 3); + else if (nMaterialCount == 3) + nMatchCount = (nShadowPiece == 0 ? 3 : 4); + else if (nMaterialCount == 4) + nMatchCount = (nShadowPiece == 0 ? 4 : 5); + else if (nMaterialCount == 5) + nMatchCount = (nShadowPiece == 0 ? 5 : 6); + else if (nMaterialCount == 6) + nMatchCount = (nShadowPiece == 0 ? 6 : 7); + else if (nMaterialCount == 7) + nMatchCount = (nShadowPiece == 0 ? 7 : 8); + else if (nMaterialCount == 8) + nMatchCount = (nShadowPiece == 0 ? 8 : 9); + else if (nMaterialCount == 9) + nMatchCount = (nShadowPiece == 0 ? 9 : 10); + + for (int i = 0; i < nMaterialCount; i++) + { + if (nItemID[i] != 0) + { + for (int x = 0; x < ITEMS_IN_SPECIAL_ORIGIN_GROUP; x++) + { + if (itr->second->nOriginItemNum[x] != 0 + && nItemID[i] == itr->second->nOriginItemNum[x]) + { + nOriginItemCount++; + break; + } + } + } + } + + if (nShadowPiece > 0) + { + if (nOriginItemCount == (nMatchCount -1)) + bAddArray = true; + } + if (nShadowPiece == 0) + { + if (nOriginItemCount == nMatchCount) + bAddArray = true; + } + + if (bAddArray && std::find(ExchangeIndexList.begin(),ExchangeIndexList.end(),itr->second->nIndex) == ExchangeIndexList.end()) + ExchangeIndexList.push_back(itr->second->nIndex); + } + } + } + + if (ExchangeIndexList.size() > 0) + { + uint32 randIndex = (ExchangeIndexList.size() - 1); + uint32 nExchangeID = ExchangeIndexList[randIndex]; + + _ITEM_MIX * pExchange = g_pMain->m_ItemMixArray.GetData(nExchangeID); + + if (pExchange == nullptr + || !CheckSpecialExchange(nExchangeID) + || pExchange->bType > 102 + || !CheckExistSpecialItemAnd( + pExchange->nOriginItemNum[0], pExchange->sOriginItemCount[0], + pExchange->nOriginItemNum[1], pExchange->sOriginItemCount[1], + pExchange->nOriginItemNum[2], pExchange->sOriginItemCount[2], + pExchange->nOriginItemNum[3], pExchange->sOriginItemCount[3], + pExchange->nOriginItemNum[4], pExchange->sOriginItemCount[4], + pExchange->nOriginItemNum[5], pExchange->sOriginItemCount[5], + pExchange->nOriginItemNum[6], pExchange->sOriginItemCount[6], + pExchange->nOriginItemNum[7], pExchange->sOriginItemCount[7], + pExchange->nOriginItemNum[8], pExchange->sOriginItemCount[8], + pExchange->nOriginItemNum[9], pExchange->sOriginItemCount[9])) + { + resultOpCode = WrongMaterial; + } + else + { + bool bContinueExchange = true; + + for (int i = 0; i < nMaterialCount; i++) + { + if (!bContinueExchange) + break; + + if (nItemID[i] != 0) + { + for (int x = 0; x < ITEMS_IN_SPECIAL_ORIGIN_GROUP; x++) + { + if (pExchange->nOriginItemNum[x] != 0 + && nItemID[i] == pExchange->nOriginItemNum[x] + && nItemCount[i] != pExchange->sOriginItemCount[x]) + { + bContinueExchange = false; + break; + } + } + } + } + + if (isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining()) + bContinueExchange = false; + + uint8 MatchingCase = 0; + uint8 NeedCount = 0; + for (int x = 0; x < ITEMS_IN_SPECIAL_ORIGIN_GROUP; x++) + { + std::vector Used; + + if(pExchange->nOriginItemNum[x] > 0) + NeedCount++; + else + continue; + + foreach (itr, ExchangingItems) + { + if((*itr) == pExchange->nOriginItemNum[x]) + { + MatchingCase++; + *itr = 0; + } + } + + + } + if(NeedCount != MatchingCase) + bContinueExchange = false; + + if (!bContinueExchange) + resultOpCode = WrongMaterial; + else + { + uint32 nTotalPercent = 0; + for (int i = 0; i < ITEMS_IN_SPECIAL_EXCHANGE_GROUP; i++) + nTotalPercent += pExchange->sExchangeItemCount[i]; + + if (nTotalPercent > 10000) + resultOpCode = WrongMaterial; + else + { + uint8 bRandArray[10000]; + memset(&bRandArray, 0, sizeof(bRandArray)); + uint16 sExchangeCount[ITEMS_IN_SPECIAL_EXCHANGE_GROUP]; + memcpy(&sExchangeCount, &pExchange->sExchangeItemCount, sizeof(pExchange->sExchangeItemCount)); + + int offset = 0; + for (int n = 0, i = 0; n < ITEMS_IN_SPECIAL_EXCHANGE_GROUP; n++) + { + if (sExchangeCount[n] > 0) + { + memset(&bRandArray[offset], n, sExchangeCount[n]); + offset += sExchangeCount[n]; + } + } + + uint8 bRandSlot = bRandArray[myrand(1, 5)]; + nItemNumber = pExchange->nExchangeItemNum[bRandSlot]; + uint16 nItemRate = pExchange->bSuccessRate; + int rand = myrand(0, myrand(1, 5000)); + + if(nShadowPiece>0) + nItemRate=10000; + + if (nItemRate <= rand) + resultOpCode = Failed; + else + { + sItemSlot = GetEmptySlot() - SLOT_MAX; + GiveItem(nItemNumber, 1); + resultOpCode = Success; + } + + for (int i = 0; i < ITEMS_IN_ORIGIN_GROUP; i++) + { + if (pExchange->nOriginItemNum[i] != 0) + RobItem(pExchange->nOriginItemNum[i], pExchange->sOriginItemCount[i],false); + } + + } + } + } + } + else + return; + + Packet result(WIZ_ITEM_UPGRADE); + result << (uint8)ITEM_SPECIAL_EXCHANGE << (uint8)resultOpCode << sNpcID; + + if (resultOpCode == Success) + result << nItemNumber << sItemSlot; + + Send(&result); + + if (resultOpCode == Success) + ShowNpcEffect(31033, true); + else if (resultOpCode == Failed) + ShowNpcEffect(31034, true); +} +/** +* @brief Packet handler for the upgrading of 'rebirthed' items. +* +* @param pkt The packet. +*/ +void CUser::ItemUpgradeRebirth(Packet & pkt) +{ + ItemUpgrade(pkt, ITEM_UPGRADE_REBIRTH); +} + +void CUser::ItemDisassembling(Packet & pkt) +{ + enum ResultOpCodes + { + Failed = 0, + Success = 1 + }; + + enum ResultMessages + { + nExchangeIndexID1 = 1, + nExchangeIndexID2 = 2, + nExchangeIndexID3 = 3 + }; + uint8 nPos; + uint8 nItemCount = 1; + ResultOpCodes resultOpCode = Success; + uint16 nObjectID = 0; + uint32 nExchangeItemID = 0; + std::vector ExchangeIndexCrashList; + pkt >> nExchangeItemID >> nPos >> nObjectID; + Packet result(WIZ_ITEM_UPGRADE); + + _ITEM_DATA* pItemData = GetItem(nPos + SLOT_MAX); + _ITEM_TABLE* pItem = g_pMain->GetItemPtr(nExchangeItemID); + + if (pItemData == nullptr) + return; + + if (pItem == nullptr) + return; + + if (g_pMain->m_ItemCrashArray.GetSize() > 0) + { + foreach_stlmap_nolock(itr, g_pMain->m_ItemCrashArray) + { + if (std::find(ExchangeIndexCrashList.begin(),ExchangeIndexCrashList.end(),itr->second->Index) == ExchangeIndexCrashList.end()) + ExchangeIndexCrashList.push_back(itr->second->Index); + if (pItem->m_ItemType >= 0 && pItem->m_ItemType <= 1 ) + { + nItemCount = nExchangeIndexID1; + itr->second->Flag = 2; + continue; + } + else if (pItem->m_ItemType == 5 || pItem->m_ItemType == 11&& itr->second->Flag == 2) + { + nItemCount = nExchangeIndexID2; + itr->second->Flag = 3; + continue; + } + else if (pItem->m_ItemType == 4 || pItem->m_ItemType == 12 || pItem->m_ItemType == 13 && itr->second->Flag == 3) + { + nItemCount = nExchangeIndexID3; + itr->second->Flag = 3; + continue; + } + else + return; + + } + } + + if (ExchangeIndexCrashList.size() > 0) + { + + uint32 randIndex[nExchangeIndexID3]; + uint32 nExchangeID[nExchangeIndexID3]; + + if (pItem->m_ItemType >= 0 && pItem->m_ItemType <= 1) + nItemCount = nExchangeIndexID1; + else if (pItem->m_ItemType == 5 || pItem->m_ItemType == 11) + nItemCount = nExchangeIndexID2; + else if (pItem->m_ItemType == 4 || pItem->m_ItemType == 12 || pItem->m_ItemType == 13) + nItemCount = nExchangeIndexID3; + else + return; + + for (int i = 0; i < nItemCount; i++) + { + randIndex[i] = myrand(0, (ExchangeIndexCrashList.size() - 1)); + nExchangeID[i] = ExchangeIndexCrashList[randIndex[i]]; + } + + bool CheckSlot = CheckGiveSlot(nItemCount); + + if(!CheckSlot + || !RobItem(nExchangeItemID, 1)) + return; + + RobItem(nExchangeItemID, 1); + uint8 emptySlot = GetEmptySlot(); + result << (uint8)ITEM_DISASSEMBLING << (uint16)resultOpCode << nExchangeItemID << nPos << (uint16)nItemCount; + + if (emptySlot >= nItemCount) + { + for (int i = 0; i < nItemCount; i++) + { + _ITEM_CRASH * pExchangeCrashItem = g_pMain->m_ItemCrashArray.GetData(nExchangeID[i]); + if (pExchangeCrashItem == nullptr) + continue; + + int8 pos; + if ((pos = FindSlotForItem(pExchangeCrashItem->ItemID, pExchangeCrashItem->ItemCount)) < 0) + continue; + + GiveItem(pExchangeCrashItem->ItemID, pExchangeCrashItem->ItemCount, true); + result << pExchangeCrashItem->ItemID << uint8(pos - SLOT_MAX) << (uint16)pExchangeCrashItem->ItemCount; + } + } + } + Send(&result); +} + diff --git a/server/GameServer/User.cpp b/server/GameServer/User.cpp new file mode 100644 index 0000000..4718fe8 --- /dev/null +++ b/server/GameServer/User.cpp @@ -0,0 +1,8583 @@ +#include "stdafx.h" +#include "Map.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "MagicInstance.h" +#include "DBAgent.h" +#include +#include "../shared/DateTime.h" +#include + +using namespace std; + +CUser::CUser(uint16 socketID, SocketMgr *mgr) : KOSocket(socketID, mgr, -1, 16384, 8192), Unit(UnitPlayer) +{ +} + +void CUser::OnConnect() +{ + KOSocket::OnConnect(); + Initialize(); +} + +/** +* @brief Initializes this object. +*/ +void CUser::Initialize() +{ + Unit::Initialize(); + lastshcheck = GetTickCount(); + shcheckcount =0; + iguard2count =0; + floodcounter =0; + m_mutetime = (GetTickCount()-30000); // garantiye alalım + m_iMonsterDefeatedCount = 0; + m_iUserDefeatedCount = 0; + m_iUserDeathCount = 0; + m_dwTime = 0; + m_TimeOnline = 0; + m_iAchievementPoint = 0; + AchieveNormalCount = 0; + AchieveQuestCount = 0; + AchieveWarCount = 0; + AchieveAdventureCount = 0; + AchieveChallengeCount = 0; + AchieveLast1 = 0; + AchieveLast2 = 0; + AchieveLast3 = 0; + lastArrangeTime = 0; + nVIPExpirationTime = 0; + LastWarpTime = 0; + m_tLastKillTime = 0; + m_sChallangeAchieveID = 0; + m_pktcount = 0; + m_strUserID.clear(); + m_strMemo.clear(); + m_strAccountID.clear(); + m_bLogout = 0; + SetSkillTitle(0); + SetCoverTitle(0); + for (int i = 0; i < STAT_COUNT; i++) + m_bRebStats[i] = 0; + m_iTotalTrainingExp=0; + m_lastTrainingTime=0; + memset(&m_arSellMerchantItems, 0, sizeof(m_arSellMerchantItems)); + memset(&m_arBuyMerchantItems, 0, sizeof(m_arBuyMerchantItems)); + m_FlashExpBonus = 0; + m_FlashDcBonus = 0; + m_FlashWarBonus = 0; + VIPStorePassword.clear(); + VIPStoreFalseTrying = 0; + m_sAchieveCoverTitle = 0; + m_sAchieveSkillTitle = 0; + m_GenieTime = 0; + + m_bAccountStatus = 0; + + m_LastCashTimeCheck = UNIXTIME; + m_LastCashTimeCheck2 = UNIXTIME; + m_LastConferedTime = UNIXTIME; + + OfflineMerchant = false; + + PremiumID = 0; + PremiumChangeTime = 0; + m_bPremiumType = 0; + m_sPremiumTime = 0; + PremiumList.DeleteAllData(); + + memset(m_GenieOptions, 0, sizeof(m_GenieOptions)); + m_tGenieTimeNormal = UNIXTIME; + m_TimeMonsterStone = 0; + m_bAuthority = 1; + m_sBind = -1; + m_ChatRoomIndex = -1; + m_state = GAME_STATE_CONNECTED; + NpExchangeAsk = 0; + NpExchangeValue = 0; + GoldExchangeAsk = 0; + GoldExchangeValue = 0; + m_bSelectedCharacter = false; + m_bStoreOpen = false; + m_bPartyLeader = false; + m_bIsChicken = false; + m_bIsHidingHelmet = false; + m_bIsHidingCospre = false; + m_bMining = false; + m_bPremiumMerchant = false; + m_bInParty = false; + + m_tLastMiningAttempt = 0; + ChangeCoverTitleRequest = 0; + ResetCoverTitleRequest = 0; + ResetSkillTitleRequest = 0; + ChangeSkillTitleRequest = 0; + m_bMerchantState = MERCHANT_STATE_NONE; + m_bMerchantStatex = 0; + m_bLastMerchantTime = 0; + m_bInvisibilityType = INVIS_NONE; + + m_sDirection = 0; + + m_sItemMaxHp = m_sItemMaxMp = 0; + m_sItemWeight = 0; + m_sItemAc = 0; + + m_sExpGainAmount = m_bNPGainAmount = m_bNoahGainAmount = 100; + m_bItemExpGainAmount = m_bItemNoahGainAmount = 0; + m_bItemNPBonus = m_bSkillNPBonus = 0; + + m_byAPBonusAmount = 0; + memset(&m_byAPClassBonusAmount, 0, sizeof(m_byAPClassBonusAmount)); + memset(&m_byAcClassBonusAmount, 0, sizeof(m_byAcClassBonusAmount)); + + memset(&m_bStats, 0, sizeof(m_bStats)); + memset(&m_sStatItemBonuses, 0, sizeof(m_sStatItemBonuses)); + memset(&m_bStatBuffs, 0, sizeof(m_bStatBuffs)); + memset(&m_bstrSkill, 0, sizeof(m_bstrSkill)); + memset(&m_bRebStatBuffs, 0, sizeof(m_bRebStatBuffs)); + + m_bPlayerAttackAmount = 100; + + m_bAddWeaponDamage = 0; + m_bPctArmourAc = 100; + m_sAddArmourAc = 0; + + m_sItemHitrate = 100; + m_sItemEvasionrate = 100; + + m_sSpeed = 0; + + isSummonPet = false; + SummonPetID = 0; + + m_bAuthority = AUTHORITY_PLAYER; + m_bLevel = 1; + m_iExp = 0; + m_iBank = m_iGold = 0; + m_iLoyalty = m_iLoyaltyMonthly = 0; + m_iMannerPoint = 0; + m_sHp = m_sMp = m_sSp = 0; + + m_iMaxHp = 0; + m_iMaxMp = 1; + m_iMaxSp = 120; + m_iMaxExp = 0; + m_sMaxWeight = 0; + m_sMaxWeightBonus = 0; + + m_bResHpType = USER_STANDING; + m_bWarp = false; + + m_sMerchantsSocketID = -1; + m_sChallengeUser = -1; + m_sPartyIndex = -1; + m_sPartyRequest= -1; + m_sAllyRequest = -1; + m_sExchangeUser = -1; + m_bRequestingChallenge = 0; + m_bChallengeRequested = 0; + m_bExchangeOK = 0x00; + m_bBlockPrivateChat = false; + m_sPrivateChatUser = -1; + m_bNeedParty = 0x01; + + m_tHPLastTimeNormal = 0; // For Automatic HP recovery. + m_tHPStartTimeNormal = 0; + m_bHPAmountNormal = 0; + m_bHPDurationNormal = 0; + m_bHPIntervalNormal = 5; + + m_tGameStartTimeSavedMagic = 0; + + m_fSpeedHackClientTime = 0; + m_fSpeedHackServerTime = 0; + m_bSpeedHackCheck = 0; + + m_tBlinkExpiryTime = 0; + + m_bAbnormalType = ABNORMAL_NORMAL; // User starts out in normal size. + m_nOldAbnormalType = m_bAbnormalType; + + m_sWhoKilledMe = -1; + m_iLostExp = 0; + + m_tLastTrapAreaTime = 0; + + memset(m_iSelMsgEvent, -1, MAX_MESSAGE_EVENT); + + m_sEventNid = m_sEventSid = -1; + m_nQuestHelperID = 0; + m_bZoneChangeFlag = false; + m_bRegeneType = 0; + m_tLastRegeneTime = 0; + m_bZoneChangeSameZone = false; + + m_transformationType = TransformationNone; + m_sTransformID = 0; + m_tTransformationStartTime = 0; + m_sTransformationDuration = 0; + + m_sEventDataIndex = 0; + memset(&m_bKillCounts, 0, sizeof(m_bKillCounts)); + + m_pKnightsUser = nullptr; + + m_sRivalID = -1; + m_tRivalExpiryTime = 0; + + m_byAngerGauge = 0; + + m_bWeaponsDisabled = false; + + m_teamColour = TeamColourNone; + m_iLoyaltyDaily = 0; + m_iLoyaltyPremiumBonus = 0; + m_KillCount = 0; + m_DeathCount = 0; + + m_bGenieStatus = false; + + m_LastX = 0; + m_LastZ = 0; + + if (isInParty()) + PartyRemove(GetSocketID()); + +} + +bool CUser::HandlePacket(Packet & pkt) +{ + uint8 command = pkt.GetOpcode(); + + TRACE("[SID=%d] Packet: %X (len=%d)\n", GetSocketID(), command, pkt.size()); + + // If crypto's not been enabled yet, force the version packet to be sent. + if (!isCryptoEnabled()) + { + if (command == WIZ_VERSION_CHECK) + VersionCheck(pkt); + + return true; + } + // If we're not authed yet, forced us to before we can do anything else. + // NOTE: We're checking the account ID store here because it's only set on successful auth, + // at which time the other account ID will be cleared out (yes, it's messy -- need to clean it up). + else if (m_strAccountID.empty()) + { + if (command == WIZ_LOGIN) + LoginProcess(pkt); + + return true; + + } + + + // If we haven't logged in yet, don't let us hit in-game packets. + // TODO: Make sure we support all packets in the loading stage (and rewrite this logic considerably better). + else if (!m_bSelectedCharacter) + { + switch (command) + { + case WIZ_GLOGIN: + Login(pkt); + break; + case WIZ_SEL_NATION: + SelNationToAgent(pkt); + break; + case WIZ_ALLCHAR_INFO_REQ: + AllCharInfo(pkt); + break; + case WIZ_CHANGE_HAIR: + ChangeHair(pkt); + break; + case WIZ_NEW_CHAR: + NewCharToAgent(pkt); + break; + case WIZ_SEL_CHAR: + SelCharToAgent(pkt); + break; + case WIZ_SPEEDHACK_CHECK: + SpeedHackTime(pkt); + break; + + default: + printf("[SID=%d] Unhandled packet (%X) prior to selecting character\n", GetSocketID(), command); + break; + } + return true; + } + + // Otherwise, assume we're authed & in-game. + switch (command) + { + case WIZ_GAMESTART: + GameStart(pkt); + break; + case WIZ_SERVER_INDEX: + SendServerIndex(); + break; + case WIZ_CHANGE_HAIR: + ChangeHair(pkt); + break; + case WIZ_RENTAL: + RentalSystem(pkt); + break; + case WIZ_SKILLDATA: + SkillDataProcess(pkt); + break; + case WIZ_MOVE: + MoveProcess(pkt); + break; + case WIZ_ROTATE: + Rotate(pkt); + break; + case WIZ_ATTACK: + Attack(pkt); + break; + case WIZ_CHAT: + Chat(pkt); + break; + case WIZ_CHAT_TARGET: + ChatTargetSelect(pkt); + break; + case WIZ_REGENE: + Regene(pkt.read()); // respawn type + break; + case WIZ_REQ_USERIN: + RequestUserIn(pkt); + break; + case WIZ_REQ_NPCIN: + RequestNpcIn(pkt); + break; + case WIZ_WARP: + if (isGM()) + RecvWarp(pkt); + break; + case WIZ_ITEM_MOVE: + ItemMove(pkt); + break; + case WIZ_NPC_EVENT: + NpcEvent(pkt); + break; + case WIZ_ITEM_TRADE: + ItemTrade(pkt); + break; + case WIZ_TARGET_HP: + { + uint16 uid = pkt.read(); + uint8 echo = pkt.read(); + m_targetID = uid; + SendTargetHP(echo, uid); + } + break; + case WIZ_BUNDLE_OPEN_REQ: + BundleOpenReq(pkt); + break; + case WIZ_ITEM_GET: + ItemGet(pkt); + break; + case WIZ_ZONE_CHANGE: + RecvZoneChange(pkt); + break; + case WIZ_POINT_CHANGE: + PointChange(pkt); + break; + case WIZ_STATE_CHANGE: + StateChange(pkt); + break; + case WIZ_PARTY: + PartyProcess(pkt); + break; + case WIZ_EXCHANGE: + ExchangeProcess(pkt); + break; + case WIZ_QUEST: + V3_QuestProcess(pkt); + break; + case WIZ_MERCHANT: + MerchantProcess(pkt); + break; + case WIZ_MAGIC_PROCESS: + CMagicProcess::MagicPacket(pkt, this); + break; + case WIZ_SKILLPT_CHANGE: + SkillPointChange(pkt); + break; + case WIZ_OBJECT_EVENT: + ObjectEvent(pkt); + break; + case WIZ_WEATHER: + case WIZ_TIME: + UpdateGameWeather(pkt); + break; + case WIZ_CLASS_CHANGE: + ClassChange(pkt); + break; + case WIZ_ALLCHAR_INFO_REQ: + AllCharInfo(pkt); + break; + case WIZ_CONCURRENTUSER: + CountConcurrentUser(); + break; + case WIZ_ITEM_REPAIR: + ItemRepair(pkt); + break; + case WIZ_KNIGHTS_PROCESS: + CKnightsManager::PacketProcess(this, pkt); + break; + case WIZ_ITEM_REMOVE: + ItemRemove(pkt); + break; + case WIZ_OPERATOR: + OperatorCommand(pkt); + break; + case WIZ_SPEEDHACK_CHECK: + SpeedHackTime(pkt); + break; + case WIZ_WAREHOUSE: + WarehouseProcess(pkt); + break; + case WIZ_HOME: + Home(); + break; + case WIZ_FRIEND_PROCESS: + FriendProcess(pkt); + break; + case WIZ_WARP_LIST: + SelectWarpList(pkt); + break; + case WIZ_VIRTUAL_SERVER: + ServerChangeOk(pkt); + break; + case WIZ_PARTY_BBS: + PartyBBS(pkt); + break; + case WIZ_MAP_EVENT: + break; + case WIZ_CLIENT_EVENT: + ClientEvent(pkt.read()); + break; + case WIZ_SELECT_MSG: + RecvSelectMsg(pkt); + break; + case WIZ_ITEM_UPGRADE: + ItemUpgradeProcess(pkt); + break; + case WIZ_EVENT: + TempleProcess(pkt); + break; + case WIZ_SHOPPING_MALL: // letter system's used in here too + ShoppingMall(pkt); + break; + case WIZ_NAME_CHANGE: + HandleNameChange(pkt); + break; + case WIZ_KING: + CKingSystem::PacketProcess(this, pkt); + break; + case WIZ_HELMET: + HandleHelmet(pkt); + break; + case WIZ_VIP_STORAGE: + HandleVIPStorage(pkt); + break; + case WIZ_CAPE: + HandleCapeChange(pkt); + break; + case WIZ_CHALLENGE: + HandleChallenge(pkt); + break; + case WIZ_RANK: + HandlePlayerRankings(pkt); + break; + case WIZ_MINING: + HandleMiningSystem(pkt); + break; + case WIZ_USER_INFO: + HandleUserInfo(pkt); + break; + case WIZ_ACHIEVE: + HandleAchieve(pkt); + break; + case WIZ_SIEGE: + SiegeWarFareNpc(pkt); + break; + case WIZ_LOGOSSHOUT: + LogosShout(pkt); + break; + case WIZ_REPORT: + ReportedUsers(); + break; + case WIZ_GENIE: + HandleGenie(pkt); + break; + case WIZ_CAPTURE: + HandleCapture(pkt); + break; + case WIZ_NATION_CHAT: + ChatRoomHandle(pkt); + break; + case WIZ_PREMIUM: + PremiumSwitchHandle(pkt); + break; + case WIZ_NATION_CHANGE: + NationChangeHandle(pkt); + break; + case WIZ_GENDER_CHANGE: + GenderChange(pkt); + break; + case WIZ_PET: + HandlePet(pkt); + break; + case WIZ_DATASAVE: + break; + default: + printf("[SID=%d] Unknown packet %X\n", GetSocketID(), command); + return false; + } + + Update(); + return true; +} +void CUser::KillMyPet() +{ + isSummonPet = false; + _ITEM_TABLE * pItemData = nullptr; + if((pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + newPet->OnDeath(nullptr); + +} +void CUser::HandlePet(Packet & pkt) +{ + if(GetName() == "h") + { + printf("Opcode is %d ",pkt.GetOpcode()); + + int BufferLength = pkt.size(); + + for (int i = 1; i < BufferLength; i++) + printf("%02X", pkt[i]); + printf("\n"); + } + Packet result(WIZ_PET); + + _ITEM_TABLE * pItemData = nullptr; + if((pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + goto fail_return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + uint8 command, mode, command2, Slot; + uint32 FinishTime = 0, ItemNum = 0; + uint16 SatisfactionChange; + + pkt >> command >> command2; + + if(command == 1) + { + switch(command2)// burada benim kodlar yok değiştirdiniz mi siz + { + case 5: + pkt >> mode; + if(mode == 8) + { + for (int i=0; i < PET_MAX; i++) + { + if (newPet->m_sItemArray[i].nNum > 0) + { + Slot = i; + FinishTime = newPet->m_sItemArray[i].nExpirationTime; + ItemNum = newPet->m_sItemArray[i].nNum; + break; + } + } + + if(ItemNum != 700012000 || (FinishTime > 0 && FinishTime < UNIXTIME)) + return; + } + newPet->mode = mode; + result << uint8(1) << uint8(5) << newPet->mode << uint16(1); + Send(&result); + return; + break; + + case 16: + pkt >> Slot; + pItem = nullptr; + pItemData = nullptr; + pItem = GetItem(SLOT_MAX + Slot); + if(pItem == nullptr) + goto fail_return; + pItemData = g_pMain->GetItemPtr(pItem->nNum); + if (pItemData == nullptr) + goto fail_return; + // 389590000 milk + // 389570000 leaf + // 389580000 bread + + if(pItem->nNum != pItemData->Getnum()) + goto fail_return; + + if(pItem->nNum != 389590000 && pItem->nNum != 389570000 && pItem->nNum != 389580000) + goto fail_return; + + if(pItem->nNum == 389590000) + SatisfactionChange = 9000; + else if(pItem->nNum == 389570000) + SatisfactionChange = 1200; + else if(pItem->nNum == 389580000) + SatisfactionChange = 4000; + + + RobItem(SLOT_MAX + Slot,pItemData,1,false); + newPet->SatisfactionChange(SatisfactionChange); + return; + break; + default: + printf("pethandle command2 %d\n",command2); + return; + break; + + } + } + +fail_return: + Packet result2(WIZ_PET); + result2 << uint8(1) << uint8(5) << uint8(1) << uint16(-1); + Send(&result2); + return; +} + +/** +* @brief Executes the disconnect action. +*/ +void CUser::OnDisconnect() +{ + if(g_pMain->OfflineMerchanting && OfflineMerchant) + return; + else + { + KOSocket::OnDisconnect(); + + g_pMain->RemoveSessionNames(this); + + if (isInGame()) + { + UserInOut(INOUT_OUT); + + if (isInParty()) + if (isPartyLeader()) + { + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + PartyPromote(pParty->uid[1]); + } + PartyRemove(GetSocketID()); + + if (isInClan()) + { + CKnights *pKnights = g_pMain->GetClanPtr(GetClanID()); + if (pKnights != nullptr) + if (isInClan()) + pKnights->OnLogout(this); + } + + ResetWindows(); + + if (hasRival()) + RemoveRival(); + } + LogOut(); + } +} + +/** +* @brief Handles an incoming user packet. +* +* @param pkt The packet. +* +* @return true if it succeeds, false if it fails. +*/ + + +/** +* @brief Updates timed player data, e.g. skills & save requests. +*/ +void CUser::Update() +{ + if (m_tGameStartTimeSavedMagic != 0 && (UNIXTIME - m_tGameStartTimeSavedMagic) >= 2) + { + m_tGameStartTimeSavedMagic = 0; + // Restore scrolls... + InitType4(); + RecastSavedMagic(); + } + + if (!isBlinking() && m_tHPLastTimeNormal != 0 && (UNIXTIME - m_tHPLastTimeNormal) > m_bHPIntervalNormal) + HPTimeChange(); // For Sitdown/Standup HP restoration. + + // Handles DOT/HOT skills (not COLD skills though.) + if (m_bType3Flag) + HPTimeChangeType3(); + + // Check for expired type 4 buffs + Type4Duration(); + + // Expire any timed out saved skills. + CheckSavedMagic(); + + if (isTransformed()) + CMagicProcess::CheckExpiredType6Skills(this); + + // Check for expired type 9/visibility skills + CMagicProcess::CheckExpiredType9Skills(this); + + if (isBlinking()) // Should you stop blinking? + BlinkTimeCheck(); + + if(m_lastStaminaTime + (PLAYER_TRAINING_INTERVAL/16) < UNIXTIME ) + { + m_lastStaminaTime = UNIXTIME; + if(m_sSp != m_iMaxSp) + { + ySpChange(5); + } + } + + if ((UNIXTIME - m_LastConferedTime) >= PLAYER_CONF_INTERVAL) + { + m_LastConferedTime = UNIXTIME; + DupeItemsDelete(); + IllegalItemsBanned(); + } + + if ((UNIXTIME - m_LastCashTimeCheck) > g_pMain->Dakika1 * MINUTE) + { + m_LastCashTimeCheck = UNIXTIME; + + if(GetZoneID() == ZONE_RONARK_LAND || GetZoneID() == ZONE_ARDREAM || GetZoneID() == ZONE_RONARK_LAND_BASE) + { + GiveKnightCash(g_pMain->HediyeKC2); + } + } + + if ((UNIXTIME - m_LastCashTimeCheck2) > g_pMain->Dakika2 * MINUTE) + { + m_LastCashTimeCheck2 = UNIXTIME; + + if(GetZoneID() == ZONE_MORADON || GetZoneID() == ZONE_MORADONM2 ) + { + GiveKnightCash(g_pMain->HediyeKC); + } + } + + if (hasRival() && hasRivalryExpired()) + RemoveRival(); + + + for (int i = 0; i < WAREHOUSE_MAX; i++) + { + _ITEM_DATA *pItem = &m_sWarehouseArray[i]; + + if(pItem == nullptr) + continue; + + if (pItem->nExpirationTime < (uint32)UNIXTIME && pItem->nExpirationTime != 0) + memset(pItem, 0, sizeof(_ITEM_DATA)); + } + + if(m_tGenieTimeNormal + PLAYER_GENIE_INTERVAL < UNIXTIME && isGenieActive()) + { + m_tGenieTimeNormal = UNIXTIME; + UpdateGenieTime(--m_GenieTime); + } + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA *pItem = &m_sItemArray[i]; + + if(pItem == nullptr) + continue; + + if (pItem->nExpirationTime < (uint32)UNIXTIME && pItem->nExpirationTime != 0) + memset(pItem, 0, sizeof(_ITEM_DATA)); + } + + if ((UNIXTIME - m_lastSaveTime) >= PLAYER_SAVE_INTERVAL) + { + g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this); + g_DBAgent.UpdateWarehouseData(GetAccountName(), UPDATE_LOGOUT, this); + g_DBAgent.UpdateSavedMagic(this); + } + + if (m_TimeMonsterStone <= UNIXTIME && + (GetZoneID() == ZONE_STONE1 || + GetZoneID() == ZONE_STONE2 || + GetZoneID() == ZONE_STONE3) + && m_bSelectedCharacter) + ZoneChange(GetLevel() < 35 ? ZONE_MORADON : GetNation(),0.0f,0.0f,0); +} + +void CUser::SetRival(CUser * pRival) +{ + if (pRival == nullptr + || hasRival()) + return; + + Packet result(WIZ_PVP, uint8(PVPAssignRival)); + CKnights * pKnights = nullptr; + + result << pRival->GetID() + << GetCoins() << GetLoyalty(); + + if (pRival->isInClan() + && (pKnights = g_pMain->GetClanPtr(pRival->GetClanID()))) + result << pKnights->GetName(); + else + result << uint16(0); // 0 length clan name; + + result << pRival->GetName(); + + m_sRivalID = pRival->GetID(); + m_tRivalExpiryTime = UNIXTIME + RIVALRY_DURATION; + + Send(&result); +} + +/** +* @brief Removes our rivalry state. +*/ +void CUser::RemoveRival() +{ + if (!hasRival()) + return; + + // Reset our rival data + m_tRivalExpiryTime = 0; + m_sRivalID = -1; + + // Send the packet to let the client know that our rivalry has ended + Packet result(WIZ_PVP, uint8(PVPRemoveRival)); + Send(&result); +} + +/** +* @brief Adjusts a player's loyalty (NP) and sends the loyalty +* change packet. +* +* @param nChangeAmount The amount to adjust the loyalty points by. +* @param bIsKillReward When set to true, enables the use of NP-modifying buffs +* and includes monthly NP gains. +*/ +void CUser::SendLoyaltyChange(int32 nChangeAmount /*= 0*/, bool bIsKillReward /* false */, bool bIsBonusReward /* false */, bool bIsAddLoyaltyMonthly /* true */) +{ + Packet result(WIZ_LOYALTY_CHANGE, uint8(3)); + uint32 nClanLoyaltyAmount = 0; + uint16 PremiumBonus = 0; + + int32 nChangeAmountLoyaltyMonthly = nChangeAmount; + + // If we're taking NP, we need to prevent us from hitting values below 0. + if (nChangeAmount < 0) + { + // Negate the value so it becomes positive (i.e. -50 -> 50) + // so we can determine if we're trying to take more NP than we have. + uint32 amt = -nChangeAmount; /* avoids unsigned/signed comparison warning */ + + if (amt > m_iLoyalty) + m_iLoyalty = 0; + else + m_iLoyalty -= amt; + + // We should only adjust monthly NP when NP was lost when killing a player. + if (bIsKillReward) + { + if (bIsAddLoyaltyMonthly) + { + if (amt > m_iLoyaltyMonthly) + m_iLoyaltyMonthly = 0; + else + m_iLoyaltyMonthly += nChangeAmountLoyaltyMonthly; + } + } + } + // We're simply adding NP here. + else + { + // If you're using an NP modifying buff then add the bonus + nChangeAmount = m_bNPGainAmount * nChangeAmount / 100; + + // Add on any additional NP earned because of a global NP event. + // NOTE: They officially check to see if the NP is <= 100,000. + nChangeAmount = nChangeAmount * (100 + g_pMain->m_byNPEventAmount) / 100; + + // We should only apply NP bonuses when NP was gained as a reward for killing a player. + if (bIsKillReward) + { + // Add on any additional NP gained from items/skills. + nChangeAmount += m_bItemNPBonus + m_bSkillNPBonus + (m_FlashWarBonus / 10); + nChangeAmountLoyaltyMonthly = nChangeAmount; + + // Add monument bonus. + if (GetZoneID() == ZONE_RONARK_LAND && GetPVPMonumentNation() == GetNation()) + { + nChangeAmount += PVP_MONUMENT_NP_BONUS; + nChangeAmountLoyaltyMonthly += PVP_MONUMENT_NP_BONUS; + } + + else if ((GetZoneID() == ZONE_BORDER_DEFENSE_WAR || GetZoneID() == ZONE_ARDREAM || GetZoneID() == ZONE_PVP_EVENT || GetZoneID() == ZONE_RONARK_LAND_BASE) + && GetEventMonumentNation() == GetNation()) + { + nChangeAmount += EVENT_MONUMENT_NP_BONUS; + nChangeAmountLoyaltyMonthly += EVENT_MONUMENT_NP_BONUS; + } + } + + if (m_iLoyalty + nChangeAmount > LOYALTY_MAX) + m_iLoyalty = LOYALTY_MAX; + else + m_iLoyalty += nChangeAmount; + + if (isInPKZone() && !bIsBonusReward) + { + m_iLoyaltyDaily += nChangeAmount; + UpdatePlayerRank(); + } + + //// We should only apply additional monthly NP when NP was gained as a reward for killing a player. + if (!bIsBonusReward) + { + if (bIsAddLoyaltyMonthly) + { + if (m_iLoyaltyMonthly + nChangeAmountLoyaltyMonthly > LOYALTY_MAX) + m_iLoyaltyMonthly = LOYALTY_MAX; + else + m_iLoyaltyMonthly += nChangeAmountLoyaltyMonthly; + } + } + + if (bIsKillReward) + { + if (GetPremiumProperty(PremiumBonusLoyalty) > 0) + { + m_iLoyalty += GetPremiumProperty(PremiumBonusLoyalty); + PremiumBonus += GetPremiumProperty(PremiumBonusLoyalty); + if (bIsAddLoyaltyMonthly) + { + m_iLoyaltyMonthly += GetPremiumProperty(PremiumBonusLoyalty); + m_iLoyaltyPremiumBonus += GetPremiumProperty(PremiumBonusLoyalty); + } + } + } + + CKnights * pKnights = g_pMain->GetClanPtr(GetClanID()); + + if (pKnights && pKnights->m_byFlag >= ClanTypeAccredited5 && pKnights->GetClanPointMethod() == 0 && !bIsBonusReward) + { + if (pKnights->m_sMembers > 0 && pKnights->m_sMembers <= MAX_CLAN_USERS) + { + if (pKnights->m_sMembers <= 5) + nClanLoyaltyAmount = 1; + else if (pKnights->m_sMembers <= 10) + nClanLoyaltyAmount = 2; + else if (pKnights->m_sMembers <= 15) + nClanLoyaltyAmount = 3; + else if (pKnights->m_sMembers <= 20) + nClanLoyaltyAmount = 4; + else if (pKnights->m_sMembers <= 25) + nClanLoyaltyAmount = 5; + else if (pKnights->m_sMembers <= 30) + nClanLoyaltyAmount = 6; + else if (pKnights->m_sMembers > 30) + nClanLoyaltyAmount = 7; + + if(nClanLoyaltyAmount < m_iLoyalty) + { + m_iLoyalty -= nClanLoyaltyAmount; + + if (g_DBAgent.DonateClanPoints(this, nClanLoyaltyAmount)) + CKnightsManager::AddUserDonatedNPinGame(GetClanID(), this, nClanLoyaltyAmount, true); + } + else + nClanLoyaltyAmount = 0; + } + } + + } + + + result << m_iLoyalty << m_iLoyaltyMonthly + << uint32(0) // Clan donations(? Donations made by this user? For the clan overall?) + << nClanLoyaltyAmount + << PremiumBonus + << PremiumBonus; // Premium NP(? Additional NP gained?) + + Send(&result); + + // Player is give first np, second exp and third meat dumpling etc. + if (bIsKillReward && nChangeAmount > 0) + { + if (PremiumID > 0 && (isInPKZone() || GetMap()->isWarZone())) + GoldGain(PVP_BONUS_GOLD+PVP_BONUS_GOLD/2); + else if (PremiumID == 0 && (isInPKZone() || GetMap()->isWarZone())) + GoldGain(PVP_BONUS_GOLD); + + // Additionally, we should receive a "Meat dumpling" + /*if (isInPKZone()) + GiveItem(ITEM_MEAT_DUMPLING);*/ + } +} +void CUser::TempleEventJoin() +{ + if (g_pMain->pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN && !isEventUser()) + { + C3DMap * pMap = g_pMain->GetZoneByID(ZONE_JURAD_MOUNTAIN); + + if (pMap == nullptr) + return; + + WarpListResponse errorReason; + if (!CanChangeZone(pMap, errorReason)) + { + Packet hata(WIZ_WARP_LIST, uint8(2)); + + hata << uint8(errorReason); + + if (errorReason == WarpListMinLevel) + hata << pMap->GetMinLevelReq(); + + if (g_pMain->pTempleEvent.ActiveEvent != -1 && GetLevel() < 70) + Send(&hata); + return; + } + + Packet result (WIZ_SELECT_MSG); + TempleOperations(TEMPLE_EVENT_JOIN); + result << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint32(0x06) << g_pMain->pTempleEvent.KarusUserCount << uint16(0x00) << g_pMain->pTempleEvent.ElMoradUserCount << uint16(0x00) << g_pMain->m_nTempleEventRemainSeconds << uint16(0x00); + g_pMain->Send_All(&result,nullptr,0,0,true,0); + } +} +void CUser::SendKnightCash(int32 nCashPoint) +{ + if (nCashPoint == 0) + return; + + g_DBAgent.UpdateAccountKnightCash(GetAccountName(), nCashPoint); +} +/** +* @brief Get a player loyalty reward. +* +* @param isMonthly Monthly reward. +*/ +uint8 CUser::GetRankReward(bool isMonthly) +{ + enum RankErrorCodes + { + NoRank = 0, + RewardSuccessfull = 1, + RewardAlreadyTaken = 2 + }; + + int8 nRank = -1; + int32 nGoldAmount = 0; + + Guard lock(g_pMain->m_userRankingsLock); + + string strUserID = GetName(); + STRTOUPPER(strUserID); + + UserNameRankMap::iterator itr; + + if (isMonthly) + { + itr = g_pMain->m_UserPersonalRankMap.find(strUserID); + nRank = itr != g_pMain->m_UserPersonalRankMap.end() ? int8(itr->second->nRank) : -1; + } + else + { + itr = g_pMain->m_UserKnightsRankMap.find(strUserID); + nRank = itr != g_pMain->m_UserKnightsRankMap.end() ? int8(itr->second->nRank) : -1; + } + + nRank = 1; + + if (nRank > 0 && nRank <= 100) + { + if (nRank == 1) + nGoldAmount = 1000000; + else if (nRank >= 2 && nRank <= 4) + nGoldAmount = 700000; + else if (nRank >= 5 && nRank <= 10) + nGoldAmount = 500000; + else if (nRank >= 11 && nRank <= 40) + nGoldAmount = 300000; + else if (nRank >= 41 && nRank <= 100) + nGoldAmount = 200000; + else + nGoldAmount = 0; + + if (nGoldAmount > 0) + { + if (GetUserDailyOp(isMonthly ? DAILY_USER_PERSONAL_RANK_REWARD : DAILY_USER_RANK_REWARD) == 0) + return RewardAlreadyTaken; + + GoldGain(nGoldAmount); + return RewardSuccessfull; + + } + } + + return NoRank; +} +/** +* @brief Changes a player's fame. +* +* @param bFame The fame. +*/ +void CUser::ChangeFame(uint8 bFame) +{ + Packet result(WIZ_AUTHORITY_CHANGE, uint8(COMMAND_AUTHORITY)); + + m_bFame = bFame; + result << GetSocketID() << GetFame(); + SendToRegion(&result,nullptr,GetEventRoom()); +} +/** +* @brief Sends the server index. +*/ +void CUser::SendServerIndex() +{ + Packet result(WIZ_SERVER_INDEX); + result << uint16(1) << uint16(g_pMain->m_nServerNo); + Send(&result); + +} +/** +* @brief Packet handler for skillbar requests. +* +* @param pkt The packet. +*/ +void CUser::SkillDataProcess(Packet & pkt) +{ + uint8 opcode = pkt.read(); + switch (opcode) + { + case SKILL_DATA_SAVE: + SkillDataSave(pkt); + break; + + case SKILL_DATA_LOAD: + SkillDataLoad(); + break; + } +} +/** +* @brief Packet handler for saving a skillbar. +* +* @param pkt The packet. +*/ +void CUser::SkillDataSave(Packet & pkt) +{ + Packet result(WIZ_SKILLDATA, uint8(SKILL_DATA_SAVE)); + uint16 sCount = pkt.read(); + if (sCount == 0 || sCount > 64) + return; + + result << sCount; + for (int i = 0; i < sCount; i++) + result << pkt.read(); + + g_pMain->AddDatabaseRequest(result, this); +} + +/** +* @brief Packet handler for loading a skillbar. +*/ +void CUser::SkillDataLoad() +{ + Packet result(WIZ_SKILLDATA, uint8(SKILL_DATA_LOAD)); + g_pMain->AddDatabaseRequest(result, this); +} + +/** +* @brief Initiates a database request to save the character's information. +*/ + +/** +* @brief Logs a player out. +*/ +void CUser::LogOut() +{ + if (m_strUserID.empty()) + return; + + m_LastOnline = uint32(UNIXTIME); + KillMyPet(); + Packet result(AG_USER_LOG_OUT); + result << GetID() << GetName(); + Send_AIServer(&result); + RemoveRegionChat(); + UserInOut(INOUT_OUT); + result.Initialize(WIZ_LOGOUT); + m_deleted = true; // make this session unusable until the logout is complete + g_pMain->AddDatabaseRequest(result, this); +} + +void CUser::SendBoard(uint16 npcID) +{ + Packet result(WIZ_BATTLE_EVENT); + result.DByte(); + // 13 0 No content in board. + uint8 Count = 0, ListCount = 0, i = 1, TotalCount = 0; + uint16 ClanID = 0; + uint8 NationArray = GetNation() - 1; + if(NationArray > 1) + { + result << uint8(13) << uint8(0); + Send(&result); + return; + } + + if(g_pMain->BoardCache[NationArray].size() > 0) + { + g_pMain->BoardCache[NationArray].DByte(); + Send(&g_pMain->BoardCache[NationArray]); + return; + } + + CKnights * pKnights = nullptr; + CKingSystem * pKingSystem = g_pMain->m_KingSystemArray.GetData(GetNation()); + + if(pKingSystem != nullptr) + { + if(!pKingSystem->m_strKingName.empty()) + Count += 1; + } + + + ListCount = g_pMain->m_KnightsRatingArray[NationArray].GetSize(); + if(ListCount > 9) + Count += 10; + else + Count += ListCount; + + ListCount = g_pMain->m_playerPersonalRankings[NationArray].size(); + if(ListCount > 9) + Count += 10; + else + Count += ListCount; + + if(Count == 0) + { + result << uint8(13) << uint8(0); + Send(&result); + return; + } + + + + + result << uint8(13) << uint8(Count); // Opens + + if(!pKingSystem->m_strKingName.empty()) + { + ClanID = g_DBAgent.LoadCharKnights(pKingSystem->m_strKingName); + if(ClanID > 0) + pKnights = g_pMain->GetClanPtr(ClanID); + else + pKnights = nullptr; + + + result << uint16(KING_RANK) << pKingSystem->m_strKingName << uint16(0) << uint16(ClanID) << uint16(pKnights == nullptr ? 0 : pKnights->m_sMarkVersion) << (pKnights == nullptr ? "" : pKnights->GetName()) << int16(1); + TotalCount++; + } + + i = 1; + BOOST_FOREACH (auto itr, g_pMain->m_playerPersonalRankings[NationArray]) + { + if(i == 11) + break; + + if(itr.second == nullptr) + continue; + + if(itr.first != i) + continue; + + if(itr.second->strUserID[NationArray].empty()) + continue; + + + ClanID = g_DBAgent.LoadCharKnights(itr.second->strUserID[NationArray]); + if(ClanID > 0) + pKnights = g_pMain->GetClanPtr(ClanID); + else + pKnights = nullptr; + + result << uint16(LADDER_RANK + i) << itr.second->strUserID[NationArray] << uint16(0) << uint16(ClanID) << uint16(pKnights == nullptr ? 0 : pKnights->m_sMarkVersion) << (pKnights == nullptr ? "" : pKnights->GetName()) << int16(1); + i++; + TotalCount++; + } + + + i = 1; + foreach_stlmap(itr, g_pMain->m_KnightsRatingArray[NationArray]) + { + if(i == 11) + break; + + if(itr->second == nullptr) + continue; + + if(itr->second->sClanID == 0) + continue; + + + pKnights = g_pMain->GetClanPtr(itr->second->sClanID); + + if(pKnights == nullptr) + continue; + + + + result << uint16(CLAN_RANK + i) << pKnights->m_strChief << uint16(0) << uint16(pKnights->GetID()) << uint16(pKnights->m_sMarkVersion) << (pKnights->GetName()) << int16(1); + i++; + TotalCount++; + } + + if(Count != TotalCount) + printf("%d is count, %d is totalcount\n",Count,TotalCount); + + + + Send(&result); + g_pMain->BoardCache[NationArray] = result; +} +/** +* @brief Sends the player's information on initial login. +*/ +void CUser::SendMyInfo() +{ + C3DMap* pMap = GetMap(); + CKnights* pKnights = nullptr; + + if (!pMap->IsValidPosition(GetX(), GetZ(), 0.0f)) + { + short x = 0, z = 0; + GetStartPosition(x, z); + + m_curx = (float)x; + m_curz = (float)z; + } + + V3_QuestDataRequest(); + V3_RequestStart(); + + GirisNotice(); + RobChaosSkillItems(); + + if(g_pMain->AutoSkills) + SendSkillQuestFinish(); + + if (isKurianPortu() && isMastered()) + { + if (!V3_CheckExistEvent(1377, 2)) + V3_QuestEvent(1377, 2); + if (!V3_CheckExistEvent(1378, 2)) + V3_QuestEvent(1378, 2); + } + + Packet result(WIZ_MYINFO); + + // Load up our user rankings (for our NP symbols). + g_pMain->GetUserRank(this); + + // Are we the King? Let's see, shall we? + CKingSystem * pData = g_pMain->m_KingSystemArray.GetData(GetNation()); + if (pData != nullptr && STRCASECMP(pData->m_strKingName.c_str(), m_strUserID.c_str()) == 0) + m_bRank = 1; // We're da King, man. + else if(GetAuthority() == 0) + m_bRank = 2; // totally not da King. + else + m_bRank = 0; + + + + result.SByte(); // character name has a single byte length + result << GetSocketID() + << GetName() + << GetSPosX() << GetSPosZ() << GetSPosY() + << GetNation() + << m_bRace << m_sClass << m_bFace + << m_nHair + << m_bRank << m_bTitle; +#if (__VERSION >= 1950) + result << uint8(1) << uint8(1); +#endif + result << GetLevel() + << m_sPoints + << m_iMaxExp << m_iExp + << GetLoyalty() << GetMonthlyLoyalty() + << GetClanID() << GetFame(); + + if (isInClan()) + pKnights = g_pMain->GetClanPtr(GetClanID()); + + if (pKnights == nullptr) + { + result << uint64(0) << uint16(-1) << uint32(0); + } + else + { + CKnights *aKnights = g_pMain->GetClanPtr(pKnights->GetAllianceID()); + + if (isInClan()) + pKnights->OnLogin(this); + + if (aKnights != nullptr && aKnights->isInAlliance()) + { + result << pKnights->GetAllianceID() + << pKnights->m_byFlag + << pKnights->m_strName + << pKnights->m_byGrade << pKnights->m_byRanking + << uint16(pKnights->m_sMarkVersion) + << pKnights->GetCapeID(aKnights) + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB << uint8(0); + } + else + { + result << pKnights->GetAllianceID() + << pKnights->m_byFlag + << pKnights->m_strName + << pKnights->m_byGrade << pKnights->m_byRanking + << uint16(pKnights->m_sMarkVersion) + << uint16(pKnights->m_sCape) + << pKnights->m_bCapeR << pKnights->m_bCapeG << pKnights->m_bCapeB << uint8(0); + } + } + + result << uint8(2) << uint8(3) << uint8(4) << uint8(5) // unknown + << m_iMaxHp << m_sHp + << m_iMaxMp << m_sMp + << m_sMaxWeight << m_sItemWeight + << GetStat(STAT_STR) << uint8(GetStatItemBonus(STAT_STR) + GetRebStatBuff(STAT_STR)) + << GetStat(STAT_STA) << uint8(GetStatItemBonus(STAT_STA) + GetRebStatBuff(STAT_STA)) + << GetStat(STAT_DEX) << uint8(GetStatItemBonus(STAT_DEX) + GetRebStatBuff(STAT_DEX)) + << GetStat(STAT_INT) << uint8(GetStatItemBonus(STAT_INT) + GetRebStatBuff(STAT_INT)) + << GetStat(STAT_CHA) << uint8(GetStatItemBonus(STAT_CHA) + GetRebStatBuff(STAT_CHA)) + << m_sTotalHit << m_sTotalAc + << uint8(m_sFireR) << uint8(m_sColdR) << uint8(m_sLightningR) + << uint8(m_sMagicR) << uint8(m_sDiseaseR) << uint8(m_sPoisonR) + << m_iGold + << m_bAuthority + << m_bKnightsRank << m_bPersonalRank; // national rank, leader rank + + result.append(m_bstrSkill, 9); + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA *pItem = GetItem(i); +#if (__VERSION >= 1950) + if(i == BAG1) + pItem = GetItem(FAIRY); + else if(i== FAIRY) + pItem = GetItem(BAG1); +#endif + if((pItem->nExpirationTime - UNIXTIME < 0 && pItem->nExpirationTime != 0) || pItem->sCount < 1) + { + result << uint32(0) << uint16(0) << uint16(0) << uint8(0) << uint16(0) << uint32(0) << uint32(0); + pItem->nNum = 0; + } + else + { + result << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag // item type flag (e.g. rented) + << pItem->sRemainingRentalTime; // remaining time + SetSpecialItemData(pItem,result); + result << pItem->nExpirationTime; // expiration date in unix time + } + } + + m_bIsChicken = V3_CheckExistEvent(50, 1); + //result << m_bAccountStatus; // account status (0 = none, 1 = normal prem with expiry in hours, 2 = pc room) + + + result << m_bAccountStatus << uint8(PremiumList.GetSize()); + + foreach_stlmap_nolock(itr, PremiumList) + { + auto pPremiumData = itr->second; + result << pPremiumData->PremiumType << pPremiumData->PremiumTime; + } + + result << PremiumID; + + + result << m_bIsChicken // chicken/beginner flag + << m_iMannerPoint; + + + + //Esland 3 moradon 5 +//karus elmorad karuseslant humaneslant moradon +#if (__VERSION >= 1950) // Military Camp // genie + result << uint8((GetNation() == Nation::KARUS || isGM()) ? g_pMain->KarusBaseMilitaryCampCount : 0); + result << uint8((GetNation() == Nation::ELMORAD || isGM()) ? g_pMain->ElmoradBaseMilitaryCampCount : 0); + result << uint8((GetNation() == Nation::KARUS || isGM()) ? g_pMain->KarusEslantMilitaryCampCount : 0); + result << uint8((GetNation() == Nation::ELMORAD || isGM()) ? g_pMain->ElmoradEslantMilitaryCampCount : 0); + result << uint8(g_pMain->MoradonMilitaryCampCount); + + result << uint8(0) << uint16(GetGenieTime()); +#endif +#if (__VERSION >= 2010) // V2 ise gerekli bilgileri de ekle + //Rebirth Level + result << GetRebLevel(); //Get Rebirth Level + + // Achieve || Rebirth Stats by Terry + result << GetRebStatBuff(STAT_STR) // RebStat STR + << GetRebStatBuff(STAT_STA) // RebStat STA + << GetRebStatBuff(STAT_DEX) // RebStat DEX + << GetRebStatBuff(STAT_INT) // RebStat INT + << GetRebStatBuff(STAT_CHA); // RebStat CHA + + result << uint64(1000000000) // Exp Seal Point + << uint16(GetCoverTitle()) // Achieve Title + << uint16(GetSkillTitle()) + << uint8(0) // ? + << isReturnee() + << uint32(0) ;// ?? +#endif + + SendCompressed(&result); + + g_pMain->AddCharacterName(this); + + if (g_pMain->isWarOpen()) + g_pMain->LunarGoldShells(this); + + SetZoneAbilityChange(GetZoneID()); + Send2AI_UserUpdateInfo(true); + + /* + type1 is king + type2 Achieve Contribution x NP + type3 Reach Level x + type5 Achieve Knight Contribution Point of x CLAN NPSİ + type10 Become a member of Knight Trainees + + */ + + AchieveType4(1); + AchieveType4(2); + AchieveType4(3); + AchieveType4(5); + AchieveType4(10); +} + +void CUser::SetMerchantSpecialItemData(_MERCH_DATA * pSlot, ByteBuffer & result) +{ + result.DByte(); + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pSlot->nNum); + if (pTable != nullptr) + { + if (pTable->isPet()) // Pets 151 kind + { + CPet * newPets = g_pMain->GetPetPtr(pSlot->nSerialNum); + + if(newPets == nullptr) + { + + result << uint32(0); + } + else + { + //printf("nSerialNum : " I64FMTD " PetID: %s\n",pSlot->nSerialNum,newPets->m_strPetID.c_str()); + // nick Level Exp sadisfaction rate uint8(0) + result << uint32(newPets->SpecialPetID) << newPets->m_strPetID << newPets->m_sClass << newPets->m_bLevel << uint16((newPets->m_iExp* 10000) / g_pMain->GetPetExpByLevel(newPets->m_bLevel)) << uint16(newPets->m_sSatisfaction); + } + } + else if (pTable->isCyhperRing()) // Cypher Ring 160 king + { + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(pSlot->nSerialNum); + if (pRingData != nullptr) + result << pRingData->ID << pRingData->UserName << uint8(pRingData->sClass) << pRingData->bLevel << uint16((pRingData->iExp * 10000) / g_pMain->GetExpByLevel(pRingData->bLevel)) << uint16(pRingData->bRace); + else + result << uint32(0); + } + else + result << uint32(0); + } + else + result << uint32(0); +} +void CUser::SetExchangeSpecialItemData(_EXCHANGE_ITEM * pSlot, ByteBuffer & result) +{ + result.DByte(); + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pSlot->nItemID); + if (pTable != nullptr) + { + if (pTable->isPet()) // Pets 151 kind + { + CPet * newPets = g_pMain->GetPetPtr(pSlot->nSerialNum); + + if(newPets == nullptr) + { + + result << uint32(0); + } + else + { + //printf("nSerialNum : " I64FMTD " PetID: %s\n",pSlot->nSerialNum,newPets->m_strPetID.c_str()); + // nick Level Exp sadisfaction rate uint8(0) + result << uint32(newPets->SpecialPetID) << newPets->m_strPetID << newPets->m_sClass << newPets->m_bLevel << uint16((newPets->m_iExp* 10000) / g_pMain->GetPetExpByLevel(newPets->m_bLevel)) << uint16(newPets->m_sSatisfaction); + } + } + else if (pTable->isCyhperRing()) // Cypher Ring 160 king + { + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(pSlot->nSerialNum); + if (pRingData != nullptr) + result << pRingData->ID << pRingData->UserName << uint8(pRingData->sClass) << pRingData->bLevel << uint16((pRingData->iExp * 10000) / g_pMain->GetExpByLevel(pRingData->bLevel)) << uint16(pRingData->bRace); + else + result << uint32(0); + } + else + result << uint32(0); + } + else + result << uint32(0); +} +void CUser::SetSpecialItemData(_ITEM_DATA * pSlot, ByteBuffer & result) +{ + result.DByte(); + + if(pSlot == nullptr) + { + result << uint32(0); + return; + } + + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(pSlot->nNum); + if (pTable != nullptr) + { + if (pTable->isPet()) // Pets 151 kind + { + CPet * newPets = g_pMain->GetPetPtr(pSlot->nSerialNum); + + if(newPets == nullptr) + { + + result << uint32(0); + } + else + { + //printf("nSerialNum : " I64FMTD " PetID: %s\n",pSlot->nSerialNum,newPets->m_strPetID.c_str()); + // nick Level Exp sadisfaction rate uint8(0) + result << uint32(newPets->SpecialPetID) << newPets->m_strPetID << newPets->m_sClass << newPets->m_bLevel << uint16((newPets->m_iExp* 10000) / g_pMain->GetPetExpByLevel(newPets->m_bLevel)) << uint16(newPets->m_sSatisfaction); + } + } + else if (pTable->isCyhperRing()) // Cypher Ring 160 king + { + _CYPHERRING_DATA * pRingData = g_pMain->GetCypherRingPtr(pSlot->nSerialNum); + if (pRingData != nullptr) + result << pRingData->ID << pRingData->UserName << uint8(pRingData->sClass) << pRingData->bLevel << uint16((pRingData->iExp * 10000) / g_pMain->GetExpByLevel(pRingData->bLevel)) << uint16(pRingData->bRace); + else + result << uint32(0); + } + else + result << uint32(0); + } + else + result << uint32(0); + +} + + +void CUser::GirisNotice() +{ + DateTime time; + std::string GirisNotice; + std::string ServerDuyuru; + std::string Welcome; + GirisNotice = string_format("Server antihile uygulamasi aktif!"); + ServerDuyuru = string_format("Sunucu Zamanı : %02d-%02d-%04d %02d:%02d", time.GetDay(), time.GetMonth(), time.GetYear(), time.GetHour(), time.GetMinute()); + Welcome = string_format("Selam %s, Oyuna hoşgeldin.", GetName().c_str()); + /*Packet SecurityNotice(WIZ_CHAT, uint8(GENERAL_CHAT)); + SecurityNotice << GetNation() << GetSocketID() << uint8(0) << GirisNotice; + Send(&SecurityNotice);*/ + Packet DuyuruNotice(WIZ_CHAT, uint8(PUBLIC_CHAT)); + DuyuruNotice << GetNation() << GetSocketID() << uint8(0) << ServerDuyuru; + Send(&DuyuruNotice); + Packet WelcomeNotice(WIZ_CHAT, uint8(PUBLIC_CHAT)); + WelcomeNotice << GetNation() << GetSocketID() << uint8(0) << Welcome; + Send(&WelcomeNotice); + + +} +/** +* @brief Calculates & sets a player's maximum HP. +* +* @param iFlag If set to 1, additionally resets the HP to max. +* If set to 2, additionally resets the max HP to 100 (i.e. Snow war). +*/ +void CUser::SetMaxHp(int iFlag) +{ + _CLASS_COEFFICIENT* p_TableCoefficient = nullptr; + p_TableCoefficient = g_pMain->m_CoefficientArray.GetData( m_sClass ); + if( !p_TableCoefficient ) return; + + int temp_sta = getStatTotal(STAT_STA); + + if (GetZoneID() == ZONE_SNOW_BATTLE && iFlag == 0) + if(GetFame() == COMMAND_CAPTAIN || isKing()) + m_iMaxHp = 300; + else + m_iMaxHp = 100; + + else if (GetZoneID() == ZONE_CHAOS_DUNGEON && iFlag == 0) + m_iMaxHp = 1000; + else + { + m_iMaxHp = (short)(((p_TableCoefficient->HP * GetLevel() * GetLevel() * temp_sta ) + + 0.1 * (GetLevel() * temp_sta) + (temp_sta / 5)) + m_sMaxHPAmount + m_sItemMaxHp + 20); + + // A player's max HP should be capped at (currently) 14,000 HP. + if (m_iMaxHp > MAX_PLAYER_HP && !isGM()) + m_iMaxHp = MAX_PLAYER_HP; + + if (iFlag == 1) + m_sHp = m_iMaxHp; + else if (iFlag == 2) + m_iMaxHp = 100; + } + + if(m_iMaxHp < m_sHp) + { + m_sHp = m_iMaxHp; + HpChange( m_sHp ); + } +} + +/** +* @brief Calculates & sets a player's maximum MP. +*/ +void CUser::SetMaxMp() +{ + _CLASS_COEFFICIENT* p_TableCoefficient = nullptr; + p_TableCoefficient = g_pMain->m_CoefficientArray.GetData( m_sClass ); + if( !p_TableCoefficient ) return; + + int temp_intel = 0, temp_sta = 0; + temp_intel = getStatTotal(STAT_INT) + 30; + // if( temp_intel > 255 ) temp_intel = 255; + temp_sta = getStatTotal(STAT_STA); + // if( temp_sta > 255 ) temp_sta = 255; + + if( p_TableCoefficient->MP != 0) + { + m_iMaxMp = (short)((p_TableCoefficient->MP * GetLevel() * GetLevel() * temp_intel) + + (0.1f * GetLevel() * 2 * temp_intel) + (temp_intel / 5) + m_sMaxMPAmount + m_sItemMaxMp + 20); + } + else if( p_TableCoefficient->SP != 0) + { + m_iMaxMp = (short)((p_TableCoefficient->SP * GetLevel() * GetLevel() * temp_sta ) + + (0.1f * GetLevel() * temp_sta) + (temp_sta / 5) + m_sMaxMPAmount + m_sItemMaxMp); + } + + if(m_iMaxMp < m_sMp) { + m_sMp = m_iMaxMp; + MSpChange( m_sMp ); + } +} + + +void CUser::SetMaxSp() +{ + m_iMaxSp = 120; + ySpChange(0); +} + + +/** +* @brief Sends the server time. +*/ +void CUser::SendTime() +{ + Packet result(WIZ_TIME); + result << uint16(g_pMain->m_sYear) << uint16(g_pMain->m_sMonth) << uint16(g_pMain->m_sDate) + << uint16(g_pMain->m_sHour) << uint16(g_pMain->m_sMin); + Send(&result); +} + +/** +* @brief Sends the weather status. +*/ +void CUser::SendWeather() +{ + Packet result(WIZ_WEATHER); + result << g_pMain->m_byWeather << g_pMain->m_sWeatherAmount; + Send(&result); +} + +/** +* @brief Sets various zone flags to control how +* the client handles other players/NPCs. +* Also sends the zone's current tax rate. +*/ +void CUser::SetZoneAbilityChange(uint16 sNewZone) +{ + C3DMap * pMap = g_pMain->GetZoneByID(sNewZone); + _KNIGHTS_SIEGE_WARFARE *pSiegeWar = g_pMain->GetSiegeMasterKnightsPtr(1); + CKingSystem *pKingSystem = g_pMain->m_KingSystemArray.GetData(GetNation()); + if (pMap == nullptr) + return; + + pMap->SetTariff(g_pMain->GetTariffByZone(sNewZone)); + if (sNewZone == ZONE_RONARK_LAND || + sNewZone == ZONE_RONARK_LAND_BASE || + sNewZone == ZONE_ARDREAM || + sNewZone == ZONE_ARENA || + sNewZone == ZONE_BORDER_DEFENSE_WAR || + sNewZone == ZONE_BIFROST || + sNewZone == ZONE_JURAD_MOUNTAIN || + sNewZone == ZONE_BATTLE || + sNewZone == ZONE_BATTLE2 || + sNewZone == ZONE_BATTLE3 || + sNewZone == ZONE_BATTLE4 || + sNewZone == ZONE_BATTLE5 || + sNewZone == ZONE_BATTLE6 || + sNewZone == ZONE_SNOW_BATTLE || + sNewZone == ZONE_BATTLE_BASE || + sNewZone == ZONE_DARK_LAND || + sNewZone == ZONE_KROWAZ_DOMINION || + sNewZone == ZONE_DRAGON_CAVE || + sNewZone == ZONE_FELANKOR_ARENA || + sNewZone == ZONE_ISILOON_ARENA || + sNewZone == ZONE_LOST_TEMPLE) + pMap->SetTariff(g_pMain->GetTariffByZone(GetNation())); + else if(sNewZone == ZONE_MORADONM2 || sNewZone == ZONE_HELL_ABYSS || sNewZone == ZONE_DESPERATION_ABYSS) + pMap->SetTariff(g_pMain->GetTariffByZone(ZONE_MORADON)); + + + Packet result(WIZ_ZONEABILITY, uint8(1)); + + result << pMap->canTradeWithOtherNation() + << pMap->GetZoneType() + << pMap->canTalkToOtherNation() + << uint16(pMap->GetTariff()); + + Send(&result); + + if (!isGM()) + PlayerRankingProcess(sNewZone,false); + + g_pMain->KillNpc(GetSocketID()); + + if (sNewZone == ZONE_BIFROST || sNewZone == ZONE_BATTLE4 || sNewZone == ZONE_RONARK_LAND) + g_pMain->SendEventRemainingTime(false, this, (uint8)sNewZone); + + // Clear skill cooldowns... + m_RHitRepeatList.clear(); + + Guard lock(_unitlock); + m_CoolDownList.clear(); + m_MagicTypeCooldownList.clear(); +} + +/** +* @brief Sends the user's premium state. +*/ +void CUser::SendPremiumInfo() +{ + Packet result(WIZ_PREMIUM, uint8(1)); + result << uint8(PremiumList.GetSize()); + + foreach_stlmap_nolock(itr,PremiumList) + { + result << itr->second->PremiumType << itr->second->PremiumTime; + } + + result << PremiumID; + + Send(&result); +} + +/** +* @brief Requests user info for the specified session IDs. +* +* @param pkt The packet. +*/ +void CUser::RequestUserIn(Packet & pkt) +{ + Packet result(WIZ_REQ_USERIN); + uint16 user_count = pkt.read(), online_count = 0; + + if(user_count > 75) + user_count = 75; + + result << uint16(0); // placeholder for user count + + for (int i = 0; i < user_count; i++) + { + uint16 nid = pkt.read(); + if(nid < MAX_USER) + { + CUser *pUser = g_pMain->GetUserPtr(nid); + + if (pUser == nullptr + || !pUser->isInGame() + || (pUser->GetEventRoom() != GetEventRoom() && GetEventRoom() > 0)) + continue; + + result << uint8(0) << pUser->GetSocketID(); + pUser->GetUserInfo(result); + } + else + { + CBot *pBot = g_pMain->m_arBotArray.GetData(nid); + + if (pBot == nullptr || !pBot->isInGame()) + continue; + + result << uint8(0) << pBot->GetID(); + pBot->GetUserInfo(result); + } + online_count++; + + if(online_count == 10) + { + result.put(0, online_count); // substitute count in + Send(&result); + result.clear(); + result << uint16(0); // placeholder for user count + online_count = 0; + } + + } + + if(online_count > 0) + { + result.put(0, online_count); // substitute count in + Send(&result); + } +} + +/** +* @brief Request NPC info for the specified NPC IDs. +* +* @param pkt The packet. +*/ +void CUser::RequestNpcIn(Packet & pkt) +{ + if (g_pMain->m_bPointCheckFlag == false) + return; + + Packet result(WIZ_REQ_NPCIN); + uint16 npc_count = pkt.read(); + if (npc_count > 1000) + npc_count = 1000; + + result << uint16(0); // NPC count placeholder + CKnights *pKnights = g_pMain->GetClanPtr(m_bKnights); + _KNIGHTS_SIEGE_WARFARE *pSiegeWars = g_pMain->GetSiegeMasterKnightsPtr(1); + for (int i = 0; i < npc_count; i++) + { + uint16 nid = pkt.read(); + if (nid < 0) + continue; + + CNpc *pNpc = g_pMain->GetNpcPtr(nid); + if (pNpc == nullptr) + continue; + + if (pNpc->isDead() + || (pNpc->GetEventRoom() != GetEventRoom() + && GetEventRoom() > 0)) + continue; + + result << pNpc->GetID(); + + if (pNpc->m_sSid == 541 && pNpc->GetType() == NPC_DESTROYED_ARTIFACT && pNpc->m_bZone == ZONE_DELOS) + { + if (pKnights != nullptr && pSiegeWars != nullptr) + { + if ((pSiegeWars->sMasterKnights == pKnights->m_sAlliance && pKnights->m_sAlliance != 0 ) || pSiegeWars->sMasterKnights == pKnights->m_sIndex) + pNpc->GetNpcInfo(result,3); + else + pNpc->GetNpcInfo(result,0); + }else + pNpc->GetNpcInfo(result,0); + } + else + pNpc->GetNpcInfo(result); + + } + + result.put(0, npc_count); + SendCompressed(&result); +} + +/** +* @brief Calculates & resets item stats/bonuses. +*/ +void CUser::SetSlotItemValue() +{ + _ITEM_TABLE* pTable = nullptr; + int item_hit = 0, item_ac = 0; + + m_sItemMaxHp = m_sItemMaxMp = 0; + m_sItemAc = 0; + m_sItemWeight = m_sMaxWeightBonus = 0; + m_sItemHitrate = m_sItemEvasionrate = 100; + + memset(m_sStatItemBonuses, 0, sizeof(uint16) * STAT_COUNT); + m_sFireR = m_sColdR = m_sLightningR = m_sMagicR = m_sDiseaseR = m_sPoisonR = 0; + m_sDaggerR = m_sSwordR = m_sAxeR = m_sMaceR = m_sSpearR = m_sBowR = 0; + + m_byAPBonusAmount = 0; + memset(&m_byAPClassBonusAmount, 0, sizeof(m_byAPClassBonusAmount)); + memset(&m_byAcClassBonusAmount, 0, sizeof(m_byAcClassBonusAmount)); + + m_bItemExpGainAmount = m_bItemNPBonus = m_bItemNoahGainAmount = 0; + + Guard lock(_unitlock); + m_equippedItemBonuses.clear(); + + map setItems; + + // Apply stat bonuses from all equipped & cospre items. + // Total up the weight of all items. + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA * pItem = nullptr; + pTable = GetItemPrototype(i, pItem); + if (pTable == nullptr) + continue; + + // Bags increase max weight, they do not weigh anything. + if (i == INVENTORY_COSP + COSP_BAG1 + || i == INVENTORY_COSP + COSP_BAG2) + { + m_sMaxWeightBonus += pTable->m_sDuration; + } + // All other items are attributed to the total weight of items in our inventory. + else + { + // Non-stackable items should have a count of Weight collun in table , by Terry + if (pTable->GetKind() == 255) + m_sItemWeight += pTable->m_sWeight; + else + m_sItemWeight += pTable->m_sWeight * pItem->sCount; + } + + // Do not apply stats to unequipped items + if ((i >= SLOT_MAX && i < INVENTORY_COSP) + // or disabled weapons. + || (isWeaponsDisabled() + && (i == RIGHTHAND || i == LEFTHAND) + && !pTable->isShield()) + // or items in magic bags. + || i >= INVENTORY_MBAG + || pItem->isDuplicate()) + continue; + + if (pTable->GetKind() != ITEM_KIND_COSPRE + && i > INVENTORY_INVENT) + continue; + + item_ac = pTable->m_sAc; + if (pItem->sDuration == 0) + item_ac /= 10; + + m_sItemMaxHp += pTable->m_MaxHpB; + m_sItemMaxMp += pTable->m_MaxMpB; + m_sItemAc += item_ac; + m_sStatItemBonuses[STAT_STR] += pTable->m_sStrB; + m_sStatItemBonuses[STAT_STA] += pTable->m_sStaB; + m_sStatItemBonuses[STAT_DEX] += pTable->m_sDexB; + m_sStatItemBonuses[STAT_INT] += pTable->m_sIntelB; + m_sStatItemBonuses[STAT_CHA] += pTable->m_sChaB; + m_sItemHitrate += pTable->m_sHitrate; + m_sItemEvasionrate += pTable->m_sEvarate; + + m_sFireR += pTable->m_bFireR; + m_sColdR += pTable->m_bColdR; + m_sLightningR += pTable->m_bLightningR; + m_sMagicR += pTable->m_bMagicR; + m_sDiseaseR += pTable->m_bCurseR; + m_sPoisonR += pTable->m_bPoisonR; + + m_sDaggerR += pTable->m_sDaggerAc; + m_sSwordR += pTable->m_sSwordAc; + m_sAxeR += pTable->m_sAxeAc; + m_sMaceR += pTable->m_sMaceAc; + m_sSpearR += pTable->m_sSpearAc; + m_sBowR += pTable->m_sBowAc; + + ItemBonusMap bonusMap; + if (pTable->m_bFireDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_FIRE, pTable->m_bFireDamage)); + + if (pTable->m_bIceDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_COLD, pTable->m_bIceDamage)); + + if (pTable->m_bLightningDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_LIGHTNING, pTable->m_bLightningDamage)); + + if (pTable->m_bPoisonDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_POISON, pTable->m_bPoisonDamage)); + + if (pTable->m_bHPDrain) + bonusMap.insert(std::make_pair(ITEM_TYPE_HP_DRAIN, pTable->m_bHPDrain)); + + if (pTable->m_bMPDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_MP_DAMAGE, pTable->m_bMPDamage)); + + if (pTable->m_bMPDrain) + bonusMap.insert(std::make_pair(ITEM_TYPE_MP_DRAIN, pTable->m_bMPDrain)); + + if (pTable->m_bMirrorDamage) + bonusMap.insert(std::make_pair(ITEM_TYPE_MIRROR_DAMAGE, pTable->m_bMirrorDamage)); + + // If we have bonuses to apply, store them. + if (!bonusMap.empty()) + m_equippedItemBonuses[i] = bonusMap; + + // Apply cospre item stats + if (pTable->GetKind() == ITEM_KIND_COSPRE) + { + // If this item exists in the set table, it has bonuses to be applied. + _SET_ITEM * pSetItem = g_pMain->m_SetItemArray.GetData(pTable->m_iNum); + if (pSetItem != nullptr) + ApplySetItemBonuses(pSetItem); + } + + // All set items start with race over 100 + if (pTable->m_bRace < 100) + continue; + + // Each set is uniquely identified by item's race + auto itr = setItems.find(pTable->m_bRace); + + // If the item doesn't exist in our map yet... + if (itr == setItems.end()) + { + // Generate the base set ID and insert it into our map + setItems.insert(make_pair(pTable->m_bRace, pTable->m_bRace * 10000)); + itr = setItems.find(pTable->m_bRace); + } + + // Update the final set ID depending on the equipped set item + switch (pTable->m_bSlot) + { + case ItemSlotHelmet: + itr->second += 2; + break; + case ItemSlotPauldron: + itr->second += 16; + break; + case ItemSlotPads: + itr->second += 512; + break; + case ItemSlotGloves: + itr->second += 2048; + break; + case ItemSlotBoots: + itr->second += 4096; + break; + } + } + + // Now we can add up all the set bonuses, if any. + BOOST_FOREACH (auto itr, setItems) + { + // Test if this set item exists (if we're not using at least 2 items from the set, this will fail) + _SET_ITEM * pItem = g_pMain->m_SetItemArray.GetData(itr.second); + if (pItem == nullptr) + continue; + + ApplySetItemBonuses(pItem); + } + + + if (m_sAddArmourAc > 0) + m_sItemAc += m_sAddArmourAc; + else + m_sItemAc = m_sItemAc * m_bPctArmourAc / 100; + + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + _ITEM_DATA *pItem = GetItem(i); + + if(i == BAG1) + pItem = GetItem(FAIRY); + else if(i== FAIRY) + pItem = GetItem(BAG1); + + if((pItem->nExpirationTime - UNIXTIME < 0 && pItem->nExpirationTime != 0) || pItem->sCount < 1) + RobItem(i); + } +} + +void CUser::ApplyAchieveSkillBonuses(uint16 pAchieveSkill, uint8 eNum) +{ + + _ACHIEVE_TITLE * pAchieve = g_pMain->ACHIEVE_TITLE.GetData(pAchieveSkill); + + if (pAchieve == nullptr) + return; + if (eNum == 1) + { + m_sFireR += pAchieve->FlameResistence; + m_sColdR += pAchieve->IceResistence; + m_sLightningR += pAchieve->ElectrickShockResistence; + m_sMagicR += pAchieve->MagicResistence; + m_sDiseaseR += pAchieve->SpellResistence; + m_sPoisonR += pAchieve->PoisonResistence; + m_sStatItemBonuses[STAT_STA] += pAchieve->Health; + m_sStatItemBonuses[STAT_DEX] += pAchieve->Dexterity; + m_sStatItemBonuses[STAT_INT] += pAchieve->Intelligence; + m_sStatItemBonuses[STAT_CHA] += pAchieve->MagicPower; + m_sStatItemBonuses[STAT_STR] += pAchieve->Strength; + m_sDaggerR += pAchieve->ShortSwordDefense; + m_sSwordR += pAchieve->SwordDefense; + m_sAxeR += pAchieve->AxeDefense; + m_sMaceR += pAchieve->BlowDefense; + m_sSpearR += pAchieve->SpearDefense; + m_sBowR += pAchieve->ArrowDefense; + m_bItemExpGainAmount += pAchieve->ExpBonusPercent; + m_bItemNoahGainAmount += pAchieve->UnKnow1; + m_bItemNPBonus += pAchieve->Contribution; + } + else if(eNum == 2) + { + m_sTotalHit += pAchieve->Attack; + m_sTotalAc += pAchieve->Defense; + } +} + +void CUser::ApplySetItemBonuses(_SET_ITEM * pItem) +{ + m_sItemAc += pItem->ACBonus; + m_sItemMaxHp += pItem->HPBonus; + m_sItemMaxMp += pItem->MPBonus; + + m_sStatItemBonuses[STAT_STR] += pItem->StrengthBonus; + m_sStatItemBonuses[STAT_STA] += pItem->StaminaBonus; + m_sStatItemBonuses[STAT_DEX] += pItem->DexterityBonus; + m_sStatItemBonuses[STAT_INT] += pItem->IntelBonus; + m_sStatItemBonuses[STAT_CHA] += pItem->CharismaBonus; + + m_sFireR += pItem->FlameResistance; + m_sColdR += pItem->GlacierResistance; + m_sLightningR += pItem->LightningResistance; + m_sMagicR += pItem->MagicResistance; + m_sDiseaseR += pItem->CurseResistance; + m_sPoisonR += pItem->PoisonResistance; + + m_bItemExpGainAmount += pItem->XPBonusPercent; + m_bItemNoahGainAmount += pItem->CoinBonusPercent; + m_bItemNPBonus += pItem->NPBonus; + + m_sMaxWeightBonus += pItem->MaxWeightBonus; + + // NOTE: The following percentages use values such as 3 to indicate +3% (not the typical 103%). + // Also note that at this time, there are no negative values used, so we can assume it's always a bonus. + m_byAPBonusAmount += pItem->APBonusPercent; + if (pItem->APBonusClassType >= 1 && pItem->APBonusClassType <= 4) + m_byAPClassBonusAmount[pItem->APBonusClassType - 1] += pItem->APBonusClassPercent; + + if (pItem->ACBonusClassType >= 1 && pItem->ACBonusClassType <= 4) + m_byAcClassBonusAmount[pItem->ACBonusClassType - 1] += pItem->ACBonusClassPercent; +} + +void CUser::RecvUserExp(Packet & pkt) +{ + CNpc * pNpc; + _PARTY_GROUP * pParty; + uint16 sNpcID; + int32 iDamage, iTotalDamage, iNpcExp, iNpcLoyalty; + uint32 nFinalExp, nFinalLoyalty; + double TempValue = 0; + + pkt >> sNpcID >> iDamage >> iTotalDamage >> iNpcExp >> iNpcLoyalty; + + pNpc = g_pMain->GetNpcPtr(sNpcID); + if (pNpc == nullptr + || !isInRangeSlow(pNpc, 50.0f) + || (iNpcExp <= 0 && iNpcLoyalty <= 0)) + return; + + // Calculate base XP earned for the damage dealt. + if (iNpcExp > 0) + { + TempValue = iNpcExp * ((double)iDamage / (double)iTotalDamage); + nFinalExp = (int) TempValue; + if (TempValue > nFinalExp) + nFinalExp++; + } + + // Calculate base NP earned for the damage dealt. + if (iNpcLoyalty > 0) + { + TempValue = iNpcLoyalty * ((double)iDamage / (double)iTotalDamage); + nFinalLoyalty = (int) TempValue; + if (TempValue > nFinalLoyalty) + nFinalLoyalty++; + } + + // Handle solo XP/NP gain + if (!isInParty() + || (pParty = g_pMain->GetPartyPtr(GetPartyID())) == nullptr) + { + if (isDead()) + return; + + // Calculate the amount to adjust the XP/NP based on level difference. + float fModifier = pNpc->GetRewardModifier(GetLevel()); + float fModifierMS; + // Give solo XP + if (iNpcExp > 0 && (GetZoneID() != ZONE_STONE1 && GetZoneID() != ZONE_STONE2 && GetZoneID() != ZONE_STONE3 && GetZoneID() != ZONE_JURAD_MOUNTAIN)) + { + TempValue = nFinalExp * fModifier; + nFinalExp = (int) TempValue; + if (TempValue > nFinalExp) + nFinalExp++; + + ExpChange(nFinalExp); + ExpEvent(nFinalExp); + }else if(iNpcExp > 0 && (GetZoneID() == ZONE_STONE1 || GetZoneID() == ZONE_STONE2 || GetZoneID() == ZONE_STONE3 || GetZoneID() == ZONE_JURAD_MOUNTAIN)) + { + uint64 TempExp = g_pMain->GetExpByLevel(GetLevel()); + uint8 LevelDifference; + if(GetLevel() < 40) + LevelDifference = (40 - GetLevel()); + else if(GetLevel() < 50) + LevelDifference = (50 - GetLevel()); + else if(GetLevel() < 60) + LevelDifference = (60 - GetLevel()); + else if(GetLevel() < 70) + LevelDifference = (70 - GetLevel()); + else if(GetLevel() < 80) + LevelDifference = (80 - GetLevel()); + else if(GetLevel() < 84) + LevelDifference = (84 - GetLevel()); + else + LevelDifference = 0; + + if(GetLevel() < 40) + fModifierMS = 0.02f; + else if(GetLevel() < 50) + fModifierMS = 0.01f; + else if(GetLevel() < 60) + fModifierMS = 0.005f; + else if(GetLevel() < 70) + fModifierMS = 0.0025f; + else if(GetLevel() < 80) + fModifierMS = 0.0020f; + else if(GetLevel() < 84) + fModifierMS = 0.0018f; + else + fModifierMS = 0.0f; + + fModifierMS = fModifierMS / 4; + + TempValue = fModifierMS * LevelDifference * TempExp; + nFinalExp = (int) TempValue; + + if(GetZoneID() == ZONE_JURAD_MOUNTAIN) + nFinalExp = nFinalExp / 2; + + if (TempValue > nFinalExp) + nFinalExp++; + + ExpChange(nFinalExp); + ExpEvent(nFinalExp); + } + + // Give solo NP + if (iNpcLoyalty > 0) + { + bool UseModifier = false; + + if (UseModifier) + { + TempValue = nFinalLoyalty * fModifier; + nFinalLoyalty = (int) TempValue; + if (TempValue > nFinalLoyalty) + nFinalLoyalty++; + } + + SendLoyaltyChange(nFinalLoyalty); + } + + return; + } + + // Handle party XP/NP gain + std::vector partyUsers; + uint32 nTotalLevel = 0; + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + partyUsers.push_back(pUser); + nTotalLevel += pUser->GetLevel(); + } + + const float fPartyModifierXP = 0.3f; + const float fPartyModifierNP = 0.2f; + + uint32 nPartyMembers = (uint32) partyUsers.size(); + + // Calculate the amount to adjust the XP/NP based on level difference. + float fModifier = pNpc->GetPartyRewardModifier(nTotalLevel, nPartyMembers); + + if (iNpcExp > 0) + { + TempValue = nFinalExp * fModifier; + nFinalExp = (int) TempValue; + if (TempValue > nFinalExp) + nFinalExp++; + } + + if (iNpcLoyalty > 0) + { + TempValue = nFinalLoyalty * fModifier; + nFinalLoyalty = (int) TempValue; + if (TempValue > nFinalLoyalty) + nFinalLoyalty++; + } + + // Hand out kill rewards to all users in the party and still in range. + int PartyUsers = 0; + BOOST_FOREACH (auto itr, partyUsers) + { + + CUser * pUser = (itr); + + if (pUser == nullptr) + continue; + + if (pUser->isDead() + || !pUser->isInRange(pNpc, RANGE_50M) + || GetZoneID() != pUser->GetZoneID()) + continue; + + PartyUsers++; + } + + if (PartyUsers == 1){ + + if (isDead()) + return; + + // Calculate the amount to adjust the XP/NP based on level difference. + float fModifier = pNpc->GetRewardModifier(GetLevel()); + float fModifierMS; + + if (iNpcExp > 0 && (GetZoneID() != ZONE_STONE1 && GetZoneID() != ZONE_STONE2 && GetZoneID() != ZONE_STONE3 && GetZoneID() != ZONE_JURAD_MOUNTAIN)) + { + TempValue = nFinalExp * fModifier; + nFinalExp = (int) TempValue; + if (TempValue > nFinalExp) + nFinalExp++; + + ExpChange(nFinalExp); + ExpEvent(nFinalExp); + }else if(iNpcExp > 0 && (GetZoneID() == ZONE_STONE1 || GetZoneID() == ZONE_STONE2 || GetZoneID() == ZONE_STONE3 || GetZoneID() == ZONE_JURAD_MOUNTAIN)) + { + uint64 TempExp = g_pMain->GetExpByLevel(GetLevel()); + uint8 LevelDifference; + if(GetLevel() < 40) + LevelDifference = (40 - GetLevel()); + else if(GetLevel() < 50) + LevelDifference = (50 - GetLevel()); + else if(GetLevel() < 60) + LevelDifference = (60 - GetLevel()); + else if(GetLevel() < 70) + LevelDifference = (70 - GetLevel()); + else if(GetLevel() < 80) + LevelDifference = (80 - GetLevel()); + else if(GetLevel() < 84) + LevelDifference = (84 - GetLevel()); + else + LevelDifference = 0; + + if(GetLevel() < 40) + fModifierMS = 0.02f; + else if(GetLevel() < 50) + fModifierMS = 0.01f; + else if(GetLevel() < 60) + fModifierMS = 0.005f; + else if(GetLevel() < 70) + fModifierMS = 0.0025f; + else if(GetLevel() < 80) + fModifierMS = 0.0020f; + else if(GetLevel() < 84) + fModifierMS = 0.0018f; + else + fModifierMS = 0.0f; + + + fModifierMS = fModifierMS / 4; + + TempValue = fModifierMS * LevelDifference * TempExp; + nFinalExp = (int) TempValue; + + if(GetZoneID() == ZONE_JURAD_MOUNTAIN) + nFinalExp = nFinalExp / 2; + + if (TempValue > nFinalExp) + nFinalExp++; + + ExpChange(nFinalExp); + ExpEvent(nFinalExp); + } + + + if (iNpcLoyalty > 0) + { + TempValue = iNpcLoyalty * ((double)iDamage / (double)iTotalDamage); + nFinalLoyalty = (int) TempValue; + if (TempValue > nFinalLoyalty) + nFinalLoyalty++; + + SendLoyaltyChange(nFinalLoyalty); + } + + return; + + } + + BOOST_FOREACH (auto itr, partyUsers) + { + + CUser * pUser = (itr); + if (pUser->isDead() + || !pUser->isInRange(pNpc, RANGE_50M) + || GetZoneID() != pUser->GetZoneID()) + continue; + + + + if (iNpcExp > 0 && (GetZoneID() != ZONE_STONE1 && GetZoneID() != ZONE_STONE2 && GetZoneID() != ZONE_STONE3 && GetZoneID() != ZONE_JURAD_MOUNTAIN)) + { + TempValue = (nFinalExp * (1 + fPartyModifierXP * (nPartyMembers - 1))) * (double)pUser->GetLevel() / (double)nTotalLevel; + int iExp = (int) TempValue; + if (TempValue > iExp) + iExp++; + + + if (iExp > (pUser->m_iMaxExp / 10)) + iExp = (int) pUser->m_iMaxExp / 10; + + pUser->ExpChange(iExp); + pUser->ExpEvent(iExp); + }else if(iNpcExp > 0 && (pUser->GetZoneID() == ZONE_STONE1 || pUser->GetZoneID() == ZONE_STONE2 || pUser->GetZoneID() == ZONE_STONE3 || pUser->GetZoneID() == ZONE_JURAD_MOUNTAIN)) + { + uint64 TempExp = g_pMain->GetExpByLevel(GetLevel()); + uint8 LevelDifference; + float fModifierMS; + if(GetLevel() < 40) + LevelDifference = (40 - pUser->GetLevel()); + else if(GetLevel() < 50) + LevelDifference = (50 - pUser->GetLevel()); + else if(GetLevel() < 60) + LevelDifference = (60 - pUser->GetLevel()); + else if(GetLevel() < 70) + LevelDifference = (70 - pUser->GetLevel()); + else if(GetLevel() < 80) + LevelDifference = (80 - pUser->GetLevel()); + else if(GetLevel() < 84) + LevelDifference = (84 - pUser->GetLevel()); + else + LevelDifference = 0; + + if(pUser->GetLevel() < 40) + fModifierMS = 0.02f; + else if(pUser->GetLevel() < 50) + fModifierMS = 0.01f; + else if(pUser->GetLevel() < 60) + fModifierMS = 0.005f; + else if(pUser->GetLevel() < 70) + fModifierMS = 0.0025f; + else if(pUser->GetLevel() < 80) + fModifierMS = 0.0020f; + else if(pUser->GetLevel() < 84) + fModifierMS = 0.0018f; + else + fModifierMS = 0.0f; + + TempValue = fModifierMS * LevelDifference * TempExp; + nFinalExp = (int) TempValue; + + if(pUser->GetZoneID() == ZONE_JURAD_MOUNTAIN) + nFinalExp = nFinalExp / 2; + + if (TempValue > nFinalExp) + nFinalExp++; + + pUser->ExpChange(nFinalExp); + pUser->ExpEvent(nFinalExp); + } + + if (iNpcLoyalty > 0) + { + TempValue = (nFinalLoyalty * (1 + fPartyModifierNP * (nPartyMembers - 1))) * (double)pUser->GetLevel() / (double)nTotalLevel; + int iLoyalty = (int) TempValue; + if (TempValue > iLoyalty) + iLoyalty++; + + pUser->SendLoyaltyChange(iLoyalty); + } + } +} + + +/** +* @brief Changes the player's experience points by iExp. +* +* @param iExp The amount of experience points to adjust by. +*/ +void CUser::ExpChange(int64 iExp, bool bIsBonusReward) +{ + // Stop players level 5 or under from losing XP on death. + if ((GetLevel() < 6 && iExp < 0) + // Stop players in the war zone (TODO: Add other war zones) from losing XP on death. + || (GetMap()->isWarZone() && iExp < 0)) + return; + + // Despite being signed, we don't want m_iExp ever going below 0. + // If this happens, we need to investigate why -- not sweep it under the rug. + ASSERT(m_iExp >= 0); + + if (iExp > 0) + { + if (!bIsBonusReward) + { + if(GetZoneID() == ZONE_RONARK_LAND) + iExp = iExp * (100 + g_pMain->m_byPKZoneExpEventAmount ) / 100; + // Adjust the exp gained based on the percent set by the buff + iExp = iExp * (m_sExpGainAmount + m_bItemExpGainAmount) / 100; + + // Add on any additional XP earned because of a global XP event. + // NOTE: They officially check to see if the XP is <= 100,000. + iExp = iExp * (100 + g_pMain->m_byExpEventAmount) / 100; + iExp = iExp * (m_sExpGainAmount+m_FlashExpBonus) /100; + + if (GetPremiumProperty(PremiumExpPercent) > 0 && !isDead()) + iExp = iExp * (100 + GetPremiumProperty(PremiumExpPercent)) / 100; + } + } + + bool bLevel = true; + if (iExp < 0 + && (m_iExp + iExp) < 0) + bLevel = false; + else + m_iExp += iExp; + + // If we need to delevel... + if (!bLevel && GetRebLevel() == 0) + { + // Drop us back a level. + m_bLevel--; + + // Get the excess XP (i.e. below 0), so that we can take it off the max XP of the previous level + // Remember: we're deleveling, not necessarily starting from scratch at the previous level + int64 diffXP = m_iExp + iExp; + + // Now reset our XP to max for the former level. + m_iExp = g_pMain->GetExpByLevel(GetLevel()); + + // Get new stats etc. + LevelChange(GetLevel(), false); + + // Take the remainder of the XP off (and delevel again if necessary). + ExpChange(diffXP); + return; + } + // If we've exceeded our XP requirement, we've leveled. + else if (m_iExp >= m_iMaxExp) + { + if (GetLevel() < g_pMain->MAXLVLINI + && !(g_pMain->MaxLevel62Control && GetLevel() == 62)) + { + // Reset our XP, level us up. + m_iExp -= m_iMaxExp; + LevelChange(++m_bLevel); + return; + } + + // Hit the max level? Can't level any further. Cap the XP. + m_iExp = m_iMaxExp; + } + + // Tell the client our new XP + Packet result(WIZ_EXP_CHANGE); + result << uint8(1) << m_iExp; // NOTE: Use proper flag + Send(&result); + + // If we've lost XP, save it for possible refund later. + if (iExp < 0) + m_iLostExp = -iExp; +} + +/** +* @brief Get premium properties. +*/ +uint16 CUser::GetPremiumProperty(PremiumPropertyOpCodes type) +{ + if (PremiumID <= 0 + || PremiumList.GetSize() < 1) + return 0; + + _PREMIUM_ITEM * pPremiumItem = g_pMain->m_PremiumItemArray.GetData(PremiumID); + if (pPremiumItem == nullptr) + return 0; + + switch (type) + { + case PremiumExpRestorePercent: + return pPremiumItem->ExpRestorePercent; + case PremiumNoahPercent: + return pPremiumItem->NoahPercent; + case PremiumDropPercent: + return pPremiumItem->DropPercent; + case PremiumBonusLoyalty: + return pPremiumItem->BonusLoyalty; + case PremiumRepairDiscountPercent: + return pPremiumItem->RepairDiscountPercent; + case PremiumItemSellPercent: + return pPremiumItem->ItemSellPercent; + case PremiumExpPercent: + { + foreach_stlmap_nolock (itr, g_pMain->m_PremiumItemExpArray) + { + _PREMIUM_ITEM_EXP *pPremiumItemExp = g_pMain->m_PremiumItemExpArray.GetData(itr->first); + + if (pPremiumItemExp == nullptr) + continue; + + if (PremiumID == pPremiumItemExp->Type && GetLevel() >= pPremiumItemExp->MinLevel && GetLevel() <= pPremiumItemExp->MaxLevel) + return pPremiumItemExp->sPercent; + } + } + } + + return 0; +} + +/** +* @brief Handles stat updates after a level change. +* It does not change the level. +* +* @param level The level we've changed to. +* @param bLevelUp true to level up, false for deleveling. +*/ +void CUser::LevelChange(uint8 level, bool bLevelUp) +{ + if(level == 84) + ExpChange(-m_iExp,false); + + if (level < 1 || level > g_pMain->MAXLVLINI) + return; + + if(g_pMain->MaxLevel62Control + && ((GetLevel() == 62 && level == 83) || (GetLevel() == 83 && level == 62))) + { + for (int i = 0; i < SLOT_MAX; i++) + { + if (m_sItemArray[i].nNum) + return; + } + } + + + if (bLevelUp && level > GetLevel() + 1) + { + int16 nStatTotal = 300 + (level - 1) * 3; + uint8 nSkillTotal = (level - 9) * 2; + + if (level > 60) + nStatTotal += 2 * (level - 60); + + m_sPoints += nStatTotal - GetStatTotal(); + m_bstrSkill[SkillPointFree] += nSkillTotal - GetTotalSkillPoints(); + m_bLevel = level; + } + else if (bLevelUp) + { + // On each level up, we should give 3 stat points for levels 1-60. + // For each level above that, we give an additional 2 stat points (so 5 stat points per level). + int levelsAfter60 = (level > 60 ? level - 60 : 0); + if ((m_sPoints + GetStatTotal()) < int32(297 + (3 * level) + (2 * levelsAfter60))) + m_sPoints += (levelsAfter60 == 0 ? 3 : 5); + + if (level >= 10 && GetTotalSkillPoints() < 2 * (level - 9)) + m_bstrSkill[SkillPointFree] += 2; + } + + + + m_bLevel = level; + + + m_iMaxExp = g_pMain->GetExpByLevel(level); + SetUserAbility(); + + m_sMp = m_iMaxMp; + HpChange(GetMaxHealth()); + + Send2AI_UserUpdateInfo(); + + Packet result(WIZ_LEVEL_CHANGE); + result << GetSocketID() + << GetLevel() << m_sPoints << m_bstrSkill[SkillPointFree] + << m_iMaxExp << m_iExp + << m_iMaxHp << m_sHp + << m_iMaxMp << m_sMp + << m_sMaxWeight << m_sItemWeight; + + g_pMain->Send_Region(&result, GetMap(), GetRegionX(), GetRegionZ(),nullptr,GetEventRoom()); + + if(isKurian()) + ySpChange(m_iMaxSp); + + if (isInParty()) + { + // TODO: Move this to party specific code + result.Initialize(WIZ_PARTY); + result << uint8(PARTY_LEVELCHANGE) << GetSocketID() << GetLevel(); + g_pMain->Send_PartyMember(GetPartyID(), &result); + + if (m_bIsChicken) + GrantChickenManner(); + } + + if(bLevelUp) + { + if(m_FlashExpBonus > 0) + m_FlashExpBonus = 0; + SendNotice(); + } + + // Auto-Novice + if (g_pMain->AutoNovice && (GetLevel() >= 10 && isBeginner() && !isNovice())) + { + PromoteUserNovice(); + } + // Auto-Master + if (g_pMain->AutoMaster && (level >= 60 && isNovice() && !isMastered())) + { + PromoteUser(); + //SendPartyClassUpdate(); + } + + AchieveType4(3); + // We should kick players out of the zone if their level no longer matches the requirements for this zone. + /*if (GetLevel() < GetMap()->GetMinLevelReq() || GetLevel() > GetMap()->GetMaxLevelReq()) + KickOutZoneUser(); */ +} + +/** +* @brief Handles player stat assignment. +* +* @param pkt The packet. +*/ +void CUser::PointChange(Packet & pkt) +{ + uint8 type = pkt.read(); + StatType statType = (StatType)(type - 1); + + if (statType < STAT_STR || statType >= STAT_COUNT + || m_sPoints < 1 + || GetStat(statType) >= STAT_MAX) + return; + + Packet result(WIZ_POINT_CHANGE, type); + + m_sPoints--; // remove a free point + result << uint16(++m_bStats[statType]); // assign the free point to a stat + SetUserAbility(); + result << m_iMaxHp << m_iMaxMp << m_sTotalHit << m_sMaxWeight; + Send(&result); + SendItemMove(1); +} + +/** +* @brief Changes a user's HP. +* +* @param amount The amount to change by. +* @param pAttacker The attacker. +* @param bSendToAI true to update the AI server. +*/ +void CUser::HpChange(int amount, Unit *pAttacker /*= nullptr*/, bool bSendToAI /*= true*/) +{ + if(pAttacker != nullptr)// Maradonda adam kesme için geçiçi çözüm + { + if(pAttacker->isPlayer()) + { + if(TO_USER(pAttacker)->GetZoneID() == ZONE_MORADON && !TO_USER(pAttacker)->isInArena() && !TO_USER(pAttacker)->isInPartyArena() && amount < 0) + return; + } + } + Packet result(WIZ_HP_CHANGE); + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + int16 oldHP = m_sHp; + int originalAmount = amount; + int mirrorDamage = 0; + + // No cheats allowed + if (pAttacker && pAttacker->GetZoneID() != GetZoneID()) + return; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + // If we're taking damage... + if (amount < 0) + { + if (isGM()) + return; + + RemoveStealth(); + + // Handle the mirroring of damage. + if (m_bMirrorDamage && isInParty() && GetZoneID() != ZONE_CHAOS_DUNGEON) + { + _PARTY_GROUP *pParty = nullptr; + CUser *pUser = nullptr; + mirrorDamage = (m_byMirrorAmount * amount) / 100; + amount -= mirrorDamage; + pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty != nullptr) + { + mirrorDamage = mirrorDamage / (GetPartyMemberAmount(pParty) - 1); + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if(pUser == nullptr || pUser == this) + continue; + + pUser->HpChange(mirrorDamage); + } + } + } + + // Handle mana absorb skills + if (m_bManaAbsorb > 0 && GetZoneID() != ZONE_CHAOS_DUNGEON) + { + if ((m_bManaAbsorb == 15 && AbsorbCount > 0) || m_bManaAbsorb != 0) + { + + if (m_bManaAbsorb == 15) + AbsorbCount--; + + int toBeAbsorbed = 0; + toBeAbsorbed = (originalAmount*m_bManaAbsorb) / 100; + amount -= toBeAbsorbed; + + MSpChange(toBeAbsorbed); + } + } + + // Handle mastery passives + if (isMastered() && GetZoneID() != ZONE_CHAOS_DUNGEON) + { + // Matchless: [Passive]Decreases all damages received by 15% + if (CheckSkillPoint(SkillPointMaster, 10, 83)) + amount = (85 * amount) / 100; + // Absoluteness: [Passive]Decrease 10 % demage of all attacks + else if (CheckSkillPoint(SkillPointMaster, 5, 9)) + amount = (90 * amount) / 100; + } + } + // If we're receiving HP and we're undead, all healing must become damage. + else if (m_bIsUndead) + { + amount = -amount; + originalAmount = amount; + } + + + if (amount < 0 && -amount >= m_sHp) + m_sHp = 0; + else if (amount >= 0 && m_sHp + amount > m_iMaxHp) + m_sHp = m_iMaxHp; + else + m_sHp += amount; + + + // Absorbed System by Terry + if (isDevil() && pAttacker != nullptr && pAttacker->isPlayer() ) + { + if (amount < 0) + { + int32 Receive = int32(amount / 3.1); + + Packet result(WIZ_SP_CHANGE); + result << uint8(2) << uint8(1); + result << Receive; + Send(&result); + + AbsorbedAmmount += Receive; + + if(m_sHp > 0) + m_sHp -= int16(Receive); + + if (AbsorbedAmmount <= ABSORBED_TOTAL) + CMagicProcess::RemoveType4Buff(BUFF_TYPE_DEVIL_TRANSFORM, this); + } + } + + result << m_iMaxHp << m_sHp << tid; + + if (GetHealth() > 0 + && isMastered() + && !isMage() && GetZoneID() != ZONE_CHAOS_DUNGEON) + { + const uint16 hp30Percent = (30 * GetMaxHealth()) / 100; + if ((oldHP >= hp30Percent && m_sHp < hp30Percent) + || (m_sHp > hp30Percent)) + { + /*SetUserAbility();*/ + + if (m_sHp < hp30Percent) + ShowEffect(106800); // skill ID for "Boldness", shown when a player takes damage. + } + } + + Send(&result); + + if (bSendToAI) + { + result.Initialize(AG_USER_SET_HP); + result << GetSocketID() << m_sHp << tid; + Send_AIServer(&result); + } + + if (isInParty() && GetZoneID() != ZONE_CHAOS_DUNGEON) + SendPartyHPUpdate(); + + // Ensure we send the original damage (prior to passives) amount to the attacker + // as it appears to behave that way officially. + if (pAttacker != nullptr + && pAttacker->isPlayer()) + TO_USER(pAttacker)->SendTargetHP(0, GetID(), originalAmount); + + if(m_sHp < 0) + m_sHp = 0; + + if (m_sHp == 0) + OnDeath(pAttacker); +} + +/** +* @brief Changes a user's mana points. +* +* @param amount The amount to adjust by. +*/ +void CUser::MSpChange(int amount) +{ + Packet result(WIZ_MSP_CHANGE); + int16 oldMP = m_sMp; + + if (isGM() && amount < 0) + return; + + // TODO: Make this behave unsigned. + m_sMp += amount; + if (m_sMp < 0) + m_sMp = 0; + else if (m_sMp > m_iMaxMp) + m_sMp = m_iMaxMp; + + if (isMasteredMage()) + { + const uint16 mp30Percent = (30 * GetMaxMana()) / 100; + if (oldMP >= mp30Percent + && GetMana() < mp30Percent) + ShowEffect(106800); // skill ID for "Boldness", shown when a player loses mana. + } + + result << m_iMaxMp << m_sMp; + Send(&result); + + if (isInParty()) + SendPartyHPUpdate(); // handles MP too +} + +void CUser::ySpChange(int amount) +{ + Packet result(WIZ_SP_CHANGE); + + + m_iMaxSp=120; + if ((m_sSp + amount) > m_iMaxSp) + m_sSp = m_iMaxSp; + else if((m_sSp + amount) < 0) + m_sSp = 0; + else + m_sSp += amount; + + result << uint8(1) << uint8(1) << uint8(m_iMaxSp) << uint8(m_sSp); + Send(&result); + +} + + +/** +* @brief Sends a HP update to the user's party. +*/ +void CUser::SendPartyHPUpdate() +{ + Packet result(WIZ_PARTY); + result << uint8(PARTY_HPCHANGE) + << GetSocketID() + << m_iMaxHp << m_sHp + << m_iMaxMp << m_sMp; + g_pMain->Send_PartyMember(GetPartyID(), &result); +} + +/** +* @brief Shows the specified skill's effect +* to the surrounding regions. +* +* @param nSkillID Skill identifier. +*/ +void CUser::ShowEffect(uint32 nSkillID) +{ + Packet result(WIZ_EFFECT); + result << GetID() << nSkillID; + SendToRegion(&result,nullptr,GetEventRoom()); +} + +/** +* @brief Shows an effect on the NPC currently +* being interacted with. +* +* @param nEffectID Identifier for the effect. +*/ +void CUser::ShowNpcEffect(uint32 nEffectID, bool bSendToRegion) +{ + Packet result(WIZ_OBJECT_EVENT, uint8(OBJECT_NPC)); + result << uint8(3) << m_sEventNid << nEffectID; + if (bSendToRegion) + SendToRegion(&result,nullptr,GetEventRoom()); + else + Send(&result); +} + +/** +* @brief Sends a player's base information to the AI server. +* +* @param initialInfo true when initially sending a player's information +* to the server. +*/ +void CUser::Send2AI_UserUpdateInfo(bool initialInfo /*= false*/) +{ + Packet result(initialInfo ? AG_USER_INFO : AG_USER_UPDATE); + GetUserInfoForAI(result); + Send_AIServer(&result); +} + +/** +* @brief Calculates and resets the player's stats/resistances. +* +* @param bSendPacket true to send a subsequent item movement packet +* which is almost always required in addition to +* using this method. +*/ +void CUser::SetUserAbility(bool bSendPacket /*= true*/) +{ + bool bHaveBow = false; + _CLASS_COEFFICIENT* p_TableCoefficient = g_pMain->m_CoefficientArray.GetData(GetClass()); + uint16 sItemDamage = 0; + if (p_TableCoefficient == nullptr) + return; + + float hitcoefficient = 0.0f; + + + if (!isWeaponsDisabled()) + { + _ITEM_TABLE * pRightHand = GetItemPrototype(RIGHTHAND); + _ITEM_DATA * pRightData = GetItem(RIGHTHAND); + if (pRightHand != nullptr) + { + switch (pRightHand->m_bKind/10) + { + case WEAPON_DAGGER: + hitcoefficient = p_TableCoefficient->ShortSword; + break; + case WEAPON_SWORD: + hitcoefficient = p_TableCoefficient->Sword; + break; + case WEAPON_AXE: + hitcoefficient = p_TableCoefficient->Axe; + break; + case WEAPON_MACE: + case WEAPON_MACE2: + hitcoefficient = p_TableCoefficient->Club; + break; + case WEAPON_SPEAR: + hitcoefficient = p_TableCoefficient->Spear; + break; + case WEAPON_BOW: + case WEAPON_LONGBOW: + case WEAPON_LAUNCHER: + hitcoefficient = p_TableCoefficient->Bow; + bHaveBow = true; + break; + case WEAPON_JAMADAR: + hitcoefficient = p_TableCoefficient->ShortSword; + break; + case WEAPON_STAFF: + hitcoefficient = p_TableCoefficient->Staff; + break; + + } + + if (isKurian() + && pRightHand->m_bKind%10 == 1 + && (pRightHand->m_bKind/10 == WEAPON_AXE + || pRightHand->m_bKind/10 == WEAPON_MACE)) + hitcoefficient = p_TableCoefficient->Pole; + + if (pRightData->sDuration == 0) + sItemDamage += (pRightHand->m_sDamage + m_bAddWeaponDamage)/2; + else + sItemDamage += pRightHand->m_sDamage + m_bAddWeaponDamage; + } + + _ITEM_TABLE *pLeftHand = GetItemPrototype(LEFTHAND); + _ITEM_DATA * pLeftData = GetItem(LEFTHAND); + if (pLeftHand != nullptr) + { + if (pLeftHand->isBow()) + { + hitcoefficient = p_TableCoefficient->Bow; + bHaveBow = true; + if (pLeftData->sDuration == 0) + sItemDamage = (pLeftHand->m_sDamage + m_bAddWeaponDamage)/2; + else + sItemDamage = pLeftHand->m_sDamage + m_bAddWeaponDamage; + } + else + { + if (pLeftData->sDuration == 0) + sItemDamage += ((pLeftHand->m_sDamage + m_bAddWeaponDamage) / 2) /2; + else + sItemDamage += (pLeftHand->m_sDamage + m_bAddWeaponDamage) / 2; + } + } + } + + /*if (m_sACAmount < 0) + m_sACAmount = 0;*/ + + m_sTotalHit = 0; + + if (sItemDamage < 3) + sItemDamage = 3; + + // Update stats based on item data + SetSlotItemValue(); + + + ApplyAchieveSkillBonuses(GetSkillTitle(),1); + int temp_str = GetStat(STAT_STR), temp_dex = getStatTotal(STAT_DEX); + // if( temp_str > 255 ) temp_str = 255; + // if( temp_dex > 255 ) temp_dex = 255; + + uint32 baseAP = 0, ap_stat = 0, additionalAP = 3; + if (temp_str > 150) + baseAP = temp_str - 150; + + if (temp_str == 160) + baseAP--; + + temp_str += GetStatBonusTotal(STAT_STR); + + + + m_sMaxWeight = ((((GetStatWithItemBonus(STAT_STR) + GetLevel()) * 50) + m_sMaxWeightBonus) * (m_bMaxWeightAmount <= 0 ? 1 : m_bMaxWeightAmount / 100))/2; + + if (isRogue()) + { + ap_stat = temp_dex; + } + else + { + ap_stat = temp_str; + additionalAP += baseAP; + } + if (isWarrior() || isPriest() || isKurian()) + { + m_sTotalHit = (uint16)((0.010f * sItemDamage * (ap_stat + 40)) + (hitcoefficient * sItemDamage * GetLevel() * ap_stat)); + m_sTotalHit = (m_sTotalHit + additionalAP) * (100 + m_byAPBonusAmount) / 100; + } + if(isRogue()) + { + m_sTotalHit = (uint16)((0.007f * sItemDamage * (ap_stat + 40)) + (hitcoefficient * sItemDamage * GetLevel() * ap_stat)); + m_sTotalHit = (m_sTotalHit + additionalAP) * (100 + m_byAPBonusAmount) / 100; + } + else if(isMage()) + { + m_sTotalHit = (uint16)((0.005f * sItemDamage * (ap_stat + 40)) + (hitcoefficient * sItemDamage * GetLevel())); + m_sTotalHit = (m_sTotalHit + additionalAP) * (100 + m_byAPBonusAmount) / 100; + } + m_sTotalHit = (m_sTotalHit + additionalAP) * (100 + m_byAPBonusAmount) / 100; + + m_sTotalAc = (short)(p_TableCoefficient->AC * (GetLevel() + m_sItemAc)); + if (m_sACPercent <= 0) + m_sACPercent = 100; + m_sTotalAc = m_sTotalAc * m_sACPercent / 100; + + m_fTotalHitrate = ((1 + p_TableCoefficient->Hitrate * GetLevel() * temp_dex ) * m_sItemHitrate/100 ) * (m_bHitRateAmount/100); + + m_fTotalEvasionrate = ((1 + p_TableCoefficient->Evasionrate * GetLevel() * temp_dex ) * m_sItemEvasionrate/100) * (m_sAvoidRateAmount/100); + + + + SetMaxHp(); + SetMaxMp(); + + if (isKurian()) + SetMaxSp(); + + uint8 bDefenseBonus = 0, bResistanceBonus = 0; + + // Reset resistance bonus + m_bResistanceBonus = 0; + + // Apply passive skill bonuses + // NOTE: This is how it's done officially (we should really clean this up) + // Passive bonuses do NOT stack. + if (isWarrior() || isKurian()) + { + // NOTE: These may need updating (they're based on 1.298 stats) + if (CheckSkillPoint(PRO_SKILL2, 5, 14)) + bDefenseBonus = 20; + else if (CheckSkillPoint(PRO_SKILL2, 15, 34)) + bDefenseBonus = 30; + else if (CheckSkillPoint(PRO_SKILL2, 35, 54)) + bDefenseBonus = 40; + else if (CheckSkillPoint(PRO_SKILL2, 55, 69)) + bDefenseBonus = 50; + else if (CheckSkillPoint(PRO_SKILL2, 70, 83)) + { + // Level 70 skill quest + if (V3_CheckExistEvent(51, 2)) + bDefenseBonus = 60; + else + bDefenseBonus = 50; + } + + + // Resist: [Passive]Increase all resistance by 30. If a shield is not equipped, the effect will decrease by half. + if (CheckSkillPoint(PRO_SKILL2, 10, 19)) + bResistanceBonus = 30; + // Endure: [Passive]Increase all resistance by 60. If a shield is not equipped, the effect will decrease by half. + else if (CheckSkillPoint(PRO_SKILL2, 20, 39)) + bResistanceBonus = 60; + // Immunity: [Passive]Increase all resistance by 90. If a shield is not equipped, the effect will decrease by half. + else if (CheckSkillPoint(PRO_SKILL2, 40, 83)) + bResistanceBonus = 90; + + // If a shield's not equipped, bonuses are decreased by half. + _ITEM_TABLE *pLeftHand = GetItemPrototype(LEFTHAND); + if (pLeftHand == nullptr || !pLeftHand->isShield()) + { + bResistanceBonus /= 2; + bDefenseBonus /= 2; + } + + m_bResistanceBonus = bResistanceBonus; + m_sTotalAc += bDefenseBonus * m_sTotalAc / 100; + } + + // Mastered warriors / mastered priests + if (CheckClass(6, 12)) + { + // Boldness/Daring: [Passive]Increase your defense by 20% when your HP is down to 30% or lower. + if (m_sHp < 30 * m_iMaxHp / 100) + m_sTotalAc += 20 * m_sTotalAc / 100; + } + + else if (isRogue()) + { + // Valor: [Passive]Increase your resistance by 50 when your HP is down to 30% or below. + if (m_sHp < 30 * m_iMaxHp / 100) + m_bResistanceBonus += 50; + } + + if (m_bAddWeaponDamage > 0) + ++m_sTotalHit; + + if (m_sAddArmourAc > 0 || m_bPctArmourAc > 100) + ++m_sTotalAc; + + uint8 bSta = GetStat(STAT_STA); + if (bSta > 100) + { + m_sTotalAc += bSta - 100; + } + + uint8 bInt = GetStat(STAT_INT); + if (bInt > 100) + m_bResistanceBonus += (bInt - 100) / 2; + + // TODO: Transformation stats need to be applied here + ApplyAchieveSkillBonuses(GetSkillTitle(),2); + + if (bSendPacket) + SendItemMove(2); + + // Update the AI server + Send2AI_UserUpdateInfo(); +} + +/** +* @brief Sends the target's HP to the player. +* +* @param echo Client-based flag that we must echo back to the client. +* Set to 0 if not responding to the client. +* @param tid The target's ID. +* @param damage The amount of damage taken on this request, 0 if it does not apply. +*/ +void CUser::SendTargetHP( uint8 echo, int tid, int damage ) +{ + int hp = 0, maxhp = 0; + + Unit *pTarget = nullptr; + + if (tid >= NPC_BAND) + { + if (g_pMain->m_bPointCheckFlag == false) return; + CNpc *pNpc = g_pMain->GetNpcPtr(tid); + if (pNpc == nullptr) + return; + + if(pNpc->GetZoneID() != GetZoneID()) + return; + + hp = pNpc->m_iHP; + maxhp = pNpc->m_iMaxHP; + pTarget = pNpc; + } + else if ( tid < MAX_USER) + { + CUser *pUser = g_pMain->GetUserPtr(tid); + if (pUser == nullptr + || pUser->isDead() + || !pUser->isInGame() + || pUser->GetZoneID() != GetZoneID()) + return; + + hp = pUser->m_sHp; + maxhp = pUser->m_iMaxHp; + pTarget = pUser; + }else + { + hp = 15; + maxhp = 15; + } + + Packet result(WIZ_TARGET_HP); + result << uint16(tid) << echo << maxhp << hp << uint16(damage); + Send(&result); +} + +/** +* @brief Handler for opening a loot box. +* +* @param pkt The packet. +*/ +void CUser::BundleOpenReq(Packet & pkt) +{ + Packet result(WIZ_BUNDLE_OPEN_REQ); + uint32 bundle_index = pkt.read(); + C3DMap* pMap = GetMap(); + + if (pMap == nullptr + || bundle_index < 1 + || isDead()) // yeah, we know people abuse this. We do not care! + return; + + Guard lock(pMap->m_RegionItemArray.m_lock); + _LOOT_BUNDLE *pBundle = pMap->m_RegionItemArray.GetData(bundle_index); + if (pBundle == nullptr) + { + result << bundle_index << uint8(0); + Send(&result); + return; + } + + CUser *pBundleUser = g_pMain->GetUserPtr(pBundle->LooterID); + + if(pBundleUser == nullptr) + return; + + if(pBundleUser != this + && !pBundleUser->isInParty()) + return; + + if(!isInRange(pBundle->x, pBundle->z, MAX_LOOT_RANGE) + || (pBundleUser != this && !isInSameParty(pBundleUser))) + return; + + + result << bundle_index << uint8(pBundle->ItemsCount > 0 ? 1 : 0); + + if(pBundle->ItemsCount < 1) + goto failed_return; + + + // The client expects all n items, so if there's any excess... + // send placeholder data for them. + for (uint32 i = 0; i < NPC_HAVE_ITEM_LIST; i++) + result << pBundle->Items[i].nItemID << pBundle->Items[i].sCount; + +failed_return: + Send(&result); +} + +/** +* @brief Handler for looting an item from a loot box. +* +* @param pkt The packet. +*/ +void CUser::ItemGet(Packet & pkt) +{ + enum LootErrorCodes + { + LootError = 0, + LootSolo = 1, + LootPartyCoinDistribution = 2, + LootPartyNotification = 3, + LootPartyItemGivenAway = 4, + LootPartyItemGivenToUs = 5, + LootNoRoom = 6 + }; + + Packet result(WIZ_ITEM_GET); + uint32 nBundleID, nItemID; + uint16 SlotIndex; + _LOOT_BUNDLE * pBundle = nullptr; + _LOOT_ITEM * pItem = nullptr; + C3DMap * pMap = GetMap(); + CUser * pReceiver = nullptr; + + if(pMap == nullptr) + return; + + pkt >> nBundleID >> nItemID >> SlotIndex; + + // Lock the array while we process this request + // to prevent any race conditions between getting/removing the items... + Guard lock(pMap->m_RegionItemArray.m_lock); + + if((pBundle = pMap->m_RegionItemArray.GetData(nBundleID)) == nullptr) + goto fail_return; + + CUser *pBundleUser = g_pMain->GetUserPtr(pBundle->LooterID); + + if(pBundleUser == nullptr) + return; + + if(pBundleUser != this && !pBundleUser->isInParty()) + return; + + if(!isInRange(pBundle->x, pBundle->z, MAX_LOOT_RANGE) + || (pBundleUser != this && !isInSameParty(pBundleUser))) + return; + + // Are we in any region? skype gitti abi + if (isTrading() + || isMerchanting() + || isMining() + || isDead() + || SlotIndex < 0 + || SlotIndex > NPC_HAVE_ITEM_LIST + || !isInRange(pBundle->x, pBundle->z, MAX_LOOT_RANGE)) + goto fail_return; + + + if(pBundle->ItemsCount == 0) + goto fail_return; + + pItem = &pBundle->Items[SlotIndex]; + + // Attempt to loot the specified item. + // If looting is possible, we can then give the receiver the item. + if (pItem == nullptr + || pItem->sCount == 0 + || (pReceiver = GetLootUser(pBundle, pItem)) == nullptr) + goto fail_return; + + // If we're dealing with coins, either: + // - we're not in a party, in which case the coins go to us. + // - we're in a party, in which case we need to distribute the coins (proportionately, by their level). + // Error handling should already have occurred in GetLootUser(). + if (nItemID == ITEM_GOLD) + { + _PARTY_GROUP * pParty; + uint32 pGold = 0; + // Not in a party, so all the coins go to us. + if (!isInParty() + || (pParty = g_pMain->GetPartyPtr(GetPartyID())) == nullptr) + { + // NOTE: Coins have been checked already. + if (GetPremiumProperty(PremiumNoahPercent) > 0) + pGold = pItem->sCount * (100 + GetPremiumProperty(PremiumNoahPercent)) / 100; + else + pGold = pItem->sCount; + + GoldGain(pGold, false, true); + + result << uint8(LootSolo) << nBundleID << int8(-1) << nItemID << pItem->sCount << GetCoins(); + pReceiver->Send(&result); + GoldEvent(pGold); + } + // In a party, so distribute the coins relative to their level. + else + { + uint16 sumOfLevels = 0; + vector partyUsers; + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + sumOfLevels += pUser->GetLevel(); + partyUsers.push_back(pUser); + } + + if (partyUsers.empty()) + goto fail_return; + + BOOST_FOREACH (auto itr, partyUsers) + { + if ((itr)->isDead() || + !(itr)->isInRange(pBundle->x, pBundle->z, RANGE_50M)) + continue; + + // Calculate the number of coins to give the player + // Give each party member coins relative to their level. + int coins = (int)(pItem->sCount * (float)((itr)->GetLevel() / (float)sumOfLevels)); + + if ((itr)->GetPremiumProperty(PremiumNoahPercent) > 0) + pGold = coins * (100 + (itr)->GetPremiumProperty(PremiumNoahPercent)) / 100; + else + pGold = coins; + + (itr)->GoldGain(pGold, false, true); + + // Let each player know they received coins. + result.clear(); + result << uint8(LootPartyCoinDistribution) << nBundleID << uint8(-1) << nItemID << (itr)->GetCoins(); + (itr)->Send(&result); + + (itr)->GoldEvent(pGold); + } + } + } // end of coin distribution + // If the item selected is actually an item... + else + { + if (pReceiver->isDead() || + !pReceiver->isInRange(pBundle->x, pBundle->z, RANGE_50M)) + (pReceiver = GetLootUser(pBundle, pItem)); + + // Retrieve the position for this item. + int8 bDstPos = pReceiver->FindSlotForItem(pItem->nItemID, pItem->sCount); + + // This should NOT happen unless their inventory changed after the check. + // The item won't be removed until after processing's complete, so it's OK to error out here. + if (bDstPos < 0) + goto fail_return; + + // Ensure there's enough room in this user's inventory. + if (!pReceiver->CheckWeight(pItem->nItemID, pItem->sCount)) + { + result << uint8(LootNoRoom); + pReceiver->Send(&result); + return; // don't need to remove the item, so stop here. + } + + // Add item to receiver's inventory + _ITEM_TABLE * pTable = g_pMain->GetItemPtr(nItemID); // note: already looked up in GetLootUser() so it definitely exists + _ITEM_DATA * pDstItem = &pReceiver->m_sItemArray[bDstPos]; + + pDstItem->nNum = pItem->nItemID; + pDstItem->sCount += pItem->sCount; + + if (pDstItem->sCount == pItem->sCount) + { + pDstItem->nSerialNum = g_pMain->GenerateItemSerial(); + + // NOTE: Obscure special items that act as if their durations are their stack sizes + // will be broken here, but usual cases are typically only given in the PUS. + // Will need to revise this logic (rather, shift it out into its own method). + if(pTable == nullptr) + goto fail_return; + else + pDstItem->sDuration = pTable->m_sDuration; + } + + if (pDstItem->sCount > MAX_ITEM_COUNT) + pDstItem->sCount = MAX_ITEM_COUNT; + + result << uint8(pReceiver == this ? LootSolo : LootPartyItemGivenToUs) + << nBundleID + << uint8(bDstPos - SLOT_MAX) + << pDstItem->nNum << pDstItem->sCount + << pReceiver->GetCoins(); + + pReceiver->Send(&result); + + pReceiver->SetUserAbility(false); + pReceiver->SendItemWeight(); + + bool HasObtained = false; + + if (pTable->m_ItemType >= 4 && pTable->m_ItemType != 5) + HasObtained = true; + + if(HasObtained && pTable->Getnum() != ITEM_MONSTER_STONE) //Degerli ürün + { + Packet drop(WIZ_LOGOSSHOUT,uint8(0x02)); + drop.SByte(); + drop << uint8(0x04) << pReceiver->GetName() << pTable->m_iNum; + g_pMain->Send_All(&drop); + } + // Now notify the party that we've looted, if applicable. + if (isInParty()) + { + result.clear(); + result << uint8(LootPartyNotification) << nBundleID << nItemID << pReceiver->GetName(); + g_pMain->Send_PartyMember(GetPartyID(), &result); + + // If we're not the receiver, i.e. round-robin gave it to someone else + // we should let us know that this was done (otherwise we'll be like, "GM!!? WHERE'S MY ITEM?!?") + if (pReceiver != this) + { + result.clear(); + result << uint8(LootPartyItemGivenAway); + Send(&result); + } + } + } + + // Everything is OK, we have a target. Now remove the item from the bundle. + // If there's nothing else in the bundle, remove the bundle from the region. + GetMap()->RegionItemRemove(pBundle, pItem); + return; + +fail_return: + // Generic error + result << uint8(LootError); + Send(&result); +} + +/** +* @brief Gets the user to give the loot to. +* +* @param pBundle The loot bundle. +* @param pItem The item being looted. +* +* @return null if it fails, else the loot user. +*/ +CUser * CUser::GetLootUser(_LOOT_BUNDLE * pBundle, _LOOT_ITEM * pItem) +{ + CUser * pReceiver = nullptr; + + if (pBundle == nullptr + || pItem == nullptr) + return nullptr; + + // If we're dealing with coins, either: + // - we're in a party, in which case we need to distribute the coins (proportionately, by their level). + // No checks are necessary here (the coins will be miniscule, so if there's no room we can safely ignore them) + // - we're not in a party, in which case the coins go to us. + // In this case, we MUST check to be sure we have room for the coins. + if (pItem->nItemID == ITEM_GOLD) + { + // NOTE: No checks are necessary if we're in a party. + if (!isInParty()) + { + // We're not in a party, so we must check to be + // sure we have enough room for the coins. + if ((GetCoins() + pItem->sCount) > COIN_MAX) + return nullptr; + } + + // The caller will perform the distribution. + return this; + } + + // If we're dealing with items: + // - if we're in a party: + // distribute the item to the next player in the party in round-robin fashion, + // whilst ensuring that user can actually hold the item. + // - if not in a party: + // simply ensure that we can hold the item. + if (isInParty()) + { + // This ensures the user can hold the item. + return GetItemRoutingUser(pItem->nItemID, pItem->sCount, pBundle); + } + else + { + // NOTE: We check to see if they can hold this item in the caller. + pReceiver = this; + } + + return pReceiver; +} +/** +* @brief Packet handler for various player state changes. +* +* @param pkt The packet. +*/ +void CUser::StateChange(Packet & pkt) +{ + if (isDead()) + return; + + uint8 bType = pkt.read(), buff; + uint32 nBuff = pkt.read(); + buff = *(uint8 *)&nBuff; // don't ask + m_iTotalTrainingExp = 0; + m_lastTrainingTime = 0; + + + switch (bType) + { + case 1: + if (buff != USER_STANDING && buff != USER_SITDOWN) + return; + break; + + case 3: + // /unview | /view + if ((buff == 1 || buff == 5) && !isGM()) + return; + break; + + case 4: // emotions + switch (buff) + { + case 1: // Greeting 1-3 + case 2: + case 3: + case 11: // Provoke 1-3 + case 12: + case 13: + case 14: // additional animations randomly used when hitting spacebar + case 15: + break; // don't do anything with them (this can be handled neater, but just for testing purposes), just make sure they're allowed + + default: + printf("[SID=%d] StateChange: %s tripped (bType=%d, buff=%d, nBuff=%d) somehow, HOW!?\n", + GetSocketID(), GetName().c_str(), bType, buff, nBuff); + break; + } + break; + + case 5: + if (!isGM()) + return; + break; + + case 7: // invisibility flag, we don't want users overriding server behaviour. + return; + + default: + printf("[SID=%d] StateChange: %s tripped (bType=%d, buff=%d, nBuff=%d) somehow, HOW!?\n", + GetSocketID(), GetName().c_str(), bType, buff, nBuff); + return; + } + + StateChangeServerDirect(bType, nBuff); +} + +/** +* @brief Changes a player's state directly from the server +* without any checks. +* +* @param bType State type. +* @param nBuff The buff/flag (depending on the state type). +*/ +void CUser::StateChangeServerDirect(uint8 bType, uint32 nBuff) +{ + uint8 buff = *(uint8 *)&nBuff; // don't ask + switch (bType) + { + case 1: + m_bResHpType = buff; + break; + + case 2: + m_bNeedParty = buff; + break; + + case 3: + m_nOldAbnormalType = m_bAbnormalType; + + // If we're a GM, we need to show ourselves before transforming. + // Otherwise the visibility state is completely desynced. + if (isGM()) + StateChangeServerDirect(5, 1); + + m_bAbnormalType = nBuff; + break; + + case 5: + m_bAbnormalType = nBuff; + break; + + case 6: + nBuff = m_bPartyLeader; // we don't set this here. + break; + + case 7: + UpdateVisibility((InvisibilityType)buff); + break; + + case 8: // beginner quest + break; + + case 14: + break; + } + + Packet result(WIZ_STATE_CHANGE); + result << GetSocketID() << bType << nBuff; + SendToRegion(&result,nullptr,GetEventRoom()); +} + +/** +* @brief Takes a target's loyalty points (NP) +* and rewards some/all to the killer (current user). +* +* @param tid The target's ID. +* @param bonusNP Bonus NP to be awarded to the killer as-is. +*/ +void CUser::LoyaltyChange(int16 tid, uint16 bonusNP /*= 0*/) +{ + short loyalty_source = 0, loyalty_target = 0; + + if (GetMap() == nullptr) + return; + + // TODO: Rewrite this out, it shouldn't handle all cases so generally like this + if (!GetMap()->isNationPVPZone() && !g_pMain->m_byBattleSiegeWarOpen + || GetZoneID() == ZONE_DESPERATION_ABYSS + || GetZoneID() == ZONE_HELL_ABYSS + || GetZoneID() == ZONE_DRAGON_CAVE + || GetZoneID() == ZONE_CAITHAROS_ARENA) + return; + + CUser* pTUser = g_pMain->GetUserPtr(tid); + if (pTUser == nullptr) + return; + + if (pTUser->GetNation() != GetNation() || g_pMain->m_byBattleSiegeWarOpen) + { + if (pTUser->GetLoyalty() == 0) + { + loyalty_source = 0; + loyalty_target = 0; + } + // Ardream + else if (pTUser->GetZoneID() == ZONE_ARDREAM) + { + loyalty_source = g_pMain->m_Loyalty_Ardream_Source; + loyalty_target = g_pMain->m_Loyalty_Ardream_Target; + } + // Ronark Land Base + else if (pTUser->GetZoneID() == ZONE_RONARK_LAND_BASE) + { + loyalty_source = g_pMain->m_Loyalty_Ronark_Land_Base_Source; + loyalty_target = g_pMain->m_Loyalty_Ronark_Land_Base_Target; + } + else if (pTUser->GetZoneID() == ZONE_RONARK_LAND) + { + loyalty_source = g_pMain->m_Loyalty_Ronark_Land_Source; + loyalty_target = g_pMain->m_Loyalty_Ronark_Land_Target; + } + else if (pTUser->GetZoneID() == ZONE_PVP_EVENT) + { + loyalty_source = g_pMain->m_Loyalty_Mini_Pvp_Source; + loyalty_target = g_pMain->m_Loyalty_Mini_Pvp_Target; + } + else if (GetMap()->isWarZone() || GetZoneID() < (ZONE_ELMORAD+1)) + { + loyalty_source = g_pMain->m_Loyalty_Ronark_Land_Source; + loyalty_target = g_pMain->m_Loyalty_Ronark_Land_Target; + } + // Other zones + else + { + loyalty_source = g_pMain->m_Loyalty_Other_Zone_Source; + loyalty_target = g_pMain->m_Loyalty_Other_Zone_Target; + } + } + + // Include any bonus NP (e.g. rival NP bonus) + loyalty_source += bonusNP; + + SendLoyaltyChange(loyalty_source, true, false, pTUser->GetMonthlyLoyalty() > 0 ? true : false); + + pTUser->SendLoyaltyChange(loyalty_target, true, false, pTUser->GetMonthlyLoyalty() > 0 ? true : false); + + AchieveType4(2); + // TODO: Move this to a better place (death handler, preferrably) + // If a war's running, and we died/killed in a war zone... (this method should NOT be so tied up in specifics( + if (g_pMain->m_byBattleOpen && GetMap()->isWarZone()) + { + // Update the casualty count + if (pTUser->GetNation() == KARUS) + g_pMain->m_sKarusDead++; + else + g_pMain->m_sElmoradDead++; + } +} + +void CUser::SpeedHackUser() +{ + if (!isInGame() || isGM()) + return; + + int16 nMaxSpeed = 45; + + if (GetFame() == COMMAND_CAPTAIN || isRogue()) + nMaxSpeed = 92; + else if (isWarrior() || isMage() || isPriest() || isKurian()) + nMaxSpeed = 69; + + if (m_sSpeed > nMaxSpeed /*|| m_sSpeed < -nMaxSpeed*/) + { + DateTime time; + Disconnect(); + g_pMain->SendFormattedNotice("%s is currently disconnect for speed hack.",Nation::ALL,GetName().c_str()); + g_pMain->WriteCheatLogFile(string_format("[ SpeedHack - %d:%d:%d ] %s is Disconnected.\n", time.GetHour(),time.GetMinute(),time.GetSecond(),GetName().c_str())); + } +} + +void CUser::UserLookChange(int pos, int itemid, int durability) +{ + if (pos >= SLOT_MAX) // let's leave it at this for the moment, the updated check needs considerable reworking + return; + + Packet result(WIZ_USERLOOK_CHANGE); + result << GetSocketID() << uint8(pos) << itemid << uint16(durability); + + SendToRegion(&result, this, GetEventRoom()); +} + +void CUser::SendNotice() +{ + Packet result(WIZ_NOTICE); + uint8 count = 0; + + result << uint8(2); // new-style notices (top-right of screen) + result << count; // placeholder the count + + // Use first line for header, 2nd line for data, 3rd line for header... etc. + // It's most likely what they do officially (as usual, | is their line separator) + for (int i = 0; i < 10; i += 2) + AppendNoticeEntry(result, count, g_pMain->m_ppNotice[i + 1], g_pMain->m_ppNotice[i]); + + AppendExtraNoticeData(result, count); + result.put(1, count); // replace the placeholdered line count + + Send(&result); +} +void CUser::TopSendNotice() +{ + Packet result(WIZ_NOTICE); + uint8 count = 0;//uint8 + + result << uint8(1); // Old-style notices (top-right of screen) + result << count; // placeholder the + result.SByte(); + // Use first line for header, 2nd line for data, 3rd line for header... etc. + // It's most likely what they do officially (as usual, | is their line separator) + for (int i = 0; i < 20; i++) + AppendNoticeEntryOld(result, count, g_pMain->m_peNotice[i]); + + AppendExtraNoticeData(result, count); + result.put(1, count); // replace the placeholdered line count + Send(&result); +} +void CUser::AppendNoticeEntryOld(Packet & pkt, uint8 & elementCount, const char * message) +{ + if (message == nullptr || *message == '\0') + return; + + pkt << message; + elementCount++; +} +void CUser::AppendNoticeEntry(Packet & pkt, uint8 & elementCount, const char * message, const char * title) +{ + if (message == nullptr || *message == '\0' || title == nullptr || *title == '\0') + return; + + pkt << title << message; + elementCount++; +} + +void CUser::AppendExtraNoticeData(Packet & pkt, uint8 & elementCount) +{ + string message; + + if (g_pMain->m_byExpEventAmount > 0) + { + g_pMain->GetServerResource(IDS_EXP_REPAY_EVENT, &message, g_pMain->m_byExpEventAmount); + AppendNoticeEntry(pkt, elementCount, message.c_str(), "EXP Event"); + } + + if (g_pMain->m_byCoinEventAmount > 0) + { + g_pMain->GetServerResource(IDS_MONEY_REPAY_EVENT, &message, g_pMain->m_byCoinEventAmount); + AppendNoticeEntry(pkt, elementCount, message.c_str(), "Noah Event"); + } + + if (g_pMain->m_byNPEventAmount > 0) + { + g_pMain->GetServerResource(IDS_NP_REPAY_EVENT, &message, g_pMain->m_byNPEventAmount); + AppendNoticeEntry(pkt, elementCount, message.c_str(), "NP Event"); + } + + if (m_FlashExpBonus > 0) + { + g_pMain->GetServerResource(IDS_EXP_REPAY_FLASH, &message, m_FlashExpBonus); + AppendNoticeEntry(pkt,elementCount,message.c_str(),"EXP Flash"); + } + + if ( m_FlashDcBonus > 0) + { + g_pMain->GetServerResource(IDS_DC_REPAY_FLASH, &message, m_FlashDcBonus); + AppendNoticeEntry(pkt,elementCount,message.c_str(),"DC Flash"); + } + + if ( m_FlashWarBonus > 0) + { + g_pMain->GetServerResource(IDS_WAR_REPAY_FLASH, &message, (m_FlashWarBonus/10)); + AppendNoticeEntry(pkt,elementCount,message.c_str(),"WAR Flash"); + } + + if(g_pMain->KCaktifmi) + g_pMain->SendHelpDescription(this,"You can transform NP to KC with chat '+nptokc '."); + + if(g_pMain->KCaktifmi2) + g_pMain->SendHelpDescription(this,"You can transform Gold to KC with chat '+goldtokc '."); + + +} + +void CUser::SkillPointChange(Packet & pkt) +{ + uint8 type = pkt.read(); + Packet result(WIZ_SKILLPT_CHANGE, type); + // invalid type + if (type < SkillPointCat1 || type > SkillPointMaster + // not enough free skill points to allocate + || m_bstrSkill[0] < 1 + // restrict skill points per category to your level + || m_bstrSkill[type] + 1 > GetLevel() + // we need our first job change to assign skill points + || (GetClass() % 100) <= 4 + // to set points in the mastery category, we need to be mastered. + || (type == SkillPointMaster && (!isMastered() + // force a limit of MAX_LEVEL - 60 (the level you can do the mastery quest) + // on the master skill category, so the limit's 23 skill points with a level 83 cap. + || m_bstrSkill[type] >= (MAX_LEVEL - 60) + // allow only 1 point in the master category for every level above 60. + || m_bstrSkill[type] >= (GetLevel() - 60)))) + + { + result << m_bstrSkill[type]; // only send the packet on failure + Send(&result); + return; + } + + --m_bstrSkill[0]; + ++m_bstrSkill[type]; + + if(isKurianPortu() && (type == SkillPointCat2 )) + { + SetUserAbility(); + } +} + +void CUser::UpdateGameWeather(Packet & pkt) +{ + if (!isGM()) // is this user a GM? + return; + + if (pkt.GetOpcode() == WIZ_WEATHER) + { + pkt >> g_pMain->m_byWeather >> g_pMain->m_sWeatherAmount; + } + else + { + uint16 y, m, d; + pkt >> y >> m >> d >> g_pMain->m_sHour >> g_pMain->m_sMin; + } + Send(&pkt); // pass the packet straight on +} + +void CUser::GetUserInfoForAI(Packet & result) +{ + Guard lock(_unitlock); + + result.SByte(); + result << GetSocketID() + << GetName() << GetZoneID() << GetNation() << GetLevel() + << m_sHp << m_sMp + << m_sTotalHit << m_bAttackAmount + << m_sTotalAc << m_sACAmount + << m_fTotalHitrate << m_fTotalEvasionrate + << m_sItemAc + << GetPartyID() << GetAuthority() + << m_bInvisibilityType + << uint32(m_equippedItemBonuses.size()); + + BOOST_FOREACH (auto itr, m_equippedItemBonuses) + { + result << itr.first << uint32(itr.second.size()); // slot ID & number of bonuses + BOOST_FOREACH (auto bonusItr, itr.second) + result << bonusItr.first << bonusItr.second; // bonus type, bonus amount + } +} + +void CUser::CountConcurrentUser() +{ + if (!isGM()) + return; + + uint16 count = 0; + SessionMap sessMap = g_pMain->m_socketMgr.GetActiveSessionMap(); + BOOST_FOREACH (auto itr, sessMap) + { + if (TO_USER(itr.second)->isInGame()) + count++; + } + + Guard lock(g_pMain->m_BotcharacterNameLock); + count += g_pMain->m_BotcharacterNameMap.size(); + + Packet result(WIZ_CONCURRENTUSER); + result << count; + Send(&result); +} + +/** +* @brief Takes a target's loyalty points (NP) +* and rewards some/all to the killer's party (current user). +* +* @param tid The target's ID. +* @param bonusNP Bonus NP to be awarded to the killer's party as-is. +*/ +void CUser::LoyaltyDivide(int16 tid, uint16 bonusNP /*= 0*/) +{ + if (m_bZone == ZONE_SNOW_BATTLE + || m_bZone == ZONE_DESPERATION_ABYSS + || m_bZone == ZONE_HELL_ABYSS + || m_bZone == ZONE_DRAGON_CAVE + || m_bZone == ZONE_CAITHAROS_ARENA) + return; + int16 loyalty_source = 0, loyalty_target = 0; + uint8 total_member = 0; + + if (!isInParty()) + return; + + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return; + + CUser* pTUser = g_pMain->GetUserPtr(tid); + if (pTUser == nullptr) + return; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + total_member++; + } + + if (total_member <= 0) + return; + + // This is for the Event Battle on Wednesday :( + if (g_pMain->m_byBattleOpen && GetZoneID() == (ZONE_BATTLE_BASE + g_pMain->m_byBattleZone)) + { + if (pTUser->GetNation() == KARUS) + g_pMain->m_sKarusDead++; + else + g_pMain->m_sElmoradDead++; + } + + if (pTUser->GetNation() != GetNation() || GetZoneID() == ZONE_DELOS) // Different nations!!! + { + if (pTUser->GetLoyalty() == 0) // No cheats allowed... + { + loyalty_source = 0; + loyalty_target = 0; + } + else + { + loyalty_source = GetLoyaltyDivideSource(total_member); + loyalty_target = GetLoyaltyDivideTarget(); + + if (loyalty_source == 0) + { + loyalty_source = 0; + loyalty_target = 0; + } + } + } + else + return; + + for (int j = 0; j < MAX_PARTY_USERS; j++) // Distribute loyalty amongst party members. + { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[j]); + if (pUser == nullptr) + continue; + + if(pUser->isDead()) + continue; + + if (pUser->isAlive() && ((pUser->hasRival() && !pUser->hasRivalryExpired() && (pUser->GetRivalID() == pTUser->GetID()) + || (pUser->GetRivalID() == pTUser->GetID() && pUser->isPriest())))) + { + pUser->SendLoyaltyChange(loyalty_source + bonusNP, true, false, pTUser->GetMonthlyLoyalty() > 0 ? true : false); + pUser->RemoveRival(); + } + else + pUser->SendLoyaltyChange(loyalty_source, true, false, pTUser->GetMonthlyLoyalty() > 0 ? true : false); + } + + pTUser->SendLoyaltyChange(loyalty_target, true, false, pTUser->GetMonthlyLoyalty() > 0 ? true : false); +} + +int16 CUser::GetLoyaltyDivideSource(uint8 totalmember) +{ + int16 nBaseLoyalty = 0; + + if (GetZoneID() == ZONE_ARDREAM) + nBaseLoyalty = g_pMain->m_Loyalty_Ardream_Source; + else if (GetZoneID() == ZONE_RONARK_LAND_BASE) + nBaseLoyalty = g_pMain->m_Loyalty_Ronark_Land_Base_Source; + else if (GetZoneID() == ZONE_RONARK_LAND) + nBaseLoyalty = g_pMain->m_Loyalty_Ronark_Land_Source; + else if (GetZoneID() == ZONE_BORDER_DEFENSE_WAR) + nBaseLoyalty = (g_pMain->m_Loyalty_Other_Zone_Source / 5); + else + nBaseLoyalty = g_pMain->m_Loyalty_Other_Zone_Source; + + int16 nMaxLoyalty = (nBaseLoyalty * 3) - 2; + int16 nMinLoyalty = nMaxLoyalty / MAX_PARTY_USERS; + int16 nLoyaltySource = nMinLoyalty; + + if (nLoyaltySource > 0) + { + for (int i = 0; i < (MAX_PARTY_USERS - totalmember); i++) + nLoyaltySource += 2; + } + + return nLoyaltySource -1; +} + +int16 CUser::GetLoyaltyDivideTarget() +{ + if (GetZoneID() == ZONE_ARDREAM) + return g_pMain->m_Loyalty_Ardream_Target; + else if (GetZoneID() == ZONE_RONARK_LAND_BASE) + return g_pMain->m_Loyalty_Ronark_Land_Base_Target; + else if (GetZoneID() == ZONE_RONARK_LAND) + return g_pMain->m_Loyalty_Ronark_Land_Target; + else if (GetZoneID() == ZONE_BORDER_DEFENSE_WAR) + return (g_pMain->m_Loyalty_Other_Zone_Target / 5); + else + return g_pMain->m_Loyalty_Other_Zone_Target; + + return 0; +} + +void CUser::ItemWoreOut(int type, int damage) +{ + static uint8 ArmourTypes[] = {RIGHTHAND, LEFTHAND, HEAD, BREAST, LEG, GLOVE, FOOT}; + uint8 nTotalSlots = 0; + + int iWorerate = (int)sqrt(damage / 10.0f); + if (iWorerate == 0) + return; + + // Attack ise + if (type == ATTACK) + nTotalSlots = 2; + // Defans, Tamir v.b. Özel Durumlar + else if (type == DEFENCE + || type == REPAIR_ALL + || type == ACID_ALL) + nTotalSlots = sizeof(ArmourTypes) / sizeof(*ArmourTypes); // All Slots + + for (uint8 i = 0; i < nTotalSlots; i++) + { + uint8 nSlot = ArmourTypes[i]; + _ITEM_DATA *pItem = GetItem(nSlot); + if (pItem == nullptr + || pItem->nNum == 0) + continue; + + _ITEM_TABLE *pTable = nullptr; + + // Magic Hammer veya Özel Magic Hammer Değil ise + if ((!(type == REPAIR_ALL + || type == ACID_ALL) && pItem->sDuration <= 0) + // İtem Yok ise + || (pTable = g_pMain->GetItemPtr(pItem->nNum)) == nullptr + // Sağ El veya Sol ise + || (type == ATTACK && ((nSlot == LEFTHAND || nSlot == RIGHTHAND) && pTable->m_bSlot == ItemSlot1HLeftHand)) + // Tamir Edilmeyen Eşya ise + || (type == REPAIR_ALL && pTable->m_iSellPrice == SellTypeNoRepairs)) + continue; + + if (type == REPAIR_ALL + || type == ACID_ALL) + { + if ((pItem->sDuration + damage) > pTable->m_sDuration) + damage = pTable->m_sDuration; + + pItem->sDuration = pTable->m_sDuration; + SendDurability(nSlot, pItem->sDuration); + UserLookChange(nSlot, pItem->nNum, pItem->sDuration); + + continue; + } + + int iBeforePercent = (int)((pItem->sDuration / (double)pTable->m_sDuration) * 100); + + if (iWorerate > pItem->sDuration) + pItem->sDuration = 0; + else + pItem->sDuration -= iWorerate; + + if (pItem->sDuration < 0) + pItem->sDuration = 0; + + if (pItem->sDuration == 0) + { + SendDurability(nSlot, 0); + SetUserAbility(false); + SendItemMove(1); + continue; + } + + SendDurability(nSlot, pItem->sDuration); + + int iCurrentPercent = (int)((pItem->sDuration / (double)pTable->m_sDuration) * 100); + + if ((iCurrentPercent / 5) != (iBeforePercent / 5)) + { + if ((iCurrentPercent >= 65 && iCurrentPercent < 70) + || (iCurrentPercent >= 25 && iCurrentPercent <= 30)) + UserLookChange(nSlot, pItem->nNum, pItem->sDuration); + } + } +} + +void CUser::SendDurability(uint8 slot, uint16 durability) +{ + Packet result(WIZ_DURATION, slot); + result << durability; + Send(&result); +} + +void CUser::SendItemMove(uint8 subcommand) +{ + Packet result(WIZ_ITEM_MOVE, uint8(1)); + + if (m_bAttackAmount < 1) + m_bAttackAmount = 1; + + // If the subcommand is not error, send the stats. + if (subcommand != 0) + { + result << subcommand + << uint16(m_sTotalHit * m_bAttackAmount / 100) + << uint16(m_sTotalAc + m_sACAmount) + << m_sMaxWeight + << uint8(1) + << m_iMaxHp << m_iMaxMp + << GetStatBonusTotal(STAT_STR) << GetStatBonusTotal(STAT_STA) + << GetStatBonusTotal(STAT_DEX) << GetStatBonusTotal(STAT_INT) + << GetStatBonusTotal(STAT_CHA) + << uint16(((m_sFireR + m_bAddFireR) * m_bPctFireR / 100) + m_bResistanceBonus) + << uint16(((m_sColdR + m_bAddColdR) * m_bPctColdR / 100) + m_bResistanceBonus) + << uint16(((m_sLightningR + m_bAddLightningR) * m_bPctLightningR / 100) + m_bResistanceBonus) + << uint16(((m_sMagicR + m_bAddMagicR) * m_bPctMagicR / 100) + m_bResistanceBonus) + << uint16(((m_sDiseaseR + m_bAddDiseaseR) * m_bPctDiseaseR / 100) + m_bResistanceBonus) + << uint16(((m_sPoisonR + m_bAddPoisonR) * m_bPctPoisonR / 100) + m_bResistanceBonus); + } + Send(&result); +} + +void CUser::HPTimeChange() +{ + m_tHPLastTimeNormal = UNIXTIME; + + if (isDead()) + return; + + int mpPercent = 100; + + if (GetZoneID() == ZONE_SNOW_BATTLE + && g_pMain->m_byBattleOpen == SNOW_BATTLE) + { + HpChange(5); + return; + } + + // For mages with under 30% of HP + if (CheckClass(110, 210) + && m_sMp < (30 * m_iMaxMp / 100)) + mpPercent = 120; + + if (m_bResHpType == USER_STANDING + /* // unknown types + || m_bResHpType == 4 + || m_bResHpType == 5*/) + { + if (m_iMaxMp != m_sMp) + { + MSpChange((int)(((GetLevel() * (1 + GetLevel() / 60.0) + 1) * 0.2) + 3) * mpPercent / 100); + } + } + else if (m_bResHpType == USER_SITDOWN) + { + if(m_lastTrainingTime == 0) + m_lastTrainingTime = UNIXTIME; + + if(m_lastTrainingTime + PLAYER_TRAINING_INTERVAL < UNIXTIME && GetLevel() > 30) + { + uint64 myExp = g_pMain->GetExpByLevel(GetLevel()); + if (GetLevel() >= MAX_LEVEL && m_iExp == myExp || GetRebLevel() > 11) + return; + + m_lastTrainingTime = UNIXTIME; + //uint32 iTrainingExp = ((GetLevel()*15)*53) /60; + uint32 iTrainingExp = ((GetLevel()*15)*53) /120; + + m_iTotalTrainingExp += iTrainingExp; + + ExpChange(iTrainingExp); + + Packet result(WIZ_MINING,uint8(0x12)); + result << uint8(0x03) << m_iTotalTrainingExp; + + Send(&result); + } + if (isGM()) + { + HpChange(m_iMaxHp); + MSpChange(m_iMaxMp); + } + else + { + if (m_iMaxHp != m_sHp) + HpChange((int)(GetLevel() * (1 + GetLevel() / 30.0)) + 3); + + if (m_iMaxMp != m_sMp) + MSpChange((int)(((m_iMaxMp * 5) / ((GetLevel() - 1) + 30 )) + 3) * mpPercent / 100); + } + } +} + +void CUser::HPTimeChangeType3() +{ + if (isDead() + || !m_bType3Flag) + return; + + uint16 totalActiveDurationalSkills = 0, + totalActiveDOTSkills = 0; + bool bIsDOT = false, isUsedGiver = false; + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + MagicType3 * pEffect = &m_durationalSkills[i]; + + if (!pEffect->m_byUsed) + continue; + + if (!pEffect->m_sTo){ + + /// KENDINE USERE + // Has the required interval elapsed before using this skill? + if ((UNIXTIME - pEffect->m_tHPLastTime) >= pEffect->m_bHPInterval) + { + Unit * pUnit = g_pMain->GetUnitPtr(pEffect->m_sSourceID); + + // Reduce the HP + if(!isUsedGiver) + HpChange(pEffect->m_sHPAmount, pUnit); // do we need to specify the source of the DOT? + pEffect->m_tHPLastTime = UNIXTIME; + + if (pEffect->m_sHPAmount < 0) + bIsDOT = true; + + if(pEffect->m_sHPAmount > 0) + isUsedGiver = true; + + // Has the skill expired yet? + if (++pEffect->m_bTickCount == pEffect->m_bTickLimit) + { + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + + // Healing-over-time skills require the type 100 + if (pEffect->m_sHPAmount > 0) + result << uint8(100); + else // Damage-over-time requires 200. + result << uint8(200); + + Send(&result); + + // If the skill inflicts poison damage, remember to remove the poison indicator! + if (pEffect->m_byAttribute == POISON_R) + SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); + + pEffect->Reset(); + } + } + + if (pEffect->m_byUsed) + { + totalActiveDurationalSkills++; + if (pEffect->m_sHPAmount < 0) + totalActiveDOTSkills++; + } + }else{ + //// NPCYE YARATIGA + // Has the required interval elapsed before using this skill? + if ((UNIXTIME - pEffect->m_tHPLastTime) >= pEffect->m_bHPInterval) + { + CNpc * pNpc = g_pMain->GetNpcPtr(pEffect->m_sSourceID); + + if (pNpc == nullptr) + continue; + + // Reduce the HP + pNpc->HpChange(pEffect->m_sHPAmount, this); + pEffect->m_tHPLastTime = UNIXTIME; + + // Has the skill expired yet? + if (++pEffect->m_bTickCount == pEffect->m_bTickLimit) + pEffect->Reset(); + + } + + if (pEffect->m_byUsed) + { + totalActiveDurationalSkills++; + if (pEffect->m_sHPAmount < 0) + totalActiveDOTSkills++; + } + + } + } + + // Have all the skills expired? + if (totalActiveDurationalSkills == 0) + m_bType3Flag = false; + + // If there was DOT skills when we started, but none anymore... revert the HP bar. + if (bIsDOT && totalActiveDOTSkills == 0) + SendUserStatusUpdate(USER_STATUS_DOT, USER_STATUS_CURE); +} + +void CUser::Type4Duration() +{ + Guard lock(m_buffLock); + if (m_buffMap.empty()) + return; + + foreach (itr, m_buffMap) + { + if (itr->second.m_tEndTime > UNIXTIME) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, true,isLockableScroll(itr->second.m_bBuffType)); + + + break; // only ever handle one at a time with the current logic + } + + if (!isDebuffed()) + SendUserStatusUpdate(USER_STATUS_POISON, USER_STATUS_CURE); +} + +void CUser::SendAllKnightsID() +{ + Packet result(WIZ_KNIGHTS_LIST, uint8(1)); + uint16 count = 0; + + foreach_stlmap (itr, g_pMain->m_KnightsArray) + { + CKnights *pKnights = itr->second; + if (pKnights == nullptr) + continue; + result << pKnights->m_sIndex << pKnights->m_strName; + count++; + } + + result.put(0, count); + SendCompressed(&result); +} + +void CUser::OperatorCommand(Packet & pkt) +{ + if (!isGM()) + return; + + std::string strUserID; + uint8 opcode; + bool bIsOnline = false; + std::string sNoticeMessage, sOperatorCommandType; + pkt >> opcode >> strUserID; + if (strUserID.empty() || strUserID.size() > MAX_ID_SIZE) + return; + + CUser *pUser = g_pMain->GetUserPtr(strUserID, TYPE_CHARACTER); + CBot *pBot = g_pMain->GetBotPtr(strUserID, TYPE_CHARACTER); + if (pUser == nullptr) + { + if(pBot != nullptr && (opcode == OPERATOR_ARREST || opcode == OPERATOR_CUTOFF)) + { + if(pBot->isInGame()) + bIsOnline=true; + else + bIsOnline=false; + } + else + bIsOnline = false; + } + else + bIsOnline = true; + + + + switch (opcode) + { + case OPERATOR_ARREST: + if (bIsOnline) + { + if(pUser == nullptr) + ZoneChange(pBot->m_bZone,pBot->m_curx,pBot->m_curz); + else + ZoneChange(pUser->GetZoneID(), pUser->m_curx, pUser->m_curz); + sOperatorCommandType = "OPERATOR_ARREST"; + } + break; + case OPERATOR_SUMMON: + if (bIsOnline) + { + pUser->ZoneChange(GetZoneID(), m_curx, m_curz); + sOperatorCommandType = "OPERATOR_SUMMON"; + } + break; + case OPERATOR_CUTOFF: + if (bIsOnline) + { + if(pUser == nullptr) + pBot->UserInOut(INOUT_OUT); + else + pUser->Disconnect(); + sOperatorCommandType = "OPERATOR_CUTOFF"; + } + break; + case OPERATOR_BAN: + case OPERATOR_BAN_ACCOUNT: // ban account is meant to call a proc to do so + if (bIsOnline) + { + + pUser->m_bAuthority = AUTHORITY_BANNED; + pUser->Disconnect(); + } + else + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_BANNED); + + sOperatorCommandType = "OPERATOR_BAN_ACCOUNT"; + sNoticeMessage = string_format("%s is currently blocked for illegal activity.", strUserID.c_str()); + break; + + case OPERATOR_MUTE: + if (bIsOnline) + pUser->m_bAuthority = AUTHORITY_MUTED; + else + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_MUTED); + + sOperatorCommandType = "OPERATOR_MUTE"; + sNoticeMessage = string_format("%s is currently muted.", strUserID.c_str()); + break; + case OPERATOR_DISABLE_ATTACK: + if (bIsOnline) + pUser->m_bAuthority = AUTHORITY_ATTACK_DISABLED; + else + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_ATTACK_DISABLED); + sOperatorCommandType = "OPERATOR_DISABLE_ATTACK"; + sNoticeMessage = string_format("%s is currently attack disabled.", strUserID.c_str()); + break; + case OPERATOR_ENABLE_ATTACK: + if (bIsOnline) + pUser->m_bAuthority = AUTHORITY_PLAYER; + else + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_PLAYER); + sOperatorCommandType = "OPERATOR_ENABLE_ATTACK"; + sNoticeMessage = string_format("%s is currently attack enabled.", strUserID.c_str()); + break; + case OPERATOR_UNMUTE: + if (bIsOnline) + pUser->m_bAuthority = AUTHORITY_PLAYER; + else + g_DBAgent.UpdateUserAuthority(strUserID,AUTHORITY_PLAYER); + sOperatorCommandType = "OPERATOR_UNMUTE"; + sNoticeMessage = string_format("%s is currently unmuted.", strUserID.c_str()); + break; + } + + if (!sNoticeMessage.empty()) + g_pMain->SendNotice(sNoticeMessage.c_str(),Nation::ALL); + + if (!sOperatorCommandType.empty()) + { + DateTime time; + g_pMain->WriteGMLogFile(string_format("[ GAME MASTER - %d:%d:%d ] %s : %s %s ( Zone=%d, X=%d, Z=%d )\n",time.GetHour(),time.GetMinute(),time.GetSecond(),GetName().c_str(),sOperatorCommandType.c_str(),strUserID.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + } +} + +void CUser::SpeedHackTime(Packet& pkt) +{ + if (!isInGame() || isGM()) + return; + + float nSpeed = 45.0f; + + if (GetFame() == COMMAND_CAPTAIN || isRogue() || GetZoneID() == ZONE_CHAOS_DUNGEON) + nSpeed = 90.0f; + else if (isWarrior() || isMage() || isPriest() || isKurian()) + nSpeed = 67.0f; + + float nRange = (pow(GetX() - m_LastX, 2.0f) + pow(GetZ() - m_LastZ, 2.0f)) / 100.0f; + + if (nRange >= nSpeed) + { + DateTime time; + g_pMain->WriteCheatLogFile(string_format("[ SpeedHack - %d:%d:%d ] %s is Warp to Last Position.\n", time.GetHour(),time.GetMinute(),time.GetSecond(),GetName().c_str())); + Warp(uint16(m_LastX) * 10, uint16(m_LastZ) * 10); + } + else + { + m_LastX = GetX(); + m_LastZ = GetZ(); + } +} + +int CUser::FindSlotForItem(uint32 nItemID, uint16 sCount /*= 1*/) +{ + int result = -1; + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); + if (pTable == nullptr) + return result; + + // If the item's stackable, try to find it a home. + // We could do this in the same logic, but I'd prefer one initial check + // over the additional logic hit each loop iteration. + if (pTable->m_bCountable) + { + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + _ITEM_DATA *pItem = GetItem(i); + + if(pItem == nullptr) + continue; + + // If it's the item we're after, and there will be room to store it... + if (pItem + && pItem->nNum == nItemID + && pItem->sCount + sCount <= ITEMCOUNT_MAX) + return i; + + // Found a free slot, we'd prefer to stack it though + // so store the first free slot, and ignore it. + if (pItem->nNum == 0 + && result < 0) + result = i; + } + + // If we didn't find a slot countaining our stackable item, it's possible we found + // an empty slot. So return that (or -1 if it none was found; no point searching again). + return result; + } + + // If it's not stackable, don't need any additional logic. + // Just find the first free slot. + return GetEmptySlot(); +} + +int CUser::GetEmptySlotCount() +{ + uint8 SlotCount = 0; + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + _ITEM_DATA *pItem = GetItem(i); + + if (!pItem) + continue; + + if (pItem->nNum == 0) + SlotCount++; + } + + return SlotCount; +} + + +int CUser::GetEmptySlot() +{ + for (int i = SLOT_MAX; i < SLOT_MAX+HAVE_MAX; i++) + { + _ITEM_DATA *pItem = GetItem(i); + + if (!pItem) + continue; + + if (pItem->nNum == 0) + return i; + } + + return -1; +} + +void CUser::Home() +{ + if (isDead() + // When transformed into a "Kaul", you are unable to /town or attack. + || isKaul() + /* No cheats allowed */ + || GetHealth() < (GetMaxHealth() / 2) + || GetZoneID() == ZONE_CHAOS_DUNGEON + || GetZoneID() == ZONE_BORDER_DEFENSE_WAR + || hasBuff(BUFF_TYPE_FREEZE) + || isSummonPet && SummonPetID > 0 && isGenieActive()) + return; + + // The point where you will be warped to. + short x = 0, z = 0; + + + _OBJECT_EVENT* pEvent = nullptr; + pEvent = GetMap()->GetObjectEvent(m_sBind); + // Resurrect at a bind/respawn point + if (pEvent && pEvent->byLife == 1 && GetZoneID() != ZONE_DELOS && pEvent->sIndex != 101 && pEvent->sIndex != 201) + { + SetPosition(pEvent->fPosX + x, 0.0f, pEvent->fPosZ + z); + x = short(pEvent->fPosX); + z = short(pEvent->fPosZ); + Warp(x * 10, z * 10); + return; + } + + // Forgotten Temple + if (GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + { + KickOutZoneUser(true); + return; + } + // Prevent /town'ing in quest arenas + else if ((GetZoneID() / 10) == 5 + || !GetStartPosition(x, z)) + return; + Warp(x * 10, z * 10); +} + +bool CUser::GetStartPosition(short & x, short & z, uint8 bZone /*= 0 */) +{ + // Get start position data for current zone (unless we specified a zone). + int nZoneID = (bZone == 0 ? GetZoneID() : bZone); + _START_POSITION *pData = g_pMain->GetStartPosition(nZoneID); + _KNIGHTS_SIEGE_WARFARE *pKnightSiege = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnights = g_pMain->GetClanPtr(pKnightSiege->sMasterKnights); + if (pData == nullptr) + return false; + + // TODO: Allow for Delos/CSW. + + // NOTE: This is how mgame does it. + // This only allows for positive randomisation; we should really allow for the full range... + if (pKnightSiege->sMasterKnights == GetClanID() && GetZoneID() == ZONE_DELOS && GetClanID() != 0) + { + x = 505 + myrand(0, pData->bRangeX); + z = 840 + myrand(0, pData->bRangeZ); + } + else + { + // NOTE: This is how mgame does it. + // This only allows for positive randomisation; we should really allow for the full range... + if (GetNation() == KARUS) + { + x = pData->sKarusX + myrand(0, pData->bRangeX); + z = pData->sKarusZ + myrand(0, pData->bRangeZ); + } + else + { + x = pData->sElmoradX + myrand(0, pData->bRangeX); + z = pData->sElmoradZ + myrand(0, pData->bRangeZ); + } + } + + return true; +} + +bool CUser::GetStartPositionRandom(short & x, short & z, uint8 bZone) +{ + int nRandom = myrand(0, g_pMain->m_StartPositionRandomArray.GetSize() - 1); + goto GetPosition; + +GetPosition: + { + if (g_pMain->m_StartPositionRandomArray.GetData(nRandom)->ZoneID == (bZone == 0 ? GetZoneID() : bZone)) + { + x = g_pMain->m_StartPositionRandomArray.GetData(nRandom)->PosX + myrand(0, g_pMain->m_StartPositionRandomArray.GetData(nRandom)->Radius); + z = g_pMain->m_StartPositionRandomArray.GetData(nRandom)->PosZ + myrand(0, g_pMain->m_StartPositionRandomArray.GetData(nRandom)->Radius); + return true; + } + + nRandom = myrand(0, g_pMain->m_StartPositionRandomArray.GetSize() - 1); + goto GetPosition; + } + + return GetStartPosition(x, z); +} + +void CUser::ResetWindows() +{ + /*if(isSummonPet) + { + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc != nullptr) + { + newPet->Dead(); + } + }*/ + + if (isTrading()) + ExchangeCancel(); + + if (m_bRequestingChallenge) + HandleChallengeCancelled(m_bRequestingChallenge); + + if (m_bChallengeRequested) + HandleChallengeRejected(m_bChallengeRequested); + + // If we're a vendor, close the stall + if (isMerchanting() || m_bMerchantStatex) + MerchantClose(); + + // If we're just browsing, free up our spot so others can browse the vendor. + if (m_sMerchantsSocketID >= 0) + CancelMerchant(); + + if(isMining()) + { + HandleMiningStop((Packet)(WIZ_MINING, MiningStop)); + HandleFishingStop((Packet)(WIZ_MINING,FishingStop)); + } +} + +CUser * CUser::GetItemRoutingUser(uint32 nItemID, uint16 sCount, _LOOT_BUNDLE * pBundle) +{ + if (!isInParty()) + return this; + + _ITEM_TABLE * pTable; + _PARTY_GROUP * pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr + || (pTable = g_pMain->GetItemPtr(nItemID)) == nullptr + || pParty->bItemRouting >= MAX_PARTY_USERS) + return nullptr; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(pParty->uid[pParty->bItemRouting]); + + if (pParty->bItemRouting > 6) + pParty->bItemRouting = 0; + else + pParty->bItemRouting++; + + if (pUser != nullptr + && pUser->CheckWeight(pTable, nItemID, sCount) + && pUser->isInRange(pBundle->x, pBundle->z, MAX_LOOT_RANGE)) + return pUser; + } + + return nullptr; +} + +void CUser::ClassChangeReq() +{ + Packet result(WIZ_CLASS_CHANGE, uint8(CLASS_CHANGE_RESULT)); + if (GetLevel() < 10) // if we haven't got our first job change + result << uint8(2); + else if ((m_sClass % 100) > 4) // if we've already got our job change + result << uint8(3); + else // otherwise + result << uint8(1); + Send(&result); +} + +// Dialog +void CUser::SendStatSkillDistribute() +{ + Packet result(WIZ_CLASS_CHANGE,uint8(CLASS_CHANGE_REQ)); + Send(&result); +} + +void CUser::SendPetUpgrade() +{ + Packet Pet(WIZ_SELECT_MSG); + Pet << uint16(0x00) << uint8(0x09); + Send(&Pet); +} + +void CUser::AllSkillPointChange(bool bIsFree) +{ + Packet result(WIZ_CLASS_CHANGE, uint8(ALL_SKILLPT_CHANGE)); + int index = 0, skill_point = 0, money = 0, temp_value = 0, old_money = 0; + uint8 type = 0; + + temp_value = (int)pow((GetLevel() * 2.0f), 3.4f); + if (GetLevel() < 30) + temp_value = (int)(temp_value * 0.4f); + else if (GetLevel() >= 60) + temp_value = (int)(temp_value * 1.5f); + + temp_value = (int)(temp_value * 1.5f); + + // If global discounts are enabled + if (g_pMain->m_sDiscount == 2 // or war discounts are enabled + || (g_pMain->m_sDiscount == 1 && g_pMain->m_byOldVictory == m_bNation)) + temp_value /= 2; + + // Level too low. + if (GetLevel() < 10) + goto fail_return; + + if (bIsFree) + { + for (int i = 0; i < SLOT_MAX; i++) + { + if (m_sItemArray[i].nNum) + goto fail_return; + } + } + + + // Get total skill points + for (int i = 1; i < 9; i++) + skill_point += m_bstrSkill[i]; + + // If we don't have any skill points, there's no point resetting now is there. + /*if (skill_point <= 0) + { + type = 2; + goto fail_return; + }*/ + + // Not enough money. + if (!bIsFree && g_pMain->Reskillmoney != 1){ + if(!GoldLose(temp_value, false)) + goto fail_return; + } + + // Reset skill points. + m_bstrSkill[0] = (GetLevel() - 9) * 2; + for (int i = 1; i < 9; i++) + m_bstrSkill[i] = 0; + + result << uint8(1) << GetCoins() << m_bstrSkill[0]; + Send(&result); + return; + +fail_return: + result << type << temp_value; + Send(&result); +} + +void CUser::AllPointChange(bool bIsFree) +{ + Packet result(WIZ_CLASS_CHANGE, uint8(ALL_POINT_CHANGE)); + int temp_money; + uint16 statTotal; + + uint16 byStr, bySta, byDex, byInt, byCha; + uint8 bResult = 0; + + if (GetLevel() > g_pMain->MAXLVLINI) + goto fail_return; + + temp_money = (int)pow((GetLevel() * 2.0f ), 3.4f); + if (GetLevel() < 30) + temp_money = (int)(temp_money * 0.4f); + else if (GetLevel() >= 60) + temp_money = (int)(temp_money * 1.5f); + + if ((g_pMain->m_sDiscount == 1 && g_pMain->m_byOldVictory == GetNation()) + || g_pMain->m_sDiscount == 2) + temp_money /= 2; + + for (int i = 0; i < SLOT_MAX; i++) + { + if (m_sItemArray[i].nNum) { + bResult = 4; + goto fail_return; + } + } + + // It's 300-10 for clarity (the 10 being the stat points assigned on char creation) + /*if (GetStatTotal() == 290) + { + bResult = 2; // don't need to reallocate stats, it has been done already... + goto fail_return; + }*/ + + // Not enough coins + if (!bIsFree && g_pMain->Restatmoney != 1){ + if(!GoldLose(temp_money, false)) + goto fail_return; + } + + // TODO: Pull this from the database. + switch (m_bRace) + { + case KARUS_BIG: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + break; + case KARUS_MIDDLE: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else + { + SetStat(STAT_STR, 60); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + break; + case KARUS_SMALL: + if (GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_ROGUE) + { + SetStat(STAT_STR, 60); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_CLERIC) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 50); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + else if(GROUP_MAGE) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + break; + case KARUS_WOMAN: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_ROGUE) + { + SetStat(STAT_STR, 60); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_CLERIC) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 50); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + else if(GROUP_MAGE) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + break; + case KARUS_MONSTER: + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + break; + case BABARIAN: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + break; + case ELMORAD_MAN: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_ROGUE) + { + SetStat(STAT_STR, 60); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_CLERIC) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 50); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + else if(GROUP_MAGE) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + break; + case ELMORAD_WOMAN: + if(GROUP_WARRIOR) + { + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_ROGUE) + { + SetStat(STAT_STR, 60); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + } + else if(GROUP_CLERIC) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 50); + SetStat(STAT_DEX, 70); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + else if(GROUP_MAGE) + { + SetStat(STAT_STR, 50); + SetStat(STAT_STA, 60); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 70); + SetStat(STAT_CHA, 50); + } + break; + case ELMORAD_MONSTER: + SetStat(STAT_STR, 65); + SetStat(STAT_STA, 65); + SetStat(STAT_DEX, 60); + SetStat(STAT_INT, 50); + SetStat(STAT_CHA, 50); + break; + } + + // Players gain 3 stats points for each level up to and including 60. + // They also received 10 free stat points on creation. + m_sPoints = 10 + (GetLevel() - 1) * 3; + + // For every level after 60, we add an additional two points. + if (GetLevel() > 60) + m_sPoints += 2 * (GetLevel() - 60); + + + statTotal = GetStatTotal(); + + SetUserAbility(); + Send2AI_UserUpdateInfo(); + + byStr = GetStat(STAT_STR); + bySta = GetStat(STAT_STA), + byDex = GetStat(STAT_DEX); + byInt = GetStat(STAT_INT), + byCha = GetStat(STAT_CHA); + + RobItem(700001000, 1); + + result << uint8(1) // result (success) + << GetCoins() + << byStr << bySta << byDex << byInt << byCha + << m_iMaxHp << m_iMaxMp << m_sTotalHit << m_sMaxWeight << m_sPoints; + Send(&result); + return; + +fail_return: + result << bResult << temp_money; + Send(&result); +} +void CUser::GiveKnightCash(uint32 nKnightCash) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isSellingMerchant() + || isBuyingMerchant() + || isStoreOpen() + || isMining() + || m_bMerchantStatex) + return; + + if (nKnightCash <= 0) + return; + + m_nKnightCash += nKnightCash; + g_DBAgent.UpdateAccountKnightCash(m_strAccountID,nKnightCash); + + g_pMain->SendHelpDescription(this,string_format("[%d] Knight Cash has sent to your account '%s'.",nKnightCash,m_strAccountID.c_str())); +} +void CUser::GoldChange(short tid, int gold) +{ + if (m_bZone == ZONE_SNOW_BATTLE + || m_bZone == ZONE_DESPERATION_ABYSS + || m_bZone == ZONE_HELL_ABYSS + || m_bZone == ZONE_DRAGON_CAVE + || m_bZone == ZONE_CAITHAROS_ARENA) + return; + + CUser* pTUser = g_pMain->GetUserPtr(tid); + if (pTUser == nullptr || pTUser->m_iGold <= 0) + return; + + // Reward money in war zone + if (gold == 0) + { + // If we're not in a party, we can distribute cleanly. + if (!isInParty()) + { + GoldGain((pTUser->m_iGold * 4) / 10); + pTUser->GoldLose(pTUser->m_iGold / 2); + return; + } + + // Otherwise, if we're in a party, we need to divide it up. + _PARTY_GROUP* pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty == nullptr) + return; + + int userCount = 0, levelSum = 0, temp_gold = (pTUser->m_iGold * 4) / 10; + pTUser->GoldLose(pTUser->m_iGold / 2); + + // TODO: Clean up the party system. + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + userCount++; + levelSum += pUser->GetLevel(); + } + + // No users (this should never happen! Needs to be cleaned up...), don't bother with the below loop. + if (userCount == 0) + return; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser * pUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pUser == nullptr) + continue; + + pUser->GoldGain((int)(temp_gold * (float)(pUser->GetLevel() / (float)levelSum))); + } + return; + } + + // Otherwise, use the coin amount provided. + + // Source gains money + if (gold > 0) + { + GoldGain(gold); + pTUser->GoldLose(gold); + } + // Source loses money + else + { + GoldLose(gold); + pTUser->GoldGain(gold); + } +} + +void CUser::SelectWarpList(Packet & pkt) +{ + if (isDead()) + return; + + uint16 npcid, warpid; + pkt >> npcid >> warpid; + + _WARP_INFO *pWarp = GetMap()->GetWarp(warpid); + if (pWarp == nullptr + || (pWarp->sNation != 0 && pWarp->sNation != GetNation())) + return; + + C3DMap *pMap = g_pMain->GetZoneByID(pWarp->sZone); + if (pMap == nullptr) + return; + + _ZONE_SERVERINFO *pInfo = g_pMain->m_ServerArray.GetData(pMap->m_nServerNo); + if (pInfo == nullptr) + return; + + float rx = 0.0f, rz = 0.0f; + rx = (float)myrand(0, (int)pWarp->fR * 2); + if (rx < pWarp->fR) + rx = -rx; + + rz = (float)myrand(0, (int)pWarp->fR * 2); + if (rz < pWarp->fR) + rz = -rz; + + if (m_bZone == pWarp->sZone) + { + m_bZoneChangeSameZone = true; + + Packet result(WIZ_WARP_LIST, uint8(2)); + result << uint8(1); + Send(&result); + } + + ZoneChange(pWarp->sZone, pWarp->fX + rx, pWarp->fZ + rz); + + if (GetZoneID() == pWarp->sZone && pWarp->dwPay > 0 && hasCoins(pWarp->dwPay)) + GoldLose(pWarp->dwPay); +} + +void CUser::ServerChangeOk(Packet & pkt) +{ + return; + C3DMap* pMap = GetMap(); + if (pMap == nullptr) + return; + + uint16 warpid = pkt.read(); + _WARP_INFO* pWarp = pMap->GetWarp(warpid); + if (pWarp == nullptr) + return; + + float rx = 0.0f, rz = 0.0f; + rx = (float)myrand(0, (int)pWarp->fR * 2); + if (rx < pWarp->fR) + rx = -rx; + + rz = (float)myrand(0, (int)pWarp->fR * 2); + if (rz < pWarp->fR) + rz = -rz; + + ZoneChange(pWarp->sZone, pWarp->fX + rx, pWarp->fZ + rz); +} + +bool CUser::GetWarpList(int warp_group) +{ + Packet result(WIZ_WARP_LIST, uint8(1)); + C3DMap* pMap = GetMap(); + set<_WARP_INFO*> warpList; + if(pMap == nullptr) + return false; + + pMap->GetWarpList(warp_group, warpList); + + result << uint16(warpList.size()); + BOOST_FOREACH (auto itr, warpList) + { + C3DMap *pDstMap = g_pMain->GetZoneByID((itr)->sZone); + if (pDstMap == nullptr) + continue; + + if (g_pMain->OpenArdream + && (itr->sZone == ZONE_RONARK_LAND + || itr->sZone == ZONE_RONARK_LAND_BASE)) + continue; + + if (g_pMain->OpenCZ + && (itr->sZone == ZONE_ARDREAM + || itr->sZone == ZONE_RONARK_LAND_BASE)) + continue; + + if (g_pMain->isWarOpen() + && ((g_pMain->m_byBattleZoneType != ZONE_ARDREAM + && ((itr)->sZone == ZONE_ARDREAM + || (itr)->sZone == ZONE_RONARK_LAND_BASE + || (itr)->sZone == ZONE_RONARK_LAND)) + || (g_pMain->m_byBattleZoneType == ZONE_ARDREAM + && (itr)->sZone == ZONE_ARDREAM))) + continue; + + if (g_pMain->m_bEventZoneIsActive + && g_pMain->m_nEventZoneTime == 5 + && (itr)->sZone == ZONE_RONARK_LAND) + continue; + + result << (itr)->sWarpID + << (itr)->strWarpName << (itr)->strAnnounce + << (itr)->sZone + << pDstMap->m_sMaxUser + << uint32((itr)->dwPay); + } + + Send(&result); + return true; +} + +bool CUser::BindObjectEvent(_OBJECT_EVENT *pEvent) +{ + if (pEvent->sBelong != 0 && pEvent->sBelong != GetNation()) + return false; + + Packet result(WIZ_OBJECT_EVENT, uint8(pEvent->sType)); + + m_sBind = pEvent->sIndex; + + result << uint8(1); + Send(&result); + return true; +} +bool CUser::GateLeverObjectEvent(_OBJECT_EVENT *pEvent, int nid) +{ + _OBJECT_EVENT *pGateEvent; + CNpc* pNpc, *pGateNpc; + _KNIGHTS_SIEGE_WARFARE *pKnightSiegewars = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnight = g_pMain->GetClanPtr(GetClanID()); + + // Does the lever (object) NPC exist? + if ((pNpc = g_pMain->GetNpcPtr(nid)) == nullptr + // Does the corresponding gate object event exist? + || (pGateEvent = GetMap()->GetObjectEvent(pEvent->sControlNpcID)) == nullptr + // Does the corresponding gate (object) NPC exist? + || (pGateNpc = g_pMain->FindNpcInZone(pEvent->sControlNpcID,GetZoneID())) == nullptr + // Is it even a gate? + || !pGateNpc->isGate() + || pGateNpc->isDead() + || ((pKnight == nullptr || pKnightSiegewars == nullptr) && GetZoneID() == ZONE_DELOS) + // If the gate's closed (i.e. the lever is down), we can't open it unless the lever isn't nation-specific + // or we're the correct nation. Seems the other nation cannot close them. + || (pNpc->isGateClosed() && pNpc->GetNation() != 0 && pNpc->GetNation() != GetNation() && GetZoneID() != ZONE_DELOS)) + { + return false; + } + + if ((GetZoneID() == ZONE_DELOS && pKnightSiegewars->sMasterKnights != 0 && pKnight->m_sIndex == pKnightSiegewars->sMasterKnights) + || ((GetFame() == COMMAND_CAPTAIN || isKing()) && GetZoneID() != ZONE_DELOS) && (pNpc->GetNation() == GetNation() || pNpc->GetNation() == 0)) + { + // Move the lever (up/down). + pNpc->SendGateFlag(!pNpc->m_byGateOpen); + + // Open/close the gate. + pGateNpc->SendGateFlag(!pGateNpc->m_byGateOpen); + return true; + } + + return false; +} +/*** +* Not sure what this is used for, so keeping logic the same just in case. +***/ +bool CUser::FlagObjectEvent(_OBJECT_EVENT *pEvent, int nid) +{ + _OBJECT_EVENT *pFlagEvent; + CNpc *pNpc, *pFlagNpc; + + // Does the flag object NPC exist? + if ((pNpc = g_pMain->GetNpcPtr(nid)) == nullptr + // Does the corresponding flag event exist? + || (pFlagEvent = GetMap()->GetObjectEvent(pEvent->sControlNpcID)) == nullptr + // Does the corresponding flag object NPC exist? + || (pFlagNpc = g_pMain->FindNpcInZone(pEvent->sControlNpcID, GetZoneID())) == nullptr + // Is this marked a gate? (i.e. can control) + || !pFlagNpc->isGate() + // Is the war over or the gate closed? + || g_pMain->m_bVictory > 0 || pNpc->isGateClosed()) + return false; + + // Reset objects + pNpc->SendGateFlag(0); + pFlagNpc->SendGateFlag(0); + + // Add flag score (not sure what this is, is this even used anymore?) + if (GetNation() == KARUS) + g_pMain->m_bKarusFlag++; + else + g_pMain->m_bElmoradFlag++; + + // Did one of the teams win? + g_pMain->BattleZoneVictoryCheck(); + return true; +} + +bool CUser::WarpListObjectEvent(_OBJECT_EVENT *pEvent) +{ + // If the warp gate belongs to a nation, which isn't us... + if (pEvent->sBelong != 0 && pEvent->sBelong != GetNation() + // or we're in the opposing nation's zone... + || (GetZoneID() != GetNation() && GetZoneID() <= ELMORAD) + // or we're unable to retrieve the warp list... + || !GetWarpList(pEvent->sControlNpcID)) + return false; + + return true; +} + +void CUser::ObjectEvent(Packet & pkt) +{ + if (g_pMain->m_bPointCheckFlag == false || isDead()) + return; + + bool bSuccess = false; + uint16 objectindex, nid; + pkt >> objectindex >> nid; + + + _OBJECT_EVENT * pEvent = GetMap()->GetObjectEvent(objectindex); + if (pEvent != nullptr + && isInRange(pEvent->fPosX, pEvent->fPosZ, MAX_OBJECT_RANGE)) + { + switch (pEvent->sType) + { + case OBJECT_GATE: + case OBJECT_BIND: + case OBJECT_REMOVE_BIND: + bSuccess = BindObjectEvent(pEvent); + break; + + case OBJECT_GATE_LEVER: + bSuccess = GateLeverObjectEvent(pEvent, nid); + break; + + case OBJECT_FLAG_LEVER: + bSuccess = FlagObjectEvent(pEvent, nid); + break; + + case OBJECT_WARP_GATE: + bSuccess = WarpListObjectEvent(pEvent); + if (bSuccess) + return; + break; + + case OBJECT_ANVIL: + SendAnvilRequest(nid); + return; + } + + } + + if (!bSuccess) + { + Packet result(WIZ_OBJECT_EVENT, uint8(pEvent == nullptr ? 0 : pEvent->sType)); + result << uint8(0); + Send(&result); + } +} + +void CUser::SendAnvilRequest(uint16 sNpcID, uint8 bType /*= ITEM_UPGRADE_REQ*/) +{ + Packet result(WIZ_ITEM_UPGRADE, uint8(bType)); + result << sNpcID; + Send(&result); +} + +void CUser::UpdateVisibility(InvisibilityType bNewType) +{ + Packet result(AG_USER_VISIBILITY); + m_bInvisibilityType = (uint8)(bNewType); + result << GetID() << m_bInvisibilityType; + Send_AIServer(&result); +} + +/** +* @brief Forces a reset of the GM's persistent visibility +* state. +*/ +void CUser::ResetGMVisibility() +{ + if (!isGM() + || isTransformed()) + return; + + // Force the client to reset + if (m_bAbnormalType != ABNORMAL_INVISIBLE) + { + // Only send this packet to the GM as other users + // will already see the GM as invisible. + Packet result(WIZ_STATE_CHANGE); + result << GetID() << uint8(5) << uint32(0); + Send(&result); + } + + m_bAbnormalType = ABNORMAL_INVISIBLE; +} + +void CUser::BlinkStart() +{ + if (isGM() + || isInPVPZone() + || GetMap()->isWarZone() + || isMonsterTransformation() + || isNPCTransformation() + || isSiegeTransformation()) + return; + + m_bAbnormalType = ABNORMAL_BLINKING; + m_tBlinkExpiryTime = UNIXTIME + BLINK_TIME; + m_bRegeneType = REGENE_ZONECHANGE; + + UpdateVisibility(INVIS_DISPEL_ON_ATTACK); // AI shouldn't see us + m_bInvisibilityType = INVIS_NONE; // but players should. + + StateChangeServerDirect(3, ABNORMAL_BLINKING); +} + +void CUser::BlinkTimeCheck() +{ + if (UNIXTIME < m_tBlinkExpiryTime) + return; + + m_bRegeneType = REGENE_NORMAL; + + m_bCanUseSkills = true; + + StateChangeServerDirect(3, ABNORMAL_NORMAL); + + Packet result(AG_USER_REGENE); + result << GetSocketID() << m_sHp; + Send_AIServer(&result); + + result.Initialize(AG_USER_INOUT); + result.SByte(); // TODO: Remove this redundant uselessness that is mgame + result << uint8(INOUT_RESPAWN) << GetSocketID() + << GetName() + << GetX() << GetZ(); + Send_AIServer(&result); + + UpdateVisibility(INVIS_NONE); +} + +void CUser::GoldGain(uint32 gold, bool bSendPacket /*= true*/, bool bApplyBonus /*= false*/) +{ + // Assuming it works like this, although this affects (probably) all gold gained (including kills in PvP zones) + // If this is wrong and it should ONLY affect gold gained from monsters, let us know! + if (bApplyBonus) + gold = gold * (m_bNoahGainAmount + m_bItemNoahGainAmount) / 100; + + if (m_iGold + gold > COIN_MAX) + m_iGold = COIN_MAX; + else + m_iGold += gold; + + if (bSendPacket) + { + Packet result(WIZ_GOLD_CHANGE, uint8(CoinGain)); + result << gold << GetCoins(); + Send(&result); + } +} + +bool CUser::GoldLose(uint32 gold, bool bSendPacket /*= true*/) +{ + if (!hasCoins(gold)) + return false; + + m_iGold -= gold; + + if (bSendPacket) + { + Packet result(WIZ_GOLD_CHANGE, uint8(CoinLoss)); + result << gold << GetCoins(); + Send(&result); + } + return true; +} + +bool CUser::CheckSkillPoint(uint8 skillnum, uint8 min, uint8 max) +{ + if (skillnum < 5 || skillnum > 8) + return false; + + return (m_bstrSkill[skillnum] >= min && m_bstrSkill[skillnum] <= max); +} + +bool CUser::CheckClass(short class1, short class2, short class3, short class4, short class5, short class6) +{ + return (JobGroupCheck(class1) || JobGroupCheck(class2) || JobGroupCheck(class3) || JobGroupCheck(class4) || JobGroupCheck(class5) || JobGroupCheck(class6)); +} + +bool CUser::JobGroupCheck(short jobgroupid) +{ + if (jobgroupid > 100) + return GetClass() == jobgroupid; + + ClassType subClass = GetBaseClassType(); + switch (jobgroupid) + { + case GROUP_WARRIOR: + return (subClass == ClassWarrior || subClass == ClassWarriorNovice || subClass == ClassWarriorMaster); + + case GROUP_KURIAN: + return (subClass == ClassPorutu || subClass == ClassPorutuSkilled || subClass == ClassPorutuMaster ); + + case GROUP_ROGUE: + return (subClass == ClassRogue || subClass == ClassRogueNovice || subClass == ClassRogueMaster); + + case GROUP_MAGE: + return (subClass == ClassMage || subClass == ClassMageNovice || subClass == ClassMageMaster); + + case GROUP_CLERIC: + return (subClass == ClassPriest || subClass == ClassPriestNovice || subClass == ClassPriestMaster); + } + + return (subClass == jobgroupid); +} + +void CUser::TrapProcess() +{ + // If the time interval has passed + if ((UNIXTIME - m_tLastTrapAreaTime) >= ZONE_TRAP_INTERVAL) + { + if(GetZoneID() == ZONE_BIFROST) + SendUserStatusUpdate(USER_STATUS_BLIND,USER_STATUS_INFLICT); + + HpChange(-ZONE_TRAP_DAMAGE, this); + m_tLastTrapAreaTime = UNIXTIME; + } +} + +void CUser::KickOutZoneUser(bool home, uint8 nZoneID) +{ + if (home) + { + C3DMap* pMap = g_pMain->GetZoneByID(nZoneID); + if (pMap == nullptr) + return; + + int eventID = 0; + int random = myrand(0, 9000); + if (random >= 0 && random < 3000) eventID = 0; + else if (random >= 3000 && random < 6000) eventID = 1; + else if (random >= 6000 && random < 9001) eventID = 2; + + _REGENE_EVENT* pRegene = pMap->GetRegeneEvent(eventID); + if (pRegene == nullptr) + { + KickOutZoneUser(); + return; + } + + ZoneChange(pMap->m_nZoneNumber, + pRegene->fRegenePosX + (float)myrand(0, (int)pRegene->fRegeneAreaX), + pRegene->fRegenePosZ + (float)myrand(0, (int)pRegene->fRegeneAreaZ)); + return; + } + + // Teleport the player to their native zone. + short x, z; + + if (GetStartPosition(x,z,GetNation())) + ZoneChange(GetNation(), x, z); + else + { + TRACE("### KickOutZoneUser - StartPosition not found : Nation=%d",GetNation()); + } +} + +void CUser::NativeZoneReturn() +{ + _START_POSITION *pStartPosition = g_pMain->m_StartPositionArray.GetData(m_bNation); + if (pStartPosition == nullptr) + return; + + m_bZone = m_bNation; + + m_curx = (float)((m_bNation == KARUS ? pStartPosition->sKarusX : pStartPosition->sElmoradX) + myrand(0, pStartPosition->bRangeX)); + m_curz = (float)((m_bNation == KARUS ? pStartPosition->sKarusZ : pStartPosition->sElmoradZ) + myrand(0, pStartPosition->bRangeZ)); +} + +/** +* @brief Sends a packet to all players within the +* user's current region and surrounding regions +* (i.e. visible area) +* +* @param pkt The packet. +* @param pExceptUser User to except. If specified, will ignore this user. +*/ +void CUser::SendToRegion(Packet *pkt, CUser *pExceptUser /*= nullptr*/, uint16 nEventRoom /*-1*/) +{ + g_pMain->Send_Region(pkt, GetMap(), GetRegionX(), GetRegionZ(), pExceptUser, nEventRoom); +} +/** +* @brief Sends a packet to all players within the +* user's current zone. +* +* @param pkt The packet. +* @param pExceptUser User to except. If specified, will ignore this user. +*/ +void CUser::SendToZone(Packet *pkt, CUser *pExceptUser /*= nullptr*/, uint16 nEventRoom /*-1*/, float fRange) +{ + g_pMain->Send_Zone(pkt, GetZoneID(), pExceptUser, 3, nEventRoom, fRange); +} + +void CUser::OnDeath(Unit *pKiller) +{ + if (m_bResHpType == USER_DEAD) + return; + + m_bResHpType = USER_DEAD; + m_iUserDeathCount++; + AchieveType1(20); + // Player is dead stop other process. + ResetWindows(); + + if (GetFame() == COMMAND_CAPTAIN) + { + if (GetNation() == KARUS) + g_pMain->Announcement(KARUS_CAPTAIN_DEPRIVE_NOTIFY, KARUS, 8, this); + else + g_pMain->Announcement(ELMORAD_CAPTAIN_DEPRIVE_NOTIFY, ELMORAD, 8, this); + } + + if(isSummonPet) + { + _ITEM_TABLE * pItemData = nullptr; + if(this == nullptr + || (pItemData = GetItemPrototype(SHOULDER)) == nullptr + || !pItemData->isPet()) + return; + _ITEM_DATA *pItem = nullptr; + + if ((pItem = GetItem(SHOULDER)) == nullptr + || pItem->nNum != pItemData->Getnum()) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->m_pNpc == nullptr) + return; + + if(newPet->m_pNpc != nullptr) + { + if(newPet->m_pNpc->isAlive()) + newPet->Dead(); + isSummonPet = false; + } + } + + InitType3(); + InitType4(); + + DateTime time; + + if (pKiller != nullptr) + { + DeathNoticeType noticeType = DeathNoticeNone; + + if (pKiller->isNPC()) + { + CNpc *pNpc = TO_NPC(pKiller); + + int64 nExpLost = 0; + //if (pNpc->GetType() == NPC_GUARD_TOWER1 || pNpc->GetType() == NPC_GUARD_TOWER2 || (GetZoneID() != GetNation() && GetZoneID() <= ELMORAD)) + if (pNpc->GetType() == NPC_PATROL_GUARD || (GetZoneID() != GetNation() && GetZoneID() <= ELMORAD)) + nExpLost = m_iMaxExp / 100; + else + nExpLost = m_iMaxExp / 20; + + if(GetRebLevel() > 0) + nExpLost = 0; + + if ((pNpc->GetType() == NPC_GUARD_TOWER1 || pNpc->GetType() == NPC_GUARD_TOWER2) && isInPKZone()) + noticeType = DeathNotice; + + if (GetPremiumProperty(PremiumExpRestorePercent) > 0) + nExpLost = nExpLost * (GetPremiumProperty(PremiumExpRestorePercent)) / 100; + + g_pMain->WriteDeathUserLogFile(string_format("[ NPC/MONSTER - %d:%d:%d ] SID=%d,Killer=%s,Target=%s,Zone=%d,X=%d,Z=%d,TargetExp=%d,LostExp=%d\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pNpc->GetProtoID(),pKiller->GetName().c_str(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()),m_iExp, nExpLost)); + + if (GetZoneID() != ZONE_FORGOTTEN_TEMPLE) + ExpChange(-nExpLost); + + if (GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + { + KickOutZoneUser(true); + return; + } + } + else + { + CUser *pUser = TO_USER(pKiller); + + // Looks like we died of "natural causes!" (probably residual DOT) + if (pUser == this) + { + m_sWhoKilledMe = -1; + } + // Someone else killed us? Need to clean this up. + else + { + pUser->m_iUserDefeatedCount++; + pUser->AchieveType1(1); + + if (GetZoneID() == ZONE_CHAOS_DUNGEON) + { + noticeType = DeathNoticeCoordinates; + RobChaosSkillItems(); + m_DeathCount++; + UpdatePlayerRank(); + + pUser->AchieveType1(11); + pUser->m_KillCount++; + pUser->UpdatePlayerRank(); + } + else if (GetZoneID() == ZONE_BORDER_DEFENSE_WAR || GetZoneID() == ZONE_JURAD_MOUNTAIN) + { + Packet result(WIZ_EVENT, uint8(TEMPLE_EVENT_BORDER_COUNTER)); + noticeType = DeathNoticeCoordinates; + + GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()]++; + + if (!pUser->isInParty()) + pUser->LoyaltyChange(GetID()); + else + pUser->LoyaltyDivide(GetID()); + + pUser->m_iLoyaltyDaily++; + pUser->UpdatePlayerRank(); + result << g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] << uint16(0x00) << g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()] << uint16(0x00); + g_pMain->Send_Zone(&result, GetZoneID(), this, Nation::ALL,GetEventRoom()); + + if (g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] > 59 || g_pMain->pTempleEvent.KarusDeathCount[GetEventRoom()] > 59) + g_pMain->TempleEventFinish(GetEventRoom(),g_pMain->pTempleEvent.ElmoDeathCount[GetEventRoom()] > 59 ? 1 : 2); + } + else + { + // Did we get killed in the snow war? Handle appropriately. + if (GetZoneID() == ZONE_SNOW_BATTLE + && g_pMain->m_byBattleOpen == SNOW_BATTLE) + { + pUser->GoldGain(SNOW_EVENT_MONEY); + + if (!pUser->isInParty()) + pUser->LoyaltyChange(GetID()); + // In parties, the loyalty should be divided up across the party. + // Each party member in range should also receive a "Meat Dumpling". + else + pUser->LoyaltyChange(GetID()); + + if (GetNation() == KARUS) + g_pMain->m_sKarusDead++; + else + g_pMain->m_sElmoradDead++; + } + // All zones other than the snow war. + else if (GetZoneID() == ZONE_DELOS + && g_pMain->m_byBattleOpen == CLAN_BATTLE) + { + noticeType = DeathNoticeCoordinates; + if (!pUser->isInParty()) + pUser->LoyaltyChange(GetID()); + // In parties, the loyalty should be divided up across the party. + // Each party member in range should also receive a "Meat Dumpling". + else + pUser->LoyaltyDivide(GetID()); + } + else + { + if (isInArena() || isInPartyArena()) + { + // Show death notices in the arena + noticeType = DeathNoticeCoordinates; + } + else + { + uint16 bonusNP = 0; + bool bKilledByRival = false; + + if (!GetMap()->isWarZone() && g_pMain->m_byBattleOpen != NATION_BATTLE) + { + // Show death notices in PVP zones + noticeType = DeathNoticeCoordinates; + + // If the killer has us set as their rival, reward them & remove the rivalry. + bKilledByRival = (!pUser->hasRivalryExpired() && pUser->GetRivalID() == GetID()); + if (bKilledByRival) + { + // If we are our killer's rival, use the rival notice instead. + noticeType = DeathNoticeRival; + + // Apply bonus NP for rival kills + if (GetZoneID() == ZONE_PVP_EVENT) + bonusNP += MINIRIVALRY_NP_BONUS; + else + bonusNP += RIVALRY_NP_BONUS; + + pUser->AchieveType1(3); + + pUser->RemoveRival(); + + // This player is no longer our rival + } + + // The anger gauge is increased on each death. + // When your anger gauge is full (5 deaths), you can use the "Anger Explosion" skill. + if (!hasFullAngerGauge()) + UpdateAngerGauge(++m_byAngerGauge); + + } + + // Loyalty should be awarded on kill. + if (!pUser->isInParty()) + pUser->LoyaltyChange(GetID(), bonusNP); + // In parties, the loyalty should be divided up across the party. + // Each party member in range should also receive a "Meat Dumpling". + else + pUser->LoyaltyDivide(GetID(), bonusNP); + + /*if (GetZoneID() != GetNation() && GetZoneID() <= ELMORAD) + { + int64 nExpLost = m_iMaxExp / 100; + + if (GetPremiumProperty(PremiumExpRestorePercent) > 0) + nExpLost = nExpLost * (GetPremiumProperty(PremiumExpRestorePercent)) / 100; + + ExpChange(-nExpLost); + }*/ + + // If we don't have a rival, this player is now our rival for 3 minutes. + if (isInPKZone() + && !hasRival()) + SetRival(pUser); + + if (GetNation() == KARUS && !pUser->isInParty()) + pUser->V3_MonsterCount(KARUS); + else if(GetNation() == ELMORAD && !pUser->isInParty()) + pUser->V3_MonsterCount(ELMORAD); + + if (pUser->isInParty() && (GetNation() == KARUS || GetNation() == ELMORAD)) + { + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty != nullptr) + { + for (int i = 0; i < 8; i++) + { + if (pParty->uid[i] >= 0) + { + CUser * pUserRange = g_pMain->GetUserPtr(pParty->uid[i]); + if (!isInRangeSlow(pUserRange, 50.0f) || pUserRange == nullptr) + continue; + CUser * pUserParty = g_pMain->GetUserPtr(pParty->uid[i]); + + if (GetNation() == KARUS) + pUserParty->V3_MonsterCount(KARUS); + else if (GetNation() == ELMORAD) + pUserParty->V3_MonsterCount(ELMORAD); + } + } + } + } + } + } + } + + m_sWhoKilledMe = pUser->GetID(); + } + + string pKillerPartyUsers; + string pTargetPartyUsers; + + if (GetZoneID() != ZONE_CHAOS_DUNGEON && (pUser->isInParty() || isInParty())) + { + CUser *pPartyUser; + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty) + { + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + pPartyUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pPartyUser) + pKillerPartyUsers += string_format("%s,",pPartyUser->GetName().c_str()); + } + } + + pParty = g_pMain->GetPartyPtr(GetPartyID()); + if (pParty) + { + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + pPartyUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pPartyUser) + pTargetPartyUsers += string_format("%s,",pPartyUser->GetName().c_str()); + } + } + + if (!pKillerPartyUsers.empty()) + pKillerPartyUsers = pKillerPartyUsers.substr(0,pKillerPartyUsers.length() - 1); + + if (!pTargetPartyUsers.empty()) + pTargetPartyUsers = pTargetPartyUsers.substr(0,pTargetPartyUsers.length() - 1); + } + + if (pKillerPartyUsers.empty() && pTargetPartyUsers.empty()) + g_pMain->WriteDeathUserLogFile(string_format("[ USER - %d:%d:%d ] Killer=%s,Target=%s,Zone=%d,X=%d,Z=%d,LoyaltyKiller=%d,LoyaltyMonthlyKiller=%d,LoyaltyTarget=%d,LoyaltyMonthlyTarget=%d\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()),TO_USER(pKiller)->GetLoyalty(),TO_USER(pKiller)->GetMonthlyLoyalty(),GetLoyalty(),GetMonthlyLoyalty())); + else if (pKillerPartyUsers.empty() && !pTargetPartyUsers.empty()) + g_pMain->WriteDeathUserLogFile(string_format("[ USER - %d:%d:%d ] Killer=%s,Target=%s,TargetParty=%s,Zone=%d,X=%d,Z=%d,LoyaltyKiller=%d,LoyaltyMonthlyKiller=%d,LoyaltyTarget=%d,LoyaltyMonthlyTarget=%d\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),GetName().c_str(), pTargetPartyUsers.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()),TO_USER(pKiller)->GetLoyalty(),TO_USER(pKiller)->GetMonthlyLoyalty(),GetLoyalty(),GetMonthlyLoyalty())); + else if (!pKillerPartyUsers.empty() && pTargetPartyUsers.empty()) + g_pMain->WriteDeathUserLogFile(string_format("[ USER - %d:%d:%d ] Killer=%s,KillerParty=%s,Target=%s,Zone=%d,X=%d,Z=%d,LoyaltyKiller=%d,LoyaltyMonthlyKiller=%d,LoyaltyTarget=%d,LoyaltyMonthlyTarget=%d\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),pKillerPartyUsers.c_str(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()),TO_USER(pKiller)->GetLoyalty(),TO_USER(pKiller)->GetMonthlyLoyalty(),GetLoyalty(),GetMonthlyLoyalty())); + else if (!pKillerPartyUsers.empty() && !pTargetPartyUsers.empty()) + g_pMain->WriteDeathUserLogFile(string_format("[ USER - %d:%d:%d ] Killer=%s,KillerParty=%s,Target=%s,TargetParty=%s,Zone=%d,X=%d,Z=%d,LoyaltyKiller=%d,LoyaltyMonthlyKiller=%d,LoyaltyTarget=%d,LoyaltyMonthlyTarget=%d\n",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),pKillerPartyUsers.c_str(),GetName().c_str(), pTargetPartyUsers.c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()),TO_USER(pKiller)->GetLoyalty(),TO_USER(pKiller)->GetMonthlyLoyalty(),GetLoyalty(),GetMonthlyLoyalty())); + } + + if (noticeType != DeathNoticeNone) + SendDeathNotice(pKiller,noticeType); + } + + Unit::OnDeath(pKiller); +} + +/** +* @brief Updates the player's anger gauge level, setting it to +* byAngerGauge. +* +* @param byAngerGauge The anger gauge level. +*/ +void CUser::UpdateAngerGauge(uint8 byAngerGauge) +{ + Packet result(WIZ_PVP, uint8(byAngerGauge == 0 ? PVPResetHelmet : PVPUpdateHelmet)); + + if (byAngerGauge > MAX_ANGER_GAUGE) + byAngerGauge = MAX_ANGER_GAUGE; + + m_byAngerGauge = byAngerGauge; + if (byAngerGauge > 0) + result << uint8(byAngerGauge) << hasFullAngerGauge(); + + Send(&result); +} + +// We have no clan handler, we probably won't need to implement it (but we'll see). +void CUser::SendClanUserStatusUpdate(bool bToRegion /*= true*/) +{ + Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_MODIFY_FAME)); + result << uint8(1) << GetSocketID() + << GetClanID() << GetFame(); + + // TODO: Make this region code user-specific to perform faster. + if (bToRegion) + SendToRegion(&result,nullptr,GetEventRoom()); + else + Send(&result); +} + +void CUser::SendPartyStatusUpdate(uint8 bStatus, uint8 bResult /*= 0*/) +{ + if (!isInParty()) + return; + + Packet result(WIZ_PARTY, uint8(PARTY_STATUSCHANGE)); + result << GetSocketID() << bStatus << bResult; + g_pMain->Send_PartyMember(GetPartyID(), &result); +} + +void CUser::HandleHelmet(Packet & pkt) +{ + if (isDead()) + return; + + Packet result(WIZ_HELMET); + pkt >> m_bIsHidingHelmet; + pkt >> m_bIsHidingCospre; + + result << m_bIsHidingHelmet; + result << m_bIsHidingCospre; + result << uint32(GetSocketID()); + SendToRegion(&result,nullptr,GetEventRoom()); +} + +void CUser::HandleVIPStorage(Packet & pkt) +{ + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + + uint8 OpCode; + + pkt >> OpCode; + + + switch (OpCode) + { + case 1: // request + VipStorageOpenRequest(pkt); + break; + case 2: // item move Inventory -> Vip + VipStorageItemInput(pkt); + break; + case 3: // item move Vip -> Inventory + VipStorageItemOutput(pkt); + break; + case 4: // item move Vip -> Vip + VipStorageItemMove(pkt); + break; + case 5: // item move Inventory -> Inventory + VipStorageInventoryItemMove(pkt); + break; + case 6: // keyi kullanarak aktif etmek slotları + VipStorageUseKey(pkt); + break; + case 8: // yeni sifre belirleme + VipStorageNewPassword(pkt); + break; + case 10: // şifreyi değiştirme + VipStorageChangePassword(pkt); + case 11: // şifre girince + VipStorageOpen(pkt); + break; + default: + break; + } + //printf(" sonunda %d \n",VIPStoreFalseTrying); +} + + + +bool Unit::isInAttackRange(Unit * pTarget, _MAGIC_TABLE * pSkill /*= nullptr*/) +{ + if (pTarget == nullptr) + return false; + + if (pTarget == this + || !isPlayer()) + return true; + + const float fBaseMeleeRange = 15.0f; // far too generous + const float fBaseRangedRange = 65.0f; + + float fRange = fBaseMeleeRange, fWeaponRange = 0.0f; + + _ITEM_DATA * pItem = nullptr; + _ITEM_TABLE * pTable = TO_USER(this)->GetItemPrototype(RIGHTHAND, pItem); + + if (pTable != nullptr + && pItem->sDuration > 0) + { + fWeaponRange = pTable->m_sRange; + } + else + { + pTable = TO_USER(this)->GetItemPrototype(LEFTHAND, pItem); + if (pTable != nullptr + && pItem->sDuration != 0) + fWeaponRange = pTable->m_sRange; + } + + if (pSkill != nullptr) + { + // Not an attack skill, don't need to enforce these restrictions. + if (pSkill->bMoral != MORAL_ENEMY && pSkill->bMoral > MORAL_PARTY) + return true; + + // For physical attack skills (type 1 - melee, type 2 - ranged), we'll need take into account + // the weapon's range. + if (pSkill->bType[0] != 3) + fRange = fWeaponRange; + + // For physical melee & magic skills, try to use the skill's range if it's set. + // Need to allow more for lag, and poorly thought out skill ranges. + // If not, resort to using the weapon range -- or predefined 15m range in the case of type 3 skills. + if (pSkill->bType[0] != 2) + { + return isInRangeSlow(pTarget, fBaseMeleeRange + (pSkill->sRange == 0 ? fRange : pSkill->sRange * 2) + (pSkill->bType[0] == 1 ? fWeaponRange : 0)); + } + // Ranged skills (type 2) don't typically have the main skill range set to anything useful, so + // we need to allow for the: bow's range, flying skill-specific range, and an extra 50m for the + // also extremely poorly thought out ranges. + else + { + _MAGIC_TYPE2 * pType2 = g_pMain->m_Magictype2Array.GetData(pSkill->iNum); + return pType2 != nullptr && isInRangeSlow(pTarget, fRange + pType2->sAddRange + fBaseRangedRange); + } + } + + // Regular attack range. + if (fWeaponRange != 0.0f) + fRange = fBaseMeleeRange + fWeaponRange; + + return isInRangeSlow(pTarget, fRange); +} + +/** +* @brief Determine if we can use the specified item +* via the magic/skill system. +* +* @param itemid The ID of the item. +* @param count Stack (can probably disregard, as it's always 1). +* +* @return true if we can use item, false if not. +*/ +bool CUser::CanUseItem(uint32 nItemID, uint16 sCount /*= 1*/) +{ + _ITEM_TABLE* pItem = pItem = g_pMain->GetItemPtr(nItemID); + if (pItem == nullptr) + return false; + + if (this == nullptr) + return false; + + if(isTrading() + || isMerchanting() + || isStoreOpen() + || m_bMerchantStatex + || isMining()) + return false; + + // Disable scroll usage while transformed. + + /*if(m_transformationType != TransformationNone + && m_transformationType != TransformationMonster + && m_transformationType != TransformationNPC + && m_transformationType != TransformationSiege + ) + return false; + Gereksiz.. + */ + + if (isTransformed()) + { + // Various NPC transformations ("Transform Scrolls") are exempt from this rule -- it's just monsters. + // Also, siege transformations can use their own buff scrolls. + if (isNPCTransformation() && isSiegeTransformation()) + return false; + }// 07.01.2016 + + // If the item's class specific, ensure it can be used by this user. + if ((pItem->m_bClass != 0 && !JobGroupCheck(pItem->m_bClass)) + // Check the item's level requirement + || (GetLevel() < pItem->m_bReqLevel || GetLevel() > pItem->m_bReqLevelMax) + // Ensure the item exists. + || !CheckExistItem(nItemID, sCount)) + return false; + + return true; +} +void CUser::SendUserStatusUpdate(UserStatus type, UserStatusBehaviour status) +{ + Packet result(WIZ_ZONEABILITY, uint8(2)); + result << uint8(type) << uint8(status); + /* + 1 , 0 = Cure damage over time + 1 , 1 = Damage over time + 2 , 0 = Cure poison + 2 , 1 = poison (purple) + 3 , 0 = Cure disease + 3 , 1 = disease (green) + 4 , 1 = blind + 5 , 0 = Cure grey HP + 5 , 1 = HP is grey (not sure what this is) + */ + Send(&result); + + if (isInParty()) + SendPartyStatusUpdate(type, status); +} + +/** +* @brief Gets an item's prototype from a slot in a player's inventory. +* +* @param pos The position of the item in the player's inventory. +* @returns nullptr if an invalid position is specified, or if there's no item at that position. +* The item's prototype (_ITEM_TABLE *) otherwise. +*/ +_ITEM_TABLE* CUser::GetItemPrototype(uint8 pos, _ITEM_DATA *& pItem) +{ + if (pos >= INVENTORY_TOTAL) + return nullptr; + + pItem = GetItem(pos); + return pItem->nNum == 0 ? nullptr : g_pMain->GetItemPtr(pItem->nNum); +} + +/** +* @brief Checks & removes any expired skills from +* the saved magic list. +*/ +void CUser::CheckSavedMagic() +{ + Guard lock(_unitlock); + if (m_savedMagicMap.empty()) + return; + + set deleteSet; + BOOST_FOREACH (auto itr, m_savedMagicMap) + { + if (itr.second <= UNIXTIME) + deleteSet.insert(itr.first); + } + BOOST_FOREACH (auto itr, deleteSet) + m_savedMagicMap.erase(itr); +} + +/** +* @brief Inserts a skill to the saved magic list +* to persist across zone changes/logouts. +* +* @param nSkillID Identifier for the skill. +* @param sDuration The duration. +*/ +void CUser::InsertSavedMagic(uint32 nSkillID, uint16 sDuration) +{ + Guard lock(_unitlock); + UserSavedMagicMap::iterator itr = m_savedMagicMap.find(nSkillID); + + // If the buff is already in the savedBuffMap there's no need to add it again! + if (itr != m_savedMagicMap.end()) + return; + + m_savedMagicMap.insert(make_pair(nSkillID, UNIXTIME + sDuration)); +} + +/** +* @brief Removes the specified skill from the saved magic list. +* +* @param nSkillID Identifier for the skill. +*/ +void CUser::RemoveSavedMagic(uint32 nSkillID) +{ + Guard lock(_unitlock); + m_savedMagicMap.erase(nSkillID); +} + +/** +* @brief Checks if the given skill ID is already in our +* saved magic list. +* +* @param nSkillID Identifier for the skill. +* +* @return true if the skill exists in the saved magic list, false if not. +*/ +bool CUser::HasSavedMagic(uint32 nSkillID) +{ + Guard lock(_unitlock); + return m_savedMagicMap.find(nSkillID) != m_savedMagicMap.end(); +} + +/** +* @brief Gets the duration for a saved skill, +* if applicable. +* +* @param nSkillID Identifier for the skill. +* +* @return The saved magic duration. +*/ +int16 CUser::GetSavedMagicDuration(uint32 nSkillID) +{ + Guard lock(_unitlock); + auto itr = m_savedMagicMap.find(nSkillID); + if (itr == m_savedMagicMap.end()) + return 0; + + return int16(itr->second - UNIXTIME); +} + +/** +* @brief Recasts any saved skills on login/zone change. +*/ +void CUser::RecastSavedMagic(uint8 buffType /* = 0*/) +{ + Guard lock(_unitlock); + UserSavedMagicMap castSet; + BOOST_FOREACH (auto itr, m_savedMagicMap) + { + if (itr.first != 0 || itr.second != 0) + castSet.insert(make_pair(itr.first, itr.second)); + } + + if (castSet.empty()) + return; + + BOOST_FOREACH (auto itr, castSet) + { + if (buffType > 0) + { + _MAGIC_TYPE4 * pType = g_pMain->m_Magictype4Array.GetData(itr.first); + + if (pType == nullptr) + continue; + + if (pType->bBuffType != buffType) + continue; + } + + MagicInstance instance; + instance.sCasterID = GetID(); + instance.sTargetID = GetID(); + instance.nSkillID = itr.first; + instance.bIsRecastingSavedMagic = true; + + instance.Run(); + } +} + +/** +* @brief Recasts any lockable scrolls on debuff. +*/ +void CUser::RecastLockableScrolls(uint8 buffType) +{ + InitType4(false, buffType); + RecastSavedMagic(buffType); +} + + +/** +* @brief Displays the player rankings board in PK zones, +* when left-ALT is held. +* +* @param pkt The packet. +*/ +void CUser::HandlePlayerRankings(Packet & pkt) +{ + if (g_pMain->m_IsPlayerRankingUpdateProcess) + return; + + uint8 nRankType = 0; + pkt >> nRankType; + + Packet result(WIZ_RANK, nRankType); + + uint16 nMyRank = 0; + uint16 sCount = 0; + size_t wpos = 0; + + std::vector<_USER_RANKING> UserRankingSorted[ALL]; // 0 = Karus, 1 = Human and 2 = Both Nations + + for (int nation = KARUS_ARRAY; nation <= ELMORAD_ARRAY; nation++) + { + foreach_stlmap (itr, g_pMain->m_UserRankingArray[nation]) + UserRankingSorted[nRankType == RANK_TYPE_CHAOS_DUNGEON ? ALL - 1 : nation].push_back(*itr->second); + + if (nRankType == RANK_TYPE_PK_ZONE + || nRankType == RANK_TYPE_ZONE_BORDER_DEFENSE_WAR) + { + sCount = 0; + wpos = result.wpos(); + result << sCount; + + std::sort(UserRankingSorted[nation].begin(), UserRankingSorted[nation].end(), + [] (_USER_RANKING const &a, _USER_RANKING const &b ){ return a.m_iLoyaltyDaily > b.m_iLoyaltyDaily; }); + + if ((uint32)UserRankingSorted[nation].size() > 0) + { + // Get my rank... + if ((nation + 1) == GetNation()) + { + for (int i = 0; i < (int32)UserRankingSorted[nation].size(); i++) + { + if (GetZoneID() != UserRankingSorted[nation][i].pUser->GetZoneID()) + continue; + + nMyRank++; + + if (UserRankingSorted[nation][i].pUser->GetID() == GetID()) + break; + } + } + + for (int i = 0; i < (int32)UserRankingSorted[nation].size(); i++) + { + if ((nRankType == RANK_TYPE_PK_ZONE && sCount > 9) + || (nRankType == RANK_TYPE_ZONE_BORDER_DEFENSE_WAR && sCount > 7)) + break; + + _USER_RANKING * pRankInfo = &UserRankingSorted[nation][i]; + + if (pRankInfo == nullptr) + continue; + + if (GetZoneID() == pRankInfo->pUser->GetZoneID() + && (GetEventRoom() == pRankInfo->pUser->GetEventRoom() || GetEventRoom() == 0)) + { + CUser *pUser = g_pMain->GetUserPtr(pRankInfo->m_socketID); + + if (pUser == nullptr) + continue; + + if (!pUser->isInGame()) + continue; + + result << pUser->GetName() << true; + + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + + if (pKnights == nullptr) + result << uint16(0) << uint16(0) << (std::string)""; + else + result << pKnights->GetID() << pKnights->m_sMarkVersion << pKnights->GetName(); + + result << pRankInfo->m_iLoyaltyDaily; + + if(nRankType == RANK_TYPE_PK_ZONE) + result << pRankInfo->m_iLoyaltyPremiumBonus; + + sCount++; + + } + } + } + + result.put(wpos, sCount); + wpos = result.wpos(); + } + } + + if (nRankType == RANK_TYPE_CHAOS_DUNGEON && (uint32)UserRankingSorted[ALL-1].size() > 0) + { + std::sort(UserRankingSorted[ALL-1].begin(), UserRankingSorted[ALL-1].end(), + []( _USER_RANKING const &a, _USER_RANKING const &b ){ return a.m_KillCount != b.m_KillCount ? a.m_KillCount > b.m_KillCount : a.m_DeathCount > b.m_DeathCount; }); + result.DByte(); + // Get Event Room Users count + result << uint8(g_pMain->TempleEventGetRoomUsers(GetEventRoom())); + + for (int i = 0; i < (int32)UserRankingSorted[ALL-1].size(); i++) + { + _USER_RANKING * pRankInfo = &UserRankingSorted[ALL-1][i]; + + if (pRankInfo == nullptr) + continue; + + if (GetSocketID() == pRankInfo->m_socketID) + continue; + + if (GetZoneID() == pRankInfo->pUser->GetZoneID() + && (GetEventRoom() == pRankInfo->pUser->GetEventRoom() || GetEventRoom() == 0)) + { + CUser *pUser = g_pMain->GetUserPtr(pRankInfo->m_socketID); + + if (pUser == nullptr) + continue; + + if (!pUser->isInGame()) + continue; + + result << pUser->GetName() + << pUser->m_KillCount << pUser->m_DeathCount; + + } + } + } + + if (nRankType == RANK_TYPE_PK_ZONE) + result << nMyRank << m_iLoyaltyDaily << m_iLoyaltyPremiumBonus; + else if (nRankType == RANK_TYPE_ZONE_BORDER_DEFENSE_WAR) + { + int32 nChangeExpMax = 0, nChangeExpMin = 0; + if (GetLevel() > 20) + nChangeExpMax = (40+m_iLoyaltyDaily)*(GetLevel()-19)*1800; + else + nChangeExpMax = 100000; + + if(GetLevel() > 20) + nChangeExpMin = ((40+m_iLoyaltyDaily)*(GetLevel()-19)*1260) - (40+m_iLoyaltyDaily); + else + nChangeExpMin = 50000; + + result << int32(nChangeExpMax)/*Win*/ << int32(nChangeExpMin)/*Lose*/; + + }else if (nRankType == RANK_TYPE_CHAOS_DUNGEON) + { + uint64 nGainedExp = uint32(pow(GetLevel(),3) * 0.15 * (5 * ((m_KillCount - m_DeathCount) > 0 ? (m_KillCount - m_DeathCount) : 1))); + uint64 nPremiumGainedExp = nGainedExp * 2; + + if (nGainedExp > 8000000) + nGainedExp = 8000000; + + if (nPremiumGainedExp > 8000000) + nPremiumGainedExp = 8000000; + + + result << GetName() + << m_KillCount << m_DeathCount + << nGainedExp << nPremiumGainedExp; + } + + Send(&result); +} + +uint16 CUser::GetPlayerRank(uint8 nRankType) +{ + uint16 nMyRank = 0; + uint8 nRankArrayIndex = (nRankType == RANK_TYPE_PK_ZONE + || nRankType == RANK_TYPE_ZONE_BORDER_DEFENSE_WAR + ? GetNation() -1 + : ALL-1); + + std::vector<_USER_RANKING> UserRankingSorted[ALL]; // 0 = Karus, 1 = Human and 2 = Both Nations + + for (int nation = KARUS_ARRAY; nation <= ELMORAD_ARRAY; nation++) + { + foreach_stlmap (itr, g_pMain->m_UserRankingArray[nation]) + UserRankingSorted[nRankType == RANK_TYPE_CHAOS_DUNGEON ? ALL -1 : nation].push_back(*itr->second); + } + + if (nRankArrayIndex < ELMORAD) + { + std::sort(UserRankingSorted[nRankArrayIndex].begin(), UserRankingSorted[nRankArrayIndex].end(), + [] (_USER_RANKING const &a, _USER_RANKING const &b ){ return a.m_iLoyaltyDaily > b.m_iLoyaltyDaily; }); + } + else if (nRankArrayIndex == ELMORAD) + { + std::sort(UserRankingSorted[nRankArrayIndex].begin(), UserRankingSorted[nRankArrayIndex].end(), + []( _USER_RANKING const &a, _USER_RANKING const &b ){ return a.m_KillCount > b.m_KillCount; }); + } + + for (int i = 0; i < (int32)UserRankingSorted[nRankArrayIndex].size(); i++) + { + _USER_RANKING * pRankInfo = &UserRankingSorted[nRankArrayIndex][i]; + + if (pRankInfo) + { + if (GetZoneID() == pRankInfo->pUser->GetZoneID() + && GetEventRoom() == pRankInfo->pUser->GetEventRoom()) + { + + nMyRank++; + + if (GetSocketID() == pRankInfo->m_socketID) + break; + } + } + } + + return nMyRank; +} + +/** +* @brief Handles packets related to the mining system. +* Also handles soccer-related packets (yuck). +* +* @param pkt The packet. +*/ +void CUser::HandleMiningSystem(Packet & pkt) +{ + uint8 opcode; + pkt >> opcode; + + if(isTrading() || m_bMerchantStatex || isMerchanting() || isStoreOpen()) + return; + + switch (opcode) + { + case MiningStart: + HandleMiningStart(pkt); + break; + + case MiningAttempt: + HandleMiningAttempt(pkt); + break; + + case MiningStop: + HandleMiningStop(pkt); + break; + + case FishingStart: + HandleFishingStart(pkt); + break; + + case FishingAttempt: + HandleFishingAttempt(pkt); + break; + + case FishingStop: + HandleFishingStop(pkt); + break; + + case MiningThing: + HandleMiningThing(pkt); + break; + + case MiningSoccer: + HandleSoccer(pkt); + break; + + default: + TRACE("[SID=%d] Unknown packet %X\n", GetSocketID(), opcode); + return; + } +} + +/** +* @brief Handles users requesting to start mining. +* NOTE: This is a mock-up, so be warned that it does not +* handle checks such as identifying if the user is allowed +* to mine in this area. +* +* @param pkt The packet. +*/ +void CUser::HandleMiningStart(Packet & pkt) +{ + Packet result(WIZ_MINING, uint8(MiningStart)); + uint16 resultCode = MiningResultSuccess; + + + // Are we mining already? + if (isMining()) + resultCode = MiningResultMiningAlready; + + // Do we have a pickaxe? Is it worn? + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable = GetItemPrototype(RIGHTHAND, pItem); + if (pItem == nullptr || pTable == nullptr + || pItem->sDuration <= 0 + || !pTable->isPickaxe()) + resultCode = MiningResultNotPickaxe; + + result << resultCode; + + // If nothing went wrong, allow the user to start mining. + // Be sure to let everyone know we're mining. + if (resultCode == MiningResultSuccess) + { + m_bResHpType = USER_MINING; + m_bMining = true; + result << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + } + else + { + Send(&result); + } +} + +/** +* @brief Handles a user's mining attempt by finding a random reward (or none at all). +* This is sent automatically by the client every MINING_DELAY (5) seconds. +* +* @param pkt The packet. +*/ +void CUser::HandleMiningAttempt(Packet & pkt) +{ + if (!isMining()) + return; + + Packet result(WIZ_MINING, uint8(MiningAttempt)); + uint16 resultCode = MiningResultSuccess; + + // Do we have a pickaxe? Is it worn? + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable = GetItemPrototype(RIGHTHAND, pItem); + if (pItem == nullptr || pTable == nullptr + || pItem->sDuration <= 0 // are we supposed to wear the pickaxe on use? Need to verify. + || !pTable->isPickaxe()) + resultCode = MiningResultNotPickaxe; + + // Check to make sure we're not spamming the packet... + if ((UNIXTIME - m_tLastMiningAttempt) < MINING_DELAY) + resultCode = MiningResultMiningAlready; // as close an error as we're going to get... + + // Effect to show to clients + uint16 sEffect = 0; + + // This is just a mock-up based on another codebase's implementation. + // Need to log official data to get a proper idea of how it behaves, rate-wise, + // so that we can then implement it more dynamically. + if (resultCode == MiningResultSuccess) // kazı başarılı ise + { + uint32 Random; + uint32 DropBonus = 0; + + + if (GetPremiumProperty(PremiumDropPercent) > 0) // premium varsa şansı premium rate kadar yükselt + { + DropBonus += (100) * GetPremiumProperty(PremiumDropPercent); + } + + if (m_FlashDcBonus > 0 ) + { + DropBonus += (m_FlashDcBonus * 10); + } + + if (pTable->m_iNum == GOLDEN_MATTOCK) // golden mottok kulanıyorsa %2 oranında şansı yükselt + { + DropBonus += 200; + } + + if (DropBonus > 0 ) + Random = myrand(0, (9999 - DropBonus)); + else + Random = myrand(0, 9999); + + while(Random > 9999) + { + if (Random > 9999) + Random -= (2*(Random-9999)); + } + if (Random < 1) + Random = 1; + + + + uint32 nItemID = 0; + + if(pTable->m_iNum != GOLDEN_MATTOCK) + nItemID = g_pMain->bRandArrayNormalMattock[Random]; + else + nItemID = g_pMain->bRandArrayGoldenMattock[Random]; + + if(nItemID == 900001000) // EXP + { + ExpChange(1); + sEffect = 13082; // "XP" effect + } + else + { + GiveItem(nItemID, 1); + sEffect = 13081; // "Item" effect + } + // Finally, give our item. + + + + + m_tLastMiningAttempt = UNIXTIME; + } + + result << resultCode << GetID() << sEffect; + + ItemWoreOut(ATTACK,100); + + if (resultCode != MiningResultSuccess + && resultCode != MiningResultNothingFound) + { + // Tell us the error first + Send(&result); + + // and then tell the client to stop mining + HandleMiningStop(pkt); + return; + } + + if(resultCode != MiningResultNothingFound) + SendToRegion(&result,nullptr,GetEventRoom()); + else if(resultCode == MiningResultNothingFound) + Send(&result); +} +/** +* @brief Handles when a user stops mining. +* +* @param pkt The packet. +*/ +void CUser::HandleMiningStop(Packet & pkt) +{ + if (!isMining()) + return; + + Packet result(WIZ_MINING, uint8(MiningStop)); + result << uint16(1) << GetID(); + m_bResHpType = USER_STANDING; + m_bMining = false; + SendToRegion(&result,nullptr,GetEventRoom()); +} + +void CUser::HandleMiningThing(Packet & pkt) +{ + Packet result(WIZ_MINING, uint8(MiningSoccer)); + uint16 resultCode = MiningResultSuccess; + + // Are we mining already? + if (isMining()) + resultCode = MiningResultMiningAlready; + + result << resultCode; + + // If nothing went wrong, allow the user to start mining. + // Be sure to let everyone know we're mining. + if (resultCode == MiningResultSuccess) + { + m_bResHpType = USER_FLASHING; + m_bMining = true; + result << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + } + else + { + Send(&result); + } +} + +void CUser::HandleSoccer(Packet & pkt) +{ + +} + +/// Fish Stard +void CUser::HandleFishingStart(Packet & pkt) +{ + Packet result(WIZ_MINING, uint8(FishingStart)); + uint16 resultCode = MiningResultSuccess; + + // Are we mining already? + if (isMining()) + resultCode = MiningResultMiningAlready; + + // Do we have a pickaxe? Is it worn? + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable = GetItemPrototype(RIGHTHAND, pItem); + if (pItem == nullptr || pTable == nullptr + || pItem->sDuration <= 0 + || !pTable->isFishing() + || GetItemCount(RAINWORM) <= 0) + resultCode = MiningResultNotPickaxe; + + result << resultCode; + + // If nothing went wrong, allow the user to start mining. + // Be sure to let everyone know we're mining. + if (resultCode == MiningResultSuccess) + { + m_bResHpType = USER_FLASHING; + m_bMining = true; + result << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + } + else + { + Send(&result); + } +} + +/** +* @brief Handles a user's mining attempt by finding a random reward (or none at all). +* This is sent automatically by the client every MINING_DELAY (5) seconds. +* +* @param pkt The packet. +*/ +void CUser::HandleFishingAttempt(Packet & pkt) +{ + if (!isMining()) + return; + + Packet result(WIZ_MINING, uint8(FishingAttempt)); + + uint16 resultCode = MiningResultSuccess; + + // Do we have a pickaxe? Is it worn? + _ITEM_DATA * pItem; + _ITEM_TABLE * pTable = GetItemPrototype(RIGHTHAND, pItem); + if (pItem == nullptr || pTable == nullptr + || pItem->sDuration <= 0 // are we supposed to wear the pickaxe on use? Need to verify. + || !pTable->isFishing() + || (GetItemCount(RAINWORM) <= 0 && pTable->m_iNum != GOLDEN_FISHING)) + resultCode = MiningResultNotPickaxe; + + // Check to make sure we're not spamming the packet... + if ((UNIXTIME - m_tLastMiningAttempt) < MINING_DELAY) + resultCode = MiningResultMiningAlready; // as close an error as we're going to get... + + // Effect to show to clients + uint16 sEffect = 0; + + // This is just a mock-up based on another codebase's implementation. + // Need to log official data to get a proper idea of how it behaves, rate-wise, + // so that we can then implement it more dynamically. + if (resultCode == MiningResultSuccess) + { + int rate = myrand(1, 100), random = myrand(1, 10000); + + if (GetPremiumProperty(PremiumDropPercent) > 0) + { + rate += (rate / 100) * GetPremiumProperty(PremiumDropPercent); + random += (rate / 100) * GetPremiumProperty(PremiumDropPercent); + } + + if (pTable->m_iNum == GOLDEN_FISHING) + { + rate += (rate / 100) * 10; + random += (random / 100) * 10; + } + + if (rate > 100) + rate = 100; + if (random > 10000) + random = 10000; + + if (random <= 5000) + { + if (GetLevel() >= 35 && GetLevel() <= 59) + ExpChange(100); + if (GetLevel() >= 60 && GetLevel() <= 69) + ExpChange(200); + if (GetLevel() >= 70) + ExpChange(300); + sEffect = 13082; // "XP" effect + } + else if (random <= 6500) + { + if (pTable->m_iNum == GOLDEN_FISHING) + GiveItem(g_pMain->f_Drop1); + if (pTable->m_iNum == FISHING) + GiveItem(g_pMain->gf_Drop1); + sEffect = 30730; // "Fish" effect + } + else if (random <= 8000) + { + if (pTable->m_iNum == GOLDEN_FISHING) + GiveItem(g_pMain->f_Drop2); + if (pTable->m_iNum == FISHING) + GiveItem(g_pMain->gf_Drop2); + sEffect = 30730; // "Fish" effect + } + else if (random <= 10000) + { + if (pTable->m_iNum == GOLDEN_FISHING) + GiveItem(g_pMain->f_Drop3); + if (pTable->m_iNum == FISHING) + GiveItem(g_pMain->gf_Drop3); + sEffect = 30730; // "Fish" effect + } + else + { + sEffect = 30731; // "Fail" effect + } + m_tLastMiningAttempt = UNIXTIME; + } + + result << resultCode << GetID() << sEffect; + + if(pTable == nullptr) + return; + + if (pTable->m_iNum != GOLDEN_FISHING) + RobItem(RAINWORM,1); + ItemWoreOut(ATTACK,100); + + if (resultCode != MiningResultSuccess + && resultCode != MiningResultNothingFound) + { + // Tell us the error first + Send(&result); + + // and then tell the client to stop mining + HandleFishingStop(pkt); + return; + } + + if(resultCode != MiningResultNothingFound) + SendToRegion(&result,nullptr,GetEventRoom()); + else if(resultCode == MiningResultNothingFound) + Send(&result); + +} + + + +/** +* @brief Handles when a user stops mining. +* +* @param pkt The packet. +*/ +void CUser::HandleFishingStop(Packet & pkt) +{ + if (!isMining()) + return; + + Packet result(WIZ_MINING, uint8(FishingStop)); + result << uint16(1) << GetID(); + m_bResHpType = USER_STANDING; + m_bMining = false; + SendToRegion(&result,nullptr,GetEventRoom()); +} +//Stop +void CUser::InitializeStealth() +{ + Packet pkt(WIZ_STEALTH); + pkt << uint8(0) << uint16(0); + Send(&pkt); +} + +void CUser::GrantChickenManner() +{ + uint8 bLevel = GetLevel(), bManner = 0; + // No manner points if you're not a chicken anymore nor when you're not in a party. + if (!m_bIsChicken || !isInParty()) + return; + + _PARTY_GROUP *pParty = nullptr; + pParty = g_pMain->GetPartyPtr(GetPartyID()); + + if(pParty == nullptr) + return; + + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + CUser *pTargetUser = nullptr; + if (pParty->uid[i] != GetSocketID()) + pTargetUser = g_pMain->GetUserPtr(pParty->uid[i]); + + if (pTargetUser == nullptr + || pTargetUser->isDead() + || pTargetUser->m_bIsChicken) + continue; + + if (!isInRange(pTargetUser, RANGE_50M)) + continue; + + if (pTargetUser->GetLevel() > 20 && pTargetUser->GetLevel() < 40) + bManner = pTargetUser->GetLevel() / 10; + else + bManner = 1; + + pTargetUser->SendMannerChange(bManner); + } +} + +void CUser::SendMannerChange(int32 iMannerPoints) +{ + //Make sure we don't have too many or too little manner points! + if(m_iMannerPoint + iMannerPoints > LOYALTY_MAX) + m_iMannerPoint = LOYALTY_MAX; + else if (m_iMannerPoint + iMannerPoints < 0) + m_iMannerPoint = 0; + else + m_iMannerPoint += iMannerPoints; + + Packet pkt(WIZ_LOYALTY_CHANGE, uint8(LOYALTY_MANNER_POINTS)); + pkt << m_iMannerPoint; + Send(&pkt); +} + +uint8 CUser::GetUserDailyOp(uint8 type) +{ + if (type == 0) + return 0; + + int32 nUnixTime = -1; + + UserDailyOpMap::iterator itr = g_pMain->m_UserDailyOpMap.find(GetName()); + + if (itr != g_pMain->m_UserDailyOpMap.end()) + { + if (type == DAILY_CHAOS_MAP) + nUnixTime = int(itr->second->ChaosMapTime); + else if (type == DAILY_USER_RANK_REWARD) + nUnixTime = int(itr->second->UserRankRewardTime); + else if (type == DAILY_USER_PERSONAL_RANK_REWARD) + nUnixTime = int(itr->second->PersonalRankRewardTime); + else if (type == DAILY_KING_WING) + nUnixTime = int(itr->second->KingWingTime); + else if (type == DAILY_WARDER_KILLER_WING1) + nUnixTime = int(itr->second->WarderKillerTime1); + else if (type == DAILY_WARDER_KILLER_WING2) + nUnixTime = int(itr->second->WarderKillerTime2); + else if (type == DAILY_KEEPER_KILLER_WING) + nUnixTime = int(itr->second->KeeperKillerTime); + else if (type == DAILY_USER_LOYALTY_WING_REWARD) + nUnixTime = int(itr->second->UserLoyaltyWingRewardTime); + + if (nUnixTime == -1) + SetUserDailyOp(type); + else + { + if (((int32(UNIXTIME) - nUnixTime) / 60) > DAILY_OPERATIONS_MINUTE) + SetUserDailyOp(type); + else + return 0; + } + } + else + SetUserDailyOp(type, true); + + return 1; +} + +void CUser::SetUserDailyOp(uint8 type, bool isInsert) +{ + if (type == 0) + return; + + int32 nUnixTime = int32(UNIXTIME); + + if (isInsert) + { + _USER_DAILY_OP * pData = new _USER_DAILY_OP; + + pData->strUserId = GetName(); + pData->ChaosMapTime = -1; + pData->UserRankRewardTime = -1; + pData->PersonalRankRewardTime = -1; + pData->KingWingTime = -1; + pData->WarderKillerTime1 = -1; + pData->WarderKillerTime2 = -1; + pData->KeeperKillerTime = -1; + pData->UserLoyaltyWingRewardTime = -1; + + if (type == DAILY_CHAOS_MAP) + pData->ChaosMapTime = nUnixTime; + else if (type == DAILY_USER_RANK_REWARD) + pData->UserRankRewardTime = nUnixTime; + else if (type == DAILY_USER_PERSONAL_RANK_REWARD) + pData->PersonalRankRewardTime = nUnixTime; + else if (type == DAILY_KING_WING) + pData->KingWingTime = nUnixTime; + else if (type == DAILY_WARDER_KILLER_WING1) + pData->WarderKillerTime1 = nUnixTime; + else if (type == DAILY_WARDER_KILLER_WING2) + pData->WarderKillerTime2 = nUnixTime; + else if (type == DAILY_KEEPER_KILLER_WING) + pData->KeeperKillerTime = nUnixTime; + else if (type == DAILY_USER_LOYALTY_WING_REWARD) + pData->UserLoyaltyWingRewardTime = nUnixTime; + + g_pMain->m_UserDailyOpMap.insert(make_pair(pData->strUserId, pData)); + g_DBAgent.InsertUserDailyOp(pData); + } + else + { + UserDailyOpMap::iterator itr = g_pMain->m_UserDailyOpMap.find(GetName()); + if (itr != g_pMain->m_UserDailyOpMap.end()) + { + if (type == DAILY_CHAOS_MAP) + itr->second->ChaosMapTime = nUnixTime; + else if (type == DAILY_USER_RANK_REWARD) + itr->second->UserRankRewardTime = nUnixTime; + else if (type == DAILY_USER_PERSONAL_RANK_REWARD) + itr->second->PersonalRankRewardTime = nUnixTime; + else if (type == DAILY_KING_WING) + itr->second->KingWingTime = nUnixTime; + else if (type == DAILY_WARDER_KILLER_WING1) + itr->second->WarderKillerTime1 = nUnixTime; + else if (type == DAILY_WARDER_KILLER_WING2) + itr->second->WarderKillerTime2 = nUnixTime; + else if (type == DAILY_KEEPER_KILLER_WING) + itr->second->KeeperKillerTime = nUnixTime; + else if (type == DAILY_USER_LOYALTY_WING_REWARD) + itr->second->UserLoyaltyWingRewardTime = nUnixTime; + + g_DBAgent.UpdateUserDailyOp(GetName(), type, nUnixTime); + } + } +} + +uint32 CUser::GetEventTrigger() +{ + CNpc *pNpc = g_pMain->GetNpcPtr(GetTargetID()); + if (pNpc == nullptr) + return 0; + + foreach_stlmap_nolock (itr, g_pMain->m_EventTriggerArray) { + _EVENT_TRIGGER *pEventTrigger = g_pMain->m_EventTriggerArray.GetData(itr->first); + + if (pEventTrigger == nullptr) + continue; + + if (pNpc->m_tNpcType != pEventTrigger->bNpcType) + continue; + + if (pNpc->m_byTrapNumber == pEventTrigger->sNpcID) + return pEventTrigger->nTriggerNum; + } + + return 0; +} + +void CUser::RemoveStealth() +{ + if (this->m_bInvisibilityType != INVIS_NONE) + { + CMagicProcess::RemoveStealth(this, INVIS_DISPEL_ON_MOVE); + CMagicProcess::RemoveStealth(this, INVIS_DISPEL_ON_ATTACK); + } +} + +void CUser::GivePremium(uint8 bPremiumType, uint16 sPremiumTime) +{ + + m_bAccountStatus = 1; + _PREMIUM_TYPE * pPremium = new _PREMIUM_TYPE; + _PREMIUM_TYPE * nPremium = PremiumList.GetData(bPremiumType); + + pPremium->PremiumTime = sPremiumTime * 24; + pPremium->PremiumType = bPremiumType; + + if (nPremium == nullptr) + PremiumList.PutData(pPremium->PremiumType,pPremium); + else + nPremium->PremiumTime += sPremiumTime * 24; + + if (PremiumID == 0) + PremiumID = bPremiumType; + + g_DBAgent.SavePremiumServiceUser(this, pPremium); + SendPremiumInfo(); +} + +void CUser::PremiumSwitchHandle(Packet & pkt) +{ + + uint8 ChangePremiumID; + uint8 opcode = pkt.read(); + _PREMIUM_TYPE * pPremium; + Packet result(WIZ_PREMIUM); + + switch(opcode) + { + case 4: + ChangePremiumID = pkt.read(); + result << uint8(4); + pPremium = PremiumList.GetData(ChangePremiumID); + + if (pPremium == nullptr) + return; + + if (PremiumChangeTime + PREMIUM_CHANGE_TIME >= UNIXTIME) + goto failed_return; + + PremiumChangeTime = UNIXTIME; + PremiumID = ChangePremiumID; + g_DBAgent.UpdatePremiumType(PremiumID,GetAccountName()); + + result << PremiumID << int16(1); + Send(&result); + return; + break; + default: + printf("PremiumSwitchHandle Handle Unknow : %d\n",opcode); + break; + } + +failed_return: + result << ChangePremiumID << int16(-1) << uint16(PREMIUM_CHANGE_TIME - (UNIXTIME - PremiumChangeTime)); + Send(&result); +} + +void CUser::RobChaosSkillItems() +{ + if (GetItemCount(ITEM_LIGHT_PIT) > 0) + RobItem(ITEM_LIGHT_PIT, GetItemCount(ITEM_LIGHT_PIT)); + if (GetItemCount(ITEM_DRAIN_RESTORE) > 0) + RobItem(ITEM_DRAIN_RESTORE, GetItemCount(ITEM_DRAIN_RESTORE)); + if (GetItemCount(ITEM_KILLING_BLADE) > 0) + RobItem(ITEM_KILLING_BLADE, GetItemCount(ITEM_KILLING_BLADE)); +} + +void CUser::SiegeWarFareNpc(Packet & pkt) +{ + uint8 opcode , type ; + uint16 tarrif; + pkt >> opcode >> type >> tarrif; + _KNIGHTS_SIEGE_WARFARE *pKnightSiegeWarFare = g_pMain->GetSiegeMasterKnightsPtr(1); + CKnights *pKnight = g_pMain->GetClanPtr(pKnightSiegeWarFare->sMasterKnights); + + if(pKnightSiegeWarFare == nullptr) + return; + + + + Packet result(WIZ_SIEGE); + switch (opcode) + { + case 3: //moradon npc + { + result << opcode << type; + switch (type) + { + case 2: + result << pKnightSiegeWarFare->sCastleIndex + << uint16(pKnightSiegeWarFare->bySiegeType) + << pKnightSiegeWarFare->byWarDay + << pKnightSiegeWarFare->byWarTime + << pKnightSiegeWarFare->byWarMinute; + Send(&result); + break; + + case 4: + result.SByte(); + result + << pKnightSiegeWarFare->sCastleIndex + << uint8(1) + << pKnight->GetName() + << pKnight->m_byNation + << pKnight->m_sMembers + << pKnightSiegeWarFare->byWarRequestDay + << pKnightSiegeWarFare->byWarRequestTime + << pKnightSiegeWarFare->byWarRequestMinute; + Send(&result); + break; + + case 5: + result.SByte(); + result + << pKnightSiegeWarFare->sCastleIndex + << pKnightSiegeWarFare->bySiegeType + << pKnight->GetName() + << pKnight->m_byNation + << pKnight->m_sMembers; + Send(&result); + break; + + default: + break; + } + }break; + + case 4: //delos npc + { + + if(pKnight == nullptr + || GetClanID() == 0 + || pKnightSiegeWarFare->sMasterKnights != GetClanID() + || !isClanLeader()) + return; + + C3DMap* TMap = g_pMain->GetZoneByID(ZONE_MORADON); + C3DMap* TMap2 = g_pMain->GetZoneByID(ZONE_MORADONM2); + C3DMap* TsMap = g_pMain->GetZoneByID(ZONE_DELOS); + result << opcode << type; + switch (type) + { + case 2: + pKnightSiegeWarFare->nDungeonCharge += pKnightSiegeWarFare->nDellosTax + pKnightSiegeWarFare->nMoradonTax; + pKnightSiegeWarFare->nDellosTax = 0; + pKnightSiegeWarFare->nMoradonTax = 0; + GoldGain(pKnightSiegeWarFare->nDungeonCharge,true); + pKnightSiegeWarFare->nDungeonCharge = 0; + g_pMain->UpdateSiegeTax(0 , 0); + break; + case 3: + result << pKnightSiegeWarFare->sCastleIndex + << pKnightSiegeWarFare->sMoradonTariff + << pKnightSiegeWarFare->sDellosTariff + << (pKnightSiegeWarFare->nDungeonCharge += pKnightSiegeWarFare->nDellosTax + pKnightSiegeWarFare->nMoradonTax); + pKnightSiegeWarFare->nDellosTax = 0; + pKnightSiegeWarFare->nMoradonTax = 0; + Send(&result); + break; + case 4: + if(tarrif > 20 + || tarrif < 0) + tarrif = 20; + pKnightSiegeWarFare->sMoradonTariff = tarrif; + TMap->SetTariff(uint8(tarrif)); + TMap2->SetTariff(uint8(tarrif)); + g_pMain->UpdateSiegeTax(ZONE_MORADON , tarrif); + result << uint16(1) << tarrif << uint8(ZONE_MORADON); + g_pMain->Send_All(&result); + g_pMain->m_KnightsSiegeWarfareArray.GetData(pKnightSiegeWarFare->sMasterKnights); + break; + case 5: + if(tarrif > 20 + || tarrif < 0) + tarrif = 20; + pKnightSiegeWarFare->sDellosTariff = tarrif; + TsMap->SetTariff(uint8(tarrif)); + g_pMain->UpdateSiegeTax(ZONE_DELOS , tarrif); + result << uint16(1) << tarrif << uint8(ZONE_DELOS); + g_pMain->Send_All(&result); + g_pMain->m_KnightsSiegeWarfareArray.GetData(pKnightSiegeWarFare->sMasterKnights); + break; + default: + break; + } + }break; + default: + break; + } +} + +void CUser::LogosShout(Packet & pkt) +{ + + if(isTrading() || isMerchanting() || m_bMerchantStatex || isDead()) + return; + + if (!CheckExistItem(800075000,1)) + return; + + uint8 opcode; + uint32 RGB; + std::string Notice; + pkt.SByte(); + pkt >> opcode >> RGB >> Notice; + + Packet result(WIZ_LOGOSSHOUT); + result.SByte(); + result << uint8(2) << uint8(1) << RGB << Notice; + RobItem(800075000,1); + g_pMain->Send_All(&result); + +} +void CUser::HandleGenie(Packet & pkt) +{ + uint8 command = pkt.read(); + + switch (command) + { + case 0x01: + GenieNonAttackProgress(pkt); + break; + case 0x02: + GenieAttackProgress(pkt); + break; + default: + printf("[%s] Genie Non Attack Unknow Handle %d Packet Len [%d]\r\n",GetName().c_str(),command,pkt.size()); + break; + } +} + + +void CUser::GenieNonAttackProgress(Packet & pkt) +{ + + enum GenieNonAttackType + { + GenieUseSpiringPotion = 1, + GenieLoadOptions = 0x02, + GenielSaveOptions = 0x03, + GenieStartHandle = 0x04, + GenieStopHandle = 0x05 + }; + + uint8 command = pkt.read(); + + switch (command) + { + case GenieUseSpiringPotion: + GenieUseGenieSpirint(); + break; + case GenieStartHandle: + GenieStart(); + break; + case GenielSaveOptions: + for(int i=0; i(); + } + break; + case GenieLoadOptions: + { + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(2);// << m_GenieOptions; + + for(int i=0; i(); + + if(m_GenieTime == 0) + GenieStop(); + + switch (command) + { + case GenieMove: + MoveProcess(pkt); + break; + case GenieMagic: + CMagicProcess::MagicPacket(pkt, this); + break; + case GenieMainAttack: + Attack(pkt); + break; + default: + TRACE("[%s] Genie Unknow Attack Handle %d Packet Len[%d]\r\n",GetName().c_str(),command,pkt.size()); + break; + } +} + +void CUser::GenieStart() +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(4) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = true; + UserInOut(INOUT_IN); + Send(&result); +} + +void CUser::GenieStop() +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(5) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = false; + UserInOut(INOUT_IN); + Send(&result); +} + +void CUser::UpdateGenieTime(uint16 m_sTime) +{ + Packet result(WIZ_GENIE); + + result << uint8(0x01) << uint8(4) << uint16(1) << uint16(m_GenieTime); + m_bGenieStatus = true; + + Send(&result); +} + +void CUser::GenieUseGenieSpirint() +{ + Packet result(WIZ_GENIE); + + // item check and rob + uint16 CountA,CountB; + + CountA = GetItemCount(810305000); + CountB = GetItemCount(810306000); + + if(CountA < 1 && CountB < 1) + return; + else if(CountA > 0 ) + RobItem(810305000); + else if(CountB > 0) + RobItem(810306000); + + + + m_GenieTime = 120; + + result << uint8(1) << uint8(1) << GetGenieTime(); + + Send(&result); + +} + +void CUser::GenieInfo() +{ + Packet result(WIZ_GENIE); + result << uint8(1) << uint8(1) << GetGenieTime(); + Send(&result); +} + +void CUser::ExpFlash() +{ + if (GetLevel() > 79) + return; + + if(PremiumID == 11) + { + if(m_FlashExpBonus == 1) + m_FlashExpBonus = 0; + + m_FlashExpBonus += 10; + + if(m_FlashExpBonus > 80) + m_FlashExpBonus = 80; + + SendNotice(); + } + else + { + + if(m_FlashExpBonus == 1) + m_FlashExpBonus = 0; + + m_FlashExpBonus += 10; + + if(m_FlashExpBonus > 40) + m_FlashExpBonus = 40; + + SendNotice(); + + } +} + +void CUser::DcFlash() +{ + if(PremiumID == 10) + { + if(m_FlashDcBonus == 1) + m_FlashDcBonus = 0; + + m_FlashDcBonus += 10; + + if(m_FlashDcBonus > 100) + m_FlashDcBonus = 100; + + SendNotice(); + } +} + +void CUser::WarFlash() +{ + if(PremiumID == 12) + { + if(m_FlashWarBonus == 1) + m_FlashWarBonus = 0; + + m_FlashWarBonus += 10; + + if(m_FlashWarBonus > 100) + m_FlashWarBonus = 100; + + SendNotice(); + } +} +void CUser::GoldEvent(uint32 gold) +{ + // Assuming it works like this, although this affects (probably) all gold gained (including kills in PvP zones) + // If this is wrong and it should ONLY affect gold gained from monsters, let us know! + if (ITEM_GOLD) + { + uint16 m_bGoldEvent = 0; + int rand = 0; + rand = myrand(1,10000); + + if(rand > g_pMain->m_byGoldTotal) + return; + + if(rand > 0 && rand < g_pMain->m_byGoldx2) + rand = 2; + else if(rand >= g_pMain->m_byGoldx2 && rand < g_pMain->m_byGoldx10) + rand = 10; + else if(rand >= g_pMain->m_byGoldx10 && rand < g_pMain->m_byGoldx50) + rand = 50; + else if(rand >= g_pMain->m_byGoldx50 && rand < g_pMain->m_byGoldx100) + rand = 100; + else if(rand >= g_pMain->m_byGoldx100 && rand < g_pMain->m_byGoldx500) + rand = 500; + else if(rand >= g_pMain->m_byGoldx500 && rand < (g_pMain->m_byGoldTotal + 1)) + rand = 1000; + + m_bGoldEvent = rand; + Packet result(WIZ_GOLD_CHANGE,uint8(CoinEvent)); + result.SByte(); + result << uint16(740) << uint16(0) << uint32(0) << m_bGoldEvent << GetID(); + SendToRegion(&result,nullptr,GetEventRoom()); + gold = gold * (rand); + GoldGain(gold,true,false); + + } +} + +void CUser::ExpEvent(int64 exp) +{ + int rand = 0; + int64 m_bExpEvent = 0; + rand = myrand(1,10000); + + if(rand > g_pMain->m_byExpTotal) + return; + + if(rand > 0 && rand <= g_pMain->m_byExpx2) + rand = 2; + else if(rand >= g_pMain->m_byExpx2 && rand <= g_pMain->m_byExpx10) + rand = 10; + else if(rand >= g_pMain->m_byExpx10 && rand <= g_pMain->m_byExpx50) + rand = 50; + else if(rand >= g_pMain->m_byExpx50 && rand <= g_pMain->m_byExpx100) + rand = 100; + else if(rand >= g_pMain->m_byExpx100 && rand <= g_pMain->m_byExpx500) + rand = 500; + else if(rand >= g_pMain->m_byExpx500 && rand <= g_pMain->m_byExpx1000) + rand = 1000; + + + + m_bExpEvent = rand * exp; + + Packet result(WIZ_EXP_CHANGE,uint8(2)); + result << GetID() << rand << m_iExp; + SendToRegion(&result,nullptr,GetEventRoom()); + ExpChange(m_bExpEvent); +} +void CUser::RemoveRegionChat() +{ + Packet result(WIZ_USER_INFO,uint8(0x04)); + result.SByte(); + result<Send_Zone(&result,GetZoneID(),nullptr,Nation::ALL,GetEventRoom()); +} + +void CUser::HandleUserInfo(Packet & pkt) +{ + Packet result(WIZ_USER_INFO); + uint16 sCount = 0; + + uint8 command; + + pkt >> command; + if(command == 0x02) + { + result << uint8(0x02) << uint8(0x01); + + std::string strCharName; + pkt.SByte(); + pkt >> strCharName; + CUser* pUser = g_pMain->GetUserPtr(strCharName, TYPE_CHARACTER); + + if(pUser == nullptr) + { + CBot * pBot = g_pMain->GetBotPtr(strCharName, TYPE_CHARACTER); + if(pBot == nullptr) + return; + else if(pBot->isInGame()) + { + result.SByte(); + result << pBot->GetName() << pBot->m_bLevel << pBot->m_sClass << uint32(100) << pBot->GetMonthlyLoyalty() << uint8(1); + + CKnights * pKnights = g_pMain->GetClanPtr(pBot->GetClanID()); + if (pKnights == nullptr) + result << uint16(0) << uint16(0) << uint16(0) << uint16(0); + else + result << pBot->GetClanID() << pKnights->m_sMarkVersion << pKnights->m_byFlag << pKnights->m_byGrade << pKnights->m_strName << pKnights->m_strChief; + result << pBot->GetRebLevel(); + Send(&result); + + Packet result2(WIZ_ITEM_UPGRADE, uint8(ITEM_CHARACTER_SEAL)); // User Inventory View,By Terry.17.04.02.. + result2.SByte(); + result2 << uint8(0x04) << uint8(1) + << pBot->GetName() + << pBot->GetNation() + << pBot->GetRace() + << pBot->GetClass() + << pBot->GetLevel() + << pBot->GetStat(STAT_STR) + << pBot->GetStat(STAT_STA) + << pBot->GetStat(STAT_DEX) + << pBot->GetStat(STAT_INT) + << pBot->GetStat(STAT_CHA) + << pBot->GetCoins() + << uint16(0) << uint16(0) << uint8(0); + result2 << pBot->m_bstrSkill[SkillPointCat1] << pBot->m_bstrSkill[SkillPointCat2] << pBot->m_bstrSkill[SkillPointCat3] << pBot->m_bstrSkill[SkillPointMaster]; + + for (int i = 0; i < SLOT_MAX + HAVE_MAX; i++) + { + _ITEM_DATA * pItem = pBot->GetItem(i); + + result2 << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag ; + } + Send(&result2); + + return; + + } + else + return; + } + + result.SByte(); + result << pUser->GetName() << pUser->GetLevel() << pUser->GetClass() << pUser->GetLoyalty() << pUser->GetMonthlyLoyalty() << uint8(1); + + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr) + result << uint16(0) << uint16(0) << uint16(0) << uint16(0) ; + else + result << pUser->GetClanID() << pKnights->m_sMarkVersion << pKnights->m_byFlag << pKnights->m_byGrade << pKnights->m_strName << pKnights->m_strChief; + result << pUser->GetRebLevel(); + + Send(&result); + + Packet result2(WIZ_ITEM_UPGRADE, uint8(ITEM_CHARACTER_SEAL)); // User Inventory View,By Terry.17.04.02.. + result2.SByte(); + result2 << uint8(0x04) << uint8(1) + << pUser->GetName() + << pUser->GetNation() + << pUser->GetRace() + << pUser->GetClass() + << pUser->GetLevel() + << pUser->GetStat(STAT_STR) + << pUser->GetStat(STAT_STA) + << pUser->GetStat(STAT_DEX) + << pUser->GetStat(STAT_INT) + << pUser->GetStat(STAT_CHA) + << pUser->GetCoins() + << uint16(0) << uint16(0) << uint8(0); + result2 << pUser->m_bstrSkill[SkillPointCat1] << pUser->m_bstrSkill[SkillPointCat2] << pUser->m_bstrSkill[SkillPointCat3] << pUser->m_bstrSkill[SkillPointMaster]; + + for (int i = 0; i < SLOT_MAX + HAVE_MAX; i++) + { + _ITEM_DATA * pItem = pUser->GetItem(i); + + result2 << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag ; + } + Send(&result2); + + } + if( command == 0x04 ) + RemoveRegionChat(); + if(command == 0x03 || command == 0x01 ) + { + result << uint8(command) << uint8(0x01) << GetZoneID() << uint8(0) << sCount; + for(int i=0; i< MAX_USER; i++) + { + CUser *pUser = g_pMain->GetUserPtr(i); + if (pUser == nullptr + || !pUser->isInGame() + || pUser->GetZoneID() == ZONE_CHAOS_DUNGEON + || pUser->GetZoneID() != GetZoneID() + || pUser->isGM() + || (pUser->GetEventRoom() != GetEventRoom() && GetEventRoom() > 0)) + continue; + result.SByte(); + result << pUser->GetName() + << pUser->GetNation() + << uint16(0x01) + << pUser->GetSPosX() + << pUser->GetSPosZ() + << pUser->GetClanID(); + + CKnights * pKnights = g_pMain->GetClanPtr(pUser->GetClanID()); + if (pKnights == nullptr) + result << uint16(0) << uint16(0); + else + result << pKnights->m_sMarkVersion << pKnights->m_byFlag << pKnights->m_byGrade; + + result << uint16(4); + + sCount++; + } + + foreach_stlmap(itr,g_pMain->m_arBotArray) + { + CBot *pBot = itr->second; + if (pBot == nullptr + || !pBot->isInGame() + || pBot->m_bZone == ZONE_CHAOS_DUNGEON + || pBot->m_bZone != GetZoneID()) + continue; + result.SByte(); + result << pBot->GetName() + << pBot->m_bNation + << uint16(0x01) + << pBot->GetSPosX() + << pBot->GetSPosZ() + << pBot->GetClanID(); + + CKnights * pKnights = g_pMain->GetClanPtr(pBot->GetClanID()); + if (pKnights == nullptr) + result << uint16(0) << uint16(0); + else + result << pKnights->m_sMarkVersion << pKnights->m_byFlag << pKnights->m_byGrade; + + result << uint16(4); + + sCount++; + + } + + result.put(4, sCount); + Send(&result); + } + +} +void CUser::HandleUserInfoShow(Packet & pkt) +{ +Packet result(WIZ_USER_INFO,uint8(UserInfoAll)); + +result + + << GetName() + <GetPetPtr(nSerial); + + if(newPet != nullptr) + newPet->SummonPet(this); + +} + +void CUser::DupeItemsDelete() +{ + + std::string sNoticeMessage; + bool iFindItem = false; + + for(int j = 0; j < INVENTORY_TOTAL; j++) + { + if(GetItem(j)->nNum == 0) + continue; + + std::string strUserID, strAccountID; + _ITEM_DUPER * pDupers = nullptr; + + foreach_stlmap (itr, g_pMain->m_ItemDupersArray) + { + pDupers = itr->second; + + if (pDupers->d_ItemID != GetItem(j)->nNum) + continue; + + if((pDupers->d_Serial == (GetItem(j)->nSerialNum))) + { + TRACE("Item Deleted pos(%d), ItewmID: %d\n", j, GetItem(j)->nNum); + m_sItemArray[j].nNum = 0; + m_sItemArray[j].sCount = 0; + m_sItemArray[j].sDuration = 0; + m_sItemArray[j].nSerialNum = 0; + m_sItemArray[j].bFlag = 0; + m_sItemArray[j].sRemainingRentalTime = 0; + m_sItemArray[j].nExpirationTime = 0; + m_sItemArray[j].IsSelling = false; + SendItemMove(2); + iFindItem = true; + } + } + } + + if(iFindItem) + { + sNoticeMessage = string_format("Dupe items were deleted from your inventory : User = %s .", GetName().c_str()); + + if (!sNoticeMessage.empty()) + g_pMain->SendNotice(sNoticeMessage.c_str(),Nation::ALL); + Disconnect(); + } +} + +void CUser::IllegalItemsBanned() +{ + //Ilegal Item Banned + std::string sNoticeMessage; + bool iFindItem = false; + + for(int e = 0; e < INVENTORY_TOTAL; e++) + { + if(GetItem(e)->nNum == 0) + continue; + + _ITEM_TABLE * pItem= nullptr; + _ILEGAL_ITEMS * pIlegal = nullptr; + + foreach_stlmap (itr, g_pMain->m_IlegalItemsArray) + { + pIlegal = itr->second; + + if(!pIlegal) + continue; + + if (pIlegal->i_ItemID != GetItem(e)->nNum) + continue; + + if (isGM()) + continue; + + if (pIlegal->i_ItemID == GetItem(e)->nNum) + { + pItem= nullptr; + + pItem = g_pMain->m_ItemtableArray.GetData(GetItem(e)->nNum); + + if(!pItem) + continue; + + sNoticeMessage = string_format("%s have illegal item (%s).", GetName().c_str(), pItem->m_sName.c_str()); + if (!sNoticeMessage.empty()) + g_pMain->SendNotice(sNoticeMessage.c_str(),Nation::ALL); + + g_pMain->WriteCheatLogFile(string_format("%s is currently blocked for item (%s | %d) in illegal activity.\n", GetName().c_str(), pItem->m_sName.c_str(), pItem->m_iNum)); + iFindItem = true; + } + } + } + + if (iFindItem) + { + sNoticeMessage = string_format("%s is currently blocked for illegal activity.", GetName().c_str()); + if (!sNoticeMessage.empty()) + g_pMain->SendNotice(sNoticeMessage.c_str(),Nation::ALL); + + m_bAuthority = AUTHORITY_BANNED; + Disconnect(); + } +} + +void CUser::ReportedUsers() +{ + Packet result(WIZ_REPORT); + + uint8 opcode = result.read(); + + switch (opcode) + { + case 1: + + break; + + case 2: + + break; + } + +} \ No newline at end of file diff --git a/server/GameServer/User.h b/server/GameServer/User.h new file mode 100644 index 0000000..25debc3 --- /dev/null +++ b/server/GameServer/User.h @@ -0,0 +1,1834 @@ +#pragma once + +#include "LuaEngine.h" +#include "../shared/KOSocket.h" + +#include "Unit.h" +#include "ChatHandler.h" + +struct _KNIGHTS_USER; +struct _EXCHANGE_ITEM; +struct _USER_SEAL_ITEM; + +typedef std::map UserItemSealMap; +typedef std::list<_EXCHANGE_ITEM*> ItemList; +typedef std::map SkillCooldownList; +typedef std::map MagicTypeCooldownList; +typedef std::map RHitRepeatList; +typedef std::map UserSavedMagicMap; + +// Time (in seconds) between each save request (3 min). +#define PLAYER_SAVE_INTERVAL (3 * 60) +#define PREMIUM_CHANGE_TIME (30) +// Time (in seconds) between each reward online (1 hour). +#define PLAYER_ONLINE_REWARD (1 * HOUR) +// Time (in seconds) to stay in Zone Stone (25 min). +#define TIME_MONSTER_STONE (25 * 60) +// Time (in seconds) between each skill request (-1 sec). 2 le arpld +#define PLAYER_SKILL_REQUEST_INTERVAL 0.7f +// Time (in seconds) between each r hit request (-1 sec). +#define PLAYER_R_HIT_REQUEST_INTERVAL 1.0f +// Time (in minute) for daily operations +#define DAILY_OPERATIONS_MINUTE 1440 +// Time (in seconds) for nation monuments +#define NATION_MONUMENT_REWARD_SECOND 60 +// time genie updated +#define PLAYER_GENIE_INTERVAL (1 * MINUTE) +// Time (in seconds) for training exp change +#define PLAYER_TRAINING_INTERVAL 15 +// Time for Check Premium Time +#define PREMIUM_TIME_CHECK (1 * MINUTE) +// time (in seconds) to verifi the User items +#define PLAYER_CONF_INTERVAL (2 * 60) + +enum GameState +{ + GAME_STATE_CONNECTED, + GAME_STATE_INGAME +}; + +enum MerchantState +{ + MERCHANT_STATE_NONE = -1, + MERCHANT_STATE_SELLING = 0, + MERCHANT_STATE_BUYING = 1 +}; + +enum ClassType +{ + ClassWarrior = 1, + ClassRogue = 2, + ClassMage = 3, + ClassPriest = 4, + ClassWarriorNovice = 5, + ClassWarriorMaster = 6, + ClassRogueNovice = 7, + ClassRogueMaster = 8, + ClassMageNovice = 9, + ClassMageMaster = 10, + ClassPriestNovice = 11, + ClassPriestMaster = 12, + ClassPorutu = 13, + ClassPorutuSkilled = 14, + ClassPorutuMaster = 15 +}; + +enum WarpListResponse +{ + WarpListGenericError = 0, + WarpListSuccess = 1, // "You've arrived at." + WarpListMinLevel = 2, // "You need to be at least level ." + WarpListNotDuringCSW = 3, // "You cannot enter during the Castle Siege War." + WarpListNotDuringWar = 4, // "You cannot enter during the Lunar War." + WarpListNeedNP = 5, // "You cannot enter when you have 0 national points." + WarpListWrongLevelDLW = 6, // "Only characters with level 30~50 can enter." (dialog) + WarpListDoNotQualify = 7, // "You can not enter because you do not qualify." (dialog) + WarpListRecentlyTraded = 8, // "You can't teleport for 2 minutes after trading." (dialog) + WarpListArenaFull = 9, // "Arena Server is full to capacity. Please try again later." (dialog) + WarpListFinished7KeysQuest = 10, // "You can't enter because you completed Guardian of 7 Keys quest." (dialog) +}; + +enum TransformationType +{ + TransformationNone, + TransformationMonster, + TransformationNPC, + TransformationSiege +}; + + +enum TeamColour +{ + TeamColourNone = 0, + TeamColourBlue, + TeamColourRed +}; + +#define ARROW_EXPIRATION_TIME (5) // seconds + +struct Arrow +{ + uint32 nSkillID; + time_t tFlyingTime; + + Arrow(uint32 nSkillID, time_t tFlyingTime) + { + this->nSkillID = nSkillID; + this->tFlyingTime = tFlyingTime; + } +}; + +typedef std::vector ArrowList; + +#include "GameDefine.h" + +class CGameServerDlg; +class CUser : public Unit, public KOSocket +{ +public: + + + virtual uint16 GetID() { return GetSocketID(); } + + std::string & GetAccountName() { return m_strAccountID; } + virtual std::string & GetName() { return m_strUserID; } + + std::string m_strAccountID, m_strUserID, m_strMemo; + uint8 floodcounter; + DWORD m_lastflood; + DWORD m_mutetime; + uint64_t macadresi; + uint32 hddadresi,cpuadresi; + + DWORD lastshcheck; + uint8 shcheckcount; + + uint8 iguardkey; + uint8 iguard2; + uint8 iguard2count; + + + time_t m_tBorderCapure; + uint32 m_pktcount; + uint8 m_bRace; + uint16 m_sClass; + time_t LastWarpTime; + uint32 m_nHair; + time_t m_tLastKillTime; + uint16 m_sChallangeAchieveID; + + time_t m_LastCashTimeCheck; + time_t m_LastCashTimeCheck2; + time_t m_LastConferedTime; + + bool isSummonPet; + uint16 SummonPetID; + + uint8 m_bRank; + uint8 m_bTitle; + int64 m_iExp; + uint32 m_iLoyalty,m_iLoyaltyMonthly; + uint32 m_iMannerPoint; + uint8 m_bFace; + uint8 m_bCity; + int16 m_bKnights; + uint8 m_bFame; + int16 m_sHp, m_sMp, m_sSp; + uint8 m_bStats[STAT_COUNT]; + uint8 m_bRebStats[STAT_COUNT]; + uint8 m_bAuthority; + int16 m_sPoints; // this is just to shut the compiler up + uint32 m_iGold, m_iBank; + int16 m_sBind; + bool NpExchangeAsk; + uint32 NpExchangeValue; + + bool GoldExchangeAsk; + uint32 GoldExchangeValue; + + uint8 m_bstrSkill[10]; + _ITEM_DATA m_sItemArray[INVENTORY_TOTAL]; + _ITEM_DATA m_sVIPItemArray[MAX_SLOT_VIP_STORAGE]; + _ITEM_DATA m_sWarehouseArray[WAREHOUSE_MAX]; + + uint8 m_bLogout; + uint32 m_dwTime; + time_t m_lastSaveTime; + time_t m_lastBonusTime; + time_t m_TimeOnline; + time_t m_TimeMonsterStone; + time_t m_tGenieTimeNormal; + time_t lastArrangeTime; + + uint8 m_bAccountStatus; + + bool CheckGiveSlot(uint8 sSlot); + + void SendRepurchase(bool nReflash = false); + void RecvRepurchase(Packet& pkt); + // nSlot | nTime | nItemID + typedef std::map RepurchaseMap; + RepurchaseMap m_RepurchaseMap; + + typedef CSTLMap<_ACHIEVE_QUEST> AchieveKillMap; + + AchieveKillMap m_bAchieveKillCount; + + + + + + uint32 m_iMonsterDefeatedCount, m_iUserDefeatedCount, m_iUserDeathCount, m_iAchievementPoint; + + uint16 AchieveNormalCount, AchieveQuestCount, AchieveWarCount, AchieveAdventureCount, + AchieveChallengeCount, AchieveLast1, AchieveLast2, AchieveLast3; + + uint32 m_nKnightCash; + uint32 nVIPExpirationTime; + + uint16 m_GenieTime; + char m_GenieOptions[100]; + bool m_bGenieStatus; + + uint16 m_sAchieveSkillTitle; + uint16 m_sAchieveCoverTitle; + std::string VIPStorePassword; + uint8 VIPStoreFalseTrying; + bool VIPStoreActive; + + + time_t m_lastStaminaTime; + time_t m_lastTrainingTime; + uint32 m_iTotalTrainingExp; + + bool m_bSelectedCharacter; + bool m_bStoreOpen; + + int8 m_bMerchantState; + int8 m_bMerchantStatex; + uint32 m_bLastMerchantTime; + bool OfflineMerchant; + + int16 m_sMerchantsSocketID; + std::list m_arMerchantLookers; + _MERCH_DATA m_arSellMerchantItems[MAX_MERCH_ITEMS]; //What is this person selling? Stored in "_MERCH_DATA" structure. + _MERCH_DATA m_arBuyMerchantItems[MAX_MERCH_ITEMS]; //What is this person selling? Stored in "_MERCH_DATA" structure. + bool m_bPremiumMerchant; + UserItemSealMap m_sealedItemMap; + + uint8 m_bRequestingChallenge, // opcode of challenge request being sent by challenger + m_bChallengeRequested; // opcode of challenge request received by challengee + int16 m_sChallengeUser; + + // Rival system + int16 m_sRivalID; // rival's session ID + time_t m_tRivalExpiryTime; // time when the rivalry ends + + // Anger gauge system + uint8 m_byAngerGauge; // values range from 0-5 + + // Magic System Cooldown checks + SkillCooldownList m_CoolDownList; + SkillCooldownList m_CastingCoolDownList; + + // Magic System Same time magic type checks + MagicTypeCooldownList m_MagicTypeCooldownList; + + // Attack System Cooldown checks + RHitRepeatList m_RHitRepeatList; + ArrowList m_flyingArrows; + + TransformationType m_transformationType; + uint16 m_sTransformID; + time_t m_tTransformationStartTime; + uint16 m_sTransformationDuration; + + bool m_bIsChicken; // Is the character taking the beginner/chicken quest? + bool m_bIsHidingHelmet; + bool m_bIsHidingCospre; + + bool m_bMining; + time_t m_tLastMiningAttempt; + time_t ChangeCoverTitleRequest; + time_t ChangeSkillTitleRequest; + time_t ResetCoverTitleRequest, ResetSkillTitleRequest; + + int8 m_bPersonalRank; + int8 m_bKnightsRank; + + float m_oldx, m_oldy, m_oldz; + int16 m_sDirection; + + int64 m_iMaxExp; + + uint32 m_sMaxWeight; + uint16 m_sMaxWeightBonus; + + int16 m_sSpeed; + + uint8 m_bPlayerAttackAmount; + uint8 m_bAddWeaponDamage; + uint16 m_sAddArmourAc; + uint8 m_bPctArmourAc; + + int16 m_sItemMaxHp; + int16 m_sItemMaxMp; + uint32 m_sItemWeight; + short m_sItemAc; + short m_sItemHitrate; + short m_sItemEvasionrate; + + uint8 m_byAPBonusAmount; + uint8 m_byAPClassBonusAmount[4]; // one for each of the 4 class types + uint8 m_byAcClassBonusAmount[4]; // one for each of the 4 class types + + int16 m_sStatItemBonuses[STAT_COUNT]; + int8 m_bStatBuffs[STAT_COUNT]; + int8 m_bRebStatBuffs[STAT_COUNT]; + + uint8 m_sExpGainAmount; + uint8 m_bItemExpGainAmount; + uint8 m_bNPGainAmount, m_bItemNPBonus, m_bSkillNPBonus; + uint8 m_bNoahGainAmount, m_bItemNoahGainAmount; + uint8 m_bMaxWeightAmount; + + uint8 m_FlashExpBonus; + uint8 m_FlashDcBonus; + uint8 m_FlashWarBonus; + + short m_iMaxHp, m_iMaxMp; + uint8 m_iMaxSp; + uint8 m_bResHpType; + bool m_bWarp; + uint8 m_bNeedParty; + + uint16 m_sPartyIndex,m_sPartyRequest,m_sAllyRequest; + bool m_bInParty; + bool m_bPartyLeader; + + bool m_bCanSeeStealth; + uint8 m_bInvisibilityType; + + short m_sExchangeUser; + uint8 m_bExchangeOK; + + ItemList m_ExchangeItemList; + + + bool m_bBlockPrivateChat; + short m_sPrivateChatUser; + + time_t m_tHPLastTimeNormal; // For Automatic HP recovery. + time_t m_tHPStartTimeNormal; + short m_bHPAmountNormal; + uint8 m_bHPDurationNormal; + uint8 m_bHPIntervalNormal; + + time_t m_tGameStartTimeSavedMagic; + + uint32 m_fSpeedHackClientTime, m_fSpeedHackServerTime; + uint8 m_bSpeedHackCheck; + + time_t m_tBlinkExpiryTime; // When you should stop blinking. + + uint32 m_bAbnormalType; // Is the player normal, a giant, or a dwarf? + uint32 m_nOldAbnormalType; + + int16 m_sWhoKilledMe; // ID of the unit that killed you. + int64 m_iLostExp; // Experience points that were lost when you died. + + time_t m_tLastTrapAreaTime; // The last moment you were in the trap area. + + bool m_bZoneChangeFlag; + + uint8 m_bRegeneType; // Did you die and go home or did you type '/town'? + + bool m_bIsDevil; + + uint32 m_LastOnline; + time_t m_tLastRegeneTime; // The last moment you got resurrected. + + bool m_bZoneChangeSameZone; // Did the server change when you warped? + + char s_FlashNotice[128]; + + int m_iSelMsgEvent[MAX_MESSAGE_EVENT]; + short m_sEventNid, m_sEventSid; + uint32 m_nQuestHelperID; + + bool m_bWeaponsDisabled; + bool hasAchieveBonuses; + + TeamColour m_teamColour; + uint32 m_iLoyaltyDaily; + uint16 m_iLoyaltyPremiumBonus; + uint16 m_KillCount; + uint16 m_DeathCount; + uint16 m_ChatRoomIndex; + + float m_LastX; + float m_LastZ; + +public: + INLINE bool isMeChatroom(uint16 Room) { return m_ChatRoomIndex == Room; }; + INLINE bool isGenieActive(){ return m_bGenieStatus;} + INLINE uint16 GetGenieTime(){ return m_GenieTime; } + + INLINE uint16 GetCoverTitle() { return m_sAchieveCoverTitle; } // Achieve Title gnderilecek. + INLINE uint16 GetSkillTitle() { return m_sAchieveSkillTitle; } // Achieve Title gnderilecek. + + INLINE void SetSkillTitle(uint16 AchieveSkillTitleID) { m_sAchieveSkillTitle = AchieveSkillTitleID; } + INLINE void SetCoverTitle(uint16 AchieveCoverTitleID) { m_sAchieveCoverTitle = AchieveCoverTitleID; } + + INLINE bool isBanned() { return GetAuthority() == AUTHORITY_BANNED; } + INLINE bool isMuted() { return GetAuthority() == AUTHORITY_MUTED; } + INLINE bool isAttackDisabled() { return GetAuthority() == AUTHORITY_ATTACK_DISABLED; } + INLINE bool isGM() { return GetAuthority() == AUTHORITY_GAME_MASTER; } + INLINE bool isLimitedGM() { return GetAuthority() == AUTHORITY_LIMITED_GAME_MASTER; } + + virtual bool isDead() { return m_bResHpType == USER_DEAD || m_sHp <= 0; } + virtual bool isBlinking() { return m_bAbnormalType == ABNORMAL_BLINKING; } + + INLINE bool isInGame() { return GetState() == GAME_STATE_INGAME; } + INLINE bool isInParty() { return m_bInParty; } + INLINE bool isInSameParty(CUser * pTarget) { return m_sPartyIndex == pTarget->m_sPartyIndex && m_sPartyIndex != uint16(-1); } + INLINE bool isInClan() { return GetClanID() > 0; } + + INLINE bool isKing() { return m_bRank == 1; } + INLINE bool isClanLeader() { return GetFame() == CHIEF; } + INLINE bool isClanAssistant() { return GetFame() == VICECHIEF; } + INLINE bool isPartyLeader() { return isInParty() && m_bPartyLeader; } + + INLINE bool isWarrior() { return JobGroupCheck(ClassWarrior); } + INLINE bool isRogue() { return JobGroupCheck(ClassRogue); } + INLINE bool isKurian() { return JobGroupCheck(ClassPorutu); } + INLINE bool isMage() { return JobGroupCheck(ClassMage); } + INLINE bool isPriest() { return JobGroupCheck(ClassPriest); } + INLINE bool isKurianPortu() { return JobGroupCheck(ClassPorutu); } + + INLINE bool isBeginner() + { + uint16 sClass = GetClassType(); + return (sClass == ClassWarrior || sClass == ClassRogue + || sClass == ClassMage || sClass == ClassPriest + || sClass == ClassPorutu); + } + + INLINE bool isBeginnerWarrior() { return GetClassType() == ClassWarrior; } + INLINE bool isBeginnerRogue() { return GetClassType() == ClassRogue; } + INLINE bool isBeginnerMage() { return GetClassType() == ClassMage; } + INLINE bool isBeginnerPriest() { return GetClassType() == ClassPriest; } + INLINE bool isBeginnerPorutu() { return GetClassType() == ClassPorutu; } + + INLINE bool isNovice() + { + uint16 sClass = GetClassType(); + return (sClass == ClassWarriorNovice || sClass == ClassRogueNovice + || sClass == ClassMageNovice || sClass == ClassPriestNovice || sClass == ClassPorutuSkilled); + } + + INLINE bool isNoviceWarrior() { return GetClassType() == ClassWarriorNovice; } + INLINE bool isNoviceRogue() { return GetClassType() == ClassRogueNovice; } + INLINE bool isNoviceMage() { return GetClassType() == ClassMageNovice; } + INLINE bool isNovicePriest() { return GetClassType() == ClassPriestNovice; } + INLINE bool isNovicePorutu() { return GetClassType() == ClassPorutuSkilled; } + + INLINE bool isMastered() + { + uint16 sClass = GetClassType(); + return (sClass == ClassWarriorMaster || sClass == ClassRogueMaster + || sClass == ClassMageMaster || sClass == ClassPriestMaster || sClass == ClassPorutuMaster); + } + + INLINE bool isMasteredWarrior() { return GetClassType() == ClassWarriorMaster; } + INLINE bool isMasteredRogue() { return GetClassType() == ClassRogueMaster; } + INLINE bool isMasteredMage() { return GetClassType() == ClassMageMaster; } + INLINE bool isMasteredPriest() { return GetClassType() == ClassPriestMaster; } + INLINE bool isMasteredPorutu() { return GetClassType() == ClassPorutuMaster; } + + INLINE bool isTrading() { return m_sExchangeUser != -1; } + INLINE bool isStoreOpen() { return m_bStoreOpen; } + INLINE bool isMerchanting() { return (GetMerchantState() != MERCHANT_STATE_NONE); } + INLINE bool isSellingMerchant() { return GetMerchantState() == MERCHANT_STATE_SELLING; } + INLINE bool isBuyingMerchant() { return GetMerchantState() == MERCHANT_STATE_BUYING; } + INLINE bool isMining() { return m_bMining; } + + INLINE bool isBlockingPrivateChat() { return m_bBlockPrivateChat ; } + + INLINE bool isTransformed() { return m_transformationType != TransformationNone; } + INLINE bool isNPCTransformation() { return m_transformationType == TransformationNPC; } + INLINE bool isMonsterTransformation() { return m_transformationType == TransformationMonster; } + INLINE bool isSiegeTransformation() { return m_transformationType == TransformationSiege; } + + INLINE bool isWeaponsDisabled() { return m_bWeaponsDisabled; } + + INLINE bool isInPKZone() { return GetZoneID() == ZONE_ARDREAM || GetZoneID() == ZONE_RONARK_LAND || GetZoneID() == ZONE_RONARK_LAND_BASE || GetZoneID() == ZONE_PVP_EVENT || GetZoneID() == ZONE_CLAN_EVENT; } + INLINE bool isInEventZone() { return GetZoneID() == ZONE_BORDER_DEFENSE_WAR || GetZoneID() == ZONE_JURAD_MOUNTAIN || GetZoneID() == ZONE_DARK_LAND || GetZoneID() == ZONE_BIFROST; } + + INLINE int8 GetMerchantState() { return m_bMerchantState; } + + INLINE uint8 GetAuthority() { return m_bAuthority; } + INLINE uint8 GetFame() { return m_bFame; } + + INLINE uint16 GetClass() { return m_sClass; } + INLINE bool isLockableScroll(uint8 buffType) { return (buffType == BUFF_TYPE_HP_MP || buffType == BUFF_TYPE_AC || buffType == BUFF_TYPE_FISHING || buffType == BUFF_TYPE_DAMAGE || buffType == BUFF_TYPE_SPEED || buffType == BUFF_TYPE_STATS || buffType == BUFF_TYPE_BATTLE_CRY || buffType == BUFF_TYPE_VARIOUS_EFFECTS); } + INLINE uint8 GetRace() { return m_bRace; } + + /** + * @brief Gets the player's base class type, independent of nation. + * + * @return The class type. + */ + INLINE ClassType GetBaseClassType() + { + static const ClassType classTypes[] = + { + ClassWarrior, ClassRogue, ClassMage, ClassPriest, ClassPorutu, + ClassWarrior, ClassWarrior, // job changed / mastered + ClassRogue, ClassRogue, // job changed / mastered + ClassMage, ClassMage, // job changed / mastered + ClassPriest, ClassPriest, // job changed / mastered + ClassPorutu,ClassPorutu + }; + + uint8 classType = GetClassType(); + ASSERT(classType >= 1 && classType <= 18); + return classTypes[classType - 1]; + } + + /** + * @brief Gets class type, independent of nation. + * + * @return The class type. + */ + INLINE uint8 GetClassType() + { + return GetClass() % 100; + } + + INLINE uint16 GetPartyID() { return m_sPartyIndex; } + INLINE uint16 GetRequestPartyID() { return m_sPartyRequest; } + INLINE uint16 GetRequestAllyID() { return m_sAllyRequest; } + INLINE int16 GetClanID() { return m_bKnights; } + INLINE void SetClanID(int16 val) { m_bKnights = val; } + + INLINE uint32 GetCoins() { return m_iGold; } + INLINE uint32 GetInnCoins() { return m_iBank; } + INLINE uint32 GetLoyalty() { return m_iLoyalty; } + INLINE uint32 GetMonthlyLoyalty() { return m_iLoyaltyMonthly; } + INLINE uint32 GetManner() { return m_iMannerPoint; } + + virtual int32 GetHealth() { return m_sHp; } + virtual int32 GetMaxHealth() { return m_iMaxHp; } + virtual int32 GetMana() { return m_sMp; } + virtual int32 GetMaxMana() { return m_iMaxMp; } + + // Shortcuts for lazy people + INLINE bool hasCoins(uint32 amount) { return (GetCoins() >= amount); } + INLINE bool hasInnCoins(uint32 amount) { return (GetInnCoins() >= amount); } + INLINE bool hasLoyalty(uint32 amount) { return (GetLoyalty() >= amount); } + INLINE bool hasMonthlyLoyalty(uint32 amount) { return (GetMonthlyLoyalty() >= amount); } + INLINE bool hasManner(uint32 amount) { return (GetManner() >= amount); } + + INLINE uint8 GetAngerGauge() { return m_byAngerGauge; } + INLINE bool hasFullAngerGauge() { return GetAngerGauge() >= MAX_ANGER_GAUGE; } + + INLINE bool hasRival() { return GetRivalID() >= 0; } + INLINE bool hasRivalryExpired() { return UNIXTIME >= m_tRivalExpiryTime; } + INLINE int16 GetRivalID() { return m_sRivalID; } + + INLINE GameState GetState() { return m_state; } + + INLINE uint16 GetActiveQuestID() { return 0; } + + uint8 GetClanGrade(); + uint8 GetClanRank(); + uint32 GetClanPoint(); + void SendClanPointChange(int32 nChangeAmount = 0); + + uint8 GetBeefRoastVictory(); + uint8 GetRankReward(bool isMonthly); + uint8 GetWarVictory(); + void CaptureEvent(); + void GirisNotice(); + uint8 CheckMiddleStatueCapture(); + void MoveMiddleStatue(); + + uint8 GetPVPMonumentNation(); + uint8 GetEventMonumentNation(); + + uint8 GetMonsterChallengeTime(); + uint8 GetMonsterChallengeUserCount(); + + uint8 GetEventZoneTime(); + uint8 GetEventZoneUserCount(); + + INLINE uint8 GetStat(StatType type) + { + if (type >= STAT_COUNT) + return 0; + + return m_bStats[type]; + } + + INLINE uint8 GetRebStatBuff(StatType type) + { + ASSERT(type < STAT_COUNT); + return m_bRebStatBuffs[type]; + } + + INLINE void SetRebStatBuff(StatType type, int8 val) + { + ASSERT(type < STAT_COUNT); + m_bRebStatBuffs[type] = val; + } + + INLINE void SetStat(StatType type, uint8 val) + { + ASSERT(type < STAT_COUNT); + m_bStats[type] = val; + } + + INLINE int32 GetStatTotal() // NOTE: Shares name with another, but lack-of args should be self-explanatory + { + int32 total = 0; // NOTE: this loop should be unrolled by the compiler + foreach_array (i, m_bStats) + total += m_bStats[i]; + return total; + } + + INLINE int16 GetStatItemBonus(StatType type) + { + ASSERT(type < STAT_COUNT); + return m_sStatItemBonuses[type]; + } + + INLINE int16 GetStatWithItemBonus(StatType type) + { + return GetStat(type) + GetStatItemBonus(type) + GetRebStatBuff(type); + } + + INLINE int32 GetStatItemBonusTotal() + { + int32 total = 0; // NOTE: this loop should be unrolled by the compiler + foreach_array (i, m_sStatItemBonuses) + total += m_sStatItemBonuses[i]; + return total; + } + + INLINE int16 GetStatBonusTotal(StatType type) + { + return GetStatBuff(type) + GetStatItemBonus(type) + GetRebStatBuff(type); + } + + INLINE int8 GetStatBuff(StatType type) + { + ASSERT(type < STAT_COUNT); + return m_bStatBuffs[type]; + } + + INLINE void SetStatBuff(StatType type, int8 val) + { + ASSERT(type < STAT_COUNT); + + m_bStatBuffs[type] += val; + } + + INLINE void RemoveStatBuff(StatType type, int8 val) + { + ASSERT(type < STAT_COUNT); + + m_bStatBuffs[type] -= val; + } + + INLINE uint32 GetStatBuffTotal() + { + uint32 total = 0; // NOTE: this loop should be unrolled by the compiler + foreach_array (i, m_bStatBuffs) + total += m_bStatBuffs[i]; + return total; + } + + INLINE uint16 getStatTotal(StatType type) + { + return GetStat(type) + GetStatItemBonus(type) + GetStatBuff(type) + GetRebStatBuff(type); + } + + INLINE uint16 GetTotalSkillPoints() + { + return m_bstrSkill[SkillPointFree] + m_bstrSkill[SkillPointCat1] + + m_bstrSkill[SkillPointCat2] + m_bstrSkill[SkillPointCat3] + + m_bstrSkill[SkillPointMaster]; + } + + INLINE uint8 GetSkillPoints(SkillPointCategory category) + { + if (category < SkillPointFree || category > SkillPointMaster) + return 0; + + return m_bstrSkill[category]; + } + + INLINE _ITEM_DATA * GetItem(uint8 pos) + { + return &m_sItemArray[pos]; + } + + + INLINE _ITEM_DATA * GetItembySerial(uint64 nSerial) + { + for (int pos = SLOT_MAX; pos < (SLOT_MAX + HAVE_MAX); pos++) + { + _ITEM_DATA * pItem = &m_sItemArray[pos]; + + if(pItem->nSerialNum == nSerial) + return &m_sItemArray[pos]; + else + continue; + } + } + + INLINE uint8 GetItemSlotbySerial(uint64 nSerial) + { + for (int pos = SLOT_MAX; pos < (SLOT_MAX + HAVE_MAX); pos++) + { + _ITEM_DATA * pItem = &m_sItemArray[pos]; + + if(pItem->nSerialNum == nSerial) + return pos; + else + continue; + } + } + + INLINE _ITEM_DATA * GetVipStorageSlot(uint8 pos) + { + return &m_sVIPItemArray[pos]; + } + + INLINE _ITEM_TABLE * GetItemPrototype(uint8 pos) + { + _ITEM_DATA * pItem; + ASSERT(pos < INVENTORY_TOTAL); + return GetItemPrototype(pos, pItem); + } + + _ITEM_TABLE * GetItemPrototype(uint8 pos, _ITEM_DATA *& pItem); + + INLINE KOMap * GetMap() { return m_pMap; } + + CUser(uint16 socketID, SocketMgr *mgr); + + virtual void OnConnect(); + virtual void OnDisconnect(); + virtual bool HandlePacket(Packet & pktx); + + void Update(); + + virtual void AddToRegion(int16 new_region_x, int16 new_region_z); + void ExpFlash(); + void DcFlash(); + void WarFlash(); + void HandleCapture(Packet & pkt); + + void HandleGenie(Packet & pkt); + void GenieNonAttackProgress(Packet & pkt); + void UpdateGenieTime(Packet & pkt); + void UpdateGenieTime(uint16 m_sGenieTime); + void GenieAttackProgress(Packet & pkt); + void GenieStart(); + void GenieStop(); + void GenieUseGenieSpirint(); + + void SetRival(CUser * pRival); + void RemoveRival(); + void SendLoyaltyChange(int32 nChangeAmount = 0, bool bIsKillReward = false, bool bIsBonusTime = false, bool bIsAddLoyaltyMonthly = true); + void SendKnightCash(int32 nCashPoint = 0); + + void ReportedUsers(); + + void HandleAchieve(Packet & pkt); + void AchieveGetItem(Packet & pkt); + void LoadAchievementData(Packet & pkt); + void AchieveTimeQuest(Packet & pkt); + void SendAchievementDetails(); + void ChangeCoverTitle(Packet & pkt); + void ChangeSkillTitle(Packet & pkt); + void CoverTitleReset(); + void SkillTitleReset(); + void SendAchieveStatus(uint16 AchieveID, uint8 AchieveStatus); + void AchieveType1(uint8 pType); + void AchieveType2(CNpc * pNpc); + void AchieveType3(); + void AchieveType4(uint8 pType); + + void NativeZoneReturn(); + void KickOutZoneUser(bool home = false, uint8 nZoneID = 21); + void TrapProcess(); + bool JobGroupCheck(short jobgroupid); + void SendSay(int32 nTextID[8]); + void SelectMsg(uint8 bFlag, int32 nQuestID, int32 menuHeaderText, + int32 menuButtonText[MAX_MESSAGE_EVENT], int32 menuButtonEvents[MAX_MESSAGE_EVENT]); + bool CheckClass(short class1, short class2 = -1, short class3 = -1, short class4 = -1, short class5 = -1, short class6 = -1); + bool GiveItem(uint32 nItemID, uint32 sCount = 1, bool send_packet = true, uint32 Time = 0); + bool RobItem(uint32 nItemID, uint16 sCount = 1, bool SendPacket = true); + bool RobItem(uint8 bPos, _ITEM_TABLE * pTable, uint16 sCount = 1, bool SendPacket = true); + bool RobAllItemParty(uint32 nItemID, uint16 sCount = 1); + bool CheckExistItem(int itemid, short count = 1); + bool CheckExistItemAnd(int32 nItemID1, int32 sCount1, int32 nItemID2, int32 sCount2, + int32 nItemID3, int32 sCount3, int32 nItemID4, int32 sCount4, int32 nItemID5, int32 sCount5); + bool CheckExistSpecialItemAnd(int32 nItemID1, int16 sCount1, int32 nItemID2, int16 sCount2, + int32 nItemID3, int16 sCount3, int32 nItemID4, int16 sCount4, int32 nItemID5, int16 sCount5, + int32 nItemID6, int16 sCount6, int32 nItemID7, int16 sCount7, int32 nItemID8, int16 sCount8, + int32 nItemID9, int16 sCount9, int32 nItemID10, int16 sCount10); + uint16 GetItemCount(uint32 nItemID); + void CheckWaiting(uint8 sNewZone, uint16 Time); + bool CheckWeight(uint32 nItemID, uint16 sCount); + bool CheckWeight(_ITEM_TABLE * pTable, uint32 nItemID, uint16 sCount); + bool CheckSkillPoint(uint8 skillnum, uint8 min, uint8 max); + bool GoldLose(uint32 gold, bool bSendPacket = true); + void GoldGain(uint32 gold, bool bSendPacket = true, bool bApplyBonus = false); + void SendItemWeight(); + void UpdateVisibility(InvisibilityType bNewType); + void ResetGMVisibility(); + void BlinkStart(); + void BlinkTimeCheck(); + void GoldChange(short tid, int gold); + CUser * GetItemRoutingUser(uint32 nItemID, uint16 sCount, _LOOT_BUNDLE * pBundle); + bool GetStartPosition(short & x, short & y, uint8 bZone = 0); + bool GetStartPositionRandom(short & x, short & z, uint8 bZone = 0); + int FindSlotForItem(uint32 nItemID, uint16 sCount = 1); + int GetEmptySlot(); + int GetEmptySlotCount(); + void SendAllKnightsID(); + void SendStackChange(uint32 nItemID, uint32 nCount /* needs to be 4 bytes, not a bug */, uint16 sDurability, uint8 bPos, bool bNewItem = false, uint32 Time = 0); + void SendStackChangeSpecial(uint32 nItemID, uint32 nCount /* needs to be 4 bytes, not a bug */, uint16 sDurability, uint8 bPos, bool bNewItem = false, uint32 Time = 0, _ITEM_DATA *pItem = nullptr); + + void Type4Duration(); + void HPTimeChange(); + void HPTimeChangeType3(); + + short GetDamage(Unit *pTarget, _MAGIC_TABLE *pSkill = nullptr, bool bPreviewOnly = false); + void OnAttack(Unit * pTarget, AttackType attackType); + void OnDefend(Unit * pAttacker, AttackType attackType); + bool TriggerProcItem(uint8 bSlot, Unit * pTarget, ItemTriggerType triggerType); + + void SendDurability(uint8 slot, uint16 durability); + void SendItemMove(uint8 subcommand); + void ItemWoreOut( int type, int damage ); + void Dead(); + void GetUserInfoForAI(Packet & result); + bool ItemEquipAvailable( _ITEM_TABLE* pTable ); + virtual void HpChange(int amount, Unit *pAttacker = nullptr, bool bSendToAI = true); + virtual void MSpChange(int amount); + virtual void ySpChange(int amount); + void SendPartyHPUpdate(); + void ShowEffect(uint32 nSkillID); + void ShowNpcEffect(uint32 nEffectID, bool bSendToRegion = false); + void SendAnvilRequest(uint16 sNpcID, uint8 bType = ITEM_UPGRADE_REQ); + void RecastSavedMagic(uint8 buffType = 0); + void RecastLockableScrolls(uint8 buffType); + void PetSkill(uint64 nSerial); + void GoldEvent(uint32 gold); + void ExpEvent(int64 exp); + // packet handlers start here + void VersionCheck(Packet & pkt); + void LoginProcess(Packet & pkt); + void Login(Packet & pkt); + bool WordGuardSystem(std::string Word, uint8 WordStr); + void SelNationToAgent(Packet & pkt); + + // Character Location + void AllCharInfo(Packet & pkt); + void AllCharInfoToAgent(); + void CharacterLocationSend(); + void CharacterLocationRecv(Packet & pkt); + + void SendBoard(uint16 npcID); + void ChangeHair(Packet & pkt); + void NewCharToAgent(Packet & pkt); + void SelCharToAgent(Packet & pkt); + void SelectCharacter(Packet & pkt); // from the database + void SetLogInInfoToDB(uint8 bInit); + void RecvLoginInfo(Packet & pkt); // from the database + + void SpeedHackTime(Packet & pkt); + void TempleProcess(Packet & pkt ); + void TempleOperations(uint8 bType = 0); + + void MonsterStoneProcess(); + + void GameStart(Packet & pkt); + void RentalSystem(Packet & pkt); + void SkillDataProcess(Packet & pkt); + void SkillDataSave(Packet & pkt); + void SkillDataLoad(); + void MoveProcess(Packet & pkt); + void Rotate(Packet & pkt); + void Attack(Packet & pkt); + + static void InitChatCommands(); + static void CleanupChatCommands(); + + void Chat(Packet & pkt); + void ChatTargetSelect(Packet & pkt); + void SendDeathNotice(Unit * pKiller, DeathNoticeType noticeType); + + bool ProcessChatCommand(std::string & message); + + uint8 GetUserDailyOp(uint8 type = 0); + void SetUserDailyOp(uint8 type = 0, bool isInsert = false); + + uint32 GetEventTrigger(); + + void RemoveStealth(); + + void GiveKnightCash(uint32 nKnightCash); + void RobChaosSkillItems(); + + // Nation Transfer, Gender Change and Job Change (in game) + void NationChange(Packet & pkt); + void SendNationChange(); + uint8 GetNewRace(); + void GenderChange(Packet & pkt); + void HandlePet(Packet & pkt); + void KillMyPet(); + uint8 JobChange(uint8 NewJob = 0); + + COMMAND_HANDLER(HandleTestCommand); + COMMAND_HANDLER(HandleGiveItemCommand); + COMMAND_HANDLER(HandleZoneChangeCommand); + COMMAND_HANDLER(HandleMonsterSummonCommand); + COMMAND_HANDLER(HandleBotSummonCommand); + COMMAND_HANDLER(HandleNPCSummonCommand); + COMMAND_HANDLER(HandleMonKillCommand); + COMMAND_HANDLER(HandleWar1OpenCommand); + COMMAND_HANDLER(HandleWar2OpenCommand); + COMMAND_HANDLER(HandleWar3OpenCommand); + COMMAND_HANDLER(HandleWar4OpenCommand); + COMMAND_HANDLER(HandleWar5OpenCommand); + COMMAND_HANDLER(HandleWar6OpenCommand); + COMMAND_HANDLER(HandleWarMOpenCommand); + COMMAND_HANDLER(HandleOpenArdreamCommand); + COMMAND_HANDLER(HandleOpenCZCommand); + COMMAND_HANDLER(HandleCloseCZEventCommand); + COMMAND_HANDLER(HandleCloseArdreamEventCommand); + COMMAND_HANDLER(HandleCaptainCommand); + COMMAND_HANDLER(HandleSnowWarOpenCommand); + COMMAND_HANDLER(HandleSiegeWarOpenCommand); + COMMAND_HANDLER(HandleWarCloseCommand); + COMMAND_HANDLER(HandleLoyaltyChangeCommand); + COMMAND_HANDLER(HandleExpChangeCommand); + COMMAND_HANDLER(HandleGoldChangeCommand); + COMMAND_HANDLER(HandleExpAddCommand); /* for the server XP event */ + COMMAND_HANDLER(HandleNPAddCommand); /* for the server XP event */ + COMMAND_HANDLER(HandleMoneyAddCommand); /* for the server coin event */ + COMMAND_HANDLER(HandlePermitConnectCommand); + COMMAND_HANDLER(HandleTeleportAllCommand); + COMMAND_HANDLER(HandleKnightsSummonCommand); + COMMAND_HANDLER(HandleWarResultCommand); + COMMAND_HANDLER(HandleResetPlayerRankingCommand); + COMMAND_HANDLER(HandleSnowWarCloseCommand); + COMMAND_HANDLER(HandleNPtoKCCommand); + COMMAND_HANDLER(HandleGoldtoKCCommand); + + void Regene(uint8 regene_type, uint32 magicid = 0); + void RequestUserIn(Packet & pkt); + void RequestNpcIn(Packet & pkt); + void RecvWarp(Packet & pkt); + void Warp(uint16 sPosX, uint16 sPosZ); + void ItemMove(Packet & pkt); + void NpcEvent(Packet & pkt); + + void ItemTrade(Packet & pkt); + void ShopHackerBan(); + void ItemRepurchase(Packet & pkt); + + void DupeItemsDelete(); + void IllegalItemsBanned(); + + INLINE void SetUserEventRoom(uint16 nEventRoom) { m_bEventRoom = nEventRoom;} + + void BundleOpenReq(Packet & pkt); + void ItemGet(Packet & pkt); + CUser * GetLootUser(_LOOT_BUNDLE * pBundle, _LOOT_ITEM * pItem); + + void RecvZoneChange(Packet & pkt); + void PointChange(Packet & pkt); + + void StateChange(Packet & pkt); + virtual void StateChangeServerDirect(uint8 bType, uint32 nBuff); + + void PartyProcess(Packet & pkt); + void PartyDelete(); + void PartyPromote(uint16 sMemberID); + void PartyRemove( int memberid ); + void PartyInsert(); + void PartyCancel(); + void PartyRequest( int memberid, bool bCreate ); + + // Trade system + void ExchangeProcess(Packet & pkt); + void ExchangeReq(Packet & pkt); + void ExchangeAgree(Packet & pkt); + void ExchangeAdd(Packet & pkt); + void ExchangeDecide(); + void ExchangeCancel(bool bIsOnDeath = false); + void ExchangeFinish(); + + bool CheckExchange(); + bool ExecuteExchange(); + + bool CheckSpecialExchange(int nExchangeID); + + // Merchant system (both types) + void MerchantProcess(Packet & pkt); + void GiveMerchantItems(); + + // regular merchants + void MerchantOpen(); + void MerchantClose(); + void MerchantItemAdd(Packet & pkt); + void MerchantItemCancel(Packet & pkt); + void MerchantItemList(Packet & pkt); + void MerchantItemBuy(Packet & pkt); + void MerchantInsert(Packet & pkt); + void CancelMerchant(); + void OfficialList(Packet & pkt); + void ListSend(Packet & pkt); + void ListMoveProcess(Packet & pkt); + uint8 MerchantType; + // buying merchants + void BuyingMerchantOpen(Packet & pkt); + void BuyingMerchantClose(); + void BuyingMerchantInsert(Packet & pkt); + void BuyingMerchantInsertRegion(); + void BuyingMerchantList(Packet & pkt); + void BuyingMerchantBuy(Packet & pkt); + + void RemoveFromMerchantLookers(); + + void SkillPointChange(Packet & pkt); + + void ObjectEvent(Packet & pkt); + bool BindObjectEvent(_OBJECT_EVENT *pEvent); + bool GateLeverObjectEvent(_OBJECT_EVENT *pEvent, int nid); + bool FlagObjectEvent(_OBJECT_EVENT *pEvent, int nid); + bool WarpListObjectEvent(_OBJECT_EVENT *pEvent); + + void UpdateGameWeather(Packet & pkt); + + void ClassChange(Packet & pkt, bool bFromClient = true); + void ClassChangeReq(); + void SendStatSkillDistribute(); + void SendPetUpgrade(); + void AllPointChange(bool bIsFree = false); + void AllSkillPointChange(bool bIsFree = false); + + void CountConcurrentUser(); + + void ItemRepair(Packet & pkt); + void ItemRemove(Packet & pkt); + void OperatorCommand(Packet & pkt); + void WarehouseProcess(Packet & pkt); + void Home(); + + void FriendProcess(Packet & pkt); + void FriendRequest(); + void FriendModify(Packet & pkt, uint8 opcode); + void RecvFriendModify(Packet & pkt, uint8 opcode); + void FriendReport(Packet & pkt); + uint8 GetFriendStatus(std::string & charName, int16 & sid); + + void SelectWarpList(Packet & pkt); + bool GetWarpList( int warp_group ); + + void ServerChangeOk(Packet & pkt); + + void PartyBBS(Packet & pkt); + void PartyBBSRegister(Packet & pkt); + void PartyBBSDelete(Packet & pkt); + void PartyBBSNeeded(Packet & pkt, uint8 type); + void PartyBBSWanted(Packet & pkt); + uint8 GetPartyMemberAmount(_PARTY_GROUP *pParty = nullptr); + + void SendPartyBBSNeeded(uint16 page_index, uint8 bType); + + void ClientEvent(uint16 sNpcID); + void KissUser(); + + void RecvSelectMsg(Packet & pkt); + bool AttemptSelectMsg(uint8 bMenuID, int8 bySelectedReward); + + // from the client + void ItemUpgradeProcess(Packet & pkt); + void ItemUpgrade(Packet & pkt, uint8 nUpgradeType = ITEM_UPGRADE); + void ItemUpgradeNotice(_ITEM_TABLE * pItem, uint8 UpgradeResult); + void ItemUpgradeAccessories(Packet & pkt); + void ItemUpgradePet(Packet & pkt); + void BifrostPieceProcess(Packet & pkt); // originally named BeefRoastPieceProcess() -- that's not happening. + void SpecialItemExchange(Packet & pkt); + void ItemUpgradeRebirth(Packet & pkt); + void ItemDisassembling(Packet & pkt); + void ItemSealProcess(Packet & pkt); + void SealItem(uint8 bSealType, uint8 bSrcPos); + void CharacterSealProcess(Packet & pkt); + void CharacterGetSealed(Packet & pkt); + void CharacterGetUnSealed(Packet & pkt); + void SendCharacterSealProcess(); + void SendCharacterSealInfo(Packet & pkt); + + void ShoppingMall(Packet & pkt); + void HandleStoreOpen(Packet & pkt); + void HandleStoreClose(); + void LetterSystem(Packet & pkt); + + void ReqLetterSystem(Packet & pkt); + void ReqLetterUnread(); + void ReqLetterList(bool bNewLettersOnly = true); + void ReqLetterRead(Packet & pkt); + void ReqLetterSend(Packet & pkt); + void ReqLetterGetItem(Packet & pkt); + void ReqLetterDelete(Packet & pkt); + + void HandleNameChange(Packet & pkt); + void HandleCNameChange(Packet & pkt); + void HandlePlayerNameChange(Packet & pkt); + void HandleKnightsNameChange(Packet & pkt); + + void SendNameChange(NameChangeOpcode opcode = NameChangeShowDialog); + void SendKnightsNameChange(ClanNameChangeOpcode opcode = ClanNameChangeShowDialog); + + void HandleHelmet(Packet & pkt); + void HandleCapeChange(Packet & pkt); + void HandleVIPStorage(Packet & pkt); + void VipStorageOpenRequest(Packet & pkt); + void VipStorageItemInput(Packet & pkt); + void VipStorageItemOutput(Packet & pkt); + void VipStorageItemMove(Packet & pkt); + void VipStorageInventoryItemMove(Packet & pkt); + void VipStorageUseKey(Packet & pkt); + void VipStorageChangePassword(Packet & pkt); + void VipStorageNewPassword(Packet & pkt); + void VipStorageOpen(Packet & pkt); + + void HandleUserInfo(Packet & pkt); + void HandleUserInfoNick(Packet & pkt); + void HandleUserInfoShow(Packet & pkt); + void HandleUserInfoDetail(Packet & pkt); + + void HandleChallenge(Packet & pkt); + void HandleChallengeRequestPVP(Packet & pkt); + void HandleChallengeRequestCVC(Packet & pkt); + void HandleChallengeAcceptPVP(Packet & pkt); + void HandleChallengeAcceptCVC(Packet & pkt); + void HandleChallengeCancelled(uint8 opcode); + void HandleChallengeRejected(uint8 opcode); + + void HandlePlayerRankings(Packet & pkt); + uint16 GetPlayerRank(uint8 nRankType); + + void HandleMiningSystem(Packet & pkt); + void HandleMiningStart(Packet & pkt); + void HandleMiningAttempt(Packet & pkt); + void HandleMiningStop(Packet & pkt); + void HandleMiningThing(Packet & pkt); + void HandleFishingStart(Packet & pkt); + void HandleFishingAttempt(Packet & pkt); + void HandleFishingStop(Packet & pkt); + void HandleSoccer(Packet & pkt); + + void SendNotice(); + void TopSendNotice(); + void ClanKnight(); + void AppendNoticeEntry(Packet & pkt, uint8 & elementCount, const char * message, const char * title); + void AppendNoticeEntryOld(Packet & pkt, uint8 & elementCount, const char * message); + void AppendExtraNoticeData(Packet & pkt, uint8 & elementCount); + void UserLookChange( int pos, int itemid, int durability ); + void SpeedHackUser(); + void LoyaltyChange(int16 tid, uint16 bonusNP = 0); + void LoyaltyDivide(int16 tid, uint16 bonusNP = 0); + int16 GetLoyaltyDivideSource(uint8 totalmember = 0); + int16 GetLoyaltyDivideTarget(); + void GrantChickenManner(); + void SendMannerChange(int32 iMannerPoints); + + bool CanLevelQualify(uint8 sLevel); + bool CanChangeZone(C3DMap * pTargetMap, WarpListResponse & errorReason); + void ZoneChange(uint16 sNewZone, float x, float z, uint16 nEventRoom = 0); + void ZoneChangeParty(uint16 sNewZone, float x, float z); + void ZoneChangeClan(uint16 sNewZone, float x, float z); + void PlayerRankingProcess(uint16 ZoneID, bool RemoveInZone = false); + void AddPlayerRank(uint16 ZoneID); + void RemovePlayerRank(); + void UpdatePlayerRank(); + + bool isEventUser(); + + void SendTargetHP( uint8 echo, int tid, int damage = 0 ); + bool IsValidSlotPos( _ITEM_TABLE* pTable, int destpos ); + void SetUserAbility(bool bSendPacket = true); + void LevelChange(uint8 level, bool bLevelUp = true); + void SetSlotItemValue(); + void ApplySetItemBonuses(_SET_ITEM * pItem); + void ApplyAchieveSkillBonuses(uint16 pAchieveSkill, uint8 eNum); + void SendTime(); + void SendWeather(); + void GenieInfo(); + void SetZoneAbilityChange(uint16 sNewZone); + void SetMaxMp(); + void SetMaxSp(); + void SetMaxHp(int iFlag = 0); + void RecvUserExp(Packet & pkt); + void ExpChange(int64 iExp, bool bIsBonusReward = false); + void LogOut(); + void SendMyInfo(); + void SetSpecialItemData(_ITEM_DATA * pSlot, ByteBuffer & result); + void SetExchangeSpecialItemData(_EXCHANGE_ITEM * pSlot, ByteBuffer & result); + void SetMerchantSpecialItemData(_MERCH_DATA * pSlot, ByteBuffer & result); + void SendServerChange(std::string & ip, uint8 bInit); + void Send2AI_UserUpdateInfo(bool initialInfo = false); + uint16 GetPremiumProperty(PremiumPropertyOpCodes type); + void BifrostProcess(CUser * pUser); + void CastleSiegeWarProcess(CUser * pUser); + void SiegeWarFareNpc(Packet & pkt); + void LogosShout(Packet & pkt); + + void RemoveRegionChat(); + + virtual void GetInOut(Packet & result, uint8 bType); + void UserInOut(uint8 bType); + + void GetUserInfo(Packet & pkt); + void SendUserStatusUpdate(UserStatus type, UserStatusBehaviour status); + virtual void Initialize(); + + void ChangeFame(uint8 bFame); + void SendServerIndex(); + + void SendToRegion(Packet *pkt, CUser *pExceptUser = nullptr, uint16 nEventRoom = 0); + void SendToZone(Packet *pkt, CUser *pExceptUser = nullptr, uint16 nEventRoom = 0, float fRange = 0.0f); + + virtual void OnDeath(Unit *pKiller); + void UpdateAngerGauge(uint8 byAngerGauge); + void InitializeStealth(); + + // Premium Switching + + + typedef CSTLMap <_PREMIUM_TYPE> PremiumArray; + PremiumArray PremiumList; + + + void PremiumSwitchHandle(Packet & pkt); + + uint8 PremiumID; + time_t PremiumChangeTime; + uint8 m_bPremiumType; + uint16 m_sPremiumTime; + + + void GivePremium(uint8 bPremiumType, uint16 sPremiumTime); + void SendPremiumInfo(); + + // Type | Time + + INLINE uint8 GetPremium() { return PremiumID; } + + // Exchange system + bool CheckExchange(int nExchangeID); + bool RunExchange(int nExchangeID, uint16 count = 0 /* No random flag */); + bool RunSelectExchange(int nExchangeID, uint32 Count = 0 ); + uint32 GetMaxExchange(int nExchangeID); + + int8 bySelectedReward; + uint8 bMenuID; + + // Clan system + void SendClanUserStatusUpdate(bool bToRegion = true); + + void SendPartyStatusUpdate(uint8 bStatus, uint8 bResult = 0); + + bool CanUseItem(uint32 nItemID, uint16 sCount = 1); + + void CheckSavedMagic(); + virtual void InsertSavedMagic(uint32 nSkillID, uint16 sDuration); + virtual void RemoveSavedMagic(uint32 nSkillID); + virtual bool HasSavedMagic(uint32 nSkillID); + virtual int16 GetSavedMagicDuration(uint32 nSkillID); + + //Quest System + void SendSkillQuestFinish(); + + void V3_QuestDataRequest(); + void V3_QuestProcess(Packet & pkt); + void V3_QuestEvent(uint16 sQuestID, uint8 bQuestState); + void V3_QuestExecuteHelper(_QUEST_HELPER * pQuestHelper); + void V3_QuestCheckFulfill(_QUEST_HELPER * pQuestHelper); + void V3_RequestStart(); + void V3_QuestMonsterDataRequest(uint16 uQuestID); + void V3_QuestMonsterDataDeleteAll(uint16 nQuestID); + bool V3_CheckExistEvent(uint16 sQuestID, uint8 bQuestState); + void V3_MonsterCount(uint16 sNpcID); + void V3_QuestKillCount(uint16 nQuestID, uint16 sNpcID); + bool V3_QuestRunEvent(_QUEST_HELPER * pQuestHelper, uint32 nEventID, int8 bSelectedReward = 0); + void V3_QuestUpdateEvent(uint16 sQuestID); + void V3_QuestSendNpcMsg(uint32 nQuestID, uint16 sNpcID); + void V3_QuestShowGiveItem(uint32 nUnk1, uint32 sUnk1, + uint32 nUnk2, uint32 sUnk2, + uint32 nUnk3, uint32 sUnk3, + uint32 nUnk4, uint32 sUnk4, + uint32 nUnk5 = 0, uint32 sUnk5 = 0); + void V3_QuestShowMap(uint32 nQuestHelperID); + uint16 V3_QuestCheckMonsterCount(uint16 sQuestID,uint8 Slot); + uint16 V3_QuestSearchEligibleQuest(uint16 sNpcID); + uint16 V3_CheckMonsterCount(uint16 bQuest, uint8 bGroup); + // Quest Monster | Kills + typedef std::map Quest_MonMap; + Quest_MonMap m_QuestMonMap; + + // Juraid Join + void TempleEventJoin(); + + + bool PromoteUserNovice(); + bool PromoteUser(); + void PromoteClan(ClanTypeFlag byFlag); + // CheatRoom + void ChatRoomHandle(Packet & pkt); + void NationChangeHandle(Packet & pkt); + void ChatRoomCreate(Packet & pkt); + void ChatRoomList(Packet & pkt); + void ChatRoomJoin(Packet & pkt); + void ChatroomLeave(Packet & pkt); + void ChatroomKickout(Packet & pkt); + void ChatroomKickout(uint16 userID); + void ChatRoomChat(std::string * strMessage, std::string strSender); + void ChatroomAdmin(Packet & pkt); + void ChatroomMemberoption(Packet & pkt); + void ChatroomChangeAdmin(Packet & pkt); + void SendChatRoom(Packet & pkt); + // Attack/zone checks + bool isHostileTo(Unit * pTarget); + bool isInArena(); + bool isInPartyArena(); + bool isInPVPZone(); + bool isInSafetyArea(); + + void ResetWindows(); + + void CloseProcess(); + virtual ~CUser() {} + + /* Database requests */ + void ReqAccountLogIn(Packet & pkt); + void ReqSelectNation(Packet & pkt); + void ReqAllCharInfo(Packet & pkt); + void ReqChangeHair(Packet & pkt); + void ReqCreateNewChar(Packet & pkt); + void ReqSelectCharacter(Packet & pkt); + void ReqSaveCharacter(); + void ReqUserLogOut(); + void ReqRegisterClanSymbol(Packet & pkt); + void ReqSetLogInInfo(Packet & pkt); + void ReqUserKickOut(Packet & pkt); + void BattleEventResult(Packet & pkt); + void ReqShoppingMall(Packet & pkt); + void ReqLoadWebItemMall(); + void ReqSkillDataProcess(Packet & pkt); + void ReqSkillDataSave(Packet & pkt); + void ReqSkillDataLoad(Packet & pkt); + void ReqFriendProcess(Packet & pkt); + void ReqRequestFriendList(Packet & pkt); + void ReqAddFriend(Packet & pkt); + void ReqRemoveFriend(Packet & pkt); + void ReqChangeName(Packet & pkt); + void ReqChangeKnightsName(Packet & pkt); + void ReqChangeCape(Packet & pkt); + void ReqSealItem(Packet & pkt); + void InsertTaxUpEvent(uint8 Nation, uint32 TerritoryTax); + + //private: + static ChatCommandTable s_commandTable; + GameState m_state; + + // quest ID | quest state (need to replace with enum) + typedef std::map QuestMap; + QuestMap m_questMap; + uint8 m_bKillCounts[QUEST_MOB_GROUPS]; + uint16 m_sEventDataIndex; + + typedef std::map AchieveQuestMap; + AchieveQuestMap m_AchievequestMap; + + UserSavedMagicMap m_savedMagicMap; + + _KNIGHTS_USER * m_pKnightsUser; + +public: + DECLARE_LUA_CLASS(CUser); + + // Standard getters + DECLARE_LUA_GETTER(GetName) + DECLARE_LUA_GETTER(GetAccountName) + DECLARE_LUA_GETTER(GetZoneID) + DECLARE_LUA_GETTER(GetX) + DECLARE_LUA_GETTER(GetY) + DECLARE_LUA_GETTER(GetZ) + DECLARE_LUA_GETTER(GetNation) + DECLARE_LUA_GETTER(GetLevel) + DECLARE_LUA_GETTER(GetRebLevel) + DECLARE_LUA_GETTER(GetClass) + DECLARE_LUA_GETTER(GetCoins) + DECLARE_LUA_GETTER(GetInnCoins) + DECLARE_LUA_GETTER(GetLoyalty) + DECLARE_LUA_GETTER(GetMonthlyLoyalty) + DECLARE_LUA_GETTER(GetManner) + DECLARE_LUA_GETTER(GetActiveQuestID) + DECLARE_LUA_GETTER(GetClanGrade) + DECLARE_LUA_GETTER(GetClanPoint) + DECLARE_LUA_GETTER(GetClanRank) + DECLARE_LUA_GETTER(isWarrior) + DECLARE_LUA_GETTER(isRogue) + DECLARE_LUA_GETTER(isMage) + DECLARE_LUA_GETTER(isPriest) + DECLARE_LUA_GETTER(isBeginner) + DECLARE_LUA_GETTER(isBeginnerWarrior) + DECLARE_LUA_GETTER(isBeginnerRogue) + DECLARE_LUA_GETTER(isBeginnerMage) + DECLARE_LUA_GETTER(isBeginnerPriest) + DECLARE_LUA_GETTER(isNovice) + DECLARE_LUA_GETTER(isNoviceWarrior) + DECLARE_LUA_GETTER(isNoviceRogue) + DECLARE_LUA_GETTER(isNoviceMage) + DECLARE_LUA_GETTER(isNovicePriest) + DECLARE_LUA_GETTER(isMastered) + DECLARE_LUA_GETTER(isMasteredWarrior) + DECLARE_LUA_GETTER(isMasteredRogue) + DECLARE_LUA_GETTER(isMasteredMage) + DECLARE_LUA_GETTER(isMasteredPriest) + DECLARE_LUA_GETTER(isInClan) + DECLARE_LUA_GETTER(isClanLeader) + DECLARE_LUA_GETTER(isInParty) + DECLARE_LUA_GETTER(isPartyLeader) + DECLARE_LUA_GETTER(isKing) + DECLARE_LUA_GETTER(GetBeefRoastVictory) + DECLARE_LUA_GETTER(GetPartyMemberAmount) + DECLARE_LUA_GETTER(GetPremium) + DECLARE_LUA_GETTER(GetWarVictory) + DECLARE_LUA_GETTER(GetMonsterChallengeTime) + DECLARE_LUA_GETTER(GetMonsterChallengeUserCount) + DECLARE_LUA_GETTER(GetEventZoneTime) + DECLARE_LUA_GETTER(GetEventZoneUserCount) + DECLARE_LUA_GETTER(GetRace) + + // Shortcuts for lazy people + DECLARE_LUA_FUNCTION(hasCoins) { + LUA_RETURN(LUA_GET_INSTANCE()->hasCoins(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(hasInnCoins) { + LUA_RETURN(LUA_GET_INSTANCE()->hasInnCoins(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(hasLoyalty) { + LUA_RETURN(LUA_GET_INSTANCE()->hasLoyalty(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(hasMonthlyLoyalty) { + LUA_RETURN(LUA_GET_INSTANCE()->hasMonthlyLoyalty(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(hasManner) { + LUA_RETURN(LUA_GET_INSTANCE()->hasManner(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(SendBoard) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendBoard(LUA_ARG(uint16, 2))); + } + + DECLARE_LUA_FUNCTION(SendReported) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ReportedUsers()); + } + + // The useful method wrappers + DECLARE_LUA_FUNCTION(GiveItem) { + LUA_RETURN(LUA_GET_INSTANCE()->GiveItem( + LUA_ARG(uint32, 2), + LUA_ARG_OPTIONAL(uint32, 1, 3), + true, + LUA_ARG_OPTIONAL(uint32, 0, 4))); + } + + DECLARE_LUA_FUNCTION(RobItem) { + LUA_RETURN(LUA_GET_INSTANCE()->RobItem( + LUA_ARG(uint32, 2), + LUA_ARG_OPTIONAL(uint16, 1, 3))); + } + + DECLARE_LUA_FUNCTION(RobAllItemParty) { + LUA_RETURN(LUA_GET_INSTANCE()->RobItem( + LUA_ARG(uint32, 2), + LUA_ARG_OPTIONAL(uint16, 1, 3))); + } + + DECLARE_LUA_FUNCTION(CheckExistItem) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckExistItem( + LUA_ARG(uint32, 2), + LUA_ARG_OPTIONAL(uint16, 1, 3))); + } + + DECLARE_LUA_FUNCTION(GoldGain) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->GoldGain(LUA_ARG(int32, 2))); + } + + DECLARE_LUA_FUNCTION(GoldLose) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->GoldLose(LUA_ARG(uint32, 2))); + } + + DECLARE_LUA_FUNCTION(ExpChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ExpChange(LUA_ARG(int32, 2),true)); + } + + DECLARE_LUA_FUNCTION(SaveEvent) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->V3_QuestUpdateEvent( + LUA_ARG(uint16, 2))); // quest ID + } + + DECLARE_LUA_FUNCTION(SearchQuest) { + CUser * pUser = LUA_GET_INSTANCE(); + if(pUser != nullptr) + { + LUA_RETURN(pUser->V3_QuestSearchEligibleQuest(LUA_ARG_OPTIONAL(uint16, pUser->m_sEventSid, 2))); // NPC ID + } + else + { + printf("Sikkinti vermeye caliisiyorlar searchquest\n"); + return 1; + } + } + + DECLARE_LUA_FUNCTION(ShowMap) { + CUser * pUser = LUA_GET_INSTANCE(); + if(pUser != nullptr) + { + LUA_NO_RETURN(pUser->V3_QuestShowMap(LUA_ARG_OPTIONAL(uint32, pUser->m_nQuestHelperID, 2))); // quest helper ID + } + else + { + + printf("Sikkinti vermeye caliisiyorlar showmap\n"); + return 1; + } + } + + + DECLARE_LUA_FUNCTION(CountMonsterQuestSub) { + LUA_RETURN(LUA_GET_INSTANCE()->V3_QuestCheckMonsterCount(LUA_ARG(uint16, 2), LUA_ARG_OPTIONAL(uint8, 1, 3))); + } + + DECLARE_LUA_FUNCTION(CountMonsterQuestMain) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->V3_MonsterCount((LUA_ARG(uint16, 2)))); + } + + DECLARE_LUA_FUNCTION(NpcSay) { + CUser * pUser = LUA_GET_INSTANCE(); + uint32 arg = 2; // start from after the user instance. + int32 nTextID[8]; + + if(pUser != nullptr) + { + + foreach_array(i, nTextID) + nTextID[i] = LUA_ARG_OPTIONAL(int32, -1, arg++); + + LUA_NO_RETURN(pUser->SendSay(nTextID)); + } + else + { + printf("Sikkinti vermeye caliisiyorlar npcsay\n"); + return 1; + } + } + + // This is probably going to be cleaned up, as the methodology behind these menus is kind of awful. + // For now, we'll just copy existing behaviour: that is, pass along a set of text IDs & button IDs. + DECLARE_LUA_FUNCTION(SelectMsg) { + CUser * pUser = LUA_GET_INSTANCE(); + if (pUser != nullptr) + { + uint32 arg = 2; // start from after the user instance. + int32 menuButtonText[MAX_MESSAGE_EVENT], + menuButtonEvents[MAX_MESSAGE_EVENT]; + uint8 bFlag = LUA_ARG(uint8, arg++); + int32 nQuestID = LUA_ARG_OPTIONAL(int32, -1, arg++); + int32 menuHeaderText = LUA_ARG(int32, arg++); + + foreach_array(i, menuButtonText) + { + menuButtonText[i] = LUA_ARG_OPTIONAL(int32, -1, arg++); + menuButtonEvents[i] = LUA_ARG_OPTIONAL(int32, -1, arg++); + } + + LUA_NO_RETURN(pUser->SelectMsg(bFlag, nQuestID, menuHeaderText, menuButtonText, menuButtonEvents)); + } + else + { + printf("Sikkinti vermeye caliisiyorlar slectmsg\n"); + return 1; + } + } + + DECLARE_LUA_FUNCTION(NpcMsg) { + CUser * pUser = LUA_GET_INSTANCE(); + LUA_NO_RETURN(pUser->V3_QuestSendNpcMsg( + LUA_ARG(uint32, 2), + LUA_ARG_OPTIONAL(uint16, pUser->m_sEventSid, 3))); + } + + DECLARE_LUA_FUNCTION(CheckExistEvent) { + LUA_RETURN(LUA_GET_INSTANCE()->V3_CheckExistEvent( + LUA_ARG(uint16, 2), // Quest ID + LUA_ARG_OPTIONAL(uint8, 1, 3))); // bQuestState + } + + DECLARE_LUA_FUNCTION(CheckWeight) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckWeight( + LUA_ARG(uint32, 2), // item ID + LUA_ARG_OPTIONAL(uint16, 1, 3))); // stack size + } + + DECLARE_LUA_FUNCTION(CheckSkillPoint) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckSkillPoint( + LUA_ARG(uint8, 2), // skill point category + LUA_ARG(uint8, 3), // min + LUA_ARG(uint8, 4))); // max + } + + DECLARE_LUA_FUNCTION(isRoomForItem) { + LUA_RETURN(LUA_GET_INSTANCE()->FindSlotForItem( + LUA_ARG(uint32, 2), // item ID + LUA_ARG_OPTIONAL(uint16, 1, 3))); // stack size + } + + DECLARE_LUA_FUNCTION(CheckExchange) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckExchange(LUA_ARG(uint32, 2))); // exchange ID + } + + DECLARE_LUA_FUNCTION(CheckGiveSlot) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckGiveSlot(LUA_ARG(uint8, 2))); // exchange ID + } + + DECLARE_LUA_FUNCTION(RunExchange) { + LUA_RETURN(LUA_GET_INSTANCE()->RunExchange(LUA_ARG(uint32, 2))); // exchange ID + } + + DECLARE_LUA_FUNCTION(RunSelectExchange) { + LUA_RETURN(LUA_GET_INSTANCE()->RunSelectExchange(LUA_ARG(uint32, 2))); // exchange ID + } + + DECLARE_LUA_FUNCTION(KissUser) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->KissUser()); + } + + DECLARE_LUA_FUNCTION(PromoteUserNovice) { + LUA_RETURN(LUA_GET_INSTANCE()->PromoteUserNovice()); + } + + DECLARE_LUA_FUNCTION(PromoteUser) { + LUA_RETURN(LUA_GET_INSTANCE()->PromoteUser()); + } + + DECLARE_LUA_FUNCTION(ShowEffect) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ShowEffect(LUA_ARG(uint32, 2))); // effect ID + } + + DECLARE_LUA_FUNCTION(ShowNpcEffect) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ShowNpcEffect(LUA_ARG(uint32, 2))); // effect ID + } + + DECLARE_LUA_FUNCTION(CheckWaiting) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->CheckWaiting( + LUA_ARG(uint8, 2), // zone ID + LUA_ARG(uint16, 3))); // Time + } + + DECLARE_LUA_FUNCTION(ZoneChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ZoneChange( + LUA_ARG(uint16, 2), // zone ID + LUA_ARG(float, 3), // x + LUA_ARG(float, 4))); // z + } + + DECLARE_LUA_FUNCTION(ZoneChangeParty) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ZoneChangeParty( + LUA_ARG(uint16, 2), // zone ID + LUA_ARG(float, 3), // x + LUA_ARG(float, 4))); // z + } + + DECLARE_LUA_FUNCTION(ZoneChangeClan) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->ZoneChangeClan( + LUA_ARG(uint16, 2), // zone ID + LUA_ARG(float, 3), // x + LUA_ARG(float, 4))); // z + } + + DECLARE_LUA_FUNCTION(SendNameChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendNameChange()); + } + + DECLARE_LUA_FUNCTION(SendClanNameChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendKnightsNameChange(ClanNameChangeShowDialog)); + } + + DECLARE_LUA_FUNCTION(SendStatSkillDistribute) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendStatSkillDistribute()); + } + + DECLARE_LUA_FUNCTION(SendRepurchase) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendRepurchase()); + } + + DECLARE_LUA_FUNCTION(SendPetUpgrade) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendPetUpgrade()); + } + + DECLARE_LUA_FUNCTION(ResetStatPoints) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->AllPointChange(true)); + } + + DECLARE_LUA_FUNCTION(ResetSkillPoints) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->AllSkillPointChange(true)); + } + + DECLARE_LUA_FUNCTION(GiveLoyalty) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendLoyaltyChange(LUA_ARG(int32, 2), false, false, false)); + } + + DECLARE_LUA_FUNCTION(GiveCash) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendKnightCash(LUA_ARG(int32, 2))); + } + + DECLARE_LUA_FUNCTION(TempleEventJoin) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->TempleEventJoin()); + } + + DECLARE_LUA_FUNCTION(RobLoyalty) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendLoyaltyChange(-(LUA_ARG(int32, 2)),false , false, false)); + } + + DECLARE_LUA_FUNCTION(ChangeManner) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendMannerChange(LUA_ARG(int32, 2))); + } + + DECLARE_LUA_FUNCTION(PromoteClan) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->PromoteClan((ClanTypeFlag) LUA_ARG_OPTIONAL(uint8, ClanTypePromoted, 2))); + } + + DECLARE_LUA_FUNCTION(GetStat) { + LUA_RETURN(LUA_GET_INSTANCE()->GetStat((StatType)(LUA_ARG(uint8, 2) + 1))); + } + + DECLARE_LUA_FUNCTION(RobClanPoint) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendClanPointChange(-(LUA_ARG(int32, 2)))); + } + + DECLARE_LUA_FUNCTION(RequestPersonalRankReward) { + LUA_RETURN(LUA_GET_INSTANCE()->GetRankReward(true)); + } + + DECLARE_LUA_FUNCTION(RequestReward) { + LUA_RETURN(LUA_GET_INSTANCE()->GetRankReward(false)); + } + + DECLARE_LUA_FUNCTION(RunCountExchange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->RunExchange( + LUA_ARG(int, 2), + LUA_ARG(uint16, 3))); + } + + DECLARE_LUA_FUNCTION(GetMaxExchange) { + LUA_RETURN(LUA_GET_INSTANCE()->GetMaxExchange((LUA_ARG(int, 2)))); + } + + DECLARE_LUA_FUNCTION(GetUserDailyOp) { + LUA_RETURN(LUA_GET_INSTANCE()->GetUserDailyOp((LUA_ARG(uint8, 2)))); + } + + DECLARE_LUA_FUNCTION(GetEventTrigger) { + LUA_RETURN(LUA_GET_INSTANCE()->GetEventTrigger()); + } + + DECLARE_LUA_FUNCTION(CheckMiddleStatueCapture) { + LUA_RETURN(LUA_GET_INSTANCE()->CheckMiddleStatueCapture()); + } + + DECLARE_LUA_FUNCTION(MoveMiddleStatue) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->MoveMiddleStatue()); + } + + DECLARE_LUA_FUNCTION(LevelChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->LevelChange(LUA_ARG(uint8, 2), true)); + } + + DECLARE_LUA_FUNCTION(GivePremium) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->GivePremium(LUA_ARG(uint8, 2), LUA_ARG_OPTIONAL(uint8, 1, 3))); + } + + DECLARE_LUA_FUNCTION(GiveKnightCash){ + LUA_NO_RETURN(LUA_GET_INSTANCE()->GiveKnightCash(LUA_ARG(uint32,2))); + } + + DECLARE_LUA_FUNCTION(GetPVPMonumentNation) { + LUA_RETURN(LUA_GET_INSTANCE()->GetPVPMonumentNation()); + } + + DECLARE_LUA_FUNCTION(SendNationChange) { + LUA_NO_RETURN(LUA_GET_INSTANCE()->SendNationChange()); + } + + DECLARE_LUA_FUNCTION(JobChange) { + LUA_RETURN(LUA_GET_INSTANCE()->JobChange((LUA_ARG(uint8, 2)))); + } +}; diff --git a/server/GameServer/UserThread.cpp b/server/GameServer/UserThread.cpp new file mode 100644 index 0000000..d574e6a --- /dev/null +++ b/server/GameServer/UserThread.cpp @@ -0,0 +1,434 @@ +#include "stdafx.h" +#include "../shared/Condition.h" +#include "KnightsManager.h" +#include "KingSystem.h" +#include "User.h" + +static std::queue _queue; +static uint16 _queuerId; +static bool _running = true; +static std::recursive_mutex _locker; +static std::vector s_threads; + +static Condition s_hEvent; +static Thread * s_thread; + +void CUser::Startup(uint32 dwThreads) +{ + for (unsigned long i = 0; i < dwThreads; i++) + s_threads.push_back(new Thread(CUser::UserThreadProc, (void *)i)); +} +bool CUser::HandlePacket(Packet & pktx) +{ + + Packet pkt(uint8(1)); + uint8 command = pktx.GetOpcode(); + BYTE tmpbuf[4096]; + ZeroMemory(tmpbuf, 4096); + + if(pktx.size() < 4) + return false; + + uint32 crc = *(uint32*)(pktx.contents() + pktx.size() - 4); + uint32 packetcrc = 0; + + for (uint16 i = 0; i < pktx.size() - 4; i++) + { + tmpbuf[i] = ((~(pktx.GetByte(i) ^ CRYPT_KEY / 8) ^ CRYPT_KEY * 5) ^ CRYPT_KEY * 22) ^ CRYPT_KEY; + tmpbuf[i] ^= ~((i + 1) ^ ((i + 1) * CRYPT_KEY / 244)); + tmpbuf[i] ^= (m_pktcount * CRYPT_KEY); + pkt << uint8(tmpbuf[i]); + packetcrc += ((tmpbuf[i] ^ CRYPT_KEY) * 8); + } + + command = ((~(command ^ CRYPT_KEY / 8) ^ CRYPT_KEY * 5) ^ CRYPT_KEY * 22) ^ CRYPT_KEY; + command ^= (m_pktcount * CRYPT_KEY); + + pktx.SetOpcode(command); + pkt.SetOpcode(command); + + if (crc != packetcrc && command == WIZ_LOGIN) + { + printf("crc1 : %p -- crc2 : %p opcode : %02X", crc, packetcrc, command); + return false; + } + m_pktcount++; + // crc zmlyor burda sonra threada yonlendiriyor ayklayp normal halde + + printf("pktsize: %d, pktcount:%d\n",pkt.size(),m_pktcount); + Packet pks; + pks << uint16(GetSocketID()) << uint8(command); + + printf("pkssize: %d, pktcount:%d\n",pks.size(),m_pktcount); + + if (pkt.size()) + pks.append(pkt.contents(), pkt.size()); + printf("pkssize: %d, pktcount:%d\n",pks.size(),m_pktcount); + + _lock.lock(); + _queue.push(pks); + _lock.unlock(); + s_hEvent.Signal(); + return true; +} + +uint32 THREADCALL CUser::UserThreadProc(void * lpParam) +{ + while (true) + { + Packet p; + Packet *l = nullptr; + uint16 uid = -1; + uint8 command; + // Pull the next packet from the shared queue + _locker.lock(); + if (_queue.size()) + { + p = _queue.front(); + _queue.pop(); + l = &p; + } + _locker.unlock(); + + + + if (l == nullptr) + { + // If we're shutting down, don't bother waiting for more (there are no more). + if (!_running) + break; + + s_hEvent.Wait(); + continue; + } + + + + + // + // References are fun =p + Packet pkt = p; + // Attempt to lookup the user if necessary + CUser *pUser = nullptr; + + pkt >> uid >> command; + if (uid >= 0) + { + pUser = g_pMain->GetUserPtr(uid); + + // Check to make sure they're still connected. + if (pUser == nullptr) + continue; + } + else + continue; + + // If crypto's not been enabled yet, force the version packet to be sent. + if (!pUser->isCryptoEnabled()) + { + if (command == WIZ_VERSION_CHECK) + pUser->VersionCheck(pkt); + + } + // If we're not authed yet, forced us to before we can do anything else. + // NOTE: We're checking the account ID store here because it's only set on successful auth, + // at which time the other account ID will be cleared out (yes, it's messy -- need to clean it up). + else if (pUser->m_strAccountID.empty()) + { + if (command == WIZ_LOGIN) + pUser->LoginProcess(pkt); + + } + // If we haven't logged in yet, don't let us hit in-game packets. + // TODO: Make sure we support all packets in the loading stage (and rewrite this logic considerably better). + else if (!pUser->m_bSelectedCharacter) + { + switch (command) + { + case WIZ_SEL_NATION: + pUser->SelNationToAgent(pkt); + break; + case WIZ_BRATE: + pUser->BRATE(pkt); + break; + case WIZ_ALLCHAR_INFO_REQ: + pUser->AllCharInfoToAgent(); + break; + case WIZ_CHANGE_HAIR: + pUser->ChangeHair(pkt); + break; + case WIZ_NEW_CHAR: + pUser->NewCharToAgent(pkt); + break; + case WIZ_DEL_CHAR: + pUser->DelCharToAgent(pkt); + break; + case WIZ_SEL_CHAR: + pUser->SelCharToAgent(pkt); + break; + case WIZ_SPEEDHACK_CHECK: + pUser->SpeedHackTime(pkt); + break; + + default: + printf("[SID=%d] Unhandled packet (%X) prior to selecting character\n", pUser->GetSocketID(), command); + break; + } + } + else if (pUser->m_bSelectedCharacter) + { + // Otherwise, assume we're authed & in-game. + switch (command) + { + case WIZ_GAMESTART: + pUser->GameStart(pkt); + break; + case WIZ_SERVER_INDEX: + pUser->SendServerIndex(); + break; + case WIZ_CHANGE_HAIR: + pUser->ChangeHair(pkt); + break; + case WIZ_RENTAL: + pUser->RentalSystem(pkt); + break; + case WIZ_SKILLDATA: + pUser->SkillDataProcess(pkt); + break; + case WIZ_MOVE: + pUser->MoveProcess(pkt); + break; + case WIZ_ROTATE: + pUser->Rotate(pkt); + break; + case WIZ_ATTACK: + pUser->Attack(pkt); + break; + case WIZ_CHAT: + pUser->Chat(pkt); + break; + case WIZ_CHAT_TARGET: + pUser->ChatTargetSelect(pkt); + break; + case WIZ_REGENE: + pUser->Regene(pkt.read()); // respawn type + break; + case WIZ_REQ_USERIN: + pUser->RequestUserIn(pkt); + break; + case WIZ_REQ_NPCIN: + pUser->RequestNpcIn(pkt); + break; + case WIZ_WARP: + if (pUser->isGM()) + pUser->RecvWarp(pkt); + break; + case WIZ_ITEM_MOVE: + pUser->ItemMove(pkt); + break; + case WIZ_NPC_EVENT: + pUser->NpcEvent(pkt); + break; + case WIZ_ITEM_TRADE: + pUser->ItemTrade(pkt); + break; + case WIZ_TARGET_HP: + { + uint16 uid = pkt.read(); + uint8 echo = pkt.read(); + pUser->SetTargetID(uid); + pUser->SendTargetHP(echo, uid); + } + break; + case WIZ_BUNDLE_OPEN_REQ: + pUser->BundleOpenReq(pkt); + break; + case WIZ_ITEM_GET: + pUser->ItemGet(pkt); + break; + case WIZ_ZONE_CHANGE: + pUser->RecvZoneChange(pkt); + break; + case WIZ_POINT_CHANGE: + pUser->PointChange(pkt); + break; + case WIZ_STATE_CHANGE: + pUser->StateChange(pkt); + break; + case WIZ_PARTY: + pUser->PartyProcess(pkt); + break; + case WIZ_EXCHANGE: + pUser->ExchangeProcess(pkt); + break; + case WIZ_QUEST: + pUser->QuestV2PacketProcess(pkt); + break; + case WIZ_MERCHANT: + pUser->MerchantProcess(pkt); + break; + case WIZ_MAGIC_PROCESS: + CMagicProcess::MagicPacket(pkt, pUser); + break; + case WIZ_SKILLPT_CHANGE: + pUser->SkillPointChange(pkt); + break; + case WIZ_OBJECT_EVENT: + pUser->ObjectEvent(pkt); + break; + case WIZ_WEATHER: + case WIZ_TIME: + pUser->UpdateGameWeather(pkt); + break; + case WIZ_CLASS_CHANGE: + pUser->ClassChange(pkt); + break; + case WIZ_CONCURRENTUSER: + pUser->CountConcurrentUser(); + break; + case WIZ_DATASAVE: + pUser->UserDataSaveToAgent(); + break; + case WIZ_ITEM_REPAIR: + pUser->ItemRepair(pkt); + break; + case WIZ_KNIGHTS_PROCESS: + CKnightsManager::PacketProcess(pUser, pkt); + break; + case WIZ_ITEM_REMOVE: + pUser->ItemRemove(pkt); + break; + case WIZ_OPERATOR: + pUser->OperatorCommand(pkt); + break; + case WIZ_SPEEDHACK_CHECK: + pUser->SpeedHackTime(pkt); + break; + case WIZ_WAREHOUSE: + pUser->WarehouseProcess(pkt); + break; + case WIZ_HOME: + pUser->Home(); + break; + case WIZ_FRIEND_PROCESS: + pUser->FriendProcess(pkt); + break; + case WIZ_WARP_LIST: + pUser->SelectWarpList(pkt); + break; + case WIZ_VIRTUAL_SERVER: + pUser->ServerChangeOk(pkt); + break; + case WIZ_PARTY_BBS: + pUser->PartyBBS(pkt); + break; + case WIZ_MAP_EVENT: + break; + case WIZ_CLIENT_EVENT: + pUser->ClientEvent(pkt.read()); + break; + case WIZ_SELECT_MSG: + pUser->RecvSelectMsg(pkt); + break; + case WIZ_ITEM_UPGRADE: + pUser->ItemUpgradeProcess(pkt); + break; + case WIZ_EVENT: + pUser->TempleProcess(pkt); + break; + case WIZ_SHOPPING_MALL: // letter system's used in here too + pUser->ShoppingMall(pkt); + break; + case WIZ_NAME_CHANGE: + pUser->HandleNameChange(pkt); + break; + case WIZ_PACKET3: + pUser->HandleCNameChange(pkt); + break; + case WIZ_KING: + CKingSystem::PacketProcess(pUser, pkt); + break; + case WIZ_HELMET: + pUser->HandleHelmet(pkt); + break; + case WIZ_CAPE: + pUser->HandleCapeChange(pkt); + break; + case WIZ_CHALLENGE: + pUser->HandleChallenge(pkt); + break; + case WIZ_RANK: + pUser->HandlePlayerRankings(pkt); + break; + case WIZ_MINING: + pUser->HandleMiningSystem(pkt); + break; + case WIZ_USER_INFO: + pUser->HandleUserInfo(pkt); + break; + case WIZ_ACHIEVE: + pUser->Achieve(pkt); + break; + case WIZ_SIEGE: + pUser->SiegeWarFareNpc(pkt); + break; + case WIZ_LOGOSSHOUT: + pUser->LogosShout(pkt); + break; + case WIZ_GENIE: + pUser->HandleGenie(pkt); + break; + case WIZ_CAPTURE: + pUser->HandleCapture(pkt); + break; + case WIZ_NATION_CHAT: + pUser->ChatRoomHandle(pkt); + break; + default: + TRACE("[SID=%d] Unknown packet %X\n", pUser->GetSocketID(), command); + break; + } + pUser->Update(); + } + + + pkt.clear(); + p.clear(); + uid = -1; + + } + + printf("[User Thread %d] Exiting...\n", lpParam); + return 0; +} + + +void CUser::Shutdown() +{ + _running = false; + + // Wake them up in case they're sleeping. + if (!s_threads.empty()) + { + // Wake them up in case they're sleeping. + s_hEvent.Broadcast(); + + foreach (itr, s_threads) + { + (*itr)->waitForExit(); + delete (*itr); + } + + s_threads.clear(); + } + + _locker.lock(); + while (_queue.size()) + { + Packet p = _queue.front(); + _queue.pop(); + p.clear(); + } + _locker.unlock(); + +} diff --git a/server/GameServer/UserThread.h b/server/GameServer/UserThread.h new file mode 100644 index 0000000..8daffcf --- /dev/null +++ b/server/GameServer/UserThread.h @@ -0,0 +1,16 @@ +#pragma once + +class UserThread +{ +public: + // Startup the database threads + static void Startup(uint32 dwThreads); + + // Add to the queue and notify threads of activity. + static void AddRequest(Packet pkt, uint16 SockId); + + // Main thread procedure + + // Shutdown threads. + static void Shutdown(); +}; \ No newline at end of file diff --git a/server/GameServer/VIP.cpp b/server/GameServer/VIP.cpp new file mode 100644 index 0000000..124aa68 --- /dev/null +++ b/server/GameServer/VIP.cpp @@ -0,0 +1,564 @@ +#include "stdafx.h" +#include "../shared/globals.h" +#include "../shared/DateTime.h" +#include +#include "DBAgent.h" +#define VIP_VAULT_KEY 800442000 + +using std::vector; + +void CUser::VipStorageOpenRequest(Packet & pkt) +{ + uint16 NpcID; + pkt >> NpcID; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (NpcID != 0) + { + auto pNpc = g_pMain->GetNpcPtr(NpcID); + if (pNpc == nullptr) + return; + + if(!pNpc->isInRange(this, MAX_NPC_RANGE)) + return; + } + + if(VIPStoreFalseTrying == 3) + { + Packet result2(WIZ_VIP_STORAGE); + result2 << uint8(11) // alp almayaca + << uint8(2) + << uint8(VIPStoreFalseTrying); + Send(&result2); + return; + } + + if(VIPStorePassword.length() < 4) + { + Packet result(WIZ_VIP_STORAGE); + result << uint8(1) << uint8(1); + Send(&result); + } + else + { + Packet result(WIZ_VIP_STORAGE); + result << uint8(0x0B) << uint8(1) << uint8(0); + Send(&result); + } +} + +void CUser::VipStorageOpen(Packet & pkt) +{ + std::string Password; + pkt.SByte(); + pkt >> Password; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + Packet result(WIZ_VIP_STORAGE); + if(Password != VIPStorePassword) + { + VIPStoreFalseTrying += 1; + result << uint8(11) // alp almayaca + << uint8(2) + << uint8(VIPStoreFalseTrying); + Send(&result); + return; + } + + + + + VIPStoreFalseTrying = 0; + result << uint8(1) << uint8(1) << uint8(1); + + if(nVIPExpirationTime > 0) + result << uint8(1) << uint32(nVIPExpirationTime + 30*DAY) << uint8(0) << uint32(0) << uint8(0) << uint32(0) << uint8(0) << uint32(0); + else + result << uint8(0) << uint32(0) << uint8(0) << uint32(0) << uint8(0) << uint32(0) << uint8(0) << uint32(0); + + + + + for (size_t i = 0; i < MAX_SLOT_VIP_STORAGE; i++) + { + + auto pSlot = GetVipStorageSlot(i); + + if (!pSlot) + result << uint64(0) << uint64(0) << uint8(0); + else + { + result << pSlot->nNum << pSlot->sDuration << pSlot->sCount << pSlot->bFlag; + SetSpecialItemData(pSlot, result); + result << pSlot->nExpirationTime; + } + } + Send(&result); +} + +void CUser::VipStorageItemInput(Packet & pkt) +{ + Packet result(WIZ_VIP_STORAGE, uint8(2)); + uint8 bResult = true; + uint32 ItemID; + uint16 NpcID,Count; + uint8 Page, SourcePosition, DestinationPosition; + + pkt >> NpcID >> ItemID >> Page >> SourcePosition >> DestinationPosition >> Count; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (NpcID != 0) + { + auto pNpc = g_pMain->GetNpcPtr(NpcID); + + if (pNpc == nullptr) + { + bResult = 2; + goto SendPacket; + } + } + + if (SourcePosition > HAVE_MAX || DestinationPosition > MAX_SLOT_VIP_STORAGE) + { + bResult = 2; + goto SendPacket; + } + + auto pItem = g_pMain->GetItemPtr(ItemID); + if (pItem == nullptr) + { + bResult = 2; + goto SendPacket; + } + + auto pInventoryItem = GetItem(SLOT_MAX + SourcePosition); + + if (pInventoryItem == nullptr || ItemID >= ITEM_NO_TRADE || pInventoryItem->nNum != ItemID || pInventoryItem->isRented() || pInventoryItem->isDuplicate()) + { + bResult = 2; + goto SendPacket; + } + + auto pVipStorAgeSlot = GetVipStorageSlot(DestinationPosition); + + if ((!pItem->isStackable() && pVipStorAgeSlot->nNum != 0) + || (pItem->isStackable() && pVipStorAgeSlot->nNum != 0 && pVipStorAgeSlot->nNum != pInventoryItem->nNum) + || pInventoryItem->sCount < Count) + { + bResult = 2; + goto SendPacket; + } + + if (pVipStorAgeSlot->sCount <= 0 || pVipStorAgeSlot->nNum == 0) + memset(pVipStorAgeSlot, 0, sizeof(_ITEM_DATA)); + + pVipStorAgeSlot->nNum = pInventoryItem->nNum; + pVipStorAgeSlot->sDuration = pInventoryItem->sDuration; + + if(pItem->isStackable()) + pVipStorAgeSlot->sCount += (uint16)Count; + else + pVipStorAgeSlot->sCount = (uint16)Count; + + if(pItem->isStackable()) + pInventoryItem->sCount -= (uint16)Count; + else + pInventoryItem->sCount = 0; + + pVipStorAgeSlot->bFlag = pInventoryItem->bFlag; + pVipStorAgeSlot->sRemainingRentalTime = pInventoryItem->sRemainingRentalTime; + pVipStorAgeSlot->nExpirationTime = pInventoryItem->nExpirationTime; + + if (!pItem->isStackable() || Count == pVipStorAgeSlot->sCount) + pVipStorAgeSlot->nSerialNum = pInventoryItem->nSerialNum; + + if (!pItem->isStackable() && pVipStorAgeSlot->nSerialNum == 0) + pVipStorAgeSlot->nSerialNum = g_pMain->GenerateItemSerial(); + + if (pInventoryItem->sCount <= 0) + memset(pInventoryItem, 0, sizeof(_ITEM_DATA)); + + + SetUserAbility(false); + SendItemWeight(); + +SendPacket: + result << uint8(bResult); + Send(&result); +} + +void CUser::VipStorageItemOutput(Packet & pkt) +{ + Packet result(WIZ_WAREHOUSE, uint8(3)); + uint8 bResult = 1; + + uint32 ItemID; + uint16 NpcID, Count; + uint8 Page, SourcePosition, DestinationPosition; + + + + pkt >> NpcID >> ItemID >> Page >> SourcePosition >> DestinationPosition >> Count; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (NpcID != 0) + { + auto pNpc = g_pMain->GetNpcPtr(NpcID); + + if (pNpc == nullptr) + { + bResult = 2; + goto SendPacket; + } + } + + if (SourcePosition > MAX_SLOT_VIP_STORAGE || DestinationPosition > HAVE_MAX) + { + bResult = 2; + goto SendPacket; + } + + auto pItem = g_pMain->GetItemPtr(ItemID); + if (pItem == nullptr) + { + bResult = 2; + goto SendPacket; + } + + auto pVipStorAgeSlot = GetVipStorageSlot(SourcePosition); + + if (pVipStorAgeSlot == nullptr + || ItemID >= ITEM_NO_TRADE + || pVipStorAgeSlot->nNum != ItemID + || pVipStorAgeSlot->nNum == 0/* || !CheckWeight(pItem, ItemID, (uint16)Count)*/) + { + bResult = 2; + goto SendPacket; + } + + auto pInventoryItem = GetItem(SLOT_MAX + DestinationPosition); + + if ((!pItem->isStackable() && pInventoryItem->nNum != 0) + || (pItem->isStackable() && pInventoryItem->nNum != 0 && pInventoryItem->nNum != pVipStorAgeSlot->nNum) + || pVipStorAgeSlot->sCount < Count) + { + bResult = 2; + goto SendPacket; + } + + if (pInventoryItem->sCount <= 0 || pInventoryItem->nNum == 0) + memset(pInventoryItem, 0, sizeof(_ITEM_DATA)); + + + pInventoryItem->nNum = pVipStorAgeSlot->nNum; + pInventoryItem->sDuration = pVipStorAgeSlot->sDuration; + + if(pItem->isStackable()) + pInventoryItem->sCount += (uint16)Count; + else + pInventoryItem->sCount = (uint16)Count; + + if(pItem->isStackable()) + pVipStorAgeSlot->sCount -= (uint16)Count; + else + pVipStorAgeSlot->sCount = 0; + + pInventoryItem->bFlag = pVipStorAgeSlot->bFlag; + pInventoryItem->sRemainingRentalTime = pVipStorAgeSlot->sRemainingRentalTime; + pInventoryItem->nExpirationTime = pVipStorAgeSlot->nExpirationTime; + + if (!pItem->isStackable() || Count == pInventoryItem->sCount) + pInventoryItem->nSerialNum = pVipStorAgeSlot->nSerialNum; + + if (!pItem->isStackable() && pInventoryItem->nSerialNum == 0) + pInventoryItem->nSerialNum = g_pMain->GenerateItemSerial(); + + if (pVipStorAgeSlot->sCount <= 0) + memset(pVipStorAgeSlot, 0, sizeof(_ITEM_DATA)); + + SetUserAbility(false); + SendItemWeight(); + +SendPacket: + result << uint8(bResult); + Send(&result); +} + +void CUser::VipStorageItemMove(Packet & pkt) +{ + Packet result(WIZ_VIP_STORAGE, uint8(4)); + auto bResult = true; + + uint32 ItemID; + uint16 NpcID; + uint8 Page, SourcePosition, DestinationPosition; + + pkt >> NpcID >> ItemID >> Page >> SourcePosition >> DestinationPosition; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (NpcID != 0) + { + auto pNpc = g_pMain->GetNpcPtr(NpcID); + if (pNpc == nullptr) + { + bResult = false; + goto SendPacket; + } + } + + auto pItem = g_pMain->GetItemPtr(ItemID); + if (pItem == nullptr) + { + bResult = false; + goto SendPacket; + } + + auto pSourceItem = GetVipStorageSlot(SourcePosition); + auto pDestinationItem = GetVipStorageSlot(DestinationPosition); + + if (pSourceItem->nNum != ItemID || pDestinationItem->nNum != 0) + { + bResult = false; + goto SendPacket; + } + + memcpy(pDestinationItem, pSourceItem, sizeof(_ITEM_DATA)); + memset(pSourceItem, 0, sizeof(_ITEM_DATA)); + +SendPacket: + result << uint8(bResult); + Send(&result); +} + +void CUser::VipStorageInventoryItemMove(Packet & pkt) +{ + Packet result(WIZ_VIP_STORAGE, uint8(5)); + auto bResult = true; + + uint32 ItemID; + uint16 NpcID; + uint8 Page, SourcePosition, DestinationPosition; + + pkt >> NpcID >> ItemID >> Page >> SourcePosition >> DestinationPosition; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (NpcID != 0) + { + auto pNpc = g_pMain->GetNpcPtr(NpcID); + if (pNpc == nullptr) + { + bResult = false; + goto SendPacket; + } + } + + auto pItem = g_pMain->GetItemPtr(ItemID); + if (pItem == nullptr) + { + bResult = false; + goto SendPacket; + } + + auto pSourceItem = GetItem(SLOT_MAX + SourcePosition); + auto pDestinationItem = GetItem(SLOT_MAX + DestinationPosition); + + if (pSourceItem->nNum != ItemID || pDestinationItem->nNum != 0) + { + bResult = false; + goto SendPacket; + } + + memcpy(pDestinationItem, pSourceItem, sizeof(_ITEM_DATA)); + memset(pSourceItem, 0, sizeof(_ITEM_DATA)); + +SendPacket: + result << uint8(bResult); + Send(&result); +} + +void CUser::VipStorageUseKey(Packet & pkt) +{ + Packet result(WIZ_VIP_STORAGE, uint8(6)); + /* + 2 - You have failed to use [VIP]Storage Key. + 4 - It is not [VIP]Storage Key. + 5 - You cannot extent the period if the storage has more than 60 days. + */ + uint8 ReturnValue = 1; + uint16 NpcID; + uint32 ItemID; + uint8 UnKnow1, UnKnow2, SourcePosition; + + pkt >> NpcID >> ItemID >> UnKnow1 >> SourcePosition >> UnKnow2; + + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + + if(VIPStorePassword.length() < 4) + { + ReturnValue = 2; + goto failed_return; + } + + if(ItemID != VIP_VAULT_KEY) + { + ReturnValue = 4; + goto failed_return; + } + _ITEM_DATA *pItem = GetItem(SLOT_MAX + SourcePosition); + + if(pItem == nullptr) + { + ReturnValue = 2; + goto failed_return; + } + + + _ITEM_TABLE *pTable = g_pMain->GetItemPtr(pItem->nNum); + + if(pTable == nullptr) + { + ReturnValue = 2; + goto failed_return; + } + + if(pItem->nNum != VIP_VAULT_KEY) + { + ReturnValue = 4; + goto failed_return; + } + + if(nVIPExpirationTime > 0) + { + + if(nVIPExpirationTime + (DAY * 30) > (UNIXTIME + (DAY * 60))) + { + ReturnValue = 5; + goto failed_return; + } + + nVIPExpirationTime += (DAY * 30); + } + else + nVIPExpirationTime += uint32(UNIXTIME+24*60*60*30); + + + RobItem(SourcePosition + SLOT_MAX,pTable,1); + memset(pItem, 0, sizeof(pItem)); + + result << ReturnValue << uint8(1) << uint32(nVIPExpirationTime); + Send(&result); + return; +failed_return: + result << ReturnValue; + Send(&result); +} +void CUser::VipStorageNewPassword(Packet & pkt) +{ + if (VIPStorePassword.size() == 1 || VIPStorePassword.size() < 4 || VIPStorePassword.size() > 4) + VipStorageChangePassword(pkt); + else + return; +} + +void CUser::VipStorageChangePassword(Packet & pkt) +{ + Packet result(WIZ_VIP_STORAGE, uint8(8)); + std::string Password; + uint8 ReturnValue = 2; + + pkt.SByte(); + pkt >> Password; + if (isDead() + || isTrading() + || isMerchanting() + || isStoreOpen() + || isSellingMerchant() + || isBuyingMerchant() + || isMining() + || m_bMerchantStatex) + return; + + if (Password.size() == 0 || Password.size() < 4 || Password.size() > 4) + { + ReturnValue = 2; + goto failed_return; + } + + VIPStoreFalseTrying = 0; + VIPStorePassword = Password; + + g_DBAgent.UpdateVIPStoragePassword(GetName(),VIPStorePassword); + ReturnValue = 1; + goto failed_return; + /* + 1 - Password change has set. VIP Storage will be closed. + 2 - Password change has failed. + */ + +failed_return: + result << ReturnValue; + Send(&result); +} diff --git a/server/GameServer/lua_bindings.cpp b/server/GameServer/lua_bindings.cpp new file mode 100644 index 0000000..96d5917 --- /dev/null +++ b/server/GameServer/lua_bindings.cpp @@ -0,0 +1,437 @@ +#include "stdafx.h" +#include "LuaEngine.h" +#include "User.h" +#include "Npc.h" + +/* +Classes +*/ + +/** +* Defining a class is simple: just #define LUA_CLASS to your class name, +* then call DEFINE_LUA_CLASS(), specifying each method to expose. +* +* Remember to #undef LUA_CLASS when you're done. +* +* Doing so sacrifices a little readability, however it +* makes manually defining methods much quicker (less to type). +* +* Also, as our method doesn't support inheritance, you'll need +* to redefine the same methods for each class. +* +* This is because of the way we dynamically pull instance pointers; +* these are typedef'd within the class, so that we can refer to them +* to grab the class name from within. As we type check these with Lua, +* they'll fail, so we won't be able to use them. +* +* I don't think this is such a big issue, as there's only a handful of +* cases that actually require this behaviour. +**/ + +#define LUA_CLASS CUser +DEFINE_LUA_CLASS + ( + // Getters + MAKE_LUA_METHOD(GetName) + MAKE_LUA_METHOD(GetAccountName) + MAKE_LUA_METHOD(GetZoneID) + MAKE_LUA_METHOD(GetX) + MAKE_LUA_METHOD(GetY) + MAKE_LUA_METHOD(GetZ) + MAKE_LUA_METHOD(GetNation) + MAKE_LUA_METHOD(GetLevel) + MAKE_LUA_METHOD(GetRebLevel) + MAKE_LUA_METHOD(GetClass) + MAKE_LUA_METHOD(GetCoins) + MAKE_LUA_METHOD(GetInnCoins) + MAKE_LUA_METHOD(GetLoyalty) + MAKE_LUA_METHOD(GetMonthlyLoyalty) + MAKE_LUA_METHOD(GetManner) + MAKE_LUA_METHOD(GetActiveQuestID) + MAKE_LUA_METHOD(GetClanGrade) + MAKE_LUA_METHOD(GetClanPoint) + MAKE_LUA_METHOD(GetClanRank) + MAKE_LUA_METHOD(GetStat) + + MAKE_LUA_METHOD(isWarrior) + MAKE_LUA_METHOD(isRogue) + MAKE_LUA_METHOD(isMage) + MAKE_LUA_METHOD(isPriest) + + MAKE_LUA_METHOD(isBeginner) + MAKE_LUA_METHOD(isBeginnerWarrior) + MAKE_LUA_METHOD(isBeginnerRogue) + MAKE_LUA_METHOD(isBeginnerMage) + MAKE_LUA_METHOD(isBeginnerPriest) + + MAKE_LUA_METHOD(isNovice) + MAKE_LUA_METHOD(isNoviceWarrior) + MAKE_LUA_METHOD(isNoviceRogue) + MAKE_LUA_METHOD(isNoviceMage) + MAKE_LUA_METHOD(isNovicePriest) + + MAKE_LUA_METHOD(isMastered) + MAKE_LUA_METHOD(isMasteredWarrior) + MAKE_LUA_METHOD(isMasteredRogue) + MAKE_LUA_METHOD(isMasteredMage) + MAKE_LUA_METHOD(isMasteredPriest) + + MAKE_LUA_METHOD(isInClan) + MAKE_LUA_METHOD(isClanLeader) + MAKE_LUA_METHOD(isInParty) + MAKE_LUA_METHOD(isPartyLeader) + MAKE_LUA_METHOD(isKing) + + + // Shortcuts for lazy people + MAKE_LUA_METHOD(hasCoins) + MAKE_LUA_METHOD(hasInnCoins) + MAKE_LUA_METHOD(hasLoyalty) + MAKE_LUA_METHOD(hasMonthlyLoyalty) + MAKE_LUA_METHOD(hasManner) + MAKE_LUA_METHOD(SendBoard) + MAKE_LUA_METHOD(SendReported) + + // Here lie the useful methods. + MAKE_LUA_METHOD(GiveItem) + MAKE_LUA_METHOD(RobItem) + MAKE_LUA_METHOD(CheckExistItem) + MAKE_LUA_METHOD(GoldGain) + MAKE_LUA_METHOD(GoldLose) + MAKE_LUA_METHOD(ExpChange) + MAKE_LUA_METHOD(GiveCash) + MAKE_LUA_METHOD(TempleEventJoin) + MAKE_LUA_METHOD(GiveLoyalty) + MAKE_LUA_METHOD(RobLoyalty) + MAKE_LUA_METHOD(SaveEvent) + MAKE_LUA_METHOD(SearchQuest) + MAKE_LUA_METHOD(ShowMap) + MAKE_LUA_METHOD(SelectMsg) // menu + MAKE_LUA_METHOD(NpcSay) // dialog + MAKE_LUA_METHOD(NpcMsg) // new automated quest prompt (does whatever's needed, menu, quest prompt, etc) + MAKE_LUA_METHOD(CheckWeight) + MAKE_LUA_METHOD(CheckExistEvent) + MAKE_LUA_METHOD(CheckSkillPoint) + MAKE_LUA_METHOD(isRoomForItem) // FindSlotForItem() + MAKE_LUA_METHOD(CountMonsterQuestSub) + MAKE_LUA_METHOD(CountMonsterQuestMain) + MAKE_LUA_METHOD(CheckGiveSlot) + MAKE_LUA_METHOD(CheckExchange) + MAKE_LUA_METHOD(RunExchange) + MAKE_LUA_METHOD(RunSelectExchange) + MAKE_LUA_METHOD(SendNameChange) + MAKE_LUA_METHOD(SendClanNameChange) + MAKE_LUA_METHOD(ResetSkillPoints) + MAKE_LUA_METHOD(ResetStatPoints) + MAKE_LUA_METHOD(PromoteUserNovice) + MAKE_LUA_METHOD(PromoteUser) + MAKE_LUA_METHOD(RobAllItemParty) + MAKE_LUA_METHOD(CheckWaiting) + MAKE_LUA_METHOD(ZoneChange) + MAKE_LUA_METHOD(ZoneChangeParty) + MAKE_LUA_METHOD(ZoneChangeClan) + MAKE_LUA_METHOD(ShowEffect) + MAKE_LUA_METHOD(ShowNpcEffect) + MAKE_LUA_METHOD(KissUser) + MAKE_LUA_METHOD(ChangeManner) + MAKE_LUA_METHOD(PromoteClan) + MAKE_LUA_METHOD(RobClanPoint) + MAKE_LUA_METHOD(GetBeefRoastVictory) + MAKE_LUA_METHOD(RequestPersonalRankReward) + MAKE_LUA_METHOD(RequestReward) + MAKE_LUA_METHOD(RunCountExchange) + MAKE_LUA_METHOD(GetMaxExchange) + MAKE_LUA_METHOD(GetPartyMemberAmount) + MAKE_LUA_METHOD(GetUserDailyOp) + MAKE_LUA_METHOD(GetEventTrigger) + MAKE_LUA_METHOD(GetPremium) + MAKE_LUA_METHOD(GetWarVictory) + MAKE_LUA_METHOD(CheckMiddleStatueCapture) + MAKE_LUA_METHOD(MoveMiddleStatue) + MAKE_LUA_METHOD(LevelChange) + MAKE_LUA_METHOD(GivePremium) + MAKE_LUA_METHOD(GiveKnightCash) + MAKE_LUA_METHOD(GetMonsterChallengeTime) + MAKE_LUA_METHOD(GetMonsterChallengeUserCount) + MAKE_LUA_METHOD(GetEventZoneTime) + MAKE_LUA_METHOD(GetEventZoneUserCount) + MAKE_LUA_METHOD(GetPVPMonumentNation) + MAKE_LUA_METHOD(SendNationChange) + MAKE_LUA_METHOD(GetRace) + MAKE_LUA_METHOD(JobChange) + ); +#undef LUA_CLASS + +#define LUA_CLASS CNpc +DEFINE_LUA_CLASS + ( + // Getters + MAKE_LUA_METHOD(GetID) + MAKE_LUA_METHOD(GetProtoID) + MAKE_LUA_METHOD(GetName) + MAKE_LUA_METHOD(GetNation) + MAKE_LUA_METHOD(GetType) + MAKE_LUA_METHOD(GetZoneID) + MAKE_LUA_METHOD(GetX) + MAKE_LUA_METHOD(GetY) + MAKE_LUA_METHOD(GetZ) + MAKE_LUA_METHOD(CastSkill) + + // Useful methods + // MAKE_LUA_METHOD(CycleSpawn) // i.e. ChangePosition(), used to cycle a spawn through the various trap numbers (like 7 key quest NPCs) + + ); +#undef LUA_CLASS + + +/* +Global functions +*/ +LUA_FUNCTION(CheckPercent) +{ + LUA_RETURN(CheckPercent(LUA_ARG(int, 1))); +} + +#define Lua_GetUser() g_pMain->GetUserPtr(LUA_ARG(uint16, 1)) + +LUA_FUNCTION(HowmuchItem) +{ + CUser * pUser = Lua_GetUser(); + uint32 result = 0; + + if (pUser != nullptr) + { + uint32 nItemID = LUA_ARG(uint32, 2); + if (nItemID == ITEM_GOLD) + result = pUser->GetCoins(); + else + result = pUser->GetItemCount(nItemID); + } + + LUA_RETURN(result); +} + +LUA_FUNCTION(CheckNation) +{ + CUser * pUser = Lua_GetUser(); + uint8 bNation = Nation::NONE; + + if (pUser != nullptr) + bNation = pUser->GetNation(); + + LUA_RETURN(bNation); +} + +LUA_FUNCTION(CheckClass) +{ + CUser * pUser = Lua_GetUser(); + uint8 bClassType = 0; + + if (pUser != nullptr) + bClassType = pUser->GetClassType(); + + LUA_RETURN(bClassType); +} + +LUA_FUNCTION(CheckLevel) +{ + CUser * pUser = Lua_GetUser(); + uint8 bClassType = 0; + + if (pUser != nullptr) + bClassType = pUser->GetLevel(); + + if(bClassType == g_pMain->MAXLVLINI && pUser->m_iExp == pUser->m_iMaxExp && pUser->GetRebLevel() < 10) + bClassType = 84; + + + LUA_RETURN(bClassType); +} + +LUA_FUNCTION(CheckRebLevel) +{ + CUser * pUser = Lua_GetUser(); + uint8 bClassType = 0; + + if (pUser != nullptr) + bClassType = pUser->GetRebLevel(); + + LUA_RETURN(bClassType); +} + +LUA_FUNCTION(CheckSkillPoint) +{ + CUser * pUser = Lua_GetUser(); + uint8 bPoints = 0; + + if (pUser != nullptr) + bPoints = pUser->GetSkillPoints((SkillPointCategory)LUA_ARG(uint32, 2)); + + LUA_RETURN(bPoints); +} + +#define _LUA_WRAPPER_USER_FUNCTION(name, methodName) \ + LUA_FUNCTION(name) { \ + CUser * pUser = Lua_GetUser(); /* get the user from the stack using the specified user ID */ \ + lua_tpush(L, pUser); /* push the user pointer onto the stack, as our code expects */ \ + lua_remove(L, 1); /* removes the user ID from the stack */ \ + lua_insert(L, 1); /* moves the user pointer to the start of the bottom of the stack where it's expected */ \ + return CUser::Lua_ ## methodName(L); \ +} + +#define LUA_WRAPPER_USER_FUNCTION(name) \ + _LUA_WRAPPER_USER_FUNCTION(name, name) + +/* 1:1 mappings */ +LUA_WRAPPER_USER_FUNCTION(ShowMap); +LUA_WRAPPER_USER_FUNCTION(SaveEvent); +LUA_WRAPPER_USER_FUNCTION(CheckGiveSlot); +LUA_WRAPPER_USER_FUNCTION(CheckExchange); +LUA_WRAPPER_USER_FUNCTION(RunExchange); +LUA_WRAPPER_USER_FUNCTION(RunSelectExchange); +LUA_WRAPPER_USER_FUNCTION(SearchQuest); +LUA_WRAPPER_USER_FUNCTION(NpcMsg); +LUA_WRAPPER_USER_FUNCTION(ShowEffect); +LUA_WRAPPER_USER_FUNCTION(ShowNpcEffect); +LUA_WRAPPER_USER_FUNCTION(GetName); +LUA_WRAPPER_USER_FUNCTION(GetAccountName); +LUA_WRAPPER_USER_FUNCTION(GetZoneID); +LUA_WRAPPER_USER_FUNCTION(GetX); +LUA_WRAPPER_USER_FUNCTION(GetY); +LUA_WRAPPER_USER_FUNCTION(GetZ); +LUA_WRAPPER_USER_FUNCTION(GetNation); +LUA_WRAPPER_USER_FUNCTION(GetLevel); +LUA_WRAPPER_USER_FUNCTION(GetRebLevel); +LUA_WRAPPER_USER_FUNCTION(GetClass); +LUA_WRAPPER_USER_FUNCTION(GetInnCoins); +LUA_WRAPPER_USER_FUNCTION(GetCoins); +LUA_WRAPPER_USER_FUNCTION(GetLoyalty); +LUA_WRAPPER_USER_FUNCTION(GetMonthlyLoyalty); +LUA_WRAPPER_USER_FUNCTION(GetManner); +LUA_WRAPPER_USER_FUNCTION(GetActiveQuestID); +LUA_WRAPPER_USER_FUNCTION(isWarrior); +LUA_WRAPPER_USER_FUNCTION(isRogue); +LUA_WRAPPER_USER_FUNCTION(isMage); +LUA_WRAPPER_USER_FUNCTION(isPriest); +LUA_WRAPPER_USER_FUNCTION(isInClan); +LUA_WRAPPER_USER_FUNCTION(isClanLeader); +LUA_WRAPPER_USER_FUNCTION(isInParty); +LUA_WRAPPER_USER_FUNCTION(isPartyLeader); +LUA_WRAPPER_USER_FUNCTION(isKing); +LUA_WRAPPER_USER_FUNCTION(hasCoins); +LUA_WRAPPER_USER_FUNCTION(hasInnCoins); +LUA_WRAPPER_USER_FUNCTION(hasLoyalty); +LUA_WRAPPER_USER_FUNCTION(hasMonthlyLoyalty); +LUA_WRAPPER_USER_FUNCTION(hasManner); +LUA_WRAPPER_USER_FUNCTION(SendBoard); +LUA_WRAPPER_USER_FUNCTION(SendReported); +LUA_WRAPPER_USER_FUNCTION(GiveItem); +LUA_WRAPPER_USER_FUNCTION(RobItem); +LUA_WRAPPER_USER_FUNCTION(CheckExistItem); +LUA_WRAPPER_USER_FUNCTION(GoldGain); +LUA_WRAPPER_USER_FUNCTION(GoldLose); +LUA_WRAPPER_USER_FUNCTION(ExpChange); +LUA_WRAPPER_USER_FUNCTION(GiveLoyalty); +LUA_WRAPPER_USER_FUNCTION(GiveCash); +LUA_WRAPPER_USER_FUNCTION(TempleEventJoin); +LUA_WRAPPER_USER_FUNCTION(RobLoyalty); +LUA_WRAPPER_USER_FUNCTION(NpcSay); +LUA_WRAPPER_USER_FUNCTION(CheckWeight); +LUA_WRAPPER_USER_FUNCTION(CheckExistEvent); +LUA_WRAPPER_USER_FUNCTION(isRoomForItem); +LUA_WRAPPER_USER_FUNCTION(SendNameChange); +LUA_WRAPPER_USER_FUNCTION(SendClanNameChange); +LUA_WRAPPER_USER_FUNCTION(ResetSkillPoints); +LUA_WRAPPER_USER_FUNCTION(ResetStatPoints); +LUA_WRAPPER_USER_FUNCTION(PromoteUserNovice); +LUA_WRAPPER_USER_FUNCTION(PromoteUser); +LUA_WRAPPER_USER_FUNCTION(RobAllItemParty); +LUA_WRAPPER_USER_FUNCTION(CheckWaiting); +LUA_WRAPPER_USER_FUNCTION(ZoneChange); +LUA_WRAPPER_USER_FUNCTION(ZoneChangeParty); +LUA_WRAPPER_USER_FUNCTION(ZoneChangeClan); +LUA_WRAPPER_USER_FUNCTION(KissUser); +LUA_WRAPPER_USER_FUNCTION(ChangeManner); +LUA_WRAPPER_USER_FUNCTION(PromoteClan); +LUA_WRAPPER_USER_FUNCTION(RobClanPoint); +LUA_WRAPPER_USER_FUNCTION(RequestPersonalRankReward); +LUA_WRAPPER_USER_FUNCTION(RequestReward); +LUA_WRAPPER_USER_FUNCTION(RunCountExchange); +LUA_WRAPPER_USER_FUNCTION(GetMaxExchange); +LUA_WRAPPER_USER_FUNCTION(GetUserDailyOp); +LUA_WRAPPER_USER_FUNCTION(CountMonsterQuestSub); +LUA_WRAPPER_USER_FUNCTION(CountMonsterQuestMain); +LUA_WRAPPER_USER_FUNCTION(GetEventTrigger); +LUA_WRAPPER_USER_FUNCTION(GetPremium); +LUA_WRAPPER_USER_FUNCTION(CheckMiddleStatueCapture); +LUA_WRAPPER_USER_FUNCTION(MoveMiddleStatue); +LUA_WRAPPER_USER_FUNCTION(LevelChange); +LUA_WRAPPER_USER_FUNCTION(GivePremium); +LUA_WRAPPER_USER_FUNCTION(GiveKnightCash); +LUA_WRAPPER_USER_FUNCTION(GetPVPMonumentNation); +LUA_WRAPPER_USER_FUNCTION(SendNationChange); +LUA_WRAPPER_USER_FUNCTION(GetRace); +LUA_WRAPPER_USER_FUNCTION(JobChange); + +/* method aliases */ +_LUA_WRAPPER_USER_FUNCTION(CheckClanGrade, GetClanGrade); +_LUA_WRAPPER_USER_FUNCTION(CheckClanPoint, GetClanPoint); +_LUA_WRAPPER_USER_FUNCTION(CheckLoyalty, GetLoyalty); +_LUA_WRAPPER_USER_FUNCTION(CheckKnight, GetClanRank); +_LUA_WRAPPER_USER_FUNCTION(CheckStatPoint, GetStat); +_LUA_WRAPPER_USER_FUNCTION(CheckWarVictory, GetWarVictory); +_LUA_WRAPPER_USER_FUNCTION(CheckBeefRoastVictory, GetBeefRoastVictory); +_LUA_WRAPPER_USER_FUNCTION(PartyCountMembers, GetPartyMemberAmount); +_LUA_WRAPPER_USER_FUNCTION(ExistMonsterQuestSub, GetActiveQuestID); +_LUA_WRAPPER_USER_FUNCTION(PromoteKnight, PromoteClan); +_LUA_WRAPPER_USER_FUNCTION(SendStatSkillDistribute, SendStatSkillDistribute); +_LUA_WRAPPER_USER_FUNCTION(SendRepurchase, SendRepurchase); +_LUA_WRAPPER_USER_FUNCTION(SendPetUpgrade, SendPetUpgrade); +_LUA_WRAPPER_USER_FUNCTION(CheckMonsterChallengeTime, GetMonsterChallengeTime); +_LUA_WRAPPER_USER_FUNCTION(CheckMonsterChallengeUserCount,GetMonsterChallengeUserCount); +_LUA_WRAPPER_USER_FUNCTION(CheckEventZoneTime, GetEventZoneTime); +_LUA_WRAPPER_USER_FUNCTION(CheckEventZoneUserCount,GetEventZoneUserCount); + +LUA_FUNCTION(SelectMsg) +{ + CUser * pUser = Lua_GetUser(); + if (pUser == nullptr) + return LUA_NO_RESULTS; + + uint32 arg = 2; // start from after the user instance. + int32 menuButtonText[MAX_MESSAGE_EVENT], + menuButtonEvents[MAX_MESSAGE_EVENT]; + uint8 bFlag = LUA_ARG(uint8, arg++); + int32 nQuestID = LUA_ARG_OPTIONAL(int32, -1, arg++); + int32 menuHeaderText = LUA_ARG(int32, arg++); + arg++; // skip the NPC ID + foreach_array(i, menuButtonText) + { + menuButtonText[i] = LUA_ARG_OPTIONAL(int32, -1, arg++); + menuButtonEvents[i] = LUA_ARG_OPTIONAL(int32, -1, arg++); + } + + LUA_NO_RETURN(pUser->SelectMsg(bFlag, nQuestID, menuHeaderText, menuButtonText, menuButtonEvents)); +} + +LUA_FUNCTION(CastSkill) +{ + CUser * pUser = Lua_GetUser(); + bool bResult = false; + if (pUser != nullptr) + { + CNpc * pNpc = g_pMain->GetNpcPtr(pUser->m_sEventNid); + if (pNpc != nullptr) + { + bResult = pNpc->CastSkill( + reinterpret_cast(pUser), + LUA_ARG(uint32, 2) + ); + } + } + return bResult; +} + +LUA_FUNCTION(RollDice) { + LUA_RETURN(myrand(0, LUA_ARG(uint16, 2))); +} diff --git a/server/GameServer/lua_bindings.h b/server/GameServer/lua_bindings.h new file mode 100644 index 0000000..a644f7f --- /dev/null +++ b/server/GameServer/lua_bindings.h @@ -0,0 +1,117 @@ +#pragma once + +LUA_FUNCTION(CheckPercent); +LUA_FUNCTION(HowmuchItem); +LUA_FUNCTION(ShowMap); +LUA_FUNCTION(CheckNation); +LUA_FUNCTION(CheckClass); +LUA_FUNCTION(CheckLevel); +LUA_FUNCTION(CheckSkillPoint); +LUA_FUNCTION(SaveEvent); +LUA_FUNCTION(CheckGiveSlot); +LUA_FUNCTION(CheckExchange); +LUA_FUNCTION(RunExchange); +LUA_FUNCTION(RunSelectExchange); +LUA_FUNCTION(SearchQuest); +LUA_FUNCTION(NpcMsg); +LUA_FUNCTION(ShowEffect); +LUA_FUNCTION(ShowNpcEffect); +LUA_FUNCTION(ExistMonsterQuestSub); +LUA_FUNCTION(CountMonsterQuestSub); +LUA_FUNCTION(CountMonsterQuestMain); +LUA_FUNCTION(PromoteKnight); +LUA_FUNCTION(SelectMsg); +LUA_FUNCTION(CastSkill); +LUA_FUNCTION(GetName);; +LUA_FUNCTION(GetAccountName);; +LUA_FUNCTION(GetZoneID);; +LUA_FUNCTION(GetX);; +LUA_FUNCTION(GetY); +LUA_FUNCTION(GetZ); +LUA_FUNCTION(GetNation); +LUA_FUNCTION(GetLevel); +LUA_FUNCTION(GetRebLevel); +LUA_FUNCTION(GetClass); +LUA_FUNCTION(GetCoins); +LUA_FUNCTION(GetInnCoins); +LUA_FUNCTION(GetLoyalty); +LUA_FUNCTION(GetMonthlyLoyalty); +LUA_FUNCTION(GetManner); +LUA_FUNCTION(isWarrior); +LUA_FUNCTION(isRogue); +LUA_FUNCTION(isMage); +LUA_FUNCTION(isPriest); +LUA_FUNCTION(isInClan); +LUA_FUNCTION(isClanLeader); +LUA_FUNCTION(isInParty); +LUA_FUNCTION(isPartyLeader); +LUA_FUNCTION(isKing); +// Shortcuts for lazy people +LUA_FUNCTION(hasCoins); +LUA_FUNCTION(hasInnCoins); +LUA_FUNCTION(hasLoyalty); +LUA_FUNCTION(hasMonthlyLoyalty); +LUA_FUNCTION(hasManner); +LUA_FUNCTION(SendBoard); +LUA_FUNCTION(SendReported); +// Here lie the useful methods. +LUA_FUNCTION(GiveItem); +LUA_FUNCTION(RobItem); +LUA_FUNCTION(CheckExistItem); +LUA_FUNCTION(GoldGain); +LUA_FUNCTION(GoldLose); +LUA_FUNCTION(ExpChange); +LUA_FUNCTION(GiveCash); +LUA_FUNCTION(TempleEventJoin); +LUA_FUNCTION(GiveLoyalty); +LUA_FUNCTION(RobLoyalty); +LUA_FUNCTION(NpcSay); // dialog +LUA_FUNCTION(CheckWeight); +LUA_FUNCTION(CheckExistEvent); +LUA_FUNCTION(CheckSkillPoint); +LUA_FUNCTION(isRoomForItem); // FindSlotForItem(); +LUA_FUNCTION(SendNameChange); +LUA_FUNCTION(SendClanNameChange); +LUA_FUNCTION(SendStatSkillDistribute); +LUA_FUNCTION(SendPetUpgrade); +LUA_FUNCTION(SendRepurchase); +LUA_FUNCTION(ResetSkillPoints); +LUA_FUNCTION(ResetStatPoints); +LUA_FUNCTION(PromoteUserNovice); +LUA_FUNCTION(PromoteUser); +LUA_FUNCTION(RobAllItemParty); +LUA_FUNCTION(CheckWaiting); +LUA_FUNCTION(ZoneChange); +LUA_FUNCTION(ZoneChangeParty); +LUA_FUNCTION(ZoneChangeClan); +LUA_FUNCTION(KissUser); +LUA_FUNCTION(ChangeManner); +LUA_FUNCTION(CheckClanGrade); +LUA_FUNCTION(CheckClanPoint); +LUA_FUNCTION(CheckLoyalty); +LUA_FUNCTION(CheckKnight); +LUA_FUNCTION(CheckStatPoint); +LUA_FUNCTION(RobClanPoint); +LUA_FUNCTION(CheckBeefRoastVictory); +LUA_FUNCTION(RequestPersonalRankReward); +LUA_FUNCTION(RequestReward); +LUA_FUNCTION(RunCountExchange); +LUA_FUNCTION(GetMaxExchange); +LUA_FUNCTION(GetUserDailyOp); +LUA_FUNCTION(GetEventTrigger); +LUA_FUNCTION(GetPremium); +LUA_FUNCTION(CheckWarVictory); +LUA_FUNCTION(CheckMiddleStatueCapture); +LUA_FUNCTION(MoveMiddleStatue); +LUA_FUNCTION(LevelChange); +LUA_FUNCTION(GivePremium); +LUA_FUNCTION(GiveKnightCash); +LUA_FUNCTION(RollDice); +LUA_FUNCTION(CheckMonsterChallengeTime); +LUA_FUNCTION(CheckMonsterChallengeUserCount); +LUA_FUNCTION(CheckEventZoneTime); +LUA_FUNCTION(CheckEventZoneUserCount); +LUA_FUNCTION(GetPVPMonumentNation); +LUA_FUNCTION(SendNationChange); +LUA_FUNCTION(GetRace); +LUA_FUNCTION(JobChange); \ No newline at end of file diff --git a/server/GameServer/main.cpp b/server/GameServer/main.cpp new file mode 100644 index 0000000..bd9fba8 --- /dev/null +++ b/server/GameServer/main.cpp @@ -0,0 +1,68 @@ +#include "stdafx.h" +#include "../shared/Condition.h" +#include "ConsoleInputThread.h" +#include "../shared/signal_handler.h" + +CGameServerDlg * g_pMain; +static Condition s_hEvent; + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType); + +bool g_bRunning = true; + +int main() +{ + SetConsoleTitle("Game Server for Knight Online v" STRINGIFY(__VERSION) " Max Online :" STRINGIFY(MAX_USER)); + + // Override the console handler + SetConsoleCtrlHandler(_ConsoleHandler, TRUE); + + HookSignals(&s_hEvent); + + // Start up the time updater thread + StartTimeThread(); + + // Start up the console input thread + StartConsoleInputThread(); + + g_pMain = new CGameServerDlg(); + + // Start up server + if (g_pMain->Startup()) + { + // Reset Battle Zone Variables. + g_pMain->ResetBattleZone(); + + printf("\nServer started up successfully!\n"); + + // Wait until console's signaled as closing + s_hEvent.Wait(); + } + else + { + system("pause"); + } + + printf("Server shutting down, please wait...\n"); + + // This seems redundant, but it's not. + // We still have the destructor for the dialog instance, which allows time for threads to properly cleanup. + g_bRunning = false; + + delete g_pMain; + + CleanupTimeThread(); + CleanupConsoleInputThread(); + UnhookSignals(); + + return 0; +} + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType) +{ + s_hEvent.BeginSynchronized(); + s_hEvent.Signal(); + s_hEvent.EndSynchronized(); + sleep(10000); // Win7 onwards allows 10 seconds before it'll forcibly terminate + return TRUE; +} diff --git a/server/GameServer/proj-GameServer.vcxproj b/server/GameServer/proj-GameServer.vcxproj new file mode 100644 index 0000000..6bd4752 --- /dev/null +++ b/server/GameServer/proj-GameServer.vcxproj @@ -0,0 +1,793 @@ + + + + + Debug-XP + Win32 + + + Debug-XP + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release-XP + Win32 + + + Release-XP + x64 + + + Release + Win32 + + + Release + x64 + + + + {99006BDF-4BBD-4687-99C3-1424F32D95FC} + GameServer + 10.0.17763.0 + + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v110_xp + true + + + Application + MultiByte + v110_xp + true + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v110_xp + + + Application + MultiByte + v110_xp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + true + true + true + true + $(SolutionDir)..\bin\$(Configuration)\ + $(SolutionDir)..\bin\$(Configuration)\ + $(Configuration)\ + $(Configuration)\ + false + false + false + false + + + $(SolutionDir)..\bin\$(Configuration)\ + E:\KO\KO CALISMALAR\boost;$(IncludePath) + E:\KO\KO CALISMALAR\boost\libs;$(LibraryPath) + + + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0;$(IncludePath) + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0\stage\lib;$(LibraryPath) + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/GameServer.tlb + + + + + Disabled + WIN32;GAMESERVER;_DEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDebug + .\Debug/GameServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + Use + C:\KO\src\scripting\Lua\src;$(SolutionDir) + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + false + .\Debug/GameServer.map + NotSet + false + + + MachineX86 + + + false + + + true + .\Debug/GameServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/GameServer.tlb + + + + + Disabled + WIN32;GAMESERVER;_DEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + .\Debug/GameServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level1 + true + ProgramDatabase + Use + C:\KO\src\scripting\Lua\src;$(SolutionDir) + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)$(Platform)/$(Configuration)/Lua.lib;$(SolutionDir)$(Platform)/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + false + .\Debug/GameServer.map + NotSet + false + + + + + false + %(AdditionalLibraryDirectories) + false + + + true + .\Debug/GameServer.bsc + + + false + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/GameServer.tlb + + + + + Disabled + WIN32;GAMESERVER;_DEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDebug + .\Debug/GameServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + Use + $(SolutionDir)../src/scripting/Lua/src + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + false + .\Debug/GameServer.map + NotSet + false + + + MachineX86 + + + false + + + true + .\Debug/GameServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/GameServer.tlb + + + + + Disabled + WIN32;GAMESERVER;_DEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + .\Debug/GameServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + ProgramDatabase + Use + $(SolutionDir)../src/scripting/Lua/src + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + false + .\Debug/GameServer.map + NotSet + false + + + + + false + + + true + .\Debug/GameServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/GameServer.tlb + + + + + MaxSpeed + AnySuitable + WIN32;GAMESERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/GameServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + Speed + $(SolutionDir)../src/scripting/Lua/src + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + MachineX86 + + + true + + + true + .\Release/GameServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/GameServer.tlb + + + + + MaxSpeed + AnySuitable + WIN32;GAMESERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/GameServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + Speed + $(SolutionDir)../src/scripting/Lua/src + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + + + true + + + true + .\Release/GameServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/GameServer.tlb + + + + + MaxSpeed + AnySuitable + WIN32;GAMESERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/GameServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + Speed + $(SolutionDir)../src/scripting/Lua/src + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + MachineX86 + + + true + + + true + .\Release/GameServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/GameServer.tlb + + + + + MaxSpeed + AnySuitable + WIN32;GAMESERVER;NDEBUG;_WINDOWS;_3DSERVER;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + .\Release/GameServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + Speed + $(SolutionDir)../src/scripting/Lua/src + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/Lua.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + + + true + + + true + .\Release/GameServer.bsc + + + + + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/GameServer/proj-GameServer.vcxproj.filters b/server/GameServer/proj-GameServer.vcxproj.filters new file mode 100644 index 0000000..4f34592 --- /dev/null +++ b/server/GameServer/proj-GameServer.vcxproj.filters @@ -0,0 +1,472 @@ + + + + + {f06baf92-b3ca-45d1-9d29-aac78fbe61a7} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {4a3150af-980b-45a0-b7f1-f8e1d8d67dda} + h;hpp;hxx;hm;inl + + + {af2e61dc-c6bd-4804-b0cf-e40469960eb9} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + {1a89cbf7-5ff4-4e1a-80d8-75ae79aa83ba} + + + {42082f42-a5b4-4353-96b5-16b8c87bbee0} + + + {65077a65-a242-4880-9f12-b9c7a324593b} + + + {7b685819-91d6-429e-b8e5-467471921bed} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + N3Base + + + Source Files\Handlers + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Handlers + + + Database + + + Database + + + Source Files + + + Source Files\Handlers + + + Scripting + + + Scripting + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + Source Files\Handlers + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Resource Files + + + N3Base + + + N3Base + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Header Files + + + Header Files + + + Header Files + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Scripting + + + Scripting + + + Scripting + + + Header Files + + + Header Files + + + Header Files + + + Database + + + Header Files + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Header Files + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Database + + + Header Files + + + Database + + + Header Files + + + Database + + + Database + + + Database + + + Database + + + Database + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/server/GameServer/proj-GameServer.vcxproj.user b/server/GameServer/proj-GameServer.vcxproj.user new file mode 100644 index 0000000..95678e4 --- /dev/null +++ b/server/GameServer/proj-GameServer.vcxproj.user @@ -0,0 +1,7 @@ + + + + ..\..\bin\Debug\ + WindowsLocalDebugger + + \ No newline at end of file diff --git a/server/GameServer/resource.h b/server/GameServer/resource.h new file mode 100644 index 0000000..ee71380 --- /dev/null +++ b/server/GameServer/resource.h @@ -0,0 +1,151 @@ +#pragma once + +#define IDP_BATTLEZONE_OPEN 105 +#define IDP_KARUS_VICTORY 106 +#define IDP_ELMORAD_VICTORY 107 +#define IDP_KARUS_BANISH 108 +#define IDP_ELMORAD_BANISH 109 +#define IDP_KNIGHT_NAME_REPEAT 110 +#define IDP_KNIGHT_ALREADY_REGISTERED 111 +#define IDP_KNIGHT_INSUFFICIENT_LEVEL 112 +#define IDP_KNIGHT_INSUFFICIENT_GOLD 116 +#define IDP_KNIGHT_CREATE_FAIL 117 +#define IDP_KNIGHT_NOT_AVAILABLE 118 +#define IDP_KNIGHT_LEADER_ONLY 119 +#define IDP_KNIGHT_MINIMUM_SUBLEADER 120 +#define IDP_KNIGHT_NOT_REGISTERED 121 +#define IDP_KNIGHT_DB_FAIL 122 +#define IDP_WRONG_ID 123 +#define IDP_SOURCE_UNABLE 124 +#define IDP_MINIMUM_OFFICER 125 +#define IDP_ANNOUNCEMENT 126 +#define IDR_MAINFRAME 128 +#define IDS_ELMORAD_LOSER 130 +#define IDS_KARUS_LOSER 131 +#define IDS_BANISH_USER 132 +#define IDS_BATTLE_CLOSE 133 +#define IDS_KILL_GATEKEEPER 134 +#define IDS_KILL_CAPTAIN 135 +#define IDS_KILL_KARUS_GUARD1 136 +#define IDS_KILL_KARUS_GUARD2 137 +#define IDS_KILL_ELMO_GUARD1 138 +#define IDS_KILL_ELMO_GUARD2 139 +#define IDS_KARUS_CAPTAIN 140 +#define IDS_ELMO_CAPTAIN 141 +#define IDS_KARUS_CAPTAIN_DEPRIVE 142 +#define IDS_ELMO_CAPTAIN_DEPRIVE 143 +#define IDS_COUPON_NOTEPAD_ID 144 +#define IDS_COUPON_POSTIT_ID 145 +#define IDS_KNIGHTS_JOIN 146 +#define IDS_KNIGHTS_WITHDRAW 147 +#define IDS_KNIGHTS_REMOVE 148 +#define IDS_KNIGHTS_CHIEF 149 +#define IDS_KNIGHTS_VICECHIEF 150 +#define IDS_KNIGHTS_DESTROY 151 +#define IDS_CLAN_DESTROY 152 +#define IDS_CLANGAME_VICTORY 153 +#define IDS_CLANGAME_JOIN 154 +#define IDS_CLANGAME_EXIT 155 +#define IDS_SNOWBATTLE_OPEN 156 +#define IDS_SNOWBATTLE_CLOSE 157 +#define IDS_SNOWBATTLE_BANISH_USER 158 +#define IDS_BATTLEZONE_STATUS 159 +#define IDS_BANISH_LOSER 160 +#define IDS_INFILTRATION 161 +#define IDS_UNDER_ATTACK_KARUS 162 +#define IDS_UNDER_ATTACK_ELMORAD 163 +#define IDS_INSERT_KNIGHTS_ALLIANCE 164 +#define IDS_REMOVE_KNIGHTS_ALLIANCE 165 +#define IDS_PUNISH_KNIGHTS_ALLIANCE 166 +#define IDS_PERSONAL_GAME_VICTORY 167 +#define IDS_DEATH_ANNOUNCEMENT 168 +#define IDS_SIEGE_WAR_READY_TIME 169 +#define IDS_SIEGE_WAR_BASE_TIME 170 +#define IDS_SIEGE_WAR_START 171 +#define IDS_SIEGE_WAR_END 172 +#define IDS_SIEGE_WAR_READY_TIME_NOTICE 173 +#define IDS_CHALLENGER_REQUEST_START_NOTICE 174 +#define IDS_CHALLENGER_REQUEST_END_NOTICE 175 +#define IDS_SIEGE_WAR_GUIDON_TIME_NOTICE 176 +#define IDS_SIEGE_WAR_TIME_NOTICE 177 +#define IDS_NPC_GUIDON_DESTORY 178 +#define IDS_NPC_DESTORY_ARTIFACT 179 +#define IDS_NPC_DESTORY_ARTIFACT_S1 180 +#define IDS_NPC_DESTORY_ARTIFACT_S2 181 +#define IDS_NPC_DESTORY_ARTIFACT_S3 182 +#define IDS_NPC_DESTORY_ARTIFACT_S4 184 // not sure where 183 is, but it's all server stuff anyway so it doesn't matter. +#define IDS_GUARD_TOWER_DEATH_ANNOUNCEMENT 185 +#define IDS_SIEGE_WAR_VICTORY 186 +#define IDS_MONEY_REPAY_EVENT 187 +#define IDS_PRE_BATTLE_ANNOUNCEMENT 188 +#define IDS_INFILTRATION_CONQUER 189 +#define IDS_INFILTRATION_RECAPTURE 190 +#define IDS_INFILTRATION_REWARD_KARUS 191 +#define IDS_INFILTRATION_REWARD_ELMORAD 192 +#define IDS_SERVER_AUTO_DOWN 193 +#define IDS_NPC_DESTORY_ARTIFACT_CLAN 194 +#define IDS_ASSAULT_EVENT_START 195 +#define IDS_ASSAULT_EVENT_END 196 +#define IDS_EXP_REPAY_EVENT 197 +#define IDS_MONSTER_CHALLENGE_ANNOUNCEMENT 198 +#define IDS_MONSTER_CHALLENGE_OPEN 199 +#define IDS_MONSTER_CHALLENGE_START 200 +#define IDS_MONSTER_CHALLENGE_VICTORY 201 +#define IDS_MONSTER_CHALLENGE_CLOSE 202 +#define IDS_MID_LEVEL_BATTLEZONE_OPEN 203 +#define IDS_KING_RECOMMEND_TIME 204 +#define IDS_KING_RECOMMEND_FINISH_TIME 205 +#define IDS_KING_ELECTION_TIME 206 +#define IDS_KING_IMPEACHMENT_REQUEST_TIME 207 +#define IDS_KING_IMPEACHMENT_ELECTION_TIME 208 +#define IDS_KING_REIGN_TIME 209 +#define IDS_KING_KARUS_PRIZE_EVENT_MESSAGE 210 +#define IDS_KING_KARUS_FUGITIVE_EVENT_MESSAGE_1 211 +#define IDS_KING_FUGITIVE_EVENT_MESSAGE_2 212 +#define IDS_KING_ELMO_PRIZE_EVENT_MESSAGE 213 +#define IDS_KING_ELMO_FUGITIVE_EVENT_MESSAGE_1 214 +#define IDS_KING_KARUS_WEATHER_FINE_EVENT 215 +#define IDS_KING_KARUS_WEATHER_RAIN_EVENT 216 +#define IDS_KING_KARUS_WEATHER_SNOW_EVENT 217 +#define IDS_KING_ELMO_WEATHER_FINE_EVENT 218 +#define IDS_KING_ELMO_WEATHER_RAIN_EVENT 219 +#define IDS_KING_ELMO_WEATHER_SNOW_EVENT 220 +#define IDS_KING_KARUS_NOAH_BONUS_EVENT 221 +#define IDS_KING_KARUS_EXP_BONUS_EVENT 222 +#define IDS_KING_ELMO_NOAH_BONUS_EVENT 223 +#define IDS_KING_ELMO_EXP_BONUS_EVENT 224 +#define IDS_KING_RECOMMEND_REQUEST_MESSAGE 225 +#define IDS_KING_CANDIDACY_RECOMMEND_MESSAGE 226 +#define IDS_KING_PERIOD_OF_RECOMMEND_MESSAGE 227 +#define IDS_KING_PERIOD_OF_ELECTION_MESSAGE 228 +#define IDS_KING_ELECTION_RESULT_MESSAGE 229 +#define IDS_KING_EXP_BONUS_EVENT_STOP 230 +#define IDS_KING_NOAH_BONUS_EVENT_STOP 231 +#define IDS_KING_IMPEACHMENT_REQUEST_MESSAGE 232 +#define IDS_KING_IMPEACHMENT_PASS_MESSAGE 233 +#define IDS_KING_IMPEACHMENT_REJECT_MESSAGE 234 +#define IDS_KING_IMPEACHMENT_ELECTION_MESSAGE 235 +#define IDS_KING_IMPEACHMENT_ELECTION_YES_RESULT_MESSAGE 236 +#define IDS_KING_IMPEACHMENT_ELECTION_NO_RESULT_MESSAGE 237 +#define IDS_BEEF_ROAST_START 238 +#define IDS_BEEF_ROAST_VICTORY_KARUS 239 +#define IDS_BEEF_ROAST_VICTORY_ELMORAD 240 +#define IDS_BEEF_ROAST_FINISH 241 +#define IDS_BEEF_ROAST_DRAW 242 +#define IDS_NP_REPAY_EVENT 246 +#define IDS_BATTLE_MONUMENT_STATUS 243 +#define IDS_BATTLE_MONUMENT_WON_MESSAGE 244 +#define IDS_BATTLE_MONUMENT_LOST_MESSAGE 245 +#define IDS_EVENT_ZONE_OPEN 247 +#define IDS_EVENT_ZONE_START 248 +#define IDS_EVENT_ZONE_VICTO 249 +#define IDS_EVENT_ZONE_CLOSE 250 +#define IDS_PVP_EVENT_ZONE_OPEN 252 +#define IDS_JURAD_EVENT_OPEN 253 +#define IDS_EXP_REPAY_FLASH 254 +#define IDS_DC_REPAY_FLASH 255 +#define IDS_WAR_REPAY_FLASH 256 + + + + diff --git a/server/GameServer/stdafx.cpp b/server/GameServer/stdafx.cpp new file mode 100644 index 0000000..1577c4e --- /dev/null +++ b/server/GameServer/stdafx.cpp @@ -0,0 +1 @@ +#include "stdafx.h" \ No newline at end of file diff --git a/server/GameServer/stdafx.h b/server/GameServer/stdafx.h new file mode 100644 index 0000000..7b93133 --- /dev/null +++ b/server/GameServer/stdafx.h @@ -0,0 +1,13 @@ +#pragma once + +#include "../shared/stdafx.h" +#include +#include "DatabaseThread.h" + +#if defined(DEBUG) +# define DISABLE_PLAYER_BLINKING +#endif + +#include "GameServerDlg.h" + +extern bool g_bRunning; \ No newline at end of file diff --git a/server/KnightOnlineServer.sln b/server/KnightOnlineServer.sln new file mode 100644 index 0000000..b9ed978 --- /dev/null +++ b/server/KnightOnlineServer.sln @@ -0,0 +1,132 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AIServer", "AIServer\proj-AIServer.vcxproj", "{36A92A8F-3820-435C-AC63-E861A556C1BB}" + ProjectSection(ProjectDependencies) = postProject + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} = {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameServer", "GameServer\proj-GameServer.vcxproj", "{99006BDF-4BBD-4687-99C3-1424F32D95FC}" + ProjectSection(ProjectDependencies) = postProject + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} = {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} + {476399DF-6832-45BE-86A7-DF43728B9938} = {476399DF-6832-45BE-86A7-DF43728B9938} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LogInServer", "LogInServer\proj-LogInServer.vcxproj", "{F68DA1BF-90B2-4166-8DDB-B82D813EA961}" + ProjectSection(ProjectDependencies) = postProject + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} = {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Scripting\Lua.vcxproj", "{476399DF-6832-45BE-86A7-DF43728B9938}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared", "shared\shared.vcxproj", "{221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug-XP|Win32 = Debug-XP|Win32 + Debug-XP|x64 = Debug-XP|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + Release-XP|Win32 = Release-XP|Win32 + Release-XP|x64 = Release-XP|x64 + Template|Win32 = Template|Win32 + Template|x64 = Template|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug|Win32.ActiveCfg = Debug|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug|Win32.Build.0 = Debug|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug|x64.ActiveCfg = Debug|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug|x64.Build.0 = Debug|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug-XP|Win32.ActiveCfg = Debug-XP|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug-XP|Win32.Build.0 = Debug-XP|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug-XP|x64.ActiveCfg = Debug-XP|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Debug-XP|x64.Build.0 = Debug-XP|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release|Win32.ActiveCfg = Release|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release|Win32.Build.0 = Release|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release|x64.ActiveCfg = Release|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release|x64.Build.0 = Release|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release-XP|Win32.ActiveCfg = Release-XP|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release-XP|Win32.Build.0 = Release-XP|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release-XP|x64.ActiveCfg = Release-XP|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Release-XP|x64.Build.0 = Release-XP|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Template|Win32.ActiveCfg = Release-XP|Win32 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Template|x64.ActiveCfg = Debug-XP|x64 + {36A92A8F-3820-435C-AC63-E861A556C1BB}.Template|x64.Build.0 = Debug-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug|Win32.ActiveCfg = Debug|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug|Win32.Build.0 = Debug|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug|x64.ActiveCfg = Debug|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug|x64.Build.0 = Debug|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug-XP|Win32.ActiveCfg = Debug-XP|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug-XP|Win32.Build.0 = Debug-XP|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug-XP|x64.ActiveCfg = Debug-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Debug-XP|x64.Build.0 = Debug-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release|Win32.ActiveCfg = Release|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release|Win32.Build.0 = Release|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release|x64.ActiveCfg = Release|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release|x64.Build.0 = Release|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release-XP|Win32.ActiveCfg = Release-XP|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release-XP|Win32.Build.0 = Release-XP|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release-XP|x64.ActiveCfg = Release-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Release-XP|x64.Build.0 = Release-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Template|Win32.ActiveCfg = Release-XP|Win32 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Template|x64.ActiveCfg = Debug-XP|x64 + {99006BDF-4BBD-4687-99C3-1424F32D95FC}.Template|x64.Build.0 = Debug-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug|Win32.ActiveCfg = Debug|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug|Win32.Build.0 = Debug|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug|x64.ActiveCfg = Debug|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug|x64.Build.0 = Debug|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug-XP|Win32.ActiveCfg = Debug-XP|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug-XP|Win32.Build.0 = Debug-XP|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug-XP|x64.ActiveCfg = Debug-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Debug-XP|x64.Build.0 = Debug-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release|Win32.ActiveCfg = Release|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release|Win32.Build.0 = Release|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release|x64.ActiveCfg = Release|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release|x64.Build.0 = Release|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release-XP|Win32.ActiveCfg = Release-XP|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release-XP|Win32.Build.0 = Release-XP|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release-XP|x64.ActiveCfg = Release-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Release-XP|x64.Build.0 = Release-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Template|Win32.ActiveCfg = Release-XP|Win32 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Template|x64.ActiveCfg = Debug-XP|x64 + {F68DA1BF-90B2-4166-8DDB-B82D813EA961}.Template|x64.Build.0 = Debug-XP|x64 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug|Win32.ActiveCfg = Debug|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug|Win32.Build.0 = Debug|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug|x64.ActiveCfg = Debug|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug-XP|Win32.ActiveCfg = Debug-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug-XP|Win32.Build.0 = Debug-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Debug-XP|x64.ActiveCfg = Debug-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release|Win32.ActiveCfg = Release|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release|Win32.Build.0 = Release|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release|x64.ActiveCfg = Release|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release-XP|Win32.ActiveCfg = Release-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release-XP|Win32.Build.0 = Release-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Release-XP|x64.ActiveCfg = Release-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Template|Win32.ActiveCfg = Release-XP|Win32 + {476399DF-6832-45BE-86A7-DF43728B9938}.Template|x64.ActiveCfg = Release-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug|Win32.ActiveCfg = Debug|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug|Win32.Build.0 = Debug|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug|x64.ActiveCfg = Debug|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug|x64.Build.0 = Debug|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug-XP|Win32.ActiveCfg = Debug-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug-XP|Win32.Build.0 = Debug-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug-XP|x64.ActiveCfg = Debug-XP|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Debug-XP|x64.Build.0 = Debug-XP|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release|Win32.ActiveCfg = Release|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release|Win32.Build.0 = Release|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release|x64.ActiveCfg = Release|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release|x64.Build.0 = Release|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release-XP|Win32.ActiveCfg = Release-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release-XP|Win32.Build.0 = Release-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release-XP|x64.ActiveCfg = Release-XP|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Release-XP|x64.Build.0 = Release-XP|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Template|Win32.ActiveCfg = Release-XP|Win32 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Template|x64.ActiveCfg = Debug-XP|x64 + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01}.Template|x64.Build.0 = Debug-XP|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/server/LogInServer/DBProcess.cpp b/server/LogInServer/DBProcess.cpp new file mode 100644 index 0000000..656a13e --- /dev/null +++ b/server/LogInServer/DBProcess.cpp @@ -0,0 +1,167 @@ +#include "stdafx.h" + +bool CDBProcess::Connect(string & szDSN, string & szUser, string & szPass) +{ + if (!m_dbConnection.Connect(szDSN, szUser, szPass)) + { + g_pMain->ReportSQLError(m_dbConnection.GetError()); + return false; + } + + return true; +} + +bool CDBProcess::LoadVersionList() +{ + unique_ptr dbCommand(m_dbConnection.CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (!dbCommand->Execute(_T("SELECT sVersion, sHistoryVersion, strFilename FROM VERSION"))) + { + g_pMain->ReportSQLError(m_dbConnection.GetError()); + return false; + } + + if (dbCommand->hasData()) + { + g_pMain->m_sLastVersion = 0; + do + { + _VERSION_INFO *pVersion = new _VERSION_INFO; + + dbCommand->FetchUInt16(1, pVersion->sVersion); + dbCommand->FetchUInt16(2, pVersion->sHistoryVersion); + dbCommand->FetchString(3, pVersion->strFilename); + + g_pMain->m_VersionList.insert(make_pair(pVersion->strFilename, pVersion)); + + if (g_pMain->m_sLastVersion < pVersion->sVersion) + g_pMain->m_sLastVersion = pVersion->sVersion; + + } while (dbCommand->MoveNext()); + } + + return true; +} + +bool CDBProcess::LoadUserCountList() +{ + unique_ptr dbCommand(m_dbConnection.CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + if (!dbCommand->Execute(_T("SELECT serverid, zone1_count, zone2_count, zone3_count FROM CONCURRENT"))) + { + g_pMain->ReportSQLError(m_dbConnection.GetError()); + return false; + } + + if (dbCommand->hasData()) + { + do + { + uint16 zone_1 = 0, zone_2 = 0, zone_3 = 0; uint8 serverID; + dbCommand->FetchByte(1, serverID); + dbCommand->FetchUInt16(2, zone_1); + dbCommand->FetchUInt16(3, zone_2); + dbCommand->FetchUInt16(4, zone_3); + + if ((uint8)(serverID - 1) < g_pMain->m_ServerList.size()) + g_pMain->m_ServerList[serverID - 1]->sUserCount = zone_1 + zone_2 + zone_3; + } while (dbCommand->MoveNext()); + } + + return true; +} + +uint16 CDBProcess::AccountLogin(string & strAccountID, string & strPasswd) +{ + uint16 result = 2; + unique_ptr dbCommand(m_dbConnection.CreateCommand()); + if (dbCommand.get() == nullptr) + return 6; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &result); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, strPasswd.c_str(), strPasswd.length()); + + if (!dbCommand->Execute(_T("{? = CALL ACCOUNT_LOGIN(?, ?)}"))) + g_pMain->ReportSQLError(m_dbConnection.GetError()); + + return result; +} + +uint8 CDBProcess::PremiumInsert(string & strAccountID, uint8 pType, uint8 pDays) +{ + uint8 result = 0; + unique_ptr dbCommand(m_dbConnection.CreateCommand()); + if (dbCommand.get() == nullptr) + return false; + + char strPremiums[PREMIUM_TOTAL * 5] = {0}; + uint8 pCount = 0; + uint8 pInUse; + uint32 pTime = 0; + + time(&UNIXTIME); + pTime = uint32(UNIXTIME+24*60*60*pDays); + + if (pType < 1 || pType > 13) + { + pInUse = 0; + pCount = 0; + } + else if (pType < 13) + { + pCount = 1; + pInUse = pType; + } + else if (pType == 13) + { + pCount = 3; + pType = 10; + pInUse = 10; + } + + uint8 aCount2 = 0; + ByteBuffer PremiumBuffer; + for(int p = 0; p < pCount; p++) + { + PremiumBuffer << pType++ << pTime; + aCount2++; + } + + for(int i = aCount2; i < PREMIUM_TOTAL; i++) + { + PremiumBuffer << uint8(0) << uint8(0) << uint32(0); + } + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &result); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)PremiumBuffer.contents(), PremiumBuffer.size(), SQL_BINARY); + + if (!dbCommand->Execute(string_format(_T("{? = CALL INSERT_PREMIUM(?, %d, %d, ?)}"), pInUse, pCount))) + { + g_pMain->ReportSQLError(m_dbConnection.GetError()); + return result; + } + + return result; +} + +int16 CDBProcess::AccountPremium(string & strAccountID) +{ + int16 sHours = -1; + unique_ptr dbCommand(m_dbConnection.CreateCommand()); + if (dbCommand.get() == nullptr) + return sHours; + + dbCommand->AddParameter(SQL_PARAM_OUTPUT, &sHours); + dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); + + if (!dbCommand->Execute(_T("{? = CALL ACCOUNT_PREMIUM(?)}"))) + g_pMain->ReportSQLError(m_dbConnection.GetError()); + + return sHours; +} \ No newline at end of file diff --git a/server/LogInServer/DBProcess.h b/server/LogInServer/DBProcess.h new file mode 100644 index 0000000..9acaf24 --- /dev/null +++ b/server/LogInServer/DBProcess.h @@ -0,0 +1,19 @@ +#pragma once + +#include "../shared/database/OdbcConnection.h" + +class CDBProcess +{ +public: + bool Connect(std::string & szDSN, std::string & szUser, std::string & szPass); + + bool LoadVersionList(); + bool LoadUserCountList(); + + uint8 PremiumInsert(std::string & strAccountID, uint8 pType, uint8 pDays); + uint16 AccountLogin(std::string & strAccountID, std::string & strPasswd); + int16 AccountPremium(std::string & strAccountID); + +private: + OdbcConnection m_dbConnection; +}; \ No newline at end of file diff --git a/server/LogInServer/Debug/DBProcess.obj b/server/LogInServer/Debug/DBProcess.obj new file mode 100644 index 0000000..6e138c1 Binary files /dev/null and b/server/LogInServer/Debug/DBProcess.obj differ diff --git a/server/LogInServer/Debug/LogInServer.Build.CppClean.log b/server/LogInServer/Debug/LogInServer.Build.CppClean.log new file mode 100644 index 0000000..df8326e --- /dev/null +++ b/server/LogInServer/Debug/LogInServer.Build.CppClean.log @@ -0,0 +1,33 @@ +f:\005server\logınserver\debug\logınserver.pch +f:\005server\logınserver\debug\vc142.pdb +f:\005server\logınserver\debug\vc142.ıdb +f:\005server\logınserver\debug\stdafx.obj +f:\005server\logınserver\debug\dbprocess.obj +f:\005server\logınserver\debug\logınsessıon.obj +f:\005server\logınserver\debug\maın.obj +f:\005server\logınserver\debug\logınserver.obj +f:\bın\debug\logınserver.exe +f:\bın\debug\logınserver.ılk +f:\bın\debug\logınserver.pdb +f:\005server\logınserver\debug\vcpkg.applocal.log +f:\005server\logınserver\debug\logınserver.res +f:\005server\server source\logınserver\debug\dbprocess.obj +f:\005server\server source\logınserver\debug\loginserver.obj +f:\005server\server source\logınserver\debug\loginsession.obj +f:\005server\server source\logınserver\debug\main.obj +f:\005server\server source\logınserver\debug\stdafx.obj +f:\005server\server source\logınserver\debug\logınserver.res +f:\005server\server source\logınserver\debug\logınserver.pch +f:\005server\server source\logınserver\debug\vc142.idb +f:\005server\server source\logınserver\debug\vc142.pdb +f:\005server\server source\logınserver\debug\logınserver.tlog\cl.command.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\cl.read.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\cl.write.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\link.16728.delete.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\link.command.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\link.read.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\link.write.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\logınserver.write.1u.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\rc.command.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\rc.read.1.tlog +f:\005server\server source\logınserver\debug\logınserver.tlog\rc.write.1.tlog diff --git a/server/LogInServer/Debug/LogInServer.pch b/server/LogInServer/Debug/LogInServer.pch new file mode 100644 index 0000000..673e6ac Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.pch differ diff --git a/server/LogInServer/Debug/LogInServer.res b/server/LogInServer/Debug/LogInServer.res new file mode 100644 index 0000000..75ddc70 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.res differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/CL.command.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/CL.command.1.tlog new file mode 100644 index 0000000..6799018 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/CL.command.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/CL.read.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/CL.read.1.tlog new file mode 100644 index 0000000..4b2de60 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/CL.read.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/CL.write.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/CL.write.1.tlog new file mode 100644 index 0000000..804c3c3 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/CL.write.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/LogInServer.lastbuildstate b/server/LogInServer/Debug/LogInServer.tlog/LogInServer.lastbuildstate new file mode 100644 index 0000000..869aa4e --- /dev/null +++ b/server/LogInServer/Debug/LogInServer.tlog/LogInServer.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Debug|Win32|F:\005SERVER\server source\| diff --git a/server/LogInServer/Debug/LogInServer.tlog/LogInServer.write.1u.tlog b/server/LogInServer/Debug/LogInServer.tlog/LogInServer.write.1u.tlog new file mode 100644 index 0000000..823731c Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/LogInServer.write.1u.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/link.16728.delete.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/link.16728.delete.1.tlog new file mode 100644 index 0000000..40c3163 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/link.16728.delete.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/link.command.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/link.command.1.tlog new file mode 100644 index 0000000..643dfa3 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/link.command.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/link.read.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/link.read.1.tlog new file mode 100644 index 0000000..d02abfc Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/link.read.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/link.write.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/link.write.1.tlog new file mode 100644 index 0000000..dda1107 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/link.write.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/rc.command.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/rc.command.1.tlog new file mode 100644 index 0000000..a7b47f2 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/rc.command.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/rc.read.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/rc.read.1.tlog new file mode 100644 index 0000000..a32f45d Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/rc.read.1.tlog differ diff --git a/server/LogInServer/Debug/LogInServer.tlog/rc.write.1.tlog b/server/LogInServer/Debug/LogInServer.tlog/rc.write.1.tlog new file mode 100644 index 0000000..118be27 Binary files /dev/null and b/server/LogInServer/Debug/LogInServer.tlog/rc.write.1.tlog differ diff --git a/server/LogInServer/Debug/LoginServer.obj b/server/LogInServer/Debug/LoginServer.obj new file mode 100644 index 0000000..740f07a Binary files /dev/null and b/server/LogInServer/Debug/LoginServer.obj differ diff --git a/server/LogInServer/Debug/LoginSession.obj b/server/LogInServer/Debug/LoginSession.obj new file mode 100644 index 0000000..fa56ef1 Binary files /dev/null and b/server/LogInServer/Debug/LoginSession.obj differ diff --git a/server/LogInServer/Debug/StdAfx.obj b/server/LogInServer/Debug/StdAfx.obj new file mode 100644 index 0000000..ba981b3 Binary files /dev/null and b/server/LogInServer/Debug/StdAfx.obj differ diff --git a/server/LogInServer/Debug/main.obj b/server/LogInServer/Debug/main.obj new file mode 100644 index 0000000..64335f2 Binary files /dev/null and b/server/LogInServer/Debug/main.obj differ diff --git a/server/LogInServer/Debug/proj-LogInServer.log b/server/LogInServer/Debug/proj-LogInServer.log new file mode 100644 index 0000000..1907f17 --- /dev/null +++ b/server/LogInServer/Debug/proj-LogInServer.log @@ -0,0 +1,3 @@ + cl : Command line warning D9035 : option 'Gm' has been deprecated and will be removed in a future release + LoginServer.cpp + proj-LogInServer.vcxproj -> F:\005SERVER\server source\..\bin\Debug\LogInServer.exe diff --git a/server/LogInServer/Debug/proj-LogInServer.vcxproj.FileListAbsolute.txt b/server/LogInServer/Debug/proj-LogInServer.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/LogInServer/Debug/vc142.idb b/server/LogInServer/Debug/vc142.idb new file mode 100644 index 0000000..8240da1 Binary files /dev/null and b/server/LogInServer/Debug/vc142.idb differ diff --git a/server/LogInServer/Debug/vc142.pdb b/server/LogInServer/Debug/vc142.pdb new file mode 100644 index 0000000..e691368 Binary files /dev/null and b/server/LogInServer/Debug/vc142.pdb differ diff --git a/server/LogInServer/Debug/vcpkg.applocal.log b/server/LogInServer/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/server/LogInServer/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ + diff --git a/server/LogInServer/Define.h b/server/LogInServer/Define.h new file mode 100644 index 0000000..12a6a97 --- /dev/null +++ b/server/LogInServer/Define.h @@ -0,0 +1,40 @@ +#pragma once + +#include "../shared/globals.h" + +#define CONF_LOGIN_SERVER "./LogIn.ini" +#define _LISTEN_PORT 15100 + +struct _SERVER_INFO +{ + std::string strServerIP; + std::string strLanIP; + std::string strServerName; + short sUserCount; + short sServerID; + short sGroupID; + short sPlayerCap; + short sFreePlayerCap; + std::string strKarusKingName; + std::string strKarusNotice; + std::string strElMoradKingName; + std::string strElMoradNotice; + + _SERVER_INFO() + { + sUserCount = sServerID = sGroupID = sPlayerCap = sFreePlayerCap = 0; + } +}; + +struct News +{ + uint8 Content[4096]; + size_t Size; +}; + +struct _VERSION_INFO +{ + uint16 sVersion; + uint16 sHistoryVersion; + std::string strFilename; +}; \ No newline at end of file diff --git a/server/LogInServer/LoginServer.cpp b/server/LogInServer/LoginServer.cpp new file mode 100644 index 0000000..5560478 --- /dev/null +++ b/server/LogInServer/LoginServer.cpp @@ -0,0 +1,284 @@ +#include "stdafx.h" +#include +#include "../shared/Ini.h" +#include "../shared/DateTime.h" + +extern bool g_bRunning; +std::vector g_timerThreads; + +LoginServer::LoginServer() : m_sLastVersion(__VERSION), m_fpLoginServer(nullptr) +{ +} + +bool LoginServer::Startup() +{ + GetInfoFromIni(); + + + DateTime time; + printf("LevoKO LoginServer started in %02d-%02d-%04d at %02d:%02d\n\n", time.GetDay(), time.GetMonth(), time.GetYear(), time.GetHour(), time.GetMinute()); + printf("Project : %d\n", GetVersion()); + printf("Edited by Levent\n\n"); + + CreateDirectory("Logs",NULL); + + m_fpLoginServer = fopen("./Logs/LoginServer.log", "a"); + if (m_fpLoginServer == nullptr) + { + printf("ERROR: Unable to open log file.\n"); + return false; + } + + m_fpUser = fopen(string_format("./Logs/Login_%d_%d_%d.log",time.GetDay(),time.GetMonth(),time.GetYear()).c_str(), "a"); + if (m_fpUser == nullptr) + { + printf("ERROR: Unable to open user log file.\n"); + return false; + } + + if (!m_DBProcess.Connect(m_ODBCName, m_ODBCLogin, m_ODBCPwd)) + { + printf("ERROR: Unable to connect to the database using the details configured.\n"); + return false; + } + + printf("Databaseye Basarili Sekilde Baglanildi.\n"); + + if (!m_DBProcess.LoadVersionList()) + { + printf("ERROR: Unable to load the version list.\n"); + return false; + } + + printf("LevoKO Server Versionu: %d\n", GetVersion()); + InitPacketHandlers(); + + for(int i=0; i<10 ; i++) + if (!m_socketMgr[i].Listen(m_LoginServerPort+i, MAX_USER)) + { + printf("ERROR: Failed to listen on server port.\n"); + return false; + } + + for(int i=0; i<10 ; i++) + m_socketMgr[i].RunServer(); + + g_timerThreads.push_back(new Thread(Timer_UpdateUserCount)); + return true; +} + +uint32 LoginServer::Timer_UpdateUserCount(void * lpParam) +{ + while (g_bRunning) + { + g_pMain->UpdateServerList(); + sleep(60 * SECOND); + } + return 0; +} + +void LoginServer::GetServerList(Packet & result) +{ + Guard lock(m_serverListLock); + result.append(m_serverListPacket.contents(), m_serverListPacket.size()); +} + +void LoginServer::UpdateServerList() +{ + // Update the user counts first + m_DBProcess.LoadUserCountList(); + + Guard lock(m_serverListLock); + Packet & result = m_serverListPacket; + + result.clear(); + result << uint8(m_ServerList.size()); + foreach (itr, m_ServerList) + { + _SERVER_INFO *pServer = *itr; + + result << pServer->strServerIP; + + result << pServer->strLanIP; + + result << pServer->strServerName; + + if (pServer->sUserCount <= pServer->sPlayerCap) + result << pServer->sUserCount; + else + result << int16(-1); + + result << pServer->sServerID << pServer->sGroupID; + result << pServer->sPlayerCap << pServer->sFreePlayerCap; + + result << uint8(0); + + // we read all this stuff from ini, TODO: make this more versatile. + result << pServer->strKarusKingName << pServer->strKarusNotice + << pServer->strElMoradKingName << pServer->strElMoradNotice; + } +} + +void LoginServer::GetInfoFromIni() +{ + CIni ini(CONF_LOGIN_SERVER); + + ini.GetString("DOWNLOAD", "URL", "ftp.yoursite.net", m_strFtpUrl, false); + ini.GetString("DOWNLOAD", "PATH", "/", m_strFilePath, false); + + ini.GetString("ODBC", "DSN", "KO_MAIN", m_ODBCName, false); + ini.GetString("ODBC", "UID", "username", m_ODBCLogin, false); + ini.GetString("ODBC", "PWD", "password", m_ODBCPwd, false); + + m_LoginServerPort = ini.GetInt("SETTINGS","PORT", 15100); + + int nServerCount = ini.GetInt("SERVER_LIST", "COUNT", 1); + if (nServerCount <= 0) + nServerCount = 1; + + char key[20]; + _SERVER_INFO* pInfo = nullptr; + + m_ServerList.reserve(nServerCount); + + // TODO: Replace this nonsense with something a little more versatile + for (int i = 0; i < nServerCount; i++) + { + pInfo = new _SERVER_INFO; + + _snprintf(key, sizeof(key), "SERVER_%02d", i); + ini.GetString("SERVER_LIST", key, "127.0.0.1", pInfo->strServerIP, false); + + _snprintf(key, sizeof(key), "LANIP_%02d", i); + ini.GetString("SERVER_LIST", key, "127.0.0.1", pInfo->strLanIP, false); + + _snprintf(key, sizeof(key), "NAME_%02d", i); + ini.GetString("SERVER_LIST", key, "TEST|Server 1", pInfo->strServerName, false); + + _snprintf(key, sizeof(key), "ID_%02d", i); + pInfo->sServerID = ini.GetInt("SERVER_LIST", key, 1); + + _snprintf(key, sizeof(key), "GROUPID_%02d", i); + pInfo->sGroupID = ini.GetInt("SERVER_LIST", key, 1); + + _snprintf(key, sizeof(key), "PREMLIMIT_%02d", i); + pInfo->sPlayerCap = ini.GetInt("SERVER_LIST", key, MAX_USER); + + _snprintf(key, sizeof(key), "FREELIMIT_%02d", i); + pInfo->sFreePlayerCap = ini.GetInt("SERVER_LIST", key, MAX_USER); + + _snprintf(key, sizeof(key), "KING1_%02d", i); + ini.GetString("SERVER_LIST", key, "", pInfo->strKarusKingName); + + _snprintf(key, sizeof(key), "KING2_%02d", i); + ini.GetString("SERVER_LIST", key, "", pInfo->strElMoradKingName); + + _snprintf(key, sizeof(key), "KINGMSG1_%02d", i); + ini.GetString("SERVER_LIST", key, "", pInfo->strKarusNotice); + + _snprintf(key, sizeof(key), "KINGMSG2_%02d", i); + ini.GetString("SERVER_LIST", key, "", pInfo->strElMoradNotice); + + m_ServerList.push_back(pInfo); + } + + // Read news from INI (max 3 blocks) +#define BOX_START '#' << uint8(0) << '\n' +#define LINE_ENDING uint8(0) << '\n' +#define BOX_END BOX_START << LINE_ENDING + + m_news.Size = 0; + std::stringstream ss; + for (int i = 0; i < 3; i++) + { + string title, message; + + _snprintf(key, sizeof(key), "TITLE_%02d", i); + ini.GetString("NEWS", key, "", title); + if (title.empty()) + continue; + + _snprintf(key, sizeof(key), "MESSAGE_%02d", i); + ini.GetString("NEWS", key, "", message); + if (message.empty()) + continue; + + size_t oldPos = 0, pos = 0; + ss << title << BOX_START; + + // potentially support multiline by making | act as linebreaks (same as the TBL afaik, so at least we're conformant). + //replace(messages[i].begin(), messages[i].end(), '|', '\n'); + //while ((pos = message.find('\r', pos)) != string::npos) + // message.erase(pos, 1); + //Remove \n for now, perhaps re-implement later + //while ((pos = message.find('\n', pos)) != string::npos) + // message.erase(pos, 1); + + ss << message << LINE_ENDING << BOX_END; + } + + m_news.Size = ss.str().size(); + if (m_news.Size) + memcpy(&m_news.Content, ss.str().c_str(), m_news.Size); +} + + +void LoginServer::WriteLogFile(string & logMessage) +{ + Guard lock(m_lock); + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpLoginServer); + fflush(m_fpLoginServer); +} + +void LoginServer::WriteUserLogFile(string & logMessage) +{ + Guard lock(m_lock); + fwrite(logMessage.c_str(), logMessage.length(), 1, m_fpUser); + fflush(m_fpUser); +} + +void LoginServer::ReportSQLError(OdbcError *pError) +{ + if (pError == nullptr) + return; + + // This is *very* temporary. + string errorMessage = string_format(_T("ODBC error occurred.\r\nSource: %s\r\nError: %s\r\nDescription: %s\n"), + pError->Source.c_str(), pError->ExtendedErrorMessage.c_str(), pError->ErrorMessage.c_str()); + + TRACE("%s", errorMessage.c_str()); + WriteLogFile(errorMessage); + delete pError; +} + +LoginServer::~LoginServer() +{ + printf("Waiting for timer threads to exit..."); + foreach (itr, g_timerThreads) + { + (*itr)->waitForExit(); + delete (*itr); + } + printf(" exited.\n"); + + foreach (itr, m_ServerList) + delete *itr; + m_ServerList.clear(); + + foreach (itr, m_VersionList) + delete itr->second; + m_VersionList.clear(); + + if (m_fpLoginServer != nullptr) + fclose(m_fpLoginServer); + + if (m_fpUser != nullptr) + fclose(m_fpUser); + + printf("Shutting down socket system..."); + + for(int i=0; i<10 ; i++) + m_socketMgr[i].Shutdown(); + + printf(" done.\n"); +} \ No newline at end of file diff --git a/server/LogInServer/LoginServer.h b/server/LogInServer/LoginServer.h new file mode 100644 index 0000000..60fc70d --- /dev/null +++ b/server/LogInServer/LoginServer.h @@ -0,0 +1,61 @@ +#pragma once + +#include "../shared/KOSocketMgr.h" + +typedef std::map VersionInfoList; +typedef std::vector<_SERVER_INFO *> ServerInfoList; + +class LoginSession; +class LoginServer +{ + friend class CDBProcess; +public: + LoginServer(); + + INLINE short GetVersion() { return m_sLastVersion; }; + INLINE std::string & GetFTPUrl() { return m_strFtpUrl; }; + INLINE std::string & GetFTPPath() { return m_strFilePath; }; + + INLINE News * GetNews() { return &m_news; }; + + INLINE VersionInfoList* GetPatchList() { return &m_VersionList; }; + + bool Startup(); + + static uint32 THREADCALL Timer_UpdateUserCount(void * lpParam); + void GetServerList(Packet & result); + + ~LoginServer(); + + KOSocketMgr m_socketMgr[10]; + +private: + void UpdateServerList(); + void GetInfoFromIni(); + void WriteLogFile(std::string & logMessage); + void ReportSQLError(OdbcError *pError); + + std::string m_strFtpUrl, m_strFilePath; + std::string m_ODBCName, m_ODBCLogin, m_ODBCPwd; + short m_sLastVersion; + + uint32 m_LoginServerPort; + + VersionInfoList m_VersionList; + ServerInfoList m_ServerList; + + News m_news; + + RWLock m_patchListLock; + Packet m_serverListPacket; + std::recursive_mutex m_lock, m_serverListLock; + + FILE *m_fpLoginServer; +public: + CDBProcess m_DBProcess; + void WriteUserLogFile(std::string & logMessage); + + FILE *m_fpUser; +}; + +extern LoginServer * g_pMain; diff --git a/server/LogInServer/LoginSession.cpp b/server/LogInServer/LoginSession.cpp new file mode 100644 index 0000000..0de1058 --- /dev/null +++ b/server/LogInServer/LoginSession.cpp @@ -0,0 +1,221 @@ +#include "stdafx.h" +#include "../shared/DateTime.h" + +LSPacketHandler PacketHandlers[NUM_LS_OPCODES]; +void InitPacketHandlers(void) +{ + memset(&PacketHandlers, 0, sizeof(LSPacketHandler) * NUM_LS_OPCODES); + PacketHandlers[LS_VERSION_REQ] = &LoginSession::HandleVersion; + PacketHandlers[LS_DOWNLOADINFO_REQ] = &LoginSession::HandlePatches; + PacketHandlers[LS_LOGIN_REQ] = &LoginSession::HandleLogin; + PacketHandlers[LS_SERVERLIST] = &LoginSession::HandleServerlist; + PacketHandlers[LS_NEWS] = &LoginSession::HandleNews; + PacketHandlers[LS_CRYPTION] = &LoginSession::HandleSetEncryptionPublicKey; + PacketHandlers[LS_UNKF7] = &LoginSession::HandleUnkF7; + +} + +LoginSession::LoginSession(uint16 socketID, SocketMgr *mgr) : KOSocket(socketID, mgr, -1, 2048, 64) {} + + + +bool LoginSession::HandlePacket(Packet & pkt) +{ + uint8 opcode = pkt.GetOpcode(); + + if (opcode >= NUM_LS_OPCODES + || PacketHandlers[opcode] == nullptr) + return false; + + // Unknown packet + if (opcode >= NUM_LS_OPCODES + || PacketHandlers[opcode] == nullptr) + return false; + + (this->*PacketHandlers[opcode])(pkt); + return true; + } + +void LoginSession::HandleVersion(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + result << g_pMain->GetVersion(); + Send(&result); +} + +void LoginSession::HandlePatches(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + std::set downloadset; + uint16 version; + string sonpec; + pkt >> version; + + foreach (itr, (*g_pMain->GetPatchList())) + { + auto pInfo = itr->second; + if (pInfo->sVersion > version) + downloadset.insert(pInfo->strFilename); + } + + result << g_pMain->GetFTPUrl() << g_pMain->GetFTPPath() ; + result << uint16(downloadset.size()) ; + + foreach (itr, downloadset) + { + result << (*itr); + sonpec= (*itr); + } + + printf ("IP: %s Client Version: %d < Will download %d patch(es).>\n", GetRemoteIP().c_str(), version,uint8(downloadset.size())); + + Send(&result); +} + +bool LoginSession::WordGuardSystem(std::string Word, uint8 WordStr) +{ + char *pword = &Word[0]; + bool bGuard[32] = {false}; + std::string WordGuard = "qwertyuopadfhsgcijklzxvbnmQWERTYUOPSGICADFHJKLZXVBNM1234567890"; + char *pWordGuard = &WordGuard[0]; + for(uint8 i=0; i < WordStr; i++) + { + for(uint8 j=0; j < strlen(pWordGuard); j++) + if (pword[i] == pWordGuard[j]) + bGuard[i] = true; + + if (bGuard[i] == false) + return false; + } + return true; +} + +void LoginSession::HandleLogin(Packet & pkt) +{ + enum LoginErrorCode + { + AUTH_SUCCESS = 0x01, + AUTH_NOT_FOUND = 0x02, + AUTH_INVALID = 0x03, + AUTH_BANNED = 0x04, + AUTH_IN_GAME = 0x05, + AUTH_ERROR = 0x06, + AUTH_AGREEMENT = 0x07, + AUTH_FAILED = 0x08 + }; + + Packet result(pkt.GetOpcode()); + uint16 resultCode = 0; + uint8 PremCode = 0; + string account, password; + DateTime time; + + pkt >> account >> password; + + if (account.size() == 0 + || account.size() > MAX_ID_SIZE + || password.size() == 0 + || password.size() > MAX_PW_SIZE + || !WordGuardSystem(account, account.length())) + resultCode = AUTH_NOT_FOUND; + else + resultCode = g_pMain->m_DBProcess.AccountLogin(account, password); + + std::string sAuthMessage; + + switch (resultCode) + { + case AUTH_SUCCESS: + sAuthMessage = "SUCCESS"; + break; + case AUTH_NOT_FOUND: + sAuthMessage = "NOT FOUND"; + break; + case AUTH_INVALID: + sAuthMessage = "INVALID"; + break; + case AUTH_BANNED: + sAuthMessage = "BANNED"; + break; + case AUTH_IN_GAME: + sAuthMessage = "IN GAME"; + break; + case AUTH_ERROR: + sAuthMessage = "ERROR"; + break; + case AUTH_AGREEMENT: + sAuthMessage = "USER AGREEMENT"; + break; + case AUTH_FAILED: + sAuthMessage = "FAILED"; + break; + default: + sAuthMessage = string_format("UNKNOWN (%d)",resultCode); + break; + } + + printf("[ LOGIN - %d:%d:%d ] ID=%s Authentication=%s\n", + time.GetHour(), time.GetMinute(), time.GetSecond(), + account.c_str(), sAuthMessage.c_str()); + + result <m_DBProcess.AccountPremium(account); + result << account; + } + else if (resultCode == AUTH_IN_GAME) + { + } + else if (resultCode == AUTH_AGREEMENT) + { + } + + g_pMain->WriteUserLogFile(string_format("[ LOGIN - %d:%d:%d ] ID=%s Authentication=%s\n",time.GetHour(),time.GetMinute(),time.GetSecond(),account.c_str(),password.c_str(),sAuthMessage.c_str())); + + Send(&result); +} + +void LoginSession::HandleServerlist(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + + uint16 echo; + pkt >> echo; + result << echo; + + g_pMain->GetServerList(result); + Send(&result); +} + +void LoginSession::HandleNews(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + News *pNews = g_pMain->GetNews(); + + if (pNews->Size) + { + result << "Login Notice" << uint16(pNews->Size); + result.append(pNews->Content, pNews->Size); + } + else // dummy news, will skip past it + { + result << "Login Notice" << ""; + } + Send(&result); +} + +void LoginSession::HandleSetEncryptionPublicKey(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + result << m_crypto.GenerateKey(); + Send(&result); + EnableCrypto(); +} + +void LoginSession::HandleUnkF7(Packet & pkt) +{ + Packet result(pkt.GetOpcode()); + result << uint16(0); + Send(&result); +} diff --git a/server/LogInServer/LoginSession.h b/server/LogInServer/LoginSession.h new file mode 100644 index 0000000..24d9580 --- /dev/null +++ b/server/LogInServer/LoginSession.h @@ -0,0 +1,34 @@ +#pragma once + +class LoginSession : public KOSocket +{ +public: + LoginSession(uint16 socketID, SocketMgr *mgr); + + virtual bool HandlePacket(Packet & pkt); + void HandleVersion(Packet & pkt); + void HandlePatches(Packet & pkt); + void HandleLogin(Packet & pkt); + bool WordGuardSystem(std::string Word, uint8 WordStr); + void HandleServerlist(Packet & pkt); + void HandleNews(Packet & pkt); + void HandleSetEncryptionPublicKey(Packet & pkt); + void HandleUnkF7(Packet & pkt); +}; + +enum LogonOpcodes +{ + LS_VERSION_REQ = 0x01, + LS_DOWNLOADINFO_REQ = 0x02, + LS_CRYPTION = 0xF2, + LS_LOGIN_REQ = 0xF3, + LS_MGAME_LOGIN = 0xF4, + LS_SERVERLIST = 0xF5, + LS_NEWS = 0xF6, + LS_UNKF7 = 0xF7, + + NUM_LS_OPCODES +}; + +void InitPacketHandlers(void); +typedef void (LoginSession::*LSPacketHandler)(Packet &); diff --git a/server/LogInServer/Res/LogInServe.ico b/server/LogInServer/Res/LogInServe.ico new file mode 100644 index 0000000..755c98d Binary files /dev/null and b/server/LogInServer/Res/LogInServe.ico differ diff --git a/server/LogInServer/Res/LogInServer.rc b/server/LogInServer/Res/LogInServer.rc new file mode 100644 index 0000000..ba87142 Binary files /dev/null and b/server/LogInServer/Res/LogInServer.rc differ diff --git a/server/LogInServer/main.cpp b/server/LogInServer/main.cpp new file mode 100644 index 0000000..a08a5e7 --- /dev/null +++ b/server/LogInServer/main.cpp @@ -0,0 +1,49 @@ +#include "stdafx.h" +#include "../shared/signal_handler.h" + +LoginServer * g_pMain; +static Condition s_hEvent; +bool g_bRunning = true; + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType); + +int main() +{ + SetConsoleTitle("Login Server Knight v" STRINGIFY(__VERSION)); + // Override the console handler + SetConsoleCtrlHandler(_ConsoleHandler, TRUE); + + HookSignals(&s_hEvent); + + g_pMain = new LoginServer(); + + // Startup server + if (g_pMain->Startup()) + { + printf("\nServer started up successfully!\n\n"); + + // Wait until console's signaled as closing + s_hEvent.Wait(); + } + else + { + system("pause"); + } + + printf("Server shutting down, please wait...\n"); + + g_bRunning = false; + delete g_pMain; + UnhookSignals(); + + return 0; +} + +BOOL WINAPI _ConsoleHandler(DWORD dwCtrlType) +{ + s_hEvent.BeginSynchronized(); + s_hEvent.Signal(); + s_hEvent.EndSynchronized(); + sleep(10000); // Win7 onwards allows 10 seconds before it'll forcibly terminate + return TRUE; +} diff --git a/server/LogInServer/proj-LogInServer.vcxproj b/server/LogInServer/proj-LogInServer.vcxproj new file mode 100644 index 0000000..7b1a304 --- /dev/null +++ b/server/LogInServer/proj-LogInServer.vcxproj @@ -0,0 +1,600 @@ + + + + + Debug-XP + Win32 + + + Debug-XP + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release-XP + Win32 + + + Release-XP + x64 + + + Release + Win32 + + + Release + x64 + + + + {F68DA1BF-90B2-4166-8DDB-B82D813EA961} + LogInServer + 10.0.17763.0 + + + + Application + false + MultiByte + v142 + + + Application + false + MultiByte + v142 + + + Application + false + MultiByte + v110_xp + + + Application + false + MultiByte + v110_xp + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v110_xp + true + + + Application + MultiByte + v110_xp + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + false + false + false + false + true + true + true + true + + + $(SolutionDir)..\bin\$(Configuration)\ + E:\KO\KO CALISMALAR\boost;$(IncludePath) + E:\KO\KO CALISMALAR\boost\libs;$(LibraryPath) + + + $(IncludePath) + $(LibraryPath) + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + Use + stdafx.h + .\Release/LogInServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + MachineX86 + + + true + + + true + .\Release/LogInServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + Use + stdafx.h + .\Release/LogInServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + NotSet + false + + + + + true + + + true + .\Release/LogInServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + Use + stdafx.h + .\Release/LogInServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + MachineX86 + + + true + 5.01 + + + true + .\Release/LogInServer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + Use + stdafx.h + .\Release/LogInServer.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + Console + false + + + + + true + 5.01 + + + true + .\Release/LogInServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + .\Debug/LogInServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + NotSet + false + + + MachineX86 + + + false + NotSet + + + true + .\Debug/LogInServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + .\Debug/LogInServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level1 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)$(Platform)/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + NotSet + false + + + + + false + NotSet + + + true + .\Debug/LogInServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + .\Debug/LogInServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + NotSet + false + + + MachineX86 + + + false + NotSet + + + + true + .\Debug/LogInServer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + .\Debug/LogInServer.tlb + + + + + Disabled + WIN32;LOGIN_SERVER;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + .\Debug/LogInServer.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0412 + + + ws2_32.lib;$(SolutionDir)../bin/$(Configuration)/shared.lib;%(AdditionalDependencies) + true + true + NotSet + false + + + + + false + NotSet + + + + + true + .\Debug/LogInServer.bsc + + + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + Create + Create + Create + Create + Create + Create + Create + Create + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/LogInServer/proj-LogInServer.vcxproj.filters b/server/LogInServer/proj-LogInServer.vcxproj.filters new file mode 100644 index 0000000..245a7a1 --- /dev/null +++ b/server/LogInServer/proj-LogInServer.vcxproj.filters @@ -0,0 +1,66 @@ + + + + + {863aecfc-4d6c-4111-8639-0f907c46d727} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {82eb2836-8fa4-47d4-bcbd-fcc14a29327e} + h;hpp;hxx;hm;inl + + + {4fef33e7-0850-4a21-8150-8feb10b1693d} + + + {0b2bff93-2f89-4f20-9310-b323ce1a05c9} + + + + + Database + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Database + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/server/LogInServer/proj-LogInServer.vcxproj.user b/server/LogInServer/proj-LogInServer.vcxproj.user new file mode 100644 index 0000000..14e785f --- /dev/null +++ b/server/LogInServer/proj-LogInServer.vcxproj.user @@ -0,0 +1,11 @@ + + + + $(SolutionDir)..\bin\$(Configuration)\ + WindowsLocalDebugger + + + $(SolutionDir)..\bin\$(Configuration)\ + WindowsLocalDebugger + + \ No newline at end of file diff --git a/server/LogInServer/resource.h b/server/LogInServer/resource.h new file mode 100644 index 0000000..5903fe1 Binary files /dev/null and b/server/LogInServer/resource.h differ diff --git a/server/LogInServer/stdafx.cpp b/server/LogInServer/stdafx.cpp new file mode 100644 index 0000000..1577c4e --- /dev/null +++ b/server/LogInServer/stdafx.cpp @@ -0,0 +1 @@ +#include "stdafx.h" \ No newline at end of file diff --git a/server/LogInServer/stdafx.h b/server/LogInServer/stdafx.h new file mode 100644 index 0000000..b1dc08f --- /dev/null +++ b/server/LogInServer/stdafx.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../shared/stdafx.h" + +#include "Define.h" +#include "DBProcess.h" +#include "LoginServer.h" +#include "LoginSession.h" + +using namespace std; diff --git a/server/N3BASE/My_3DStruct.h b/server/N3BASE/My_3DStruct.h new file mode 100644 index 0000000..27cdb06 --- /dev/null +++ b/server/N3BASE/My_3DStruct.h @@ -0,0 +1,357 @@ +#pragma once + +#include +#include + +/* Here follow the extremely few remaining D3D8 components we require */ + +// NOTE: We're using this over M_PI because of the precision +#define D3DX_PI ((float) 3.141592654f) +#define D3DXToRadian( degree ) ((degree) * (D3DX_PI / 180.0f)) + +/* D3D8 structs */ +typedef struct _D3DVECTOR { + float x; + float y; + float z; +} D3DVECTOR; + +typedef struct _D3DMATRIX { + union { + struct { + float _11, _12, _13, _14; + float _21, _22, _23, _24; + float _31, _32, _33, _34; + float _41, _42, _43, _44; + + }; + float m[4][4]; + }; +} D3DMATRIX; + +struct __Matrix44; +struct __Vector3 : public D3DVECTOR // 3D Vertex +{ +public: + INLINE __Vector3() {} + INLINE __Vector3(float fx, float fy, float fz) { Set(fx, fy, fz); } + + INLINE void Zero() { Set(0.0f, 0.0f, 0.0f); } + INLINE void Set(float fx, float fy, float fz) { x = fx; y = fy; z = fz; } + + void Normalize(); + float Magnitude() const; + float Dot(const D3DVECTOR& vec) const; + void Cross(const D3DVECTOR& v1, const D3DVECTOR& v2); + void Absolute(); + + const __Vector3& operator = (const __Vector3& vec); + + const __Vector3 operator * (const D3DMATRIX& mtx) const; + void operator *= (float fDelta); + void operator *= (const D3DMATRIX& mtx); + __Vector3 operator + (const D3DVECTOR& vec) const; + __Vector3 operator - (const D3DVECTOR& vec) const; + __Vector3 operator * (const D3DVECTOR& vec) const; + __Vector3 operator / (const D3DVECTOR& vec) const; + + void operator += (const D3DVECTOR& vec); + void operator -= (const D3DVECTOR& vec); + void operator *= (const D3DVECTOR& vec); + void operator /= (const D3DVECTOR& vec); + + __Vector3 operator + (float fDelta) const; + __Vector3 operator - (float fDelta) const; + __Vector3 operator * (float fDelta) const; + __Vector3 operator / (float fDelta) const; +}; + +struct __Matrix44 : public D3DMATRIX // 4x4 Matrix +{ +public: + __Matrix44() {} + void Zero(); + void Identity(); + void RotationY(float fDelta); +}; + +INLINE void __Vector3::Normalize() +{ + float fn = sqrtf(x*x + y*y + z*z); + if(fn == 0) return; + x /= fn; y /= fn; z /= fn; +} + +INLINE float __Vector3::Magnitude() const +{ + return sqrtf(x*x + y*y + z*z); +} + +INLINE float __Vector3::Dot(const D3DVECTOR& vec) const +{ + return x*vec.x + y*vec.y + z*vec.z; +} + +INLINE void __Vector3::Cross(const D3DVECTOR& v1, const D3DVECTOR& v2) +{ + x = v1.y * v2.z - v1.z * v2.y; + y = v1.z * v2.x - v1.x * v2.z; + z = v1.x * v2.y - v1.y * v2.x; +} + +INLINE void __Vector3::Absolute() +{ + if(x < 0) x *= -1.0f; + if(y < 0) y *= -1.0f; + if(z < 0) z *= -1.0f; +} + +INLINE const __Vector3& __Vector3::operator = (const __Vector3& vec) +{ + x = vec.x; y = vec.y; z = vec.z; + return *this; +} + +INLINE const __Vector3 __Vector3::operator * (const D3DMATRIX& mtx) const +{ + static __Vector3 vTmp; + + vTmp.x = x*mtx._11 + y*mtx._21 + z*mtx._31 + mtx._41; + vTmp.y = x*mtx._12 + y*mtx._22 + z*mtx._32 + mtx._42; + vTmp.z = x*mtx._13 + y*mtx._23 + z*mtx._33 + mtx._43; + + return vTmp; +} + +INLINE void __Vector3::operator *= (float fDelta) +{ + x *= fDelta; + y *= fDelta; + z *= fDelta; +} + +INLINE void __Vector3::operator *= (const D3DMATRIX& mtx) +{ + static __Vector3 vTmp; + + vTmp.Set(x,y,z); + x = vTmp.x*mtx._11 + vTmp.y*mtx._21 + vTmp.z*mtx._31 + mtx._41; + y = vTmp.x*mtx._12 + vTmp.y*mtx._22 + vTmp.z*mtx._32 + mtx._42; + z = vTmp.x*mtx._13 + vTmp.y*mtx._23 + vTmp.z*mtx._33 + mtx._43; +} + +INLINE __Vector3 __Vector3::operator + (const D3DVECTOR& vec) const +{ + static __Vector3 vTmp; + + vTmp.x = x + vec.x; + vTmp.y = y + vec.y; + vTmp.z = z + vec.z; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator - (const D3DVECTOR& vec) const +{ + static __Vector3 vTmp; + + vTmp.x = x - vec.x; + vTmp.y = y - vec.y; + vTmp.z = z - vec.z; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator * (const D3DVECTOR& vec) const +{ + static __Vector3 vTmp; + + vTmp.x = x * vec.x; + vTmp.y = y * vec.y; + vTmp.z = z * vec.z; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator / (const D3DVECTOR& vec) const +{ + static __Vector3 vTmp; + + vTmp.x = x / vec.x; + vTmp.y = y / vec.y; + vTmp.z = z / vec.z; + return vTmp; +} + +INLINE void __Vector3::operator += (const D3DVECTOR& vec) +{ + x += vec.x; + y += vec.y; + z += vec.z; +} + +INLINE void __Vector3::operator -= (const D3DVECTOR& vec) +{ + x -= vec.x; + y -= vec.y; + z -= vec.z; +} + +INLINE void __Vector3::operator *= (const D3DVECTOR& vec) +{ + x *= vec.x; + y *= vec.y; + z *= vec.z; +} + +INLINE void __Vector3::operator /= (const D3DVECTOR& vec) +{ + x /= vec.x; + y /= vec.y; + z /= vec.z; +} + +INLINE __Vector3 __Vector3::operator + (float fDelta) const +{ + static __Vector3 vTmp; + + vTmp.x = x + fDelta; + vTmp.y = y + fDelta; + vTmp.z = z + fDelta; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator - (float fDelta) const +{ + static __Vector3 vTmp; + + vTmp.x = x - fDelta; + vTmp.y = y - fDelta; + vTmp.z = z - fDelta; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator * (float fDelta) const +{ + static __Vector3 vTmp; + + vTmp.x = x * fDelta; + vTmp.y = y * fDelta; + vTmp.z = z * fDelta; + return vTmp; +} + +INLINE __Vector3 __Vector3::operator / (float fDelta) const +{ + static __Vector3 vTmp; + + vTmp.x = x / fDelta; + vTmp.y = y / fDelta; + vTmp.z = z / fDelta; + return vTmp; +} + +INLINE void __Matrix44::Identity() +{ + _12 = _13 = _14 = _21 = _23 = _24 = _31 = _32 = _34 = _41 = _42 = _43 = 0; + _11 = _22 = _33 = _44 = 1.0f; +} + +INLINE void __Matrix44::RotationY(float fDelta) +{ + this->Identity(); + _11 = cosf(fDelta); _13 = -sinf(fDelta); _31 = -_13; _33 = _11; +} + +INLINE bool _IntersectTriangle(const __Vector3& vOrig, const __Vector3& vDir, + const __Vector3& v0, const __Vector3& v1, const __Vector3& v2, + float& fT, float& fU, float& fV, __Vector3* pVCol = nullptr) +{ + // Find vectors for two edges sharing vert0 + static __Vector3 vEdge1, vEdge2; + + vEdge1 = v1 - v0; + vEdge2 = v2 - v0; + + // Begin calculating determinant - also used to calculate U parameter + __Vector3 pVec; float fDet; + + pVec.Cross(vEdge1, vEdge2); + fDet = pVec.Dot(vDir); + if (fDet > -0.0001f ) + return false; + + pVec.Cross(vDir, vEdge2); + + // If determinant is near zero, ray lies in plane of triangle + fDet = vEdge1.Dot(pVec); + if( fDet < 0.0001f ) + return false; + + // Calculate distance from vert0 to ray origin + __Vector3 tVec = vOrig - v0; + + // Calculate U parameter and test bounds + fU = tVec.Dot(pVec); + if( fU < 0.0f || fU > fDet ) + return false; + + // Prepare to test V parameter + __Vector3 qVec; + qVec.Cross(tVec, vEdge1); + + // Calculate V parameter and test bounds + fV = vDir.Dot(qVec); + if( fV < 0.0f || fU + fV > fDet ) + return false; + + // Calculate t, scale parameters, ray intersects triangle + fT = vEdge2.Dot(qVec); + float fInvDet = 1.0f / fDet; + fT *= fInvDet; + fU *= fInvDet; + fV *= fInvDet; + + if(pVCol) (*pVCol) = vOrig + (vDir * fT); + return (fT >= 0.0f); +} + +INLINE bool _IntersectTriangle(const __Vector3& vOrig, const __Vector3& vDir, const __Vector3& v0, const __Vector3& v1, const __Vector3& v2) +{ + // Find vectors for two edges sharing vert0 + // Begin calculating determinant - also used to calculate U parameter + static float fDet, fT, fU, fV; + static __Vector3 vEdge1, vEdge2, tVec, pVec, qVec; + + vEdge1 = v1 - v0; + vEdge2 = v2 - v0; + + pVec.Cross(vEdge1, vEdge2); + fDet = pVec.Dot(vDir); + if (fDet > -0.0001f ) + return false; + + pVec.Cross(vDir, vEdge2); + + // If determinant is near zero, ray lies in plane of triangle + fDet = vEdge1.Dot(pVec); + if( fDet < 0.0001f ) + return false; + + // Calculate distance from vert0 to ray origin + tVec = vOrig - v0; + + // Calculate U parameter and test bounds + fU = tVec.Dot(pVec); + if( fU < 0.0f || fU > fDet ) + return false; + + // Prepare to test V parameter + qVec.Cross(tVec, vEdge1); + + // Calculate V parameter and test bounds + fV = vDir.Dot(qVec); + if( fV < 0.0f || fU + fV > fDet ) + return false; + + // Calculate t, scale parameters, ray intersects triangle + fT = vEdge2.Dot(qVec) / fDet; + return (fT >= 0.0f); +} \ No newline at end of file diff --git a/server/N3BASE/N3ShapeMgr.cpp b/server/N3BASE/N3ShapeMgr.cpp new file mode 100644 index 0000000..61508ac --- /dev/null +++ b/server/N3BASE/N3ShapeMgr.cpp @@ -0,0 +1,128 @@ +#include "stdafx.h" + +CN3ShapeMgr::CN3ShapeMgr() +{ + m_fMapWidth = 0.0f; + m_fMapLength = 0.0f; + m_nCollisionFaceCount = 0; + m_pvCollisions = nullptr; + memset(m_pCells, 0, sizeof(m_pCells)); +} + +CN3ShapeMgr::~CN3ShapeMgr() +{ + if (m_pvCollisions != nullptr) + { + delete [] m_pvCollisions; + m_pvCollisions = nullptr; + } + + for(int z = 0; z < MAX_CELL_MAIN; z++) + { + for(int x = 0; x < MAX_CELL_MAIN; x++) + { + delete m_pCells[x][z]; + } + } +} + +void CN3ShapeMgr::unlock() +{ + m_fMapWidth = 0.0f; + m_fMapLength = 0.0f; + m_nCollisionFaceCount = 0; + + if (m_pvCollisions != nullptr) + { + delete [] m_pvCollisions; + m_pvCollisions = nullptr; + } + + for(int z = 0; z < MAX_CELL_MAIN; z++) + { + for(int x = 0; x < MAX_CELL_MAIN; x++) + { + delete m_pCells[x][z]; + m_pCells[x][z] = nullptr; + } + } + memset(m_pCells, 0, sizeof(MAX_CELL_MAIN)); +} + +bool CN3ShapeMgr::LoadCollisionData(FILE *fp) +{ + if (fread(&m_fMapWidth, 4, 1, fp) != 1 + || fread(&m_fMapLength, 4, 1, fp) != 1) + { + ASSERT(0); + return false; + } + + Create(m_fMapWidth, m_fMapLength); + + if (fread(&m_nCollisionFaceCount, 4, 1, fp) != 1) + { + ASSERT(0); + return false; + } + + if (m_pvCollisions != nullptr) + { + delete [] m_pvCollisions; + m_pvCollisions = nullptr; + } + + if (m_nCollisionFaceCount > 0) + { + m_pvCollisions = new __Vector3[m_nCollisionFaceCount * 3]; + if (fread(m_pvCollisions, sizeof(__Vector3) * m_nCollisionFaceCount * 3, 1, fp) != 1) + { + ASSERT(0); + return false; + } + } + + // Cell data + int z = 0; + for(float fZ = 0.0f; fZ < m_fMapLength; fZ += CELL_MAIN_SIZE, z++) + { + int x = 0; + for(float fX = 0.0f; fX < m_fMapWidth; fX += CELL_MAIN_SIZE, x++) + { + if (m_pCells[x][z] != nullptr) + { + delete m_pCells[x][z]; + m_pCells[x][z] = nullptr; + } + + uint32 bExist; + if (fread(&bExist, 4, 1, fp) != 1) + { + ASSERT(0); + return false; + } + + if (!bExist) + continue; + + m_pCells[x][z] = new __CellMain; + m_pCells[x][z]->Load(fp); + } + } + + return true; +} + +bool CN3ShapeMgr::Create(float fMapWidth, float fMapLength) // ʺ ̸ ִ´.. +{ + if( fMapWidth <= 0.0f || fMapWidth > MAX_CELL_MAIN * CELL_MAIN_SIZE || + fMapLength <= 0.0f || fMapLength > MAX_CELL_MAIN * CELL_MAIN_SIZE ) + { + return false; + } + + m_fMapWidth = fMapWidth; + m_fMapLength = fMapLength; + + return true; +} diff --git a/server/N3BASE/N3ShapeMgr.h b/server/N3BASE/N3ShapeMgr.h new file mode 100644 index 0000000..9ae4f67 --- /dev/null +++ b/server/N3BASE/N3ShapeMgr.h @@ -0,0 +1,116 @@ +#pragma once + +#include "My_3DStruct.h" +#include + +const int CELL_MAIN_DEVIDE = 4; +const int CELL_SUB_SIZE = 4; // 4m +const int CELL_MAIN_SIZE = CELL_MAIN_DEVIDE * CELL_SUB_SIZE; +const int MAX_CELL_MAIN = 4096 / CELL_MAIN_SIZE; +const int MAX_CELL_SUB = MAX_CELL_MAIN * CELL_MAIN_DEVIDE; + +class CN3ShapeMgr +{ +public: + struct __CellSub + { + int nCCPolyCount; // Collision Check Polygon Count + uint32* pdwCCVertIndices; // Collision Check Polygon Vertex Indices - wCCPolyCount * 3 + + void Load(FILE *fp) + { + if (fread(&nCCPolyCount, sizeof(int), 1, fp) != 1) + { + ASSERT(0); + return; + } + + if (nCCPolyCount != 0) + { + if (pdwCCVertIndices) + delete [] pdwCCVertIndices; + + pdwCCVertIndices = new uint32[nCCPolyCount * 3]; + if (fread(pdwCCVertIndices, nCCPolyCount * 3 * 4, 1, fp) != 1) + { + ASSERT(0); + return; + } + } + } + + __CellSub() { memset(this, 0, sizeof(__CellSub)); } + ~__CellSub() { delete [] pdwCCVertIndices; } + }; + + struct __CellMain + { + int nShapeCount; // Shape Count; + WORD* pwShapeIndices; // Shape Indices + __CellSub SubCells[CELL_MAIN_DEVIDE][CELL_MAIN_DEVIDE]; + + void Load(FILE *fp) + { + if (fread(&nShapeCount, sizeof(int), 1, fp) != 1) + { + ASSERT(0); + return; + } + + if (nShapeCount != 0) + { + if (pwShapeIndices) + delete [] pwShapeIndices; + + pwShapeIndices = new WORD[nShapeCount]; + if (fread(pwShapeIndices, nShapeCount * 2, 1, fp) != 1) + { + ASSERT(0); + return; + } + } + + for (int z = 0; z < CELL_MAIN_DEVIDE; z++) + { + for (int x = 0; x < CELL_MAIN_DEVIDE; x++) + SubCells[x][z].Load(fp); + } + } + + __CellMain() { nShapeCount = 0; pwShapeIndices = nullptr; } + ~__CellMain() { delete [] pwShapeIndices; } + }; + + __Vector3* m_pvCollisions; + +protected: + float m_fMapWidth; + float m_fMapLength; + int m_nCollisionFaceCount; + __CellMain* m_pCells[MAX_CELL_MAIN][MAX_CELL_MAIN]; + +public: + void SubCell(const __Vector3& vPos, __CellSub** ppSubCell); + __CellSub* SubCell(float fX, float fZ) + { + int x = (int)(fX / CELL_MAIN_SIZE); + int z = (int)(fZ / CELL_MAIN_SIZE); + + // _ASSERT(x >= 0 && x < MAX_CELL_MAIN && z >= 0 && z < MAX_CELL_MAIN); + if(nullptr == m_pCells[x][z]) return nullptr; + + int xx = (((int)fX)%CELL_MAIN_SIZE)/CELL_SUB_SIZE; + int zz = (((int)fZ)%CELL_MAIN_SIZE)/CELL_SUB_SIZE; + + return &(m_pCells[x][z]->SubCells[xx][zz]); + } + float Width() { return m_fMapWidth; } + float Height() { return m_fMapWidth; } + + bool Create(float fMapWidth, float fMapLength); + bool LoadCollisionData(FILE *fp); + + void unlock(); + CN3ShapeMgr(); + virtual ~CN3ShapeMgr(); +}; diff --git a/server/N3BASE/stdafx.h b/server/N3BASE/stdafx.h new file mode 100644 index 0000000..1338cb6 --- /dev/null +++ b/server/N3BASE/stdafx.h @@ -0,0 +1,6 @@ +#pragma once + +#include "../shared/stdafx.h" + +#include +#include "N3ShapeMgr.h" \ No newline at end of file diff --git a/server/Npc.cpp b/server/Npc.cpp new file mode 100644 index 0000000..bbad62a --- /dev/null +++ b/server/Npc.cpp @@ -0,0 +1,1113 @@ +#include "stdafx.h" +#include "Map.h" +#include "MagicInstance.h" +#include "../shared/DateTime.h" + +using namespace std; + +CNpc::CNpc() : Unit(UnitNPC) +{ + Initialize(); +} + + +CNpc::~CNpc() +{ +} + +/** +* @brief Initializes this object. +*/ +void CNpc::Initialize() +{ + cubeisactive = 0; + Unit::Initialize(); + m_bIsEventNpc = false; + m_sSid = 0; + m_sPid = 0; // MONSTER(NPC) Picture ID + m_sSize = 100; // MONSTER(NPC) Size + m_strName.clear(); // MONSTER(NPC) Name + m_iMaxHP = 0; // �ִ� HP + m_iHP = 0; // ���� HP + m_byState = 0; // ������ (NPC) �����̻� + m_tNpcType = 0; // NPC Type + // 0 : Normal Monster + // 1 : NPC + // 2 : �� �Ա�,�ⱸ NPC + // 3 : ������ + m_iSellingGroup = 0; + //m_dwStepDelay = 0; + + m_byDirection = 0; // npc�� ����,, + m_iWeapon_1 = 0; + m_iWeapon_2 = 0; + m_NpcState = NPC_LIVE; + m_byGateOpen = true; + m_byObjectType = NORMAL_OBJECT; + m_JuraidGateOpen = 1; + m_byTrapNumber = 0; + m_oSocketID = -1; + m_bEventRoom = 0; + + nIsPet = false; + strPetName = ""; + strUserName = ""; + nSerial = 0; + UserId = -1; + InitType3(); + InitType4(true); +} + +/** +* @brief Adds the NPC to the region. +* +* @param new_region_x The new region x coordinate. +* @param new_region_z The new region z coordinate. +*/ +void CNpc::AddToRegion(int16 new_region_x, int16 new_region_z) +{ + if(GetMap() == nullptr) + return; + + if(GetMap()->GetXRegionMax() < new_region_x + || GetMap()->GetZRegionMax() < new_region_z) + return; + + GetRegion()->Remove(this); + SetRegion(new_region_x, new_region_z); + + GetRegion()->Add(this); +} + +/** +* @brief Sends the movement packet for the NPC. +* +* @param fPosX The position x coordinate. +* @param fPosY The position y coordinate. +* @param fPosZ The position z coordinate. +* @param fSpeed The speed. +*/ +void CNpc::MoveResult(float fPosX, float fPosY, float fPosZ, float fSpeed) +{ + if(nIsPet) + return; + + /*Packet result(WIZ_NPC_MOVE); + + SetPosition(fPosX, fPosY, fPosZ); + RegisterRegion(); + #if __VERSION >= 1950 + result << uint8(fSpeed); + #endif + result << GetID() << GetSPosX() << GetSPosZ() << GetSPosY() << uint16(1); + SendToRegion(&result);*/ + + Packet result(WIZ_NPC_MOVE, uint8(SUCCESS)); + SetPosition(fPosX, fPosY, fPosZ); + RegisterRegion(); + result << GetID() << GetSPosX() << GetSPosZ() << GetSPosY(); + if(m_bIceSpeedAmount > 0) + result << fSpeed / float(m_bIceSpeedAmount); + else + result << fSpeed * float(85.99F); + SendToRegion(&result); +} + +/** +* @brief Constructs an in/out packet for the NPC. +* +* @param result The packet buffer the constructed packet will be stored in. +* @param bType The type (in or out). +*/ +void CNpc::GetInOut(Packet & result, uint8 bType) +{ + result.Initialize(WIZ_NPC_INOUT); + result << bType << GetID(); + if (bType != INOUT_OUT) + GetNpcInfo(result); + + if (bType == INOUT_IN) + OnRespawn(); +} + +/** +* @brief Constructs and sends an in/out packet for the NPC. +* +* @param bType The type (in or out). +* @param fX The x coordinate. +* @param fZ The z coordinate. +* @param fY The y coordinate. +*/ +void CNpc::SendInOut(uint8 bType, float fX, float fZ, float fY) +{ + if (GetRegion() == nullptr) + { + SetRegion(GetNewRegionX(), GetNewRegionZ()); + if (GetRegion() == nullptr) + return; + } + + if (bType == INOUT_OUT) + { + GetRegion()->Remove(this); + } + else + { + GetRegion()->Add(this); + SetPosition(fX, fY, fZ); + } + + Packet result; + GetInOut(result, bType); + SendToRegion(&result); + + if (nIsPet) + { + Packet result3; + CUser *pUser = g_pMain->GetUserPtr(UserId); + CPet *mPet = g_pMain->GetPetPtr(nSerial); + + if (mPet == nullptr + || pUser == nullptr) + return; + + if(pUser->LastWarpTime > (UNIXTIME - 2)) + return; + + result3.Initialize(WIZ_OBJECT_EVENT); + result3 << uint8(0x0B) << uint8(0x01) << GetID() << uint32(30403); + SendToRegion(&result3); + + g_pMain->m_LivingPetArray.insert(std::make_pair(mPet->m_Serial, mPet)); + + Packet pet(WIZ_PET); + pet.DByte(); + + pet << uint8(0x01) << uint8(0x05) << uint8(0x01) << uint8(0x01) << uint8(0x00) + << uint32(mPet->SpecialPetID) + << mPet->GetName() + << mPet->m_sClass + << mPet->m_bLevel << uint16((mPet->m_iExp* 10000) / g_pMain->GetPetExpByLevel(mPet->m_bLevel)) + << uint16(mPet->m_sMaxHp) << uint16(mPet->m_sHp) + << uint16(mPet->m_sMaxMp) << uint16(mPet->m_sMp) + << uint16(mPet->m_sSatisfaction) + << uint16(mPet->m_sAttack) << uint16(mPet->m_sAc) + << uint8(mPet->m_sFireR) << uint8(mPet->m_sColdR) << uint8(mPet->m_sLightningR) + << uint8(mPet->m_sMagicR) << uint8(mPet->m_sDiseaseR) << uint8(mPet->m_sPoisonR); + + for (int i = 0; i < PET_MAX; i++) // pet cıkar görürsün de ne sorcaksan sor cıkıcam valla kanka 2 minik sorum var :D + { + _ITEM_DATA * pItem = &mPet->m_sItemArray[i]; + + //if(pItem->nNum > 0) + pet << pItem->nNum << pItem->sDuration << pItem->sCount << pItem->bFlag << uint16(0) << uint32(0) << pItem->nExpirationTime; + //else + //pet << uint32(0) << uint16(0) << uint16(0) << uint8(0) << uint16(0) << uint32(0) << uint32(0); + } + + pUser->Send(&pet); + } +} + +/** +* @brief Gets NPC information for use in various NPC packets. +* +* @param pkt The packet the information will be stored in. +*/ +void CNpc::GetNpcInfo(Packet & pkt, uint8 myNation) +{ + if(nIsPet) + { + pkt.SByte(); + CUser *pUser = g_pMain->GetUserPtr(UserId); + if(!pUser) + return; + _ITEM_DATA *pItem = nullptr; + + if ((pItem = pUser->GetItem(SHOULDER)) == nullptr) + return; + + CPet *newPet = g_pMain->GetPetPtr(pItem->nSerialNum); + if(newPet == nullptr || newPet->pSession == nullptr) + return; + + pkt << uint16(0) << uint8(newPet->isMonster() ? 1:2) << m_sPid << m_iSellingGroup + << uint8(15) << uint32(0) + << newPet->m_sSize << uint32(m_iWeapon_1) << uint32(m_iWeapon_2) + << pUser->GetName() << newPet->m_strPetID + << pUser->GetNation() << newPet->m_bLevel + << newPet->GetSPosX() << newPet->GetSPosZ() << newPet->GetSPosY() + << uint32(0) << uint8(0) << uint32(0) << int16(newPet->m_byDirection); + + } + pkt.SByte(); +#if (__VERSION >= 1950) + pkt << GetProtoID() + << uint8(isMonster() ? 1 : 2) // Monster = 1, NPC = 2 (need to use a better flag) + << m_sPid + << m_iSellingGroup; + if (nIsPet && !m_bIsEventNpc) + pkt << uint8(64); + else + pkt << GetType(); + pkt << uint32(0) + << m_sSize + << uint32(m_iWeapon_1) << uint32(m_iWeapon_2); // isPet() ? string + if (nIsPet && m_bIsEventNpc) + pkt << strUserName << strPetName; + if(myNation == uint8(-1)) + pkt << uint8(isMonster() ? 0 : GetNation()); + else + pkt << uint8(myNation); + + pkt << GetLevel() + << GetSPosX() << GetSPosZ() << GetSPosY(); + if(GetProtoID() == 8110) + pkt << uint32(m_JuraidGateOpen); + else + pkt << uint32(m_byGateOpen); + pkt << m_byObjectType + << uint16(0) << uint16(0) // unknown + << int16(m_byDirection); +#endif +#if (__VERSION < 1950) + pkt << GetProtoID() + << uint8(isMonster() ? 1 : 2) // Monster = 1, NPC = 2 (need to use a better flag) + << m_sPid + << GetType() + << m_iSellingGroup + << m_sSize + << m_iWeapon_1 << m_iWeapon_2 + // Monsters require 0 regardless, otherwise they'll act as NPCs. + << uint8(isMonster() ? 0 : GetNation()) + << GetLevel() + << GetSPosX() << GetSPosZ() << GetSPosY() + << uint32(isGateOpen()) + << m_byObjectType + << uint16(0) << uint16(0) // unknown + << int16(m_byDirection); +#endif +} + +/** +* @brief Sends a gate status. +* +* @param ObjectType object type +* @param bFlag The flag (open or shut). +* @param bSendAI true to update the AI server. +*/ +void CNpc::SendGateFlag(uint8 bFlag /*= -1*/, bool bSendAI /*= true*/) +{ + uint8 objectType = OBJECT_FLAG_LEVER; + + _OBJECT_EVENT * pObjectEvent = GetMap()->GetObjectEvent(GetProtoID()); + + if (pObjectEvent) + objectType = (uint8)pObjectEvent->sType; + + if (GetProtoID() == 8110) + objectType = OBJECT_GATE; + + + Packet result(WIZ_OBJECT_EVENT, objectType); + + if (GetProtoID() == 8110) + { + m_JuraidGateOpen = bFlag; + + result << uint8(1) << GetID() << bFlag; + SendToRegion(&result); + } + else + { + + // If there's a flag to set, set it now. + if (bFlag >= 0) + m_byGateOpen = (bFlag == 1); + + // Tell everyone nearby our new status. + result << uint8(1) << GetID() << m_byGateOpen; + SendToRegion(&result); + + // Tell the AI server our new status + if (bSendAI) + { + result.Initialize(AG_NPC_GATE_OPEN); + result << GetID() << GetProtoID() << m_byGateOpen; + Send_AIServer(&result); + } + } +} + +/** +* @brief Changes an NPC's hitpoints. +* +* @param amount The amount to adjust the HP by. +* @param pAttacker The attacker. +* @param bSendToAI true to update the AI server. +*/ +void CNpc::HpChange(int amount, Unit *pAttacker /*= nullptr*/, bool bSendToAI /*= true*/) +{ + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + + if(GetType() == NPC_FOSSIL && tid < NPC_BAND && amount != -1) + return; + + if(GetType() == NPC_TREE && tid < NPC_BAND && amount != -20) + return; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + // Glorious copypasta. + if (amount < 0 && -amount > m_iHP) + m_iHP = 0; + else if (amount >= 0 && m_iHP + amount > m_iMaxHP) + m_iHP = m_iMaxHP; + else + m_iHP += amount; + + if(nIsPet && nSerial > 0) + { + CPet * pPet = g_pMain->GetPetPtr(nSerial); + + if(pPet != nullptr) + pPet->HpChange(amount,pAttacker,false); + } + + // NOTE: This will handle the death notification/looting. + if (bSendToAI) + SendHpChangeToAI(tid, nIsPet && nSerial > 0 && isDead() ? -50000 : amount); + + if (pAttacker != nullptr + && pAttacker->isPlayer()) + TO_USER(pAttacker)->SendTargetHP(0, GetID(), amount); +} + +void CNpc::HpChangeMagic(int amount, Unit *pAttacker /*= nullptr*/, AttributeType attributeType /*= AttributeNone*/) +{ + uint16 tid = (pAttacker != nullptr ? pAttacker->GetID() : -1); + + if(GetType() == NPC_FOSSIL || GetType() == NPC_TREE) + return; + + // Implement damage/HP cap. + if (amount < -MAX_DAMAGE) + amount = -MAX_DAMAGE; + else if (amount > MAX_DAMAGE) + amount = MAX_DAMAGE; + + HpChange(amount, pAttacker, false); + SendHpChangeToAI(tid, amount, attributeType); +} + +void CNpc::SendHpChangeToAI(uint16 sTargetID, int amount, AttributeType attributeType /*= AttributeNone*/) +{ + Packet result(AG_NPC_HP_CHANGE); + result << GetID() << sTargetID << m_iHP << amount << uint8(attributeType); + Send_AIServer(&result); +} + +/** +* @brief Changes an NPC's mana. +* +* @param amount The amount to adjust the mana by. +*/ +void CNpc::MSpChange(int amount) +{ + +} + +bool CNpc::CastSkill(Unit * pTarget, uint32 nSkillID) +{ + if (pTarget == nullptr) + return false; + + MagicInstance instance; + + instance.bSendFail = false; + instance.nSkillID = nSkillID; + instance.sCasterID = GetID(); + instance.sTargetID = pTarget->GetID(); + + instance.Run(); + + return (instance.bSkillSuccessful); +} + +float CNpc::GetRewardModifier(uint8 byLevel) +{ + int iLevelDifference = GetLevel() - byLevel; + + if (iLevelDifference <= -14) + return 0.2f; + else if (iLevelDifference <= -8 && iLevelDifference >= -13) + return 0.5f; + else if (iLevelDifference <= -2 && iLevelDifference >= -7) + return 0.8f; + + return 1.0f; +} + +float CNpc::GetPartyRewardModifier(uint32 nPartyLevel, uint32 nPartyMembers) +{ + int iLevelDifference = GetLevel() - (nPartyLevel / nPartyMembers); + + if (iLevelDifference >= 8) + return 1.3f;// was 2.0f edited byBrate + else if (iLevelDifference >= 5) + return 1.2f;// was 1.5f edited byBrate + else if (iLevelDifference >= 2) + return 1.1f;// was 1.2f edited byBrate + + return 1.0f; +} + +/** +* @brief Executes the death action. +* +* @param pKiller The killer. +*/ +void CNpc::OnDeath(Unit *pKiller) +{ + if (m_NpcState == NPC_DEAD || pKiller == nullptr) + return; + + ASSERT(GetMap() != nullptr); + ASSERT(GetRegion() != nullptr); + + m_NpcState = NPC_DEAD; + m_sACPercent = 100; + + if (m_byObjectType == SPECIAL_OBJECT) + { + _OBJECT_EVENT *pEvent = GetMap()->GetObjectEvent(GetProtoID()); + if (pEvent != nullptr) + pEvent->byLife = 0; + } + if (GetProtoID() != 31527 + || GetProtoID() != 31528 + || GetProtoID() != 31529 + || GetProtoID() != 31530) + Unit::OnDeath(pKiller); + OnDeathProcess(pKiller); + + GetRegion()->Remove(TO_NPC(this)); + SetRegion(); + + if(nIsPet && nSerial > 0) + { + CPet * pPet = g_pMain->GetPetPtr(nSerial); + + if(pPet != nullptr) + pPet->Dead(); + } +} + +/** +* @brief Executes the death process. +* +* @param pKiller The killer. +*/ +void CNpc::OnDeathProcess(Unit *pKiller) +{ + if ((TO_NPC(this) == nullptr + || pKiller == nullptr)) + return; + + if (pKiller->GetID() > NPC_BAND) + return; + + CUser * pUser = TO_USER(pKiller); + + if (pUser == nullptr) + return; + + if (!m_bMonster) + { + switch (m_tNpcType) + { + case NPC_BIFROST_MONUMENT: + pUser->BifrostProcess(pUser); + break; + case NPC_CZ_MONUMENT: + CZMonumentProcess(pUser); + break; + case NPC_PVP_MONUMENT: + PVPMonumentProcess(pUser); + break; + case NPC_BATTLE_MONUMENT: + BattleMonumentProcess(pUser); + break; + case NPC_HUMAN_MONUMENT: + NationMonumentProcess(pUser); + break; + case NPC_KARUS_MONUMENT: + NationMonumentProcess(pUser); + break; + case NPC_DESTROYED_ARTIFACT: + pUser->CastleSiegeWarProcess(pUser); + break; + } + } + else if (m_bMonster) + { + if (GetProtoID() == 700 || GetProtoID() == 750 || GetProtoID() == 701 || GetProtoID() == 751) + { + if (pUser->V3_CheckExistEvent(STARTER_SEED_QUEST, 1)) + { + _QUEST_HELPER * pQuestHelper ; + if (pUser->GetNation() == ELMORAD) + pQuestHelper = g_pMain->m_QuestHelperArray.GetData(5005); + else + pQuestHelper = g_pMain->m_QuestHelperArray.GetData(5002); + + pUser->V3_QuestRunEvent(pQuestHelper,pQuestHelper->nEventTriggerIndex); + } + } + + else if (g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID()) != nullptr && pUser->isInPKZone()) + { + g_pMain->SpawnEventNpc(g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sSid, true, GetZoneID(), GetX(), GetY(), GetZ(), g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sCount); + + } + else if (g_pMain->pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN) + { + if (JuraidTempleEventZone()) + { + if (g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID()) != nullptr) + g_pMain->SpawnEventNpc(g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sSid, true, GetZoneID(), GetX(), GetY(), GetZ(), g_pMain->m_MonsterRespawnListArray.GetData(GetProtoID())->sCount,5,60*60,GetNation(),pUser->GetSocketID(),pUser->GetEventRoom()); + + + if (GetProtoID() == 8100 || GetProtoID() == 8102) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom1[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom1[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom1[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom1[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID1[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 1\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID1[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 1\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8101 || GetProtoID () == 8104) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom2[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom2[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID2[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 2\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()] = 0; + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID2[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 2\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8103 || GetProtoID () == 8105) + { + pUser->GetNation() == KARUS ? g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()]++ : g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()]++; + + if ((g_pMain->pTempleEvent.KarusDeathRoom3[pUser->GetEventRoom()] > 3 && pUser->GetNation() == KARUS) + || (g_pMain->pTempleEvent.ElmoDeathRoom3[pUser->GetEventRoom()] > 3 && pUser->GetNation() == ELMORAD)) + { + if (pUser->GetNation() == KARUS) + { + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidKarusGateID3[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... K 3\n"); + return; + pNpc->SendGateFlag(2); + } + else + { + CNpc * pNpc = g_pMain->GetNpcPtr(g_pMain->pTempleEvent.JuraidElmoGateID3[pUser->GetEventRoom()]); + + if(pNpc == nullptr) + printf("Bulunamadi... E 3\n"); + return; + pNpc->SendGateFlag(2); + } + } + } + else if (GetProtoID () == 8106)// Deva + { + g_pMain->pTempleEvent.isDevaControl[GetEventRoom()] = true; + g_pMain->pTempleEvent.isDevaFlag[GetEventRoom()] = true; + g_pMain->pTempleEvent.DevaNation[GetEventRoom()] = pUser->GetNation(); + } + + } + } + else if (m_tNpcType == NPC_CHAOS_STONE && pUser->isInPKZone()) + { + ChaosStoneProcess(pUser,5); + }else if((m_sSid == g_pMain->Zone1Boss[GetEventRoom()] || m_sSid == g_pMain->Zone2Boss[GetEventRoom()] || m_sSid == g_pMain->Zone3Boss[GetEventRoom()]) && (GetZoneID() == ZONE_STONE1 || GetZoneID() == ZONE_STONE2 || GetZoneID() == ZONE_STONE3)) + { + Packet dresult(WIZ_EVENT); + dresult << uint8(TEMPLE_EVENT_FINISH) + << uint8(0) << uint8(0) + << uint8(1) << uint8(20) << uint32(0); + TO_USER(pKiller)->Send(&dresult); + TO_USER(pKiller)->m_TimeMonsterStone = UNIXTIME + 20; + } + + if (g_pMain->m_bForgettenTempleIsActive && GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_ForgettenTempleMonsterList.erase(m_sNid); + + if (pUser->isInParty()) + { + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty != nullptr) + { + for (int i = 0; i < 8; i++) + { + if (pParty->uid[i] >= 0) + { + CUser * pUserRange = g_pMain->GetUserPtr(pParty->uid[i]); + if (!isInRangeSlow(pUserRange, 50.0f) || pUserRange == nullptr) + continue; + + CUser * pUserParty = g_pMain->GetUserPtr(pParty->uid[i]); + pUserParty->V3_MonsterCount(GetProtoID()); + pUserParty->AchieveType2(this); + } + } + } + } + else + { + pUser->V3_MonsterCount(GetProtoID()); + pUser->AchieveType2(this); + } + } + + DateTime time; + string pKillerPartyUsers; + + if (pUser->isInParty()) + { + CUser *pPartyUser; + _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID()); + if (pParty) + { + for (int i = 0; i < MAX_PARTY_USERS; i++) + { + pPartyUser = g_pMain->GetUserPtr(pParty->uid[i]); + if (pPartyUser) + pKillerPartyUsers += string_format("%s,",pPartyUser->GetName().c_str()); + } + } + + if (!pKillerPartyUsers.empty()) + pKillerPartyUsers = pKillerPartyUsers.substr(0,pKillerPartyUsers.length() - 1); + } + + if (pKillerPartyUsers.empty()) + g_pMain->WriteDeathNpcLogFile(string_format("[ %s - %d:%d:%d ] Killer=%s,SID=%d,Target=%s,Zone=%d,X=%d,Z=%d\n",m_bMonster ? "MONSTER" : "NPC",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),GetProtoID(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + else + g_pMain->WriteDeathNpcLogFile(string_format("[ %s - %d:%d:%d ] Killer=%s,KillerParty=%s,SID=%d,Target=%s,Zone=%d,X=%d,Z=%d\n",m_bMonster ? "MONSTER" : "NPC",time.GetHour(),time.GetMinute(),time.GetSecond(),pKiller->GetName().c_str(),pKillerPartyUsers.c_str(),GetProtoID(),GetName().c_str(),GetZoneID(),uint16(GetX()),uint16(GetZ()))); + + InitType3(); + InitType4(false); +} + +void CNpc::InitType3() +{ + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + m_durationalSkills[i].Reset(); + + m_bType3Flag = false; +} + +void CNpc::InitType4(bool bRemoveSavedMagic /*= false*/, uint8 buffType /* = 0 */) +{ + Type4BuffMap buffMap = m_buffMap; // copy the map + + for (auto itr = buffMap.begin(); itr != buffMap.end(); itr++) + { +#ifdef GAMESERVER + if (buffType > 0 && itr->second.m_bBuffType != buffType) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, bRemoveSavedMagic, buffType > 0 ? true : false); +#endif + } +} + +/** +* @brief Executes the Npc respawn. +*/ +void CNpc::OnRespawn() +{ + if (GetProtoID() == BORDER_WAR_MONUMENT_SID + || (g_pMain->m_byBattleOpen == NATION_BATTLE + && (GetProtoID() == ELMORAD_MONUMENT_SID + || GetProtoID() == ASGA_VILLAGE_MONUMENT_SID + || GetProtoID() == RAIBA_VILLAGE_MONUMENT_SID + || GetProtoID() == DODO_CAMP_MONUMENT_SID + || GetProtoID() == LUFERSON_MONUMENT_SID + || GetProtoID() == LINATE_MONUMENT_SID + || GetProtoID() == BELLUA_MONUMENT_SID + || GetProtoID() == LAON_CAMP_MONUMENT_SID))) + { + _MONUMENT_INFORMATION * pData = new _MONUMENT_INFORMATION(); + pData->sSid = GetProtoID(); + pData->sNid = m_sNid; + pData->RepawnedTime = int32(UNIXTIME); + + if (GetProtoID() == DODO_CAMP_MONUMENT_SID || GetProtoID() == LAON_CAMP_MONUMENT_SID) + g_pMain->m_bMiddleStatueNation = m_bNation; + + if (!g_pMain->m_NationMonumentInformationArray.PutData(pData->sSid, pData)) + delete pData; + } + else if (g_pMain->m_bForgettenTempleIsActive && GetZoneID() == ZONE_FORGOTTEN_TEMPLE) + g_pMain->m_ForgettenTempleMonsterList.insert(std::make_pair(m_sNid, GetProtoID())); +} + +/** +* @brief Executes the death process. +* +* @param pUser The User. +* @param MonsterCount The Respawn boss count. +*/ +void CNpc::ChaosStoneProcess(CUser *pUser, uint16 MonsterCount) +{ + if (pUser == nullptr) + return; + + g_pMain->SendNotice("",GetZoneID(), Nation::ALL); + + std::vector MonsterSpawned; + std::vector MonsterSpawnedFamily; + bool bLoopBack = true; + + for (uint8 i = 0; i < MonsterCount;i++) + { + uint32 nMonsterNum = myrand(0, g_pMain->m_MonsterSummonListZoneArray.GetSize()); + _MONSTER_SUMMON_LIST_ZONE * pMonsterSummonListZone = g_pMain->m_MonsterSummonListZoneArray.GetData(nMonsterNum); + + if (pMonsterSummonListZone != nullptr) + { + if (pMonsterSummonListZone->ZoneID == GetZoneID()) + { + if (std::find(MonsterSpawned.begin(),MonsterSpawned.end(),nMonsterNum) == MonsterSpawned.end()) + { + if (std::find(MonsterSpawnedFamily.begin(),MonsterSpawnedFamily.end(),pMonsterSummonListZone->byFamily) == MonsterSpawnedFamily.end()) + { + g_pMain->SpawnEventNpc(pMonsterSummonListZone->sSid, true,GetZoneID(), GetX(), GetY(), GetZ(), 1, CHAOS_STONE_MONSTER_RESPAWN_RADIUS, CHAOS_STONE_MONSTER_LIVE_TIME); + MonsterSpawned.push_back(nMonsterNum); + MonsterSpawnedFamily.push_back(pMonsterSummonListZone->byFamily); + bLoopBack = false; + } + } + } + } + + if (bLoopBack) + i--; + else + bLoopBack = true; + } +} + +/* +* @brief Executes the pvp monument process. +* +* @param pUser The User. +*/ +void CNpc::PVPMonumentProcess(CUser *pUser) +{ + if (pUser == nullptr) + return; + + std::string sKillMonuPvP; + std::string sKillMonuEvent; + std::string sMonuNation; + + Packet result(WIZ_CHAT, uint8(MONUMENT_NOTICE)); + result << uint8(FORCE_CHAT) << pUser->GetNation() << pUser->GetName().c_str(); + g_pMain->Send_Zone(&result, GetZoneID(), nullptr, Nation::ALL); + + if (pUser->GetNation() == KARUS) + sMonuNation = "Karus"; + else + sMonuNation = "Human"; + + sKillMonuPvP = string_format("%s has destroyed the %s. %s nation get +5 NPs per kill!",pUser->GetName().c_str(),GetName().c_str(),sMonuNation.c_str()); + sKillMonuEvent = string_format("%s has destroyed the %s. %s nation get +10 NPs per kill!",pUser->GetName().c_str(),GetName().c_str(),sMonuNation.c_str()); + + if (GetZoneID() == ZONE_RONARK_LAND) + { + g_pMain->m_nPVPMonumentNation[GetZoneID()] = pUser->GetNation(); + g_pMain->SendAnnouncement(sKillMonuPvP.c_str()); + } + else + { + g_pMain->m_nEventMonumentNation[GetZoneID()] = pUser->GetNation(); + g_pMain->SendAnnouncement(sKillMonuEvent.c_str()); + } + + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation(), pUser->GetNation() == KARUS ? MONUMENT_KARUS_SPID : MONUMENT_ELMORAD_SPID); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); +} + +/* +* @brief Executes the battle monument process. +* +* @param pUser The User. +*/ +void CNpc::BattleMonumentProcess(CUser *pUser) +{ + if (pUser && g_pMain->m_byBattleOpen == NATION_BATTLE) + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation(), pUser->GetNation() == KARUS ? MONUMENT_KARUS_SPID : MONUMENT_ELMORAD_SPID); + g_pMain->Announcement(DECLARE_BATTLE_MONUMENT_STATUS, Nation::ALL, m_byTrapNumber, pUser); + + if (pUser->GetNation() == KARUS) + { + g_pMain->m_sKarusMonumentPoint +=2; + g_pMain->m_sKarusMonuments++; + + if (g_pMain->m_sElmoMonuments != 0) + g_pMain->m_sElmoMonuments--; + + if (g_pMain->m_sKarusMonuments >= 7){ + g_pMain->m_sKarusMonumentPoint +=10; + Packet result(WIZ_MAP_EVENT); + result << uint8(3) << uint8(1) << short(15); + g_pMain->Send_Zone(&result,ZONE_BATTLE4); + } + + if (g_pMain->m_sKilledElmoNpc == 3 && g_pMain->m_sKarusMonuments >= 7) + g_pMain->BattleZoneResult(pUser->GetNation()); + + } + else + { + g_pMain->m_sElmoMonumentPoint += 2; + g_pMain->m_sElmoMonuments++; + + if (g_pMain->m_sKarusMonuments != 0) + g_pMain->m_sKarusMonuments--; + + if (g_pMain->m_sElmoMonuments >= 7){ + g_pMain->m_sElmoMonumentPoint +=10; + Packet result(WIZ_MAP_EVENT); + result << uint8(3) << uint8(2) << short(15); + g_pMain->Send_Zone(&result,ZONE_BATTLE4); + } + + if (g_pMain->m_sKilledKarusNpc == 3 && g_pMain->m_sElmoMonuments >= 7) + g_pMain->BattleZoneResult(pUser->GetNation()); + } + + g_pMain->NereidsMonumentEvent(m_byTrapNumber,pUser->GetNation(),nullptr); + + } +} + +/* +* @brief Executes the nation monument process. +* +* @param pUser The User. +*/ +void CNpc::NationMonumentProcess(CUser *pUser) +{ + if (!pUser) + return; + + if (g_pMain->m_byBattleOpen == NATION_BATTLE) + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + g_pMain->Announcement(DECLARE_NATION_MONUMENT_STATUS, Nation::ALL, GetProtoID(), pUser); + + uint16 sSid = 0; + + foreach_stlmap (itr, g_pMain->m_NationMonumentInformationArray) + if (itr->second->sSid == (pUser->GetNation() == KARUS ? GetProtoID() + 10000 : GetProtoID() - 10000)) + sSid = itr->second->sSid; + + if (sSid != 0) + g_pMain->m_NationMonumentInformationArray.DeleteData(sSid); + } + else + { + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + + uint16 sSid = 0; + + foreach_stlmap (itr, g_pMain->m_NationMonumentInformationArray) + if (itr->second->sSid == (pUser->GetNation() == KARUS ? GetProtoID() + 10000 : GetProtoID() - 10000)) + sSid = itr->second->sSid; + + if (sSid != 0) + g_pMain->m_NationMonumentInformationArray.DeleteData(sSid); + } +} + +/* +* @brief Executes the Cz monument process. +* +* @param pUser The User. +*/ +void CNpc::CZMonumentProcess(CUser *pUser) +{ + if (pUser == nullptr) + return; + + std::string sKillMonu; + std::string sRecoMonu; + + sKillMonu = string_format("%s has destroyed the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); + sRecoMonu = string_format("%s has recovered the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); + + g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); + + if (pUser->GetNation() == KARUS) + { + if (GetSpid() == 30092) + { + g_pMain->SendAnnouncement(sKillMonu.c_str()); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); + pUser->SendLoyaltyChange(150); + } + else + { + g_pMain->SendAnnouncement(sRecoMonu.c_str()); + } + } + else + { + if (GetSpid() == 30091) + { + g_pMain->SendAnnouncement(sKillMonu.c_str()); + pUser->GiveItem(BLUE_TREASURE_CHEST,1); + pUser->SendLoyaltyChange(150); + } + else + { + g_pMain->SendAnnouncement(sRecoMonu.c_str()); + } + } +} + + +void CNpc::HPTimeChangeType3() +{ + if (isDead() + || !m_bType3Flag || isPlayer()) + return; + + uint16 totalActiveDurationalSkills = 0, + totalActiveDOTSkills = 0; + + bool bIsDOT = false; + for (int i = 0; i < MAX_TYPE3_REPEAT; i++) + { + MagicType3 * pEffect = &m_durationalSkills[i]; + if (!pEffect->m_byUsed) + continue; + + // Has the required interval elapsed before using this skill? + if ((UNIXTIME - pEffect->m_tHPLastTime) >= pEffect->m_bHPInterval) + { + Unit * pUnit = g_pMain->GetUnitPtr(pEffect->m_sSourceID); + + if (pUnit == nullptr) + continue; + + if (!isInRangeSlow(pUnit, 50.0f)) + m_bType3Flag = false; + + // Reduce the HP + HpChange(pEffect->m_sHPAmount, pUnit); // do we need to specify the source of the DOT? + pEffect->m_tHPLastTime = UNIXTIME; + + if (pEffect->m_sHPAmount < 0) + bIsDOT = true; + + // Has the skill expired yet? + if (++pEffect->m_bTickCount == pEffect->m_bTickLimit) + { + Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_DURATION_EXPIRED)); + + // Healing-over-time skills require the type 100 + if (pEffect->m_sHPAmount > 0) + result << uint8(100); + else // Damage-over-time requires 200. + result << uint8(200); + + Send_AIServer(&result); + + pEffect->Reset(); + } + } + + if (pEffect->m_byUsed) + { + totalActiveDurationalSkills++; + if (pEffect->m_sHPAmount < 0) + totalActiveDOTSkills++; + } + } + + // Have all the skills expired? + if (totalActiveDurationalSkills == 0) + m_bType3Flag = false; +} + +void CNpc::Type4Duration() +{ + Guard lock(m_buffLock); + if (m_buffMap.empty()) + return; + + foreach (itr, m_buffMap) + { + if (itr->second.m_tEndTime > UNIXTIME) + continue; + + CMagicProcess::RemoveType4Buff(itr->first, this, true, false); + break; // only ever handle one at a time with the current logic + } +} + diff --git a/server/scripting/Debug/Lua.Build.CppClean.log b/server/scripting/Debug/Lua.Build.CppClean.log new file mode 100644 index 0000000..00177ff --- /dev/null +++ b/server/scripting/Debug/Lua.Build.CppClean.log @@ -0,0 +1,77 @@ +f:\005server\scrıptıng\debug\lua.pdb +f:\005server\scrıptıng\debug\lua.ıdb +f:\005server\scrıptıng\debug\lobject.obj +f:\005server\scrıptıng\debug\loadlıb.obj +f:\005server\scrıptıng\debug\lmem.obj +f:\005server\scrıptıng\debug\lmathlıb.obj +f:\005server\scrıptıng\debug\llex.obj +f:\005server\scrıptıng\debug\lıolıb.obj +f:\005server\scrıptıng\debug\lınıt.obj +f:\005server\scrıptıng\debug\lgc.obj +f:\005server\scrıptıng\debug\lfunc.obj +f:\005server\scrıptıng\debug\ldump.obj +f:\005server\scrıptıng\debug\ldo.obj +f:\005server\scrıptıng\debug\ldebug.obj +f:\005server\scrıptıng\debug\ldblıb.obj +f:\005server\scrıptıng\debug\lctype.obj +f:\005server\scrıptıng\debug\lcorolıb.obj +f:\005server\scrıptıng\debug\lcode.obj +f:\005server\scrıptıng\debug\lbıtlıb.obj +f:\005server\scrıptıng\debug\lbaselıb.obj +f:\005server\scrıptıng\debug\lauxlıb.obj +f:\005server\scrıptıng\debug\lapı.obj +f:\005server\scrıptıng\debug\lzıo.obj +f:\005server\scrıptıng\debug\lvm.obj +f:\005server\scrıptıng\debug\lundump.obj +f:\005server\scrıptıng\debug\ltm.obj +f:\005server\scrıptıng\debug\ltablıb.obj +f:\005server\scrıptıng\debug\ltable.obj +f:\005server\scrıptıng\debug\lstrlıb.obj +f:\005server\scrıptıng\debug\lstrıng.obj +f:\005server\scrıptıng\debug\lstate.obj +f:\005server\scrıptıng\debug\lparser.obj +f:\005server\scrıptıng\debug\loslıb.obj +f:\005server\scrıptıng\debug\lopcodes.obj +f:\bın\debug\lua.lıb +f:\005server\scripting\debug\vcpkg.applocal.log +f:\005server\server source\scripting\debug\lapi.obj +f:\005server\server source\scripting\debug\lauxlib.obj +f:\005server\server source\scripting\debug\lbaselib.obj +f:\005server\server source\scripting\debug\lbitlib.obj +f:\005server\server source\scripting\debug\lcode.obj +f:\005server\server source\scripting\debug\lcorolib.obj +f:\005server\server source\scripting\debug\lctype.obj +f:\005server\server source\scripting\debug\ldblib.obj +f:\005server\server source\scripting\debug\ldebug.obj +f:\005server\server source\scripting\debug\ldo.obj +f:\005server\server source\scripting\debug\ldump.obj +f:\005server\server source\scripting\debug\lfunc.obj +f:\005server\server source\scripting\debug\lgc.obj +f:\005server\server source\scripting\debug\linit.obj +f:\005server\server source\scripting\debug\liolib.obj +f:\005server\server source\scripting\debug\llex.obj +f:\005server\server source\scripting\debug\lmathlib.obj +f:\005server\server source\scripting\debug\lmem.obj +f:\005server\server source\scripting\debug\loadlib.obj +f:\005server\server source\scripting\debug\lobject.obj +f:\005server\server source\scripting\debug\lopcodes.obj +f:\005server\server source\scripting\debug\loslib.obj +f:\005server\server source\scripting\debug\lparser.obj +f:\005server\server source\scripting\debug\lstate.obj +f:\005server\server source\scripting\debug\lstring.obj +f:\005server\server source\scripting\debug\lstrlib.obj +f:\005server\server source\scripting\debug\ltable.obj +f:\005server\server source\scripting\debug\ltablib.obj +f:\005server\server source\scripting\debug\ltm.obj +f:\005server\server source\scripting\debug\lundump.obj +f:\005server\server source\scripting\debug\lvm.obj +f:\005server\server source\scripting\debug\lzio.obj +f:\005server\server source\scripting\debug\lua.idb +f:\005server\server source\scripting\debug\lua.pdb +f:\005server\server source\scripting\debug\lua.tlog\cl.command.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\cl.read.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\cl.write.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\lib-link.read.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\lib-link.write.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\lib.command.1.tlog +f:\005server\server source\scripting\debug\lua.tlog\lua.write.1u.tlog diff --git a/server/scripting/Debug/Lua.idb b/server/scripting/Debug/Lua.idb new file mode 100644 index 0000000..f137b1f Binary files /dev/null and b/server/scripting/Debug/Lua.idb differ diff --git a/server/scripting/Debug/Lua.log b/server/scripting/Debug/Lua.log new file mode 100644 index 0000000..82309cf --- /dev/null +++ b/server/scripting/Debug/Lua.log @@ -0,0 +1,36 @@ + lapi.c + lauxlib.c + lbaselib.c + lbitlib.c + lcode.c + lcorolib.c + lctype.c + ldblib.c + ldebug.c + ldo.c + ldump.c + lfunc.c + lgc.c + linit.c + liolib.c + llex.c + lmathlib.c + lmem.c + loadlib.c + lobject.c + Generating Code... + Compiling... + lopcodes.c + loslib.c + lparser.c + lstate.c + lstring.c + lstrlib.c + ltable.c + ltablib.c + ltm.c + lundump.c + lvm.c + lzio.c + Generating Code... + Lua.vcxproj -> F:\005SERVER\server source\..\bin\Debug\Lua.lib diff --git a/server/scripting/Debug/Lua.pdb b/server/scripting/Debug/Lua.pdb new file mode 100644 index 0000000..5ea8251 Binary files /dev/null and b/server/scripting/Debug/Lua.pdb differ diff --git a/server/scripting/Debug/Lua.tlog/CL.command.1.tlog b/server/scripting/Debug/Lua.tlog/CL.command.1.tlog new file mode 100644 index 0000000..a98997a Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/CL.command.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/CL.read.1.tlog b/server/scripting/Debug/Lua.tlog/CL.read.1.tlog new file mode 100644 index 0000000..e9f491f Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/CL.read.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/CL.write.1.tlog b/server/scripting/Debug/Lua.tlog/CL.write.1.tlog new file mode 100644 index 0000000..74680e6 Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/CL.write.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/Lib-link.read.1.tlog b/server/scripting/Debug/Lua.tlog/Lib-link.read.1.tlog new file mode 100644 index 0000000..afbc1cf Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/Lib-link.read.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/Lib-link.write.1.tlog b/server/scripting/Debug/Lua.tlog/Lib-link.write.1.tlog new file mode 100644 index 0000000..723d3be Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/Lib-link.write.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/Lib.command.1.tlog b/server/scripting/Debug/Lua.tlog/Lib.command.1.tlog new file mode 100644 index 0000000..31ff386 Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/Lib.command.1.tlog differ diff --git a/server/scripting/Debug/Lua.tlog/Lua.lastbuildstate b/server/scripting/Debug/Lua.tlog/Lua.lastbuildstate new file mode 100644 index 0000000..869aa4e --- /dev/null +++ b/server/scripting/Debug/Lua.tlog/Lua.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Debug|Win32|F:\005SERVER\server source\| diff --git a/server/scripting/Debug/Lua.tlog/Lua.write.1u.tlog b/server/scripting/Debug/Lua.tlog/Lua.write.1u.tlog new file mode 100644 index 0000000..2c45979 Binary files /dev/null and b/server/scripting/Debug/Lua.tlog/Lua.write.1u.tlog differ diff --git a/server/scripting/Debug/Lua.vcxproj.FileListAbsolute.txt b/server/scripting/Debug/Lua.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/scripting/Debug/lapi.obj b/server/scripting/Debug/lapi.obj new file mode 100644 index 0000000..1249f32 Binary files /dev/null and b/server/scripting/Debug/lapi.obj differ diff --git a/server/scripting/Debug/lauxlib.obj b/server/scripting/Debug/lauxlib.obj new file mode 100644 index 0000000..8cbc3de Binary files /dev/null and b/server/scripting/Debug/lauxlib.obj differ diff --git a/server/scripting/Debug/lbaselib.obj b/server/scripting/Debug/lbaselib.obj new file mode 100644 index 0000000..3c30747 Binary files /dev/null and b/server/scripting/Debug/lbaselib.obj differ diff --git a/server/scripting/Debug/lbitlib.obj b/server/scripting/Debug/lbitlib.obj new file mode 100644 index 0000000..05b58b4 Binary files /dev/null and b/server/scripting/Debug/lbitlib.obj differ diff --git a/server/scripting/Debug/lcode.obj b/server/scripting/Debug/lcode.obj new file mode 100644 index 0000000..afe31ee Binary files /dev/null and b/server/scripting/Debug/lcode.obj differ diff --git a/server/scripting/Debug/lcorolib.obj b/server/scripting/Debug/lcorolib.obj new file mode 100644 index 0000000..48beda1 Binary files /dev/null and b/server/scripting/Debug/lcorolib.obj differ diff --git a/server/scripting/Debug/lctype.obj b/server/scripting/Debug/lctype.obj new file mode 100644 index 0000000..bd25453 Binary files /dev/null and b/server/scripting/Debug/lctype.obj differ diff --git a/server/scripting/Debug/ldblib.obj b/server/scripting/Debug/ldblib.obj new file mode 100644 index 0000000..99ae529 Binary files /dev/null and b/server/scripting/Debug/ldblib.obj differ diff --git a/server/scripting/Debug/ldebug.obj b/server/scripting/Debug/ldebug.obj new file mode 100644 index 0000000..d3d6142 Binary files /dev/null and b/server/scripting/Debug/ldebug.obj differ diff --git a/server/scripting/Debug/ldo.obj b/server/scripting/Debug/ldo.obj new file mode 100644 index 0000000..9e4bd78 Binary files /dev/null and b/server/scripting/Debug/ldo.obj differ diff --git a/server/scripting/Debug/ldump.obj b/server/scripting/Debug/ldump.obj new file mode 100644 index 0000000..205f4fe Binary files /dev/null and b/server/scripting/Debug/ldump.obj differ diff --git a/server/scripting/Debug/lfunc.obj b/server/scripting/Debug/lfunc.obj new file mode 100644 index 0000000..11e4029 Binary files /dev/null and b/server/scripting/Debug/lfunc.obj differ diff --git a/server/scripting/Debug/lgc.obj b/server/scripting/Debug/lgc.obj new file mode 100644 index 0000000..5b82177 Binary files /dev/null and b/server/scripting/Debug/lgc.obj differ diff --git a/server/scripting/Debug/linit.obj b/server/scripting/Debug/linit.obj new file mode 100644 index 0000000..9b261ec Binary files /dev/null and b/server/scripting/Debug/linit.obj differ diff --git a/server/scripting/Debug/liolib.obj b/server/scripting/Debug/liolib.obj new file mode 100644 index 0000000..5daafd8 Binary files /dev/null and b/server/scripting/Debug/liolib.obj differ diff --git a/server/scripting/Debug/llex.obj b/server/scripting/Debug/llex.obj new file mode 100644 index 0000000..9732f0c Binary files /dev/null and b/server/scripting/Debug/llex.obj differ diff --git a/server/scripting/Debug/lmathlib.obj b/server/scripting/Debug/lmathlib.obj new file mode 100644 index 0000000..4e29527 Binary files /dev/null and b/server/scripting/Debug/lmathlib.obj differ diff --git a/server/scripting/Debug/lmem.obj b/server/scripting/Debug/lmem.obj new file mode 100644 index 0000000..c31393a Binary files /dev/null and b/server/scripting/Debug/lmem.obj differ diff --git a/server/scripting/Debug/loadlib.obj b/server/scripting/Debug/loadlib.obj new file mode 100644 index 0000000..fbb732c Binary files /dev/null and b/server/scripting/Debug/loadlib.obj differ diff --git a/server/scripting/Debug/lobject.obj b/server/scripting/Debug/lobject.obj new file mode 100644 index 0000000..7cd2d36 Binary files /dev/null and b/server/scripting/Debug/lobject.obj differ diff --git a/server/scripting/Debug/lopcodes.obj b/server/scripting/Debug/lopcodes.obj new file mode 100644 index 0000000..f595366 Binary files /dev/null and b/server/scripting/Debug/lopcodes.obj differ diff --git a/server/scripting/Debug/loslib.obj b/server/scripting/Debug/loslib.obj new file mode 100644 index 0000000..112c91e Binary files /dev/null and b/server/scripting/Debug/loslib.obj differ diff --git a/server/scripting/Debug/lparser.obj b/server/scripting/Debug/lparser.obj new file mode 100644 index 0000000..8e35e8d Binary files /dev/null and b/server/scripting/Debug/lparser.obj differ diff --git a/server/scripting/Debug/lstate.obj b/server/scripting/Debug/lstate.obj new file mode 100644 index 0000000..13cbb7c Binary files /dev/null and b/server/scripting/Debug/lstate.obj differ diff --git a/server/scripting/Debug/lstring.obj b/server/scripting/Debug/lstring.obj new file mode 100644 index 0000000..7b05d03 Binary files /dev/null and b/server/scripting/Debug/lstring.obj differ diff --git a/server/scripting/Debug/lstrlib.obj b/server/scripting/Debug/lstrlib.obj new file mode 100644 index 0000000..08fc09f Binary files /dev/null and b/server/scripting/Debug/lstrlib.obj differ diff --git a/server/scripting/Debug/ltable.obj b/server/scripting/Debug/ltable.obj new file mode 100644 index 0000000..0850722 Binary files /dev/null and b/server/scripting/Debug/ltable.obj differ diff --git a/server/scripting/Debug/ltablib.obj b/server/scripting/Debug/ltablib.obj new file mode 100644 index 0000000..ecef727 Binary files /dev/null and b/server/scripting/Debug/ltablib.obj differ diff --git a/server/scripting/Debug/ltm.obj b/server/scripting/Debug/ltm.obj new file mode 100644 index 0000000..0c7ed1f Binary files /dev/null and b/server/scripting/Debug/ltm.obj differ diff --git a/server/scripting/Debug/lundump.obj b/server/scripting/Debug/lundump.obj new file mode 100644 index 0000000..531b32f Binary files /dev/null and b/server/scripting/Debug/lundump.obj differ diff --git a/server/scripting/Debug/lvm.obj b/server/scripting/Debug/lvm.obj new file mode 100644 index 0000000..cc85a26 Binary files /dev/null and b/server/scripting/Debug/lvm.obj differ diff --git a/server/scripting/Debug/lzio.obj b/server/scripting/Debug/lzio.obj new file mode 100644 index 0000000..ba17e48 Binary files /dev/null and b/server/scripting/Debug/lzio.obj differ diff --git a/server/scripting/Debug/vcpkg.applocal.log b/server/scripting/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/server/scripting/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ + diff --git a/server/scripting/Lua.vcxproj b/server/scripting/Lua.vcxproj new file mode 100644 index 0000000..284695e --- /dev/null +++ b/server/scripting/Lua.vcxproj @@ -0,0 +1,204 @@ + + + + + Debug-XP + Win32 + + + Debug + Win32 + + + Release-XP + Win32 + + + Release + Win32 + + + + {476399DF-6832-45BE-86A7-DF43728B9938} + Lua + 10.0.17763.0 + + + + StaticLibrary + true + v142 + MultiByte + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + false + v142 + true + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + + + + + + + + + + + + + + + + + $(SolutionDir)..\bin\$(Configuration)\ + E:\KO\KO CALISMALAR\boost;$(IncludePath) + E:\KO\KO CALISMALAR\boost\libs;$(LibraryPath) + + + $(SolutionDir)..\bin\$(Configuration)\ + + + $(SolutionDir)..\bin\$(Configuration)\ + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + false + + + true + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + false + + + true + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + false + NotUsing + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + false + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/scripting/Lua.vcxproj.filters b/server/scripting/Lua.vcxproj.filters new file mode 100644 index 0000000..e3c40e4 --- /dev/null +++ b/server/scripting/Lua.vcxproj.filters @@ -0,0 +1,188 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/server/scripting/Lua.vcxproj.user b/server/scripting/Lua.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/server/scripting/Lua.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/server/scripting/Lua/src/Lua.vcxproj b/server/scripting/Lua/src/Lua.vcxproj new file mode 100644 index 0000000..e728ae9 --- /dev/null +++ b/server/scripting/Lua/src/Lua.vcxproj @@ -0,0 +1,196 @@ + + + + + Debug-XP + Win32 + + + Debug + Win32 + + + Release-XP + Win32 + + + Release + Win32 + + + + {476399DF-6832-45BE-86A7-DF43728B9938} + Lua + + + + StaticLibrary + true + v110 + MultiByte + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + false + v110 + true + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + + + + + + + + + + + + + + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + $(SolutionDir)..\bin\$(Configuration)\ + + + $(SolutionDir)..\bin\$(Configuration)\ + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + + + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/scripting/Lua/src/Lua.vcxproj.filters b/server/scripting/Lua/src/Lua.vcxproj.filters new file mode 100644 index 0000000..d92d1c7 --- /dev/null +++ b/server/scripting/Lua/src/Lua.vcxproj.filters @@ -0,0 +1,188 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/server/scripting/Lua/src/Lua.vcxproj.user b/server/scripting/Lua/src/Lua.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/server/scripting/Lua/src/Lua.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/server/scripting/Lua/src/Makefile b/server/scripting/Lua/src/Makefile new file mode 100644 index 0000000..7b4b2b7 --- /dev/null +++ b/server/scripting/Lua/src/Makefile @@ -0,0 +1,187 @@ +# Makefile for building Lua +# See ../doc/readme.html for installation and customization instructions. + +# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + +# Your platform. See PLATS for possible values. +PLAT= none + +CC= gcc +CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) +LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) +LIBS= -lm $(SYSLIBS) $(MYLIBS) + +AR= ar rcu +RANLIB= ranlib +RM= rm -f + +SYSCFLAGS= +SYSLDFLAGS= +SYSLIBS= + +MYCFLAGS= +MYLDFLAGS= +MYLIBS= +MYOBJS= + +# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + +PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + +LUA_A= liblua.a +CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +LIB_O= lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \ + lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o +BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) + +LUA_T= lua +LUA_O= lua.o + +LUAC_T= luac +LUAC_O= luac.o + +ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +ALL_A= $(LUA_A) + +# Targets start here. +default: $(PLAT) + +all: $(ALL_T) + +o: $(ALL_O) + +a: $(ALL_A) + +$(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + +$(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +$(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + +clean: + $(RM) $(ALL_T) $(ALL_O) + +depend: + @$(CC) $(CFLAGS) -MM l*.c + +echo: + @echo "PLAT= $(PLAT)" + @echo "CC= $(CC)" + @echo "CFLAGS= $(CFLAGS)" + @echo "LDFLAGS= $(SYSLDFLAGS)" + @echo "LIBS= $(LIBS)" + @echo "AR= $(AR)" + @echo "RANLIB= $(RANLIB)" + @echo "RM= $(RM)" + +# Convenience targets for popular platforms +ALL= all + +none: + @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" + @echo " $(PLATS)" + +aix: + $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" + +ansi: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_ANSI" + +bsd: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" + +freebsd: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline" + +generic: $(ALL) + +linux: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" + +macosx: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" CC=cc + +mingw: + $(MAKE) "LUA_A=lua52.dll" "LUA_T=lua.exe" \ + "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ + "SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe + $(MAKE) "LUAC_T=luac.exe" luac.exe + +posix: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" + +solaris: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" + +# list targets that do not create files (but not all makes understand .PHONY) +.PHONY: all $(PLATS) default o a clean depend echo none + +# DO NOT DELETE + +lapi.o: lapi.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \ + lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h ltable.h lundump.h \ + lvm.h +lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h +lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h +lbitlib.o: lbitlib.c lua.h luaconf.h lauxlib.h lualib.h +lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ + lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \ + lstring.h ltable.h lvm.h +lcorolib.o: lcorolib.c lua.h luaconf.h lauxlib.h lualib.h +lctype.o: lctype.c lctype.h lua.h luaconf.h llimits.h +ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h +ldebug.o: ldebug.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \ + ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h ldebug.h ldo.h \ + lfunc.h lstring.h lgc.h ltable.h lvm.h +ldo.o: ldo.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \ + lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h \ + lstring.h ltable.h lundump.h lvm.h +ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \ + lzio.h lmem.h lundump.h +lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h \ + lstate.h ltm.h lzio.h lmem.h +lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ + lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h +linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h +liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h +llex.o: llex.c lua.h luaconf.h lctype.h llimits.h ldo.h lobject.h \ + lstate.h ltm.h lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h +lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h +lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h ldo.h lgc.h +loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h +lobject.o: lobject.c lua.h luaconf.h lctype.h llimits.h ldebug.h lstate.h \ + lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h lvm.h +lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h +loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h +lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ + lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lfunc.h \ + lstring.h lgc.h ltable.h +lstate.o: lstate.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \ + ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h lstring.h \ + ltable.h +lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \ + ltm.h lzio.h lstring.h lgc.h +lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h +ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h +ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h +ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \ + lmem.h lstring.h lgc.h ltable.h +lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h +luac.o: luac.c lua.h luaconf.h lauxlib.h lobject.h llimits.h lstate.h \ + ltm.h lzio.h lmem.h lundump.h ldebug.h lopcodes.h +lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \ + llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h +lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ + lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h +lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \ + lzio.h + diff --git a/server/scripting/Lua/src/lapi.c b/server/scripting/Lua/src/lapi.c new file mode 100644 index 0000000..d011431 --- /dev/null +++ b/server/scripting/Lua/src/lapi.c @@ -0,0 +1,1284 @@ +/* +** $Id: lapi.c,v 2.171.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua API +** See Copyright Notice in lua.h +*/ + + +#include +#include + +#define lapi_c +#define LUA_CORE + +#include "lua.h" + +#include "lapi.h" +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" +#include "lundump.h" +#include "lvm.h" + + + +const char lua_ident[] = + "$LuaVersion: " LUA_COPYRIGHT " $" + "$LuaAuthors: " LUA_AUTHORS " $"; + + +/* value at a non-valid index */ +#define NONVALIDVALUE cast(TValue *, luaO_nilobject) + +/* corresponding test */ +#define isvalid(o) ((o) != luaO_nilobject) + +/* test for pseudo index */ +#define ispseudo(i) ((i) <= LUA_REGISTRYINDEX) + +/* test for valid but not pseudo index */ +#define isstackindex(i, o) (isvalid(o) && !ispseudo(i)) + +#define api_checkvalidindex(L, o) api_check(L, isvalid(o), "invalid index") + +#define api_checkstackindex(L, i, o) \ + api_check(L, isstackindex(i, o), "index not in the stack") + + +static TValue *index2addr (lua_State *L, int idx) { + CallInfo *ci = L->ci; + if (idx > 0) { + TValue *o = ci->func + idx; + api_check(L, idx <= ci->top - (ci->func + 1), "unacceptable index"); + if (o >= L->top) return NONVALIDVALUE; + else return o; + } + else if (!ispseudo(idx)) { /* negative index */ + api_check(L, idx != 0 && -idx <= L->top - (ci->func + 1), "invalid index"); + return L->top + idx; + } + else if (idx == LUA_REGISTRYINDEX) + return &G(L)->l_registry; + else { /* upvalues */ + idx = LUA_REGISTRYINDEX - idx; + api_check(L, idx <= MAXUPVAL + 1, "upvalue index too large"); + if (ttislcf(ci->func)) /* light C function? */ + return NONVALIDVALUE; /* it has no upvalues */ + else { + CClosure *func = clCvalue(ci->func); + return (idx <= func->nupvalues) ? &func->upvalue[idx-1] : NONVALIDVALUE; + } + } +} + + +/* +** to be called by 'lua_checkstack' in protected mode, to grow stack +** capturing memory errors +*/ +static void growstack (lua_State *L, void *ud) { + int size = *(int *)ud; + luaD_growstack(L, size); +} + + +LUA_API int lua_checkstack (lua_State *L, int size) { + int res; + CallInfo *ci = L->ci; + lua_lock(L); + if (L->stack_last - L->top > size) /* stack large enough? */ + res = 1; /* yes; check is OK */ + else { /* no; need to grow stack */ + int inuse = cast_int(L->top - L->stack) + EXTRA_STACK; + if (inuse > LUAI_MAXSTACK - size) /* can grow without overflow? */ + res = 0; /* no */ + else /* try to grow stack */ + res = (luaD_rawrunprotected(L, &growstack, &size) == LUA_OK); + } + if (res && ci->top < L->top + size) + ci->top = L->top + size; /* adjust frame top */ + lua_unlock(L); + return res; +} + + +LUA_API void lua_xmove (lua_State *from, lua_State *to, int n) { + int i; + if (from == to) return; + lua_lock(to); + api_checknelems(from, n); + api_check(from, G(from) == G(to), "moving among independent states"); + api_check(from, to->ci->top - to->top >= n, "not enough elements to move"); + from->top -= n; + for (i = 0; i < n; i++) { + setobj2s(to, to->top++, from->top + i); + } + lua_unlock(to); +} + + +LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) { + lua_CFunction old; + lua_lock(L); + old = G(L)->panic; + G(L)->panic = panicf; + lua_unlock(L); + return old; +} + + +LUA_API const lua_Number *lua_version (lua_State *L) { + static const lua_Number version = LUA_VERSION_NUM; + if (L == NULL) return &version; + else return G(L)->version; +} + + + +/* +** basic stack manipulation +*/ + + +/* +** convert an acceptable stack index into an absolute index +*/ +LUA_API int lua_absindex (lua_State *L, int idx) { + return (idx > 0 || ispseudo(idx)) + ? idx + : cast_int(L->top - L->ci->func + idx); +} + + +LUA_API int lua_gettop (lua_State *L) { + return cast_int(L->top - (L->ci->func + 1)); +} + + +LUA_API void lua_settop (lua_State *L, int idx) { + StkId func = L->ci->func; + lua_lock(L); + if (idx >= 0) { + api_check(L, idx <= L->stack_last - (func + 1), "new top too large"); + while (L->top < (func + 1) + idx) + setnilvalue(L->top++); + L->top = (func + 1) + idx; + } + else { + api_check(L, -(idx+1) <= (L->top - (func + 1)), "invalid new top"); + L->top += idx+1; /* `subtract' index (index is negative) */ + } + lua_unlock(L); +} + + +LUA_API void lua_remove (lua_State *L, int idx) { + StkId p; + lua_lock(L); + p = index2addr(L, idx); + api_checkstackindex(L, idx, p); + while (++p < L->top) setobjs2s(L, p-1, p); + L->top--; + lua_unlock(L); +} + + +LUA_API void lua_insert (lua_State *L, int idx) { + StkId p; + StkId q; + lua_lock(L); + p = index2addr(L, idx); + api_checkstackindex(L, idx, p); + for (q = L->top; q > p; q--) /* use L->top as a temporary */ + setobjs2s(L, q, q - 1); + setobjs2s(L, p, L->top); + lua_unlock(L); +} + + +static void moveto (lua_State *L, TValue *fr, int idx) { + TValue *to = index2addr(L, idx); + api_checkvalidindex(L, to); + setobj(L, to, fr); + if (idx < LUA_REGISTRYINDEX) /* function upvalue? */ + luaC_barrier(L, clCvalue(L->ci->func), fr); + /* LUA_REGISTRYINDEX does not need gc barrier + (collector revisits it before finishing collection) */ +} + + +LUA_API void lua_replace (lua_State *L, int idx) { + lua_lock(L); + api_checknelems(L, 1); + moveto(L, L->top - 1, idx); + L->top--; + lua_unlock(L); +} + + +LUA_API void lua_copy (lua_State *L, int fromidx, int toidx) { + TValue *fr; + lua_lock(L); + fr = index2addr(L, fromidx); + moveto(L, fr, toidx); + lua_unlock(L); +} + + +LUA_API void lua_pushvalue (lua_State *L, int idx) { + lua_lock(L); + setobj2s(L, L->top, index2addr(L, idx)); + api_incr_top(L); + lua_unlock(L); +} + + + +/* +** access functions (stack -> C) +*/ + + +LUA_API int lua_type (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + return (isvalid(o) ? ttypenv(o) : LUA_TNONE); +} + + +LUA_API const char *lua_typename (lua_State *L, int t) { + UNUSED(L); + return ttypename(t); +} + + +LUA_API int lua_iscfunction (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + return (ttislcf(o) || (ttisCclosure(o))); +} + + +LUA_API int lua_isnumber (lua_State *L, int idx) { + TValue n; + const TValue *o = index2addr(L, idx); + return tonumber(o, &n); +} + + +LUA_API int lua_isstring (lua_State *L, int idx) { + int t = lua_type(L, idx); + return (t == LUA_TSTRING || t == LUA_TNUMBER); +} + + +LUA_API int lua_isuserdata (lua_State *L, int idx) { + const TValue *o = index2addr(L, idx); + return (ttisuserdata(o) || ttislightuserdata(o)); +} + + +LUA_API int lua_rawequal (lua_State *L, int index1, int index2) { + StkId o1 = index2addr(L, index1); + StkId o2 = index2addr(L, index2); + return (isvalid(o1) && isvalid(o2)) ? luaV_rawequalobj(o1, o2) : 0; +} + + +LUA_API void lua_arith (lua_State *L, int op) { + StkId o1; /* 1st operand */ + StkId o2; /* 2nd operand */ + lua_lock(L); + if (op != LUA_OPUNM) /* all other operations expect two operands */ + api_checknelems(L, 2); + else { /* for unary minus, add fake 2nd operand */ + api_checknelems(L, 1); + setobjs2s(L, L->top, L->top - 1); + L->top++; + } + o1 = L->top - 2; + o2 = L->top - 1; + if (ttisnumber(o1) && ttisnumber(o2)) { + setnvalue(o1, luaO_arith(op, nvalue(o1), nvalue(o2))); + } + else + luaV_arith(L, o1, o1, o2, cast(TMS, op - LUA_OPADD + TM_ADD)); + L->top--; + lua_unlock(L); +} + + +LUA_API int lua_compare (lua_State *L, int index1, int index2, int op) { + StkId o1, o2; + int i = 0; + lua_lock(L); /* may call tag method */ + o1 = index2addr(L, index1); + o2 = index2addr(L, index2); + if (isvalid(o1) && isvalid(o2)) { + switch (op) { + case LUA_OPEQ: i = equalobj(L, o1, o2); break; + case LUA_OPLT: i = luaV_lessthan(L, o1, o2); break; + case LUA_OPLE: i = luaV_lessequal(L, o1, o2); break; + default: api_check(L, 0, "invalid option"); + } + } + lua_unlock(L); + return i; +} + + +LUA_API lua_Number lua_tonumberx (lua_State *L, int idx, int *isnum) { + TValue n; + const TValue *o = index2addr(L, idx); + if (tonumber(o, &n)) { + if (isnum) *isnum = 1; + return nvalue(o); + } + else { + if (isnum) *isnum = 0; + return 0; + } +} + + +LUA_API lua_Integer lua_tointegerx (lua_State *L, int idx, int *isnum) { + TValue n; + const TValue *o = index2addr(L, idx); + if (tonumber(o, &n)) { + lua_Integer res; + lua_Number num = nvalue(o); + lua_number2integer(res, num); + if (isnum) *isnum = 1; + return res; + } + else { + if (isnum) *isnum = 0; + return 0; + } +} + + +LUA_API lua_Unsigned lua_tounsignedx (lua_State *L, int idx, int *isnum) { + TValue n; + const TValue *o = index2addr(L, idx); + if (tonumber(o, &n)) { + lua_Unsigned res; + lua_Number num = nvalue(o); + lua_number2unsigned(res, num); + if (isnum) *isnum = 1; + return res; + } + else { + if (isnum) *isnum = 0; + return 0; + } +} + + +LUA_API int lua_toboolean (lua_State *L, int idx) { + const TValue *o = index2addr(L, idx); + return !l_isfalse(o); +} + + +LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) { + StkId o = index2addr(L, idx); + if (!ttisstring(o)) { + lua_lock(L); /* `luaV_tostring' may create a new string */ + if (!luaV_tostring(L, o)) { /* conversion failed? */ + if (len != NULL) *len = 0; + lua_unlock(L); + return NULL; + } + luaC_checkGC(L); + o = index2addr(L, idx); /* previous call may reallocate the stack */ + lua_unlock(L); + } + if (len != NULL) *len = tsvalue(o)->len; + return svalue(o); +} + + +LUA_API size_t lua_rawlen (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + switch (ttypenv(o)) { + case LUA_TSTRING: return tsvalue(o)->len; + case LUA_TUSERDATA: return uvalue(o)->len; + case LUA_TTABLE: return luaH_getn(hvalue(o)); + default: return 0; + } +} + + +LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + if (ttislcf(o)) return fvalue(o); + else if (ttisCclosure(o)) + return clCvalue(o)->f; + else return NULL; /* not a C function */ +} + + +LUA_API void *lua_touserdata (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + switch (ttypenv(o)) { + case LUA_TUSERDATA: return (rawuvalue(o) + 1); + case LUA_TLIGHTUSERDATA: return pvalue(o); + default: return NULL; + } +} + + +LUA_API lua_State *lua_tothread (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + return (!ttisthread(o)) ? NULL : thvalue(o); +} + + +LUA_API const void *lua_topointer (lua_State *L, int idx) { + StkId o = index2addr(L, idx); + switch (ttype(o)) { + case LUA_TTABLE: return hvalue(o); + case LUA_TLCL: return clLvalue(o); + case LUA_TCCL: return clCvalue(o); + case LUA_TLCF: return cast(void *, cast(size_t, fvalue(o))); + case LUA_TTHREAD: return thvalue(o); + case LUA_TUSERDATA: + case LUA_TLIGHTUSERDATA: + return lua_touserdata(L, idx); + default: return NULL; + } +} + + + +/* +** push functions (C -> stack) +*/ + + +LUA_API void lua_pushnil (lua_State *L) { + lua_lock(L); + setnilvalue(L->top); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_pushnumber (lua_State *L, lua_Number n) { + lua_lock(L); + setnvalue(L->top, n); + luai_checknum(L, L->top, + luaG_runerror(L, "C API - attempt to push a signaling NaN")); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { + lua_lock(L); + setnvalue(L->top, cast_num(n)); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_pushunsigned (lua_State *L, lua_Unsigned u) { + lua_Number n; + lua_lock(L); + n = lua_unsigned2number(u); + setnvalue(L->top, n); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) { + TString *ts; + lua_lock(L); + luaC_checkGC(L); + ts = luaS_newlstr(L, s, len); + setsvalue2s(L, L->top, ts); + api_incr_top(L); + lua_unlock(L); + return getstr(ts); +} + + +LUA_API const char *lua_pushstring (lua_State *L, const char *s) { + if (s == NULL) { + lua_pushnil(L); + return NULL; + } + else { + TString *ts; + lua_lock(L); + luaC_checkGC(L); + ts = luaS_new(L, s); + setsvalue2s(L, L->top, ts); + api_incr_top(L); + lua_unlock(L); + return getstr(ts); + } +} + + +LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt, + va_list argp) { + const char *ret; + lua_lock(L); + luaC_checkGC(L); + ret = luaO_pushvfstring(L, fmt, argp); + lua_unlock(L); + return ret; +} + + +LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) { + const char *ret; + va_list argp; + lua_lock(L); + luaC_checkGC(L); + va_start(argp, fmt); + ret = luaO_pushvfstring(L, fmt, argp); + va_end(argp); + lua_unlock(L); + return ret; +} + + +LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { + lua_lock(L); + if (n == 0) { + setfvalue(L->top, fn); + } + else { + Closure *cl; + api_checknelems(L, n); + api_check(L, n <= MAXUPVAL, "upvalue index too large"); + luaC_checkGC(L); + cl = luaF_newCclosure(L, n); + cl->c.f = fn; + L->top -= n; + while (n--) + setobj2n(L, &cl->c.upvalue[n], L->top + n); + setclCvalue(L, L->top, cl); + } + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_pushboolean (lua_State *L, int b) { + lua_lock(L); + setbvalue(L->top, (b != 0)); /* ensure that true is 1 */ + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_pushlightuserdata (lua_State *L, void *p) { + lua_lock(L); + setpvalue(L->top, p); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API int lua_pushthread (lua_State *L) { + lua_lock(L); + setthvalue(L, L->top, L); + api_incr_top(L); + lua_unlock(L); + return (G(L)->mainthread == L); +} + + + +/* +** get functions (Lua -> stack) +*/ + + +LUA_API void lua_getglobal (lua_State *L, const char *var) { + Table *reg = hvalue(&G(L)->l_registry); + const TValue *gt; /* global table */ + lua_lock(L); + gt = luaH_getint(reg, LUA_RIDX_GLOBALS); + setsvalue2s(L, L->top++, luaS_new(L, var)); + luaV_gettable(L, gt, L->top - 1, L->top - 1); + lua_unlock(L); +} + + +LUA_API void lua_gettable (lua_State *L, int idx) { + StkId t; + lua_lock(L); + t = index2addr(L, idx); + luaV_gettable(L, t, L->top - 1, L->top - 1); + lua_unlock(L); +} + + +LUA_API void lua_getfield (lua_State *L, int idx, const char *k) { + StkId t; + lua_lock(L); + t = index2addr(L, idx); + setsvalue2s(L, L->top, luaS_new(L, k)); + api_incr_top(L); + luaV_gettable(L, t, L->top - 1, L->top - 1); + lua_unlock(L); +} + + +LUA_API void lua_rawget (lua_State *L, int idx) { + StkId t; + lua_lock(L); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + setobj2s(L, L->top - 1, luaH_get(hvalue(t), L->top - 1)); + lua_unlock(L); +} + + +LUA_API void lua_rawgeti (lua_State *L, int idx, int n) { + StkId t; + lua_lock(L); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + setobj2s(L, L->top, luaH_getint(hvalue(t), n)); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_rawgetp (lua_State *L, int idx, const void *p) { + StkId t; + TValue k; + lua_lock(L); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + setpvalue(&k, cast(void *, p)); + setobj2s(L, L->top, luaH_get(hvalue(t), &k)); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API void lua_createtable (lua_State *L, int narray, int nrec) { + Table *t; + lua_lock(L); + luaC_checkGC(L); + t = luaH_new(L); + sethvalue(L, L->top, t); + api_incr_top(L); + if (narray > 0 || nrec > 0) + luaH_resize(L, t, narray, nrec); + lua_unlock(L); +} + + +LUA_API int lua_getmetatable (lua_State *L, int objindex) { + const TValue *obj; + Table *mt = NULL; + int res; + lua_lock(L); + obj = index2addr(L, objindex); + switch (ttypenv(obj)) { + case LUA_TTABLE: + mt = hvalue(obj)->metatable; + break; + case LUA_TUSERDATA: + mt = uvalue(obj)->metatable; + break; + default: + mt = G(L)->mt[ttypenv(obj)]; + break; + } + if (mt == NULL) + res = 0; + else { + sethvalue(L, L->top, mt); + api_incr_top(L); + res = 1; + } + lua_unlock(L); + return res; +} + + +LUA_API void lua_getuservalue (lua_State *L, int idx) { + StkId o; + lua_lock(L); + o = index2addr(L, idx); + api_check(L, ttisuserdata(o), "userdata expected"); + if (uvalue(o)->env) { + sethvalue(L, L->top, uvalue(o)->env); + } else + setnilvalue(L->top); + api_incr_top(L); + lua_unlock(L); +} + + +/* +** set functions (stack -> Lua) +*/ + + +LUA_API void lua_setglobal (lua_State *L, const char *var) { + Table *reg = hvalue(&G(L)->l_registry); + const TValue *gt; /* global table */ + lua_lock(L); + api_checknelems(L, 1); + gt = luaH_getint(reg, LUA_RIDX_GLOBALS); + setsvalue2s(L, L->top++, luaS_new(L, var)); + luaV_settable(L, gt, L->top - 1, L->top - 2); + L->top -= 2; /* pop value and key */ + lua_unlock(L); +} + + +LUA_API void lua_settable (lua_State *L, int idx) { + StkId t; + lua_lock(L); + api_checknelems(L, 2); + t = index2addr(L, idx); + luaV_settable(L, t, L->top - 2, L->top - 1); + L->top -= 2; /* pop index and value */ + lua_unlock(L); +} + + +LUA_API void lua_setfield (lua_State *L, int idx, const char *k) { + StkId t; + lua_lock(L); + api_checknelems(L, 1); + t = index2addr(L, idx); + setsvalue2s(L, L->top++, luaS_new(L, k)); + luaV_settable(L, t, L->top - 1, L->top - 2); + L->top -= 2; /* pop value and key */ + lua_unlock(L); +} + + +LUA_API void lua_rawset (lua_State *L, int idx) { + StkId t; + lua_lock(L); + api_checknelems(L, 2); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + setobj2t(L, luaH_set(L, hvalue(t), L->top-2), L->top-1); + invalidateTMcache(hvalue(t)); + luaC_barrierback(L, gcvalue(t), L->top-1); + L->top -= 2; + lua_unlock(L); +} + + +LUA_API void lua_rawseti (lua_State *L, int idx, int n) { + StkId t; + lua_lock(L); + api_checknelems(L, 1); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + luaH_setint(L, hvalue(t), n, L->top - 1); + luaC_barrierback(L, gcvalue(t), L->top-1); + L->top--; + lua_unlock(L); +} + + +LUA_API void lua_rawsetp (lua_State *L, int idx, const void *p) { + StkId t; + TValue k; + lua_lock(L); + api_checknelems(L, 1); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + setpvalue(&k, cast(void *, p)); + setobj2t(L, luaH_set(L, hvalue(t), &k), L->top - 1); + luaC_barrierback(L, gcvalue(t), L->top - 1); + L->top--; + lua_unlock(L); +} + + +LUA_API int lua_setmetatable (lua_State *L, int objindex) { + TValue *obj; + Table *mt; + lua_lock(L); + api_checknelems(L, 1); + obj = index2addr(L, objindex); + if (ttisnil(L->top - 1)) + mt = NULL; + else { + api_check(L, ttistable(L->top - 1), "table expected"); + mt = hvalue(L->top - 1); + } + switch (ttypenv(obj)) { + case LUA_TTABLE: { + hvalue(obj)->metatable = mt; + if (mt) { + luaC_objbarrierback(L, gcvalue(obj), mt); + luaC_checkfinalizer(L, gcvalue(obj), mt); + } + break; + } + case LUA_TUSERDATA: { + uvalue(obj)->metatable = mt; + if (mt) { + luaC_objbarrier(L, rawuvalue(obj), mt); + luaC_checkfinalizer(L, gcvalue(obj), mt); + } + break; + } + default: { + G(L)->mt[ttypenv(obj)] = mt; + break; + } + } + L->top--; + lua_unlock(L); + return 1; +} + + +LUA_API void lua_setuservalue (lua_State *L, int idx) { + StkId o; + lua_lock(L); + api_checknelems(L, 1); + o = index2addr(L, idx); + api_check(L, ttisuserdata(o), "userdata expected"); + if (ttisnil(L->top - 1)) + uvalue(o)->env = NULL; + else { + api_check(L, ttistable(L->top - 1), "table expected"); + uvalue(o)->env = hvalue(L->top - 1); + luaC_objbarrier(L, gcvalue(o), hvalue(L->top - 1)); + } + L->top--; + lua_unlock(L); +} + + +/* +** `load' and `call' functions (run Lua code) +*/ + + +#define checkresults(L,na,nr) \ + api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)), \ + "results from function overflow current stack size") + + +LUA_API int lua_getctx (lua_State *L, int *ctx) { + if (L->ci->callstatus & CIST_YIELDED) { + if (ctx) *ctx = L->ci->u.c.ctx; + return L->ci->u.c.status; + } + else return LUA_OK; +} + + +LUA_API void lua_callk (lua_State *L, int nargs, int nresults, int ctx, + lua_CFunction k) { + StkId func; + lua_lock(L); + api_check(L, k == NULL || !isLua(L->ci), + "cannot use continuations inside hooks"); + api_checknelems(L, nargs+1); + api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread"); + checkresults(L, nargs, nresults); + func = L->top - (nargs+1); + if (k != NULL && L->nny == 0) { /* need to prepare continuation? */ + L->ci->u.c.k = k; /* save continuation */ + L->ci->u.c.ctx = ctx; /* save context */ + luaD_call(L, func, nresults, 1); /* do the call */ + } + else /* no continuation or no yieldable */ + luaD_call(L, func, nresults, 0); /* just do the call */ + adjustresults(L, nresults); + lua_unlock(L); +} + + + +/* +** Execute a protected call. +*/ +struct CallS { /* data to `f_call' */ + StkId func; + int nresults; +}; + + +static void f_call (lua_State *L, void *ud) { + struct CallS *c = cast(struct CallS *, ud); + luaD_call(L, c->func, c->nresults, 0); +} + + + +LUA_API int lua_pcallk (lua_State *L, int nargs, int nresults, int errfunc, + int ctx, lua_CFunction k) { + struct CallS c; + int status; + ptrdiff_t func; + lua_lock(L); + api_check(L, k == NULL || !isLua(L->ci), + "cannot use continuations inside hooks"); + api_checknelems(L, nargs+1); + api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread"); + checkresults(L, nargs, nresults); + if (errfunc == 0) + func = 0; + else { + StkId o = index2addr(L, errfunc); + api_checkstackindex(L, errfunc, o); + func = savestack(L, o); + } + c.func = L->top - (nargs+1); /* function to be called */ + if (k == NULL || L->nny > 0) { /* no continuation or no yieldable? */ + c.nresults = nresults; /* do a 'conventional' protected call */ + status = luaD_pcall(L, f_call, &c, savestack(L, c.func), func); + } + else { /* prepare continuation (call is already protected by 'resume') */ + CallInfo *ci = L->ci; + ci->u.c.k = k; /* save continuation */ + ci->u.c.ctx = ctx; /* save context */ + /* save information for error recovery */ + ci->extra = savestack(L, c.func); + ci->u.c.old_allowhook = L->allowhook; + ci->u.c.old_errfunc = L->errfunc; + L->errfunc = func; + /* mark that function may do error recovery */ + ci->callstatus |= CIST_YPCALL; + luaD_call(L, c.func, nresults, 1); /* do the call */ + ci->callstatus &= ~CIST_YPCALL; + L->errfunc = ci->u.c.old_errfunc; + status = LUA_OK; /* if it is here, there were no errors */ + } + adjustresults(L, nresults); + lua_unlock(L); + return status; +} + + +LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data, + const char *chunkname, const char *mode) { + ZIO z; + int status; + lua_lock(L); + if (!chunkname) chunkname = "?"; + luaZ_init(L, &z, reader, data); + status = luaD_protectedparser(L, &z, chunkname, mode); + if (status == LUA_OK) { /* no errors? */ + LClosure *f = clLvalue(L->top - 1); /* get newly created function */ + if (f->nupvalues == 1) { /* does it have one upvalue? */ + /* get global table from registry */ + Table *reg = hvalue(&G(L)->l_registry); + const TValue *gt = luaH_getint(reg, LUA_RIDX_GLOBALS); + /* set global table as 1st upvalue of 'f' (may be LUA_ENV) */ + setobj(L, f->upvals[0]->v, gt); + luaC_barrier(L, f->upvals[0], gt); + } + } + lua_unlock(L); + return status; +} + + +LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data) { + int status; + TValue *o; + lua_lock(L); + api_checknelems(L, 1); + o = L->top - 1; + if (isLfunction(o)) + status = luaU_dump(L, getproto(o), writer, data, 0); + else + status = 1; + lua_unlock(L); + return status; +} + + +LUA_API int lua_status (lua_State *L) { + return L->status; +} + + +/* +** Garbage-collection function +*/ + +LUA_API int lua_gc (lua_State *L, int what, int data) { + int res = 0; + global_State *g; + lua_lock(L); + g = G(L); + switch (what) { + case LUA_GCSTOP: { + g->gcrunning = 0; + break; + } + case LUA_GCRESTART: { + luaE_setdebt(g, 0); + g->gcrunning = 1; + break; + } + case LUA_GCCOLLECT: { + luaC_fullgc(L, 0); + break; + } + case LUA_GCCOUNT: { + /* GC values are expressed in Kbytes: #bytes/2^10 */ + res = cast_int(gettotalbytes(g) >> 10); + break; + } + case LUA_GCCOUNTB: { + res = cast_int(gettotalbytes(g) & 0x3ff); + break; + } + case LUA_GCSTEP: { + if (g->gckind == KGC_GEN) { /* generational mode? */ + res = (g->GCestimate == 0); /* true if it will do major collection */ + luaC_forcestep(L); /* do a single step */ + } + else { + lu_mem debt = cast(lu_mem, data) * 1024 - GCSTEPSIZE; + if (g->gcrunning) + debt += g->GCdebt; /* include current debt */ + luaE_setdebt(g, debt); + luaC_forcestep(L); + if (g->gcstate == GCSpause) /* end of cycle? */ + res = 1; /* signal it */ + } + break; + } + case LUA_GCSETPAUSE: { + res = g->gcpause; + g->gcpause = data; + break; + } + case LUA_GCSETMAJORINC: { + res = g->gcmajorinc; + g->gcmajorinc = data; + break; + } + case LUA_GCSETSTEPMUL: { + res = g->gcstepmul; + g->gcstepmul = data; + break; + } + case LUA_GCISRUNNING: { + res = g->gcrunning; + break; + } + case LUA_GCGEN: { /* change collector to generational mode */ + luaC_changemode(L, KGC_GEN); + break; + } + case LUA_GCINC: { /* change collector to incremental mode */ + luaC_changemode(L, KGC_NORMAL); + break; + } + default: res = -1; /* invalid option */ + } + lua_unlock(L); + return res; +} + + + +/* +** miscellaneous functions +*/ + + +LUA_API int lua_error (lua_State *L) { + lua_lock(L); + api_checknelems(L, 1); + luaG_errormsg(L); + /* code unreachable; will unlock when control actually leaves the kernel */ + return 0; /* to avoid warnings */ +} + + +LUA_API int lua_next (lua_State *L, int idx) { + StkId t; + int more; + lua_lock(L); + t = index2addr(L, idx); + api_check(L, ttistable(t), "table expected"); + more = luaH_next(L, hvalue(t), L->top - 1); + if (more) { + api_incr_top(L); + } + else /* no more elements */ + L->top -= 1; /* remove key */ + lua_unlock(L); + return more; +} + + +LUA_API void lua_concat (lua_State *L, int n) { + lua_lock(L); + api_checknelems(L, n); + if (n >= 2) { + luaC_checkGC(L); + luaV_concat(L, n); + } + else if (n == 0) { /* push empty string */ + setsvalue2s(L, L->top, luaS_newlstr(L, "", 0)); + api_incr_top(L); + } + /* else n == 1; nothing to do */ + lua_unlock(L); +} + + +LUA_API void lua_len (lua_State *L, int idx) { + StkId t; + lua_lock(L); + t = index2addr(L, idx); + luaV_objlen(L, L->top, t); + api_incr_top(L); + lua_unlock(L); +} + + +LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) { + lua_Alloc f; + lua_lock(L); + if (ud) *ud = G(L)->ud; + f = G(L)->frealloc; + lua_unlock(L); + return f; +} + + +LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) { + lua_lock(L); + G(L)->ud = ud; + G(L)->frealloc = f; + lua_unlock(L); +} + + +LUA_API void *lua_newuserdata (lua_State *L, size_t size) { + Udata *u; + lua_lock(L); + luaC_checkGC(L); + u = luaS_newudata(L, size, NULL); + setuvalue(L, L->top, u); + api_incr_top(L); + lua_unlock(L); + return u + 1; +} + + + +static const char *aux_upvalue (StkId fi, int n, TValue **val, + GCObject **owner) { + switch (ttype(fi)) { + case LUA_TCCL: { /* C closure */ + CClosure *f = clCvalue(fi); + if (!(1 <= n && n <= f->nupvalues)) return NULL; + *val = &f->upvalue[n-1]; + if (owner) *owner = obj2gco(f); + return ""; + } + case LUA_TLCL: { /* Lua closure */ + LClosure *f = clLvalue(fi); + TString *name; + Proto *p = f->p; + if (!(1 <= n && n <= p->sizeupvalues)) return NULL; + *val = f->upvals[n-1]->v; + if (owner) *owner = obj2gco(f->upvals[n - 1]); + name = p->upvalues[n-1].name; + return (name == NULL) ? "" : getstr(name); + } + default: return NULL; /* not a closure */ + } +} + + +LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) { + const char *name; + TValue *val = NULL; /* to avoid warnings */ + lua_lock(L); + name = aux_upvalue(index2addr(L, funcindex), n, &val, NULL); + if (name) { + setobj2s(L, L->top, val); + api_incr_top(L); + } + lua_unlock(L); + return name; +} + + +LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) { + const char *name; + TValue *val = NULL; /* to avoid warnings */ + GCObject *owner = NULL; /* to avoid warnings */ + StkId fi; + lua_lock(L); + fi = index2addr(L, funcindex); + api_checknelems(L, 1); + name = aux_upvalue(fi, n, &val, &owner); + if (name) { + L->top--; + setobj(L, val, L->top); + luaC_barrier(L, owner, L->top); + } + lua_unlock(L); + return name; +} + + +static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) { + LClosure *f; + StkId fi = index2addr(L, fidx); + api_check(L, ttisLclosure(fi), "Lua function expected"); + f = clLvalue(fi); + api_check(L, (1 <= n && n <= f->p->sizeupvalues), "invalid upvalue index"); + if (pf) *pf = f; + return &f->upvals[n - 1]; /* get its upvalue pointer */ +} + + +LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) { + StkId fi = index2addr(L, fidx); + switch (ttype(fi)) { + case LUA_TLCL: { /* lua closure */ + return *getupvalref(L, fidx, n, NULL); + } + case LUA_TCCL: { /* C closure */ + CClosure *f = clCvalue(fi); + api_check(L, 1 <= n && n <= f->nupvalues, "invalid upvalue index"); + return &f->upvalue[n - 1]; + } + default: { + api_check(L, 0, "closure expected"); + return NULL; + } + } +} + + +LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1, + int fidx2, int n2) { + LClosure *f1; + UpVal **up1 = getupvalref(L, fidx1, n1, &f1); + UpVal **up2 = getupvalref(L, fidx2, n2, NULL); + *up1 = *up2; + luaC_objbarrier(L, f1, *up2); +} + diff --git a/server/scripting/Lua/src/lapi.h b/server/scripting/Lua/src/lapi.h new file mode 100644 index 0000000..c7d34ad --- /dev/null +++ b/server/scripting/Lua/src/lapi.h @@ -0,0 +1,24 @@ +/* +** $Id: lapi.h,v 2.7.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions from Lua API +** See Copyright Notice in lua.h +*/ + +#ifndef lapi_h +#define lapi_h + + +#include "llimits.h" +#include "lstate.h" + +#define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \ + "stack overflow");} + +#define adjustresults(L,nres) \ + { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; } + +#define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \ + "not enough elements in the stack") + + +#endif diff --git a/server/scripting/Lua/src/lauxlib.c b/server/scripting/Lua/src/lauxlib.c new file mode 100644 index 0000000..b00f8c7 --- /dev/null +++ b/server/scripting/Lua/src/lauxlib.c @@ -0,0 +1,959 @@ +/* +** $Id: lauxlib.c,v 1.248.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include +#include +#include + + +/* This file uses only the official API of Lua. +** Any function declared here could be written as an application function. +*/ + +#define lauxlib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" + + +/* +** {====================================================== +** Traceback +** ======================================================= +*/ + + +#define LEVELS1 12 /* size of the first part of the stack */ +#define LEVELS2 10 /* size of the second part of the stack */ + + + +/* +** search for 'objidx' in table at index -1. +** return 1 + string at top if find a good name. +*/ +static int findfield (lua_State *L, int objidx, int level) { + if (level == 0 || !lua_istable(L, -1)) + return 0; /* not found */ + lua_pushnil(L); /* start 'next' loop */ + while (lua_next(L, -2)) { /* for each pair in table */ + if (lua_type(L, -2) == LUA_TSTRING) { /* ignore non-string keys */ + if (lua_rawequal(L, objidx, -1)) { /* found object? */ + lua_pop(L, 1); /* remove value (but keep name) */ + return 1; + } + else if (findfield(L, objidx, level - 1)) { /* try recursively */ + lua_remove(L, -2); /* remove table (but keep name) */ + lua_pushliteral(L, "."); + lua_insert(L, -2); /* place '.' between the two names */ + lua_concat(L, 3); + return 1; + } + } + lua_pop(L, 1); /* remove value */ + } + return 0; /* not found */ +} + + +static int pushglobalfuncname (lua_State *L, lua_Debug *ar) { + int top = lua_gettop(L); + lua_getinfo(L, "f", ar); /* push function */ + lua_pushglobaltable(L); + if (findfield(L, top + 1, 2)) { + lua_copy(L, -1, top + 1); /* move name to proper place */ + lua_pop(L, 2); /* remove pushed values */ + return 1; + } + else { + lua_settop(L, top); /* remove function and global table */ + return 0; + } +} + + +static void pushfuncname (lua_State *L, lua_Debug *ar) { + if (*ar->namewhat != '\0') /* is there a name? */ + lua_pushfstring(L, "function " LUA_QS, ar->name); + else if (*ar->what == 'm') /* main? */ + lua_pushliteral(L, "main chunk"); + else if (*ar->what == 'C') { + if (pushglobalfuncname(L, ar)) { + lua_pushfstring(L, "function " LUA_QS, lua_tostring(L, -1)); + lua_remove(L, -2); /* remove name */ + } + else + lua_pushliteral(L, "?"); + } + else + lua_pushfstring(L, "function <%s:%d>", ar->short_src, ar->linedefined); +} + + +static int countlevels (lua_State *L) { + lua_Debug ar; + int li = 1, le = 1; + /* find an upper bound */ + while (lua_getstack(L, le, &ar)) { li = le; le *= 2; } + /* do a binary search */ + while (li < le) { + int m = (li + le)/2; + if (lua_getstack(L, m, &ar)) li = m + 1; + else le = m; + } + return le - 1; +} + + +LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1, + const char *msg, int level) { + lua_Debug ar; + int top = lua_gettop(L); + int numlevels = countlevels(L1); + int mark = (numlevels > LEVELS1 + LEVELS2) ? LEVELS1 : 0; + if (msg) lua_pushfstring(L, "%s\n", msg); + lua_pushliteral(L, "stack traceback:"); + while (lua_getstack(L1, level++, &ar)) { + if (level == mark) { /* too many levels? */ + lua_pushliteral(L, "\n\t..."); /* add a '...' */ + level = numlevels - LEVELS2; /* and skip to last ones */ + } + else { + lua_getinfo(L1, "Slnt", &ar); + lua_pushfstring(L, "\n\t%s:", ar.short_src); + if (ar.currentline > 0) + lua_pushfstring(L, "%d:", ar.currentline); + lua_pushliteral(L, " in "); + pushfuncname(L, &ar); + if (ar.istailcall) + lua_pushliteral(L, "\n\t(...tail calls...)"); + lua_concat(L, lua_gettop(L) - top); + } + } + lua_concat(L, lua_gettop(L) - top); +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Error-report functions +** ======================================================= +*/ + +LUALIB_API int luaL_argerror (lua_State *L, int narg, const char *extramsg) { + lua_Debug ar; + if (!lua_getstack(L, 0, &ar)) /* no stack frame? */ + return luaL_error(L, "bad argument #%d (%s)", narg, extramsg); + lua_getinfo(L, "n", &ar); + if (strcmp(ar.namewhat, "method") == 0) { + narg--; /* do not count `self' */ + if (narg == 0) /* error is in the self argument itself? */ + return luaL_error(L, "calling " LUA_QS " on bad self (%s)", + ar.name, extramsg); + } + if (ar.name == NULL) + ar.name = (pushglobalfuncname(L, &ar)) ? lua_tostring(L, -1) : "?"; + return luaL_error(L, "bad argument #%d to " LUA_QS " (%s)", + narg, ar.name, extramsg); +} + + +static int typeerror (lua_State *L, int narg, const char *tname) { + const char *msg = lua_pushfstring(L, "%s expected, got %s", + tname, luaL_typename(L, narg)); + return luaL_argerror(L, narg, msg); +} + + +static void tag_error (lua_State *L, int narg, int tag) { + typeerror(L, narg, lua_typename(L, tag)); +} + + +LUALIB_API void luaL_where (lua_State *L, int level) { + lua_Debug ar; + if (lua_getstack(L, level, &ar)) { /* check function at level */ + lua_getinfo(L, "Sl", &ar); /* get info about it */ + if (ar.currentline > 0) { /* is there info? */ + lua_pushfstring(L, "%s:%d: ", ar.short_src, ar.currentline); + return; + } + } + lua_pushliteral(L, ""); /* else, no information available... */ +} + + +LUALIB_API int luaL_error (lua_State *L, const char *fmt, ...) { + va_list argp; + va_start(argp, fmt); + luaL_where(L, 1); + lua_pushvfstring(L, fmt, argp); + va_end(argp); + lua_concat(L, 2); + return lua_error(L); +} + + +LUALIB_API int luaL_fileresult (lua_State *L, int stat, const char *fname) { + int en = errno; /* calls to Lua API may change this value */ + if (stat) { + lua_pushboolean(L, 1); + return 1; + } + else { + lua_pushnil(L); + if (fname) + lua_pushfstring(L, "%s: %s", fname, strerror(en)); + else + lua_pushstring(L, strerror(en)); + lua_pushinteger(L, en); + return 3; + } +} + + +#if !defined(inspectstat) /* { */ + +#if defined(LUA_USE_POSIX) + +#include + +/* +** use appropriate macros to interpret 'pclose' return status +*/ +#define inspectstat(stat,what) \ + if (WIFEXITED(stat)) { stat = WEXITSTATUS(stat); } \ + else if (WIFSIGNALED(stat)) { stat = WTERMSIG(stat); what = "signal"; } + +#else + +#define inspectstat(stat,what) /* no op */ + +#endif + +#endif /* } */ + + +LUALIB_API int luaL_execresult (lua_State *L, int stat) { + const char *what = "exit"; /* type of termination */ + if (stat == -1) /* error? */ + return luaL_fileresult(L, 0, NULL); + else { + inspectstat(stat, what); /* interpret result */ + if (*what == 'e' && stat == 0) /* successful termination? */ + lua_pushboolean(L, 1); + else + lua_pushnil(L); + lua_pushstring(L, what); + lua_pushinteger(L, stat); + return 3; /* return true/nil,what,code */ + } +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Userdata's metatable manipulation +** ======================================================= +*/ + +LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) { + luaL_getmetatable(L, tname); /* try to get metatable */ + if (!lua_isnil(L, -1)) /* name already in use? */ + return 0; /* leave previous value on top, but return 0 */ + lua_pop(L, 1); + lua_newtable(L); /* create metatable */ + lua_pushvalue(L, -1); + lua_setfield(L, LUA_REGISTRYINDEX, tname); /* registry.name = metatable */ + return 1; +} + + +LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname) { + luaL_getmetatable(L, tname); + lua_setmetatable(L, -2); +} + + +LUALIB_API void *luaL_testudata (lua_State *L, int ud, const char *tname) { + void *p = lua_touserdata(L, ud); + if (p != NULL) { /* value is a userdata? */ + if (lua_getmetatable(L, ud)) { /* does it have a metatable? */ + luaL_getmetatable(L, tname); /* get correct metatable */ + if (!lua_rawequal(L, -1, -2)) /* not the same? */ + p = NULL; /* value is a userdata with wrong metatable */ + lua_pop(L, 2); /* remove both metatables */ + return p; + } + } + return NULL; /* value is not a userdata with a metatable */ +} + + +LUALIB_API void *luaL_checkudata (lua_State *L, int ud, const char *tname) { + void *p = luaL_testudata(L, ud, tname); + if (p == NULL) typeerror(L, ud, tname); + return p; +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Argument check functions +** ======================================================= +*/ + +LUALIB_API int luaL_checkoption (lua_State *L, int narg, const char *def, + const char *const lst[]) { + const char *name = (def) ? luaL_optstring(L, narg, def) : + luaL_checkstring(L, narg); + int i; + for (i=0; lst[i]; i++) + if (strcmp(lst[i], name) == 0) + return i; + return luaL_argerror(L, narg, + lua_pushfstring(L, "invalid option " LUA_QS, name)); +} + + +LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *msg) { + /* keep some extra space to run error routines, if needed */ + const int extra = LUA_MINSTACK; + if (!lua_checkstack(L, space + extra)) { + if (msg) + luaL_error(L, "stack overflow (%s)", msg); + else + luaL_error(L, "stack overflow"); + } +} + + +LUALIB_API void luaL_checktype (lua_State *L, int narg, int t) { + if (lua_type(L, narg) != t) + tag_error(L, narg, t); +} + + +LUALIB_API void luaL_checkany (lua_State *L, int narg) { + if (lua_type(L, narg) == LUA_TNONE) + luaL_argerror(L, narg, "value expected"); +} + + +LUALIB_API const char *luaL_checklstring (lua_State *L, int narg, size_t *len) { + const char *s = lua_tolstring(L, narg, len); + if (!s) tag_error(L, narg, LUA_TSTRING); + return s; +} + + +LUALIB_API const char *luaL_optlstring (lua_State *L, int narg, + const char *def, size_t *len) { + if (lua_isnoneornil(L, narg)) { + if (len) + *len = (def ? strlen(def) : 0); + return def; + } + else return luaL_checklstring(L, narg, len); +} + + +LUALIB_API lua_Number luaL_checknumber (lua_State *L, int narg) { + int isnum; + lua_Number d = lua_tonumberx(L, narg, &isnum); + if (!isnum) + tag_error(L, narg, LUA_TNUMBER); + return d; +} + + +LUALIB_API lua_Number luaL_optnumber (lua_State *L, int narg, lua_Number def) { + return luaL_opt(L, luaL_checknumber, narg, def); +} + + +LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int narg) { + int isnum; + lua_Integer d = lua_tointegerx(L, narg, &isnum); + if (!isnum) + tag_error(L, narg, LUA_TNUMBER); + return d; +} + + +LUALIB_API lua_Unsigned luaL_checkunsigned (lua_State *L, int narg) { + int isnum; + lua_Unsigned d = lua_tounsignedx(L, narg, &isnum); + if (!isnum) + tag_error(L, narg, LUA_TNUMBER); + return d; +} + + +LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int narg, + lua_Integer def) { + return luaL_opt(L, luaL_checkinteger, narg, def); +} + + +LUALIB_API lua_Unsigned luaL_optunsigned (lua_State *L, int narg, + lua_Unsigned def) { + return luaL_opt(L, luaL_checkunsigned, narg, def); +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +/* +** check whether buffer is using a userdata on the stack as a temporary +** buffer +*/ +#define buffonstack(B) ((B)->b != (B)->initb) + + +/* +** returns a pointer to a free area with at least 'sz' bytes +*/ +LUALIB_API char *luaL_prepbuffsize (luaL_Buffer *B, size_t sz) { + lua_State *L = B->L; + if (B->size - B->n < sz) { /* not enough space? */ + char *newbuff; + size_t newsize = B->size * 2; /* double buffer size */ + if (newsize - B->n < sz) /* not big enough? */ + newsize = B->n + sz; + if (newsize < B->n || newsize - B->n < sz) + luaL_error(L, "buffer too large"); + /* create larger buffer */ + newbuff = (char *)lua_newuserdata(L, newsize * sizeof(char)); + /* move content to new buffer */ + memcpy(newbuff, B->b, B->n * sizeof(char)); + if (buffonstack(B)) + lua_remove(L, -2); /* remove old buffer */ + B->b = newbuff; + B->size = newsize; + } + return &B->b[B->n]; +} + + +LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { + char *b = luaL_prepbuffsize(B, l); + memcpy(b, s, l * sizeof(char)); + luaL_addsize(B, l); +} + + +LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) { + luaL_addlstring(B, s, strlen(s)); +} + + +LUALIB_API void luaL_pushresult (luaL_Buffer *B) { + lua_State *L = B->L; + lua_pushlstring(L, B->b, B->n); + if (buffonstack(B)) + lua_remove(L, -2); /* remove old buffer */ +} + + +LUALIB_API void luaL_pushresultsize (luaL_Buffer *B, size_t sz) { + luaL_addsize(B, sz); + luaL_pushresult(B); +} + + +LUALIB_API void luaL_addvalue (luaL_Buffer *B) { + lua_State *L = B->L; + size_t l; + const char *s = lua_tolstring(L, -1, &l); + if (buffonstack(B)) + lua_insert(L, -2); /* put value below buffer */ + luaL_addlstring(B, s, l); + lua_remove(L, (buffonstack(B)) ? -2 : -1); /* remove value */ +} + + +LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) { + B->L = L; + B->b = B->initb; + B->n = 0; + B->size = LUAL_BUFFERSIZE; +} + + +LUALIB_API char *luaL_buffinitsize (lua_State *L, luaL_Buffer *B, size_t sz) { + luaL_buffinit(L, B); + return luaL_prepbuffsize(B, sz); +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Reference system +** ======================================================= +*/ + +/* index of free-list header */ +#define freelist 0 + + +LUALIB_API int luaL_ref (lua_State *L, int t) { + int ref; + if (lua_isnil(L, -1)) { + lua_pop(L, 1); /* remove from stack */ + return LUA_REFNIL; /* `nil' has a unique fixed reference */ + } + t = lua_absindex(L, t); + lua_rawgeti(L, t, freelist); /* get first free element */ + ref = (int)lua_tointeger(L, -1); /* ref = t[freelist] */ + lua_pop(L, 1); /* remove it from stack */ + if (ref != 0) { /* any free element? */ + lua_rawgeti(L, t, ref); /* remove it from list */ + lua_rawseti(L, t, freelist); /* (t[freelist] = t[ref]) */ + } + else /* no free elements */ + ref = (int)lua_rawlen(L, t) + 1; /* get a new reference */ + lua_rawseti(L, t, ref); + return ref; +} + + +LUALIB_API void luaL_unref (lua_State *L, int t, int ref) { + if (ref >= 0) { + t = lua_absindex(L, t); + lua_rawgeti(L, t, freelist); + lua_rawseti(L, t, ref); /* t[ref] = t[freelist] */ + lua_pushinteger(L, ref); + lua_rawseti(L, t, freelist); /* t[freelist] = ref */ + } +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Load functions +** ======================================================= +*/ + +typedef struct LoadF { + int n; /* number of pre-read characters */ + FILE *f; /* file being read */ + char buff[LUAL_BUFFERSIZE]; /* area for reading file */ +} LoadF; + + +static const char *getF (lua_State *L, void *ud, size_t *size) { + LoadF *lf = (LoadF *)ud; + (void)L; /* not used */ + if (lf->n > 0) { /* are there pre-read characters to be read? */ + *size = lf->n; /* return them (chars already in buffer) */ + lf->n = 0; /* no more pre-read characters */ + } + else { /* read a block from file */ + /* 'fread' can return > 0 *and* set the EOF flag. If next call to + 'getF' called 'fread', it might still wait for user input. + The next check avoids this problem. */ + if (feof(lf->f)) return NULL; + *size = fread(lf->buff, 1, sizeof(lf->buff), lf->f); /* read block */ + } + return lf->buff; +} + + +static int errfile (lua_State *L, const char *what, int fnameindex) { + const char *serr = strerror(errno); + const char *filename = lua_tostring(L, fnameindex) + 1; + lua_pushfstring(L, "cannot %s %s: %s", what, filename, serr); + lua_remove(L, fnameindex); + return LUA_ERRFILE; +} + + +static int skipBOM (LoadF *lf) { + const char *p = "\xEF\xBB\xBF"; /* Utf8 BOM mark */ + int c; + lf->n = 0; + do { + c = getc(lf->f); + if (c == EOF || c != *(const unsigned char *)p++) return c; + lf->buff[lf->n++] = c; /* to be read by the parser */ + } while (*p != '\0'); + lf->n = 0; /* prefix matched; discard it */ + return getc(lf->f); /* return next character */ +} + + +/* +** reads the first character of file 'f' and skips an optional BOM mark +** in its beginning plus its first line if it starts with '#'. Returns +** true if it skipped the first line. In any case, '*cp' has the +** first "valid" character of the file (after the optional BOM and +** a first-line comment). +*/ +static int skipcomment (LoadF *lf, int *cp) { + int c = *cp = skipBOM(lf); + if (c == '#') { /* first line is a comment (Unix exec. file)? */ + do { /* skip first line */ + c = getc(lf->f); + } while (c != EOF && c != '\n') ; + *cp = getc(lf->f); /* skip end-of-line, if present */ + return 1; /* there was a comment */ + } + else return 0; /* no comment */ +} + + +LUALIB_API int luaL_loadfilex (lua_State *L, const char *filename, + const char *mode) { + LoadF lf; + int status, readstatus; + int c; + int fnameindex = lua_gettop(L) + 1; /* index of filename on the stack */ + if (filename == NULL) { + lua_pushliteral(L, "=stdin"); + lf.f = stdin; + } + else { + lua_pushfstring(L, "@%s", filename); + lf.f = fopen(filename, "r"); + if (lf.f == NULL) return errfile(L, "open", fnameindex); + } + if (skipcomment(&lf, &c)) /* read initial portion */ + lf.buff[lf.n++] = '\n'; /* add line to correct line numbers */ + if (c == LUA_SIGNATURE[0] && filename) { /* binary file? */ + lf.f = freopen(filename, "rb", lf.f); /* reopen in binary mode */ + if (lf.f == NULL) return errfile(L, "reopen", fnameindex); + skipcomment(&lf, &c); /* re-read initial portion */ + } + if (c != EOF) + lf.buff[lf.n++] = c; /* 'c' is the first character of the stream */ + status = lua_load(L, getF, &lf, lua_tostring(L, -1), mode); + readstatus = ferror(lf.f); + if (filename) fclose(lf.f); /* close file (even in case of errors) */ + if (readstatus) { + lua_settop(L, fnameindex); /* ignore results from `lua_load' */ + return errfile(L, "read", fnameindex); + } + lua_remove(L, fnameindex); + return status; +} + + +typedef struct LoadS { + const char *s; + size_t size; +} LoadS; + + +static const char *getS (lua_State *L, void *ud, size_t *size) { + LoadS *ls = (LoadS *)ud; + (void)L; /* not used */ + if (ls->size == 0) return NULL; + *size = ls->size; + ls->size = 0; + return ls->s; +} + + +LUALIB_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t size, + const char *name, const char *mode) { + LoadS ls; + ls.s = buff; + ls.size = size; + return lua_load(L, getS, &ls, name, mode); +} + + +LUALIB_API int luaL_loadstring (lua_State *L, const char *s) { + return luaL_loadbuffer(L, s, strlen(s), s); +} + +/* }====================================================== */ + + + +LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) { + if (!lua_getmetatable(L, obj)) /* no metatable? */ + return 0; + lua_pushstring(L, event); + lua_rawget(L, -2); + if (lua_isnil(L, -1)) { + lua_pop(L, 2); /* remove metatable and metafield */ + return 0; + } + else { + lua_remove(L, -2); /* remove only metatable */ + return 1; + } +} + + +LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) { + obj = lua_absindex(L, obj); + if (!luaL_getmetafield(L, obj, event)) /* no metafield? */ + return 0; + lua_pushvalue(L, obj); + lua_call(L, 1, 1); + return 1; +} + + +LUALIB_API int luaL_len (lua_State *L, int idx) { + int l; + int isnum; + lua_len(L, idx); + l = (int)lua_tointegerx(L, -1, &isnum); + if (!isnum) + luaL_error(L, "object length is not a number"); + lua_pop(L, 1); /* remove object */ + return l; +} + + +LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len) { + if (!luaL_callmeta(L, idx, "__tostring")) { /* no metafield? */ + switch (lua_type(L, idx)) { + case LUA_TNUMBER: + case LUA_TSTRING: + lua_pushvalue(L, idx); + break; + case LUA_TBOOLEAN: + lua_pushstring(L, (lua_toboolean(L, idx) ? "true" : "false")); + break; + case LUA_TNIL: + lua_pushliteral(L, "nil"); + break; + default: + lua_pushfstring(L, "%s: %p", luaL_typename(L, idx), + lua_topointer(L, idx)); + break; + } + } + return lua_tolstring(L, -1, len); +} + + +/* +** {====================================================== +** Compatibility with 5.1 module functions +** ======================================================= +*/ +#if defined(LUA_COMPAT_MODULE) + +static const char *luaL_findtable (lua_State *L, int idx, + const char *fname, int szhint) { + const char *e; + if (idx) lua_pushvalue(L, idx); + do { + e = strchr(fname, '.'); + if (e == NULL) e = fname + strlen(fname); + lua_pushlstring(L, fname, e - fname); + lua_rawget(L, -2); + if (lua_isnil(L, -1)) { /* no such field? */ + lua_pop(L, 1); /* remove this nil */ + lua_createtable(L, 0, (*e == '.' ? 1 : szhint)); /* new table for field */ + lua_pushlstring(L, fname, e - fname); + lua_pushvalue(L, -2); + lua_settable(L, -4); /* set new table into field */ + } + else if (!lua_istable(L, -1)) { /* field has a non-table value? */ + lua_pop(L, 2); /* remove table and value */ + return fname; /* return problematic part of the name */ + } + lua_remove(L, -2); /* remove previous table */ + fname = e + 1; + } while (*e == '.'); + return NULL; +} + + +/* +** Count number of elements in a luaL_Reg list. +*/ +static int libsize (const luaL_Reg *l) { + int size = 0; + for (; l && l->name; l++) size++; + return size; +} + + +/* +** Find or create a module table with a given name. The function +** first looks at the _LOADED table and, if that fails, try a +** global variable with that name. In any case, leaves on the stack +** the module table. +*/ +LUALIB_API void luaL_pushmodule (lua_State *L, const char *modname, + int sizehint) { + luaL_findtable(L, LUA_REGISTRYINDEX, "_LOADED", 1); /* get _LOADED table */ + lua_getfield(L, -1, modname); /* get _LOADED[modname] */ + if (!lua_istable(L, -1)) { /* not found? */ + lua_pop(L, 1); /* remove previous result */ + /* try global variable (and create one if it does not exist) */ + lua_pushglobaltable(L); + if (luaL_findtable(L, 0, modname, sizehint) != NULL) + luaL_error(L, "name conflict for module " LUA_QS, modname); + lua_pushvalue(L, -1); + lua_setfield(L, -3, modname); /* _LOADED[modname] = new table */ + } + lua_remove(L, -2); /* remove _LOADED table */ +} + + +LUALIB_API void luaL_openlib (lua_State *L, const char *libname, + const luaL_Reg *l, int nup) { + luaL_checkversion(L); + if (libname) { + luaL_pushmodule(L, libname, libsize(l)); /* get/create library table */ + lua_insert(L, -(nup + 1)); /* move library table to below upvalues */ + } + if (l) + luaL_setfuncs(L, l, nup); + else + lua_pop(L, nup); /* remove upvalues */ +} + +#endif +/* }====================================================== */ + +/* +** set functions from list 'l' into table at top - 'nup'; each +** function gets the 'nup' elements at the top as upvalues. +** Returns with only the table at the stack. +*/ +LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) { + luaL_checkversion(L); + luaL_checkstack(L, nup, "too many upvalues"); + for (; l->name != NULL; l++) { /* fill the table with given functions */ + int i; + for (i = 0; i < nup; i++) /* copy upvalues to the top */ + lua_pushvalue(L, -nup); + lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */ + lua_setfield(L, -(nup + 2), l->name); + } + lua_pop(L, nup); /* remove upvalues */ +} + + +/* +** ensure that stack[idx][fname] has a table and push that table +** into the stack +*/ +LUALIB_API int luaL_getsubtable (lua_State *L, int idx, const char *fname) { + lua_getfield(L, idx, fname); + if (lua_istable(L, -1)) return 1; /* table already there */ + else { + lua_pop(L, 1); /* remove previous result */ + idx = lua_absindex(L, idx); + lua_newtable(L); + lua_pushvalue(L, -1); /* copy to be left at top */ + lua_setfield(L, idx, fname); /* assign new table to field */ + return 0; /* false, because did not find table there */ + } +} + + +/* +** stripped-down 'require'. Calls 'openf' to open a module, +** registers the result in 'package.loaded' table and, if 'glb' +** is true, also registers the result in the global table. +** Leaves resulting module on the top. +*/ +LUALIB_API void luaL_requiref (lua_State *L, const char *modname, + lua_CFunction openf, int glb) { + lua_pushcfunction(L, openf); + lua_pushstring(L, modname); /* argument to open function */ + lua_call(L, 1, 1); /* open module */ + luaL_getsubtable(L, LUA_REGISTRYINDEX, "_LOADED"); + lua_pushvalue(L, -2); /* make copy of module (call result) */ + lua_setfield(L, -2, modname); /* _LOADED[modname] = module */ + lua_pop(L, 1); /* remove _LOADED table */ + if (glb) { + lua_pushvalue(L, -1); /* copy of 'mod' */ + lua_setglobal(L, modname); /* _G[modname] = module */ + } +} + + +LUALIB_API const char *luaL_gsub (lua_State *L, const char *s, const char *p, + const char *r) { + const char *wild; + size_t l = strlen(p); + luaL_Buffer b; + luaL_buffinit(L, &b); + while ((wild = strstr(s, p)) != NULL) { + luaL_addlstring(&b, s, wild - s); /* push prefix */ + luaL_addstring(&b, r); /* push replacement in place of pattern */ + s = wild + l; /* continue after `p' */ + } + luaL_addstring(&b, s); /* push last suffix */ + luaL_pushresult(&b); + return lua_tostring(L, -1); +} + + +static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) { + (void)ud; (void)osize; /* not used */ + if (nsize == 0) { + free(ptr); + return NULL; + } + else + return realloc(ptr, nsize); +} + + +static int panic (lua_State *L) { + luai_writestringerror("PANIC: unprotected error in call to Lua API (%s)\n", + lua_tostring(L, -1)); + return 0; /* return to Lua to abort */ +} + + +LUALIB_API lua_State *luaL_newstate (void) { + lua_State *L = lua_newstate(l_alloc, NULL); + if (L) lua_atpanic(L, &panic); + return L; +} + + +LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver) { + const lua_Number *v = lua_version(L); + if (v != lua_version(NULL)) + luaL_error(L, "multiple Lua VMs detected"); + else if (*v != ver) + luaL_error(L, "version mismatch: app. needs %f, Lua core provides %f", + ver, *v); + /* check conversions number -> integer types */ + lua_pushnumber(L, -(lua_Number)0x1234); + if (lua_tointeger(L, -1) != -0x1234 || + lua_tounsigned(L, -1) != (lua_Unsigned)-0x1234) + luaL_error(L, "bad conversion number->int;" + " must recompile Lua with proper settings"); + lua_pop(L, 1); +} + diff --git a/server/scripting/Lua/src/lauxlib.h b/server/scripting/Lua/src/lauxlib.h new file mode 100644 index 0000000..0fb023b --- /dev/null +++ b/server/scripting/Lua/src/lauxlib.h @@ -0,0 +1,212 @@ +/* +** $Id: lauxlib.h,v 1.120.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + + +/* extra error code for `luaL_load' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver); +#define luaL_checkversion(L) luaL_checkversion_(L, LUA_VERSION_NUM) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg, + lua_Integer def); +LUALIB_API lua_Unsigned (luaL_checkunsigned) (lua_State *L, int numArg); +LUALIB_API lua_Unsigned (luaL_optunsigned) (lua_State *L, int numArg, + lua_Unsigned def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int narg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + +/* pre-defined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API int (luaL_len) (lua_State *L, int idx); + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,numarg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +typedef struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + char initb[LUAL_BUFFERSIZE]; /* initial buffer */ +} luaL_Buffer; + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + + + +/* compatibility with old module system */ +#if defined(LUA_COMPAT_MODULE) + +LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, + int sizehint); +LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); + +#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) + +#endif + + +#endif + + diff --git a/server/scripting/Lua/src/lbaselib.c b/server/scripting/Lua/src/lbaselib.c new file mode 100644 index 0000000..5255b3c --- /dev/null +++ b/server/scripting/Lua/src/lbaselib.c @@ -0,0 +1,458 @@ +/* +** $Id: lbaselib.c,v 1.276.1.1 2013/04/12 18:48:47 roberto Exp $ +** Basic library +** See Copyright Notice in lua.h +*/ + + + +#include +#include +#include +#include + +#define lbaselib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +static int luaB_print (lua_State *L) { + int n = lua_gettop(L); /* number of arguments */ + int i; + lua_getglobal(L, "tostring"); + for (i=1; i<=n; i++) { + const char *s; + size_t l; + lua_pushvalue(L, -1); /* function to be called */ + lua_pushvalue(L, i); /* value to print */ + lua_call(L, 1, 1); + s = lua_tolstring(L, -1, &l); /* get result */ + if (s == NULL) + return luaL_error(L, + LUA_QL("tostring") " must return a string to " LUA_QL("print")); + if (i>1) luai_writestring("\t", 1); + luai_writestring(s, l); + lua_pop(L, 1); /* pop result */ + } + luai_writeline(); + return 0; +} + + +#define SPACECHARS " \f\n\r\t\v" + +static int luaB_tonumber (lua_State *L) { + if (lua_isnoneornil(L, 2)) { /* standard conversion */ + int isnum; + lua_Number n = lua_tonumberx(L, 1, &isnum); + if (isnum) { + lua_pushnumber(L, n); + return 1; + } /* else not a number; must be something */ + luaL_checkany(L, 1); + } + else { + size_t l; + const char *s = luaL_checklstring(L, 1, &l); + const char *e = s + l; /* end point for 's' */ + int base = luaL_checkint(L, 2); + int neg = 0; + luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range"); + s += strspn(s, SPACECHARS); /* skip initial spaces */ + if (*s == '-') { s++; neg = 1; } /* handle signal */ + else if (*s == '+') s++; + if (isalnum((unsigned char)*s)) { + lua_Number n = 0; + do { + int digit = (isdigit((unsigned char)*s)) ? *s - '0' + : toupper((unsigned char)*s) - 'A' + 10; + if (digit >= base) break; /* invalid numeral; force a fail */ + n = n * (lua_Number)base + (lua_Number)digit; + s++; + } while (isalnum((unsigned char)*s)); + s += strspn(s, SPACECHARS); /* skip trailing spaces */ + if (s == e) { /* no invalid trailing characters? */ + lua_pushnumber(L, (neg) ? -n : n); + return 1; + } /* else not a number */ + } /* else not a number */ + } + lua_pushnil(L); /* not a number */ + return 1; +} + + +static int luaB_error (lua_State *L) { + int level = luaL_optint(L, 2, 1); + lua_settop(L, 1); + if (lua_isstring(L, 1) && level > 0) { /* add extra information? */ + luaL_where(L, level); + lua_pushvalue(L, 1); + lua_concat(L, 2); + } + return lua_error(L); +} + + +static int luaB_getmetatable (lua_State *L) { + luaL_checkany(L, 1); + if (!lua_getmetatable(L, 1)) { + lua_pushnil(L); + return 1; /* no metatable */ + } + luaL_getmetafield(L, 1, "__metatable"); + return 1; /* returns either __metatable field (if present) or metatable */ +} + + +static int luaB_setmetatable (lua_State *L) { + int t = lua_type(L, 2); + luaL_checktype(L, 1, LUA_TTABLE); + luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, + "nil or table expected"); + if (luaL_getmetafield(L, 1, "__metatable")) + return luaL_error(L, "cannot change a protected metatable"); + lua_settop(L, 2); + lua_setmetatable(L, 1); + return 1; +} + + +static int luaB_rawequal (lua_State *L) { + luaL_checkany(L, 1); + luaL_checkany(L, 2); + lua_pushboolean(L, lua_rawequal(L, 1, 2)); + return 1; +} + + +static int luaB_rawlen (lua_State *L) { + int t = lua_type(L, 1); + luaL_argcheck(L, t == LUA_TTABLE || t == LUA_TSTRING, 1, + "table or string expected"); + lua_pushinteger(L, lua_rawlen(L, 1)); + return 1; +} + + +static int luaB_rawget (lua_State *L) { + luaL_checktype(L, 1, LUA_TTABLE); + luaL_checkany(L, 2); + lua_settop(L, 2); + lua_rawget(L, 1); + return 1; +} + +static int luaB_rawset (lua_State *L) { + luaL_checktype(L, 1, LUA_TTABLE); + luaL_checkany(L, 2); + luaL_checkany(L, 3); + lua_settop(L, 3); + lua_rawset(L, 1); + return 1; +} + + +static int luaB_collectgarbage (lua_State *L) { + static const char *const opts[] = {"stop", "restart", "collect", + "count", "step", "setpause", "setstepmul", + "setmajorinc", "isrunning", "generational", "incremental", NULL}; + static const int optsnum[] = {LUA_GCSTOP, LUA_GCRESTART, LUA_GCCOLLECT, + LUA_GCCOUNT, LUA_GCSTEP, LUA_GCSETPAUSE, LUA_GCSETSTEPMUL, + LUA_GCSETMAJORINC, LUA_GCISRUNNING, LUA_GCGEN, LUA_GCINC}; + int o = optsnum[luaL_checkoption(L, 1, "collect", opts)]; + int ex = luaL_optint(L, 2, 0); + int res = lua_gc(L, o, ex); + switch (o) { + case LUA_GCCOUNT: { + int b = lua_gc(L, LUA_GCCOUNTB, 0); + lua_pushnumber(L, res + ((lua_Number)b/1024)); + lua_pushinteger(L, b); + return 2; + } + case LUA_GCSTEP: case LUA_GCISRUNNING: { + lua_pushboolean(L, res); + return 1; + } + default: { + lua_pushinteger(L, res); + return 1; + } + } +} + + +static int luaB_type (lua_State *L) { + luaL_checkany(L, 1); + lua_pushstring(L, luaL_typename(L, 1)); + return 1; +} + + +static int pairsmeta (lua_State *L, const char *method, int iszero, + lua_CFunction iter) { + if (!luaL_getmetafield(L, 1, method)) { /* no metamethod? */ + luaL_checktype(L, 1, LUA_TTABLE); /* argument must be a table */ + lua_pushcfunction(L, iter); /* will return generator, */ + lua_pushvalue(L, 1); /* state, */ + if (iszero) lua_pushinteger(L, 0); /* and initial value */ + else lua_pushnil(L); + } + else { + lua_pushvalue(L, 1); /* argument 'self' to metamethod */ + lua_call(L, 1, 3); /* get 3 values from metamethod */ + } + return 3; +} + + +static int luaB_next (lua_State *L) { + luaL_checktype(L, 1, LUA_TTABLE); + lua_settop(L, 2); /* create a 2nd argument if there isn't one */ + if (lua_next(L, 1)) + return 2; + else { + lua_pushnil(L); + return 1; + } +} + + +static int luaB_pairs (lua_State *L) { + return pairsmeta(L, "__pairs", 0, luaB_next); +} + + +static int ipairsaux (lua_State *L) { + int i = luaL_checkint(L, 2); + luaL_checktype(L, 1, LUA_TTABLE); + i++; /* next value */ + lua_pushinteger(L, i); + lua_rawgeti(L, 1, i); + return (lua_isnil(L, -1)) ? 1 : 2; +} + + +static int luaB_ipairs (lua_State *L) { + return pairsmeta(L, "__ipairs", 1, ipairsaux); +} + + +static int load_aux (lua_State *L, int status, int envidx) { + if (status == LUA_OK) { + if (envidx != 0) { /* 'env' parameter? */ + lua_pushvalue(L, envidx); /* environment for loaded function */ + if (!lua_setupvalue(L, -2, 1)) /* set it as 1st upvalue */ + lua_pop(L, 1); /* remove 'env' if not used by previous call */ + } + return 1; + } + else { /* error (message is on top of the stack) */ + lua_pushnil(L); + lua_insert(L, -2); /* put before error message */ + return 2; /* return nil plus error message */ + } +} + + +static int luaB_loadfile (lua_State *L) { + const char *fname = luaL_optstring(L, 1, NULL); + const char *mode = luaL_optstring(L, 2, NULL); + int env = (!lua_isnone(L, 3) ? 3 : 0); /* 'env' index or 0 if no 'env' */ + int status = luaL_loadfilex(L, fname, mode); + return load_aux(L, status, env); +} + + +/* +** {====================================================== +** Generic Read function +** ======================================================= +*/ + + +/* +** reserved slot, above all arguments, to hold a copy of the returned +** string to avoid it being collected while parsed. 'load' has four +** optional arguments (chunk, source name, mode, and environment). +*/ +#define RESERVEDSLOT 5 + + +/* +** Reader for generic `load' function: `lua_load' uses the +** stack for internal stuff, so the reader cannot change the +** stack top. Instead, it keeps its resulting string in a +** reserved slot inside the stack. +*/ +static const char *generic_reader (lua_State *L, void *ud, size_t *size) { + (void)(ud); /* not used */ + luaL_checkstack(L, 2, "too many nested functions"); + lua_pushvalue(L, 1); /* get function */ + lua_call(L, 0, 1); /* call it */ + if (lua_isnil(L, -1)) { + lua_pop(L, 1); /* pop result */ + *size = 0; + return NULL; + } + else if (!lua_isstring(L, -1)) + luaL_error(L, "reader function must return a string"); + lua_replace(L, RESERVEDSLOT); /* save string in reserved slot */ + return lua_tolstring(L, RESERVEDSLOT, size); +} + + +static int luaB_load (lua_State *L) { + int status; + size_t l; + const char *s = lua_tolstring(L, 1, &l); + const char *mode = luaL_optstring(L, 3, "bt"); + int env = (!lua_isnone(L, 4) ? 4 : 0); /* 'env' index or 0 if no 'env' */ + if (s != NULL) { /* loading a string? */ + const char *chunkname = luaL_optstring(L, 2, s); + status = luaL_loadbufferx(L, s, l, chunkname, mode); + } + else { /* loading from a reader function */ + const char *chunkname = luaL_optstring(L, 2, "=(load)"); + luaL_checktype(L, 1, LUA_TFUNCTION); + lua_settop(L, RESERVEDSLOT); /* create reserved slot */ + status = lua_load(L, generic_reader, NULL, chunkname, mode); + } + return load_aux(L, status, env); +} + +/* }====================================================== */ + + +static int dofilecont (lua_State *L) { + return lua_gettop(L) - 1; +} + + +static int luaB_dofile (lua_State *L) { + const char *fname = luaL_optstring(L, 1, NULL); + lua_settop(L, 1); + if (luaL_loadfile(L, fname) != LUA_OK) + return lua_error(L); + lua_callk(L, 0, LUA_MULTRET, 0, dofilecont); + return dofilecont(L); +} + + +static int luaB_assert (lua_State *L) { + if (!lua_toboolean(L, 1)) + return luaL_error(L, "%s", luaL_optstring(L, 2, "assertion failed!")); + return lua_gettop(L); +} + + +static int luaB_select (lua_State *L) { + int n = lua_gettop(L); + if (lua_type(L, 1) == LUA_TSTRING && *lua_tostring(L, 1) == '#') { + lua_pushinteger(L, n-1); + return 1; + } + else { + int i = luaL_checkint(L, 1); + if (i < 0) i = n + i; + else if (i > n) i = n; + luaL_argcheck(L, 1 <= i, 1, "index out of range"); + return n - i; + } +} + + +static int finishpcall (lua_State *L, int status) { + if (!lua_checkstack(L, 1)) { /* no space for extra boolean? */ + lua_settop(L, 0); /* create space for return values */ + lua_pushboolean(L, 0); + lua_pushstring(L, "stack overflow"); + return 2; /* return false, msg */ + } + lua_pushboolean(L, status); /* first result (status) */ + lua_replace(L, 1); /* put first result in first slot */ + return lua_gettop(L); +} + + +static int pcallcont (lua_State *L) { + int status = lua_getctx(L, NULL); + return finishpcall(L, (status == LUA_YIELD)); +} + + +static int luaB_pcall (lua_State *L) { + int status; + luaL_checkany(L, 1); + lua_pushnil(L); + lua_insert(L, 1); /* create space for status result */ + status = lua_pcallk(L, lua_gettop(L) - 2, LUA_MULTRET, 0, 0, pcallcont); + return finishpcall(L, (status == LUA_OK)); +} + + +static int luaB_xpcall (lua_State *L) { + int status; + int n = lua_gettop(L); + luaL_argcheck(L, n >= 2, 2, "value expected"); + lua_pushvalue(L, 1); /* exchange function... */ + lua_copy(L, 2, 1); /* ...and error handler */ + lua_replace(L, 2); + status = lua_pcallk(L, n - 2, LUA_MULTRET, 1, 0, pcallcont); + return finishpcall(L, (status == LUA_OK)); +} + + +static int luaB_tostring (lua_State *L) { + luaL_checkany(L, 1); + luaL_tolstring(L, 1, NULL); + return 1; +} + + +static const luaL_Reg base_funcs[] = { + {"assert", luaB_assert}, + {"collectgarbage", luaB_collectgarbage}, + {"dofile", luaB_dofile}, + {"error", luaB_error}, + {"getmetatable", luaB_getmetatable}, + {"ipairs", luaB_ipairs}, + {"loadfile", luaB_loadfile}, + {"load", luaB_load}, +#if defined(LUA_COMPAT_LOADSTRING) + {"loadstring", luaB_load}, +#endif + {"next", luaB_next}, + {"pairs", luaB_pairs}, + {"pcall", luaB_pcall}, + {"print", luaB_print}, + {"rawequal", luaB_rawequal}, + {"rawlen", luaB_rawlen}, + {"rawget", luaB_rawget}, + {"rawset", luaB_rawset}, + {"select", luaB_select}, + {"setmetatable", luaB_setmetatable}, + {"tonumber", luaB_tonumber}, + {"tostring", luaB_tostring}, + {"type", luaB_type}, + {"xpcall", luaB_xpcall}, + {NULL, NULL} +}; + + +LUAMOD_API int luaopen_base (lua_State *L) { + /* set global _G */ + lua_pushglobaltable(L); + lua_pushglobaltable(L); + lua_setfield(L, -2, "_G"); + /* open lib into global table */ + luaL_setfuncs(L, base_funcs, 0); + lua_pushliteral(L, LUA_VERSION); + lua_setfield(L, -2, "_VERSION"); /* set global _VERSION */ + return 1; +} + diff --git a/server/scripting/Lua/src/lbitlib.c b/server/scripting/Lua/src/lbitlib.c new file mode 100644 index 0000000..31c7b66 --- /dev/null +++ b/server/scripting/Lua/src/lbitlib.c @@ -0,0 +1,212 @@ +/* +** $Id: lbitlib.c,v 1.18.1.2 2013/07/09 18:01:41 roberto Exp $ +** Standard library for bitwise operations +** See Copyright Notice in lua.h +*/ + +#define lbitlib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +/* number of bits to consider in a number */ +#if !defined(LUA_NBITS) +#define LUA_NBITS 32 +#endif + + +#define ALLONES (~(((~(lua_Unsigned)0) << (LUA_NBITS - 1)) << 1)) + +/* macro to trim extra bits */ +#define trim(x) ((x) & ALLONES) + + +/* builds a number with 'n' ones (1 <= n <= LUA_NBITS) */ +#define mask(n) (~((ALLONES << 1) << ((n) - 1))) + + +typedef lua_Unsigned b_uint; + + + +static b_uint andaux (lua_State *L) { + int i, n = lua_gettop(L); + b_uint r = ~(b_uint)0; + for (i = 1; i <= n; i++) + r &= luaL_checkunsigned(L, i); + return trim(r); +} + + +static int b_and (lua_State *L) { + b_uint r = andaux(L); + lua_pushunsigned(L, r); + return 1; +} + + +static int b_test (lua_State *L) { + b_uint r = andaux(L); + lua_pushboolean(L, r != 0); + return 1; +} + + +static int b_or (lua_State *L) { + int i, n = lua_gettop(L); + b_uint r = 0; + for (i = 1; i <= n; i++) + r |= luaL_checkunsigned(L, i); + lua_pushunsigned(L, trim(r)); + return 1; +} + + +static int b_xor (lua_State *L) { + int i, n = lua_gettop(L); + b_uint r = 0; + for (i = 1; i <= n; i++) + r ^= luaL_checkunsigned(L, i); + lua_pushunsigned(L, trim(r)); + return 1; +} + + +static int b_not (lua_State *L) { + b_uint r = ~luaL_checkunsigned(L, 1); + lua_pushunsigned(L, trim(r)); + return 1; +} + + +static int b_shift (lua_State *L, b_uint r, int i) { + if (i < 0) { /* shift right? */ + i = -i; + r = trim(r); + if (i >= LUA_NBITS) r = 0; + else r >>= i; + } + else { /* shift left */ + if (i >= LUA_NBITS) r = 0; + else r <<= i; + r = trim(r); + } + lua_pushunsigned(L, r); + return 1; +} + + +static int b_lshift (lua_State *L) { + return b_shift(L, luaL_checkunsigned(L, 1), luaL_checkint(L, 2)); +} + + +static int b_rshift (lua_State *L) { + return b_shift(L, luaL_checkunsigned(L, 1), -luaL_checkint(L, 2)); +} + + +static int b_arshift (lua_State *L) { + b_uint r = luaL_checkunsigned(L, 1); + int i = luaL_checkint(L, 2); + if (i < 0 || !(r & ((b_uint)1 << (LUA_NBITS - 1)))) + return b_shift(L, r, -i); + else { /* arithmetic shift for 'negative' number */ + if (i >= LUA_NBITS) r = ALLONES; + else + r = trim((r >> i) | ~(~(b_uint)0 >> i)); /* add signal bit */ + lua_pushunsigned(L, r); + return 1; + } +} + + +static int b_rot (lua_State *L, int i) { + b_uint r = luaL_checkunsigned(L, 1); + i &= (LUA_NBITS - 1); /* i = i % NBITS */ + r = trim(r); + if (i != 0) /* avoid undefined shift of LUA_NBITS when i == 0 */ + r = (r << i) | (r >> (LUA_NBITS - i)); + lua_pushunsigned(L, trim(r)); + return 1; +} + + +static int b_lrot (lua_State *L) { + return b_rot(L, luaL_checkint(L, 2)); +} + + +static int b_rrot (lua_State *L) { + return b_rot(L, -luaL_checkint(L, 2)); +} + + +/* +** get field and width arguments for field-manipulation functions, +** checking whether they are valid. +** ('luaL_error' called without 'return' to avoid later warnings about +** 'width' being used uninitialized.) +*/ +static int fieldargs (lua_State *L, int farg, int *width) { + int f = luaL_checkint(L, farg); + int w = luaL_optint(L, farg + 1, 1); + luaL_argcheck(L, 0 <= f, farg, "field cannot be negative"); + luaL_argcheck(L, 0 < w, farg + 1, "width must be positive"); + if (f + w > LUA_NBITS) + luaL_error(L, "trying to access non-existent bits"); + *width = w; + return f; +} + + +static int b_extract (lua_State *L) { + int w; + b_uint r = luaL_checkunsigned(L, 1); + int f = fieldargs(L, 2, &w); + r = (r >> f) & mask(w); + lua_pushunsigned(L, r); + return 1; +} + + +static int b_replace (lua_State *L) { + int w; + b_uint r = luaL_checkunsigned(L, 1); + b_uint v = luaL_checkunsigned(L, 2); + int f = fieldargs(L, 3, &w); + int m = mask(w); + v &= m; /* erase bits outside given width */ + r = (r & ~(m << f)) | (v << f); + lua_pushunsigned(L, r); + return 1; +} + + +static const luaL_Reg bitlib[] = { + {"arshift", b_arshift}, + {"band", b_and}, + {"bnot", b_not}, + {"bor", b_or}, + {"bxor", b_xor}, + {"btest", b_test}, + {"extract", b_extract}, + {"lrotate", b_lrot}, + {"lshift", b_lshift}, + {"replace", b_replace}, + {"rrotate", b_rrot}, + {"rshift", b_rshift}, + {NULL, NULL} +}; + + + +LUAMOD_API int luaopen_bit32 (lua_State *L) { + luaL_newlib(L, bitlib); + return 1; +} + diff --git a/server/scripting/Lua/src/lcode.c b/server/scripting/Lua/src/lcode.c new file mode 100644 index 0000000..820b95c --- /dev/null +++ b/server/scripting/Lua/src/lcode.c @@ -0,0 +1,881 @@ +/* +** $Id: lcode.c,v 2.62.1.1 2013/04/12 18:48:47 roberto Exp $ +** Code generator for Lua +** See Copyright Notice in lua.h +*/ + + +#include + +#define lcode_c +#define LUA_CORE + +#include "lua.h" + +#include "lcode.h" +#include "ldebug.h" +#include "ldo.h" +#include "lgc.h" +#include "llex.h" +#include "lmem.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lparser.h" +#include "lstring.h" +#include "ltable.h" +#include "lvm.h" + + +#define hasjumps(e) ((e)->t != (e)->f) + + +static int isnumeral(expdesc *e) { + return (e->k == VKNUM && e->t == NO_JUMP && e->f == NO_JUMP); +} + + +void luaK_nil (FuncState *fs, int from, int n) { + Instruction *previous; + int l = from + n - 1; /* last register to set nil */ + if (fs->pc > fs->lasttarget) { /* no jumps to current position? */ + previous = &fs->f->code[fs->pc-1]; + if (GET_OPCODE(*previous) == OP_LOADNIL) { + int pfrom = GETARG_A(*previous); + int pl = pfrom + GETARG_B(*previous); + if ((pfrom <= from && from <= pl + 1) || + (from <= pfrom && pfrom <= l + 1)) { /* can connect both? */ + if (pfrom < from) from = pfrom; /* from = min(from, pfrom) */ + if (pl > l) l = pl; /* l = max(l, pl) */ + SETARG_A(*previous, from); + SETARG_B(*previous, l - from); + return; + } + } /* else go through */ + } + luaK_codeABC(fs, OP_LOADNIL, from, n - 1, 0); /* else no optimization */ +} + + +int luaK_jump (FuncState *fs) { + int jpc = fs->jpc; /* save list of jumps to here */ + int j; + fs->jpc = NO_JUMP; + j = luaK_codeAsBx(fs, OP_JMP, 0, NO_JUMP); + luaK_concat(fs, &j, jpc); /* keep them on hold */ + return j; +} + + +void luaK_ret (FuncState *fs, int first, int nret) { + luaK_codeABC(fs, OP_RETURN, first, nret+1, 0); +} + + +static int condjump (FuncState *fs, OpCode op, int A, int B, int C) { + luaK_codeABC(fs, op, A, B, C); + return luaK_jump(fs); +} + + +static void fixjump (FuncState *fs, int pc, int dest) { + Instruction *jmp = &fs->f->code[pc]; + int offset = dest-(pc+1); + lua_assert(dest != NO_JUMP); + if (abs(offset) > MAXARG_sBx) + luaX_syntaxerror(fs->ls, "control structure too long"); + SETARG_sBx(*jmp, offset); +} + + +/* +** returns current `pc' and marks it as a jump target (to avoid wrong +** optimizations with consecutive instructions not in the same basic block). +*/ +int luaK_getlabel (FuncState *fs) { + fs->lasttarget = fs->pc; + return fs->pc; +} + + +static int getjump (FuncState *fs, int pc) { + int offset = GETARG_sBx(fs->f->code[pc]); + if (offset == NO_JUMP) /* point to itself represents end of list */ + return NO_JUMP; /* end of list */ + else + return (pc+1)+offset; /* turn offset into absolute position */ +} + + +static Instruction *getjumpcontrol (FuncState *fs, int pc) { + Instruction *pi = &fs->f->code[pc]; + if (pc >= 1 && testTMode(GET_OPCODE(*(pi-1)))) + return pi-1; + else + return pi; +} + + +/* +** check whether list has any jump that do not produce a value +** (or produce an inverted value) +*/ +static int need_value (FuncState *fs, int list) { + for (; list != NO_JUMP; list = getjump(fs, list)) { + Instruction i = *getjumpcontrol(fs, list); + if (GET_OPCODE(i) != OP_TESTSET) return 1; + } + return 0; /* not found */ +} + + +static int patchtestreg (FuncState *fs, int node, int reg) { + Instruction *i = getjumpcontrol(fs, node); + if (GET_OPCODE(*i) != OP_TESTSET) + return 0; /* cannot patch other instructions */ + if (reg != NO_REG && reg != GETARG_B(*i)) + SETARG_A(*i, reg); + else /* no register to put value or register already has the value */ + *i = CREATE_ABC(OP_TEST, GETARG_B(*i), 0, GETARG_C(*i)); + + return 1; +} + + +static void removevalues (FuncState *fs, int list) { + for (; list != NO_JUMP; list = getjump(fs, list)) + patchtestreg(fs, list, NO_REG); +} + + +static void patchlistaux (FuncState *fs, int list, int vtarget, int reg, + int dtarget) { + while (list != NO_JUMP) { + int next = getjump(fs, list); + if (patchtestreg(fs, list, reg)) + fixjump(fs, list, vtarget); + else + fixjump(fs, list, dtarget); /* jump to default target */ + list = next; + } +} + + +static void dischargejpc (FuncState *fs) { + patchlistaux(fs, fs->jpc, fs->pc, NO_REG, fs->pc); + fs->jpc = NO_JUMP; +} + + +void luaK_patchlist (FuncState *fs, int list, int target) { + if (target == fs->pc) + luaK_patchtohere(fs, list); + else { + lua_assert(target < fs->pc); + patchlistaux(fs, list, target, NO_REG, target); + } +} + + +LUAI_FUNC void luaK_patchclose (FuncState *fs, int list, int level) { + level++; /* argument is +1 to reserve 0 as non-op */ + while (list != NO_JUMP) { + int next = getjump(fs, list); + lua_assert(GET_OPCODE(fs->f->code[list]) == OP_JMP && + (GETARG_A(fs->f->code[list]) == 0 || + GETARG_A(fs->f->code[list]) >= level)); + SETARG_A(fs->f->code[list], level); + list = next; + } +} + + +void luaK_patchtohere (FuncState *fs, int list) { + luaK_getlabel(fs); + luaK_concat(fs, &fs->jpc, list); +} + + +void luaK_concat (FuncState *fs, int *l1, int l2) { + if (l2 == NO_JUMP) return; + else if (*l1 == NO_JUMP) + *l1 = l2; + else { + int list = *l1; + int next; + while ((next = getjump(fs, list)) != NO_JUMP) /* find last element */ + list = next; + fixjump(fs, list, l2); + } +} + + +static int luaK_code (FuncState *fs, Instruction i) { + Proto *f = fs->f; + dischargejpc(fs); /* `pc' will change */ + /* put new instruction in code array */ + luaM_growvector(fs->ls->L, f->code, fs->pc, f->sizecode, Instruction, + MAX_INT, "opcodes"); + f->code[fs->pc] = i; + /* save corresponding line information */ + luaM_growvector(fs->ls->L, f->lineinfo, fs->pc, f->sizelineinfo, int, + MAX_INT, "opcodes"); + f->lineinfo[fs->pc] = fs->ls->lastline; + return fs->pc++; +} + + +int luaK_codeABC (FuncState *fs, OpCode o, int a, int b, int c) { + lua_assert(getOpMode(o) == iABC); + lua_assert(getBMode(o) != OpArgN || b == 0); + lua_assert(getCMode(o) != OpArgN || c == 0); + lua_assert(a <= MAXARG_A && b <= MAXARG_B && c <= MAXARG_C); + return luaK_code(fs, CREATE_ABC(o, a, b, c)); +} + + +int luaK_codeABx (FuncState *fs, OpCode o, int a, unsigned int bc) { + lua_assert(getOpMode(o) == iABx || getOpMode(o) == iAsBx); + lua_assert(getCMode(o) == OpArgN); + lua_assert(a <= MAXARG_A && bc <= MAXARG_Bx); + return luaK_code(fs, CREATE_ABx(o, a, bc)); +} + + +static int codeextraarg (FuncState *fs, int a) { + lua_assert(a <= MAXARG_Ax); + return luaK_code(fs, CREATE_Ax(OP_EXTRAARG, a)); +} + + +int luaK_codek (FuncState *fs, int reg, int k) { + if (k <= MAXARG_Bx) + return luaK_codeABx(fs, OP_LOADK, reg, k); + else { + int p = luaK_codeABx(fs, OP_LOADKX, reg, 0); + codeextraarg(fs, k); + return p; + } +} + + +void luaK_checkstack (FuncState *fs, int n) { + int newstack = fs->freereg + n; + if (newstack > fs->f->maxstacksize) { + if (newstack >= MAXSTACK) + luaX_syntaxerror(fs->ls, "function or expression too complex"); + fs->f->maxstacksize = cast_byte(newstack); + } +} + + +void luaK_reserveregs (FuncState *fs, int n) { + luaK_checkstack(fs, n); + fs->freereg += n; +} + + +static void freereg (FuncState *fs, int reg) { + if (!ISK(reg) && reg >= fs->nactvar) { + fs->freereg--; + lua_assert(reg == fs->freereg); + } +} + + +static void freeexp (FuncState *fs, expdesc *e) { + if (e->k == VNONRELOC) + freereg(fs, e->u.info); +} + + +static int addk (FuncState *fs, TValue *key, TValue *v) { + lua_State *L = fs->ls->L; + TValue *idx = luaH_set(L, fs->h, key); + Proto *f = fs->f; + int k, oldsize; + if (ttisnumber(idx)) { + lua_Number n = nvalue(idx); + lua_number2int(k, n); + if (luaV_rawequalobj(&f->k[k], v)) + return k; + /* else may be a collision (e.g., between 0.0 and "\0\0\0\0\0\0\0\0"); + go through and create a new entry for this value */ + } + /* constant not found; create a new entry */ + oldsize = f->sizek; + k = fs->nk; + /* numerical value does not need GC barrier; + table has no metatable, so it does not need to invalidate cache */ + setnvalue(idx, cast_num(k)); + luaM_growvector(L, f->k, k, f->sizek, TValue, MAXARG_Ax, "constants"); + while (oldsize < f->sizek) setnilvalue(&f->k[oldsize++]); + setobj(L, &f->k[k], v); + fs->nk++; + luaC_barrier(L, f, v); + return k; +} + + +int luaK_stringK (FuncState *fs, TString *s) { + TValue o; + setsvalue(fs->ls->L, &o, s); + return addk(fs, &o, &o); +} + + +int luaK_numberK (FuncState *fs, lua_Number r) { + int n; + lua_State *L = fs->ls->L; + TValue o; + setnvalue(&o, r); + if (r == 0 || luai_numisnan(NULL, r)) { /* handle -0 and NaN */ + /* use raw representation as key to avoid numeric problems */ + setsvalue(L, L->top++, luaS_newlstr(L, (char *)&r, sizeof(r))); + n = addk(fs, L->top - 1, &o); + L->top--; + } + else + n = addk(fs, &o, &o); /* regular case */ + return n; +} + + +static int boolK (FuncState *fs, int b) { + TValue o; + setbvalue(&o, b); + return addk(fs, &o, &o); +} + + +static int nilK (FuncState *fs) { + TValue k, v; + setnilvalue(&v); + /* cannot use nil as key; instead use table itself to represent nil */ + sethvalue(fs->ls->L, &k, fs->h); + return addk(fs, &k, &v); +} + + +void luaK_setreturns (FuncState *fs, expdesc *e, int nresults) { + if (e->k == VCALL) { /* expression is an open function call? */ + SETARG_C(getcode(fs, e), nresults+1); + } + else if (e->k == VVARARG) { + SETARG_B(getcode(fs, e), nresults+1); + SETARG_A(getcode(fs, e), fs->freereg); + luaK_reserveregs(fs, 1); + } +} + + +void luaK_setoneret (FuncState *fs, expdesc *e) { + if (e->k == VCALL) { /* expression is an open function call? */ + e->k = VNONRELOC; + e->u.info = GETARG_A(getcode(fs, e)); + } + else if (e->k == VVARARG) { + SETARG_B(getcode(fs, e), 2); + e->k = VRELOCABLE; /* can relocate its simple result */ + } +} + + +void luaK_dischargevars (FuncState *fs, expdesc *e) { + switch (e->k) { + case VLOCAL: { + e->k = VNONRELOC; + break; + } + case VUPVAL: { + e->u.info = luaK_codeABC(fs, OP_GETUPVAL, 0, e->u.info, 0); + e->k = VRELOCABLE; + break; + } + case VINDEXED: { + OpCode op = OP_GETTABUP; /* assume 't' is in an upvalue */ + freereg(fs, e->u.ind.idx); + if (e->u.ind.vt == VLOCAL) { /* 't' is in a register? */ + freereg(fs, e->u.ind.t); + op = OP_GETTABLE; + } + e->u.info = luaK_codeABC(fs, op, 0, e->u.ind.t, e->u.ind.idx); + e->k = VRELOCABLE; + break; + } + case VVARARG: + case VCALL: { + luaK_setoneret(fs, e); + break; + } + default: break; /* there is one value available (somewhere) */ + } +} + + +static int code_label (FuncState *fs, int A, int b, int jump) { + luaK_getlabel(fs); /* those instructions may be jump targets */ + return luaK_codeABC(fs, OP_LOADBOOL, A, b, jump); +} + + +static void discharge2reg (FuncState *fs, expdesc *e, int reg) { + luaK_dischargevars(fs, e); + switch (e->k) { + case VNIL: { + luaK_nil(fs, reg, 1); + break; + } + case VFALSE: case VTRUE: { + luaK_codeABC(fs, OP_LOADBOOL, reg, e->k == VTRUE, 0); + break; + } + case VK: { + luaK_codek(fs, reg, e->u.info); + break; + } + case VKNUM: { + luaK_codek(fs, reg, luaK_numberK(fs, e->u.nval)); + break; + } + case VRELOCABLE: { + Instruction *pc = &getcode(fs, e); + SETARG_A(*pc, reg); + break; + } + case VNONRELOC: { + if (reg != e->u.info) + luaK_codeABC(fs, OP_MOVE, reg, e->u.info, 0); + break; + } + default: { + lua_assert(e->k == VVOID || e->k == VJMP); + return; /* nothing to do... */ + } + } + e->u.info = reg; + e->k = VNONRELOC; +} + + +static void discharge2anyreg (FuncState *fs, expdesc *e) { + if (e->k != VNONRELOC) { + luaK_reserveregs(fs, 1); + discharge2reg(fs, e, fs->freereg-1); + } +} + + +static void exp2reg (FuncState *fs, expdesc *e, int reg) { + discharge2reg(fs, e, reg); + if (e->k == VJMP) + luaK_concat(fs, &e->t, e->u.info); /* put this jump in `t' list */ + if (hasjumps(e)) { + int final; /* position after whole expression */ + int p_f = NO_JUMP; /* position of an eventual LOAD false */ + int p_t = NO_JUMP; /* position of an eventual LOAD true */ + if (need_value(fs, e->t) || need_value(fs, e->f)) { + int fj = (e->k == VJMP) ? NO_JUMP : luaK_jump(fs); + p_f = code_label(fs, reg, 0, 1); + p_t = code_label(fs, reg, 1, 0); + luaK_patchtohere(fs, fj); + } + final = luaK_getlabel(fs); + patchlistaux(fs, e->f, final, reg, p_f); + patchlistaux(fs, e->t, final, reg, p_t); + } + e->f = e->t = NO_JUMP; + e->u.info = reg; + e->k = VNONRELOC; +} + + +void luaK_exp2nextreg (FuncState *fs, expdesc *e) { + luaK_dischargevars(fs, e); + freeexp(fs, e); + luaK_reserveregs(fs, 1); + exp2reg(fs, e, fs->freereg - 1); +} + + +int luaK_exp2anyreg (FuncState *fs, expdesc *e) { + luaK_dischargevars(fs, e); + if (e->k == VNONRELOC) { + if (!hasjumps(e)) return e->u.info; /* exp is already in a register */ + if (e->u.info >= fs->nactvar) { /* reg. is not a local? */ + exp2reg(fs, e, e->u.info); /* put value on it */ + return e->u.info; + } + } + luaK_exp2nextreg(fs, e); /* default */ + return e->u.info; +} + + +void luaK_exp2anyregup (FuncState *fs, expdesc *e) { + if (e->k != VUPVAL || hasjumps(e)) + luaK_exp2anyreg(fs, e); +} + + +void luaK_exp2val (FuncState *fs, expdesc *e) { + if (hasjumps(e)) + luaK_exp2anyreg(fs, e); + else + luaK_dischargevars(fs, e); +} + + +int luaK_exp2RK (FuncState *fs, expdesc *e) { + luaK_exp2val(fs, e); + switch (e->k) { + case VTRUE: + case VFALSE: + case VNIL: { + if (fs->nk <= MAXINDEXRK) { /* constant fits in RK operand? */ + e->u.info = (e->k == VNIL) ? nilK(fs) : boolK(fs, (e->k == VTRUE)); + e->k = VK; + return RKASK(e->u.info); + } + else break; + } + case VKNUM: { + e->u.info = luaK_numberK(fs, e->u.nval); + e->k = VK; + /* go through */ + } + case VK: { + if (e->u.info <= MAXINDEXRK) /* constant fits in argC? */ + return RKASK(e->u.info); + else break; + } + default: break; + } + /* not a constant in the right range: put it in a register */ + return luaK_exp2anyreg(fs, e); +} + + +void luaK_storevar (FuncState *fs, expdesc *var, expdesc *ex) { + switch (var->k) { + case VLOCAL: { + freeexp(fs, ex); + exp2reg(fs, ex, var->u.info); + return; + } + case VUPVAL: { + int e = luaK_exp2anyreg(fs, ex); + luaK_codeABC(fs, OP_SETUPVAL, e, var->u.info, 0); + break; + } + case VINDEXED: { + OpCode op = (var->u.ind.vt == VLOCAL) ? OP_SETTABLE : OP_SETTABUP; + int e = luaK_exp2RK(fs, ex); + luaK_codeABC(fs, op, var->u.ind.t, var->u.ind.idx, e); + break; + } + default: { + lua_assert(0); /* invalid var kind to store */ + break; + } + } + freeexp(fs, ex); +} + + +void luaK_self (FuncState *fs, expdesc *e, expdesc *key) { + int ereg; + luaK_exp2anyreg(fs, e); + ereg = e->u.info; /* register where 'e' was placed */ + freeexp(fs, e); + e->u.info = fs->freereg; /* base register for op_self */ + e->k = VNONRELOC; + luaK_reserveregs(fs, 2); /* function and 'self' produced by op_self */ + luaK_codeABC(fs, OP_SELF, e->u.info, ereg, luaK_exp2RK(fs, key)); + freeexp(fs, key); +} + + +static void invertjump (FuncState *fs, expdesc *e) { + Instruction *pc = getjumpcontrol(fs, e->u.info); + lua_assert(testTMode(GET_OPCODE(*pc)) && GET_OPCODE(*pc) != OP_TESTSET && + GET_OPCODE(*pc) != OP_TEST); + SETARG_A(*pc, !(GETARG_A(*pc))); +} + + +static int jumponcond (FuncState *fs, expdesc *e, int cond) { + if (e->k == VRELOCABLE) { + Instruction ie = getcode(fs, e); + if (GET_OPCODE(ie) == OP_NOT) { + fs->pc--; /* remove previous OP_NOT */ + return condjump(fs, OP_TEST, GETARG_B(ie), 0, !cond); + } + /* else go through */ + } + discharge2anyreg(fs, e); + freeexp(fs, e); + return condjump(fs, OP_TESTSET, NO_REG, e->u.info, cond); +} + + +void luaK_goiftrue (FuncState *fs, expdesc *e) { + int pc; /* pc of last jump */ + luaK_dischargevars(fs, e); + switch (e->k) { + case VJMP: { + invertjump(fs, e); + pc = e->u.info; + break; + } + case VK: case VKNUM: case VTRUE: { + pc = NO_JUMP; /* always true; do nothing */ + break; + } + default: { + pc = jumponcond(fs, e, 0); + break; + } + } + luaK_concat(fs, &e->f, pc); /* insert last jump in `f' list */ + luaK_patchtohere(fs, e->t); + e->t = NO_JUMP; +} + + +void luaK_goiffalse (FuncState *fs, expdesc *e) { + int pc; /* pc of last jump */ + luaK_dischargevars(fs, e); + switch (e->k) { + case VJMP: { + pc = e->u.info; + break; + } + case VNIL: case VFALSE: { + pc = NO_JUMP; /* always false; do nothing */ + break; + } + default: { + pc = jumponcond(fs, e, 1); + break; + } + } + luaK_concat(fs, &e->t, pc); /* insert last jump in `t' list */ + luaK_patchtohere(fs, e->f); + e->f = NO_JUMP; +} + + +static void codenot (FuncState *fs, expdesc *e) { + luaK_dischargevars(fs, e); + switch (e->k) { + case VNIL: case VFALSE: { + e->k = VTRUE; + break; + } + case VK: case VKNUM: case VTRUE: { + e->k = VFALSE; + break; + } + case VJMP: { + invertjump(fs, e); + break; + } + case VRELOCABLE: + case VNONRELOC: { + discharge2anyreg(fs, e); + freeexp(fs, e); + e->u.info = luaK_codeABC(fs, OP_NOT, 0, e->u.info, 0); + e->k = VRELOCABLE; + break; + } + default: { + lua_assert(0); /* cannot happen */ + break; + } + } + /* interchange true and false lists */ + { int temp = e->f; e->f = e->t; e->t = temp; } + removevalues(fs, e->f); + removevalues(fs, e->t); +} + + +void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) { + lua_assert(!hasjumps(t)); + t->u.ind.t = t->u.info; + t->u.ind.idx = luaK_exp2RK(fs, k); + t->u.ind.vt = (t->k == VUPVAL) ? VUPVAL + : check_exp(vkisinreg(t->k), VLOCAL); + t->k = VINDEXED; +} + + +static int constfolding (OpCode op, expdesc *e1, expdesc *e2) { + lua_Number r; + if (!isnumeral(e1) || !isnumeral(e2)) return 0; + if ((op == OP_DIV || op == OP_MOD) && e2->u.nval == 0) + return 0; /* do not attempt to divide by 0 */ + r = luaO_arith(op - OP_ADD + LUA_OPADD, e1->u.nval, e2->u.nval); + e1->u.nval = r; + return 1; +} + + +static void codearith (FuncState *fs, OpCode op, + expdesc *e1, expdesc *e2, int line) { + if (constfolding(op, e1, e2)) + return; + else { + int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0; + int o1 = luaK_exp2RK(fs, e1); + if (o1 > o2) { + freeexp(fs, e1); + freeexp(fs, e2); + } + else { + freeexp(fs, e2); + freeexp(fs, e1); + } + e1->u.info = luaK_codeABC(fs, op, 0, o1, o2); + e1->k = VRELOCABLE; + luaK_fixline(fs, line); + } +} + + +static void codecomp (FuncState *fs, OpCode op, int cond, expdesc *e1, + expdesc *e2) { + int o1 = luaK_exp2RK(fs, e1); + int o2 = luaK_exp2RK(fs, e2); + freeexp(fs, e2); + freeexp(fs, e1); + if (cond == 0 && op != OP_EQ) { + int temp; /* exchange args to replace by `<' or `<=' */ + temp = o1; o1 = o2; o2 = temp; /* o1 <==> o2 */ + cond = 1; + } + e1->u.info = condjump(fs, op, cond, o1, o2); + e1->k = VJMP; +} + + +void luaK_prefix (FuncState *fs, UnOpr op, expdesc *e, int line) { + expdesc e2; + e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0; + switch (op) { + case OPR_MINUS: { + if (isnumeral(e)) /* minus constant? */ + e->u.nval = luai_numunm(NULL, e->u.nval); /* fold it */ + else { + luaK_exp2anyreg(fs, e); + codearith(fs, OP_UNM, e, &e2, line); + } + break; + } + case OPR_NOT: codenot(fs, e); break; + case OPR_LEN: { + luaK_exp2anyreg(fs, e); /* cannot operate on constants */ + codearith(fs, OP_LEN, e, &e2, line); + break; + } + default: lua_assert(0); + } +} + + +void luaK_infix (FuncState *fs, BinOpr op, expdesc *v) { + switch (op) { + case OPR_AND: { + luaK_goiftrue(fs, v); + break; + } + case OPR_OR: { + luaK_goiffalse(fs, v); + break; + } + case OPR_CONCAT: { + luaK_exp2nextreg(fs, v); /* operand must be on the `stack' */ + break; + } + case OPR_ADD: case OPR_SUB: case OPR_MUL: case OPR_DIV: + case OPR_MOD: case OPR_POW: { + if (!isnumeral(v)) luaK_exp2RK(fs, v); + break; + } + default: { + luaK_exp2RK(fs, v); + break; + } + } +} + + +void luaK_posfix (FuncState *fs, BinOpr op, + expdesc *e1, expdesc *e2, int line) { + switch (op) { + case OPR_AND: { + lua_assert(e1->t == NO_JUMP); /* list must be closed */ + luaK_dischargevars(fs, e2); + luaK_concat(fs, &e2->f, e1->f); + *e1 = *e2; + break; + } + case OPR_OR: { + lua_assert(e1->f == NO_JUMP); /* list must be closed */ + luaK_dischargevars(fs, e2); + luaK_concat(fs, &e2->t, e1->t); + *e1 = *e2; + break; + } + case OPR_CONCAT: { + luaK_exp2val(fs, e2); + if (e2->k == VRELOCABLE && GET_OPCODE(getcode(fs, e2)) == OP_CONCAT) { + lua_assert(e1->u.info == GETARG_B(getcode(fs, e2))-1); + freeexp(fs, e1); + SETARG_B(getcode(fs, e2), e1->u.info); + e1->k = VRELOCABLE; e1->u.info = e2->u.info; + } + else { + luaK_exp2nextreg(fs, e2); /* operand must be on the 'stack' */ + codearith(fs, OP_CONCAT, e1, e2, line); + } + break; + } + case OPR_ADD: case OPR_SUB: case OPR_MUL: case OPR_DIV: + case OPR_MOD: case OPR_POW: { + codearith(fs, cast(OpCode, op - OPR_ADD + OP_ADD), e1, e2, line); + break; + } + case OPR_EQ: case OPR_LT: case OPR_LE: { + codecomp(fs, cast(OpCode, op - OPR_EQ + OP_EQ), 1, e1, e2); + break; + } + case OPR_NE: case OPR_GT: case OPR_GE: { + codecomp(fs, cast(OpCode, op - OPR_NE + OP_EQ), 0, e1, e2); + break; + } + default: lua_assert(0); + } +} + + +void luaK_fixline (FuncState *fs, int line) { + fs->f->lineinfo[fs->pc - 1] = line; +} + + +void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) { + int c = (nelems - 1)/LFIELDS_PER_FLUSH + 1; + int b = (tostore == LUA_MULTRET) ? 0 : tostore; + lua_assert(tostore != 0); + if (c <= MAXARG_C) + luaK_codeABC(fs, OP_SETLIST, base, b, c); + else if (c <= MAXARG_Ax) { + luaK_codeABC(fs, OP_SETLIST, base, b, 0); + codeextraarg(fs, c); + } + else + luaX_syntaxerror(fs->ls, "constructor too long"); + fs->freereg = base + 1; /* free registers with list values */ +} + diff --git a/server/scripting/Lua/src/lcode.h b/server/scripting/Lua/src/lcode.h new file mode 100644 index 0000000..6a1424c --- /dev/null +++ b/server/scripting/Lua/src/lcode.h @@ -0,0 +1,83 @@ +/* +** $Id: lcode.h,v 1.58.1.1 2013/04/12 18:48:47 roberto Exp $ +** Code generator for Lua +** See Copyright Notice in lua.h +*/ + +#ifndef lcode_h +#define lcode_h + +#include "llex.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lparser.h" + + +/* +** Marks the end of a patch list. It is an invalid value both as an absolute +** address, and as a list link (would link an element to itself). +*/ +#define NO_JUMP (-1) + + +/* +** grep "ORDER OPR" if you change these enums (ORDER OP) +*/ +typedef enum BinOpr { + OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, + OPR_CONCAT, + OPR_EQ, OPR_LT, OPR_LE, + OPR_NE, OPR_GT, OPR_GE, + OPR_AND, OPR_OR, + OPR_NOBINOPR +} BinOpr; + + +typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; + + +#define getcode(fs,e) ((fs)->f->code[(e)->u.info]) + +#define luaK_codeAsBx(fs,o,A,sBx) luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx) + +#define luaK_setmultret(fs,e) luaK_setreturns(fs, e, LUA_MULTRET) + +#define luaK_jumpto(fs,t) luaK_patchlist(fs, luaK_jump(fs), t) + +LUAI_FUNC int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx); +LUAI_FUNC int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C); +LUAI_FUNC int luaK_codek (FuncState *fs, int reg, int k); +LUAI_FUNC void luaK_fixline (FuncState *fs, int line); +LUAI_FUNC void luaK_nil (FuncState *fs, int from, int n); +LUAI_FUNC void luaK_reserveregs (FuncState *fs, int n); +LUAI_FUNC void luaK_checkstack (FuncState *fs, int n); +LUAI_FUNC int luaK_stringK (FuncState *fs, TString *s); +LUAI_FUNC int luaK_numberK (FuncState *fs, lua_Number r); +LUAI_FUNC void luaK_dischargevars (FuncState *fs, expdesc *e); +LUAI_FUNC int luaK_exp2anyreg (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_exp2anyregup (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_exp2nextreg (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_exp2val (FuncState *fs, expdesc *e); +LUAI_FUNC int luaK_exp2RK (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_self (FuncState *fs, expdesc *e, expdesc *key); +LUAI_FUNC void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k); +LUAI_FUNC void luaK_goiftrue (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_goiffalse (FuncState *fs, expdesc *e); +LUAI_FUNC void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e); +LUAI_FUNC void luaK_setreturns (FuncState *fs, expdesc *e, int nresults); +LUAI_FUNC void luaK_setoneret (FuncState *fs, expdesc *e); +LUAI_FUNC int luaK_jump (FuncState *fs); +LUAI_FUNC void luaK_ret (FuncState *fs, int first, int nret); +LUAI_FUNC void luaK_patchlist (FuncState *fs, int list, int target); +LUAI_FUNC void luaK_patchtohere (FuncState *fs, int list); +LUAI_FUNC void luaK_patchclose (FuncState *fs, int list, int level); +LUAI_FUNC void luaK_concat (FuncState *fs, int *l1, int l2); +LUAI_FUNC int luaK_getlabel (FuncState *fs); +LUAI_FUNC void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v, int line); +LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v); +LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, + expdesc *v2, int line); +LUAI_FUNC void luaK_setlist (FuncState *fs, int base, int nelems, int tostore); + + +#endif diff --git a/server/scripting/Lua/src/lcorolib.c b/server/scripting/Lua/src/lcorolib.c new file mode 100644 index 0000000..ce4f6ad --- /dev/null +++ b/server/scripting/Lua/src/lcorolib.c @@ -0,0 +1,155 @@ +/* +** $Id: lcorolib.c,v 1.5.1.1 2013/04/12 18:48:47 roberto Exp $ +** Coroutine Library +** See Copyright Notice in lua.h +*/ + + +#include + + +#define lcorolib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +static int auxresume (lua_State *L, lua_State *co, int narg) { + int status; + if (!lua_checkstack(co, narg)) { + lua_pushliteral(L, "too many arguments to resume"); + return -1; /* error flag */ + } + if (lua_status(co) == LUA_OK && lua_gettop(co) == 0) { + lua_pushliteral(L, "cannot resume dead coroutine"); + return -1; /* error flag */ + } + lua_xmove(L, co, narg); + status = lua_resume(co, L, narg); + if (status == LUA_OK || status == LUA_YIELD) { + int nres = lua_gettop(co); + if (!lua_checkstack(L, nres + 1)) { + lua_pop(co, nres); /* remove results anyway */ + lua_pushliteral(L, "too many results to resume"); + return -1; /* error flag */ + } + lua_xmove(co, L, nres); /* move yielded values */ + return nres; + } + else { + lua_xmove(co, L, 1); /* move error message */ + return -1; /* error flag */ + } +} + + +static int luaB_coresume (lua_State *L) { + lua_State *co = lua_tothread(L, 1); + int r; + luaL_argcheck(L, co, 1, "coroutine expected"); + r = auxresume(L, co, lua_gettop(L) - 1); + if (r < 0) { + lua_pushboolean(L, 0); + lua_insert(L, -2); + return 2; /* return false + error message */ + } + else { + lua_pushboolean(L, 1); + lua_insert(L, -(r + 1)); + return r + 1; /* return true + `resume' returns */ + } +} + + +static int luaB_auxwrap (lua_State *L) { + lua_State *co = lua_tothread(L, lua_upvalueindex(1)); + int r = auxresume(L, co, lua_gettop(L)); + if (r < 0) { + if (lua_isstring(L, -1)) { /* error object is a string? */ + luaL_where(L, 1); /* add extra info */ + lua_insert(L, -2); + lua_concat(L, 2); + } + return lua_error(L); /* propagate error */ + } + return r; +} + + +static int luaB_cocreate (lua_State *L) { + lua_State *NL; + luaL_checktype(L, 1, LUA_TFUNCTION); + NL = lua_newthread(L); + lua_pushvalue(L, 1); /* move function to top */ + lua_xmove(L, NL, 1); /* move function from L to NL */ + return 1; +} + + +static int luaB_cowrap (lua_State *L) { + luaB_cocreate(L); + lua_pushcclosure(L, luaB_auxwrap, 1); + return 1; +} + + +static int luaB_yield (lua_State *L) { + return lua_yield(L, lua_gettop(L)); +} + + +static int luaB_costatus (lua_State *L) { + lua_State *co = lua_tothread(L, 1); + luaL_argcheck(L, co, 1, "coroutine expected"); + if (L == co) lua_pushliteral(L, "running"); + else { + switch (lua_status(co)) { + case LUA_YIELD: + lua_pushliteral(L, "suspended"); + break; + case LUA_OK: { + lua_Debug ar; + if (lua_getstack(co, 0, &ar) > 0) /* does it have frames? */ + lua_pushliteral(L, "normal"); /* it is running */ + else if (lua_gettop(co) == 0) + lua_pushliteral(L, "dead"); + else + lua_pushliteral(L, "suspended"); /* initial state */ + break; + } + default: /* some error occurred */ + lua_pushliteral(L, "dead"); + break; + } + } + return 1; +} + + +static int luaB_corunning (lua_State *L) { + int ismain = lua_pushthread(L); + lua_pushboolean(L, ismain); + return 2; +} + + +static const luaL_Reg co_funcs[] = { + {"create", luaB_cocreate}, + {"resume", luaB_coresume}, + {"running", luaB_corunning}, + {"status", luaB_costatus}, + {"wrap", luaB_cowrap}, + {"yield", luaB_yield}, + {NULL, NULL} +}; + + + +LUAMOD_API int luaopen_coroutine (lua_State *L) { + luaL_newlib(L, co_funcs); + return 1; +} + diff --git a/server/scripting/Lua/src/lctype.c b/server/scripting/Lua/src/lctype.c new file mode 100644 index 0000000..93f8cad --- /dev/null +++ b/server/scripting/Lua/src/lctype.c @@ -0,0 +1,52 @@ +/* +** $Id: lctype.c,v 1.11.1.1 2013/04/12 18:48:47 roberto Exp $ +** 'ctype' functions for Lua +** See Copyright Notice in lua.h +*/ + +#define lctype_c +#define LUA_CORE + +#include "lctype.h" + +#if !LUA_USE_CTYPE /* { */ + +#include + +LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = { + 0x00, /* EOZ */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0. */ + 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, /* 2. */ + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /* 3. */ + 0x16, 0x16, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 4. */ + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 5. */ + 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, + 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 6. */ + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 7. */ + 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 9. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* a. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* b. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* d. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* e. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* f. */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +#endif /* } */ diff --git a/server/scripting/Lua/src/lctype.h b/server/scripting/Lua/src/lctype.h new file mode 100644 index 0000000..b09b21a --- /dev/null +++ b/server/scripting/Lua/src/lctype.h @@ -0,0 +1,95 @@ +/* +** $Id: lctype.h,v 1.12.1.1 2013/04/12 18:48:47 roberto Exp $ +** 'ctype' functions for Lua +** See Copyright Notice in lua.h +*/ + +#ifndef lctype_h +#define lctype_h + +#include "lua.h" + + +/* +** WARNING: the functions defined here do not necessarily correspond +** to the similar functions in the standard C ctype.h. They are +** optimized for the specific needs of Lua +*/ + +#if !defined(LUA_USE_CTYPE) + +#if 'A' == 65 && '0' == 48 +/* ASCII case: can use its own tables; faster and fixed */ +#define LUA_USE_CTYPE 0 +#else +/* must use standard C ctype */ +#define LUA_USE_CTYPE 1 +#endif + +#endif + + +#if !LUA_USE_CTYPE /* { */ + +#include + +#include "llimits.h" + + +#define ALPHABIT 0 +#define DIGITBIT 1 +#define PRINTBIT 2 +#define SPACEBIT 3 +#define XDIGITBIT 4 + + +#define MASK(B) (1 << (B)) + + +/* +** add 1 to char to allow index -1 (EOZ) +*/ +#define testprop(c,p) (luai_ctype_[(c)+1] & (p)) + +/* +** 'lalpha' (Lua alphabetic) and 'lalnum' (Lua alphanumeric) both include '_' +*/ +#define lislalpha(c) testprop(c, MASK(ALPHABIT)) +#define lislalnum(c) testprop(c, (MASK(ALPHABIT) | MASK(DIGITBIT))) +#define lisdigit(c) testprop(c, MASK(DIGITBIT)) +#define lisspace(c) testprop(c, MASK(SPACEBIT)) +#define lisprint(c) testprop(c, MASK(PRINTBIT)) +#define lisxdigit(c) testprop(c, MASK(XDIGITBIT)) + +/* +** this 'ltolower' only works for alphabetic characters +*/ +#define ltolower(c) ((c) | ('A' ^ 'a')) + + +/* two more entries for 0 and -1 (EOZ) */ +LUAI_DDEC const lu_byte luai_ctype_[UCHAR_MAX + 2]; + + +#else /* }{ */ + +/* +** use standard C ctypes +*/ + +#include + + +#define lislalpha(c) (isalpha(c) || (c) == '_') +#define lislalnum(c) (isalnum(c) || (c) == '_') +#define lisdigit(c) (isdigit(c)) +#define lisspace(c) (isspace(c)) +#define lisprint(c) (isprint(c)) +#define lisxdigit(c) (isxdigit(c)) + +#define ltolower(c) (tolower(c)) + +#endif /* } */ + +#endif + diff --git a/server/scripting/Lua/src/ldblib.c b/server/scripting/Lua/src/ldblib.c new file mode 100644 index 0000000..bd8df9d --- /dev/null +++ b/server/scripting/Lua/src/ldblib.c @@ -0,0 +1,408 @@ +/* +** $Id: ldblib.c,v 1.132.1.2 2015/02/19 17:16:55 roberto Exp $ +** Interface from Lua to its debug API +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include + +#define ldblib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +#define HOOKKEY "_HKEY" + + +static void checkstack (lua_State *L, lua_State *L1, int n) { + if (L != L1 && !lua_checkstack(L1, n)) + luaL_error(L, "stack overflow"); +} + + +static int db_getregistry (lua_State *L) { + lua_pushvalue(L, LUA_REGISTRYINDEX); + return 1; +} + + +static int db_getmetatable (lua_State *L) { + luaL_checkany(L, 1); + if (!lua_getmetatable(L, 1)) { + lua_pushnil(L); /* no metatable */ + } + return 1; +} + + +static int db_setmetatable (lua_State *L) { + int t = lua_type(L, 2); + luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, + "nil or table expected"); + lua_settop(L, 2); + lua_setmetatable(L, 1); + return 1; /* return 1st argument */ +} + + +static int db_getuservalue (lua_State *L) { + if (lua_type(L, 1) != LUA_TUSERDATA) + lua_pushnil(L); + else + lua_getuservalue(L, 1); + return 1; +} + + +static int db_setuservalue (lua_State *L) { + if (lua_type(L, 1) == LUA_TLIGHTUSERDATA) + luaL_argerror(L, 1, "full userdata expected, got light userdata"); + luaL_checktype(L, 1, LUA_TUSERDATA); + if (!lua_isnoneornil(L, 2)) + luaL_checktype(L, 2, LUA_TTABLE); + lua_settop(L, 2); + lua_setuservalue(L, 1); + return 1; +} + + +static void settabss (lua_State *L, const char *i, const char *v) { + lua_pushstring(L, v); + lua_setfield(L, -2, i); +} + + +static void settabsi (lua_State *L, const char *i, int v) { + lua_pushinteger(L, v); + lua_setfield(L, -2, i); +} + + +static void settabsb (lua_State *L, const char *i, int v) { + lua_pushboolean(L, v); + lua_setfield(L, -2, i); +} + + +static lua_State *getthread (lua_State *L, int *arg) { + if (lua_isthread(L, 1)) { + *arg = 1; + return lua_tothread(L, 1); + } + else { + *arg = 0; + return L; + } +} + + +static void treatstackoption (lua_State *L, lua_State *L1, const char *fname) { + if (L == L1) { + lua_pushvalue(L, -2); + lua_remove(L, -3); + } + else + lua_xmove(L1, L, 1); + lua_setfield(L, -2, fname); +} + + +static int db_getinfo (lua_State *L) { + lua_Debug ar; + int arg; + lua_State *L1 = getthread(L, &arg); + const char *options = luaL_optstring(L, arg+2, "flnStu"); + checkstack(L, L1, 3); + if (lua_isnumber(L, arg+1)) { + if (!lua_getstack(L1, (int)lua_tointeger(L, arg+1), &ar)) { + lua_pushnil(L); /* level out of range */ + return 1; + } + } + else if (lua_isfunction(L, arg+1)) { + lua_pushfstring(L, ">%s", options); + options = lua_tostring(L, -1); + lua_pushvalue(L, arg+1); + lua_xmove(L, L1, 1); + } + else + return luaL_argerror(L, arg+1, "function or level expected"); + if (!lua_getinfo(L1, options, &ar)) + return luaL_argerror(L, arg+2, "invalid option"); + lua_createtable(L, 0, 2); + if (strchr(options, 'S')) { + settabss(L, "source", ar.source); + settabss(L, "short_src", ar.short_src); + settabsi(L, "linedefined", ar.linedefined); + settabsi(L, "lastlinedefined", ar.lastlinedefined); + settabss(L, "what", ar.what); + } + if (strchr(options, 'l')) + settabsi(L, "currentline", ar.currentline); + if (strchr(options, 'u')) { + settabsi(L, "nups", ar.nups); + settabsi(L, "nparams", ar.nparams); + settabsb(L, "isvararg", ar.isvararg); + } + if (strchr(options, 'n')) { + settabss(L, "name", ar.name); + settabss(L, "namewhat", ar.namewhat); + } + if (strchr(options, 't')) + settabsb(L, "istailcall", ar.istailcall); + if (strchr(options, 'L')) + treatstackoption(L, L1, "activelines"); + if (strchr(options, 'f')) + treatstackoption(L, L1, "func"); + return 1; /* return table */ +} + + +static int db_getlocal (lua_State *L) { + int arg; + lua_State *L1 = getthread(L, &arg); + lua_Debug ar; + const char *name; + int nvar = luaL_checkint(L, arg+2); /* local-variable index */ + if (lua_isfunction(L, arg + 1)) { /* function argument? */ + lua_pushvalue(L, arg + 1); /* push function */ + lua_pushstring(L, lua_getlocal(L, NULL, nvar)); /* push local name */ + return 1; + } + else { /* stack-level argument */ + if (!lua_getstack(L1, luaL_checkint(L, arg+1), &ar)) /* out of range? */ + return luaL_argerror(L, arg+1, "level out of range"); + checkstack(L, L1, 1); + name = lua_getlocal(L1, &ar, nvar); + if (name) { + lua_xmove(L1, L, 1); /* push local value */ + lua_pushstring(L, name); /* push name */ + lua_pushvalue(L, -2); /* re-order */ + return 2; + } + else { + lua_pushnil(L); /* no name (nor value) */ + return 1; + } + } +} + + +static int db_setlocal (lua_State *L) { + int arg; + lua_State *L1 = getthread(L, &arg); + lua_Debug ar; + if (!lua_getstack(L1, luaL_checkint(L, arg+1), &ar)) /* out of range? */ + return luaL_argerror(L, arg+1, "level out of range"); + luaL_checkany(L, arg+3); + lua_settop(L, arg+3); + checkstack(L, L1, 1); + lua_xmove(L, L1, 1); + lua_pushstring(L, lua_setlocal(L1, &ar, luaL_checkint(L, arg+2))); + return 1; +} + + +static int auxupvalue (lua_State *L, int get) { + const char *name; + int n = luaL_checkint(L, 2); + luaL_checktype(L, 1, LUA_TFUNCTION); + name = get ? lua_getupvalue(L, 1, n) : lua_setupvalue(L, 1, n); + if (name == NULL) return 0; + lua_pushstring(L, name); + lua_insert(L, -(get+1)); + return get + 1; +} + + +static int db_getupvalue (lua_State *L) { + return auxupvalue(L, 1); +} + + +static int db_setupvalue (lua_State *L) { + luaL_checkany(L, 3); + return auxupvalue(L, 0); +} + + +static int checkupval (lua_State *L, int argf, int argnup) { + lua_Debug ar; + int nup = luaL_checkint(L, argnup); + luaL_checktype(L, argf, LUA_TFUNCTION); + lua_pushvalue(L, argf); + lua_getinfo(L, ">u", &ar); + luaL_argcheck(L, 1 <= nup && nup <= ar.nups, argnup, "invalid upvalue index"); + return nup; +} + + +static int db_upvalueid (lua_State *L) { + int n = checkupval(L, 1, 2); + lua_pushlightuserdata(L, lua_upvalueid(L, 1, n)); + return 1; +} + + +static int db_upvaluejoin (lua_State *L) { + int n1 = checkupval(L, 1, 2); + int n2 = checkupval(L, 3, 4); + luaL_argcheck(L, !lua_iscfunction(L, 1), 1, "Lua function expected"); + luaL_argcheck(L, !lua_iscfunction(L, 3), 3, "Lua function expected"); + lua_upvaluejoin(L, 1, n1, 3, n2); + return 0; +} + + +#define gethooktable(L) luaL_getsubtable(L, LUA_REGISTRYINDEX, HOOKKEY) + + +static void hookf (lua_State *L, lua_Debug *ar) { + static const char *const hooknames[] = + {"call", "return", "line", "count", "tail call"}; + gethooktable(L); + lua_pushthread(L); + lua_rawget(L, -2); + if (lua_isfunction(L, -1)) { + lua_pushstring(L, hooknames[(int)ar->event]); + if (ar->currentline >= 0) + lua_pushinteger(L, ar->currentline); + else lua_pushnil(L); + lua_assert(lua_getinfo(L, "lS", ar)); + lua_call(L, 2, 0); + } +} + + +static int makemask (const char *smask, int count) { + int mask = 0; + if (strchr(smask, 'c')) mask |= LUA_MASKCALL; + if (strchr(smask, 'r')) mask |= LUA_MASKRET; + if (strchr(smask, 'l')) mask |= LUA_MASKLINE; + if (count > 0) mask |= LUA_MASKCOUNT; + return mask; +} + + +static char *unmakemask (int mask, char *smask) { + int i = 0; + if (mask & LUA_MASKCALL) smask[i++] = 'c'; + if (mask & LUA_MASKRET) smask[i++] = 'r'; + if (mask & LUA_MASKLINE) smask[i++] = 'l'; + smask[i] = '\0'; + return smask; +} + + +static int db_sethook (lua_State *L) { + int arg, mask, count; + lua_Hook func; + lua_State *L1 = getthread(L, &arg); + if (lua_isnoneornil(L, arg+1)) { + lua_settop(L, arg+1); + func = NULL; mask = 0; count = 0; /* turn off hooks */ + } + else { + const char *smask = luaL_checkstring(L, arg+2); + luaL_checktype(L, arg+1, LUA_TFUNCTION); + count = luaL_optint(L, arg+3, 0); + func = hookf; mask = makemask(smask, count); + } + if (gethooktable(L) == 0) { /* creating hook table? */ + lua_pushstring(L, "k"); + lua_setfield(L, -2, "__mode"); /** hooktable.__mode = "k" */ + lua_pushvalue(L, -1); + lua_setmetatable(L, -2); /* setmetatable(hooktable) = hooktable */ + } + checkstack(L, L1, 1); + lua_pushthread(L1); lua_xmove(L1, L, 1); + lua_pushvalue(L, arg+1); + lua_rawset(L, -3); /* set new hook */ + lua_sethook(L1, func, mask, count); /* set hooks */ + return 0; +} + + +static int db_gethook (lua_State *L) { + int arg; + lua_State *L1 = getthread(L, &arg); + char buff[5]; + int mask = lua_gethookmask(L1); + lua_Hook hook = lua_gethook(L1); + if (hook != NULL && hook != hookf) /* external hook? */ + lua_pushliteral(L, "external hook"); + else { + gethooktable(L); + checkstack(L, L1, 1); + lua_pushthread(L1); lua_xmove(L1, L, 1); + lua_rawget(L, -2); /* get hook */ + lua_remove(L, -2); /* remove hook table */ + } + lua_pushstring(L, unmakemask(mask, buff)); + lua_pushinteger(L, lua_gethookcount(L1)); + return 3; +} + + +static int db_debug (lua_State *L) { + for (;;) { + char buffer[250]; + luai_writestringerror("%s", "lua_debug> "); + if (fgets(buffer, sizeof(buffer), stdin) == 0 || + strcmp(buffer, "cont\n") == 0) + return 0; + if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") || + lua_pcall(L, 0, 0, 0)) + luai_writestringerror("%s\n", lua_tostring(L, -1)); + lua_settop(L, 0); /* remove eventual returns */ + } +} + + +static int db_traceback (lua_State *L) { + int arg; + lua_State *L1 = getthread(L, &arg); + const char *msg = lua_tostring(L, arg + 1); + if (msg == NULL && !lua_isnoneornil(L, arg + 1)) /* non-string 'msg'? */ + lua_pushvalue(L, arg + 1); /* return it untouched */ + else { + int level = luaL_optint(L, arg + 2, (L == L1) ? 1 : 0); + luaL_traceback(L, L1, msg, level); + } + return 1; +} + + +static const luaL_Reg dblib[] = { + {"debug", db_debug}, + {"getuservalue", db_getuservalue}, + {"gethook", db_gethook}, + {"getinfo", db_getinfo}, + {"getlocal", db_getlocal}, + {"getregistry", db_getregistry}, + {"getmetatable", db_getmetatable}, + {"getupvalue", db_getupvalue}, + {"upvaluejoin", db_upvaluejoin}, + {"upvalueid", db_upvalueid}, + {"setuservalue", db_setuservalue}, + {"sethook", db_sethook}, + {"setlocal", db_setlocal}, + {"setmetatable", db_setmetatable}, + {"setupvalue", db_setupvalue}, + {"traceback", db_traceback}, + {NULL, NULL} +}; + + +LUAMOD_API int luaopen_debug (lua_State *L) { + luaL_newlib(L, dblib); + return 1; +} + diff --git a/server/scripting/Lua/src/ldebug.c b/server/scripting/Lua/src/ldebug.c new file mode 100644 index 0000000..9611846 --- /dev/null +++ b/server/scripting/Lua/src/ldebug.c @@ -0,0 +1,610 @@ +/* +** $Id: ldebug.c,v 2.90.1.4 2015/02/19 17:05:13 roberto Exp $ +** Debug Interface +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include + + +#define ldebug_c +#define LUA_CORE + +#include "lua.h" + +#include "lapi.h" +#include "lcode.h" +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" +#include "lvm.h" + + + +#define noLuaClosure(f) ((f) == NULL || (f)->c.tt == LUA_TCCL) + + +static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name); + + +static int currentpc (CallInfo *ci) { + lua_assert(isLua(ci)); + return pcRel(ci->u.l.savedpc, ci_func(ci)->p); +} + + +static int currentline (CallInfo *ci) { + return getfuncline(ci_func(ci)->p, currentpc(ci)); +} + + +static void swapextra (lua_State *L) { + if (L->status == LUA_YIELD) { + CallInfo *ci = L->ci; /* get function that yielded */ + StkId temp = ci->func; /* exchange its 'func' and 'extra' values */ + ci->func = restorestack(L, ci->extra); + ci->extra = savestack(L, temp); + } +} + + +/* +** this function can be called asynchronous (e.g. during a signal) +*/ +LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { + if (func == NULL || mask == 0) { /* turn off hooks? */ + mask = 0; + func = NULL; + } + if (isLua(L->ci)) + L->oldpc = L->ci->u.l.savedpc; + L->hook = func; + L->basehookcount = count; + resethookcount(L); + L->hookmask = cast_byte(mask); + return 1; +} + + +LUA_API lua_Hook lua_gethook (lua_State *L) { + return L->hook; +} + + +LUA_API int lua_gethookmask (lua_State *L) { + return L->hookmask; +} + + +LUA_API int lua_gethookcount (lua_State *L) { + return L->basehookcount; +} + + +LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { + int status; + CallInfo *ci; + if (level < 0) return 0; /* invalid (negative) level */ + lua_lock(L); + for (ci = L->ci; level > 0 && ci != &L->base_ci; ci = ci->previous) + level--; + if (level == 0 && ci != &L->base_ci) { /* level found? */ + status = 1; + ar->i_ci = ci; + } + else status = 0; /* no such level */ + lua_unlock(L); + return status; +} + + +static const char *upvalname (Proto *p, int uv) { + TString *s = check_exp(uv < p->sizeupvalues, p->upvalues[uv].name); + if (s == NULL) return "?"; + else return getstr(s); +} + + +static const char *findvararg (CallInfo *ci, int n, StkId *pos) { + int nparams = clLvalue(ci->func)->p->numparams; + if (n >= ci->u.l.base - ci->func - nparams) + return NULL; /* no such vararg */ + else { + *pos = ci->func + nparams + n; + return "(*vararg)"; /* generic name for any vararg */ + } +} + + +static const char *findlocal (lua_State *L, CallInfo *ci, int n, + StkId *pos) { + const char *name = NULL; + StkId base; + if (isLua(ci)) { + if (n < 0) /* access to vararg values? */ + return findvararg(ci, -n, pos); + else { + base = ci->u.l.base; + name = luaF_getlocalname(ci_func(ci)->p, n, currentpc(ci)); + } + } + else + base = ci->func + 1; + if (name == NULL) { /* no 'standard' name? */ + StkId limit = (ci == L->ci) ? L->top : ci->next->func; + if (limit - base >= n && n > 0) /* is 'n' inside 'ci' stack? */ + name = "(*temporary)"; /* generic name for any valid slot */ + else + return NULL; /* no name */ + } + *pos = base + (n - 1); + return name; +} + + +LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n) { + const char *name; + lua_lock(L); + swapextra(L); + if (ar == NULL) { /* information about non-active function? */ + if (!isLfunction(L->top - 1)) /* not a Lua function? */ + name = NULL; + else /* consider live variables at function start (parameters) */ + name = luaF_getlocalname(clLvalue(L->top - 1)->p, n, 0); + } + else { /* active function; get information through 'ar' */ + StkId pos = 0; /* to avoid warnings */ + name = findlocal(L, ar->i_ci, n, &pos); + if (name) { + setobj2s(L, L->top, pos); + api_incr_top(L); + } + } + swapextra(L); + lua_unlock(L); + return name; +} + + +LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n) { + StkId pos = 0; /* to avoid warnings */ + const char *name; + lua_lock(L); + swapextra(L); + name = findlocal(L, ar->i_ci, n, &pos); + if (name) + setobjs2s(L, pos, L->top - 1); + L->top--; /* pop value */ + swapextra(L); + lua_unlock(L); + return name; +} + + +static void funcinfo (lua_Debug *ar, Closure *cl) { + if (noLuaClosure(cl)) { + ar->source = "=[C]"; + ar->linedefined = -1; + ar->lastlinedefined = -1; + ar->what = "C"; + } + else { + Proto *p = cl->l.p; + ar->source = p->source ? getstr(p->source) : "=?"; + ar->linedefined = p->linedefined; + ar->lastlinedefined = p->lastlinedefined; + ar->what = (ar->linedefined == 0) ? "main" : "Lua"; + } + luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE); +} + + +static void collectvalidlines (lua_State *L, Closure *f) { + if (noLuaClosure(f)) { + setnilvalue(L->top); + api_incr_top(L); + } + else { + int i; + TValue v; + int *lineinfo = f->l.p->lineinfo; + Table *t = luaH_new(L); /* new table to store active lines */ + sethvalue(L, L->top, t); /* push it on stack */ + api_incr_top(L); + setbvalue(&v, 1); /* boolean 'true' to be the value of all indices */ + for (i = 0; i < f->l.p->sizelineinfo; i++) /* for all lines with code */ + luaH_setint(L, t, lineinfo[i], &v); /* table[line] = true */ + } +} + + +static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar, + Closure *f, CallInfo *ci) { + int status = 1; + for (; *what; what++) { + switch (*what) { + case 'S': { + funcinfo(ar, f); + break; + } + case 'l': { + ar->currentline = (ci && isLua(ci)) ? currentline(ci) : -1; + break; + } + case 'u': { + ar->nups = (f == NULL) ? 0 : f->c.nupvalues; + if (noLuaClosure(f)) { + ar->isvararg = 1; + ar->nparams = 0; + } + else { + ar->isvararg = f->l.p->is_vararg; + ar->nparams = f->l.p->numparams; + } + break; + } + case 't': { + ar->istailcall = (ci) ? ci->callstatus & CIST_TAIL : 0; + break; + } + case 'n': { + /* calling function is a known Lua function? */ + if (ci && !(ci->callstatus & CIST_TAIL) && isLua(ci->previous)) + ar->namewhat = getfuncname(L, ci->previous, &ar->name); + else + ar->namewhat = NULL; + if (ar->namewhat == NULL) { + ar->namewhat = ""; /* not found */ + ar->name = NULL; + } + break; + } + case 'L': + case 'f': /* handled by lua_getinfo */ + break; + default: status = 0; /* invalid option */ + } + } + return status; +} + + +LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { + int status; + Closure *cl; + CallInfo *ci; + StkId func; + lua_lock(L); + swapextra(L); + if (*what == '>') { + ci = NULL; + func = L->top - 1; + api_check(L, ttisfunction(func), "function expected"); + what++; /* skip the '>' */ + L->top--; /* pop function */ + } + else { + ci = ar->i_ci; + func = ci->func; + lua_assert(ttisfunction(ci->func)); + } + cl = ttisclosure(func) ? clvalue(func) : NULL; + status = auxgetinfo(L, what, ar, cl, ci); + if (strchr(what, 'f')) { + setobjs2s(L, L->top, func); + api_incr_top(L); + } + swapextra(L); + if (strchr(what, 'L')) + collectvalidlines(L, cl); + lua_unlock(L); + return status; +} + + +/* +** {====================================================== +** Symbolic Execution +** ======================================================= +*/ + +static const char *getobjname (Proto *p, int lastpc, int reg, + const char **name); + + +/* +** find a "name" for the RK value 'c' +*/ +static void kname (Proto *p, int pc, int c, const char **name) { + if (ISK(c)) { /* is 'c' a constant? */ + TValue *kvalue = &p->k[INDEXK(c)]; + if (ttisstring(kvalue)) { /* literal constant? */ + *name = svalue(kvalue); /* it is its own name */ + return; + } + /* else no reasonable name found */ + } + else { /* 'c' is a register */ + const char *what = getobjname(p, pc, c, name); /* search for 'c' */ + if (what && *what == 'c') { /* found a constant name? */ + return; /* 'name' already filled */ + } + /* else no reasonable name found */ + } + *name = "?"; /* no reasonable name found */ +} + + +static int filterpc (int pc, int jmptarget) { + if (pc < jmptarget) /* is code conditional (inside a jump)? */ + return -1; /* cannot know who sets that register */ + else return pc; /* current position sets that register */ +} + + +/* +** try to find last instruction before 'lastpc' that modified register 'reg' +*/ +static int findsetreg (Proto *p, int lastpc, int reg) { + int pc; + int setreg = -1; /* keep last instruction that changed 'reg' */ + int jmptarget = 0; /* any code before this address is conditional */ + for (pc = 0; pc < lastpc; pc++) { + Instruction i = p->code[pc]; + OpCode op = GET_OPCODE(i); + int a = GETARG_A(i); + switch (op) { + case OP_LOADNIL: { + int b = GETARG_B(i); + if (a <= reg && reg <= a + b) /* set registers from 'a' to 'a+b' */ + setreg = filterpc(pc, jmptarget); + break; + } + case OP_TFORCALL: { + if (reg >= a + 2) /* affect all regs above its base */ + setreg = filterpc(pc, jmptarget); + break; + } + case OP_CALL: + case OP_TAILCALL: { + if (reg >= a) /* affect all registers above base */ + setreg = filterpc(pc, jmptarget); + break; + } + case OP_JMP: { + int b = GETARG_sBx(i); + int dest = pc + 1 + b; + /* jump is forward and do not skip `lastpc'? */ + if (pc < dest && dest <= lastpc) { + if (dest > jmptarget) + jmptarget = dest; /* update 'jmptarget' */ + } + break; + } + case OP_TEST: { + if (reg == a) /* jumped code can change 'a' */ + setreg = filterpc(pc, jmptarget); + break; + } + default: + if (testAMode(op) && reg == a) /* any instruction that set A */ + setreg = filterpc(pc, jmptarget); + break; + } + } + return setreg; +} + + +static const char *getobjname (Proto *p, int lastpc, int reg, + const char **name) { + int pc; + *name = luaF_getlocalname(p, reg + 1, lastpc); + if (*name) /* is a local? */ + return "local"; + /* else try symbolic execution */ + pc = findsetreg(p, lastpc, reg); + if (pc != -1) { /* could find instruction? */ + Instruction i = p->code[pc]; + OpCode op = GET_OPCODE(i); + switch (op) { + case OP_MOVE: { + int b = GETARG_B(i); /* move from 'b' to 'a' */ + if (b < GETARG_A(i)) + return getobjname(p, pc, b, name); /* get name for 'b' */ + break; + } + case OP_GETTABUP: + case OP_GETTABLE: { + int k = GETARG_C(i); /* key index */ + int t = GETARG_B(i); /* table index */ + const char *vn = (op == OP_GETTABLE) /* name of indexed variable */ + ? luaF_getlocalname(p, t + 1, pc) + : upvalname(p, t); + kname(p, pc, k, name); + return (vn && strcmp(vn, LUA_ENV) == 0) ? "global" : "field"; + } + case OP_GETUPVAL: { + *name = upvalname(p, GETARG_B(i)); + return "upvalue"; + } + case OP_LOADK: + case OP_LOADKX: { + int b = (op == OP_LOADK) ? GETARG_Bx(i) + : GETARG_Ax(p->code[pc + 1]); + if (ttisstring(&p->k[b])) { + *name = svalue(&p->k[b]); + return "constant"; + } + break; + } + case OP_SELF: { + int k = GETARG_C(i); /* key index */ + kname(p, pc, k, name); + return "method"; + } + default: break; /* go through to return NULL */ + } + } + return NULL; /* could not find reasonable name */ +} + + +static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name) { + TMS tm; + Proto *p = ci_func(ci)->p; /* calling function */ + int pc = currentpc(ci); /* calling instruction index */ + Instruction i = p->code[pc]; /* calling instruction */ + switch (GET_OPCODE(i)) { + case OP_CALL: + case OP_TAILCALL: /* get function name */ + return getobjname(p, pc, GETARG_A(i), name); + case OP_TFORCALL: { /* for iterator */ + *name = "for iterator"; + return "for iterator"; + } + /* all other instructions can call only through metamethods */ + case OP_SELF: + case OP_GETTABUP: + case OP_GETTABLE: tm = TM_INDEX; break; + case OP_SETTABUP: + case OP_SETTABLE: tm = TM_NEWINDEX; break; + case OP_EQ: tm = TM_EQ; break; + case OP_ADD: tm = TM_ADD; break; + case OP_SUB: tm = TM_SUB; break; + case OP_MUL: tm = TM_MUL; break; + case OP_DIV: tm = TM_DIV; break; + case OP_MOD: tm = TM_MOD; break; + case OP_POW: tm = TM_POW; break; + case OP_UNM: tm = TM_UNM; break; + case OP_LEN: tm = TM_LEN; break; + case OP_LT: tm = TM_LT; break; + case OP_LE: tm = TM_LE; break; + case OP_CONCAT: tm = TM_CONCAT; break; + default: + return NULL; /* else no useful name can be found */ + } + *name = getstr(G(L)->tmname[tm]); + return "metamethod"; +} + +/* }====================================================== */ + + + +/* +** only ANSI way to check whether a pointer points to an array +** (used only for error messages, so efficiency is not a big concern) +*/ +static int isinstack (CallInfo *ci, const TValue *o) { + StkId p; + for (p = ci->u.l.base; p < ci->top; p++) + if (o == p) return 1; + return 0; +} + + +static const char *getupvalname (CallInfo *ci, const TValue *o, + const char **name) { + LClosure *c = ci_func(ci); + int i; + for (i = 0; i < c->nupvalues; i++) { + if (c->upvals[i]->v == o) { + *name = upvalname(c->p, i); + return "upvalue"; + } + } + return NULL; +} + + +l_noret luaG_typeerror (lua_State *L, const TValue *o, const char *op) { + CallInfo *ci = L->ci; + const char *name = NULL; + const char *t = objtypename(o); + const char *kind = NULL; + if (isLua(ci)) { + kind = getupvalname(ci, o, &name); /* check whether 'o' is an upvalue */ + if (!kind && isinstack(ci, o)) /* no? try a register */ + kind = getobjname(ci_func(ci)->p, currentpc(ci), + cast_int(o - ci->u.l.base), &name); + } + if (kind) + luaG_runerror(L, "attempt to %s %s " LUA_QS " (a %s value)", + op, kind, name, t); + else + luaG_runerror(L, "attempt to %s a %s value", op, t); +} + + +l_noret luaG_concaterror (lua_State *L, StkId p1, StkId p2) { + if (ttisstring(p1) || ttisnumber(p1)) p1 = p2; + lua_assert(!ttisstring(p1) && !ttisnumber(p1)); + luaG_typeerror(L, p1, "concatenate"); +} + + +l_noret luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2) { + TValue temp; + if (luaV_tonumber(p1, &temp) == NULL) + p2 = p1; /* first operand is wrong */ + luaG_typeerror(L, p2, "perform arithmetic on"); +} + + +l_noret luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { + const char *t1 = objtypename(p1); + const char *t2 = objtypename(p2); + if (t1 == t2) + luaG_runerror(L, "attempt to compare two %s values", t1); + else + luaG_runerror(L, "attempt to compare %s with %s", t1, t2); +} + + +static void addinfo (lua_State *L, const char *msg) { + CallInfo *ci = L->ci; + if (isLua(ci)) { /* is Lua code? */ + char buff[LUA_IDSIZE]; /* add file:line information */ + int line = currentline(ci); + TString *src = ci_func(ci)->p->source; + if (src) + luaO_chunkid(buff, getstr(src), LUA_IDSIZE); + else { /* no source available; use "?" instead */ + buff[0] = '?'; buff[1] = '\0'; + } + luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); + } +} + + +l_noret luaG_errormsg (lua_State *L) { + if (L->errfunc != 0) { /* is there an error handling function? */ + StkId errfunc = restorestack(L, L->errfunc); + if (!ttisfunction(errfunc)) luaD_throw(L, LUA_ERRERR); + setobjs2s(L, L->top, L->top - 1); /* move argument */ + setobjs2s(L, L->top - 1, errfunc); /* push function */ + L->top++; + luaD_call(L, L->top - 2, 1, 0); /* call it */ + } + luaD_throw(L, LUA_ERRRUN); +} + + +l_noret luaG_runerror (lua_State *L, const char *fmt, ...) { + va_list argp; + va_start(argp, fmt); + addinfo(L, luaO_pushvfstring(L, fmt, argp)); + va_end(argp); + luaG_errormsg(L); +} + diff --git a/server/scripting/Lua/src/ldebug.h b/server/scripting/Lua/src/ldebug.h new file mode 100644 index 0000000..6445c76 --- /dev/null +++ b/server/scripting/Lua/src/ldebug.h @@ -0,0 +1,34 @@ +/* +** $Id: ldebug.h,v 2.7.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions from Debug Interface module +** See Copyright Notice in lua.h +*/ + +#ifndef ldebug_h +#define ldebug_h + + +#include "lstate.h" + + +#define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) + +#define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) + +#define resethookcount(L) (L->hookcount = L->basehookcount) + +/* Active Lua function (given call info) */ +#define ci_func(ci) (clLvalue((ci)->func)) + + +LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, + const char *opname); +LUAI_FUNC l_noret luaG_concaterror (lua_State *L, StkId p1, StkId p2); +LUAI_FUNC l_noret luaG_aritherror (lua_State *L, const TValue *p1, + const TValue *p2); +LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, + const TValue *p2); +LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); +LUAI_FUNC l_noret luaG_errormsg (lua_State *L); + +#endif diff --git a/server/scripting/Lua/src/ldo.c b/server/scripting/Lua/src/ldo.c new file mode 100644 index 0000000..e9dd5fa --- /dev/null +++ b/server/scripting/Lua/src/ldo.c @@ -0,0 +1,681 @@ +/* +** $Id: ldo.c,v 2.108.1.3 2013/11/08 18:22:50 roberto Exp $ +** Stack and Call structure of Lua +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include + +#define ldo_c +#define LUA_CORE + +#include "lua.h" + +#include "lapi.h" +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lparser.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" +#include "lundump.h" +#include "lvm.h" +#include "lzio.h" + + + + +/* +** {====================================================== +** Error-recovery functions +** ======================================================= +*/ + +/* +** LUAI_THROW/LUAI_TRY define how Lua does exception handling. By +** default, Lua handles errors with exceptions when compiling as +** C++ code, with _longjmp/_setjmp when asked to use them, and with +** longjmp/setjmp otherwise. +*/ +#if !defined(LUAI_THROW) + +#if defined(__cplusplus) && !defined(LUA_USE_LONGJMP) +/* C++ exceptions */ +#define LUAI_THROW(L,c) throw(c) +#define LUAI_TRY(L,c,a) \ + try { a } catch(...) { if ((c)->status == 0) (c)->status = -1; } +#define luai_jmpbuf int /* dummy variable */ + +#elif defined(LUA_USE_ULONGJMP) +/* in Unix, try _longjmp/_setjmp (more efficient) */ +#define LUAI_THROW(L,c) _longjmp((c)->b, 1) +#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } +#define luai_jmpbuf jmp_buf + +#else +/* default handling with long jumps */ +#define LUAI_THROW(L,c) longjmp((c)->b, 1) +#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } +#define luai_jmpbuf jmp_buf + +#endif + +#endif + + + +/* chain list of long jump buffers */ +struct lua_longjmp { + struct lua_longjmp *previous; + luai_jmpbuf b; + volatile int status; /* error code */ +}; + + +static void seterrorobj (lua_State *L, int errcode, StkId oldtop) { + switch (errcode) { + case LUA_ERRMEM: { /* memory error? */ + setsvalue2s(L, oldtop, G(L)->memerrmsg); /* reuse preregistered msg. */ + break; + } + case LUA_ERRERR: { + setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling")); + break; + } + default: { + setobjs2s(L, oldtop, L->top - 1); /* error message on current top */ + break; + } + } + L->top = oldtop + 1; +} + + +l_noret luaD_throw (lua_State *L, int errcode) { + if (L->errorJmp) { /* thread has an error handler? */ + L->errorJmp->status = errcode; /* set status */ + LUAI_THROW(L, L->errorJmp); /* jump to it */ + } + else { /* thread has no error handler */ + L->status = cast_byte(errcode); /* mark it as dead */ + if (G(L)->mainthread->errorJmp) { /* main thread has a handler? */ + setobjs2s(L, G(L)->mainthread->top++, L->top - 1); /* copy error obj. */ + luaD_throw(G(L)->mainthread, errcode); /* re-throw in main thread */ + } + else { /* no handler at all; abort */ + if (G(L)->panic) { /* panic function? */ + lua_unlock(L); + G(L)->panic(L); /* call it (last chance to jump out) */ + } + abort(); + } + } +} + + +int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) { + unsigned short oldnCcalls = L->nCcalls; + struct lua_longjmp lj; + lj.status = LUA_OK; + lj.previous = L->errorJmp; /* chain new error handler */ + L->errorJmp = &lj; + LUAI_TRY(L, &lj, + (*f)(L, ud); + ); + L->errorJmp = lj.previous; /* restore old error handler */ + L->nCcalls = oldnCcalls; + return lj.status; +} + +/* }====================================================== */ + + +static void correctstack (lua_State *L, TValue *oldstack) { + CallInfo *ci; + GCObject *up; + L->top = (L->top - oldstack) + L->stack; + for (up = L->openupval; up != NULL; up = up->gch.next) + gco2uv(up)->v = (gco2uv(up)->v - oldstack) + L->stack; + for (ci = L->ci; ci != NULL; ci = ci->previous) { + ci->top = (ci->top - oldstack) + L->stack; + ci->func = (ci->func - oldstack) + L->stack; + if (isLua(ci)) + ci->u.l.base = (ci->u.l.base - oldstack) + L->stack; + } +} + + +/* some space for error handling */ +#define ERRORSTACKSIZE (LUAI_MAXSTACK + 200) + + +void luaD_reallocstack (lua_State *L, int newsize) { + TValue *oldstack = L->stack; + int lim = L->stacksize; + lua_assert(newsize <= LUAI_MAXSTACK || newsize == ERRORSTACKSIZE); + lua_assert(L->stack_last - L->stack == L->stacksize - EXTRA_STACK); + luaM_reallocvector(L, L->stack, L->stacksize, newsize, TValue); + for (; lim < newsize; lim++) + setnilvalue(L->stack + lim); /* erase new segment */ + L->stacksize = newsize; + L->stack_last = L->stack + newsize - EXTRA_STACK; + correctstack(L, oldstack); +} + + +void luaD_growstack (lua_State *L, int n) { + int size = L->stacksize; + if (size > LUAI_MAXSTACK) /* error after extra size? */ + luaD_throw(L, LUA_ERRERR); + else { + int needed = cast_int(L->top - L->stack) + n + EXTRA_STACK; + int newsize = 2 * size; + if (newsize > LUAI_MAXSTACK) newsize = LUAI_MAXSTACK; + if (newsize < needed) newsize = needed; + if (newsize > LUAI_MAXSTACK) { /* stack overflow? */ + luaD_reallocstack(L, ERRORSTACKSIZE); + luaG_runerror(L, "stack overflow"); + } + else + luaD_reallocstack(L, newsize); + } +} + + +static int stackinuse (lua_State *L) { + CallInfo *ci; + StkId lim = L->top; + for (ci = L->ci; ci != NULL; ci = ci->previous) { + lua_assert(ci->top <= L->stack_last); + if (lim < ci->top) lim = ci->top; + } + return cast_int(lim - L->stack) + 1; /* part of stack in use */ +} + + +void luaD_shrinkstack (lua_State *L) { + int inuse = stackinuse(L); + int goodsize = inuse + (inuse / 8) + 2*EXTRA_STACK; + if (goodsize > LUAI_MAXSTACK) goodsize = LUAI_MAXSTACK; + if (inuse > LUAI_MAXSTACK || /* handling stack overflow? */ + goodsize >= L->stacksize) /* would grow instead of shrink? */ + condmovestack(L); /* don't change stack (change only for debugging) */ + else + luaD_reallocstack(L, goodsize); /* shrink it */ +} + + +void luaD_hook (lua_State *L, int event, int line) { + lua_Hook hook = L->hook; + if (hook && L->allowhook) { + CallInfo *ci = L->ci; + ptrdiff_t top = savestack(L, L->top); + ptrdiff_t ci_top = savestack(L, ci->top); + lua_Debug ar; + ar.event = event; + ar.currentline = line; + ar.i_ci = ci; + luaD_checkstack(L, LUA_MINSTACK); /* ensure minimum stack size */ + ci->top = L->top + LUA_MINSTACK; + lua_assert(ci->top <= L->stack_last); + L->allowhook = 0; /* cannot call hooks inside a hook */ + ci->callstatus |= CIST_HOOKED; + lua_unlock(L); + (*hook)(L, &ar); + lua_lock(L); + lua_assert(!L->allowhook); + L->allowhook = 1; + ci->top = restorestack(L, ci_top); + L->top = restorestack(L, top); + ci->callstatus &= ~CIST_HOOKED; + } +} + + +static void callhook (lua_State *L, CallInfo *ci) { + int hook = LUA_HOOKCALL; + ci->u.l.savedpc++; /* hooks assume 'pc' is already incremented */ + if (isLua(ci->previous) && + GET_OPCODE(*(ci->previous->u.l.savedpc - 1)) == OP_TAILCALL) { + ci->callstatus |= CIST_TAIL; + hook = LUA_HOOKTAILCALL; + } + luaD_hook(L, hook, -1); + ci->u.l.savedpc--; /* correct 'pc' */ +} + + +static StkId adjust_varargs (lua_State *L, Proto *p, int actual) { + int i; + int nfixargs = p->numparams; + StkId base, fixed; + lua_assert(actual >= nfixargs); + /* move fixed parameters to final position */ + luaD_checkstack(L, p->maxstacksize); /* check again for new 'base' */ + fixed = L->top - actual; /* first fixed argument */ + base = L->top; /* final position of first argument */ + for (i=0; itop++, fixed + i); + setnilvalue(fixed + i); + } + return base; +} + + +static StkId tryfuncTM (lua_State *L, StkId func) { + const TValue *tm = luaT_gettmbyobj(L, func, TM_CALL); + StkId p; + ptrdiff_t funcr = savestack(L, func); + if (!ttisfunction(tm)) + luaG_typeerror(L, func, "call"); + /* Open a hole inside the stack at `func' */ + for (p = L->top; p > func; p--) setobjs2s(L, p, p-1); + incr_top(L); + func = restorestack(L, funcr); /* previous call may change stack */ + setobj2s(L, func, tm); /* tag method is the new function to be called */ + return func; +} + + + +#define next_ci(L) (L->ci = (L->ci->next ? L->ci->next : luaE_extendCI(L))) + + +/* +** returns true if function has been executed (C function) +*/ +int luaD_precall (lua_State *L, StkId func, int nresults) { + lua_CFunction f; + CallInfo *ci; + int n; /* number of arguments (Lua) or returns (C) */ + ptrdiff_t funcr = savestack(L, func); + switch (ttype(func)) { + case LUA_TLCF: /* light C function */ + f = fvalue(func); + goto Cfunc; + case LUA_TCCL: { /* C closure */ + f = clCvalue(func)->f; + Cfunc: + luaD_checkstack(L, LUA_MINSTACK); /* ensure minimum stack size */ + ci = next_ci(L); /* now 'enter' new function */ + ci->nresults = nresults; + ci->func = restorestack(L, funcr); + ci->top = L->top + LUA_MINSTACK; + lua_assert(ci->top <= L->stack_last); + ci->callstatus = 0; + luaC_checkGC(L); /* stack grow uses memory */ + if (L->hookmask & LUA_MASKCALL) + luaD_hook(L, LUA_HOOKCALL, -1); + lua_unlock(L); + n = (*f)(L); /* do the actual call */ + lua_lock(L); + api_checknelems(L, n); + luaD_poscall(L, L->top - n); + return 1; + } + case LUA_TLCL: { /* Lua function: prepare its call */ + StkId base; + Proto *p = clLvalue(func)->p; + n = cast_int(L->top - func) - 1; /* number of real arguments */ + luaD_checkstack(L, p->maxstacksize); + for (; n < p->numparams; n++) + setnilvalue(L->top++); /* complete missing arguments */ + if (!p->is_vararg) { + func = restorestack(L, funcr); + base = func + 1; + } + else { + base = adjust_varargs(L, p, n); + func = restorestack(L, funcr); /* previous call can change stack */ + } + ci = next_ci(L); /* now 'enter' new function */ + ci->nresults = nresults; + ci->func = func; + ci->u.l.base = base; + ci->top = base + p->maxstacksize; + lua_assert(ci->top <= L->stack_last); + ci->u.l.savedpc = p->code; /* starting point */ + ci->callstatus = CIST_LUA; + L->top = ci->top; + luaC_checkGC(L); /* stack grow uses memory */ + if (L->hookmask & LUA_MASKCALL) + callhook(L, ci); + return 0; + } + default: { /* not a function */ + func = tryfuncTM(L, func); /* retry with 'function' tag method */ + return luaD_precall(L, func, nresults); /* now it must be a function */ + } + } +} + + +int luaD_poscall (lua_State *L, StkId firstResult) { + StkId res; + int wanted, i; + CallInfo *ci = L->ci; + if (L->hookmask & (LUA_MASKRET | LUA_MASKLINE)) { + if (L->hookmask & LUA_MASKRET) { + ptrdiff_t fr = savestack(L, firstResult); /* hook may change stack */ + luaD_hook(L, LUA_HOOKRET, -1); + firstResult = restorestack(L, fr); + } + L->oldpc = ci->previous->u.l.savedpc; /* 'oldpc' for caller function */ + } + res = ci->func; /* res == final position of 1st result */ + wanted = ci->nresults; + L->ci = ci = ci->previous; /* back to caller */ + /* move results to correct place */ + for (i = wanted; i != 0 && firstResult < L->top; i--) + setobjs2s(L, res++, firstResult++); + while (i-- > 0) + setnilvalue(res++); + L->top = res; + return (wanted - LUA_MULTRET); /* 0 iff wanted == LUA_MULTRET */ +} + + +/* +** Call a function (C or Lua). The function to be called is at *func. +** The arguments are on the stack, right after the function. +** When returns, all the results are on the stack, starting at the original +** function position. +*/ +void luaD_call (lua_State *L, StkId func, int nResults, int allowyield) { + if (++L->nCcalls >= LUAI_MAXCCALLS) { + if (L->nCcalls == LUAI_MAXCCALLS) + luaG_runerror(L, "C stack overflow"); + else if (L->nCcalls >= (LUAI_MAXCCALLS + (LUAI_MAXCCALLS>>3))) + luaD_throw(L, LUA_ERRERR); /* error while handing stack error */ + } + if (!allowyield) L->nny++; + if (!luaD_precall(L, func, nResults)) /* is a Lua function? */ + luaV_execute(L); /* call it */ + if (!allowyield) L->nny--; + L->nCcalls--; +} + + +static void finishCcall (lua_State *L) { + CallInfo *ci = L->ci; + int n; + lua_assert(ci->u.c.k != NULL); /* must have a continuation */ + lua_assert(L->nny == 0); + if (ci->callstatus & CIST_YPCALL) { /* was inside a pcall? */ + ci->callstatus &= ~CIST_YPCALL; /* finish 'lua_pcall' */ + L->errfunc = ci->u.c.old_errfunc; + } + /* finish 'lua_callk'/'lua_pcall' */ + adjustresults(L, ci->nresults); + /* call continuation function */ + if (!(ci->callstatus & CIST_STAT)) /* no call status? */ + ci->u.c.status = LUA_YIELD; /* 'default' status */ + lua_assert(ci->u.c.status != LUA_OK); + ci->callstatus = (ci->callstatus & ~(CIST_YPCALL | CIST_STAT)) | CIST_YIELDED; + lua_unlock(L); + n = (*ci->u.c.k)(L); + lua_lock(L); + api_checknelems(L, n); + /* finish 'luaD_precall' */ + luaD_poscall(L, L->top - n); +} + + +static void unroll (lua_State *L, void *ud) { + UNUSED(ud); + for (;;) { + if (L->ci == &L->base_ci) /* stack is empty? */ + return; /* coroutine finished normally */ + if (!isLua(L->ci)) /* C function? */ + finishCcall(L); + else { /* Lua function */ + luaV_finishOp(L); /* finish interrupted instruction */ + luaV_execute(L); /* execute down to higher C 'boundary' */ + } + } +} + + +/* +** check whether thread has a suspended protected call +*/ +static CallInfo *findpcall (lua_State *L) { + CallInfo *ci; + for (ci = L->ci; ci != NULL; ci = ci->previous) { /* search for a pcall */ + if (ci->callstatus & CIST_YPCALL) + return ci; + } + return NULL; /* no pending pcall */ +} + + +static int recover (lua_State *L, int status) { + StkId oldtop; + CallInfo *ci = findpcall(L); + if (ci == NULL) return 0; /* no recovery point */ + /* "finish" luaD_pcall */ + oldtop = restorestack(L, ci->extra); + luaF_close(L, oldtop); + seterrorobj(L, status, oldtop); + L->ci = ci; + L->allowhook = ci->u.c.old_allowhook; + L->nny = 0; /* should be zero to be yieldable */ + luaD_shrinkstack(L); + L->errfunc = ci->u.c.old_errfunc; + ci->callstatus |= CIST_STAT; /* call has error status */ + ci->u.c.status = status; /* (here it is) */ + return 1; /* continue running the coroutine */ +} + + +/* +** signal an error in the call to 'resume', not in the execution of the +** coroutine itself. (Such errors should not be handled by any coroutine +** error handler and should not kill the coroutine.) +*/ +static l_noret resume_error (lua_State *L, const char *msg, StkId firstArg) { + L->top = firstArg; /* remove args from the stack */ + setsvalue2s(L, L->top, luaS_new(L, msg)); /* push error message */ + api_incr_top(L); + luaD_throw(L, -1); /* jump back to 'lua_resume' */ +} + + +/* +** do the work for 'lua_resume' in protected mode +*/ +static void resume (lua_State *L, void *ud) { + int nCcalls = L->nCcalls; + StkId firstArg = cast(StkId, ud); + CallInfo *ci = L->ci; + if (nCcalls >= LUAI_MAXCCALLS) + resume_error(L, "C stack overflow", firstArg); + if (L->status == LUA_OK) { /* may be starting a coroutine */ + if (ci != &L->base_ci) /* not in base level? */ + resume_error(L, "cannot resume non-suspended coroutine", firstArg); + /* coroutine is in base level; start running it */ + if (!luaD_precall(L, firstArg - 1, LUA_MULTRET)) /* Lua function? */ + luaV_execute(L); /* call it */ + } + else if (L->status != LUA_YIELD) + resume_error(L, "cannot resume dead coroutine", firstArg); + else { /* resuming from previous yield */ + L->status = LUA_OK; + ci->func = restorestack(L, ci->extra); + if (isLua(ci)) /* yielded inside a hook? */ + luaV_execute(L); /* just continue running Lua code */ + else { /* 'common' yield */ + if (ci->u.c.k != NULL) { /* does it have a continuation? */ + int n; + ci->u.c.status = LUA_YIELD; /* 'default' status */ + ci->callstatus |= CIST_YIELDED; + lua_unlock(L); + n = (*ci->u.c.k)(L); /* call continuation */ + lua_lock(L); + api_checknelems(L, n); + firstArg = L->top - n; /* yield results come from continuation */ + } + luaD_poscall(L, firstArg); /* finish 'luaD_precall' */ + } + unroll(L, NULL); + } + lua_assert(nCcalls == L->nCcalls); +} + + +LUA_API int lua_resume (lua_State *L, lua_State *from, int nargs) { + int status; + int oldnny = L->nny; /* save 'nny' */ + lua_lock(L); + luai_userstateresume(L, nargs); + L->nCcalls = (from) ? from->nCcalls + 1 : 1; + L->nny = 0; /* allow yields */ + api_checknelems(L, (L->status == LUA_OK) ? nargs + 1 : nargs); + status = luaD_rawrunprotected(L, resume, L->top - nargs); + if (status == -1) /* error calling 'lua_resume'? */ + status = LUA_ERRRUN; + else { /* yield or regular error */ + while (status != LUA_OK && status != LUA_YIELD) { /* error? */ + if (recover(L, status)) /* recover point? */ + status = luaD_rawrunprotected(L, unroll, NULL); /* run continuation */ + else { /* unrecoverable error */ + L->status = cast_byte(status); /* mark thread as `dead' */ + seterrorobj(L, status, L->top); + L->ci->top = L->top; + break; + } + } + lua_assert(status == L->status); + } + L->nny = oldnny; /* restore 'nny' */ + L->nCcalls--; + lua_assert(L->nCcalls == ((from) ? from->nCcalls : 0)); + lua_unlock(L); + return status; +} + + +LUA_API int lua_yieldk (lua_State *L, int nresults, int ctx, lua_CFunction k) { + CallInfo *ci = L->ci; + luai_userstateyield(L, nresults); + lua_lock(L); + api_checknelems(L, nresults); + if (L->nny > 0) { + if (L != G(L)->mainthread) + luaG_runerror(L, "attempt to yield across a C-call boundary"); + else + luaG_runerror(L, "attempt to yield from outside a coroutine"); + } + L->status = LUA_YIELD; + ci->extra = savestack(L, ci->func); /* save current 'func' */ + if (isLua(ci)) { /* inside a hook? */ + api_check(L, k == NULL, "hooks cannot continue after yielding"); + } + else { + if ((ci->u.c.k = k) != NULL) /* is there a continuation? */ + ci->u.c.ctx = ctx; /* save context */ + ci->func = L->top - nresults - 1; /* protect stack below results */ + luaD_throw(L, LUA_YIELD); + } + lua_assert(ci->callstatus & CIST_HOOKED); /* must be inside a hook */ + lua_unlock(L); + return 0; /* return to 'luaD_hook' */ +} + + +int luaD_pcall (lua_State *L, Pfunc func, void *u, + ptrdiff_t old_top, ptrdiff_t ef) { + int status; + CallInfo *old_ci = L->ci; + lu_byte old_allowhooks = L->allowhook; + unsigned short old_nny = L->nny; + ptrdiff_t old_errfunc = L->errfunc; + L->errfunc = ef; + status = luaD_rawrunprotected(L, func, u); + if (status != LUA_OK) { /* an error occurred? */ + StkId oldtop = restorestack(L, old_top); + luaF_close(L, oldtop); /* close possible pending closures */ + seterrorobj(L, status, oldtop); + L->ci = old_ci; + L->allowhook = old_allowhooks; + L->nny = old_nny; + luaD_shrinkstack(L); + } + L->errfunc = old_errfunc; + return status; +} + + + +/* +** Execute a protected parser. +*/ +struct SParser { /* data to `f_parser' */ + ZIO *z; + Mbuffer buff; /* dynamic structure used by the scanner */ + Dyndata dyd; /* dynamic structures used by the parser */ + const char *mode; + const char *name; +}; + + +static void checkmode (lua_State *L, const char *mode, const char *x) { + if (mode && strchr(mode, x[0]) == NULL) { + luaO_pushfstring(L, + "attempt to load a %s chunk (mode is " LUA_QS ")", x, mode); + luaD_throw(L, LUA_ERRSYNTAX); + } +} + + +static void f_parser (lua_State *L, void *ud) { + int i; + Closure *cl; + struct SParser *p = cast(struct SParser *, ud); + int c = zgetc(p->z); /* read first character */ + if (c == LUA_SIGNATURE[0]) { + checkmode(L, p->mode, "binary"); + cl = luaU_undump(L, p->z, &p->buff, p->name); + } + else { + checkmode(L, p->mode, "text"); + cl = luaY_parser(L, p->z, &p->buff, &p->dyd, p->name, c); + } + lua_assert(cl->l.nupvalues == cl->l.p->sizeupvalues); + for (i = 0; i < cl->l.nupvalues; i++) { /* initialize upvalues */ + UpVal *up = luaF_newupval(L); + cl->l.upvals[i] = up; + luaC_objbarrier(L, cl, up); + } +} + + +int luaD_protectedparser (lua_State *L, ZIO *z, const char *name, + const char *mode) { + struct SParser p; + int status; + L->nny++; /* cannot yield during parsing */ + p.z = z; p.name = name; p.mode = mode; + p.dyd.actvar.arr = NULL; p.dyd.actvar.size = 0; + p.dyd.gt.arr = NULL; p.dyd.gt.size = 0; + p.dyd.label.arr = NULL; p.dyd.label.size = 0; + luaZ_initbuffer(L, &p.buff); + status = luaD_pcall(L, f_parser, &p, savestack(L, L->top), L->errfunc); + luaZ_freebuffer(L, &p.buff); + luaM_freearray(L, p.dyd.actvar.arr, p.dyd.actvar.size); + luaM_freearray(L, p.dyd.gt.arr, p.dyd.gt.size); + luaM_freearray(L, p.dyd.label.arr, p.dyd.label.size); + L->nny--; + return status; +} + + diff --git a/server/scripting/Lua/src/ldo.h b/server/scripting/Lua/src/ldo.h new file mode 100644 index 0000000..d3d3082 --- /dev/null +++ b/server/scripting/Lua/src/ldo.h @@ -0,0 +1,46 @@ +/* +** $Id: ldo.h,v 2.20.1.1 2013/04/12 18:48:47 roberto Exp $ +** Stack and Call structure of Lua +** See Copyright Notice in lua.h +*/ + +#ifndef ldo_h +#define ldo_h + + +#include "lobject.h" +#include "lstate.h" +#include "lzio.h" + + +#define luaD_checkstack(L,n) if (L->stack_last - L->top <= (n)) \ + luaD_growstack(L, n); else condmovestack(L); + + +#define incr_top(L) {L->top++; luaD_checkstack(L,0);} + +#define savestack(L,p) ((char *)(p) - (char *)L->stack) +#define restorestack(L,n) ((TValue *)((char *)L->stack + (n))) + + +/* type of protected functions, to be ran by `runprotected' */ +typedef void (*Pfunc) (lua_State *L, void *ud); + +LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name, + const char *mode); +LUAI_FUNC void luaD_hook (lua_State *L, int event, int line); +LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults); +LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults, + int allowyield); +LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u, + ptrdiff_t oldtop, ptrdiff_t ef); +LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult); +LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize); +LUAI_FUNC void luaD_growstack (lua_State *L, int n); +LUAI_FUNC void luaD_shrinkstack (lua_State *L); + +LUAI_FUNC l_noret luaD_throw (lua_State *L, int errcode); +LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud); + +#endif + diff --git a/server/scripting/Lua/src/ldump.c b/server/scripting/Lua/src/ldump.c new file mode 100644 index 0000000..61fa2cd --- /dev/null +++ b/server/scripting/Lua/src/ldump.c @@ -0,0 +1,173 @@ +/* +** $Id: ldump.c,v 2.17.1.1 2013/04/12 18:48:47 roberto Exp $ +** save precompiled Lua chunks +** See Copyright Notice in lua.h +*/ + +#include + +#define ldump_c +#define LUA_CORE + +#include "lua.h" + +#include "lobject.h" +#include "lstate.h" +#include "lundump.h" + +typedef struct { + lua_State* L; + lua_Writer writer; + void* data; + int strip; + int status; +} DumpState; + +#define DumpMem(b,n,size,D) DumpBlock(b,(n)*(size),D) +#define DumpVar(x,D) DumpMem(&x,1,sizeof(x),D) + +static void DumpBlock(const void* b, size_t size, DumpState* D) +{ + if (D->status==0) + { + lua_unlock(D->L); + D->status=(*D->writer)(D->L,b,size,D->data); + lua_lock(D->L); + } +} + +static void DumpChar(int y, DumpState* D) +{ + char x=(char)y; + DumpVar(x,D); +} + +static void DumpInt(int x, DumpState* D) +{ + DumpVar(x,D); +} + +static void DumpNumber(lua_Number x, DumpState* D) +{ + DumpVar(x,D); +} + +static void DumpVector(const void* b, int n, size_t size, DumpState* D) +{ + DumpInt(n,D); + DumpMem(b,n,size,D); +} + +static void DumpString(const TString* s, DumpState* D) +{ + if (s==NULL) + { + size_t size=0; + DumpVar(size,D); + } + else + { + size_t size=s->tsv.len+1; /* include trailing '\0' */ + DumpVar(size,D); + DumpBlock(getstr(s),size*sizeof(char),D); + } +} + +#define DumpCode(f,D) DumpVector(f->code,f->sizecode,sizeof(Instruction),D) + +static void DumpFunction(const Proto* f, DumpState* D); + +static void DumpConstants(const Proto* f, DumpState* D) +{ + int i,n=f->sizek; + DumpInt(n,D); + for (i=0; ik[i]; + DumpChar(ttypenv(o),D); + switch (ttypenv(o)) + { + case LUA_TNIL: + break; + case LUA_TBOOLEAN: + DumpChar(bvalue(o),D); + break; + case LUA_TNUMBER: + DumpNumber(nvalue(o),D); + break; + case LUA_TSTRING: + DumpString(rawtsvalue(o),D); + break; + default: lua_assert(0); + } + } + n=f->sizep; + DumpInt(n,D); + for (i=0; ip[i],D); +} + +static void DumpUpvalues(const Proto* f, DumpState* D) +{ + int i,n=f->sizeupvalues; + DumpInt(n,D); + for (i=0; iupvalues[i].instack,D); + DumpChar(f->upvalues[i].idx,D); + } +} + +static void DumpDebug(const Proto* f, DumpState* D) +{ + int i,n; + DumpString((D->strip) ? NULL : f->source,D); + n= (D->strip) ? 0 : f->sizelineinfo; + DumpVector(f->lineinfo,n,sizeof(int),D); + n= (D->strip) ? 0 : f->sizelocvars; + DumpInt(n,D); + for (i=0; ilocvars[i].varname,D); + DumpInt(f->locvars[i].startpc,D); + DumpInt(f->locvars[i].endpc,D); + } + n= (D->strip) ? 0 : f->sizeupvalues; + DumpInt(n,D); + for (i=0; iupvalues[i].name,D); +} + +static void DumpFunction(const Proto* f, DumpState* D) +{ + DumpInt(f->linedefined,D); + DumpInt(f->lastlinedefined,D); + DumpChar(f->numparams,D); + DumpChar(f->is_vararg,D); + DumpChar(f->maxstacksize,D); + DumpCode(f,D); + DumpConstants(f,D); + DumpUpvalues(f,D); + DumpDebug(f,D); +} + +static void DumpHeader(DumpState* D) +{ + lu_byte h[LUAC_HEADERSIZE]; + luaU_header(h); + DumpBlock(h,LUAC_HEADERSIZE,D); +} + +/* +** dump Lua function as precompiled chunk +*/ +int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip) +{ + DumpState D; + D.L=L; + D.writer=w; + D.data=data; + D.strip=strip; + D.status=0; + DumpHeader(&D); + DumpFunction(f,&D); + return D.status; +} diff --git a/server/scripting/Lua/src/lfunc.c b/server/scripting/Lua/src/lfunc.c new file mode 100644 index 0000000..e90e152 --- /dev/null +++ b/server/scripting/Lua/src/lfunc.c @@ -0,0 +1,161 @@ +/* +** $Id: lfunc.c,v 2.30.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions to manipulate prototypes and closures +** See Copyright Notice in lua.h +*/ + + +#include + +#define lfunc_c +#define LUA_CORE + +#include "lua.h" + +#include "lfunc.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" + + + +Closure *luaF_newCclosure (lua_State *L, int n) { + Closure *c = &luaC_newobj(L, LUA_TCCL, sizeCclosure(n), NULL, 0)->cl; + c->c.nupvalues = cast_byte(n); + return c; +} + + +Closure *luaF_newLclosure (lua_State *L, int n) { + Closure *c = &luaC_newobj(L, LUA_TLCL, sizeLclosure(n), NULL, 0)->cl; + c->l.p = NULL; + c->l.nupvalues = cast_byte(n); + while (n--) c->l.upvals[n] = NULL; + return c; +} + + +UpVal *luaF_newupval (lua_State *L) { + UpVal *uv = &luaC_newobj(L, LUA_TUPVAL, sizeof(UpVal), NULL, 0)->uv; + uv->v = &uv->u.value; + setnilvalue(uv->v); + return uv; +} + + +UpVal *luaF_findupval (lua_State *L, StkId level) { + global_State *g = G(L); + GCObject **pp = &L->openupval; + UpVal *p; + UpVal *uv; + while (*pp != NULL && (p = gco2uv(*pp))->v >= level) { + GCObject *o = obj2gco(p); + lua_assert(p->v != &p->u.value); + lua_assert(!isold(o) || isold(obj2gco(L))); + if (p->v == level) { /* found a corresponding upvalue? */ + if (isdead(g, o)) /* is it dead? */ + changewhite(o); /* resurrect it */ + return p; + } + pp = &p->next; + } + /* not found: create a new one */ + uv = &luaC_newobj(L, LUA_TUPVAL, sizeof(UpVal), pp, 0)->uv; + uv->v = level; /* current value lives in the stack */ + uv->u.l.prev = &g->uvhead; /* double link it in `uvhead' list */ + uv->u.l.next = g->uvhead.u.l.next; + uv->u.l.next->u.l.prev = uv; + g->uvhead.u.l.next = uv; + lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); + return uv; +} + + +static void unlinkupval (UpVal *uv) { + lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); + uv->u.l.next->u.l.prev = uv->u.l.prev; /* remove from `uvhead' list */ + uv->u.l.prev->u.l.next = uv->u.l.next; +} + + +void luaF_freeupval (lua_State *L, UpVal *uv) { + if (uv->v != &uv->u.value) /* is it open? */ + unlinkupval(uv); /* remove from open list */ + luaM_free(L, uv); /* free upvalue */ +} + + +void luaF_close (lua_State *L, StkId level) { + UpVal *uv; + global_State *g = G(L); + while (L->openupval != NULL && (uv = gco2uv(L->openupval))->v >= level) { + GCObject *o = obj2gco(uv); + lua_assert(!isblack(o) && uv->v != &uv->u.value); + L->openupval = uv->next; /* remove from `open' list */ + if (isdead(g, o)) + luaF_freeupval(L, uv); /* free upvalue */ + else { + unlinkupval(uv); /* remove upvalue from 'uvhead' list */ + setobj(L, &uv->u.value, uv->v); /* move value to upvalue slot */ + uv->v = &uv->u.value; /* now current value lives here */ + gch(o)->next = g->allgc; /* link upvalue into 'allgc' list */ + g->allgc = o; + luaC_checkupvalcolor(g, uv); + } + } +} + + +Proto *luaF_newproto (lua_State *L) { + Proto *f = &luaC_newobj(L, LUA_TPROTO, sizeof(Proto), NULL, 0)->p; + f->k = NULL; + f->sizek = 0; + f->p = NULL; + f->sizep = 0; + f->code = NULL; + f->cache = NULL; + f->sizecode = 0; + f->lineinfo = NULL; + f->sizelineinfo = 0; + f->upvalues = NULL; + f->sizeupvalues = 0; + f->numparams = 0; + f->is_vararg = 0; + f->maxstacksize = 0; + f->locvars = NULL; + f->sizelocvars = 0; + f->linedefined = 0; + f->lastlinedefined = 0; + f->source = NULL; + return f; +} + + +void luaF_freeproto (lua_State *L, Proto *f) { + luaM_freearray(L, f->code, f->sizecode); + luaM_freearray(L, f->p, f->sizep); + luaM_freearray(L, f->k, f->sizek); + luaM_freearray(L, f->lineinfo, f->sizelineinfo); + luaM_freearray(L, f->locvars, f->sizelocvars); + luaM_freearray(L, f->upvalues, f->sizeupvalues); + luaM_free(L, f); +} + + +/* +** Look for n-th local variable at line `line' in function `func'. +** Returns NULL if not found. +*/ +const char *luaF_getlocalname (const Proto *f, int local_number, int pc) { + int i; + for (i = 0; isizelocvars && f->locvars[i].startpc <= pc; i++) { + if (pc < f->locvars[i].endpc) { /* is variable active? */ + local_number--; + if (local_number == 0) + return getstr(f->locvars[i].varname); + } + } + return NULL; /* not found */ +} + diff --git a/server/scripting/Lua/src/lfunc.h b/server/scripting/Lua/src/lfunc.h new file mode 100644 index 0000000..ca0d3a3 --- /dev/null +++ b/server/scripting/Lua/src/lfunc.h @@ -0,0 +1,33 @@ +/* +** $Id: lfunc.h,v 2.8.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions to manipulate prototypes and closures +** See Copyright Notice in lua.h +*/ + +#ifndef lfunc_h +#define lfunc_h + + +#include "lobject.h" + + +#define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \ + cast(int, sizeof(TValue)*((n)-1))) + +#define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \ + cast(int, sizeof(TValue *)*((n)-1))) + + +LUAI_FUNC Proto *luaF_newproto (lua_State *L); +LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems); +LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems); +LUAI_FUNC UpVal *luaF_newupval (lua_State *L); +LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); +LUAI_FUNC void luaF_close (lua_State *L, StkId level); +LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f); +LUAI_FUNC void luaF_freeupval (lua_State *L, UpVal *uv); +LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number, + int pc); + + +#endif diff --git a/server/scripting/Lua/src/lgc.c b/server/scripting/Lua/src/lgc.c new file mode 100644 index 0000000..553fd17 --- /dev/null +++ b/server/scripting/Lua/src/lgc.c @@ -0,0 +1,1220 @@ +/* +** $Id: lgc.c,v 2.140.1.3 2014/09/01 16:55:08 roberto Exp $ +** Garbage Collector +** See Copyright Notice in lua.h +*/ + +#include + +#define lgc_c +#define LUA_CORE + +#include "lua.h" + +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" + + + +/* +** cost of sweeping one element (the size of a small object divided +** by some adjust for the sweep speed) +*/ +#define GCSWEEPCOST ((sizeof(TString) + 4) / 4) + +/* maximum number of elements to sweep in each single step */ +#define GCSWEEPMAX (cast_int((GCSTEPSIZE / GCSWEEPCOST) / 4)) + +/* maximum number of finalizers to call in each GC step */ +#define GCFINALIZENUM 4 + + +/* +** macro to adjust 'stepmul': 'stepmul' is actually used like +** 'stepmul / STEPMULADJ' (value chosen by tests) +*/ +#define STEPMULADJ 200 + + +/* +** macro to adjust 'pause': 'pause' is actually used like +** 'pause / PAUSEADJ' (value chosen by tests) +*/ +#define PAUSEADJ 100 + + +/* +** 'makewhite' erases all color bits plus the old bit and then +** sets only the current white bit +*/ +#define maskcolors (~(bit2mask(BLACKBIT, OLDBIT) | WHITEBITS)) +#define makewhite(g,x) \ + (gch(x)->marked = cast_byte((gch(x)->marked & maskcolors) | luaC_white(g))) + +#define white2gray(x) resetbits(gch(x)->marked, WHITEBITS) +#define black2gray(x) resetbit(gch(x)->marked, BLACKBIT) + + +#define isfinalized(x) testbit(gch(x)->marked, FINALIZEDBIT) + +#define checkdeadkey(n) lua_assert(!ttisdeadkey(gkey(n)) || ttisnil(gval(n))) + + +#define checkconsistency(obj) \ + lua_longassert(!iscollectable(obj) || righttt(obj)) + + +#define markvalue(g,o) { checkconsistency(o); \ + if (valiswhite(o)) reallymarkobject(g,gcvalue(o)); } + +#define markobject(g,t) { if ((t) && iswhite(obj2gco(t))) \ + reallymarkobject(g, obj2gco(t)); } + +static void reallymarkobject (global_State *g, GCObject *o); + + +/* +** {====================================================== +** Generic functions +** ======================================================= +*/ + + +/* +** one after last element in a hash array +*/ +#define gnodelast(h) gnode(h, cast(size_t, sizenode(h))) + + +/* +** link table 'h' into list pointed by 'p' +*/ +#define linktable(h,p) ((h)->gclist = *(p), *(p) = obj2gco(h)) + + +/* +** if key is not marked, mark its entry as dead (therefore removing it +** from the table) +*/ +static void removeentry (Node *n) { + lua_assert(ttisnil(gval(n))); + if (valiswhite(gkey(n))) + setdeadvalue(gkey(n)); /* unused and unmarked key; remove it */ +} + + +/* +** tells whether a key or value can be cleared from a weak +** table. Non-collectable objects are never removed from weak +** tables. Strings behave as `values', so are never removed too. for +** other objects: if really collected, cannot keep them; for objects +** being finalized, keep them in keys, but not in values +*/ +static int iscleared (global_State *g, const TValue *o) { + if (!iscollectable(o)) return 0; + else if (ttisstring(o)) { + markobject(g, rawtsvalue(o)); /* strings are `values', so are never weak */ + return 0; + } + else return iswhite(gcvalue(o)); +} + + +/* +** barrier that moves collector forward, that is, mark the white object +** being pointed by a black object. +*/ +void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) { + global_State *g = G(L); + lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o)); + lua_assert(g->gcstate != GCSpause); + lua_assert(gch(o)->tt != LUA_TTABLE); + if (keepinvariantout(g)) /* must keep invariant? */ + reallymarkobject(g, v); /* restore invariant */ + else { /* sweep phase */ + lua_assert(issweepphase(g)); + makewhite(g, o); /* mark main obj. as white to avoid other barriers */ + } +} + + +/* +** barrier that moves collector backward, that is, mark the black object +** pointing to a white object as gray again. (Current implementation +** only works for tables; access to 'gclist' is not uniform across +** different types.) +*/ +void luaC_barrierback_ (lua_State *L, GCObject *o) { + global_State *g = G(L); + lua_assert(isblack(o) && !isdead(g, o) && gch(o)->tt == LUA_TTABLE); + black2gray(o); /* make object gray (again) */ + gco2t(o)->gclist = g->grayagain; + g->grayagain = o; +} + + +/* +** barrier for prototypes. When creating first closure (cache is +** NULL), use a forward barrier; this may be the only closure of the +** prototype (if it is a "regular" function, with a single instance) +** and the prototype may be big, so it is better to avoid traversing +** it again. Otherwise, use a backward barrier, to avoid marking all +** possible instances. +*/ +LUAI_FUNC void luaC_barrierproto_ (lua_State *L, Proto *p, Closure *c) { + global_State *g = G(L); + lua_assert(isblack(obj2gco(p))); + if (p->cache == NULL) { /* first time? */ + luaC_objbarrier(L, p, c); + } + else { /* use a backward barrier */ + black2gray(obj2gco(p)); /* make prototype gray (again) */ + p->gclist = g->grayagain; + g->grayagain = obj2gco(p); + } +} + + +/* +** check color (and invariants) for an upvalue that was closed, +** i.e., moved into the 'allgc' list +*/ +void luaC_checkupvalcolor (global_State *g, UpVal *uv) { + GCObject *o = obj2gco(uv); + lua_assert(!isblack(o)); /* open upvalues are never black */ + if (isgray(o)) { + if (keepinvariant(g)) { + resetoldbit(o); /* see MOVE OLD rule */ + gray2black(o); /* it is being visited now */ + markvalue(g, uv->v); + } + else { + lua_assert(issweepphase(g)); + makewhite(g, o); + } + } +} + + +/* +** create a new collectable object (with given type and size) and link +** it to '*list'. 'offset' tells how many bytes to allocate before the +** object itself (used only by states). +*/ +GCObject *luaC_newobj (lua_State *L, int tt, size_t sz, GCObject **list, + int offset) { + global_State *g = G(L); + char *raw = cast(char *, luaM_newobject(L, novariant(tt), sz)); + GCObject *o = obj2gco(raw + offset); + if (list == NULL) + list = &g->allgc; /* standard list for collectable objects */ + gch(o)->marked = luaC_white(g); + gch(o)->tt = tt; + gch(o)->next = *list; + *list = o; + return o; +} + +/* }====================================================== */ + + + +/* +** {====================================================== +** Mark functions +** ======================================================= +*/ + + +/* +** mark an object. Userdata, strings, and closed upvalues are visited +** and turned black here. Other objects are marked gray and added +** to appropriate list to be visited (and turned black) later. (Open +** upvalues are already linked in 'headuv' list.) +*/ +static void reallymarkobject (global_State *g, GCObject *o) { + lu_mem size; + white2gray(o); + switch (gch(o)->tt) { + case LUA_TSHRSTR: + case LUA_TLNGSTR: { + size = sizestring(gco2ts(o)); + break; /* nothing else to mark; make it black */ + } + case LUA_TUSERDATA: { + Table *mt = gco2u(o)->metatable; + markobject(g, mt); + markobject(g, gco2u(o)->env); + size = sizeudata(gco2u(o)); + break; + } + case LUA_TUPVAL: { + UpVal *uv = gco2uv(o); + markvalue(g, uv->v); + if (uv->v != &uv->u.value) /* open? */ + return; /* open upvalues remain gray */ + size = sizeof(UpVal); + break; + } + case LUA_TLCL: { + gco2lcl(o)->gclist = g->gray; + g->gray = o; + return; + } + case LUA_TCCL: { + gco2ccl(o)->gclist = g->gray; + g->gray = o; + return; + } + case LUA_TTABLE: { + linktable(gco2t(o), &g->gray); + return; + } + case LUA_TTHREAD: { + gco2th(o)->gclist = g->gray; + g->gray = o; + return; + } + case LUA_TPROTO: { + gco2p(o)->gclist = g->gray; + g->gray = o; + return; + } + default: lua_assert(0); return; + } + gray2black(o); + g->GCmemtrav += size; +} + + +/* +** mark metamethods for basic types +*/ +static void markmt (global_State *g) { + int i; + for (i=0; i < LUA_NUMTAGS; i++) + markobject(g, g->mt[i]); +} + + +/* +** mark all objects in list of being-finalized +*/ +static void markbeingfnz (global_State *g) { + GCObject *o; + for (o = g->tobefnz; o != NULL; o = gch(o)->next) { + makewhite(g, o); + reallymarkobject(g, o); + } +} + + +/* +** mark all values stored in marked open upvalues. (See comment in +** 'lstate.h'.) +*/ +static void remarkupvals (global_State *g) { + UpVal *uv; + for (uv = g->uvhead.u.l.next; uv != &g->uvhead; uv = uv->u.l.next) { + if (isgray(obj2gco(uv))) + markvalue(g, uv->v); + } +} + + +/* +** mark root set and reset all gray lists, to start a new +** incremental (or full) collection +*/ +static void restartcollection (global_State *g) { + g->gray = g->grayagain = NULL; + g->weak = g->allweak = g->ephemeron = NULL; + markobject(g, g->mainthread); + markvalue(g, &g->l_registry); + markmt(g); + markbeingfnz(g); /* mark any finalizing object left from previous cycle */ +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Traverse functions +** ======================================================= +*/ + +static void traverseweakvalue (global_State *g, Table *h) { + Node *n, *limit = gnodelast(h); + /* if there is array part, assume it may have white values (do not + traverse it just to check) */ + int hasclears = (h->sizearray > 0); + for (n = gnode(h, 0); n < limit; n++) { + checkdeadkey(n); + if (ttisnil(gval(n))) /* entry is empty? */ + removeentry(n); /* remove it */ + else { + lua_assert(!ttisnil(gkey(n))); + markvalue(g, gkey(n)); /* mark key */ + if (!hasclears && iscleared(g, gval(n))) /* is there a white value? */ + hasclears = 1; /* table will have to be cleared */ + } + } + if (hasclears) + linktable(h, &g->weak); /* has to be cleared later */ + else /* no white values */ + linktable(h, &g->grayagain); /* no need to clean */ +} + + +static int traverseephemeron (global_State *g, Table *h) { + int marked = 0; /* true if an object is marked in this traversal */ + int hasclears = 0; /* true if table has white keys */ + int prop = 0; /* true if table has entry "white-key -> white-value" */ + Node *n, *limit = gnodelast(h); + int i; + /* traverse array part (numeric keys are 'strong') */ + for (i = 0; i < h->sizearray; i++) { + if (valiswhite(&h->array[i])) { + marked = 1; + reallymarkobject(g, gcvalue(&h->array[i])); + } + } + /* traverse hash part */ + for (n = gnode(h, 0); n < limit; n++) { + checkdeadkey(n); + if (ttisnil(gval(n))) /* entry is empty? */ + removeentry(n); /* remove it */ + else if (iscleared(g, gkey(n))) { /* key is not marked (yet)? */ + hasclears = 1; /* table must be cleared */ + if (valiswhite(gval(n))) /* value not marked yet? */ + prop = 1; /* must propagate again */ + } + else if (valiswhite(gval(n))) { /* value not marked yet? */ + marked = 1; + reallymarkobject(g, gcvalue(gval(n))); /* mark it now */ + } + } + if (g->gcstate != GCSatomic || prop) + linktable(h, &g->ephemeron); /* have to propagate again */ + else if (hasclears) /* does table have white keys? */ + linktable(h, &g->allweak); /* may have to clean white keys */ + else /* no white keys */ + linktable(h, &g->grayagain); /* no need to clean */ + return marked; +} + + +static void traversestrongtable (global_State *g, Table *h) { + Node *n, *limit = gnodelast(h); + int i; + for (i = 0; i < h->sizearray; i++) /* traverse array part */ + markvalue(g, &h->array[i]); + for (n = gnode(h, 0); n < limit; n++) { /* traverse hash part */ + checkdeadkey(n); + if (ttisnil(gval(n))) /* entry is empty? */ + removeentry(n); /* remove it */ + else { + lua_assert(!ttisnil(gkey(n))); + markvalue(g, gkey(n)); /* mark key */ + markvalue(g, gval(n)); /* mark value */ + } + } +} + + +static lu_mem traversetable (global_State *g, Table *h) { + const char *weakkey, *weakvalue; + const TValue *mode = gfasttm(g, h->metatable, TM_MODE); + markobject(g, h->metatable); + if (mode && ttisstring(mode) && /* is there a weak mode? */ + ((weakkey = strchr(svalue(mode), 'k')), + (weakvalue = strchr(svalue(mode), 'v')), + (weakkey || weakvalue))) { /* is really weak? */ + black2gray(obj2gco(h)); /* keep table gray */ + if (!weakkey) /* strong keys? */ + traverseweakvalue(g, h); + else if (!weakvalue) /* strong values? */ + traverseephemeron(g, h); + else /* all weak */ + linktable(h, &g->allweak); /* nothing to traverse now */ + } + else /* not weak */ + traversestrongtable(g, h); + return sizeof(Table) + sizeof(TValue) * h->sizearray + + sizeof(Node) * cast(size_t, sizenode(h)); +} + + +static int traverseproto (global_State *g, Proto *f) { + int i; + if (f->cache && iswhite(obj2gco(f->cache))) + f->cache = NULL; /* allow cache to be collected */ + markobject(g, f->source); + for (i = 0; i < f->sizek; i++) /* mark literals */ + markvalue(g, &f->k[i]); + for (i = 0; i < f->sizeupvalues; i++) /* mark upvalue names */ + markobject(g, f->upvalues[i].name); + for (i = 0; i < f->sizep; i++) /* mark nested protos */ + markobject(g, f->p[i]); + for (i = 0; i < f->sizelocvars; i++) /* mark local-variable names */ + markobject(g, f->locvars[i].varname); + return sizeof(Proto) + sizeof(Instruction) * f->sizecode + + sizeof(Proto *) * f->sizep + + sizeof(TValue) * f->sizek + + sizeof(int) * f->sizelineinfo + + sizeof(LocVar) * f->sizelocvars + + sizeof(Upvaldesc) * f->sizeupvalues; +} + + +static lu_mem traverseCclosure (global_State *g, CClosure *cl) { + int i; + for (i = 0; i < cl->nupvalues; i++) /* mark its upvalues */ + markvalue(g, &cl->upvalue[i]); + return sizeCclosure(cl->nupvalues); +} + +static lu_mem traverseLclosure (global_State *g, LClosure *cl) { + int i; + markobject(g, cl->p); /* mark its prototype */ + for (i = 0; i < cl->nupvalues; i++) /* mark its upvalues */ + markobject(g, cl->upvals[i]); + return sizeLclosure(cl->nupvalues); +} + + +static lu_mem traversestack (global_State *g, lua_State *th) { + int n = 0; + StkId o = th->stack; + if (o == NULL) + return 1; /* stack not completely built yet */ + for (; o < th->top; o++) /* mark live elements in the stack */ + markvalue(g, o); + if (g->gcstate == GCSatomic) { /* final traversal? */ + StkId lim = th->stack + th->stacksize; /* real end of stack */ + for (; o < lim; o++) /* clear not-marked stack slice */ + setnilvalue(o); + } + else { /* count call infos to compute size */ + CallInfo *ci; + for (ci = &th->base_ci; ci != th->ci; ci = ci->next) + n++; + } + return sizeof(lua_State) + sizeof(TValue) * th->stacksize + + sizeof(CallInfo) * n; +} + + +/* +** traverse one gray object, turning it to black (except for threads, +** which are always gray). +*/ +static void propagatemark (global_State *g) { + lu_mem size; + GCObject *o = g->gray; + lua_assert(isgray(o)); + gray2black(o); + switch (gch(o)->tt) { + case LUA_TTABLE: { + Table *h = gco2t(o); + g->gray = h->gclist; /* remove from 'gray' list */ + size = traversetable(g, h); + break; + } + case LUA_TLCL: { + LClosure *cl = gco2lcl(o); + g->gray = cl->gclist; /* remove from 'gray' list */ + size = traverseLclosure(g, cl); + break; + } + case LUA_TCCL: { + CClosure *cl = gco2ccl(o); + g->gray = cl->gclist; /* remove from 'gray' list */ + size = traverseCclosure(g, cl); + break; + } + case LUA_TTHREAD: { + lua_State *th = gco2th(o); + g->gray = th->gclist; /* remove from 'gray' list */ + th->gclist = g->grayagain; + g->grayagain = o; /* insert into 'grayagain' list */ + black2gray(o); + size = traversestack(g, th); + break; + } + case LUA_TPROTO: { + Proto *p = gco2p(o); + g->gray = p->gclist; /* remove from 'gray' list */ + size = traverseproto(g, p); + break; + } + default: lua_assert(0); return; + } + g->GCmemtrav += size; +} + + +static void propagateall (global_State *g) { + while (g->gray) propagatemark(g); +} + + +static void propagatelist (global_State *g, GCObject *l) { + lua_assert(g->gray == NULL); /* no grays left */ + g->gray = l; + propagateall(g); /* traverse all elements from 'l' */ +} + +/* +** retraverse all gray lists. Because tables may be reinserted in other +** lists when traversed, traverse the original lists to avoid traversing +** twice the same table (which is not wrong, but inefficient) +*/ +static void retraversegrays (global_State *g) { + GCObject *weak = g->weak; /* save original lists */ + GCObject *grayagain = g->grayagain; + GCObject *ephemeron = g->ephemeron; + g->weak = g->grayagain = g->ephemeron = NULL; + propagateall(g); /* traverse main gray list */ + propagatelist(g, grayagain); + propagatelist(g, weak); + propagatelist(g, ephemeron); +} + + +static void convergeephemerons (global_State *g) { + int changed; + do { + GCObject *w; + GCObject *next = g->ephemeron; /* get ephemeron list */ + g->ephemeron = NULL; /* tables will return to this list when traversed */ + changed = 0; + while ((w = next) != NULL) { + next = gco2t(w)->gclist; + if (traverseephemeron(g, gco2t(w))) { /* traverse marked some value? */ + propagateall(g); /* propagate changes */ + changed = 1; /* will have to revisit all ephemeron tables */ + } + } + } while (changed); +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Sweep Functions +** ======================================================= +*/ + + +/* +** clear entries with unmarked keys from all weaktables in list 'l' up +** to element 'f' +*/ +static void clearkeys (global_State *g, GCObject *l, GCObject *f) { + for (; l != f; l = gco2t(l)->gclist) { + Table *h = gco2t(l); + Node *n, *limit = gnodelast(h); + for (n = gnode(h, 0); n < limit; n++) { + if (!ttisnil(gval(n)) && (iscleared(g, gkey(n)))) { + setnilvalue(gval(n)); /* remove value ... */ + removeentry(n); /* and remove entry from table */ + } + } + } +} + + +/* +** clear entries with unmarked values from all weaktables in list 'l' up +** to element 'f' +*/ +static void clearvalues (global_State *g, GCObject *l, GCObject *f) { + for (; l != f; l = gco2t(l)->gclist) { + Table *h = gco2t(l); + Node *n, *limit = gnodelast(h); + int i; + for (i = 0; i < h->sizearray; i++) { + TValue *o = &h->array[i]; + if (iscleared(g, o)) /* value was collected? */ + setnilvalue(o); /* remove value */ + } + for (n = gnode(h, 0); n < limit; n++) { + if (!ttisnil(gval(n)) && iscleared(g, gval(n))) { + setnilvalue(gval(n)); /* remove value ... */ + removeentry(n); /* and remove entry from table */ + } + } + } +} + + +static void freeobj (lua_State *L, GCObject *o) { + switch (gch(o)->tt) { + case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break; + case LUA_TLCL: { + luaM_freemem(L, o, sizeLclosure(gco2lcl(o)->nupvalues)); + break; + } + case LUA_TCCL: { + luaM_freemem(L, o, sizeCclosure(gco2ccl(o)->nupvalues)); + break; + } + case LUA_TUPVAL: luaF_freeupval(L, gco2uv(o)); break; + case LUA_TTABLE: luaH_free(L, gco2t(o)); break; + case LUA_TTHREAD: luaE_freethread(L, gco2th(o)); break; + case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break; + case LUA_TSHRSTR: + G(L)->strt.nuse--; + /* go through */ + case LUA_TLNGSTR: { + luaM_freemem(L, o, sizestring(gco2ts(o))); + break; + } + default: lua_assert(0); + } +} + + +#define sweepwholelist(L,p) sweeplist(L,p,MAX_LUMEM) +static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count); + + +/* +** sweep the (open) upvalues of a thread and resize its stack and +** list of call-info structures. +*/ +static void sweepthread (lua_State *L, lua_State *L1) { + if (L1->stack == NULL) return; /* stack not completely built yet */ + sweepwholelist(L, &L1->openupval); /* sweep open upvalues */ + luaE_freeCI(L1); /* free extra CallInfo slots */ + /* should not change the stack during an emergency gc cycle */ + if (G(L)->gckind != KGC_EMERGENCY) + luaD_shrinkstack(L1); +} + + +/* +** sweep at most 'count' elements from a list of GCObjects erasing dead +** objects, where a dead (not alive) object is one marked with the "old" +** (non current) white and not fixed. +** In non-generational mode, change all non-dead objects back to white, +** preparing for next collection cycle. +** In generational mode, keep black objects black, and also mark them as +** old; stop when hitting an old object, as all objects after that +** one will be old too. +** When object is a thread, sweep its list of open upvalues too. +*/ +static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count) { + global_State *g = G(L); + int ow = otherwhite(g); + int toclear, toset; /* bits to clear and to set in all live objects */ + int tostop; /* stop sweep when this is true */ + if (isgenerational(g)) { /* generational mode? */ + toclear = ~0; /* clear nothing */ + toset = bitmask(OLDBIT); /* set the old bit of all surviving objects */ + tostop = bitmask(OLDBIT); /* do not sweep old generation */ + } + else { /* normal mode */ + toclear = maskcolors; /* clear all color bits + old bit */ + toset = luaC_white(g); /* make object white */ + tostop = 0; /* do not stop */ + } + while (*p != NULL && count-- > 0) { + GCObject *curr = *p; + int marked = gch(curr)->marked; + if (isdeadm(ow, marked)) { /* is 'curr' dead? */ + *p = gch(curr)->next; /* remove 'curr' from list */ + freeobj(L, curr); /* erase 'curr' */ + } + else { + if (testbits(marked, tostop)) + return NULL; /* stop sweeping this list */ + if (gch(curr)->tt == LUA_TTHREAD) + sweepthread(L, gco2th(curr)); /* sweep thread's upvalues */ + /* update marks */ + gch(curr)->marked = cast_byte((marked & toclear) | toset); + p = &gch(curr)->next; /* go to next element */ + } + } + return (*p == NULL) ? NULL : p; +} + + +/* +** sweep a list until a live object (or end of list) +*/ +static GCObject **sweeptolive (lua_State *L, GCObject **p, int *n) { + GCObject ** old = p; + int i = 0; + do { + i++; + p = sweeplist(L, p, 1); + } while (p == old); + if (n) *n += i; + return p; +} + +/* }====================================================== */ + + +/* +** {====================================================== +** Finalization +** ======================================================= +*/ + +static void checkSizes (lua_State *L) { + global_State *g = G(L); + if (g->gckind != KGC_EMERGENCY) { /* do not change sizes in emergency */ + int hs = g->strt.size / 2; /* half the size of the string table */ + if (g->strt.nuse < cast(lu_int32, hs)) /* using less than that half? */ + luaS_resize(L, hs); /* halve its size */ + luaZ_freebuffer(L, &g->buff); /* free concatenation buffer */ + } +} + + +static GCObject *udata2finalize (global_State *g) { + GCObject *o = g->tobefnz; /* get first element */ + lua_assert(isfinalized(o)); + g->tobefnz = gch(o)->next; /* remove it from 'tobefnz' list */ + gch(o)->next = g->allgc; /* return it to 'allgc' list */ + g->allgc = o; + resetbit(gch(o)->marked, SEPARATED); /* mark that it is not in 'tobefnz' */ + lua_assert(!isold(o)); /* see MOVE OLD rule */ + if (!keepinvariantout(g)) /* not keeping invariant? */ + makewhite(g, o); /* "sweep" object */ + return o; +} + + +static void dothecall (lua_State *L, void *ud) { + UNUSED(ud); + luaD_call(L, L->top - 2, 0, 0); +} + + +static void GCTM (lua_State *L, int propagateerrors) { + global_State *g = G(L); + const TValue *tm; + TValue v; + setgcovalue(L, &v, udata2finalize(g)); + tm = luaT_gettmbyobj(L, &v, TM_GC); + if (tm != NULL && ttisfunction(tm)) { /* is there a finalizer? */ + int status; + lu_byte oldah = L->allowhook; + int running = g->gcrunning; + L->allowhook = 0; /* stop debug hooks during GC metamethod */ + g->gcrunning = 0; /* avoid GC steps */ + setobj2s(L, L->top, tm); /* push finalizer... */ + setobj2s(L, L->top + 1, &v); /* ... and its argument */ + L->top += 2; /* and (next line) call the finalizer */ + status = luaD_pcall(L, dothecall, NULL, savestack(L, L->top - 2), 0); + L->allowhook = oldah; /* restore hooks */ + g->gcrunning = running; /* restore state */ + if (status != LUA_OK && propagateerrors) { /* error while running __gc? */ + if (status == LUA_ERRRUN) { /* is there an error object? */ + const char *msg = (ttisstring(L->top - 1)) + ? svalue(L->top - 1) + : "no message"; + luaO_pushfstring(L, "error in __gc metamethod (%s)", msg); + status = LUA_ERRGCMM; /* error in __gc metamethod */ + } + luaD_throw(L, status); /* re-throw error */ + } + } +} + + +/* +** move all unreachable objects (or 'all' objects) that need +** finalization from list 'finobj' to list 'tobefnz' (to be finalized) +*/ +static void separatetobefnz (lua_State *L, int all) { + global_State *g = G(L); + GCObject **p = &g->finobj; + GCObject *curr; + GCObject **lastnext = &g->tobefnz; + /* find last 'next' field in 'tobefnz' list (to add elements in its end) */ + while (*lastnext != NULL) + lastnext = &gch(*lastnext)->next; + while ((curr = *p) != NULL) { /* traverse all finalizable objects */ + lua_assert(!isfinalized(curr)); + lua_assert(testbit(gch(curr)->marked, SEPARATED)); + if (!(iswhite(curr) || all)) /* not being collected? */ + p = &gch(curr)->next; /* don't bother with it */ + else { + l_setbit(gch(curr)->marked, FINALIZEDBIT); /* won't be finalized again */ + *p = gch(curr)->next; /* remove 'curr' from 'finobj' list */ + gch(curr)->next = *lastnext; /* link at the end of 'tobefnz' list */ + *lastnext = curr; + lastnext = &gch(curr)->next; + } + } +} + + +/* +** if object 'o' has a finalizer, remove it from 'allgc' list (must +** search the list to find it) and link it in 'finobj' list. +*/ +void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) { + global_State *g = G(L); + if (testbit(gch(o)->marked, SEPARATED) || /* obj. is already separated... */ + isfinalized(o) || /* ... or is finalized... */ + gfasttm(g, mt, TM_GC) == NULL) /* or has no finalizer? */ + return; /* nothing to be done */ + else { /* move 'o' to 'finobj' list */ + GCObject **p; + GCheader *ho = gch(o); + if (g->sweepgc == &ho->next) { /* avoid removing current sweep object */ + lua_assert(issweepphase(g)); + g->sweepgc = sweeptolive(L, g->sweepgc, NULL); + } + /* search for pointer pointing to 'o' */ + for (p = &g->allgc; *p != o; p = &gch(*p)->next) { /* empty */ } + *p = ho->next; /* remove 'o' from root list */ + ho->next = g->finobj; /* link it in list 'finobj' */ + g->finobj = o; + l_setbit(ho->marked, SEPARATED); /* mark it as such */ + if (!keepinvariantout(g)) /* not keeping invariant? */ + makewhite(g, o); /* "sweep" object */ + else + resetoldbit(o); /* see MOVE OLD rule */ + } +} + +/* }====================================================== */ + + +/* +** {====================================================== +** GC control +** ======================================================= +*/ + + +/* +** set a reasonable "time" to wait before starting a new GC cycle; +** cycle will start when memory use hits threshold +*/ +static void setpause (global_State *g, l_mem estimate) { + l_mem debt, threshold; + estimate = estimate / PAUSEADJ; /* adjust 'estimate' */ + threshold = (g->gcpause < MAX_LMEM / estimate) /* overflow? */ + ? estimate * g->gcpause /* no overflow */ + : MAX_LMEM; /* overflow; truncate to maximum */ + debt = -cast(l_mem, threshold - gettotalbytes(g)); + luaE_setdebt(g, debt); +} + + +#define sweepphases \ + (bitmask(GCSsweepstring) | bitmask(GCSsweepudata) | bitmask(GCSsweep)) + + +/* +** enter first sweep phase (strings) and prepare pointers for other +** sweep phases. The calls to 'sweeptolive' make pointers point to an +** object inside the list (instead of to the header), so that the real +** sweep do not need to skip objects created between "now" and the start +** of the real sweep. +** Returns how many objects it swept. +*/ +static int entersweep (lua_State *L) { + global_State *g = G(L); + int n = 0; + g->gcstate = GCSsweepstring; + lua_assert(g->sweepgc == NULL && g->sweepfin == NULL); + /* prepare to sweep strings, finalizable objects, and regular objects */ + g->sweepstrgc = 0; + g->sweepfin = sweeptolive(L, &g->finobj, &n); + g->sweepgc = sweeptolive(L, &g->allgc, &n); + return n; +} + + +/* +** change GC mode +*/ +void luaC_changemode (lua_State *L, int mode) { + global_State *g = G(L); + if (mode == g->gckind) return; /* nothing to change */ + if (mode == KGC_GEN) { /* change to generational mode */ + /* make sure gray lists are consistent */ + luaC_runtilstate(L, bitmask(GCSpropagate)); + g->GCestimate = gettotalbytes(g); + g->gckind = KGC_GEN; + } + else { /* change to incremental mode */ + /* sweep all objects to turn them back to white + (as white has not changed, nothing extra will be collected) */ + g->gckind = KGC_NORMAL; + entersweep(L); + luaC_runtilstate(L, ~sweepphases); + } +} + + +/* +** call all pending finalizers +*/ +static void callallpendingfinalizers (lua_State *L, int propagateerrors) { + global_State *g = G(L); + while (g->tobefnz) { + resetoldbit(g->tobefnz); + GCTM(L, propagateerrors); + } +} + + +void luaC_freeallobjects (lua_State *L) { + global_State *g = G(L); + int i; + separatetobefnz(L, 1); /* separate all objects with finalizers */ + lua_assert(g->finobj == NULL); + callallpendingfinalizers(L, 0); + g->currentwhite = WHITEBITS; /* this "white" makes all objects look dead */ + g->gckind = KGC_NORMAL; + sweepwholelist(L, &g->finobj); /* finalizers can create objs. in 'finobj' */ + sweepwholelist(L, &g->allgc); + for (i = 0; i < g->strt.size; i++) /* free all string lists */ + sweepwholelist(L, &g->strt.hash[i]); + lua_assert(g->strt.nuse == 0); +} + + +static l_mem atomic (lua_State *L) { + global_State *g = G(L); + l_mem work = -cast(l_mem, g->GCmemtrav); /* start counting work */ + GCObject *origweak, *origall; + lua_assert(!iswhite(obj2gco(g->mainthread))); + markobject(g, L); /* mark running thread */ + /* registry and global metatables may be changed by API */ + markvalue(g, &g->l_registry); + markmt(g); /* mark basic metatables */ + /* remark occasional upvalues of (maybe) dead threads */ + remarkupvals(g); + propagateall(g); /* propagate changes */ + work += g->GCmemtrav; /* stop counting (do not (re)count grays) */ + /* traverse objects caught by write barrier and by 'remarkupvals' */ + retraversegrays(g); + work -= g->GCmemtrav; /* restart counting */ + convergeephemerons(g); + /* at this point, all strongly accessible objects are marked. */ + /* clear values from weak tables, before checking finalizers */ + clearvalues(g, g->weak, NULL); + clearvalues(g, g->allweak, NULL); + origweak = g->weak; origall = g->allweak; + work += g->GCmemtrav; /* stop counting (objects being finalized) */ + separatetobefnz(L, 0); /* separate objects to be finalized */ + markbeingfnz(g); /* mark objects that will be finalized */ + propagateall(g); /* remark, to propagate `preserveness' */ + work -= g->GCmemtrav; /* restart counting */ + convergeephemerons(g); + /* at this point, all resurrected objects are marked. */ + /* remove dead objects from weak tables */ + clearkeys(g, g->ephemeron, NULL); /* clear keys from all ephemeron tables */ + clearkeys(g, g->allweak, NULL); /* clear keys from all allweak tables */ + /* clear values from resurrected weak tables */ + clearvalues(g, g->weak, origweak); + clearvalues(g, g->allweak, origall); + g->currentwhite = cast_byte(otherwhite(g)); /* flip current white */ + work += g->GCmemtrav; /* complete counting */ + return work; /* estimate of memory marked by 'atomic' */ +} + + +static lu_mem singlestep (lua_State *L) { + global_State *g = G(L); + switch (g->gcstate) { + case GCSpause: { + /* start to count memory traversed */ + g->GCmemtrav = g->strt.size * sizeof(GCObject*); + lua_assert(!isgenerational(g)); + restartcollection(g); + g->gcstate = GCSpropagate; + return g->GCmemtrav; + } + case GCSpropagate: { + if (g->gray) { + lu_mem oldtrav = g->GCmemtrav; + propagatemark(g); + return g->GCmemtrav - oldtrav; /* memory traversed in this step */ + } + else { /* no more `gray' objects */ + lu_mem work; + int sw; + g->gcstate = GCSatomic; /* finish mark phase */ + g->GCestimate = g->GCmemtrav; /* save what was counted */; + work = atomic(L); /* add what was traversed by 'atomic' */ + g->GCestimate += work; /* estimate of total memory traversed */ + sw = entersweep(L); + return work + sw * GCSWEEPCOST; + } + } + case GCSsweepstring: { + int i; + for (i = 0; i < GCSWEEPMAX && g->sweepstrgc + i < g->strt.size; i++) + sweepwholelist(L, &g->strt.hash[g->sweepstrgc + i]); + g->sweepstrgc += i; + if (g->sweepstrgc >= g->strt.size) /* no more strings to sweep? */ + g->gcstate = GCSsweepudata; + return i * GCSWEEPCOST; + } + case GCSsweepudata: { + if (g->sweepfin) { + g->sweepfin = sweeplist(L, g->sweepfin, GCSWEEPMAX); + return GCSWEEPMAX*GCSWEEPCOST; + } + else { + g->gcstate = GCSsweep; + return 0; + } + } + case GCSsweep: { + if (g->sweepgc) { + g->sweepgc = sweeplist(L, g->sweepgc, GCSWEEPMAX); + return GCSWEEPMAX*GCSWEEPCOST; + } + else { + /* sweep main thread */ + GCObject *mt = obj2gco(g->mainthread); + sweeplist(L, &mt, 1); + checkSizes(L); + g->gcstate = GCSpause; /* finish collection */ + return GCSWEEPCOST; + } + } + default: lua_assert(0); return 0; + } +} + + +/* +** advances the garbage collector until it reaches a state allowed +** by 'statemask' +*/ +void luaC_runtilstate (lua_State *L, int statesmask) { + global_State *g = G(L); + while (!testbit(statesmask, g->gcstate)) + singlestep(L); +} + + +static void generationalcollection (lua_State *L) { + global_State *g = G(L); + lua_assert(g->gcstate == GCSpropagate); + if (g->GCestimate == 0) { /* signal for another major collection? */ + luaC_fullgc(L, 0); /* perform a full regular collection */ + g->GCestimate = gettotalbytes(g); /* update control */ + } + else { + lu_mem estimate = g->GCestimate; + luaC_runtilstate(L, bitmask(GCSpause)); /* run complete (minor) cycle */ + g->gcstate = GCSpropagate; /* skip restart */ + if (gettotalbytes(g) > (estimate / 100) * g->gcmajorinc) + g->GCestimate = 0; /* signal for a major collection */ + else + g->GCestimate = estimate; /* keep estimate from last major coll. */ + + } + setpause(g, gettotalbytes(g)); + lua_assert(g->gcstate == GCSpropagate); +} + + +static void incstep (lua_State *L) { + global_State *g = G(L); + l_mem debt = g->GCdebt; + int stepmul = g->gcstepmul; + if (stepmul < 40) stepmul = 40; /* avoid ridiculous low values (and 0) */ + /* convert debt from Kb to 'work units' (avoid zero debt and overflows) */ + debt = (debt / STEPMULADJ) + 1; + debt = (debt < MAX_LMEM / stepmul) ? debt * stepmul : MAX_LMEM; + do { /* always perform at least one single step */ + lu_mem work = singlestep(L); /* do some work */ + debt -= work; + } while (debt > -GCSTEPSIZE && g->gcstate != GCSpause); + if (g->gcstate == GCSpause) + setpause(g, g->GCestimate); /* pause until next cycle */ + else { + debt = (debt / stepmul) * STEPMULADJ; /* convert 'work units' to Kb */ + luaE_setdebt(g, debt); + } +} + + +/* +** performs a basic GC step +*/ +void luaC_forcestep (lua_State *L) { + global_State *g = G(L); + int i; + if (isgenerational(g)) generationalcollection(L); + else incstep(L); + /* run a few finalizers (or all of them at the end of a collect cycle) */ + for (i = 0; g->tobefnz && (i < GCFINALIZENUM || g->gcstate == GCSpause); i++) + GCTM(L, 1); /* call one finalizer */ +} + + +/* +** performs a basic GC step only if collector is running +*/ +void luaC_step (lua_State *L) { + global_State *g = G(L); + if (g->gcrunning) luaC_forcestep(L); + else luaE_setdebt(g, -GCSTEPSIZE); /* avoid being called too often */ +} + + + +/* +** performs a full GC cycle; if "isemergency", does not call +** finalizers (which could change stack positions) +*/ +void luaC_fullgc (lua_State *L, int isemergency) { + global_State *g = G(L); + int origkind = g->gckind; + lua_assert(origkind != KGC_EMERGENCY); + if (isemergency) /* do not run finalizers during emergency GC */ + g->gckind = KGC_EMERGENCY; + else { + g->gckind = KGC_NORMAL; + callallpendingfinalizers(L, 1); + } + if (keepinvariant(g)) { /* may there be some black objects? */ + /* must sweep all objects to turn them back to white + (as white has not changed, nothing will be collected) */ + entersweep(L); + } + /* finish any pending sweep phase to start a new cycle */ + luaC_runtilstate(L, bitmask(GCSpause)); + luaC_runtilstate(L, ~bitmask(GCSpause)); /* start new collection */ + luaC_runtilstate(L, bitmask(GCSpause)); /* run entire collection */ + if (origkind == KGC_GEN) { /* generational mode? */ + /* generational mode must be kept in propagate phase */ + luaC_runtilstate(L, bitmask(GCSpropagate)); + } + g->gckind = origkind; + setpause(g, gettotalbytes(g)); + if (!isemergency) /* do not run finalizers during emergency GC */ + callallpendingfinalizers(L, 1); +} + +/* }====================================================== */ + + diff --git a/server/scripting/Lua/src/lgc.h b/server/scripting/Lua/src/lgc.h new file mode 100644 index 0000000..84bb1cd --- /dev/null +++ b/server/scripting/Lua/src/lgc.h @@ -0,0 +1,157 @@ +/* +** $Id: lgc.h,v 2.58.1.1 2013/04/12 18:48:47 roberto Exp $ +** Garbage Collector +** See Copyright Notice in lua.h +*/ + +#ifndef lgc_h +#define lgc_h + + +#include "lobject.h" +#include "lstate.h" + +/* +** Collectable objects may have one of three colors: white, which +** means the object is not marked; gray, which means the +** object is marked, but its references may be not marked; and +** black, which means that the object and all its references are marked. +** The main invariant of the garbage collector, while marking objects, +** is that a black object can never point to a white one. Moreover, +** any gray object must be in a "gray list" (gray, grayagain, weak, +** allweak, ephemeron) so that it can be visited again before finishing +** the collection cycle. These lists have no meaning when the invariant +** is not being enforced (e.g., sweep phase). +*/ + + + +/* how much to allocate before next GC step */ +#if !defined(GCSTEPSIZE) +/* ~100 small strings */ +#define GCSTEPSIZE (cast_int(100 * sizeof(TString))) +#endif + + +/* +** Possible states of the Garbage Collector +*/ +#define GCSpropagate 0 +#define GCSatomic 1 +#define GCSsweepstring 2 +#define GCSsweepudata 3 +#define GCSsweep 4 +#define GCSpause 5 + + +#define issweepphase(g) \ + (GCSsweepstring <= (g)->gcstate && (g)->gcstate <= GCSsweep) + +#define isgenerational(g) ((g)->gckind == KGC_GEN) + +/* +** macros to tell when main invariant (white objects cannot point to black +** ones) must be kept. During a non-generational collection, the sweep +** phase may break the invariant, as objects turned white may point to +** still-black objects. The invariant is restored when sweep ends and +** all objects are white again. During a generational collection, the +** invariant must be kept all times. +*/ + +#define keepinvariant(g) (isgenerational(g) || g->gcstate <= GCSatomic) + + +/* +** Outside the collector, the state in generational mode is kept in +** 'propagate', so 'keepinvariant' is always true. +*/ +#define keepinvariantout(g) \ + check_exp(g->gcstate == GCSpropagate || !isgenerational(g), \ + g->gcstate <= GCSatomic) + + +/* +** some useful bit tricks +*/ +#define resetbits(x,m) ((x) &= cast(lu_byte, ~(m))) +#define setbits(x,m) ((x) |= (m)) +#define testbits(x,m) ((x) & (m)) +#define bitmask(b) (1<<(b)) +#define bit2mask(b1,b2) (bitmask(b1) | bitmask(b2)) +#define l_setbit(x,b) setbits(x, bitmask(b)) +#define resetbit(x,b) resetbits(x, bitmask(b)) +#define testbit(x,b) testbits(x, bitmask(b)) + + +/* Layout for bit use in `marked' field: */ +#define WHITE0BIT 0 /* object is white (type 0) */ +#define WHITE1BIT 1 /* object is white (type 1) */ +#define BLACKBIT 2 /* object is black */ +#define FINALIZEDBIT 3 /* object has been separated for finalization */ +#define SEPARATED 4 /* object is in 'finobj' list or in 'tobefnz' */ +#define FIXEDBIT 5 /* object is fixed (should not be collected) */ +#define OLDBIT 6 /* object is old (only in generational mode) */ +/* bit 7 is currently used by tests (luaL_checkmemory) */ + +#define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) + + +#define iswhite(x) testbits((x)->gch.marked, WHITEBITS) +#define isblack(x) testbit((x)->gch.marked, BLACKBIT) +#define isgray(x) /* neither white nor black */ \ + (!testbits((x)->gch.marked, WHITEBITS | bitmask(BLACKBIT))) + +#define isold(x) testbit((x)->gch.marked, OLDBIT) + +/* MOVE OLD rule: whenever an object is moved to the beginning of + a GC list, its old bit must be cleared */ +#define resetoldbit(o) resetbit((o)->gch.marked, OLDBIT) + +#define otherwhite(g) (g->currentwhite ^ WHITEBITS) +#define isdeadm(ow,m) (!(((m) ^ WHITEBITS) & (ow))) +#define isdead(g,v) isdeadm(otherwhite(g), (v)->gch.marked) + +#define changewhite(x) ((x)->gch.marked ^= WHITEBITS) +#define gray2black(x) l_setbit((x)->gch.marked, BLACKBIT) + +#define valiswhite(x) (iscollectable(x) && iswhite(gcvalue(x))) + +#define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS) + + +#define luaC_condGC(L,c) \ + {if (G(L)->GCdebt > 0) {c;}; condchangemem(L);} +#define luaC_checkGC(L) luaC_condGC(L, luaC_step(L);) + + +#define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \ + luaC_barrier_(L,obj2gco(p),gcvalue(v)); } + +#define luaC_barrierback(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \ + luaC_barrierback_(L,p); } + +#define luaC_objbarrier(L,p,o) \ + { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) \ + luaC_barrier_(L,obj2gco(p),obj2gco(o)); } + +#define luaC_objbarrierback(L,p,o) \ + { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) luaC_barrierback_(L,p); } + +#define luaC_barrierproto(L,p,c) \ + { if (isblack(obj2gco(p))) luaC_barrierproto_(L,p,c); } + +LUAI_FUNC void luaC_freeallobjects (lua_State *L); +LUAI_FUNC void luaC_step (lua_State *L); +LUAI_FUNC void luaC_forcestep (lua_State *L); +LUAI_FUNC void luaC_runtilstate (lua_State *L, int statesmask); +LUAI_FUNC void luaC_fullgc (lua_State *L, int isemergency); +LUAI_FUNC GCObject *luaC_newobj (lua_State *L, int tt, size_t sz, + GCObject **list, int offset); +LUAI_FUNC void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v); +LUAI_FUNC void luaC_barrierback_ (lua_State *L, GCObject *o); +LUAI_FUNC void luaC_barrierproto_ (lua_State *L, Proto *p, Closure *c); +LUAI_FUNC void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt); +LUAI_FUNC void luaC_checkupvalcolor (global_State *g, UpVal *uv); +LUAI_FUNC void luaC_changemode (lua_State *L, int mode); + +#endif diff --git a/server/scripting/Lua/src/linit.c b/server/scripting/Lua/src/linit.c new file mode 100644 index 0000000..c1a3830 --- /dev/null +++ b/server/scripting/Lua/src/linit.c @@ -0,0 +1,67 @@ +/* +** $Id: linit.c,v 1.32.1.1 2013/04/12 18:48:47 roberto Exp $ +** Initialization of libraries for lua.c and other clients +** See Copyright Notice in lua.h +*/ + + +/* +** If you embed Lua in your program and need to open the standard +** libraries, call luaL_openlibs in your program. If you need a +** different set of libraries, copy this file to your project and edit +** it to suit your needs. +*/ + + +#define linit_c +#define LUA_LIB + +#include "lua.h" + +#include "lualib.h" +#include "lauxlib.h" + + +/* +** these libs are loaded by lua.c and are readily available to any Lua +** program +*/ +static const luaL_Reg loadedlibs[] = { + {"_G", luaopen_base}, + {LUA_LOADLIBNAME, luaopen_package}, + {LUA_COLIBNAME, luaopen_coroutine}, + {LUA_TABLIBNAME, luaopen_table}, + {LUA_IOLIBNAME, luaopen_io}, + {LUA_OSLIBNAME, luaopen_os}, + {LUA_STRLIBNAME, luaopen_string}, + {LUA_BITLIBNAME, luaopen_bit32}, + {LUA_MATHLIBNAME, luaopen_math}, + {LUA_DBLIBNAME, luaopen_debug}, + {NULL, NULL} +}; + + +/* +** these libs are preloaded and must be required before used +*/ +static const luaL_Reg preloadedlibs[] = { + {NULL, NULL} +}; + + +LUALIB_API void luaL_openlibs (lua_State *L) { + const luaL_Reg *lib; + /* call open functions from 'loadedlibs' and set results to global table */ + for (lib = loadedlibs; lib->func; lib++) { + luaL_requiref(L, lib->name, lib->func, 1); + lua_pop(L, 1); /* remove lib */ + } + /* add open functions from 'preloadedlibs' into 'package.preload' table */ + luaL_getsubtable(L, LUA_REGISTRYINDEX, "_PRELOAD"); + for (lib = preloadedlibs; lib->func; lib++) { + lua_pushcfunction(L, lib->func); + lua_setfield(L, -2, lib->name); + } + lua_pop(L, 1); /* remove _PRELOAD table */ +} + diff --git a/server/scripting/Lua/src/liolib.c b/server/scripting/Lua/src/liolib.c new file mode 100644 index 0000000..2a4ec4a --- /dev/null +++ b/server/scripting/Lua/src/liolib.c @@ -0,0 +1,666 @@ +/* +** $Id: liolib.c,v 2.112.1.1 2013/04/12 18:48:47 roberto Exp $ +** Standard I/O (and system) library +** See Copyright Notice in lua.h +*/ + + +/* +** This definition must come before the inclusion of 'stdio.h'; it +** should not affect non-POSIX systems +*/ +#if !defined(_FILE_OFFSET_BITS) +#define _LARGEFILE_SOURCE 1 +#define _FILE_OFFSET_BITS 64 +#endif + + +#include +#include +#include +#include + +#define liolib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +#if !defined(lua_checkmode) + +/* +** Check whether 'mode' matches '[rwa]%+?b?'. +** Change this macro to accept other modes for 'fopen' besides +** the standard ones. +*/ +#define lua_checkmode(mode) \ + (*mode != '\0' && strchr("rwa", *(mode++)) != NULL && \ + (*mode != '+' || ++mode) && /* skip if char is '+' */ \ + (*mode != 'b' || ++mode) && /* skip if char is 'b' */ \ + (*mode == '\0')) + +#endif + +/* +** {====================================================== +** lua_popen spawns a new process connected to the current +** one through the file streams. +** ======================================================= +*/ + +#if !defined(lua_popen) /* { */ + +#if defined(LUA_USE_POPEN) /* { */ + +#define lua_popen(L,c,m) ((void)L, fflush(NULL), popen(c,m)) +#define lua_pclose(L,file) ((void)L, pclose(file)) + +#elif defined(LUA_WIN) /* }{ */ + +#define lua_popen(L,c,m) ((void)L, _popen(c,m)) +#define lua_pclose(L,file) ((void)L, _pclose(file)) + + +#else /* }{ */ + +#define lua_popen(L,c,m) ((void)((void)c, m), \ + luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0) +#define lua_pclose(L,file) ((void)((void)L, file), -1) + + +#endif /* } */ + +#endif /* } */ + +/* }====================================================== */ + + +/* +** {====================================================== +** lua_fseek: configuration for longer offsets +** ======================================================= +*/ + +#if !defined(lua_fseek) && !defined(LUA_ANSI) /* { */ + +#if defined(LUA_USE_POSIX) /* { */ + +#define l_fseek(f,o,w) fseeko(f,o,w) +#define l_ftell(f) ftello(f) +#define l_seeknum off_t + +#elif defined(LUA_WIN) && !defined(_CRTIMP_TYPEINFO) \ + && defined(_MSC_VER) && (_MSC_VER >= 1400) /* }{ */ +/* Windows (but not DDK) and Visual C++ 2005 or higher */ + +#define l_fseek(f,o,w) _fseeki64(f,o,w) +#define l_ftell(f) _ftelli64(f) +#define l_seeknum __int64 + +#endif /* } */ + +#endif /* } */ + + +#if !defined(l_fseek) /* default definitions */ +#define l_fseek(f,o,w) fseek(f,o,w) +#define l_ftell(f) ftell(f) +#define l_seeknum long +#endif + +/* }====================================================== */ + + +#define IO_PREFIX "_IO_" +#define IO_INPUT (IO_PREFIX "input") +#define IO_OUTPUT (IO_PREFIX "output") + + +typedef luaL_Stream LStream; + + +#define tolstream(L) ((LStream *)luaL_checkudata(L, 1, LUA_FILEHANDLE)) + +#define isclosed(p) ((p)->closef == NULL) + + +static int io_type (lua_State *L) { + LStream *p; + luaL_checkany(L, 1); + p = (LStream *)luaL_testudata(L, 1, LUA_FILEHANDLE); + if (p == NULL) + lua_pushnil(L); /* not a file */ + else if (isclosed(p)) + lua_pushliteral(L, "closed file"); + else + lua_pushliteral(L, "file"); + return 1; +} + + +static int f_tostring (lua_State *L) { + LStream *p = tolstream(L); + if (isclosed(p)) + lua_pushliteral(L, "file (closed)"); + else + lua_pushfstring(L, "file (%p)", p->f); + return 1; +} + + +static FILE *tofile (lua_State *L) { + LStream *p = tolstream(L); + if (isclosed(p)) + luaL_error(L, "attempt to use a closed file"); + lua_assert(p->f); + return p->f; +} + + +/* +** When creating file handles, always creates a `closed' file handle +** before opening the actual file; so, if there is a memory error, the +** file is not left opened. +*/ +static LStream *newprefile (lua_State *L) { + LStream *p = (LStream *)lua_newuserdata(L, sizeof(LStream)); + p->closef = NULL; /* mark file handle as 'closed' */ + luaL_setmetatable(L, LUA_FILEHANDLE); + return p; +} + + +static int aux_close (lua_State *L) { + LStream *p = tolstream(L); + lua_CFunction cf = p->closef; + p->closef = NULL; /* mark stream as closed */ + return (*cf)(L); /* close it */ +} + + +static int io_close (lua_State *L) { + if (lua_isnone(L, 1)) /* no argument? */ + lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */ + tofile(L); /* make sure argument is an open stream */ + return aux_close(L); +} + + +static int f_gc (lua_State *L) { + LStream *p = tolstream(L); + if (!isclosed(p) && p->f != NULL) + aux_close(L); /* ignore closed and incompletely open files */ + return 0; +} + + +/* +** function to close regular files +*/ +static int io_fclose (lua_State *L) { + LStream *p = tolstream(L); + int res = fclose(p->f); + return luaL_fileresult(L, (res == 0), NULL); +} + + +static LStream *newfile (lua_State *L) { + LStream *p = newprefile(L); + p->f = NULL; + p->closef = &io_fclose; + return p; +} + + +static void opencheck (lua_State *L, const char *fname, const char *mode) { + LStream *p = newfile(L); + p->f = fopen(fname, mode); + if (p->f == NULL) + luaL_error(L, "cannot open file " LUA_QS " (%s)", fname, strerror(errno)); +} + + +static int io_open (lua_State *L) { + const char *filename = luaL_checkstring(L, 1); + const char *mode = luaL_optstring(L, 2, "r"); + LStream *p = newfile(L); + const char *md = mode; /* to traverse/check mode */ + luaL_argcheck(L, lua_checkmode(md), 2, "invalid mode"); + p->f = fopen(filename, mode); + return (p->f == NULL) ? luaL_fileresult(L, 0, filename) : 1; +} + + +/* +** function to close 'popen' files +*/ +static int io_pclose (lua_State *L) { + LStream *p = tolstream(L); + return luaL_execresult(L, lua_pclose(L, p->f)); +} + + +static int io_popen (lua_State *L) { + const char *filename = luaL_checkstring(L, 1); + const char *mode = luaL_optstring(L, 2, "r"); + LStream *p = newprefile(L); + p->f = lua_popen(L, filename, mode); + p->closef = &io_pclose; + return (p->f == NULL) ? luaL_fileresult(L, 0, filename) : 1; +} + + +static int io_tmpfile (lua_State *L) { + LStream *p = newfile(L); + p->f = tmpfile(); + return (p->f == NULL) ? luaL_fileresult(L, 0, NULL) : 1; +} + + +static FILE *getiofile (lua_State *L, const char *findex) { + LStream *p; + lua_getfield(L, LUA_REGISTRYINDEX, findex); + p = (LStream *)lua_touserdata(L, -1); + if (isclosed(p)) + luaL_error(L, "standard %s file is closed", findex + strlen(IO_PREFIX)); + return p->f; +} + + +static int g_iofile (lua_State *L, const char *f, const char *mode) { + if (!lua_isnoneornil(L, 1)) { + const char *filename = lua_tostring(L, 1); + if (filename) + opencheck(L, filename, mode); + else { + tofile(L); /* check that it's a valid file handle */ + lua_pushvalue(L, 1); + } + lua_setfield(L, LUA_REGISTRYINDEX, f); + } + /* return current value */ + lua_getfield(L, LUA_REGISTRYINDEX, f); + return 1; +} + + +static int io_input (lua_State *L) { + return g_iofile(L, IO_INPUT, "r"); +} + + +static int io_output (lua_State *L) { + return g_iofile(L, IO_OUTPUT, "w"); +} + + +static int io_readline (lua_State *L); + + +static void aux_lines (lua_State *L, int toclose) { + int i; + int n = lua_gettop(L) - 1; /* number of arguments to read */ + /* ensure that arguments will fit here and into 'io_readline' stack */ + luaL_argcheck(L, n <= LUA_MINSTACK - 3, LUA_MINSTACK - 3, "too many options"); + lua_pushvalue(L, 1); /* file handle */ + lua_pushinteger(L, n); /* number of arguments to read */ + lua_pushboolean(L, toclose); /* close/not close file when finished */ + for (i = 1; i <= n; i++) lua_pushvalue(L, i + 1); /* copy arguments */ + lua_pushcclosure(L, io_readline, 3 + n); +} + + +static int f_lines (lua_State *L) { + tofile(L); /* check that it's a valid file handle */ + aux_lines(L, 0); + return 1; +} + + +static int io_lines (lua_State *L) { + int toclose; + if (lua_isnone(L, 1)) lua_pushnil(L); /* at least one argument */ + if (lua_isnil(L, 1)) { /* no file name? */ + lua_getfield(L, LUA_REGISTRYINDEX, IO_INPUT); /* get default input */ + lua_replace(L, 1); /* put it at index 1 */ + tofile(L); /* check that it's a valid file handle */ + toclose = 0; /* do not close it after iteration */ + } + else { /* open a new file */ + const char *filename = luaL_checkstring(L, 1); + opencheck(L, filename, "r"); + lua_replace(L, 1); /* put file at index 1 */ + toclose = 1; /* close it after iteration */ + } + aux_lines(L, toclose); + return 1; +} + + +/* +** {====================================================== +** READ +** ======================================================= +*/ + + +static int read_number (lua_State *L, FILE *f) { + lua_Number d; + if (fscanf(f, LUA_NUMBER_SCAN, &d) == 1) { + lua_pushnumber(L, d); + return 1; + } + else { + lua_pushnil(L); /* "result" to be removed */ + return 0; /* read fails */ + } +} + + +static int test_eof (lua_State *L, FILE *f) { + int c = getc(f); + ungetc(c, f); + lua_pushlstring(L, NULL, 0); + return (c != EOF); +} + + +static int read_line (lua_State *L, FILE *f, int chop) { + luaL_Buffer b; + luaL_buffinit(L, &b); + for (;;) { + size_t l; + char *p = luaL_prepbuffer(&b); + if (fgets(p, LUAL_BUFFERSIZE, f) == NULL) { /* eof? */ + luaL_pushresult(&b); /* close buffer */ + return (lua_rawlen(L, -1) > 0); /* check whether read something */ + } + l = strlen(p); + if (l == 0 || p[l-1] != '\n') + luaL_addsize(&b, l); + else { + luaL_addsize(&b, l - chop); /* chop 'eol' if needed */ + luaL_pushresult(&b); /* close buffer */ + return 1; /* read at least an `eol' */ + } + } +} + + +#define MAX_SIZE_T (~(size_t)0) + +static void read_all (lua_State *L, FILE *f) { + size_t rlen = LUAL_BUFFERSIZE; /* how much to read in each cycle */ + luaL_Buffer b; + luaL_buffinit(L, &b); + for (;;) { + char *p = luaL_prepbuffsize(&b, rlen); + size_t nr = fread(p, sizeof(char), rlen, f); + luaL_addsize(&b, nr); + if (nr < rlen) break; /* eof? */ + else if (rlen <= (MAX_SIZE_T / 4)) /* avoid buffers too large */ + rlen *= 2; /* double buffer size at each iteration */ + } + luaL_pushresult(&b); /* close buffer */ +} + + +static int read_chars (lua_State *L, FILE *f, size_t n) { + size_t nr; /* number of chars actually read */ + char *p; + luaL_Buffer b; + luaL_buffinit(L, &b); + p = luaL_prepbuffsize(&b, n); /* prepare buffer to read whole block */ + nr = fread(p, sizeof(char), n, f); /* try to read 'n' chars */ + luaL_addsize(&b, nr); + luaL_pushresult(&b); /* close buffer */ + return (nr > 0); /* true iff read something */ +} + + +static int g_read (lua_State *L, FILE *f, int first) { + int nargs = lua_gettop(L) - 1; + int success; + int n; + clearerr(f); + if (nargs == 0) { /* no arguments? */ + success = read_line(L, f, 1); + n = first+1; /* to return 1 result */ + } + else { /* ensure stack space for all results and for auxlib's buffer */ + luaL_checkstack(L, nargs+LUA_MINSTACK, "too many arguments"); + success = 1; + for (n = first; nargs-- && success; n++) { + if (lua_type(L, n) == LUA_TNUMBER) { + size_t l = (size_t)lua_tointeger(L, n); + success = (l == 0) ? test_eof(L, f) : read_chars(L, f, l); + } + else { + const char *p = lua_tostring(L, n); + luaL_argcheck(L, p && p[0] == '*', n, "invalid option"); + switch (p[1]) { + case 'n': /* number */ + success = read_number(L, f); + break; + case 'l': /* line */ + success = read_line(L, f, 1); + break; + case 'L': /* line with end-of-line */ + success = read_line(L, f, 0); + break; + case 'a': /* file */ + read_all(L, f); /* read entire file */ + success = 1; /* always success */ + break; + default: + return luaL_argerror(L, n, "invalid format"); + } + } + } + } + if (ferror(f)) + return luaL_fileresult(L, 0, NULL); + if (!success) { + lua_pop(L, 1); /* remove last result */ + lua_pushnil(L); /* push nil instead */ + } + return n - first; +} + + +static int io_read (lua_State *L) { + return g_read(L, getiofile(L, IO_INPUT), 1); +} + + +static int f_read (lua_State *L) { + return g_read(L, tofile(L), 2); +} + + +static int io_readline (lua_State *L) { + LStream *p = (LStream *)lua_touserdata(L, lua_upvalueindex(1)); + int i; + int n = (int)lua_tointeger(L, lua_upvalueindex(2)); + if (isclosed(p)) /* file is already closed? */ + return luaL_error(L, "file is already closed"); + lua_settop(L , 1); + for (i = 1; i <= n; i++) /* push arguments to 'g_read' */ + lua_pushvalue(L, lua_upvalueindex(3 + i)); + n = g_read(L, p->f, 2); /* 'n' is number of results */ + lua_assert(n > 0); /* should return at least a nil */ + if (!lua_isnil(L, -n)) /* read at least one value? */ + return n; /* return them */ + else { /* first result is nil: EOF or error */ + if (n > 1) { /* is there error information? */ + /* 2nd result is error message */ + return luaL_error(L, "%s", lua_tostring(L, -n + 1)); + } + if (lua_toboolean(L, lua_upvalueindex(3))) { /* generator created file? */ + lua_settop(L, 0); + lua_pushvalue(L, lua_upvalueindex(1)); + aux_close(L); /* close it */ + } + return 0; + } +} + +/* }====================================================== */ + + +static int g_write (lua_State *L, FILE *f, int arg) { + int nargs = lua_gettop(L) - arg; + int status = 1; + for (; nargs--; arg++) { + if (lua_type(L, arg) == LUA_TNUMBER) { + /* optimization: could be done exactly as for strings */ + status = status && + fprintf(f, LUA_NUMBER_FMT, lua_tonumber(L, arg)) > 0; + } + else { + size_t l; + const char *s = luaL_checklstring(L, arg, &l); + status = status && (fwrite(s, sizeof(char), l, f) == l); + } + } + if (status) return 1; /* file handle already on stack top */ + else return luaL_fileresult(L, status, NULL); +} + + +static int io_write (lua_State *L) { + return g_write(L, getiofile(L, IO_OUTPUT), 1); +} + + +static int f_write (lua_State *L) { + FILE *f = tofile(L); + lua_pushvalue(L, 1); /* push file at the stack top (to be returned) */ + return g_write(L, f, 2); +} + + +static int f_seek (lua_State *L) { + static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END}; + static const char *const modenames[] = {"set", "cur", "end", NULL}; + FILE *f = tofile(L); + int op = luaL_checkoption(L, 2, "cur", modenames); + lua_Number p3 = luaL_optnumber(L, 3, 0); + l_seeknum offset = (l_seeknum)p3; + luaL_argcheck(L, (lua_Number)offset == p3, 3, + "not an integer in proper range"); + op = l_fseek(f, offset, mode[op]); + if (op) + return luaL_fileresult(L, 0, NULL); /* error */ + else { + lua_pushnumber(L, (lua_Number)l_ftell(f)); + return 1; + } +} + + +static int f_setvbuf (lua_State *L) { + static const int mode[] = {_IONBF, _IOFBF, _IOLBF}; + static const char *const modenames[] = {"no", "full", "line", NULL}; + FILE *f = tofile(L); + int op = luaL_checkoption(L, 2, NULL, modenames); + lua_Integer sz = luaL_optinteger(L, 3, LUAL_BUFFERSIZE); + int res = setvbuf(f, NULL, mode[op], sz); + return luaL_fileresult(L, res == 0, NULL); +} + + + +static int io_flush (lua_State *L) { + return luaL_fileresult(L, fflush(getiofile(L, IO_OUTPUT)) == 0, NULL); +} + + +static int f_flush (lua_State *L) { + return luaL_fileresult(L, fflush(tofile(L)) == 0, NULL); +} + + +/* +** functions for 'io' library +*/ +static const luaL_Reg iolib[] = { + {"close", io_close}, + {"flush", io_flush}, + {"input", io_input}, + {"lines", io_lines}, + {"open", io_open}, + {"output", io_output}, + {"popen", io_popen}, + {"read", io_read}, + {"tmpfile", io_tmpfile}, + {"type", io_type}, + {"write", io_write}, + {NULL, NULL} +}; + + +/* +** methods for file handles +*/ +static const luaL_Reg flib[] = { + {"close", io_close}, + {"flush", f_flush}, + {"lines", f_lines}, + {"read", f_read}, + {"seek", f_seek}, + {"setvbuf", f_setvbuf}, + {"write", f_write}, + {"__gc", f_gc}, + {"__tostring", f_tostring}, + {NULL, NULL} +}; + + +static void createmeta (lua_State *L) { + luaL_newmetatable(L, LUA_FILEHANDLE); /* create metatable for file handles */ + lua_pushvalue(L, -1); /* push metatable */ + lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */ + luaL_setfuncs(L, flib, 0); /* add file methods to new metatable */ + lua_pop(L, 1); /* pop new metatable */ +} + + +/* +** function to (not) close the standard files stdin, stdout, and stderr +*/ +static int io_noclose (lua_State *L) { + LStream *p = tolstream(L); + p->closef = &io_noclose; /* keep file opened */ + lua_pushnil(L); + lua_pushliteral(L, "cannot close standard file"); + return 2; +} + + +static void createstdfile (lua_State *L, FILE *f, const char *k, + const char *fname) { + LStream *p = newprefile(L); + p->f = f; + p->closef = &io_noclose; + if (k != NULL) { + lua_pushvalue(L, -1); + lua_setfield(L, LUA_REGISTRYINDEX, k); /* add file to registry */ + } + lua_setfield(L, -2, fname); /* add file to module */ +} + + +LUAMOD_API int luaopen_io (lua_State *L) { + luaL_newlib(L, iolib); /* new module */ + createmeta(L); + /* create (and set) default files */ + createstdfile(L, stdin, IO_INPUT, "stdin"); + createstdfile(L, stdout, IO_OUTPUT, "stdout"); + createstdfile(L, stderr, NULL, "stderr"); + return 1; +} + diff --git a/server/scripting/Lua/src/llex.c b/server/scripting/Lua/src/llex.c new file mode 100644 index 0000000..32cdcf1 --- /dev/null +++ b/server/scripting/Lua/src/llex.c @@ -0,0 +1,530 @@ +/* +** $Id: llex.c,v 2.63.1.3 2015/02/09 17:56:34 roberto Exp $ +** Lexical Analyzer +** See Copyright Notice in lua.h +*/ + + +#include +#include + +#define llex_c +#define LUA_CORE + +#include "lua.h" + +#include "lctype.h" +#include "ldo.h" +#include "llex.h" +#include "lobject.h" +#include "lparser.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "lzio.h" + + + +#define next(ls) (ls->current = zgetc(ls->z)) + + + +#define currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') + + +/* ORDER RESERVED */ +static const char *const luaX_tokens [] = { + "and", "break", "do", "else", "elseif", + "end", "false", "for", "function", "goto", "if", + "in", "local", "nil", "not", "or", "repeat", + "return", "then", "true", "until", "while", + "..", "...", "==", ">=", "<=", "~=", "::", "", + "", "", "" +}; + + +#define save_and_next(ls) (save(ls, ls->current), next(ls)) + + +static l_noret lexerror (LexState *ls, const char *msg, int token); + + +static void save (LexState *ls, int c) { + Mbuffer *b = ls->buff; + if (luaZ_bufflen(b) + 1 > luaZ_sizebuffer(b)) { + size_t newsize; + if (luaZ_sizebuffer(b) >= MAX_SIZET/2) + lexerror(ls, "lexical element too long", 0); + newsize = luaZ_sizebuffer(b) * 2; + luaZ_resizebuffer(ls->L, b, newsize); + } + b->buffer[luaZ_bufflen(b)++] = cast(char, c); +} + + +void luaX_init (lua_State *L) { + int i; + for (i=0; itsv.extra = cast_byte(i+1); /* reserved word */ + } +} + + +const char *luaX_token2str (LexState *ls, int token) { + if (token < FIRST_RESERVED) { /* single-byte symbols? */ + lua_assert(token == cast(unsigned char, token)); + return (lisprint(token)) ? luaO_pushfstring(ls->L, LUA_QL("%c"), token) : + luaO_pushfstring(ls->L, "char(%d)", token); + } + else { + const char *s = luaX_tokens[token - FIRST_RESERVED]; + if (token < TK_EOS) /* fixed format (symbols and reserved words)? */ + return luaO_pushfstring(ls->L, LUA_QS, s); + else /* names, strings, and numerals */ + return s; + } +} + + +static const char *txtToken (LexState *ls, int token) { + switch (token) { + case TK_NAME: + case TK_STRING: + case TK_NUMBER: + save(ls, '\0'); + return luaO_pushfstring(ls->L, LUA_QS, luaZ_buffer(ls->buff)); + default: + return luaX_token2str(ls, token); + } +} + + +static l_noret lexerror (LexState *ls, const char *msg, int token) { + char buff[LUA_IDSIZE]; + luaO_chunkid(buff, getstr(ls->source), LUA_IDSIZE); + msg = luaO_pushfstring(ls->L, "%s:%d: %s", buff, ls->linenumber, msg); + if (token) + luaO_pushfstring(ls->L, "%s near %s", msg, txtToken(ls, token)); + luaD_throw(ls->L, LUA_ERRSYNTAX); +} + + +l_noret luaX_syntaxerror (LexState *ls, const char *msg) { + lexerror(ls, msg, ls->t.token); +} + + +/* +** creates a new string and anchors it in function's table so that +** it will not be collected until the end of the function's compilation +** (by that time it should be anchored in function's prototype) +*/ +TString *luaX_newstring (LexState *ls, const char *str, size_t l) { + lua_State *L = ls->L; + TValue *o; /* entry for `str' */ + TString *ts = luaS_newlstr(L, str, l); /* create new string */ + setsvalue2s(L, L->top++, ts); /* temporarily anchor it in stack */ + o = luaH_set(L, ls->fs->h, L->top - 1); + if (ttisnil(o)) { /* not in use yet? (see 'addK') */ + /* boolean value does not need GC barrier; + table has no metatable, so it does not need to invalidate cache */ + setbvalue(o, 1); /* t[string] = true */ + luaC_checkGC(L); + } + else { /* string already present */ + ts = rawtsvalue(keyfromval(o)); /* re-use value previously stored */ + } + L->top--; /* remove string from stack */ + return ts; +} + + +/* +** increment line number and skips newline sequence (any of +** \n, \r, \n\r, or \r\n) +*/ +static void inclinenumber (LexState *ls) { + int old = ls->current; + lua_assert(currIsNewline(ls)); + next(ls); /* skip `\n' or `\r' */ + if (currIsNewline(ls) && ls->current != old) + next(ls); /* skip `\n\r' or `\r\n' */ + if (++ls->linenumber >= MAX_INT) + lexerror(ls, "chunk has too many lines", 0); +} + + +void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source, + int firstchar) { + ls->decpoint = '.'; + ls->L = L; + ls->current = firstchar; + ls->lookahead.token = TK_EOS; /* no look-ahead token */ + ls->z = z; + ls->fs = NULL; + ls->linenumber = 1; + ls->lastline = 1; + ls->source = source; + ls->envn = luaS_new(L, LUA_ENV); /* create env name */ + luaS_fix(ls->envn); /* never collect this name */ + luaZ_resizebuffer(ls->L, ls->buff, LUA_MINBUFFER); /* initialize buffer */ +} + + + +/* +** ======================================================= +** LEXICAL ANALYZER +** ======================================================= +*/ + + + +static int check_next (LexState *ls, const char *set) { + if (ls->current == '\0' || !strchr(set, ls->current)) + return 0; + save_and_next(ls); + return 1; +} + + +/* +** change all characters 'from' in buffer to 'to' +*/ +static void buffreplace (LexState *ls, char from, char to) { + size_t n = luaZ_bufflen(ls->buff); + char *p = luaZ_buffer(ls->buff); + while (n--) + if (p[n] == from) p[n] = to; +} + + +#if !defined(getlocaledecpoint) +#define getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + + +#define buff2d(b,e) luaO_str2d(luaZ_buffer(b), luaZ_bufflen(b) - 1, e) + +/* +** in case of format error, try to change decimal point separator to +** the one defined in the current locale and check again +*/ +static void trydecpoint (LexState *ls, SemInfo *seminfo) { + char old = ls->decpoint; + ls->decpoint = getlocaledecpoint(); + buffreplace(ls, old, ls->decpoint); /* try new decimal separator */ + if (!buff2d(ls->buff, &seminfo->r)) { + /* format error with correct decimal point: no more options */ + buffreplace(ls, ls->decpoint, '.'); /* undo change (for error message) */ + lexerror(ls, "malformed number", TK_NUMBER); + } +} + + +/* LUA_NUMBER */ +/* +** this function is quite liberal in what it accepts, as 'luaO_str2d' +** will reject ill-formed numerals. +*/ +static void read_numeral (LexState *ls, SemInfo *seminfo) { + const char *expo = "Ee"; + int first = ls->current; + lua_assert(lisdigit(ls->current)); + save_and_next(ls); + if (first == '0' && check_next(ls, "Xx")) /* hexadecimal? */ + expo = "Pp"; + for (;;) { + if (check_next(ls, expo)) /* exponent part? */ + check_next(ls, "+-"); /* optional exponent sign */ + if (lisxdigit(ls->current) || ls->current == '.') + save_and_next(ls); + else break; + } + save(ls, '\0'); + buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ + if (!buff2d(ls->buff, &seminfo->r)) /* format error? */ + trydecpoint(ls, seminfo); /* try to update decimal point separator */ +} + + +/* +** skip a sequence '[=*[' or ']=*]' and return its number of '='s or +** -1 if sequence is malformed +*/ +static int skip_sep (LexState *ls) { + int count = 0; + int s = ls->current; + lua_assert(s == '[' || s == ']'); + save_and_next(ls); + while (ls->current == '=') { + save_and_next(ls); + count++; + } + return (ls->current == s) ? count : (-count) - 1; +} + + +static void read_long_string (LexState *ls, SemInfo *seminfo, int sep) { + save_and_next(ls); /* skip 2nd `[' */ + if (currIsNewline(ls)) /* string starts with a newline? */ + inclinenumber(ls); /* skip it */ + for (;;) { + switch (ls->current) { + case EOZ: + lexerror(ls, (seminfo) ? "unfinished long string" : + "unfinished long comment", TK_EOS); + break; /* to avoid warnings */ + case ']': { + if (skip_sep(ls) == sep) { + save_and_next(ls); /* skip 2nd `]' */ + goto endloop; + } + break; + } + case '\n': case '\r': { + save(ls, '\n'); + inclinenumber(ls); + if (!seminfo) luaZ_resetbuffer(ls->buff); /* avoid wasting space */ + break; + } + default: { + if (seminfo) save_and_next(ls); + else next(ls); + } + } + } endloop: + if (seminfo) + seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + (2 + sep), + luaZ_bufflen(ls->buff) - 2*(2 + sep)); +} + + +static void escerror (LexState *ls, int *c, int n, const char *msg) { + int i; + luaZ_resetbuffer(ls->buff); /* prepare error message */ + save(ls, '\\'); + for (i = 0; i < n && c[i] != EOZ; i++) + save(ls, c[i]); + lexerror(ls, msg, TK_STRING); +} + + +static int readhexaesc (LexState *ls) { + int c[3], i; /* keep input for error message */ + int r = 0; /* result accumulator */ + c[0] = 'x'; /* for error message */ + for (i = 1; i < 3; i++) { /* read two hexadecimal digits */ + c[i] = next(ls); + if (!lisxdigit(c[i])) + escerror(ls, c, i + 1, "hexadecimal digit expected"); + r = (r << 4) + luaO_hexavalue(c[i]); + } + return r; +} + + +static int readdecesc (LexState *ls) { + int c[3], i; + int r = 0; /* result accumulator */ + for (i = 0; i < 3 && lisdigit(ls->current); i++) { /* read up to 3 digits */ + c[i] = ls->current; + r = 10*r + c[i] - '0'; + next(ls); + } + if (r > UCHAR_MAX) + escerror(ls, c, i, "decimal escape too large"); + return r; +} + + +static void read_string (LexState *ls, int del, SemInfo *seminfo) { + save_and_next(ls); /* keep delimiter (for error messages) */ + while (ls->current != del) { + switch (ls->current) { + case EOZ: + lexerror(ls, "unfinished string", TK_EOS); + break; /* to avoid warnings */ + case '\n': + case '\r': + lexerror(ls, "unfinished string", TK_STRING); + break; /* to avoid warnings */ + case '\\': { /* escape sequences */ + int c; /* final character to be saved */ + next(ls); /* do not save the `\' */ + switch (ls->current) { + case 'a': c = '\a'; goto read_save; + case 'b': c = '\b'; goto read_save; + case 'f': c = '\f'; goto read_save; + case 'n': c = '\n'; goto read_save; + case 'r': c = '\r'; goto read_save; + case 't': c = '\t'; goto read_save; + case 'v': c = '\v'; goto read_save; + case 'x': c = readhexaesc(ls); goto read_save; + case '\n': case '\r': + inclinenumber(ls); c = '\n'; goto only_save; + case '\\': case '\"': case '\'': + c = ls->current; goto read_save; + case EOZ: goto no_save; /* will raise an error next loop */ + case 'z': { /* zap following span of spaces */ + next(ls); /* skip the 'z' */ + while (lisspace(ls->current)) { + if (currIsNewline(ls)) inclinenumber(ls); + else next(ls); + } + goto no_save; + } + default: { + if (!lisdigit(ls->current)) + escerror(ls, &ls->current, 1, "invalid escape sequence"); + /* digital escape \ddd */ + c = readdecesc(ls); + goto only_save; + } + } + read_save: next(ls); /* read next character */ + only_save: save(ls, c); /* save 'c' */ + no_save: break; + } + default: + save_and_next(ls); + } + } + save_and_next(ls); /* skip delimiter */ + seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + 1, + luaZ_bufflen(ls->buff) - 2); +} + + +static int llex (LexState *ls, SemInfo *seminfo) { + luaZ_resetbuffer(ls->buff); + for (;;) { + switch (ls->current) { + case '\n': case '\r': { /* line breaks */ + inclinenumber(ls); + break; + } + case ' ': case '\f': case '\t': case '\v': { /* spaces */ + next(ls); + break; + } + case '-': { /* '-' or '--' (comment) */ + next(ls); + if (ls->current != '-') return '-'; + /* else is a comment */ + next(ls); + if (ls->current == '[') { /* long comment? */ + int sep = skip_sep(ls); + luaZ_resetbuffer(ls->buff); /* `skip_sep' may dirty the buffer */ + if (sep >= 0) { + read_long_string(ls, NULL, sep); /* skip long comment */ + luaZ_resetbuffer(ls->buff); /* previous call may dirty the buff. */ + break; + } + } + /* else short comment */ + while (!currIsNewline(ls) && ls->current != EOZ) + next(ls); /* skip until end of line (or end of file) */ + break; + } + case '[': { /* long string or simply '[' */ + int sep = skip_sep(ls); + if (sep >= 0) { + read_long_string(ls, seminfo, sep); + return TK_STRING; + } + else if (sep == -1) return '['; + else lexerror(ls, "invalid long string delimiter", TK_STRING); + } + case '=': { + next(ls); + if (ls->current != '=') return '='; + else { next(ls); return TK_EQ; } + } + case '<': { + next(ls); + if (ls->current != '=') return '<'; + else { next(ls); return TK_LE; } + } + case '>': { + next(ls); + if (ls->current != '=') return '>'; + else { next(ls); return TK_GE; } + } + case '~': { + next(ls); + if (ls->current != '=') return '~'; + else { next(ls); return TK_NE; } + } + case ':': { + next(ls); + if (ls->current != ':') return ':'; + else { next(ls); return TK_DBCOLON; } + } + case '"': case '\'': { /* short literal strings */ + read_string(ls, ls->current, seminfo); + return TK_STRING; + } + case '.': { /* '.', '..', '...', or number */ + save_and_next(ls); + if (check_next(ls, ".")) { + if (check_next(ls, ".")) + return TK_DOTS; /* '...' */ + else return TK_CONCAT; /* '..' */ + } + else if (!lisdigit(ls->current)) return '.'; + /* else go through */ + } + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': { + read_numeral(ls, seminfo); + return TK_NUMBER; + } + case EOZ: { + return TK_EOS; + } + default: { + if (lislalpha(ls->current)) { /* identifier or reserved word? */ + TString *ts; + do { + save_and_next(ls); + } while (lislalnum(ls->current)); + ts = luaX_newstring(ls, luaZ_buffer(ls->buff), + luaZ_bufflen(ls->buff)); + seminfo->ts = ts; + if (isreserved(ts)) /* reserved word? */ + return ts->tsv.extra - 1 + FIRST_RESERVED; + else { + return TK_NAME; + } + } + else { /* single-char tokens (+ - / ...) */ + int c = ls->current; + next(ls); + return c; + } + } + } + } +} + + +void luaX_next (LexState *ls) { + ls->lastline = ls->linenumber; + if (ls->lookahead.token != TK_EOS) { /* is there a look-ahead token? */ + ls->t = ls->lookahead; /* use this one */ + ls->lookahead.token = TK_EOS; /* and discharge it */ + } + else + ls->t.token = llex(ls, &ls->t.seminfo); /* read next token */ +} + + +int luaX_lookahead (LexState *ls) { + lua_assert(ls->lookahead.token == TK_EOS); + ls->lookahead.token = llex(ls, &ls->lookahead.seminfo); + return ls->lookahead.token; +} + diff --git a/server/scripting/Lua/src/llex.h b/server/scripting/Lua/src/llex.h new file mode 100644 index 0000000..a4acdd3 --- /dev/null +++ b/server/scripting/Lua/src/llex.h @@ -0,0 +1,78 @@ +/* +** $Id: llex.h,v 1.72.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lexical Analyzer +** See Copyright Notice in lua.h +*/ + +#ifndef llex_h +#define llex_h + +#include "lobject.h" +#include "lzio.h" + + +#define FIRST_RESERVED 257 + + + +/* +* WARNING: if you change the order of this enumeration, +* grep "ORDER RESERVED" +*/ +enum RESERVED { + /* terminal symbols denoted by reserved words */ + TK_AND = FIRST_RESERVED, TK_BREAK, + TK_DO, TK_ELSE, TK_ELSEIF, TK_END, TK_FALSE, TK_FOR, TK_FUNCTION, + TK_GOTO, TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, + TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, + /* other terminal symbols */ + TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_DBCOLON, TK_EOS, + TK_NUMBER, TK_NAME, TK_STRING +}; + +/* number of reserved words */ +#define NUM_RESERVED (cast(int, TK_WHILE-FIRST_RESERVED+1)) + + +typedef union { + lua_Number r; + TString *ts; +} SemInfo; /* semantics information */ + + +typedef struct Token { + int token; + SemInfo seminfo; +} Token; + + +/* state of the lexer plus state of the parser when shared by all + functions */ +typedef struct LexState { + int current; /* current character (charint) */ + int linenumber; /* input line counter */ + int lastline; /* line of last token `consumed' */ + Token t; /* current token */ + Token lookahead; /* look ahead token */ + struct FuncState *fs; /* current function (parser) */ + struct lua_State *L; + ZIO *z; /* input stream */ + Mbuffer *buff; /* buffer for tokens */ + struct Dyndata *dyd; /* dynamic structures used by the parser */ + TString *source; /* current source name */ + TString *envn; /* environment variable name */ + char decpoint; /* locale decimal point */ +} LexState; + + +LUAI_FUNC void luaX_init (lua_State *L); +LUAI_FUNC void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, + TString *source, int firstchar); +LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l); +LUAI_FUNC void luaX_next (LexState *ls); +LUAI_FUNC int luaX_lookahead (LexState *ls); +LUAI_FUNC l_noret luaX_syntaxerror (LexState *ls, const char *s); +LUAI_FUNC const char *luaX_token2str (LexState *ls, int token); + + +#endif diff --git a/server/scripting/Lua/src/llimits.h b/server/scripting/Lua/src/llimits.h new file mode 100644 index 0000000..152dd05 --- /dev/null +++ b/server/scripting/Lua/src/llimits.h @@ -0,0 +1,309 @@ +/* +** $Id: llimits.h,v 1.103.1.1 2013/04/12 18:48:47 roberto Exp $ +** Limits, basic types, and some other `installation-dependent' definitions +** See Copyright Notice in lua.h +*/ + +#ifndef llimits_h +#define llimits_h + + +#include +#include + + +#include "lua.h" + + +typedef unsigned LUA_INT32 lu_int32; + +typedef LUAI_UMEM lu_mem; + +typedef LUAI_MEM l_mem; + + + +/* chars used as small naturals (so that `char' is reserved for characters) */ +typedef unsigned char lu_byte; + + +#define MAX_SIZET ((size_t)(~(size_t)0)-2) + +#define MAX_LUMEM ((lu_mem)(~(lu_mem)0)-2) + +#define MAX_LMEM ((l_mem) ((MAX_LUMEM >> 1) - 2)) + + +#define MAX_INT (INT_MAX-2) /* maximum value of an int (-2 for safety) */ + +/* +** conversion of pointer to integer +** this is for hashing only; there is no problem if the integer +** cannot hold the whole pointer value +*/ +#define IntPoint(p) ((unsigned int)(lu_mem)(p)) + + + +/* type to ensure maximum alignment */ +#if !defined(LUAI_USER_ALIGNMENT_T) +#define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; } +#endif + +typedef LUAI_USER_ALIGNMENT_T L_Umaxalign; + + +/* result of a `usual argument conversion' over lua_Number */ +typedef LUAI_UACNUMBER l_uacNumber; + + +/* internal assertions for in-house debugging */ +#if defined(lua_assert) +#define check_exp(c,e) (lua_assert(c), (e)) +/* to avoid problems with conditions too long */ +#define lua_longassert(c) { if (!(c)) lua_assert(0); } +#else +#define lua_assert(c) ((void)0) +#define check_exp(c,e) (e) +#define lua_longassert(c) ((void)0) +#endif + +/* +** assertion for checking API calls +*/ +#if !defined(luai_apicheck) + +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(L,e) assert(e) +#else +#define luai_apicheck(L,e) lua_assert(e) +#endif + +#endif + +#define api_check(l,e,msg) luai_apicheck(l,(e) && msg) + + +#if !defined(UNUSED) +#define UNUSED(x) ((void)(x)) /* to avoid warnings */ +#endif + + +#define cast(t, exp) ((t)(exp)) + +#define cast_byte(i) cast(lu_byte, (i)) +#define cast_num(i) cast(lua_Number, (i)) +#define cast_int(i) cast(int, (i)) +#define cast_uchar(i) cast(unsigned char, (i)) + + +/* +** non-return type +*/ +#if defined(__GNUC__) +#define l_noret void __attribute__((noreturn)) +#elif defined(_MSC_VER) +#define l_noret void __declspec(noreturn) +#else +#define l_noret void +#endif + + + +/* +** maximum depth for nested C calls and syntactical nested non-terminals +** in a program. (Value must fit in an unsigned short int.) +*/ +#if !defined(LUAI_MAXCCALLS) +#define LUAI_MAXCCALLS 200 +#endif + +/* +** maximum number of upvalues in a closure (both C and Lua). (Value +** must fit in an unsigned char.) +*/ +#define MAXUPVAL UCHAR_MAX + + +/* +** type for virtual-machine instructions +** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h) +*/ +typedef lu_int32 Instruction; + + + +/* maximum stack for a Lua function */ +#define MAXSTACK 250 + + + +/* minimum size for the string table (must be power of 2) */ +#if !defined(MINSTRTABSIZE) +#define MINSTRTABSIZE 32 +#endif + + +/* minimum size for string buffer */ +#if !defined(LUA_MINBUFFER) +#define LUA_MINBUFFER 32 +#endif + + +#if !defined(lua_lock) +#define lua_lock(L) ((void) 0) +#define lua_unlock(L) ((void) 0) +#endif + +#if !defined(luai_threadyield) +#define luai_threadyield(L) {lua_unlock(L); lua_lock(L);} +#endif + + +/* +** these macros allow user-specific actions on threads when you defined +** LUAI_EXTRASPACE and need to do something extra when a thread is +** created/deleted/resumed/yielded. +*/ +#if !defined(luai_userstateopen) +#define luai_userstateopen(L) ((void)L) +#endif + +#if !defined(luai_userstateclose) +#define luai_userstateclose(L) ((void)L) +#endif + +#if !defined(luai_userstatethread) +#define luai_userstatethread(L,L1) ((void)L) +#endif + +#if !defined(luai_userstatefree) +#define luai_userstatefree(L,L1) ((void)L) +#endif + +#if !defined(luai_userstateresume) +#define luai_userstateresume(L,n) ((void)L) +#endif + +#if !defined(luai_userstateyield) +#define luai_userstateyield(L,n) ((void)L) +#endif + +/* +** lua_number2int is a macro to convert lua_Number to int. +** lua_number2integer is a macro to convert lua_Number to lua_Integer. +** lua_number2unsigned is a macro to convert a lua_Number to a lua_Unsigned. +** lua_unsigned2number is a macro to convert a lua_Unsigned to a lua_Number. +** luai_hashnum is a macro to hash a lua_Number value into an integer. +** The hash must be deterministic and give reasonable values for +** both small and large values (outside the range of integers). +*/ + +#if defined(MS_ASMTRICK) || defined(LUA_MSASMTRICK) /* { */ +/* trick with Microsoft assembler for X86 */ + +#define lua_number2int(i,n) __asm {__asm fld n __asm fistp i} +#define lua_number2integer(i,n) lua_number2int(i, n) +#define lua_number2unsigned(i,n) \ + {__int64 l; __asm {__asm fld n __asm fistp l} i = (unsigned int)l;} + + +#elif defined(LUA_IEEE754TRICK) /* }{ */ +/* the next trick should work on any machine using IEEE754 with + a 32-bit int type */ + +union luai_Cast { double l_d; LUA_INT32 l_p[2]; }; + +#if !defined(LUA_IEEEENDIAN) /* { */ +#define LUAI_EXTRAIEEE \ + static const union luai_Cast ieeeendian = {-(33.0 + 6755399441055744.0)}; +#define LUA_IEEEENDIANLOC (ieeeendian.l_p[1] == 33) +#else +#define LUA_IEEEENDIANLOC LUA_IEEEENDIAN +#define LUAI_EXTRAIEEE /* empty */ +#endif /* } */ + +#define lua_number2int32(i,n,t) \ + { LUAI_EXTRAIEEE \ + volatile union luai_Cast u; u.l_d = (n) + 6755399441055744.0; \ + (i) = (t)u.l_p[LUA_IEEEENDIANLOC]; } + +#define luai_hashnum(i,n) \ + { volatile union luai_Cast u; u.l_d = (n) + 1.0; /* avoid -0 */ \ + (i) = u.l_p[0]; (i) += u.l_p[1]; } /* add double bits for his hash */ + +#define lua_number2int(i,n) lua_number2int32(i, n, int) +#define lua_number2unsigned(i,n) lua_number2int32(i, n, lua_Unsigned) + +/* the trick can be expanded to lua_Integer when it is a 32-bit value */ +#if defined(LUA_IEEELL) +#define lua_number2integer(i,n) lua_number2int32(i, n, lua_Integer) +#endif + +#endif /* } */ + + +/* the following definitions always work, but may be slow */ + +#if !defined(lua_number2int) +#define lua_number2int(i,n) ((i)=(int)(n)) +#endif + +#if !defined(lua_number2integer) +#define lua_number2integer(i,n) ((i)=(lua_Integer)(n)) +#endif + +#if !defined(lua_number2unsigned) /* { */ +/* the following definition assures proper modulo behavior */ +#if defined(LUA_NUMBER_DOUBLE) || defined(LUA_NUMBER_FLOAT) +#include +#define SUPUNSIGNED ((lua_Number)(~(lua_Unsigned)0) + 1) +#define lua_number2unsigned(i,n) \ + ((i)=(lua_Unsigned)((n) - floor((n)/SUPUNSIGNED)*SUPUNSIGNED)) +#else +#define lua_number2unsigned(i,n) ((i)=(lua_Unsigned)(n)) +#endif +#endif /* } */ + + +#if !defined(lua_unsigned2number) +/* on several machines, coercion from unsigned to double is slow, + so it may be worth to avoid */ +#define lua_unsigned2number(u) \ + (((u) <= (lua_Unsigned)INT_MAX) ? (lua_Number)(int)(u) : (lua_Number)(u)) +#endif + + + +#if defined(ltable_c) && !defined(luai_hashnum) + +#include +#include + +#define luai_hashnum(i,n) { int e; \ + n = l_mathop(frexp)(n, &e) * (lua_Number)(INT_MAX - DBL_MAX_EXP); \ + lua_number2int(i, n); i += e; } + +#endif + + + +/* +** macro to control inclusion of some hard tests on stack reallocation +*/ +#if !defined(HARDSTACKTESTS) +#define condmovestack(L) ((void)0) +#else +/* realloc stack keeping its size */ +#define condmovestack(L) luaD_reallocstack((L), (L)->stacksize) +#endif + +#if !defined(HARDMEMTESTS) +#define condchangemem(L) condmovestack(L) +#else +#define condchangemem(L) \ + ((void)(!(G(L)->gcrunning) || (luaC_fullgc(L, 0), 1))) +#endif + +#endif diff --git a/server/scripting/Lua/src/lmathlib.c b/server/scripting/Lua/src/lmathlib.c new file mode 100644 index 0000000..fe9fc54 --- /dev/null +++ b/server/scripting/Lua/src/lmathlib.c @@ -0,0 +1,279 @@ +/* +** $Id: lmathlib.c,v 1.83.1.1 2013/04/12 18:48:47 roberto Exp $ +** Standard mathematical library +** See Copyright Notice in lua.h +*/ + + +#include +#include + +#define lmathlib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +#undef PI +#define PI ((lua_Number)(3.1415926535897932384626433832795)) +#define RADIANS_PER_DEGREE ((lua_Number)(PI/180.0)) + + + +static int math_abs (lua_State *L) { + lua_pushnumber(L, l_mathop(fabs)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_sin (lua_State *L) { + lua_pushnumber(L, l_mathop(sin)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_sinh (lua_State *L) { + lua_pushnumber(L, l_mathop(sinh)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_cos (lua_State *L) { + lua_pushnumber(L, l_mathop(cos)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_cosh (lua_State *L) { + lua_pushnumber(L, l_mathop(cosh)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_tan (lua_State *L) { + lua_pushnumber(L, l_mathop(tan)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_tanh (lua_State *L) { + lua_pushnumber(L, l_mathop(tanh)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_asin (lua_State *L) { + lua_pushnumber(L, l_mathop(asin)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_acos (lua_State *L) { + lua_pushnumber(L, l_mathop(acos)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_atan (lua_State *L) { + lua_pushnumber(L, l_mathop(atan)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_atan2 (lua_State *L) { + lua_pushnumber(L, l_mathop(atan2)(luaL_checknumber(L, 1), + luaL_checknumber(L, 2))); + return 1; +} + +static int math_ceil (lua_State *L) { + lua_pushnumber(L, l_mathop(ceil)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_floor (lua_State *L) { + lua_pushnumber(L, l_mathop(floor)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_fmod (lua_State *L) { + lua_pushnumber(L, l_mathop(fmod)(luaL_checknumber(L, 1), + luaL_checknumber(L, 2))); + return 1; +} + +static int math_modf (lua_State *L) { + lua_Number ip; + lua_Number fp = l_mathop(modf)(luaL_checknumber(L, 1), &ip); + lua_pushnumber(L, ip); + lua_pushnumber(L, fp); + return 2; +} + +static int math_sqrt (lua_State *L) { + lua_pushnumber(L, l_mathop(sqrt)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_pow (lua_State *L) { + lua_Number x = luaL_checknumber(L, 1); + lua_Number y = luaL_checknumber(L, 2); + lua_pushnumber(L, l_mathop(pow)(x, y)); + return 1; +} + +static int math_log (lua_State *L) { + lua_Number x = luaL_checknumber(L, 1); + lua_Number res; + if (lua_isnoneornil(L, 2)) + res = l_mathop(log)(x); + else { + lua_Number base = luaL_checknumber(L, 2); + if (base == (lua_Number)10.0) res = l_mathop(log10)(x); + else res = l_mathop(log)(x)/l_mathop(log)(base); + } + lua_pushnumber(L, res); + return 1; +} + +#if defined(LUA_COMPAT_LOG10) +static int math_log10 (lua_State *L) { + lua_pushnumber(L, l_mathop(log10)(luaL_checknumber(L, 1))); + return 1; +} +#endif + +static int math_exp (lua_State *L) { + lua_pushnumber(L, l_mathop(exp)(luaL_checknumber(L, 1))); + return 1; +} + +static int math_deg (lua_State *L) { + lua_pushnumber(L, luaL_checknumber(L, 1)/RADIANS_PER_DEGREE); + return 1; +} + +static int math_rad (lua_State *L) { + lua_pushnumber(L, luaL_checknumber(L, 1)*RADIANS_PER_DEGREE); + return 1; +} + +static int math_frexp (lua_State *L) { + int e; + lua_pushnumber(L, l_mathop(frexp)(luaL_checknumber(L, 1), &e)); + lua_pushinteger(L, e); + return 2; +} + +static int math_ldexp (lua_State *L) { + lua_Number x = luaL_checknumber(L, 1); + int ep = luaL_checkint(L, 2); + lua_pushnumber(L, l_mathop(ldexp)(x, ep)); + return 1; +} + + + +static int math_min (lua_State *L) { + int n = lua_gettop(L); /* number of arguments */ + lua_Number dmin = luaL_checknumber(L, 1); + int i; + for (i=2; i<=n; i++) { + lua_Number d = luaL_checknumber(L, i); + if (d < dmin) + dmin = d; + } + lua_pushnumber(L, dmin); + return 1; +} + + +static int math_max (lua_State *L) { + int n = lua_gettop(L); /* number of arguments */ + lua_Number dmax = luaL_checknumber(L, 1); + int i; + for (i=2; i<=n; i++) { + lua_Number d = luaL_checknumber(L, i); + if (d > dmax) + dmax = d; + } + lua_pushnumber(L, dmax); + return 1; +} + + +static int math_random (lua_State *L) { + /* the `%' avoids the (rare) case of r==1, and is needed also because on + some systems (SunOS!) `rand()' may return a value larger than RAND_MAX */ + lua_Number r = (lua_Number)(rand()%RAND_MAX) / (lua_Number)RAND_MAX; + switch (lua_gettop(L)) { /* check number of arguments */ + case 0: { /* no arguments */ + lua_pushnumber(L, r); /* Number between 0 and 1 */ + break; + } + case 1: { /* only upper limit */ + lua_Number u = luaL_checknumber(L, 1); + luaL_argcheck(L, (lua_Number)1.0 <= u, 1, "interval is empty"); + lua_pushnumber(L, l_mathop(floor)(r*u) + (lua_Number)(1.0)); /* [1, u] */ + break; + } + case 2: { /* lower and upper limits */ + lua_Number l = luaL_checknumber(L, 1); + lua_Number u = luaL_checknumber(L, 2); + luaL_argcheck(L, l <= u, 2, "interval is empty"); + lua_pushnumber(L, l_mathop(floor)(r*(u-l+1)) + l); /* [l, u] */ + break; + } + default: return luaL_error(L, "wrong number of arguments"); + } + return 1; +} + + +static int math_randomseed (lua_State *L) { + srand(luaL_checkunsigned(L, 1)); + (void)rand(); /* discard first value to avoid undesirable correlations */ + return 0; +} + + +static const luaL_Reg mathlib[] = { + {"abs", math_abs}, + {"acos", math_acos}, + {"asin", math_asin}, + {"atan2", math_atan2}, + {"atan", math_atan}, + {"ceil", math_ceil}, + {"cosh", math_cosh}, + {"cos", math_cos}, + {"deg", math_deg}, + {"exp", math_exp}, + {"floor", math_floor}, + {"fmod", math_fmod}, + {"frexp", math_frexp}, + {"ldexp", math_ldexp}, +#if defined(LUA_COMPAT_LOG10) + {"log10", math_log10}, +#endif + {"log", math_log}, + {"max", math_max}, + {"min", math_min}, + {"modf", math_modf}, + {"pow", math_pow}, + {"rad", math_rad}, + {"random", math_random}, + {"randomseed", math_randomseed}, + {"sinh", math_sinh}, + {"sin", math_sin}, + {"sqrt", math_sqrt}, + {"tanh", math_tanh}, + {"tan", math_tan}, + {NULL, NULL} +}; + + +/* +** Open math library +*/ +LUAMOD_API int luaopen_math (lua_State *L) { + luaL_newlib(L, mathlib); + lua_pushnumber(L, PI); + lua_setfield(L, -2, "pi"); + lua_pushnumber(L, HUGE_VAL); + lua_setfield(L, -2, "huge"); + return 1; +} + diff --git a/server/scripting/Lua/src/lmem.c b/server/scripting/Lua/src/lmem.c new file mode 100644 index 0000000..ee343e3 --- /dev/null +++ b/server/scripting/Lua/src/lmem.c @@ -0,0 +1,99 @@ +/* +** $Id: lmem.c,v 1.84.1.1 2013/04/12 18:48:47 roberto Exp $ +** Interface to Memory Manager +** See Copyright Notice in lua.h +*/ + + +#include + +#define lmem_c +#define LUA_CORE + +#include "lua.h" + +#include "ldebug.h" +#include "ldo.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" + + + +/* +** About the realloc function: +** void * frealloc (void *ud, void *ptr, size_t osize, size_t nsize); +** (`osize' is the old size, `nsize' is the new size) +** +** * frealloc(ud, NULL, x, s) creates a new block of size `s' (no +** matter 'x'). +** +** * frealloc(ud, p, x, 0) frees the block `p' +** (in this specific case, frealloc must return NULL); +** particularly, frealloc(ud, NULL, 0, 0) does nothing +** (which is equivalent to free(NULL) in ANSI C) +** +** frealloc returns NULL if it cannot create or reallocate the area +** (any reallocation to an equal or smaller size cannot fail!) +*/ + + + +#define MINSIZEARRAY 4 + + +void *luaM_growaux_ (lua_State *L, void *block, int *size, size_t size_elems, + int limit, const char *what) { + void *newblock; + int newsize; + if (*size >= limit/2) { /* cannot double it? */ + if (*size >= limit) /* cannot grow even a little? */ + luaG_runerror(L, "too many %s (limit is %d)", what, limit); + newsize = limit; /* still have at least one free place */ + } + else { + newsize = (*size)*2; + if (newsize < MINSIZEARRAY) + newsize = MINSIZEARRAY; /* minimum size */ + } + newblock = luaM_reallocv(L, block, *size, newsize, size_elems); + *size = newsize; /* update only when everything else is OK */ + return newblock; +} + + +l_noret luaM_toobig (lua_State *L) { + luaG_runerror(L, "memory allocation error: block too big"); +} + + + +/* +** generic allocation routine. +*/ +void *luaM_realloc_ (lua_State *L, void *block, size_t osize, size_t nsize) { + void *newblock; + global_State *g = G(L); + size_t realosize = (block) ? osize : 0; + lua_assert((realosize == 0) == (block == NULL)); +#if defined(HARDMEMTESTS) + if (nsize > realosize && g->gcrunning) + luaC_fullgc(L, 1); /* force a GC whenever possible */ +#endif + newblock = (*g->frealloc)(g->ud, block, osize, nsize); + if (newblock == NULL && nsize > 0) { + api_check(L, nsize > realosize, + "realloc cannot fail when shrinking a block"); + if (g->gcrunning) { + luaC_fullgc(L, 1); /* try to free some memory... */ + newblock = (*g->frealloc)(g->ud, block, osize, nsize); /* try again */ + } + if (newblock == NULL) + luaD_throw(L, LUA_ERRMEM); + } + lua_assert((nsize == 0) == (newblock == NULL)); + g->GCdebt = (g->GCdebt + nsize) - realosize; + return newblock; +} + diff --git a/server/scripting/Lua/src/lmem.h b/server/scripting/Lua/src/lmem.h new file mode 100644 index 0000000..bd4f4e0 --- /dev/null +++ b/server/scripting/Lua/src/lmem.h @@ -0,0 +1,57 @@ +/* +** $Id: lmem.h,v 1.40.1.1 2013/04/12 18:48:47 roberto Exp $ +** Interface to Memory Manager +** See Copyright Notice in lua.h +*/ + +#ifndef lmem_h +#define lmem_h + + +#include + +#include "llimits.h" +#include "lua.h" + + +/* +** This macro avoids the runtime division MAX_SIZET/(e), as 'e' is +** always constant. +** The macro is somewhat complex to avoid warnings: +** +1 avoids warnings of "comparison has constant result"; +** cast to 'void' avoids warnings of "value unused". +*/ +#define luaM_reallocv(L,b,on,n,e) \ + (cast(void, \ + (cast(size_t, (n)+1) > MAX_SIZET/(e)) ? (luaM_toobig(L), 0) : 0), \ + luaM_realloc_(L, (b), (on)*(e), (n)*(e))) + +#define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) +#define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) +#define luaM_freearray(L, b, n) luaM_reallocv(L, (b), n, 0, sizeof((b)[0])) + +#define luaM_malloc(L,s) luaM_realloc_(L, NULL, 0, (s)) +#define luaM_new(L,t) cast(t *, luaM_malloc(L, sizeof(t))) +#define luaM_newvector(L,n,t) \ + cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t))) + +#define luaM_newobject(L,tag,s) luaM_realloc_(L, NULL, tag, (s)) + +#define luaM_growvector(L,v,nelems,size,t,limit,e) \ + if ((nelems)+1 > (size)) \ + ((v)=cast(t *, luaM_growaux_(L,v,&(size),sizeof(t),limit,e))) + +#define luaM_reallocvector(L, v,oldn,n,t) \ + ((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t)))) + +LUAI_FUNC l_noret luaM_toobig (lua_State *L); + +/* not to be called directly */ +LUAI_FUNC void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize, + size_t size); +LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size, + size_t size_elem, int limit, + const char *what); + +#endif + diff --git a/server/scripting/Lua/src/loadlib.c b/server/scripting/Lua/src/loadlib.c new file mode 100644 index 0000000..bedbea3 --- /dev/null +++ b/server/scripting/Lua/src/loadlib.c @@ -0,0 +1,725 @@ +/* +** $Id: loadlib.c,v 1.111.1.1 2013/04/12 18:48:47 roberto Exp $ +** Dynamic library loader for Lua +** See Copyright Notice in lua.h +** +** This module contains an implementation of loadlib for Unix systems +** that have dlfcn, an implementation for Windows, and a stub for other +** systems. +*/ + + +/* +** if needed, includes windows header before everything else +*/ +#if defined(_WIN32) +#include +#endif + + +#include +#include + + +#define loadlib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +/* +** LUA_PATH and LUA_CPATH are the names of the environment +** variables that Lua check to set its paths. +*/ +#if !defined(LUA_PATH) +#define LUA_PATH "LUA_PATH" +#endif + +#if !defined(LUA_CPATH) +#define LUA_CPATH "LUA_CPATH" +#endif + +#define LUA_PATHSUFFIX "_" LUA_VERSION_MAJOR "_" LUA_VERSION_MINOR + +#define LUA_PATHVERSION LUA_PATH LUA_PATHSUFFIX +#define LUA_CPATHVERSION LUA_CPATH LUA_PATHSUFFIX + +/* +** LUA_PATH_SEP is the character that separates templates in a path. +** LUA_PATH_MARK is the string that marks the substitution points in a +** template. +** LUA_EXEC_DIR in a Windows path is replaced by the executable's +** directory. +** LUA_IGMARK is a mark to ignore all before it when building the +** luaopen_ function name. +*/ +#if !defined (LUA_PATH_SEP) +#define LUA_PATH_SEP ";" +#endif +#if !defined (LUA_PATH_MARK) +#define LUA_PATH_MARK "?" +#endif +#if !defined (LUA_EXEC_DIR) +#define LUA_EXEC_DIR "!" +#endif +#if !defined (LUA_IGMARK) +#define LUA_IGMARK "-" +#endif + + +/* +** LUA_CSUBSEP is the character that replaces dots in submodule names +** when searching for a C loader. +** LUA_LSUBSEP is the character that replaces dots in submodule names +** when searching for a Lua loader. +*/ +#if !defined(LUA_CSUBSEP) +#define LUA_CSUBSEP LUA_DIRSEP +#endif + +#if !defined(LUA_LSUBSEP) +#define LUA_LSUBSEP LUA_DIRSEP +#endif + + +/* prefix for open functions in C libraries */ +#define LUA_POF "luaopen_" + +/* separator for open functions in C libraries */ +#define LUA_OFSEP "_" + + +/* table (in the registry) that keeps handles for all loaded C libraries */ +#define CLIBS "_CLIBS" + +#define LIB_FAIL "open" + + +/* error codes for ll_loadfunc */ +#define ERRLIB 1 +#define ERRFUNC 2 + +#define setprogdir(L) ((void)0) + + +/* +** system-dependent functions +*/ +static void ll_unloadlib (void *lib); +static void *ll_load (lua_State *L, const char *path, int seeglb); +static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym); + + + +#if defined(LUA_USE_DLOPEN) +/* +** {======================================================================== +** This is an implementation of loadlib based on the dlfcn interface. +** The dlfcn interface is available in Linux, SunOS, Solaris, IRIX, FreeBSD, +** NetBSD, AIX 4.2, HPUX 11, and probably most other Unix flavors, at least +** as an emulation layer on top of native functions. +** ========================================================================= +*/ + +#include + +static void ll_unloadlib (void *lib) { + dlclose(lib); +} + + +static void *ll_load (lua_State *L, const char *path, int seeglb) { + void *lib = dlopen(path, RTLD_NOW | (seeglb ? RTLD_GLOBAL : RTLD_LOCAL)); + if (lib == NULL) lua_pushstring(L, dlerror()); + return lib; +} + + +static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { + lua_CFunction f = (lua_CFunction)dlsym(lib, sym); + if (f == NULL) lua_pushstring(L, dlerror()); + return f; +} + +/* }====================================================== */ + + + +#elif defined(LUA_DL_DLL) +/* +** {====================================================================== +** This is an implementation of loadlib for Windows using native functions. +** ======================================================================= +*/ + +#undef setprogdir + +/* +** optional flags for LoadLibraryEx +*/ +#if !defined(LUA_LLE_FLAGS) +#define LUA_LLE_FLAGS 0 +#endif + + +static void setprogdir (lua_State *L) { + char buff[MAX_PATH + 1]; + char *lb; + DWORD nsize = sizeof(buff)/sizeof(char); + DWORD n = GetModuleFileNameA(NULL, buff, nsize); + if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL) + luaL_error(L, "unable to get ModuleFileName"); + else { + *lb = '\0'; + luaL_gsub(L, lua_tostring(L, -1), LUA_EXEC_DIR, buff); + lua_remove(L, -2); /* remove original string */ + } +} + + +static void pusherror (lua_State *L) { + int error = GetLastError(); + char buffer[128]; + if (FormatMessageA(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, + NULL, error, 0, buffer, sizeof(buffer)/sizeof(char), NULL)) + lua_pushstring(L, buffer); + else + lua_pushfstring(L, "system error %d\n", error); +} + +static void ll_unloadlib (void *lib) { + FreeLibrary((HMODULE)lib); +} + + +static void *ll_load (lua_State *L, const char *path, int seeglb) { + HMODULE lib = LoadLibraryExA(path, NULL, LUA_LLE_FLAGS); + (void)(seeglb); /* not used: symbols are 'global' by default */ + if (lib == NULL) pusherror(L); + return lib; +} + + +static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { + lua_CFunction f = (lua_CFunction)GetProcAddress((HMODULE)lib, sym); + if (f == NULL) pusherror(L); + return f; +} + +/* }====================================================== */ + + +#else +/* +** {====================================================== +** Fallback for other systems +** ======================================================= +*/ + +#undef LIB_FAIL +#define LIB_FAIL "absent" + + +#define DLMSG "dynamic libraries not enabled; check your Lua installation" + + +static void ll_unloadlib (void *lib) { + (void)(lib); /* not used */ +} + + +static void *ll_load (lua_State *L, const char *path, int seeglb) { + (void)(path); (void)(seeglb); /* not used */ + lua_pushliteral(L, DLMSG); + return NULL; +} + + +static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { + (void)(lib); (void)(sym); /* not used */ + lua_pushliteral(L, DLMSG); + return NULL; +} + +/* }====================================================== */ +#endif + + +static void *ll_checkclib (lua_State *L, const char *path) { + void *plib; + lua_getfield(L, LUA_REGISTRYINDEX, CLIBS); + lua_getfield(L, -1, path); + plib = lua_touserdata(L, -1); /* plib = CLIBS[path] */ + lua_pop(L, 2); /* pop CLIBS table and 'plib' */ + return plib; +} + + +static void ll_addtoclib (lua_State *L, const char *path, void *plib) { + lua_getfield(L, LUA_REGISTRYINDEX, CLIBS); + lua_pushlightuserdata(L, plib); + lua_pushvalue(L, -1); + lua_setfield(L, -3, path); /* CLIBS[path] = plib */ + lua_rawseti(L, -2, luaL_len(L, -2) + 1); /* CLIBS[#CLIBS + 1] = plib */ + lua_pop(L, 1); /* pop CLIBS table */ +} + + +/* +** __gc tag method for CLIBS table: calls 'll_unloadlib' for all lib +** handles in list CLIBS +*/ +static int gctm (lua_State *L) { + int n = luaL_len(L, 1); + for (; n >= 1; n--) { /* for each handle, in reverse order */ + lua_rawgeti(L, 1, n); /* get handle CLIBS[n] */ + ll_unloadlib(lua_touserdata(L, -1)); + lua_pop(L, 1); /* pop handle */ + } + return 0; +} + + +static int ll_loadfunc (lua_State *L, const char *path, const char *sym) { + void *reg = ll_checkclib(L, path); /* check loaded C libraries */ + if (reg == NULL) { /* must load library? */ + reg = ll_load(L, path, *sym == '*'); + if (reg == NULL) return ERRLIB; /* unable to load library */ + ll_addtoclib(L, path, reg); + } + if (*sym == '*') { /* loading only library (no function)? */ + lua_pushboolean(L, 1); /* return 'true' */ + return 0; /* no errors */ + } + else { + lua_CFunction f = ll_sym(L, reg, sym); + if (f == NULL) + return ERRFUNC; /* unable to find function */ + lua_pushcfunction(L, f); /* else create new function */ + return 0; /* no errors */ + } +} + + +static int ll_loadlib (lua_State *L) { + const char *path = luaL_checkstring(L, 1); + const char *init = luaL_checkstring(L, 2); + int stat = ll_loadfunc(L, path, init); + if (stat == 0) /* no errors? */ + return 1; /* return the loaded function */ + else { /* error; error message is on stack top */ + lua_pushnil(L); + lua_insert(L, -2); + lua_pushstring(L, (stat == ERRLIB) ? LIB_FAIL : "init"); + return 3; /* return nil, error message, and where */ + } +} + + + +/* +** {====================================================== +** 'require' function +** ======================================================= +*/ + + +static int readable (const char *filename) { + FILE *f = fopen(filename, "r"); /* try to open file */ + if (f == NULL) return 0; /* open failed */ + fclose(f); + return 1; +} + + +static const char *pushnexttemplate (lua_State *L, const char *path) { + const char *l; + while (*path == *LUA_PATH_SEP) path++; /* skip separators */ + if (*path == '\0') return NULL; /* no more templates */ + l = strchr(path, *LUA_PATH_SEP); /* find next separator */ + if (l == NULL) l = path + strlen(path); + lua_pushlstring(L, path, l - path); /* template */ + return l; +} + + +static const char *searchpath (lua_State *L, const char *name, + const char *path, + const char *sep, + const char *dirsep) { + luaL_Buffer msg; /* to build error message */ + luaL_buffinit(L, &msg); + if (*sep != '\0') /* non-empty separator? */ + name = luaL_gsub(L, name, sep, dirsep); /* replace it by 'dirsep' */ + while ((path = pushnexttemplate(L, path)) != NULL) { + const char *filename = luaL_gsub(L, lua_tostring(L, -1), + LUA_PATH_MARK, name); + lua_remove(L, -2); /* remove path template */ + if (readable(filename)) /* does file exist and is readable? */ + return filename; /* return that file name */ + lua_pushfstring(L, "\n\tno file " LUA_QS, filename); + lua_remove(L, -2); /* remove file name */ + luaL_addvalue(&msg); /* concatenate error msg. entry */ + } + luaL_pushresult(&msg); /* create error message */ + return NULL; /* not found */ +} + + +static int ll_searchpath (lua_State *L) { + const char *f = searchpath(L, luaL_checkstring(L, 1), + luaL_checkstring(L, 2), + luaL_optstring(L, 3, "."), + luaL_optstring(L, 4, LUA_DIRSEP)); + if (f != NULL) return 1; + else { /* error message is on top of the stack */ + lua_pushnil(L); + lua_insert(L, -2); + return 2; /* return nil + error message */ + } +} + + +static const char *findfile (lua_State *L, const char *name, + const char *pname, + const char *dirsep) { + const char *path; + lua_getfield(L, lua_upvalueindex(1), pname); + path = lua_tostring(L, -1); + if (path == NULL) + luaL_error(L, LUA_QL("package.%s") " must be a string", pname); + return searchpath(L, name, path, ".", dirsep); +} + + +static int checkload (lua_State *L, int stat, const char *filename) { + if (stat) { /* module loaded successfully? */ + lua_pushstring(L, filename); /* will be 2nd argument to module */ + return 2; /* return open function and file name */ + } + else + return luaL_error(L, "error loading module " LUA_QS + " from file " LUA_QS ":\n\t%s", + lua_tostring(L, 1), filename, lua_tostring(L, -1)); +} + + +static int searcher_Lua (lua_State *L) { + const char *filename; + const char *name = luaL_checkstring(L, 1); + filename = findfile(L, name, "path", LUA_LSUBSEP); + if (filename == NULL) return 1; /* module not found in this path */ + return checkload(L, (luaL_loadfile(L, filename) == LUA_OK), filename); +} + + +static int loadfunc (lua_State *L, const char *filename, const char *modname) { + const char *funcname; + const char *mark; + modname = luaL_gsub(L, modname, ".", LUA_OFSEP); + mark = strchr(modname, *LUA_IGMARK); + if (mark) { + int stat; + funcname = lua_pushlstring(L, modname, mark - modname); + funcname = lua_pushfstring(L, LUA_POF"%s", funcname); + stat = ll_loadfunc(L, filename, funcname); + if (stat != ERRFUNC) return stat; + modname = mark + 1; /* else go ahead and try old-style name */ + } + funcname = lua_pushfstring(L, LUA_POF"%s", modname); + return ll_loadfunc(L, filename, funcname); +} + + +static int searcher_C (lua_State *L) { + const char *name = luaL_checkstring(L, 1); + const char *filename = findfile(L, name, "cpath", LUA_CSUBSEP); + if (filename == NULL) return 1; /* module not found in this path */ + return checkload(L, (loadfunc(L, filename, name) == 0), filename); +} + + +static int searcher_Croot (lua_State *L) { + const char *filename; + const char *name = luaL_checkstring(L, 1); + const char *p = strchr(name, '.'); + int stat; + if (p == NULL) return 0; /* is root */ + lua_pushlstring(L, name, p - name); + filename = findfile(L, lua_tostring(L, -1), "cpath", LUA_CSUBSEP); + if (filename == NULL) return 1; /* root not found */ + if ((stat = loadfunc(L, filename, name)) != 0) { + if (stat != ERRFUNC) + return checkload(L, 0, filename); /* real error */ + else { /* open function not found */ + lua_pushfstring(L, "\n\tno module " LUA_QS " in file " LUA_QS, + name, filename); + return 1; + } + } + lua_pushstring(L, filename); /* will be 2nd argument to module */ + return 2; +} + + +static int searcher_preload (lua_State *L) { + const char *name = luaL_checkstring(L, 1); + lua_getfield(L, LUA_REGISTRYINDEX, "_PRELOAD"); + lua_getfield(L, -1, name); + if (lua_isnil(L, -1)) /* not found? */ + lua_pushfstring(L, "\n\tno field package.preload['%s']", name); + return 1; +} + + +static void findloader (lua_State *L, const char *name) { + int i; + luaL_Buffer msg; /* to build error message */ + luaL_buffinit(L, &msg); + lua_getfield(L, lua_upvalueindex(1), "searchers"); /* will be at index 3 */ + if (!lua_istable(L, 3)) + luaL_error(L, LUA_QL("package.searchers") " must be a table"); + /* iterate over available searchers to find a loader */ + for (i = 1; ; i++) { + lua_rawgeti(L, 3, i); /* get a searcher */ + if (lua_isnil(L, -1)) { /* no more searchers? */ + lua_pop(L, 1); /* remove nil */ + luaL_pushresult(&msg); /* create error message */ + luaL_error(L, "module " LUA_QS " not found:%s", + name, lua_tostring(L, -1)); + } + lua_pushstring(L, name); + lua_call(L, 1, 2); /* call it */ + if (lua_isfunction(L, -2)) /* did it find a loader? */ + return; /* module loader found */ + else if (lua_isstring(L, -2)) { /* searcher returned error message? */ + lua_pop(L, 1); /* remove extra return */ + luaL_addvalue(&msg); /* concatenate error message */ + } + else + lua_pop(L, 2); /* remove both returns */ + } +} + + +static int ll_require (lua_State *L) { + const char *name = luaL_checkstring(L, 1); + lua_settop(L, 1); /* _LOADED table will be at index 2 */ + lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED"); + lua_getfield(L, 2, name); /* _LOADED[name] */ + if (lua_toboolean(L, -1)) /* is it there? */ + return 1; /* package is already loaded */ + /* else must load package */ + lua_pop(L, 1); /* remove 'getfield' result */ + findloader(L, name); + lua_pushstring(L, name); /* pass name as argument to module loader */ + lua_insert(L, -2); /* name is 1st argument (before search data) */ + lua_call(L, 2, 1); /* run loader to load module */ + if (!lua_isnil(L, -1)) /* non-nil return? */ + lua_setfield(L, 2, name); /* _LOADED[name] = returned value */ + lua_getfield(L, 2, name); + if (lua_isnil(L, -1)) { /* module did not set a value? */ + lua_pushboolean(L, 1); /* use true as result */ + lua_pushvalue(L, -1); /* extra copy to be returned */ + lua_setfield(L, 2, name); /* _LOADED[name] = true */ + } + return 1; +} + +/* }====================================================== */ + + + +/* +** {====================================================== +** 'module' function +** ======================================================= +*/ +#if defined(LUA_COMPAT_MODULE) + +/* +** changes the environment variable of calling function +*/ +static void set_env (lua_State *L) { + lua_Debug ar; + if (lua_getstack(L, 1, &ar) == 0 || + lua_getinfo(L, "f", &ar) == 0 || /* get calling function */ + lua_iscfunction(L, -1)) + luaL_error(L, LUA_QL("module") " not called from a Lua function"); + lua_pushvalue(L, -2); /* copy new environment table to top */ + lua_setupvalue(L, -2, 1); + lua_pop(L, 1); /* remove function */ +} + + +static void dooptions (lua_State *L, int n) { + int i; + for (i = 2; i <= n; i++) { + if (lua_isfunction(L, i)) { /* avoid 'calling' extra info. */ + lua_pushvalue(L, i); /* get option (a function) */ + lua_pushvalue(L, -2); /* module */ + lua_call(L, 1, 0); + } + } +} + + +static void modinit (lua_State *L, const char *modname) { + const char *dot; + lua_pushvalue(L, -1); + lua_setfield(L, -2, "_M"); /* module._M = module */ + lua_pushstring(L, modname); + lua_setfield(L, -2, "_NAME"); + dot = strrchr(modname, '.'); /* look for last dot in module name */ + if (dot == NULL) dot = modname; + else dot++; + /* set _PACKAGE as package name (full module name minus last part) */ + lua_pushlstring(L, modname, dot - modname); + lua_setfield(L, -2, "_PACKAGE"); +} + + +static int ll_module (lua_State *L) { + const char *modname = luaL_checkstring(L, 1); + int lastarg = lua_gettop(L); /* last parameter */ + luaL_pushmodule(L, modname, 1); /* get/create module table */ + /* check whether table already has a _NAME field */ + lua_getfield(L, -1, "_NAME"); + if (!lua_isnil(L, -1)) /* is table an initialized module? */ + lua_pop(L, 1); + else { /* no; initialize it */ + lua_pop(L, 1); + modinit(L, modname); + } + lua_pushvalue(L, -1); + set_env(L); + dooptions(L, lastarg); + return 1; +} + + +static int ll_seeall (lua_State *L) { + luaL_checktype(L, 1, LUA_TTABLE); + if (!lua_getmetatable(L, 1)) { + lua_createtable(L, 0, 1); /* create new metatable */ + lua_pushvalue(L, -1); + lua_setmetatable(L, 1); + } + lua_pushglobaltable(L); + lua_setfield(L, -2, "__index"); /* mt.__index = _G */ + return 0; +} + +#endif +/* }====================================================== */ + + + +/* auxiliary mark (for internal use) */ +#define AUXMARK "\1" + + +/* +** return registry.LUA_NOENV as a boolean +*/ +static int noenv (lua_State *L) { + int b; + lua_getfield(L, LUA_REGISTRYINDEX, "LUA_NOENV"); + b = lua_toboolean(L, -1); + lua_pop(L, 1); /* remove value */ + return b; +} + + +static void setpath (lua_State *L, const char *fieldname, const char *envname1, + const char *envname2, const char *def) { + const char *path = getenv(envname1); + if (path == NULL) /* no environment variable? */ + path = getenv(envname2); /* try alternative name */ + if (path == NULL || noenv(L)) /* no environment variable? */ + lua_pushstring(L, def); /* use default */ + else { + /* replace ";;" by ";AUXMARK;" and then AUXMARK by default path */ + path = luaL_gsub(L, path, LUA_PATH_SEP LUA_PATH_SEP, + LUA_PATH_SEP AUXMARK LUA_PATH_SEP); + luaL_gsub(L, path, AUXMARK, def); + lua_remove(L, -2); + } + setprogdir(L); + lua_setfield(L, -2, fieldname); +} + + +static const luaL_Reg pk_funcs[] = { + {"loadlib", ll_loadlib}, + {"searchpath", ll_searchpath}, +#if defined(LUA_COMPAT_MODULE) + {"seeall", ll_seeall}, +#endif + {NULL, NULL} +}; + + +static const luaL_Reg ll_funcs[] = { +#if defined(LUA_COMPAT_MODULE) + {"module", ll_module}, +#endif + {"require", ll_require}, + {NULL, NULL} +}; + + +static void createsearcherstable (lua_State *L) { + static const lua_CFunction searchers[] = + {searcher_preload, searcher_Lua, searcher_C, searcher_Croot, NULL}; + int i; + /* create 'searchers' table */ + lua_createtable(L, sizeof(searchers)/sizeof(searchers[0]) - 1, 0); + /* fill it with pre-defined searchers */ + for (i=0; searchers[i] != NULL; i++) { + lua_pushvalue(L, -2); /* set 'package' as upvalue for all searchers */ + lua_pushcclosure(L, searchers[i], 1); + lua_rawseti(L, -2, i+1); + } +} + + +LUAMOD_API int luaopen_package (lua_State *L) { + /* create table CLIBS to keep track of loaded C libraries */ + luaL_getsubtable(L, LUA_REGISTRYINDEX, CLIBS); + lua_createtable(L, 0, 1); /* metatable for CLIBS */ + lua_pushcfunction(L, gctm); + lua_setfield(L, -2, "__gc"); /* set finalizer for CLIBS table */ + lua_setmetatable(L, -2); + /* create `package' table */ + luaL_newlib(L, pk_funcs); + createsearcherstable(L); +#if defined(LUA_COMPAT_LOADERS) + lua_pushvalue(L, -1); /* make a copy of 'searchers' table */ + lua_setfield(L, -3, "loaders"); /* put it in field `loaders' */ +#endif + lua_setfield(L, -2, "searchers"); /* put it in field 'searchers' */ + /* set field 'path' */ + setpath(L, "path", LUA_PATHVERSION, LUA_PATH, LUA_PATH_DEFAULT); + /* set field 'cpath' */ + setpath(L, "cpath", LUA_CPATHVERSION, LUA_CPATH, LUA_CPATH_DEFAULT); + /* store config information */ + lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATH_SEP "\n" LUA_PATH_MARK "\n" + LUA_EXEC_DIR "\n" LUA_IGMARK "\n"); + lua_setfield(L, -2, "config"); + /* set field `loaded' */ + luaL_getsubtable(L, LUA_REGISTRYINDEX, "_LOADED"); + lua_setfield(L, -2, "loaded"); + /* set field `preload' */ + luaL_getsubtable(L, LUA_REGISTRYINDEX, "_PRELOAD"); + lua_setfield(L, -2, "preload"); + lua_pushglobaltable(L); + lua_pushvalue(L, -2); /* set 'package' as upvalue for next lib */ + luaL_setfuncs(L, ll_funcs, 1); /* open lib into global table */ + lua_pop(L, 1); /* pop global table */ + return 1; /* return 'package' table */ +} + diff --git a/server/scripting/Lua/src/lobject.c b/server/scripting/Lua/src/lobject.c new file mode 100644 index 0000000..882d994 --- /dev/null +++ b/server/scripting/Lua/src/lobject.c @@ -0,0 +1,287 @@ +/* +** $Id: lobject.c,v 2.58.1.1 2013/04/12 18:48:47 roberto Exp $ +** Some generic functions over Lua objects +** See Copyright Notice in lua.h +*/ + +#include +#include +#include +#include + +#define lobject_c +#define LUA_CORE + +#include "lua.h" + +#include "lctype.h" +#include "ldebug.h" +#include "ldo.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" +#include "lvm.h" + + + +LUAI_DDEF const TValue luaO_nilobject_ = {NILCONSTANT}; + + +/* +** converts an integer to a "floating point byte", represented as +** (eeeeexxx), where the real value is (1xxx) * 2^(eeeee - 1) if +** eeeee != 0 and (xxx) otherwise. +*/ +int luaO_int2fb (unsigned int x) { + int e = 0; /* exponent */ + if (x < 8) return x; + while (x >= 0x10) { + x = (x+1) >> 1; + e++; + } + return ((e+1) << 3) | (cast_int(x) - 8); +} + + +/* converts back */ +int luaO_fb2int (int x) { + int e = (x >> 3) & 0x1f; + if (e == 0) return x; + else return ((x & 7) + 8) << (e - 1); +} + + +int luaO_ceillog2 (unsigned int x) { + static const lu_byte log_2[256] = { + 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8 + }; + int l = 0; + x--; + while (x >= 256) { l += 8; x >>= 8; } + return l + log_2[x]; +} + + +lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2) { + switch (op) { + case LUA_OPADD: return luai_numadd(NULL, v1, v2); + case LUA_OPSUB: return luai_numsub(NULL, v1, v2); + case LUA_OPMUL: return luai_nummul(NULL, v1, v2); + case LUA_OPDIV: return luai_numdiv(NULL, v1, v2); + case LUA_OPMOD: return luai_nummod(NULL, v1, v2); + case LUA_OPPOW: return luai_numpow(NULL, v1, v2); + case LUA_OPUNM: return luai_numunm(NULL, v1); + default: lua_assert(0); return 0; + } +} + + +int luaO_hexavalue (int c) { + if (lisdigit(c)) return c - '0'; + else return ltolower(c) - 'a' + 10; +} + + +#if !defined(lua_strx2number) + +#include + + +static int isneg (const char **s) { + if (**s == '-') { (*s)++; return 1; } + else if (**s == '+') (*s)++; + return 0; +} + + +static lua_Number readhexa (const char **s, lua_Number r, int *count) { + for (; lisxdigit(cast_uchar(**s)); (*s)++) { /* read integer part */ + r = (r * cast_num(16.0)) + cast_num(luaO_hexavalue(cast_uchar(**s))); + (*count)++; + } + return r; +} + + +/* +** convert an hexadecimal numeric string to a number, following +** C99 specification for 'strtod' +*/ +static lua_Number lua_strx2number (const char *s, char **endptr) { + lua_Number r = 0.0; + int e = 0, i = 0; + int neg = 0; /* 1 if number is negative */ + *endptr = cast(char *, s); /* nothing is valid yet */ + while (lisspace(cast_uchar(*s))) s++; /* skip initial spaces */ + neg = isneg(&s); /* check signal */ + if (!(*s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X'))) /* check '0x' */ + return 0.0; /* invalid format (no '0x') */ + s += 2; /* skip '0x' */ + r = readhexa(&s, r, &i); /* read integer part */ + if (*s == '.') { + s++; /* skip dot */ + r = readhexa(&s, r, &e); /* read fractional part */ + } + if (i == 0 && e == 0) + return 0.0; /* invalid format (no digit) */ + e *= -4; /* each fractional digit divides value by 2^-4 */ + *endptr = cast(char *, s); /* valid up to here */ + if (*s == 'p' || *s == 'P') { /* exponent part? */ + int exp1 = 0; + int neg1; + s++; /* skip 'p' */ + neg1 = isneg(&s); /* signal */ + if (!lisdigit(cast_uchar(*s))) + goto ret; /* must have at least one digit */ + while (lisdigit(cast_uchar(*s))) /* read exponent */ + exp1 = exp1 * 10 + *(s++) - '0'; + if (neg1) exp1 = -exp1; + e += exp1; + } + *endptr = cast(char *, s); /* valid up to here */ + ret: + if (neg) r = -r; + return l_mathop(ldexp)(r, e); +} + +#endif + + +int luaO_str2d (const char *s, size_t len, lua_Number *result) { + char *endptr; + if (strpbrk(s, "nN")) /* reject 'inf' and 'nan' */ + return 0; + else if (strpbrk(s, "xX")) /* hexa? */ + *result = lua_strx2number(s, &endptr); + else + *result = lua_str2number(s, &endptr); + if (endptr == s) return 0; /* nothing recognized */ + while (lisspace(cast_uchar(*endptr))) endptr++; + return (endptr == s + len); /* OK if no trailing characters */ +} + + + +static void pushstr (lua_State *L, const char *str, size_t l) { + setsvalue2s(L, L->top++, luaS_newlstr(L, str, l)); +} + + +/* this function handles only `%d', `%c', %f, %p, and `%s' formats */ +const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { + int n = 0; + for (;;) { + const char *e = strchr(fmt, '%'); + if (e == NULL) break; + luaD_checkstack(L, 2); /* fmt + item */ + pushstr(L, fmt, e - fmt); + switch (*(e+1)) { + case 's': { + const char *s = va_arg(argp, char *); + if (s == NULL) s = "(null)"; + pushstr(L, s, strlen(s)); + break; + } + case 'c': { + char buff; + buff = cast(char, va_arg(argp, int)); + pushstr(L, &buff, 1); + break; + } + case 'd': { + setnvalue(L->top++, cast_num(va_arg(argp, int))); + break; + } + case 'f': { + setnvalue(L->top++, cast_num(va_arg(argp, l_uacNumber))); + break; + } + case 'p': { + char buff[4*sizeof(void *) + 8]; /* should be enough space for a `%p' */ + int l = sprintf(buff, "%p", va_arg(argp, void *)); + pushstr(L, buff, l); + break; + } + case '%': { + pushstr(L, "%", 1); + break; + } + default: { + luaG_runerror(L, + "invalid option " LUA_QL("%%%c") " to " LUA_QL("lua_pushfstring"), + *(e + 1)); + } + } + n += 2; + fmt = e+2; + } + luaD_checkstack(L, 1); + pushstr(L, fmt, strlen(fmt)); + if (n > 0) luaV_concat(L, n + 1); + return svalue(L->top - 1); +} + + +const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { + const char *msg; + va_list argp; + va_start(argp, fmt); + msg = luaO_pushvfstring(L, fmt, argp); + va_end(argp); + return msg; +} + + +/* number of chars of a literal string without the ending \0 */ +#define LL(x) (sizeof(x)/sizeof(char) - 1) + +#define RETS "..." +#define PRE "[string \"" +#define POS "\"]" + +#define addstr(a,b,l) ( memcpy(a,b,(l) * sizeof(char)), a += (l) ) + +void luaO_chunkid (char *out, const char *source, size_t bufflen) { + size_t l = strlen(source); + if (*source == '=') { /* 'literal' source */ + if (l <= bufflen) /* small enough? */ + memcpy(out, source + 1, l * sizeof(char)); + else { /* truncate it */ + addstr(out, source + 1, bufflen - 1); + *out = '\0'; + } + } + else if (*source == '@') { /* file name */ + if (l <= bufflen) /* small enough? */ + memcpy(out, source + 1, l * sizeof(char)); + else { /* add '...' before rest of name */ + addstr(out, RETS, LL(RETS)); + bufflen -= LL(RETS); + memcpy(out, source + 1 + l - bufflen, bufflen * sizeof(char)); + } + } + else { /* string; format as [string "source"] */ + const char *nl = strchr(source, '\n'); /* find first new line (if any) */ + addstr(out, PRE, LL(PRE)); /* add prefix */ + bufflen -= LL(PRE RETS POS) + 1; /* save space for prefix+suffix+'\0' */ + if (l < bufflen && nl == NULL) { /* small one-line source? */ + addstr(out, source, l); /* keep it */ + } + else { + if (nl != NULL) l = nl - source; /* stop at first newline */ + if (l > bufflen) l = bufflen; + addstr(out, source, l); + addstr(out, RETS, LL(RETS)); + } + memcpy(out, POS, (LL(POS) + 1) * sizeof(char)); + } +} + diff --git a/server/scripting/Lua/src/lobject.h b/server/scripting/Lua/src/lobject.h new file mode 100644 index 0000000..bc0bb69 --- /dev/null +++ b/server/scripting/Lua/src/lobject.h @@ -0,0 +1,607 @@ +/* +** $Id: lobject.h,v 2.71.1.2 2014/05/07 14:14:58 roberto Exp $ +** Type definitions for Lua objects +** See Copyright Notice in lua.h +*/ + + +#ifndef lobject_h +#define lobject_h + + +#include + + +#include "llimits.h" +#include "lua.h" + + +/* +** Extra tags for non-values +*/ +#define LUA_TPROTO LUA_NUMTAGS +#define LUA_TUPVAL (LUA_NUMTAGS+1) +#define LUA_TDEADKEY (LUA_NUMTAGS+2) + +/* +** number of all possible tags (including LUA_TNONE but excluding DEADKEY) +*/ +#define LUA_TOTALTAGS (LUA_TUPVAL+2) + + +/* +** tags for Tagged Values have the following use of bits: +** bits 0-3: actual tag (a LUA_T* value) +** bits 4-5: variant bits +** bit 6: whether value is collectable +*/ + +#define VARBITS (3 << 4) + + +/* +** LUA_TFUNCTION variants: +** 0 - Lua function +** 1 - light C function +** 2 - regular C function (closure) +*/ + +/* Variant tags for functions */ +#define LUA_TLCL (LUA_TFUNCTION | (0 << 4)) /* Lua closure */ +#define LUA_TLCF (LUA_TFUNCTION | (1 << 4)) /* light C function */ +#define LUA_TCCL (LUA_TFUNCTION | (2 << 4)) /* C closure */ + + +/* Variant tags for strings */ +#define LUA_TSHRSTR (LUA_TSTRING | (0 << 4)) /* short strings */ +#define LUA_TLNGSTR (LUA_TSTRING | (1 << 4)) /* long strings */ + + +/* Bit mark for collectable types */ +#define BIT_ISCOLLECTABLE (1 << 6) + +/* mark a tag as collectable */ +#define ctb(t) ((t) | BIT_ISCOLLECTABLE) + + +/* +** Union of all collectable objects +*/ +typedef union GCObject GCObject; + + +/* +** Common Header for all collectable objects (in macro form, to be +** included in other objects) +*/ +#define CommonHeader GCObject *next; lu_byte tt; lu_byte marked + + +/* +** Common header in struct form +*/ +typedef struct GCheader { + CommonHeader; +} GCheader; + + + +/* +** Union of all Lua values +*/ +typedef union Value Value; + + +#define numfield lua_Number n; /* numbers */ + + + +/* +** Tagged Values. This is the basic representation of values in Lua, +** an actual value plus a tag with its type. +*/ + +#define TValuefields Value value_; int tt_ + +typedef struct lua_TValue TValue; + + +/* macro defining a nil value */ +#define NILCONSTANT {NULL}, LUA_TNIL + + +#define val_(o) ((o)->value_) +#define num_(o) (val_(o).n) + + +/* raw type tag of a TValue */ +#define rttype(o) ((o)->tt_) + +/* tag with no variants (bits 0-3) */ +#define novariant(x) ((x) & 0x0F) + +/* type tag of a TValue (bits 0-3 for tags + variant bits 4-5) */ +#define ttype(o) (rttype(o) & 0x3F) + +/* type tag of a TValue with no variants (bits 0-3) */ +#define ttypenv(o) (novariant(rttype(o))) + + +/* Macros to test type */ +#define checktag(o,t) (rttype(o) == (t)) +#define checktype(o,t) (ttypenv(o) == (t)) +#define ttisnumber(o) checktag((o), LUA_TNUMBER) +#define ttisnil(o) checktag((o), LUA_TNIL) +#define ttisboolean(o) checktag((o), LUA_TBOOLEAN) +#define ttislightuserdata(o) checktag((o), LUA_TLIGHTUSERDATA) +#define ttisstring(o) checktype((o), LUA_TSTRING) +#define ttisshrstring(o) checktag((o), ctb(LUA_TSHRSTR)) +#define ttislngstring(o) checktag((o), ctb(LUA_TLNGSTR)) +#define ttistable(o) checktag((o), ctb(LUA_TTABLE)) +#define ttisfunction(o) checktype(o, LUA_TFUNCTION) +#define ttisclosure(o) ((rttype(o) & 0x1F) == LUA_TFUNCTION) +#define ttisCclosure(o) checktag((o), ctb(LUA_TCCL)) +#define ttisLclosure(o) checktag((o), ctb(LUA_TLCL)) +#define ttislcf(o) checktag((o), LUA_TLCF) +#define ttisuserdata(o) checktag((o), ctb(LUA_TUSERDATA)) +#define ttisthread(o) checktag((o), ctb(LUA_TTHREAD)) +#define ttisdeadkey(o) checktag((o), LUA_TDEADKEY) + +#define ttisequal(o1,o2) (rttype(o1) == rttype(o2)) + +/* Macros to access values */ +#define nvalue(o) check_exp(ttisnumber(o), num_(o)) +#define gcvalue(o) check_exp(iscollectable(o), val_(o).gc) +#define pvalue(o) check_exp(ttislightuserdata(o), val_(o).p) +#define rawtsvalue(o) check_exp(ttisstring(o), &val_(o).gc->ts) +#define tsvalue(o) (&rawtsvalue(o)->tsv) +#define rawuvalue(o) check_exp(ttisuserdata(o), &val_(o).gc->u) +#define uvalue(o) (&rawuvalue(o)->uv) +#define clvalue(o) check_exp(ttisclosure(o), &val_(o).gc->cl) +#define clLvalue(o) check_exp(ttisLclosure(o), &val_(o).gc->cl.l) +#define clCvalue(o) check_exp(ttisCclosure(o), &val_(o).gc->cl.c) +#define fvalue(o) check_exp(ttislcf(o), val_(o).f) +#define hvalue(o) check_exp(ttistable(o), &val_(o).gc->h) +#define bvalue(o) check_exp(ttisboolean(o), val_(o).b) +#define thvalue(o) check_exp(ttisthread(o), &val_(o).gc->th) +/* a dead value may get the 'gc' field, but cannot access its contents */ +#define deadvalue(o) check_exp(ttisdeadkey(o), cast(void *, val_(o).gc)) + +#define l_isfalse(o) (ttisnil(o) || (ttisboolean(o) && bvalue(o) == 0)) + + +#define iscollectable(o) (rttype(o) & BIT_ISCOLLECTABLE) + + +/* Macros for internal tests */ +#define righttt(obj) (ttype(obj) == gcvalue(obj)->gch.tt) + +#define checkliveness(g,obj) \ + lua_longassert(!iscollectable(obj) || \ + (righttt(obj) && !isdead(g,gcvalue(obj)))) + + +/* Macros to set values */ +#define settt_(o,t) ((o)->tt_=(t)) + +#define setnvalue(obj,x) \ + { TValue *io=(obj); num_(io)=(x); settt_(io, LUA_TNUMBER); } + +#define setnilvalue(obj) settt_(obj, LUA_TNIL) + +#define setfvalue(obj,x) \ + { TValue *io=(obj); val_(io).f=(x); settt_(io, LUA_TLCF); } + +#define setpvalue(obj,x) \ + { TValue *io=(obj); val_(io).p=(x); settt_(io, LUA_TLIGHTUSERDATA); } + +#define setbvalue(obj,x) \ + { TValue *io=(obj); val_(io).b=(x); settt_(io, LUA_TBOOLEAN); } + +#define setgcovalue(L,obj,x) \ + { TValue *io=(obj); GCObject *i_g=(x); \ + val_(io).gc=i_g; settt_(io, ctb(gch(i_g)->tt)); } + +#define setsvalue(L,obj,x) \ + { TValue *io=(obj); \ + TString *x_ = (x); \ + val_(io).gc=cast(GCObject *, x_); settt_(io, ctb(x_->tsv.tt)); \ + checkliveness(G(L),io); } + +#define setuvalue(L,obj,x) \ + { TValue *io=(obj); \ + val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TUSERDATA)); \ + checkliveness(G(L),io); } + +#define setthvalue(L,obj,x) \ + { TValue *io=(obj); \ + val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TTHREAD)); \ + checkliveness(G(L),io); } + +#define setclLvalue(L,obj,x) \ + { TValue *io=(obj); \ + val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TLCL)); \ + checkliveness(G(L),io); } + +#define setclCvalue(L,obj,x) \ + { TValue *io=(obj); \ + val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TCCL)); \ + checkliveness(G(L),io); } + +#define sethvalue(L,obj,x) \ + { TValue *io=(obj); \ + val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TTABLE)); \ + checkliveness(G(L),io); } + +#define setdeadvalue(obj) settt_(obj, LUA_TDEADKEY) + + + +#define setobj(L,obj1,obj2) \ + { const TValue *io2=(obj2); TValue *io1=(obj1); \ + io1->value_ = io2->value_; io1->tt_ = io2->tt_; \ + checkliveness(G(L),io1); } + + +/* +** different types of assignments, according to destination +*/ + +/* from stack to (same) stack */ +#define setobjs2s setobj +/* to stack (not from same stack) */ +#define setobj2s setobj +#define setsvalue2s setsvalue +#define sethvalue2s sethvalue +#define setptvalue2s setptvalue +/* from table to same table */ +#define setobjt2t setobj +/* to table */ +#define setobj2t setobj +/* to new object */ +#define setobj2n setobj +#define setsvalue2n setsvalue + + +/* check whether a number is valid (useful only for NaN trick) */ +#define luai_checknum(L,o,c) { /* empty */ } + + +/* +** {====================================================== +** NaN Trick +** ======================================================= +*/ +#if defined(LUA_NANTRICK) + +/* +** numbers are represented in the 'd_' field. All other values have the +** value (NNMARK | tag) in 'tt__'. A number with such pattern would be +** a "signaled NaN", which is never generated by regular operations by +** the CPU (nor by 'strtod') +*/ + +/* allows for external implementation for part of the trick */ +#if !defined(NNMARK) /* { */ + + +#if !defined(LUA_IEEEENDIAN) +#error option 'LUA_NANTRICK' needs 'LUA_IEEEENDIAN' +#endif + + +#define NNMARK 0x7FF7A500 +#define NNMASK 0x7FFFFF00 + +#undef TValuefields +#undef NILCONSTANT + +#if (LUA_IEEEENDIAN == 0) /* { */ + +/* little endian */ +#define TValuefields \ + union { struct { Value v__; int tt__; } i; double d__; } u +#define NILCONSTANT {{{NULL}, tag2tt(LUA_TNIL)}} +/* field-access macros */ +#define v_(o) ((o)->u.i.v__) +#define d_(o) ((o)->u.d__) +#define tt_(o) ((o)->u.i.tt__) + +#else /* }{ */ + +/* big endian */ +#define TValuefields \ + union { struct { int tt__; Value v__; } i; double d__; } u +#define NILCONSTANT {{tag2tt(LUA_TNIL), {NULL}}} +/* field-access macros */ +#define v_(o) ((o)->u.i.v__) +#define d_(o) ((o)->u.d__) +#define tt_(o) ((o)->u.i.tt__) + +#endif /* } */ + +#endif /* } */ + + +/* correspondence with standard representation */ +#undef val_ +#define val_(o) v_(o) +#undef num_ +#define num_(o) d_(o) + + +#undef numfield +#define numfield /* no such field; numbers are the entire struct */ + +/* basic check to distinguish numbers from non-numbers */ +#undef ttisnumber +#define ttisnumber(o) ((tt_(o) & NNMASK) != NNMARK) + +#define tag2tt(t) (NNMARK | (t)) + +#undef rttype +#define rttype(o) (ttisnumber(o) ? LUA_TNUMBER : tt_(o) & 0xff) + +#undef settt_ +#define settt_(o,t) (tt_(o) = tag2tt(t)) + +#undef setnvalue +#define setnvalue(obj,x) \ + { TValue *io_=(obj); num_(io_)=(x); lua_assert(ttisnumber(io_)); } + +#undef setobj +#define setobj(L,obj1,obj2) \ + { const TValue *o2_=(obj2); TValue *o1_=(obj1); \ + o1_->u = o2_->u; \ + checkliveness(G(L),o1_); } + + +/* +** these redefinitions are not mandatory, but these forms are more efficient +*/ + +#undef checktag +#undef checktype +#define checktag(o,t) (tt_(o) == tag2tt(t)) +#define checktype(o,t) (ctb(tt_(o) | VARBITS) == ctb(tag2tt(t) | VARBITS)) + +#undef ttisequal +#define ttisequal(o1,o2) \ + (ttisnumber(o1) ? ttisnumber(o2) : (tt_(o1) == tt_(o2))) + + +#undef luai_checknum +#define luai_checknum(L,o,c) { if (!ttisnumber(o)) c; } + +#endif +/* }====================================================== */ + + + +/* +** {====================================================== +** types and prototypes +** ======================================================= +*/ + + +union Value { + GCObject *gc; /* collectable objects */ + void *p; /* light userdata */ + int b; /* booleans */ + lua_CFunction f; /* light C functions */ + numfield /* numbers */ +}; + + +struct lua_TValue { + TValuefields; +}; + + +typedef TValue *StkId; /* index to stack elements */ + + + + +/* +** Header for string value; string bytes follow the end of this structure +*/ +typedef union TString { + L_Umaxalign dummy; /* ensures maximum alignment for strings */ + struct { + CommonHeader; + lu_byte extra; /* reserved words for short strings; "has hash" for longs */ + unsigned int hash; + size_t len; /* number of characters in string */ + } tsv; +} TString; + + +/* get the actual string (array of bytes) from a TString */ +#define getstr(ts) cast(const char *, (ts) + 1) + +/* get the actual string (array of bytes) from a Lua value */ +#define svalue(o) getstr(rawtsvalue(o)) + + +/* +** Header for userdata; memory area follows the end of this structure +*/ +typedef union Udata { + L_Umaxalign dummy; /* ensures maximum alignment for `local' udata */ + struct { + CommonHeader; + struct Table *metatable; + struct Table *env; + size_t len; /* number of bytes */ + } uv; +} Udata; + + + +/* +** Description of an upvalue for function prototypes +*/ +typedef struct Upvaldesc { + TString *name; /* upvalue name (for debug information) */ + lu_byte instack; /* whether it is in stack */ + lu_byte idx; /* index of upvalue (in stack or in outer function's list) */ +} Upvaldesc; + + +/* +** Description of a local variable for function prototypes +** (used for debug information) +*/ +typedef struct LocVar { + TString *varname; + int startpc; /* first point where variable is active */ + int endpc; /* first point where variable is dead */ +} LocVar; + + +/* +** Function Prototypes +*/ +typedef struct Proto { + CommonHeader; + TValue *k; /* constants used by the function */ + Instruction *code; + struct Proto **p; /* functions defined inside the function */ + int *lineinfo; /* map from opcodes to source lines (debug information) */ + LocVar *locvars; /* information about local variables (debug information) */ + Upvaldesc *upvalues; /* upvalue information */ + union Closure *cache; /* last created closure with this prototype */ + TString *source; /* used for debug information */ + int sizeupvalues; /* size of 'upvalues' */ + int sizek; /* size of `k' */ + int sizecode; + int sizelineinfo; + int sizep; /* size of `p' */ + int sizelocvars; + int linedefined; + int lastlinedefined; + GCObject *gclist; + lu_byte numparams; /* number of fixed parameters */ + lu_byte is_vararg; + lu_byte maxstacksize; /* maximum stack used by this function */ +} Proto; + + + +/* +** Lua Upvalues +*/ +typedef struct UpVal { + CommonHeader; + TValue *v; /* points to stack or to its own value */ + union { + TValue value; /* the value (when closed) */ + struct { /* double linked list (when open) */ + struct UpVal *prev; + struct UpVal *next; + } l; + } u; +} UpVal; + + +/* +** Closures +*/ + +#define ClosureHeader \ + CommonHeader; lu_byte nupvalues; GCObject *gclist + +typedef struct CClosure { + ClosureHeader; + lua_CFunction f; + TValue upvalue[1]; /* list of upvalues */ +} CClosure; + + +typedef struct LClosure { + ClosureHeader; + struct Proto *p; + UpVal *upvals[1]; /* list of upvalues */ +} LClosure; + + +typedef union Closure { + CClosure c; + LClosure l; +} Closure; + + +#define isLfunction(o) ttisLclosure(o) + +#define getproto(o) (clLvalue(o)->p) + + +/* +** Tables +*/ + +typedef union TKey { + struct { + TValuefields; + struct Node *next; /* for chaining */ + } nk; + TValue tvk; +} TKey; + + +typedef struct Node { + TValue i_val; + TKey i_key; +} Node; + + +typedef struct Table { + CommonHeader; + lu_byte flags; /* 1<

lsizenode)) + + +/* +** (address of) a fixed nil value +*/ +#define luaO_nilobject (&luaO_nilobject_) + + +LUAI_DDEC const TValue luaO_nilobject_; + + +LUAI_FUNC int luaO_int2fb (unsigned int x); +LUAI_FUNC int luaO_fb2int (int x); +LUAI_FUNC int luaO_ceillog2 (unsigned int x); +LUAI_FUNC lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2); +LUAI_FUNC int luaO_str2d (const char *s, size_t len, lua_Number *result); +LUAI_FUNC int luaO_hexavalue (int c); +LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt, + va_list argp); +LUAI_FUNC const char *luaO_pushfstring (lua_State *L, const char *fmt, ...); +LUAI_FUNC void luaO_chunkid (char *out, const char *source, size_t len); + + +#endif + diff --git a/server/scripting/Lua/src/lopcodes.c b/server/scripting/Lua/src/lopcodes.c new file mode 100644 index 0000000..4190dc7 --- /dev/null +++ b/server/scripting/Lua/src/lopcodes.c @@ -0,0 +1,107 @@ +/* +** $Id: lopcodes.c,v 1.49.1.1 2013/04/12 18:48:47 roberto Exp $ +** Opcodes for Lua virtual machine +** See Copyright Notice in lua.h +*/ + + +#define lopcodes_c +#define LUA_CORE + + +#include "lopcodes.h" + + +/* ORDER OP */ + +LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { + "MOVE", + "LOADK", + "LOADKX", + "LOADBOOL", + "LOADNIL", + "GETUPVAL", + "GETTABUP", + "GETTABLE", + "SETTABUP", + "SETUPVAL", + "SETTABLE", + "NEWTABLE", + "SELF", + "ADD", + "SUB", + "MUL", + "DIV", + "MOD", + "POW", + "UNM", + "NOT", + "LEN", + "CONCAT", + "JMP", + "EQ", + "LT", + "LE", + "TEST", + "TESTSET", + "CALL", + "TAILCALL", + "RETURN", + "FORLOOP", + "FORPREP", + "TFORCALL", + "TFORLOOP", + "SETLIST", + "CLOSURE", + "VARARG", + "EXTRAARG", + NULL +}; + + +#define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m)) + +LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { +/* T A B C mode opcode */ + opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ + ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ + ,opmode(0, 1, OpArgN, OpArgN, iABx) /* OP_LOADKX */ + ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ + ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */ + ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ + ,opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */ + ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ + ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */ + ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ + ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ + ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ + ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ + ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ + ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ + ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ + ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ + ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */ + ,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */ + ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ + ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ + ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ + ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TEST */ + ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */ + ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */ + ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */ + ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */ + ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */ + ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */ + ,opmode(0, 0, OpArgN, OpArgU, iABC) /* OP_TFORCALL */ + ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_TFORLOOP */ + ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */ + ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */ + ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */ + ,opmode(0, 0, OpArgU, OpArgU, iAx) /* OP_EXTRAARG */ +}; + diff --git a/server/scripting/Lua/src/lopcodes.h b/server/scripting/Lua/src/lopcodes.h new file mode 100644 index 0000000..8e2f80a --- /dev/null +++ b/server/scripting/Lua/src/lopcodes.h @@ -0,0 +1,288 @@ +/* +** $Id: lopcodes.h,v 1.142.1.2 2014/10/20 18:32:09 roberto Exp $ +** Opcodes for Lua virtual machine +** See Copyright Notice in lua.h +*/ + +#ifndef lopcodes_h +#define lopcodes_h + +#include "llimits.h" + + +/*=========================================================================== + We assume that instructions are unsigned numbers. + All instructions have an opcode in the first 6 bits. + Instructions can have the following fields: + `A' : 8 bits + `B' : 9 bits + `C' : 9 bits + 'Ax' : 26 bits ('A', 'B', and 'C' together) + `Bx' : 18 bits (`B' and `C' together) + `sBx' : signed Bx + + A signed argument is represented in excess K; that is, the number + value is the unsigned value minus K. K is exactly the maximum value + for that argument (so that -max is represented by 0, and +max is + represented by 2*max), which is half the maximum for the corresponding + unsigned argument. +===========================================================================*/ + + +enum OpMode {iABC, iABx, iAsBx, iAx}; /* basic instruction format */ + + +/* +** size and position of opcode arguments. +*/ +#define SIZE_C 9 +#define SIZE_B 9 +#define SIZE_Bx (SIZE_C + SIZE_B) +#define SIZE_A 8 +#define SIZE_Ax (SIZE_C + SIZE_B + SIZE_A) + +#define SIZE_OP 6 + +#define POS_OP 0 +#define POS_A (POS_OP + SIZE_OP) +#define POS_C (POS_A + SIZE_A) +#define POS_B (POS_C + SIZE_C) +#define POS_Bx POS_C +#define POS_Ax POS_A + + +/* +** limits for opcode arguments. +** we use (signed) int to manipulate most arguments, +** so they must fit in LUAI_BITSINT-1 bits (-1 for sign) +*/ +#if SIZE_Bx < LUAI_BITSINT-1 +#define MAXARG_Bx ((1<>1) /* `sBx' is signed */ +#else +#define MAXARG_Bx MAX_INT +#define MAXARG_sBx MAX_INT +#endif + +#if SIZE_Ax < LUAI_BITSINT-1 +#define MAXARG_Ax ((1<>POS_OP) & MASK1(SIZE_OP,0))) +#define SET_OPCODE(i,o) ((i) = (((i)&MASK0(SIZE_OP,POS_OP)) | \ + ((cast(Instruction, o)<>pos) & MASK1(size,0))) +#define setarg(i,v,pos,size) ((i) = (((i)&MASK0(size,pos)) | \ + ((cast(Instruction, v)<= R(A - 1) */ +OP_EQ,/* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */ +OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ +OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ + +OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ +OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ + +OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ +OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ +OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ + +OP_FORLOOP,/* A sBx R(A)+=R(A+2); + if R(A) > 4) & 3)) +#define getCMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3)) +#define testAMode(m) (luaP_opmodes[m] & (1 << 6)) +#define testTMode(m) (luaP_opmodes[m] & (1 << 7)) + + +LUAI_DDEC const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */ + + +/* number of list items to accumulate before a SETLIST instruction */ +#define LFIELDS_PER_FLUSH 50 + + +#endif diff --git a/server/scripting/Lua/src/loslib.c b/server/scripting/Lua/src/loslib.c new file mode 100644 index 0000000..052ba17 --- /dev/null +++ b/server/scripting/Lua/src/loslib.c @@ -0,0 +1,323 @@ +/* +** $Id: loslib.c,v 1.40.1.1 2013/04/12 18:48:47 roberto Exp $ +** Standard Operating System library +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include +#include +#include + +#define loslib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +/* +** list of valid conversion specifiers for the 'strftime' function +*/ +#if !defined(LUA_STRFTIMEOPTIONS) + +#if !defined(LUA_USE_POSIX) +#define LUA_STRFTIMEOPTIONS { "aAbBcdHIjmMpSUwWxXyYz%", "" } +#else +#define LUA_STRFTIMEOPTIONS \ + { "aAbBcCdDeFgGhHIjmMnprRStTuUVwWxXyYzZ%", "" \ + "", "E", "cCxXyY", \ + "O", "deHImMSuUVwWy" } +#endif + +#endif + + + +/* +** By default, Lua uses tmpnam except when POSIX is available, where it +** uses mkstemp. +*/ +#if defined(LUA_USE_MKSTEMP) +#include +#define LUA_TMPNAMBUFSIZE 32 +#define lua_tmpnam(b,e) { \ + strcpy(b, "/tmp/lua_XXXXXX"); \ + e = mkstemp(b); \ + if (e != -1) close(e); \ + e = (e == -1); } + +#elif !defined(lua_tmpnam) + +#define LUA_TMPNAMBUFSIZE L_tmpnam +#define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } + +#endif + + +/* +** By default, Lua uses gmtime/localtime, except when POSIX is available, +** where it uses gmtime_r/localtime_r +*/ +#if defined(LUA_USE_GMTIME_R) + +#define l_gmtime(t,r) gmtime_r(t,r) +#define l_localtime(t,r) localtime_r(t,r) + +#elif !defined(l_gmtime) + +#define l_gmtime(t,r) ((void)r, gmtime(t)) +#define l_localtime(t,r) ((void)r, localtime(t)) + +#endif + + + +static int os_execute (lua_State *L) { + const char *cmd = luaL_optstring(L, 1, NULL); + int stat = system(cmd); + if (cmd != NULL) + return luaL_execresult(L, stat); + else { + lua_pushboolean(L, stat); /* true if there is a shell */ + return 1; + } +} + + +static int os_remove (lua_State *L) { + const char *filename = luaL_checkstring(L, 1); + return luaL_fileresult(L, remove(filename) == 0, filename); +} + + +static int os_rename (lua_State *L) { + const char *fromname = luaL_checkstring(L, 1); + const char *toname = luaL_checkstring(L, 2); + return luaL_fileresult(L, rename(fromname, toname) == 0, NULL); +} + + +static int os_tmpname (lua_State *L) { + char buff[LUA_TMPNAMBUFSIZE]; + int err; + lua_tmpnam(buff, err); + if (err) + return luaL_error(L, "unable to generate a unique filename"); + lua_pushstring(L, buff); + return 1; +} + + +static int os_getenv (lua_State *L) { + lua_pushstring(L, getenv(luaL_checkstring(L, 1))); /* if NULL push nil */ + return 1; +} + + +static int os_clock (lua_State *L) { + lua_pushnumber(L, ((lua_Number)clock())/(lua_Number)CLOCKS_PER_SEC); + return 1; +} + + +/* +** {====================================================== +** Time/Date operations +** { year=%Y, month=%m, day=%d, hour=%H, min=%M, sec=%S, +** wday=%w+1, yday=%j, isdst=? } +** ======================================================= +*/ + +static void setfield (lua_State *L, const char *key, int value) { + lua_pushinteger(L, value); + lua_setfield(L, -2, key); +} + +static void setboolfield (lua_State *L, const char *key, int value) { + if (value < 0) /* undefined? */ + return; /* does not set field */ + lua_pushboolean(L, value); + lua_setfield(L, -2, key); +} + +static int getboolfield (lua_State *L, const char *key) { + int res; + lua_getfield(L, -1, key); + res = lua_isnil(L, -1) ? -1 : lua_toboolean(L, -1); + lua_pop(L, 1); + return res; +} + + +static int getfield (lua_State *L, const char *key, int d) { + int res, isnum; + lua_getfield(L, -1, key); + res = (int)lua_tointegerx(L, -1, &isnum); + if (!isnum) { + if (d < 0) + return luaL_error(L, "field " LUA_QS " missing in date table", key); + res = d; + } + lua_pop(L, 1); + return res; +} + + +static const char *checkoption (lua_State *L, const char *conv, char *buff) { + static const char *const options[] = LUA_STRFTIMEOPTIONS; + unsigned int i; + for (i = 0; i < sizeof(options)/sizeof(options[0]); i += 2) { + if (*conv != '\0' && strchr(options[i], *conv) != NULL) { + buff[1] = *conv; + if (*options[i + 1] == '\0') { /* one-char conversion specifier? */ + buff[2] = '\0'; /* end buffer */ + return conv + 1; + } + else if (*(conv + 1) != '\0' && + strchr(options[i + 1], *(conv + 1)) != NULL) { + buff[2] = *(conv + 1); /* valid two-char conversion specifier */ + buff[3] = '\0'; /* end buffer */ + return conv + 2; + } + } + } + luaL_argerror(L, 1, + lua_pushfstring(L, "invalid conversion specifier '%%%s'", conv)); + return conv; /* to avoid warnings */ +} + + +static int os_date (lua_State *L) { + const char *s = luaL_optstring(L, 1, "%c"); + time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, time(NULL)); + struct tm tmr, *stm; + if (*s == '!') { /* UTC? */ + stm = l_gmtime(&t, &tmr); + s++; /* skip `!' */ + } + else + stm = l_localtime(&t, &tmr); + if (stm == NULL) /* invalid date? */ + lua_pushnil(L); + else if (strcmp(s, "*t") == 0) { + lua_createtable(L, 0, 9); /* 9 = number of fields */ + setfield(L, "sec", stm->tm_sec); + setfield(L, "min", stm->tm_min); + setfield(L, "hour", stm->tm_hour); + setfield(L, "day", stm->tm_mday); + setfield(L, "month", stm->tm_mon+1); + setfield(L, "year", stm->tm_year+1900); + setfield(L, "wday", stm->tm_wday+1); + setfield(L, "yday", stm->tm_yday+1); + setboolfield(L, "isdst", stm->tm_isdst); + } + else { + char cc[4]; + luaL_Buffer b; + cc[0] = '%'; + luaL_buffinit(L, &b); + while (*s) { + if (*s != '%') /* no conversion specifier? */ + luaL_addchar(&b, *s++); + else { + size_t reslen; + char buff[200]; /* should be big enough for any conversion result */ + s = checkoption(L, s + 1, cc); + reslen = strftime(buff, sizeof(buff), cc, stm); + luaL_addlstring(&b, buff, reslen); + } + } + luaL_pushresult(&b); + } + return 1; +} + + +static int os_time (lua_State *L) { + time_t t; + if (lua_isnoneornil(L, 1)) /* called without args? */ + t = time(NULL); /* get current time */ + else { + struct tm ts; + luaL_checktype(L, 1, LUA_TTABLE); + lua_settop(L, 1); /* make sure table is at the top */ + ts.tm_sec = getfield(L, "sec", 0); + ts.tm_min = getfield(L, "min", 0); + ts.tm_hour = getfield(L, "hour", 12); + ts.tm_mday = getfield(L, "day", -1); + ts.tm_mon = getfield(L, "month", -1) - 1; + ts.tm_year = getfield(L, "year", -1) - 1900; + ts.tm_isdst = getboolfield(L, "isdst"); + t = mktime(&ts); + } + if (t == (time_t)(-1)) + lua_pushnil(L); + else + lua_pushnumber(L, (lua_Number)t); + return 1; +} + + +static int os_difftime (lua_State *L) { + lua_pushnumber(L, difftime((time_t)(luaL_checknumber(L, 1)), + (time_t)(luaL_optnumber(L, 2, 0)))); + return 1; +} + +/* }====================================================== */ + + +static int os_setlocale (lua_State *L) { + static const int cat[] = {LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, + LC_NUMERIC, LC_TIME}; + static const char *const catnames[] = {"all", "collate", "ctype", "monetary", + "numeric", "time", NULL}; + const char *l = luaL_optstring(L, 1, NULL); + int op = luaL_checkoption(L, 2, "all", catnames); + lua_pushstring(L, setlocale(cat[op], l)); + return 1; +} + + +static int os_exit (lua_State *L) { + int status; + if (lua_isboolean(L, 1)) + status = (lua_toboolean(L, 1) ? EXIT_SUCCESS : EXIT_FAILURE); + else + status = luaL_optint(L, 1, EXIT_SUCCESS); + if (lua_toboolean(L, 2)) + lua_close(L); + if (L) exit(status); /* 'if' to avoid warnings for unreachable 'return' */ + return 0; +} + + +static const luaL_Reg syslib[] = { + {"clock", os_clock}, + {"date", os_date}, + {"difftime", os_difftime}, + {"execute", os_execute}, + {"exit", os_exit}, + {"getenv", os_getenv}, + {"remove", os_remove}, + {"rename", os_rename}, + {"setlocale", os_setlocale}, + {"time", os_time}, + {"tmpname", os_tmpname}, + {NULL, NULL} +}; + +/* }====================================================== */ + + + +LUAMOD_API int luaopen_os (lua_State *L) { + luaL_newlib(L, syslib); + return 1; +} + diff --git a/server/scripting/Lua/src/lparser.c b/server/scripting/Lua/src/lparser.c new file mode 100644 index 0000000..9e1a9ca --- /dev/null +++ b/server/scripting/Lua/src/lparser.c @@ -0,0 +1,1638 @@ +/* +** $Id: lparser.c,v 2.130.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua Parser +** See Copyright Notice in lua.h +*/ + + +#include + +#define lparser_c +#define LUA_CORE + +#include "lua.h" + +#include "lcode.h" +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "llex.h" +#include "lmem.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lparser.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" + + + +/* maximum number of local variables per function (must be smaller + than 250, due to the bytecode format) */ +#define MAXVARS 200 + + +#define hasmultret(k) ((k) == VCALL || (k) == VVARARG) + + + +/* +** nodes for block list (list of active blocks) +*/ +typedef struct BlockCnt { + struct BlockCnt *previous; /* chain */ + short firstlabel; /* index of first label in this block */ + short firstgoto; /* index of first pending goto in this block */ + lu_byte nactvar; /* # active locals outside the block */ + lu_byte upval; /* true if some variable in the block is an upvalue */ + lu_byte isloop; /* true if `block' is a loop */ +} BlockCnt; + + + +/* +** prototypes for recursive non-terminal functions +*/ +static void statement (LexState *ls); +static void expr (LexState *ls, expdesc *v); + + +static void anchor_token (LexState *ls) { + /* last token from outer function must be EOS */ + lua_assert(ls->fs != NULL || ls->t.token == TK_EOS); + if (ls->t.token == TK_NAME || ls->t.token == TK_STRING) { + TString *ts = ls->t.seminfo.ts; + luaX_newstring(ls, getstr(ts), ts->tsv.len); + } +} + + +/* semantic error */ +static l_noret semerror (LexState *ls, const char *msg) { + ls->t.token = 0; /* remove 'near to' from final message */ + luaX_syntaxerror(ls, msg); +} + + +static l_noret error_expected (LexState *ls, int token) { + luaX_syntaxerror(ls, + luaO_pushfstring(ls->L, "%s expected", luaX_token2str(ls, token))); +} + + +static l_noret errorlimit (FuncState *fs, int limit, const char *what) { + lua_State *L = fs->ls->L; + const char *msg; + int line = fs->f->linedefined; + const char *where = (line == 0) + ? "main function" + : luaO_pushfstring(L, "function at line %d", line); + msg = luaO_pushfstring(L, "too many %s (limit is %d) in %s", + what, limit, where); + luaX_syntaxerror(fs->ls, msg); +} + + +static void checklimit (FuncState *fs, int v, int l, const char *what) { + if (v > l) errorlimit(fs, l, what); +} + + +static int testnext (LexState *ls, int c) { + if (ls->t.token == c) { + luaX_next(ls); + return 1; + } + else return 0; +} + + +static void check (LexState *ls, int c) { + if (ls->t.token != c) + error_expected(ls, c); +} + + +static void checknext (LexState *ls, int c) { + check(ls, c); + luaX_next(ls); +} + + +#define check_condition(ls,c,msg) { if (!(c)) luaX_syntaxerror(ls, msg); } + + + +static void check_match (LexState *ls, int what, int who, int where) { + if (!testnext(ls, what)) { + if (where == ls->linenumber) + error_expected(ls, what); + else { + luaX_syntaxerror(ls, luaO_pushfstring(ls->L, + "%s expected (to close %s at line %d)", + luaX_token2str(ls, what), luaX_token2str(ls, who), where)); + } + } +} + + +static TString *str_checkname (LexState *ls) { + TString *ts; + check(ls, TK_NAME); + ts = ls->t.seminfo.ts; + luaX_next(ls); + return ts; +} + + +static void init_exp (expdesc *e, expkind k, int i) { + e->f = e->t = NO_JUMP; + e->k = k; + e->u.info = i; +} + + +static void codestring (LexState *ls, expdesc *e, TString *s) { + init_exp(e, VK, luaK_stringK(ls->fs, s)); +} + + +static void checkname (LexState *ls, expdesc *e) { + codestring(ls, e, str_checkname(ls)); +} + + +static int registerlocalvar (LexState *ls, TString *varname) { + FuncState *fs = ls->fs; + Proto *f = fs->f; + int oldsize = f->sizelocvars; + luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, + LocVar, SHRT_MAX, "local variables"); + while (oldsize < f->sizelocvars) f->locvars[oldsize++].varname = NULL; + f->locvars[fs->nlocvars].varname = varname; + luaC_objbarrier(ls->L, f, varname); + return fs->nlocvars++; +} + + +static void new_localvar (LexState *ls, TString *name) { + FuncState *fs = ls->fs; + Dyndata *dyd = ls->dyd; + int reg = registerlocalvar(ls, name); + checklimit(fs, dyd->actvar.n + 1 - fs->firstlocal, + MAXVARS, "local variables"); + luaM_growvector(ls->L, dyd->actvar.arr, dyd->actvar.n + 1, + dyd->actvar.size, Vardesc, MAX_INT, "local variables"); + dyd->actvar.arr[dyd->actvar.n++].idx = cast(short, reg); +} + + +static void new_localvarliteral_ (LexState *ls, const char *name, size_t sz) { + new_localvar(ls, luaX_newstring(ls, name, sz)); +} + +#define new_localvarliteral(ls,v) \ + new_localvarliteral_(ls, "" v, (sizeof(v)/sizeof(char))-1) + + +static LocVar *getlocvar (FuncState *fs, int i) { + int idx = fs->ls->dyd->actvar.arr[fs->firstlocal + i].idx; + lua_assert(idx < fs->nlocvars); + return &fs->f->locvars[idx]; +} + + +static void adjustlocalvars (LexState *ls, int nvars) { + FuncState *fs = ls->fs; + fs->nactvar = cast_byte(fs->nactvar + nvars); + for (; nvars; nvars--) { + getlocvar(fs, fs->nactvar - nvars)->startpc = fs->pc; + } +} + + +static void removevars (FuncState *fs, int tolevel) { + fs->ls->dyd->actvar.n -= (fs->nactvar - tolevel); + while (fs->nactvar > tolevel) + getlocvar(fs, --fs->nactvar)->endpc = fs->pc; +} + + +static int searchupvalue (FuncState *fs, TString *name) { + int i; + Upvaldesc *up = fs->f->upvalues; + for (i = 0; i < fs->nups; i++) { + if (luaS_eqstr(up[i].name, name)) return i; + } + return -1; /* not found */ +} + + +static int newupvalue (FuncState *fs, TString *name, expdesc *v) { + Proto *f = fs->f; + int oldsize = f->sizeupvalues; + checklimit(fs, fs->nups + 1, MAXUPVAL, "upvalues"); + luaM_growvector(fs->ls->L, f->upvalues, fs->nups, f->sizeupvalues, + Upvaldesc, MAXUPVAL, "upvalues"); + while (oldsize < f->sizeupvalues) f->upvalues[oldsize++].name = NULL; + f->upvalues[fs->nups].instack = (v->k == VLOCAL); + f->upvalues[fs->nups].idx = cast_byte(v->u.info); + f->upvalues[fs->nups].name = name; + luaC_objbarrier(fs->ls->L, f, name); + return fs->nups++; +} + + +static int searchvar (FuncState *fs, TString *n) { + int i; + for (i = cast_int(fs->nactvar) - 1; i >= 0; i--) { + if (luaS_eqstr(n, getlocvar(fs, i)->varname)) + return i; + } + return -1; /* not found */ +} + + +/* + Mark block where variable at given level was defined + (to emit close instructions later). +*/ +static void markupval (FuncState *fs, int level) { + BlockCnt *bl = fs->bl; + while (bl->nactvar > level) bl = bl->previous; + bl->upval = 1; +} + + +/* + Find variable with given name 'n'. If it is an upvalue, add this + upvalue into all intermediate functions. +*/ +static int singlevaraux (FuncState *fs, TString *n, expdesc *var, int base) { + if (fs == NULL) /* no more levels? */ + return VVOID; /* default is global */ + else { + int v = searchvar(fs, n); /* look up locals at current level */ + if (v >= 0) { /* found? */ + init_exp(var, VLOCAL, v); /* variable is local */ + if (!base) + markupval(fs, v); /* local will be used as an upval */ + return VLOCAL; + } + else { /* not found as local at current level; try upvalues */ + int idx = searchupvalue(fs, n); /* try existing upvalues */ + if (idx < 0) { /* not found? */ + if (singlevaraux(fs->prev, n, var, 0) == VVOID) /* try upper levels */ + return VVOID; /* not found; is a global */ + /* else was LOCAL or UPVAL */ + idx = newupvalue(fs, n, var); /* will be a new upvalue */ + } + init_exp(var, VUPVAL, idx); + return VUPVAL; + } + } +} + + +static void singlevar (LexState *ls, expdesc *var) { + TString *varname = str_checkname(ls); + FuncState *fs = ls->fs; + if (singlevaraux(fs, varname, var, 1) == VVOID) { /* global name? */ + expdesc key; + singlevaraux(fs, ls->envn, var, 1); /* get environment variable */ + lua_assert(var->k == VLOCAL || var->k == VUPVAL); + codestring(ls, &key, varname); /* key is variable name */ + luaK_indexed(fs, var, &key); /* env[varname] */ + } +} + + +static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) { + FuncState *fs = ls->fs; + int extra = nvars - nexps; + if (hasmultret(e->k)) { + extra++; /* includes call itself */ + if (extra < 0) extra = 0; + luaK_setreturns(fs, e, extra); /* last exp. provides the difference */ + if (extra > 1) luaK_reserveregs(fs, extra-1); + } + else { + if (e->k != VVOID) luaK_exp2nextreg(fs, e); /* close last expression */ + if (extra > 0) { + int reg = fs->freereg; + luaK_reserveregs(fs, extra); + luaK_nil(fs, reg, extra); + } + } +} + + +static void enterlevel (LexState *ls) { + lua_State *L = ls->L; + ++L->nCcalls; + checklimit(ls->fs, L->nCcalls, LUAI_MAXCCALLS, "C levels"); +} + + +#define leavelevel(ls) ((ls)->L->nCcalls--) + + +static void closegoto (LexState *ls, int g, Labeldesc *label) { + int i; + FuncState *fs = ls->fs; + Labellist *gl = &ls->dyd->gt; + Labeldesc *gt = &gl->arr[g]; + lua_assert(luaS_eqstr(gt->name, label->name)); + if (gt->nactvar < label->nactvar) { + TString *vname = getlocvar(fs, gt->nactvar)->varname; + const char *msg = luaO_pushfstring(ls->L, + " at line %d jumps into the scope of local " LUA_QS, + getstr(gt->name), gt->line, getstr(vname)); + semerror(ls, msg); + } + luaK_patchlist(fs, gt->pc, label->pc); + /* remove goto from pending list */ + for (i = g; i < gl->n - 1; i++) + gl->arr[i] = gl->arr[i + 1]; + gl->n--; +} + + +/* +** try to close a goto with existing labels; this solves backward jumps +*/ +static int findlabel (LexState *ls, int g) { + int i; + BlockCnt *bl = ls->fs->bl; + Dyndata *dyd = ls->dyd; + Labeldesc *gt = &dyd->gt.arr[g]; + /* check labels in current block for a match */ + for (i = bl->firstlabel; i < dyd->label.n; i++) { + Labeldesc *lb = &dyd->label.arr[i]; + if (luaS_eqstr(lb->name, gt->name)) { /* correct label? */ + if (gt->nactvar > lb->nactvar && + (bl->upval || dyd->label.n > bl->firstlabel)) + luaK_patchclose(ls->fs, gt->pc, lb->nactvar); + closegoto(ls, g, lb); /* close it */ + return 1; + } + } + return 0; /* label not found; cannot close goto */ +} + + +static int newlabelentry (LexState *ls, Labellist *l, TString *name, + int line, int pc) { + int n = l->n; + luaM_growvector(ls->L, l->arr, n, l->size, + Labeldesc, SHRT_MAX, "labels/gotos"); + l->arr[n].name = name; + l->arr[n].line = line; + l->arr[n].nactvar = ls->fs->nactvar; + l->arr[n].pc = pc; + l->n++; + return n; +} + + +/* +** check whether new label 'lb' matches any pending gotos in current +** block; solves forward jumps +*/ +static void findgotos (LexState *ls, Labeldesc *lb) { + Labellist *gl = &ls->dyd->gt; + int i = ls->fs->bl->firstgoto; + while (i < gl->n) { + if (luaS_eqstr(gl->arr[i].name, lb->name)) + closegoto(ls, i, lb); + else + i++; + } +} + + +/* +** "export" pending gotos to outer level, to check them against +** outer labels; if the block being exited has upvalues, and +** the goto exits the scope of any variable (which can be the +** upvalue), close those variables being exited. +*/ +static void movegotosout (FuncState *fs, BlockCnt *bl) { + int i = bl->firstgoto; + Labellist *gl = &fs->ls->dyd->gt; + /* correct pending gotos to current block and try to close it + with visible labels */ + while (i < gl->n) { + Labeldesc *gt = &gl->arr[i]; + if (gt->nactvar > bl->nactvar) { + if (bl->upval) + luaK_patchclose(fs, gt->pc, bl->nactvar); + gt->nactvar = bl->nactvar; + } + if (!findlabel(fs->ls, i)) + i++; /* move to next one */ + } +} + + +static void enterblock (FuncState *fs, BlockCnt *bl, lu_byte isloop) { + bl->isloop = isloop; + bl->nactvar = fs->nactvar; + bl->firstlabel = fs->ls->dyd->label.n; + bl->firstgoto = fs->ls->dyd->gt.n; + bl->upval = 0; + bl->previous = fs->bl; + fs->bl = bl; + lua_assert(fs->freereg == fs->nactvar); +} + + +/* +** create a label named "break" to resolve break statements +*/ +static void breaklabel (LexState *ls) { + TString *n = luaS_new(ls->L, "break"); + int l = newlabelentry(ls, &ls->dyd->label, n, 0, ls->fs->pc); + findgotos(ls, &ls->dyd->label.arr[l]); +} + +/* +** generates an error for an undefined 'goto'; choose appropriate +** message when label name is a reserved word (which can only be 'break') +*/ +static l_noret undefgoto (LexState *ls, Labeldesc *gt) { + const char *msg = isreserved(gt->name) + ? "<%s> at line %d not inside a loop" + : "no visible label " LUA_QS " for at line %d"; + msg = luaO_pushfstring(ls->L, msg, getstr(gt->name), gt->line); + semerror(ls, msg); +} + + +static void leaveblock (FuncState *fs) { + BlockCnt *bl = fs->bl; + LexState *ls = fs->ls; + if (bl->previous && bl->upval) { + /* create a 'jump to here' to close upvalues */ + int j = luaK_jump(fs); + luaK_patchclose(fs, j, bl->nactvar); + luaK_patchtohere(fs, j); + } + if (bl->isloop) + breaklabel(ls); /* close pending breaks */ + fs->bl = bl->previous; + removevars(fs, bl->nactvar); + lua_assert(bl->nactvar == fs->nactvar); + fs->freereg = fs->nactvar; /* free registers */ + ls->dyd->label.n = bl->firstlabel; /* remove local labels */ + if (bl->previous) /* inner block? */ + movegotosout(fs, bl); /* update pending gotos to outer block */ + else if (bl->firstgoto < ls->dyd->gt.n) /* pending gotos in outer block? */ + undefgoto(ls, &ls->dyd->gt.arr[bl->firstgoto]); /* error */ +} + + +/* +** adds a new prototype into list of prototypes +*/ +static Proto *addprototype (LexState *ls) { + Proto *clp; + lua_State *L = ls->L; + FuncState *fs = ls->fs; + Proto *f = fs->f; /* prototype of current function */ + if (fs->np >= f->sizep) { + int oldsize = f->sizep; + luaM_growvector(L, f->p, fs->np, f->sizep, Proto *, MAXARG_Bx, "functions"); + while (oldsize < f->sizep) f->p[oldsize++] = NULL; + } + f->p[fs->np++] = clp = luaF_newproto(L); + luaC_objbarrier(L, f, clp); + return clp; +} + + +/* +** codes instruction to create new closure in parent function. +** The OP_CLOSURE instruction must use the last available register, +** so that, if it invokes the GC, the GC knows which registers +** are in use at that time. +*/ +static void codeclosure (LexState *ls, expdesc *v) { + FuncState *fs = ls->fs->prev; + init_exp(v, VRELOCABLE, luaK_codeABx(fs, OP_CLOSURE, 0, fs->np - 1)); + luaK_exp2nextreg(fs, v); /* fix it at the last register */ +} + + +static void open_func (LexState *ls, FuncState *fs, BlockCnt *bl) { + lua_State *L = ls->L; + Proto *f; + fs->prev = ls->fs; /* linked list of funcstates */ + fs->ls = ls; + ls->fs = fs; + fs->pc = 0; + fs->lasttarget = 0; + fs->jpc = NO_JUMP; + fs->freereg = 0; + fs->nk = 0; + fs->np = 0; + fs->nups = 0; + fs->nlocvars = 0; + fs->nactvar = 0; + fs->firstlocal = ls->dyd->actvar.n; + fs->bl = NULL; + f = fs->f; + f->source = ls->source; + f->maxstacksize = 2; /* registers 0/1 are always valid */ + fs->h = luaH_new(L); + /* anchor table of constants (to avoid being collected) */ + sethvalue2s(L, L->top, fs->h); + incr_top(L); + enterblock(fs, bl, 0); +} + + +static void close_func (LexState *ls) { + lua_State *L = ls->L; + FuncState *fs = ls->fs; + Proto *f = fs->f; + luaK_ret(fs, 0, 0); /* final return */ + leaveblock(fs); + luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); + f->sizecode = fs->pc; + luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int); + f->sizelineinfo = fs->pc; + luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue); + f->sizek = fs->nk; + luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); + f->sizep = fs->np; + luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); + f->sizelocvars = fs->nlocvars; + luaM_reallocvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc); + f->sizeupvalues = fs->nups; + lua_assert(fs->bl == NULL); + ls->fs = fs->prev; + /* last token read was anchored in defunct function; must re-anchor it */ + anchor_token(ls); + L->top--; /* pop table of constants */ + luaC_checkGC(L); +} + + + +/*============================================================*/ +/* GRAMMAR RULES */ +/*============================================================*/ + + +/* +** check whether current token is in the follow set of a block. +** 'until' closes syntactical blocks, but do not close scope, +** so it handled in separate. +*/ +static int block_follow (LexState *ls, int withuntil) { + switch (ls->t.token) { + case TK_ELSE: case TK_ELSEIF: + case TK_END: case TK_EOS: + return 1; + case TK_UNTIL: return withuntil; + default: return 0; + } +} + + +static void statlist (LexState *ls) { + /* statlist -> { stat [`;'] } */ + while (!block_follow(ls, 1)) { + if (ls->t.token == TK_RETURN) { + statement(ls); + return; /* 'return' must be last statement */ + } + statement(ls); + } +} + + +static void fieldsel (LexState *ls, expdesc *v) { + /* fieldsel -> ['.' | ':'] NAME */ + FuncState *fs = ls->fs; + expdesc key; + luaK_exp2anyregup(fs, v); + luaX_next(ls); /* skip the dot or colon */ + checkname(ls, &key); + luaK_indexed(fs, v, &key); +} + + +static void yindex (LexState *ls, expdesc *v) { + /* index -> '[' expr ']' */ + luaX_next(ls); /* skip the '[' */ + expr(ls, v); + luaK_exp2val(ls->fs, v); + checknext(ls, ']'); +} + + +/* +** {====================================================================== +** Rules for Constructors +** ======================================================================= +*/ + + +struct ConsControl { + expdesc v; /* last list item read */ + expdesc *t; /* table descriptor */ + int nh; /* total number of `record' elements */ + int na; /* total number of array elements */ + int tostore; /* number of array elements pending to be stored */ +}; + + +static void recfield (LexState *ls, struct ConsControl *cc) { + /* recfield -> (NAME | `['exp1`]') = exp1 */ + FuncState *fs = ls->fs; + int reg = ls->fs->freereg; + expdesc key, val; + int rkkey; + if (ls->t.token == TK_NAME) { + checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); + checkname(ls, &key); + } + else /* ls->t.token == '[' */ + yindex(ls, &key); + cc->nh++; + checknext(ls, '='); + rkkey = luaK_exp2RK(fs, &key); + expr(ls, &val); + luaK_codeABC(fs, OP_SETTABLE, cc->t->u.info, rkkey, luaK_exp2RK(fs, &val)); + fs->freereg = reg; /* free registers */ +} + + +static void closelistfield (FuncState *fs, struct ConsControl *cc) { + if (cc->v.k == VVOID) return; /* there is no list item */ + luaK_exp2nextreg(fs, &cc->v); + cc->v.k = VVOID; + if (cc->tostore == LFIELDS_PER_FLUSH) { + luaK_setlist(fs, cc->t->u.info, cc->na, cc->tostore); /* flush */ + cc->tostore = 0; /* no more items pending */ + } +} + + +static void lastlistfield (FuncState *fs, struct ConsControl *cc) { + if (cc->tostore == 0) return; + if (hasmultret(cc->v.k)) { + luaK_setmultret(fs, &cc->v); + luaK_setlist(fs, cc->t->u.info, cc->na, LUA_MULTRET); + cc->na--; /* do not count last expression (unknown number of elements) */ + } + else { + if (cc->v.k != VVOID) + luaK_exp2nextreg(fs, &cc->v); + luaK_setlist(fs, cc->t->u.info, cc->na, cc->tostore); + } +} + + +static void listfield (LexState *ls, struct ConsControl *cc) { + /* listfield -> exp */ + expr(ls, &cc->v); + checklimit(ls->fs, cc->na, MAX_INT, "items in a constructor"); + cc->na++; + cc->tostore++; +} + + +static void field (LexState *ls, struct ConsControl *cc) { + /* field -> listfield | recfield */ + switch(ls->t.token) { + case TK_NAME: { /* may be 'listfield' or 'recfield' */ + if (luaX_lookahead(ls) != '=') /* expression? */ + listfield(ls, cc); + else + recfield(ls, cc); + break; + } + case '[': { + recfield(ls, cc); + break; + } + default: { + listfield(ls, cc); + break; + } + } +} + + +static void constructor (LexState *ls, expdesc *t) { + /* constructor -> '{' [ field { sep field } [sep] ] '}' + sep -> ',' | ';' */ + FuncState *fs = ls->fs; + int line = ls->linenumber; + int pc = luaK_codeABC(fs, OP_NEWTABLE, 0, 0, 0); + struct ConsControl cc; + cc.na = cc.nh = cc.tostore = 0; + cc.t = t; + init_exp(t, VRELOCABLE, pc); + init_exp(&cc.v, VVOID, 0); /* no value (yet) */ + luaK_exp2nextreg(ls->fs, t); /* fix it at stack top */ + checknext(ls, '{'); + do { + lua_assert(cc.v.k == VVOID || cc.tostore > 0); + if (ls->t.token == '}') break; + closelistfield(fs, &cc); + field(ls, &cc); + } while (testnext(ls, ',') || testnext(ls, ';')); + check_match(ls, '}', '{', line); + lastlistfield(fs, &cc); + SETARG_B(fs->f->code[pc], luaO_int2fb(cc.na)); /* set initial array size */ + SETARG_C(fs->f->code[pc], luaO_int2fb(cc.nh)); /* set initial table size */ +} + +/* }====================================================================== */ + + + +static void parlist (LexState *ls) { + /* parlist -> [ param { `,' param } ] */ + FuncState *fs = ls->fs; + Proto *f = fs->f; + int nparams = 0; + f->is_vararg = 0; + if (ls->t.token != ')') { /* is `parlist' not empty? */ + do { + switch (ls->t.token) { + case TK_NAME: { /* param -> NAME */ + new_localvar(ls, str_checkname(ls)); + nparams++; + break; + } + case TK_DOTS: { /* param -> `...' */ + luaX_next(ls); + f->is_vararg = 1; + break; + } + default: luaX_syntaxerror(ls, " or " LUA_QL("...") " expected"); + } + } while (!f->is_vararg && testnext(ls, ',')); + } + adjustlocalvars(ls, nparams); + f->numparams = cast_byte(fs->nactvar); + luaK_reserveregs(fs, fs->nactvar); /* reserve register for parameters */ +} + + +static void body (LexState *ls, expdesc *e, int ismethod, int line) { + /* body -> `(' parlist `)' block END */ + FuncState new_fs; + BlockCnt bl; + new_fs.f = addprototype(ls); + new_fs.f->linedefined = line; + open_func(ls, &new_fs, &bl); + checknext(ls, '('); + if (ismethod) { + new_localvarliteral(ls, "self"); /* create 'self' parameter */ + adjustlocalvars(ls, 1); + } + parlist(ls); + checknext(ls, ')'); + statlist(ls); + new_fs.f->lastlinedefined = ls->linenumber; + check_match(ls, TK_END, TK_FUNCTION, line); + codeclosure(ls, e); + close_func(ls); +} + + +static int explist (LexState *ls, expdesc *v) { + /* explist -> expr { `,' expr } */ + int n = 1; /* at least one expression */ + expr(ls, v); + while (testnext(ls, ',')) { + luaK_exp2nextreg(ls->fs, v); + expr(ls, v); + n++; + } + return n; +} + + +static void funcargs (LexState *ls, expdesc *f, int line) { + FuncState *fs = ls->fs; + expdesc args; + int base, nparams; + switch (ls->t.token) { + case '(': { /* funcargs -> `(' [ explist ] `)' */ + luaX_next(ls); + if (ls->t.token == ')') /* arg list is empty? */ + args.k = VVOID; + else { + explist(ls, &args); + luaK_setmultret(fs, &args); + } + check_match(ls, ')', '(', line); + break; + } + case '{': { /* funcargs -> constructor */ + constructor(ls, &args); + break; + } + case TK_STRING: { /* funcargs -> STRING */ + codestring(ls, &args, ls->t.seminfo.ts); + luaX_next(ls); /* must use `seminfo' before `next' */ + break; + } + default: { + luaX_syntaxerror(ls, "function arguments expected"); + } + } + lua_assert(f->k == VNONRELOC); + base = f->u.info; /* base register for call */ + if (hasmultret(args.k)) + nparams = LUA_MULTRET; /* open call */ + else { + if (args.k != VVOID) + luaK_exp2nextreg(fs, &args); /* close last argument */ + nparams = fs->freereg - (base+1); + } + init_exp(f, VCALL, luaK_codeABC(fs, OP_CALL, base, nparams+1, 2)); + luaK_fixline(fs, line); + fs->freereg = base+1; /* call remove function and arguments and leaves + (unless changed) one result */ +} + + + + +/* +** {====================================================================== +** Expression parsing +** ======================================================================= +*/ + + +static void primaryexp (LexState *ls, expdesc *v) { + /* primaryexp -> NAME | '(' expr ')' */ + switch (ls->t.token) { + case '(': { + int line = ls->linenumber; + luaX_next(ls); + expr(ls, v); + check_match(ls, ')', '(', line); + luaK_dischargevars(ls->fs, v); + return; + } + case TK_NAME: { + singlevar(ls, v); + return; + } + default: { + luaX_syntaxerror(ls, "unexpected symbol"); + } + } +} + + +static void suffixedexp (LexState *ls, expdesc *v) { + /* suffixedexp -> + primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */ + FuncState *fs = ls->fs; + int line = ls->linenumber; + primaryexp(ls, v); + for (;;) { + switch (ls->t.token) { + case '.': { /* fieldsel */ + fieldsel(ls, v); + break; + } + case '[': { /* `[' exp1 `]' */ + expdesc key; + luaK_exp2anyregup(fs, v); + yindex(ls, &key); + luaK_indexed(fs, v, &key); + break; + } + case ':': { /* `:' NAME funcargs */ + expdesc key; + luaX_next(ls); + checkname(ls, &key); + luaK_self(fs, v, &key); + funcargs(ls, v, line); + break; + } + case '(': case TK_STRING: case '{': { /* funcargs */ + luaK_exp2nextreg(fs, v); + funcargs(ls, v, line); + break; + } + default: return; + } + } +} + + +static void simpleexp (LexState *ls, expdesc *v) { + /* simpleexp -> NUMBER | STRING | NIL | TRUE | FALSE | ... | + constructor | FUNCTION body | suffixedexp */ + switch (ls->t.token) { + case TK_NUMBER: { + init_exp(v, VKNUM, 0); + v->u.nval = ls->t.seminfo.r; + break; + } + case TK_STRING: { + codestring(ls, v, ls->t.seminfo.ts); + break; + } + case TK_NIL: { + init_exp(v, VNIL, 0); + break; + } + case TK_TRUE: { + init_exp(v, VTRUE, 0); + break; + } + case TK_FALSE: { + init_exp(v, VFALSE, 0); + break; + } + case TK_DOTS: { /* vararg */ + FuncState *fs = ls->fs; + check_condition(ls, fs->f->is_vararg, + "cannot use " LUA_QL("...") " outside a vararg function"); + init_exp(v, VVARARG, luaK_codeABC(fs, OP_VARARG, 0, 1, 0)); + break; + } + case '{': { /* constructor */ + constructor(ls, v); + return; + } + case TK_FUNCTION: { + luaX_next(ls); + body(ls, v, 0, ls->linenumber); + return; + } + default: { + suffixedexp(ls, v); + return; + } + } + luaX_next(ls); +} + + +static UnOpr getunopr (int op) { + switch (op) { + case TK_NOT: return OPR_NOT; + case '-': return OPR_MINUS; + case '#': return OPR_LEN; + default: return OPR_NOUNOPR; + } +} + + +static BinOpr getbinopr (int op) { + switch (op) { + case '+': return OPR_ADD; + case '-': return OPR_SUB; + case '*': return OPR_MUL; + case '/': return OPR_DIV; + case '%': return OPR_MOD; + case '^': return OPR_POW; + case TK_CONCAT: return OPR_CONCAT; + case TK_NE: return OPR_NE; + case TK_EQ: return OPR_EQ; + case '<': return OPR_LT; + case TK_LE: return OPR_LE; + case '>': return OPR_GT; + case TK_GE: return OPR_GE; + case TK_AND: return OPR_AND; + case TK_OR: return OPR_OR; + default: return OPR_NOBINOPR; + } +} + + +static const struct { + lu_byte left; /* left priority for each binary operator */ + lu_byte right; /* right priority */ +} priority[] = { /* ORDER OPR */ + {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `*' `/' `%' */ + {10, 9}, {5, 4}, /* ^, .. (right associative) */ + {3, 3}, {3, 3}, {3, 3}, /* ==, <, <= */ + {3, 3}, {3, 3}, {3, 3}, /* ~=, >, >= */ + {2, 2}, {1, 1} /* and, or */ +}; + +#define UNARY_PRIORITY 8 /* priority for unary operators */ + + +/* +** subexpr -> (simpleexp | unop subexpr) { binop subexpr } +** where `binop' is any binary operator with a priority higher than `limit' +*/ +static BinOpr subexpr (LexState *ls, expdesc *v, int limit) { + BinOpr op; + UnOpr uop; + enterlevel(ls); + uop = getunopr(ls->t.token); + if (uop != OPR_NOUNOPR) { + int line = ls->linenumber; + luaX_next(ls); + subexpr(ls, v, UNARY_PRIORITY); + luaK_prefix(ls->fs, uop, v, line); + } + else simpleexp(ls, v); + /* expand while operators have priorities higher than `limit' */ + op = getbinopr(ls->t.token); + while (op != OPR_NOBINOPR && priority[op].left > limit) { + expdesc v2; + BinOpr nextop; + int line = ls->linenumber; + luaX_next(ls); + luaK_infix(ls->fs, op, v); + /* read sub-expression with higher priority */ + nextop = subexpr(ls, &v2, priority[op].right); + luaK_posfix(ls->fs, op, v, &v2, line); + op = nextop; + } + leavelevel(ls); + return op; /* return first untreated operator */ +} + + +static void expr (LexState *ls, expdesc *v) { + subexpr(ls, v, 0); +} + +/* }==================================================================== */ + + + +/* +** {====================================================================== +** Rules for Statements +** ======================================================================= +*/ + + +static void block (LexState *ls) { + /* block -> statlist */ + FuncState *fs = ls->fs; + BlockCnt bl; + enterblock(fs, &bl, 0); + statlist(ls); + leaveblock(fs); +} + + +/* +** structure to chain all variables in the left-hand side of an +** assignment +*/ +struct LHS_assign { + struct LHS_assign *prev; + expdesc v; /* variable (global, local, upvalue, or indexed) */ +}; + + +/* +** check whether, in an assignment to an upvalue/local variable, the +** upvalue/local variable is begin used in a previous assignment to a +** table. If so, save original upvalue/local value in a safe place and +** use this safe copy in the previous assignment. +*/ +static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc *v) { + FuncState *fs = ls->fs; + int extra = fs->freereg; /* eventual position to save local variable */ + int conflict = 0; + for (; lh; lh = lh->prev) { /* check all previous assignments */ + if (lh->v.k == VINDEXED) { /* assigning to a table? */ + /* table is the upvalue/local being assigned now? */ + if (lh->v.u.ind.vt == v->k && lh->v.u.ind.t == v->u.info) { + conflict = 1; + lh->v.u.ind.vt = VLOCAL; + lh->v.u.ind.t = extra; /* previous assignment will use safe copy */ + } + /* index is the local being assigned? (index cannot be upvalue) */ + if (v->k == VLOCAL && lh->v.u.ind.idx == v->u.info) { + conflict = 1; + lh->v.u.ind.idx = extra; /* previous assignment will use safe copy */ + } + } + } + if (conflict) { + /* copy upvalue/local value to a temporary (in position 'extra') */ + OpCode op = (v->k == VLOCAL) ? OP_MOVE : OP_GETUPVAL; + luaK_codeABC(fs, op, extra, v->u.info, 0); + luaK_reserveregs(fs, 1); + } +} + + +static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) { + expdesc e; + check_condition(ls, vkisvar(lh->v.k), "syntax error"); + if (testnext(ls, ',')) { /* assignment -> ',' suffixedexp assignment */ + struct LHS_assign nv; + nv.prev = lh; + suffixedexp(ls, &nv.v); + if (nv.v.k != VINDEXED) + check_conflict(ls, lh, &nv.v); + checklimit(ls->fs, nvars + ls->L->nCcalls, LUAI_MAXCCALLS, + "C levels"); + assignment(ls, &nv, nvars+1); + } + else { /* assignment -> `=' explist */ + int nexps; + checknext(ls, '='); + nexps = explist(ls, &e); + if (nexps != nvars) { + adjust_assign(ls, nvars, nexps, &e); + if (nexps > nvars) + ls->fs->freereg -= nexps - nvars; /* remove extra values */ + } + else { + luaK_setoneret(ls->fs, &e); /* close last expression */ + luaK_storevar(ls->fs, &lh->v, &e); + return; /* avoid default */ + } + } + init_exp(&e, VNONRELOC, ls->fs->freereg-1); /* default assignment */ + luaK_storevar(ls->fs, &lh->v, &e); +} + + +static int cond (LexState *ls) { + /* cond -> exp */ + expdesc v; + expr(ls, &v); /* read condition */ + if (v.k == VNIL) v.k = VFALSE; /* `falses' are all equal here */ + luaK_goiftrue(ls->fs, &v); + return v.f; +} + + +static void gotostat (LexState *ls, int pc) { + int line = ls->linenumber; + TString *label; + int g; + if (testnext(ls, TK_GOTO)) + label = str_checkname(ls); + else { + luaX_next(ls); /* skip break */ + label = luaS_new(ls->L, "break"); + } + g = newlabelentry(ls, &ls->dyd->gt, label, line, pc); + findlabel(ls, g); /* close it if label already defined */ +} + + +/* check for repeated labels on the same block */ +static void checkrepeated (FuncState *fs, Labellist *ll, TString *label) { + int i; + for (i = fs->bl->firstlabel; i < ll->n; i++) { + if (luaS_eqstr(label, ll->arr[i].name)) { + const char *msg = luaO_pushfstring(fs->ls->L, + "label " LUA_QS " already defined on line %d", + getstr(label), ll->arr[i].line); + semerror(fs->ls, msg); + } + } +} + + +/* skip no-op statements */ +static void skipnoopstat (LexState *ls) { + while (ls->t.token == ';' || ls->t.token == TK_DBCOLON) + statement(ls); +} + + +static void labelstat (LexState *ls, TString *label, int line) { + /* label -> '::' NAME '::' */ + FuncState *fs = ls->fs; + Labellist *ll = &ls->dyd->label; + int l; /* index of new label being created */ + checkrepeated(fs, ll, label); /* check for repeated labels */ + checknext(ls, TK_DBCOLON); /* skip double colon */ + /* create new entry for this label */ + l = newlabelentry(ls, ll, label, line, fs->pc); + skipnoopstat(ls); /* skip other no-op statements */ + if (block_follow(ls, 0)) { /* label is last no-op statement in the block? */ + /* assume that locals are already out of scope */ + ll->arr[l].nactvar = fs->bl->nactvar; + } + findgotos(ls, &ll->arr[l]); +} + + +static void whilestat (LexState *ls, int line) { + /* whilestat -> WHILE cond DO block END */ + FuncState *fs = ls->fs; + int whileinit; + int condexit; + BlockCnt bl; + luaX_next(ls); /* skip WHILE */ + whileinit = luaK_getlabel(fs); + condexit = cond(ls); + enterblock(fs, &bl, 1); + checknext(ls, TK_DO); + block(ls); + luaK_jumpto(fs, whileinit); + check_match(ls, TK_END, TK_WHILE, line); + leaveblock(fs); + luaK_patchtohere(fs, condexit); /* false conditions finish the loop */ +} + + +static void repeatstat (LexState *ls, int line) { + /* repeatstat -> REPEAT block UNTIL cond */ + int condexit; + FuncState *fs = ls->fs; + int repeat_init = luaK_getlabel(fs); + BlockCnt bl1, bl2; + enterblock(fs, &bl1, 1); /* loop block */ + enterblock(fs, &bl2, 0); /* scope block */ + luaX_next(ls); /* skip REPEAT */ + statlist(ls); + check_match(ls, TK_UNTIL, TK_REPEAT, line); + condexit = cond(ls); /* read condition (inside scope block) */ + if (bl2.upval) /* upvalues? */ + luaK_patchclose(fs, condexit, bl2.nactvar); + leaveblock(fs); /* finish scope */ + luaK_patchlist(fs, condexit, repeat_init); /* close the loop */ + leaveblock(fs); /* finish loop */ +} + + +static int exp1 (LexState *ls) { + expdesc e; + int reg; + expr(ls, &e); + luaK_exp2nextreg(ls->fs, &e); + lua_assert(e.k == VNONRELOC); + reg = e.u.info; + return reg; +} + + +static void forbody (LexState *ls, int base, int line, int nvars, int isnum) { + /* forbody -> DO block */ + BlockCnt bl; + FuncState *fs = ls->fs; + int prep, endfor; + adjustlocalvars(ls, 3); /* control variables */ + checknext(ls, TK_DO); + prep = isnum ? luaK_codeAsBx(fs, OP_FORPREP, base, NO_JUMP) : luaK_jump(fs); + enterblock(fs, &bl, 0); /* scope for declared variables */ + adjustlocalvars(ls, nvars); + luaK_reserveregs(fs, nvars); + block(ls); + leaveblock(fs); /* end of scope for declared variables */ + luaK_patchtohere(fs, prep); + if (isnum) /* numeric for? */ + endfor = luaK_codeAsBx(fs, OP_FORLOOP, base, NO_JUMP); + else { /* generic for */ + luaK_codeABC(fs, OP_TFORCALL, base, 0, nvars); + luaK_fixline(fs, line); + endfor = luaK_codeAsBx(fs, OP_TFORLOOP, base + 2, NO_JUMP); + } + luaK_patchlist(fs, endfor, prep + 1); + luaK_fixline(fs, line); +} + + +static void fornum (LexState *ls, TString *varname, int line) { + /* fornum -> NAME = exp1,exp1[,exp1] forbody */ + FuncState *fs = ls->fs; + int base = fs->freereg; + new_localvarliteral(ls, "(for index)"); + new_localvarliteral(ls, "(for limit)"); + new_localvarliteral(ls, "(for step)"); + new_localvar(ls, varname); + checknext(ls, '='); + exp1(ls); /* initial value */ + checknext(ls, ','); + exp1(ls); /* limit */ + if (testnext(ls, ',')) + exp1(ls); /* optional step */ + else { /* default step = 1 */ + luaK_codek(fs, fs->freereg, luaK_numberK(fs, 1)); + luaK_reserveregs(fs, 1); + } + forbody(ls, base, line, 1, 1); +} + + +static void forlist (LexState *ls, TString *indexname) { + /* forlist -> NAME {,NAME} IN explist forbody */ + FuncState *fs = ls->fs; + expdesc e; + int nvars = 4; /* gen, state, control, plus at least one declared var */ + int line; + int base = fs->freereg; + /* create control variables */ + new_localvarliteral(ls, "(for generator)"); + new_localvarliteral(ls, "(for state)"); + new_localvarliteral(ls, "(for control)"); + /* create declared variables */ + new_localvar(ls, indexname); + while (testnext(ls, ',')) { + new_localvar(ls, str_checkname(ls)); + nvars++; + } + checknext(ls, TK_IN); + line = ls->linenumber; + adjust_assign(ls, 3, explist(ls, &e), &e); + luaK_checkstack(fs, 3); /* extra space to call generator */ + forbody(ls, base, line, nvars - 3, 0); +} + + +static void forstat (LexState *ls, int line) { + /* forstat -> FOR (fornum | forlist) END */ + FuncState *fs = ls->fs; + TString *varname; + BlockCnt bl; + enterblock(fs, &bl, 1); /* scope for loop and control variables */ + luaX_next(ls); /* skip `for' */ + varname = str_checkname(ls); /* first variable name */ + switch (ls->t.token) { + case '=': fornum(ls, varname, line); break; + case ',': case TK_IN: forlist(ls, varname); break; + default: luaX_syntaxerror(ls, LUA_QL("=") " or " LUA_QL("in") " expected"); + } + check_match(ls, TK_END, TK_FOR, line); + leaveblock(fs); /* loop scope (`break' jumps to this point) */ +} + + +static void test_then_block (LexState *ls, int *escapelist) { + /* test_then_block -> [IF | ELSEIF] cond THEN block */ + BlockCnt bl; + FuncState *fs = ls->fs; + expdesc v; + int jf; /* instruction to skip 'then' code (if condition is false) */ + luaX_next(ls); /* skip IF or ELSEIF */ + expr(ls, &v); /* read condition */ + checknext(ls, TK_THEN); + if (ls->t.token == TK_GOTO || ls->t.token == TK_BREAK) { + luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ + enterblock(fs, &bl, 0); /* must enter block before 'goto' */ + gotostat(ls, v.t); /* handle goto/break */ + skipnoopstat(ls); /* skip other no-op statements */ + if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ + leaveblock(fs); + return; /* and that is it */ + } + else /* must skip over 'then' part if condition is false */ + jf = luaK_jump(fs); + } + else { /* regular case (not goto/break) */ + luaK_goiftrue(ls->fs, &v); /* skip over block if condition is false */ + enterblock(fs, &bl, 0); + jf = v.f; + } + statlist(ls); /* `then' part */ + leaveblock(fs); + if (ls->t.token == TK_ELSE || + ls->t.token == TK_ELSEIF) /* followed by 'else'/'elseif'? */ + luaK_concat(fs, escapelist, luaK_jump(fs)); /* must jump over it */ + luaK_patchtohere(fs, jf); +} + + +static void ifstat (LexState *ls, int line) { + /* ifstat -> IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END */ + FuncState *fs = ls->fs; + int escapelist = NO_JUMP; /* exit list for finished parts */ + test_then_block(ls, &escapelist); /* IF cond THEN block */ + while (ls->t.token == TK_ELSEIF) + test_then_block(ls, &escapelist); /* ELSEIF cond THEN block */ + if (testnext(ls, TK_ELSE)) + block(ls); /* `else' part */ + check_match(ls, TK_END, TK_IF, line); + luaK_patchtohere(fs, escapelist); /* patch escape list to 'if' end */ +} + + +static void localfunc (LexState *ls) { + expdesc b; + FuncState *fs = ls->fs; + new_localvar(ls, str_checkname(ls)); /* new local variable */ + adjustlocalvars(ls, 1); /* enter its scope */ + body(ls, &b, 0, ls->linenumber); /* function created in next register */ + /* debug information will only see the variable after this point! */ + getlocvar(fs, b.u.info)->startpc = fs->pc; +} + + +static void localstat (LexState *ls) { + /* stat -> LOCAL NAME {`,' NAME} [`=' explist] */ + int nvars = 0; + int nexps; + expdesc e; + do { + new_localvar(ls, str_checkname(ls)); + nvars++; + } while (testnext(ls, ',')); + if (testnext(ls, '=')) + nexps = explist(ls, &e); + else { + e.k = VVOID; + nexps = 0; + } + adjust_assign(ls, nvars, nexps, &e); + adjustlocalvars(ls, nvars); +} + + +static int funcname (LexState *ls, expdesc *v) { + /* funcname -> NAME {fieldsel} [`:' NAME] */ + int ismethod = 0; + singlevar(ls, v); + while (ls->t.token == '.') + fieldsel(ls, v); + if (ls->t.token == ':') { + ismethod = 1; + fieldsel(ls, v); + } + return ismethod; +} + + +static void funcstat (LexState *ls, int line) { + /* funcstat -> FUNCTION funcname body */ + int ismethod; + expdesc v, b; + luaX_next(ls); /* skip FUNCTION */ + ismethod = funcname(ls, &v); + body(ls, &b, ismethod, line); + luaK_storevar(ls->fs, &v, &b); + luaK_fixline(ls->fs, line); /* definition `happens' in the first line */ +} + + +static void exprstat (LexState *ls) { + /* stat -> func | assignment */ + FuncState *fs = ls->fs; + struct LHS_assign v; + suffixedexp(ls, &v.v); + if (ls->t.token == '=' || ls->t.token == ',') { /* stat -> assignment ? */ + v.prev = NULL; + assignment(ls, &v, 1); + } + else { /* stat -> func */ + check_condition(ls, v.v.k == VCALL, "syntax error"); + SETARG_C(getcode(fs, &v.v), 1); /* call statement uses no results */ + } +} + + +static void retstat (LexState *ls) { + /* stat -> RETURN [explist] [';'] */ + FuncState *fs = ls->fs; + expdesc e; + int first, nret; /* registers with returned values */ + if (block_follow(ls, 1) || ls->t.token == ';') + first = nret = 0; /* return no values */ + else { + nret = explist(ls, &e); /* optional return values */ + if (hasmultret(e.k)) { + luaK_setmultret(fs, &e); + if (e.k == VCALL && nret == 1) { /* tail call? */ + SET_OPCODE(getcode(fs,&e), OP_TAILCALL); + lua_assert(GETARG_A(getcode(fs,&e)) == fs->nactvar); + } + first = fs->nactvar; + nret = LUA_MULTRET; /* return all values */ + } + else { + if (nret == 1) /* only one single value? */ + first = luaK_exp2anyreg(fs, &e); + else { + luaK_exp2nextreg(fs, &e); /* values must go to the `stack' */ + first = fs->nactvar; /* return all `active' values */ + lua_assert(nret == fs->freereg - first); + } + } + } + luaK_ret(fs, first, nret); + testnext(ls, ';'); /* skip optional semicolon */ +} + + +static void statement (LexState *ls) { + int line = ls->linenumber; /* may be needed for error messages */ + enterlevel(ls); + switch (ls->t.token) { + case ';': { /* stat -> ';' (empty statement) */ + luaX_next(ls); /* skip ';' */ + break; + } + case TK_IF: { /* stat -> ifstat */ + ifstat(ls, line); + break; + } + case TK_WHILE: { /* stat -> whilestat */ + whilestat(ls, line); + break; + } + case TK_DO: { /* stat -> DO block END */ + luaX_next(ls); /* skip DO */ + block(ls); + check_match(ls, TK_END, TK_DO, line); + break; + } + case TK_FOR: { /* stat -> forstat */ + forstat(ls, line); + break; + } + case TK_REPEAT: { /* stat -> repeatstat */ + repeatstat(ls, line); + break; + } + case TK_FUNCTION: { /* stat -> funcstat */ + funcstat(ls, line); + break; + } + case TK_LOCAL: { /* stat -> localstat */ + luaX_next(ls); /* skip LOCAL */ + if (testnext(ls, TK_FUNCTION)) /* local function? */ + localfunc(ls); + else + localstat(ls); + break; + } + case TK_DBCOLON: { /* stat -> label */ + luaX_next(ls); /* skip double colon */ + labelstat(ls, str_checkname(ls), line); + break; + } + case TK_RETURN: { /* stat -> retstat */ + luaX_next(ls); /* skip RETURN */ + retstat(ls); + break; + } + case TK_BREAK: /* stat -> breakstat */ + case TK_GOTO: { /* stat -> 'goto' NAME */ + gotostat(ls, luaK_jump(ls->fs)); + break; + } + default: { /* stat -> func | assignment */ + exprstat(ls); + break; + } + } + lua_assert(ls->fs->f->maxstacksize >= ls->fs->freereg && + ls->fs->freereg >= ls->fs->nactvar); + ls->fs->freereg = ls->fs->nactvar; /* free registers */ + leavelevel(ls); +} + +/* }====================================================================== */ + + +/* +** compiles the main function, which is a regular vararg function with an +** upvalue named LUA_ENV +*/ +static void mainfunc (LexState *ls, FuncState *fs) { + BlockCnt bl; + expdesc v; + open_func(ls, fs, &bl); + fs->f->is_vararg = 1; /* main function is always vararg */ + init_exp(&v, VLOCAL, 0); /* create and... */ + newupvalue(fs, ls->envn, &v); /* ...set environment upvalue */ + luaX_next(ls); /* read first token */ + statlist(ls); /* parse main body */ + check(ls, TK_EOS); + close_func(ls); +} + + +Closure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, + Dyndata *dyd, const char *name, int firstchar) { + LexState lexstate; + FuncState funcstate; + Closure *cl = luaF_newLclosure(L, 1); /* create main closure */ + /* anchor closure (to avoid being collected) */ + setclLvalue(L, L->top, cl); + incr_top(L); + funcstate.f = cl->l.p = luaF_newproto(L); + funcstate.f->source = luaS_new(L, name); /* create and anchor TString */ + lexstate.buff = buff; + lexstate.dyd = dyd; + dyd->actvar.n = dyd->gt.n = dyd->label.n = 0; + luaX_setinput(L, &lexstate, z, funcstate.f->source, firstchar); + mainfunc(&lexstate, &funcstate); + lua_assert(!funcstate.prev && funcstate.nups == 1 && !lexstate.fs); + /* all scopes should be correctly finished */ + lua_assert(dyd->actvar.n == 0 && dyd->gt.n == 0 && dyd->label.n == 0); + return cl; /* it's on the stack too */ +} + diff --git a/server/scripting/Lua/src/lparser.h b/server/scripting/Lua/src/lparser.h new file mode 100644 index 0000000..0346e3c --- /dev/null +++ b/server/scripting/Lua/src/lparser.h @@ -0,0 +1,119 @@ +/* +** $Id: lparser.h,v 1.70.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua Parser +** See Copyright Notice in lua.h +*/ + +#ifndef lparser_h +#define lparser_h + +#include "llimits.h" +#include "lobject.h" +#include "lzio.h" + + +/* +** Expression descriptor +*/ + +typedef enum { + VVOID, /* no value */ + VNIL, + VTRUE, + VFALSE, + VK, /* info = index of constant in `k' */ + VKNUM, /* nval = numerical value */ + VNONRELOC, /* info = result register */ + VLOCAL, /* info = local register */ + VUPVAL, /* info = index of upvalue in 'upvalues' */ + VINDEXED, /* t = table register/upvalue; idx = index R/K */ + VJMP, /* info = instruction pc */ + VRELOCABLE, /* info = instruction pc */ + VCALL, /* info = instruction pc */ + VVARARG /* info = instruction pc */ +} expkind; + + +#define vkisvar(k) (VLOCAL <= (k) && (k) <= VINDEXED) +#define vkisinreg(k) ((k) == VNONRELOC || (k) == VLOCAL) + +typedef struct expdesc { + expkind k; + union { + struct { /* for indexed variables (VINDEXED) */ + short idx; /* index (R/K) */ + lu_byte t; /* table (register or upvalue) */ + lu_byte vt; /* whether 't' is register (VLOCAL) or upvalue (VUPVAL) */ + } ind; + int info; /* for generic use */ + lua_Number nval; /* for VKNUM */ + } u; + int t; /* patch list of `exit when true' */ + int f; /* patch list of `exit when false' */ +} expdesc; + + +/* description of active local variable */ +typedef struct Vardesc { + short idx; /* variable index in stack */ +} Vardesc; + + +/* description of pending goto statements and label statements */ +typedef struct Labeldesc { + TString *name; /* label identifier */ + int pc; /* position in code */ + int line; /* line where it appeared */ + lu_byte nactvar; /* local level where it appears in current block */ +} Labeldesc; + + +/* list of labels or gotos */ +typedef struct Labellist { + Labeldesc *arr; /* array */ + int n; /* number of entries in use */ + int size; /* array size */ +} Labellist; + + +/* dynamic structures used by the parser */ +typedef struct Dyndata { + struct { /* list of active local variables */ + Vardesc *arr; + int n; + int size; + } actvar; + Labellist gt; /* list of pending gotos */ + Labellist label; /* list of active labels */ +} Dyndata; + + +/* control of blocks */ +struct BlockCnt; /* defined in lparser.c */ + + +/* state needed to generate code for a given function */ +typedef struct FuncState { + Proto *f; /* current function header */ + Table *h; /* table to find (and reuse) elements in `k' */ + struct FuncState *prev; /* enclosing function */ + struct LexState *ls; /* lexical state */ + struct BlockCnt *bl; /* chain of current blocks */ + int pc; /* next position to code (equivalent to `ncode') */ + int lasttarget; /* 'label' of last 'jump label' */ + int jpc; /* list of pending jumps to `pc' */ + int nk; /* number of elements in `k' */ + int np; /* number of elements in `p' */ + int firstlocal; /* index of first local var (in Dyndata array) */ + short nlocvars; /* number of elements in 'f->locvars' */ + lu_byte nactvar; /* number of active local variables */ + lu_byte nups; /* number of upvalues */ + lu_byte freereg; /* first free register */ +} FuncState; + + +LUAI_FUNC Closure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, + Dyndata *dyd, const char *name, int firstchar); + + +#endif diff --git a/server/scripting/Lua/src/lstate.c b/server/scripting/Lua/src/lstate.c new file mode 100644 index 0000000..c7f2672 --- /dev/null +++ b/server/scripting/Lua/src/lstate.c @@ -0,0 +1,323 @@ +/* +** $Id: lstate.c,v 2.99.1.2 2013/11/08 17:45:31 roberto Exp $ +** Global State +** See Copyright Notice in lua.h +*/ + + +#include +#include + +#define lstate_c +#define LUA_CORE + +#include "lua.h" + +#include "lapi.h" +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lgc.h" +#include "llex.h" +#include "lmem.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" + + +#if !defined(LUAI_GCPAUSE) +#define LUAI_GCPAUSE 200 /* 200% */ +#endif + +#if !defined(LUAI_GCMAJOR) +#define LUAI_GCMAJOR 200 /* 200% */ +#endif + +#if !defined(LUAI_GCMUL) +#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ +#endif + + +#define MEMERRMSG "not enough memory" + + +/* +** a macro to help the creation of a unique random seed when a state is +** created; the seed is used to randomize hashes. +*/ +#if !defined(luai_makeseed) +#include +#define luai_makeseed() cast(unsigned int, time(NULL)) +#endif + + + +/* +** thread state + extra space +*/ +typedef struct LX { +#if defined(LUAI_EXTRASPACE) + char buff[LUAI_EXTRASPACE]; +#endif + lua_State l; +} LX; + + +/* +** Main thread combines a thread state and the global state +*/ +typedef struct LG { + LX l; + global_State g; +} LG; + + + +#define fromstate(L) (cast(LX *, cast(lu_byte *, (L)) - offsetof(LX, l))) + + +/* +** Compute an initial seed as random as possible. In ANSI, rely on +** Address Space Layout Randomization (if present) to increase +** randomness.. +*/ +#define addbuff(b,p,e) \ + { size_t t = cast(size_t, e); \ + memcpy(buff + p, &t, sizeof(t)); p += sizeof(t); } + +static unsigned int makeseed (lua_State *L) { + char buff[4 * sizeof(size_t)]; + unsigned int h = luai_makeseed(); + int p = 0; + addbuff(buff, p, L); /* heap variable */ + addbuff(buff, p, &h); /* local variable */ + addbuff(buff, p, luaO_nilobject); /* global variable */ + addbuff(buff, p, &lua_newstate); /* public function */ + lua_assert(p == sizeof(buff)); + return luaS_hash(buff, p, h); +} + + +/* +** set GCdebt to a new value keeping the value (totalbytes + GCdebt) +** invariant +*/ +void luaE_setdebt (global_State *g, l_mem debt) { + g->totalbytes -= (debt - g->GCdebt); + g->GCdebt = debt; +} + + +CallInfo *luaE_extendCI (lua_State *L) { + CallInfo *ci = luaM_new(L, CallInfo); + lua_assert(L->ci->next == NULL); + L->ci->next = ci; + ci->previous = L->ci; + ci->next = NULL; + return ci; +} + + +void luaE_freeCI (lua_State *L) { + CallInfo *ci = L->ci; + CallInfo *next = ci->next; + ci->next = NULL; + while ((ci = next) != NULL) { + next = ci->next; + luaM_free(L, ci); + } +} + + +static void stack_init (lua_State *L1, lua_State *L) { + int i; CallInfo *ci; + /* initialize stack array */ + L1->stack = luaM_newvector(L, BASIC_STACK_SIZE, TValue); + L1->stacksize = BASIC_STACK_SIZE; + for (i = 0; i < BASIC_STACK_SIZE; i++) + setnilvalue(L1->stack + i); /* erase new stack */ + L1->top = L1->stack; + L1->stack_last = L1->stack + L1->stacksize - EXTRA_STACK; + /* initialize first ci */ + ci = &L1->base_ci; + ci->next = ci->previous = NULL; + ci->callstatus = 0; + ci->func = L1->top; + setnilvalue(L1->top++); /* 'function' entry for this 'ci' */ + ci->top = L1->top + LUA_MINSTACK; + L1->ci = ci; +} + + +static void freestack (lua_State *L) { + if (L->stack == NULL) + return; /* stack not completely built yet */ + L->ci = &L->base_ci; /* free the entire 'ci' list */ + luaE_freeCI(L); + luaM_freearray(L, L->stack, L->stacksize); /* free stack array */ +} + + +/* +** Create registry table and its predefined values +*/ +static void init_registry (lua_State *L, global_State *g) { + TValue mt; + /* create registry */ + Table *registry = luaH_new(L); + sethvalue(L, &g->l_registry, registry); + luaH_resize(L, registry, LUA_RIDX_LAST, 0); + /* registry[LUA_RIDX_MAINTHREAD] = L */ + setthvalue(L, &mt, L); + luaH_setint(L, registry, LUA_RIDX_MAINTHREAD, &mt); + /* registry[LUA_RIDX_GLOBALS] = table of globals */ + sethvalue(L, &mt, luaH_new(L)); + luaH_setint(L, registry, LUA_RIDX_GLOBALS, &mt); +} + + +/* +** open parts of the state that may cause memory-allocation errors +*/ +static void f_luaopen (lua_State *L, void *ud) { + global_State *g = G(L); + UNUSED(ud); + stack_init(L, L); /* init stack */ + init_registry(L, g); + luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */ + luaT_init(L); + luaX_init(L); + /* pre-create memory-error message */ + g->memerrmsg = luaS_newliteral(L, MEMERRMSG); + luaS_fix(g->memerrmsg); /* it should never be collected */ + g->gcrunning = 1; /* allow gc */ + g->version = lua_version(NULL); + luai_userstateopen(L); +} + + +/* +** preinitialize a state with consistent values without allocating +** any memory (to avoid errors) +*/ +static void preinit_state (lua_State *L, global_State *g) { + G(L) = g; + L->stack = NULL; + L->ci = NULL; + L->stacksize = 0; + L->errorJmp = NULL; + L->nCcalls = 0; + L->hook = NULL; + L->hookmask = 0; + L->basehookcount = 0; + L->allowhook = 1; + resethookcount(L); + L->openupval = NULL; + L->nny = 1; + L->status = LUA_OK; + L->errfunc = 0; +} + + +static void close_state (lua_State *L) { + global_State *g = G(L); + luaF_close(L, L->stack); /* close all upvalues for this thread */ + luaC_freeallobjects(L); /* collect all objects */ + if (g->version) /* closing a fully built state? */ + luai_userstateclose(L); + luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size); + luaZ_freebuffer(L, &g->buff); + freestack(L); + lua_assert(gettotalbytes(g) == sizeof(LG)); + (*g->frealloc)(g->ud, fromstate(L), sizeof(LG), 0); /* free main block */ +} + + +LUA_API lua_State *lua_newthread (lua_State *L) { + lua_State *L1; + lua_lock(L); + luaC_checkGC(L); + L1 = &luaC_newobj(L, LUA_TTHREAD, sizeof(LX), NULL, offsetof(LX, l))->th; + setthvalue(L, L->top, L1); + api_incr_top(L); + preinit_state(L1, G(L)); + L1->hookmask = L->hookmask; + L1->basehookcount = L->basehookcount; + L1->hook = L->hook; + resethookcount(L1); + luai_userstatethread(L, L1); + stack_init(L1, L); /* init stack */ + lua_unlock(L); + return L1; +} + + +void luaE_freethread (lua_State *L, lua_State *L1) { + LX *l = fromstate(L1); + luaF_close(L1, L1->stack); /* close all upvalues for this thread */ + lua_assert(L1->openupval == NULL); + luai_userstatefree(L, L1); + freestack(L1); + luaM_free(L, l); +} + + +LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { + int i; + lua_State *L; + global_State *g; + LG *l = cast(LG *, (*f)(ud, NULL, LUA_TTHREAD, sizeof(LG))); + if (l == NULL) return NULL; + L = &l->l.l; + g = &l->g; + L->next = NULL; + L->tt = LUA_TTHREAD; + g->currentwhite = bit2mask(WHITE0BIT, FIXEDBIT); + L->marked = luaC_white(g); + g->gckind = KGC_NORMAL; + preinit_state(L, g); + g->frealloc = f; + g->ud = ud; + g->mainthread = L; + g->seed = makeseed(L); + g->uvhead.u.l.prev = &g->uvhead; + g->uvhead.u.l.next = &g->uvhead; + g->gcrunning = 0; /* no GC while building state */ + g->GCestimate = 0; + g->strt.size = 0; + g->strt.nuse = 0; + g->strt.hash = NULL; + setnilvalue(&g->l_registry); + luaZ_initbuffer(L, &g->buff); + g->panic = NULL; + g->version = NULL; + g->gcstate = GCSpause; + g->allgc = NULL; + g->finobj = NULL; + g->tobefnz = NULL; + g->sweepgc = g->sweepfin = NULL; + g->gray = g->grayagain = NULL; + g->weak = g->ephemeron = g->allweak = NULL; + g->totalbytes = sizeof(LG); + g->GCdebt = 0; + g->gcpause = LUAI_GCPAUSE; + g->gcmajorinc = LUAI_GCMAJOR; + g->gcstepmul = LUAI_GCMUL; + for (i=0; i < LUA_NUMTAGS; i++) g->mt[i] = NULL; + if (luaD_rawrunprotected(L, f_luaopen, NULL) != LUA_OK) { + /* memory allocation error: free partial state */ + close_state(L); + L = NULL; + } + return L; +} + + +LUA_API void lua_close (lua_State *L) { + L = G(L)->mainthread; /* only the main thread can be closed */ + lua_lock(L); + close_state(L); +} + + diff --git a/server/scripting/Lua/src/lstate.h b/server/scripting/Lua/src/lstate.h new file mode 100644 index 0000000..daffd9a --- /dev/null +++ b/server/scripting/Lua/src/lstate.h @@ -0,0 +1,228 @@ +/* +** $Id: lstate.h,v 2.82.1.1 2013/04/12 18:48:47 roberto Exp $ +** Global State +** See Copyright Notice in lua.h +*/ + +#ifndef lstate_h +#define lstate_h + +#include "lua.h" + +#include "lobject.h" +#include "ltm.h" +#include "lzio.h" + + +/* + +** Some notes about garbage-collected objects: All objects in Lua must +** be kept somehow accessible until being freed. +** +** Lua keeps most objects linked in list g->allgc. The link uses field +** 'next' of the CommonHeader. +** +** Strings are kept in several lists headed by the array g->strt.hash. +** +** Open upvalues are not subject to independent garbage collection. They +** are collected together with their respective threads. Lua keeps a +** double-linked list with all open upvalues (g->uvhead) so that it can +** mark objects referred by them. (They are always gray, so they must +** be remarked in the atomic step. Usually their contents would be marked +** when traversing the respective threads, but the thread may already be +** dead, while the upvalue is still accessible through closures.) +** +** Objects with finalizers are kept in the list g->finobj. +** +** The list g->tobefnz links all objects being finalized. + +*/ + + +struct lua_longjmp; /* defined in ldo.c */ + + + +/* extra stack space to handle TM calls and some other extras */ +#define EXTRA_STACK 5 + + +#define BASIC_STACK_SIZE (2*LUA_MINSTACK) + + +/* kinds of Garbage Collection */ +#define KGC_NORMAL 0 +#define KGC_EMERGENCY 1 /* gc was forced by an allocation failure */ +#define KGC_GEN 2 /* generational collection */ + + +typedef struct stringtable { + GCObject **hash; + lu_int32 nuse; /* number of elements */ + int size; +} stringtable; + + +/* +** information about a call +*/ +typedef struct CallInfo { + StkId func; /* function index in the stack */ + StkId top; /* top for this function */ + struct CallInfo *previous, *next; /* dynamic call link */ + short nresults; /* expected number of results from this function */ + lu_byte callstatus; + ptrdiff_t extra; + union { + struct { /* only for Lua functions */ + StkId base; /* base for this function */ + const Instruction *savedpc; + } l; + struct { /* only for C functions */ + int ctx; /* context info. in case of yields */ + lua_CFunction k; /* continuation in case of yields */ + ptrdiff_t old_errfunc; + lu_byte old_allowhook; + lu_byte status; + } c; + } u; +} CallInfo; + + +/* +** Bits in CallInfo status +*/ +#define CIST_LUA (1<<0) /* call is running a Lua function */ +#define CIST_HOOKED (1<<1) /* call is running a debug hook */ +#define CIST_REENTRY (1<<2) /* call is running on same invocation of + luaV_execute of previous call */ +#define CIST_YIELDED (1<<3) /* call reentered after suspension */ +#define CIST_YPCALL (1<<4) /* call is a yieldable protected call */ +#define CIST_STAT (1<<5) /* call has an error status (pcall) */ +#define CIST_TAIL (1<<6) /* call was tail called */ +#define CIST_HOOKYIELD (1<<7) /* last hook called yielded */ + + +#define isLua(ci) ((ci)->callstatus & CIST_LUA) + + +/* +** `global state', shared by all threads of this state +*/ +typedef struct global_State { + lua_Alloc frealloc; /* function to reallocate memory */ + void *ud; /* auxiliary data to `frealloc' */ + lu_mem totalbytes; /* number of bytes currently allocated - GCdebt */ + l_mem GCdebt; /* bytes allocated not yet compensated by the collector */ + lu_mem GCmemtrav; /* memory traversed by the GC */ + lu_mem GCestimate; /* an estimate of the non-garbage memory in use */ + stringtable strt; /* hash table for strings */ + TValue l_registry; + unsigned int seed; /* randomized seed for hashes */ + lu_byte currentwhite; + lu_byte gcstate; /* state of garbage collector */ + lu_byte gckind; /* kind of GC running */ + lu_byte gcrunning; /* true if GC is running */ + int sweepstrgc; /* position of sweep in `strt' */ + GCObject *allgc; /* list of all collectable objects */ + GCObject *finobj; /* list of collectable objects with finalizers */ + GCObject **sweepgc; /* current position of sweep in list 'allgc' */ + GCObject **sweepfin; /* current position of sweep in list 'finobj' */ + GCObject *gray; /* list of gray objects */ + GCObject *grayagain; /* list of objects to be traversed atomically */ + GCObject *weak; /* list of tables with weak values */ + GCObject *ephemeron; /* list of ephemeron tables (weak keys) */ + GCObject *allweak; /* list of all-weak tables */ + GCObject *tobefnz; /* list of userdata to be GC */ + UpVal uvhead; /* head of double-linked list of all open upvalues */ + Mbuffer buff; /* temporary buffer for string concatenation */ + int gcpause; /* size of pause between successive GCs */ + int gcmajorinc; /* pause between major collections (only in gen. mode) */ + int gcstepmul; /* GC `granularity' */ + lua_CFunction panic; /* to be called in unprotected errors */ + struct lua_State *mainthread; + const lua_Number *version; /* pointer to version number */ + TString *memerrmsg; /* memory-error message */ + TString *tmname[TM_N]; /* array with tag-method names */ + struct Table *mt[LUA_NUMTAGS]; /* metatables for basic types */ +} global_State; + + +/* +** `per thread' state +*/ +struct lua_State { + CommonHeader; + lu_byte status; + StkId top; /* first free slot in the stack */ + global_State *l_G; + CallInfo *ci; /* call info for current function */ + const Instruction *oldpc; /* last pc traced */ + StkId stack_last; /* last free slot in the stack */ + StkId stack; /* stack base */ + int stacksize; + unsigned short nny; /* number of non-yieldable calls in stack */ + unsigned short nCcalls; /* number of nested C calls */ + lu_byte hookmask; + lu_byte allowhook; + int basehookcount; + int hookcount; + lua_Hook hook; + GCObject *openupval; /* list of open upvalues in this stack */ + GCObject *gclist; + struct lua_longjmp *errorJmp; /* current error recover point */ + ptrdiff_t errfunc; /* current error handling function (stack index) */ + CallInfo base_ci; /* CallInfo for first level (C calling Lua) */ +}; + + +#define G(L) (L->l_G) + + +/* +** Union of all collectable objects +*/ +union GCObject { + GCheader gch; /* common header */ + union TString ts; + union Udata u; + union Closure cl; + struct Table h; + struct Proto p; + struct UpVal uv; + struct lua_State th; /* thread */ +}; + + +#define gch(o) (&(o)->gch) + +/* macros to convert a GCObject into a specific value */ +#define rawgco2ts(o) \ + check_exp(novariant((o)->gch.tt) == LUA_TSTRING, &((o)->ts)) +#define gco2ts(o) (&rawgco2ts(o)->tsv) +#define rawgco2u(o) check_exp((o)->gch.tt == LUA_TUSERDATA, &((o)->u)) +#define gco2u(o) (&rawgco2u(o)->uv) +#define gco2lcl(o) check_exp((o)->gch.tt == LUA_TLCL, &((o)->cl.l)) +#define gco2ccl(o) check_exp((o)->gch.tt == LUA_TCCL, &((o)->cl.c)) +#define gco2cl(o) \ + check_exp(novariant((o)->gch.tt) == LUA_TFUNCTION, &((o)->cl)) +#define gco2t(o) check_exp((o)->gch.tt == LUA_TTABLE, &((o)->h)) +#define gco2p(o) check_exp((o)->gch.tt == LUA_TPROTO, &((o)->p)) +#define gco2uv(o) check_exp((o)->gch.tt == LUA_TUPVAL, &((o)->uv)) +#define gco2th(o) check_exp((o)->gch.tt == LUA_TTHREAD, &((o)->th)) + +/* macro to convert any Lua object into a GCObject */ +#define obj2gco(v) (cast(GCObject *, (v))) + + +/* actual number of total bytes allocated */ +#define gettotalbytes(g) ((g)->totalbytes + (g)->GCdebt) + +LUAI_FUNC void luaE_setdebt (global_State *g, l_mem debt); +LUAI_FUNC void luaE_freethread (lua_State *L, lua_State *L1); +LUAI_FUNC CallInfo *luaE_extendCI (lua_State *L); +LUAI_FUNC void luaE_freeCI (lua_State *L); + + +#endif + diff --git a/server/scripting/Lua/src/lstring.c b/server/scripting/Lua/src/lstring.c new file mode 100644 index 0000000..af96c89 --- /dev/null +++ b/server/scripting/Lua/src/lstring.c @@ -0,0 +1,185 @@ +/* +** $Id: lstring.c,v 2.26.1.1 2013/04/12 18:48:47 roberto Exp $ +** String table (keeps all strings handled by Lua) +** See Copyright Notice in lua.h +*/ + + +#include + +#define lstring_c +#define LUA_CORE + +#include "lua.h" + +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" + + +/* +** Lua will use at most ~(2^LUAI_HASHLIMIT) bytes from a string to +** compute its hash +*/ +#if !defined(LUAI_HASHLIMIT) +#define LUAI_HASHLIMIT 5 +#endif + + +/* +** equality for long strings +*/ +int luaS_eqlngstr (TString *a, TString *b) { + size_t len = a->tsv.len; + lua_assert(a->tsv.tt == LUA_TLNGSTR && b->tsv.tt == LUA_TLNGSTR); + return (a == b) || /* same instance or... */ + ((len == b->tsv.len) && /* equal length and ... */ + (memcmp(getstr(a), getstr(b), len) == 0)); /* equal contents */ +} + + +/* +** equality for strings +*/ +int luaS_eqstr (TString *a, TString *b) { + return (a->tsv.tt == b->tsv.tt) && + (a->tsv.tt == LUA_TSHRSTR ? eqshrstr(a, b) : luaS_eqlngstr(a, b)); +} + + +unsigned int luaS_hash (const char *str, size_t l, unsigned int seed) { + unsigned int h = seed ^ cast(unsigned int, l); + size_t l1; + size_t step = (l >> LUAI_HASHLIMIT) + 1; + for (l1 = l; l1 >= step; l1 -= step) + h = h ^ ((h<<5) + (h>>2) + cast_byte(str[l1 - 1])); + return h; +} + + +/* +** resizes the string table +*/ +void luaS_resize (lua_State *L, int newsize) { + int i; + stringtable *tb = &G(L)->strt; + /* cannot resize while GC is traversing strings */ + luaC_runtilstate(L, ~bitmask(GCSsweepstring)); + if (newsize > tb->size) { + luaM_reallocvector(L, tb->hash, tb->size, newsize, GCObject *); + for (i = tb->size; i < newsize; i++) tb->hash[i] = NULL; + } + /* rehash */ + for (i=0; isize; i++) { + GCObject *p = tb->hash[i]; + tb->hash[i] = NULL; + while (p) { /* for each node in the list */ + GCObject *next = gch(p)->next; /* save next */ + unsigned int h = lmod(gco2ts(p)->hash, newsize); /* new position */ + gch(p)->next = tb->hash[h]; /* chain it */ + tb->hash[h] = p; + resetoldbit(p); /* see MOVE OLD rule */ + p = next; + } + } + if (newsize < tb->size) { + /* shrinking slice must be empty */ + lua_assert(tb->hash[newsize] == NULL && tb->hash[tb->size - 1] == NULL); + luaM_reallocvector(L, tb->hash, tb->size, newsize, GCObject *); + } + tb->size = newsize; +} + + +/* +** creates a new string object +*/ +static TString *createstrobj (lua_State *L, const char *str, size_t l, + int tag, unsigned int h, GCObject **list) { + TString *ts; + size_t totalsize; /* total size of TString object */ + totalsize = sizeof(TString) + ((l + 1) * sizeof(char)); + ts = &luaC_newobj(L, tag, totalsize, list, 0)->ts; + ts->tsv.len = l; + ts->tsv.hash = h; + ts->tsv.extra = 0; + memcpy(ts+1, str, l*sizeof(char)); + ((char *)(ts+1))[l] = '\0'; /* ending 0 */ + return ts; +} + + +/* +** creates a new short string, inserting it into string table +*/ +static TString *newshrstr (lua_State *L, const char *str, size_t l, + unsigned int h) { + GCObject **list; /* (pointer to) list where it will be inserted */ + stringtable *tb = &G(L)->strt; + TString *s; + if (tb->nuse >= cast(lu_int32, tb->size) && tb->size <= MAX_INT/2) + luaS_resize(L, tb->size*2); /* too crowded */ + list = &tb->hash[lmod(h, tb->size)]; + s = createstrobj(L, str, l, LUA_TSHRSTR, h, list); + tb->nuse++; + return s; +} + + +/* +** checks whether short string exists and reuses it or creates a new one +*/ +static TString *internshrstr (lua_State *L, const char *str, size_t l) { + GCObject *o; + global_State *g = G(L); + unsigned int h = luaS_hash(str, l, g->seed); + for (o = g->strt.hash[lmod(h, g->strt.size)]; + o != NULL; + o = gch(o)->next) { + TString *ts = rawgco2ts(o); + if (h == ts->tsv.hash && + l == ts->tsv.len && + (memcmp(str, getstr(ts), l * sizeof(char)) == 0)) { + if (isdead(G(L), o)) /* string is dead (but was not collected yet)? */ + changewhite(o); /* resurrect it */ + return ts; + } + } + return newshrstr(L, str, l, h); /* not found; create a new string */ +} + + +/* +** new string (with explicit length) +*/ +TString *luaS_newlstr (lua_State *L, const char *str, size_t l) { + if (l <= LUAI_MAXSHORTLEN) /* short string? */ + return internshrstr(L, str, l); + else { + if (l + 1 > (MAX_SIZET - sizeof(TString))/sizeof(char)) + luaM_toobig(L); + return createstrobj(L, str, l, LUA_TLNGSTR, G(L)->seed, NULL); + } +} + + +/* +** new zero-terminated string +*/ +TString *luaS_new (lua_State *L, const char *str) { + return luaS_newlstr(L, str, strlen(str)); +} + + +Udata *luaS_newudata (lua_State *L, size_t s, Table *e) { + Udata *u; + if (s > MAX_SIZET - sizeof(Udata)) + luaM_toobig(L); + u = &luaC_newobj(L, LUA_TUSERDATA, sizeof(Udata) + s, NULL, 0)->u; + u->uv.len = s; + u->uv.metatable = NULL; + u->uv.env = e; + return u; +} + diff --git a/server/scripting/Lua/src/lstring.h b/server/scripting/Lua/src/lstring.h new file mode 100644 index 0000000..260e7f1 --- /dev/null +++ b/server/scripting/Lua/src/lstring.h @@ -0,0 +1,46 @@ +/* +** $Id: lstring.h,v 1.49.1.1 2013/04/12 18:48:47 roberto Exp $ +** String table (keep all strings handled by Lua) +** See Copyright Notice in lua.h +*/ + +#ifndef lstring_h +#define lstring_h + +#include "lgc.h" +#include "lobject.h" +#include "lstate.h" + + +#define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char)) + +#define sizeudata(u) (sizeof(union Udata)+(u)->len) + +#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ + (sizeof(s)/sizeof(char))-1)) + +#define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT) + + +/* +** test whether a string is a reserved word +*/ +#define isreserved(s) ((s)->tsv.tt == LUA_TSHRSTR && (s)->tsv.extra > 0) + + +/* +** equality for short strings, which are always internalized +*/ +#define eqshrstr(a,b) check_exp((a)->tsv.tt == LUA_TSHRSTR, (a) == (b)) + + +LUAI_FUNC unsigned int luaS_hash (const char *str, size_t l, unsigned int seed); +LUAI_FUNC int luaS_eqlngstr (TString *a, TString *b); +LUAI_FUNC int luaS_eqstr (TString *a, TString *b); +LUAI_FUNC void luaS_resize (lua_State *L, int newsize); +LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e); +LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l); +LUAI_FUNC TString *luaS_new (lua_State *L, const char *str); + + +#endif diff --git a/server/scripting/Lua/src/lstrlib.c b/server/scripting/Lua/src/lstrlib.c new file mode 100644 index 0000000..9261fd2 --- /dev/null +++ b/server/scripting/Lua/src/lstrlib.c @@ -0,0 +1,1019 @@ +/* +** $Id: lstrlib.c,v 1.178.1.1 2013/04/12 18:48:47 roberto Exp $ +** Standard library for string operations and pattern-matching +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include +#include +#include + +#define lstrlib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +/* +** maximum number of captures that a pattern can do during +** pattern-matching. This limit is arbitrary. +*/ +#if !defined(LUA_MAXCAPTURES) +#define LUA_MAXCAPTURES 32 +#endif + + +/* macro to `unsign' a character */ +#define uchar(c) ((unsigned char)(c)) + + + +static int str_len (lua_State *L) { + size_t l; + luaL_checklstring(L, 1, &l); + lua_pushinteger(L, (lua_Integer)l); + return 1; +} + + +/* translate a relative string position: negative means back from end */ +static size_t posrelat (ptrdiff_t pos, size_t len) { + if (pos >= 0) return (size_t)pos; + else if (0u - (size_t)pos > len) return 0; + else return len - ((size_t)-pos) + 1; +} + + +static int str_sub (lua_State *L) { + size_t l; + const char *s = luaL_checklstring(L, 1, &l); + size_t start = posrelat(luaL_checkinteger(L, 2), l); + size_t end = posrelat(luaL_optinteger(L, 3, -1), l); + if (start < 1) start = 1; + if (end > l) end = l; + if (start <= end) + lua_pushlstring(L, s + start - 1, end - start + 1); + else lua_pushliteral(L, ""); + return 1; +} + + +static int str_reverse (lua_State *L) { + size_t l, i; + luaL_Buffer b; + const char *s = luaL_checklstring(L, 1, &l); + char *p = luaL_buffinitsize(L, &b, l); + for (i = 0; i < l; i++) + p[i] = s[l - i - 1]; + luaL_pushresultsize(&b, l); + return 1; +} + + +static int str_lower (lua_State *L) { + size_t l; + size_t i; + luaL_Buffer b; + const char *s = luaL_checklstring(L, 1, &l); + char *p = luaL_buffinitsize(L, &b, l); + for (i=0; i> 1) + +static int str_rep (lua_State *L) { + size_t l, lsep; + const char *s = luaL_checklstring(L, 1, &l); + int n = luaL_checkint(L, 2); + const char *sep = luaL_optlstring(L, 3, "", &lsep); + if (n <= 0) lua_pushliteral(L, ""); + else if (l + lsep < l || l + lsep >= MAXSIZE / n) /* may overflow? */ + return luaL_error(L, "resulting string too large"); + else { + size_t totallen = n * l + (n - 1) * lsep; + luaL_Buffer b; + char *p = luaL_buffinitsize(L, &b, totallen); + while (n-- > 1) { /* first n-1 copies (followed by separator) */ + memcpy(p, s, l * sizeof(char)); p += l; + if (lsep > 0) { /* avoid empty 'memcpy' (may be expensive) */ + memcpy(p, sep, lsep * sizeof(char)); p += lsep; + } + } + memcpy(p, s, l * sizeof(char)); /* last copy (not followed by separator) */ + luaL_pushresultsize(&b, totallen); + } + return 1; +} + + +static int str_byte (lua_State *L) { + size_t l; + const char *s = luaL_checklstring(L, 1, &l); + size_t posi = posrelat(luaL_optinteger(L, 2, 1), l); + size_t pose = posrelat(luaL_optinteger(L, 3, posi), l); + int n, i; + if (posi < 1) posi = 1; + if (pose > l) pose = l; + if (posi > pose) return 0; /* empty interval; return no values */ + n = (int)(pose - posi + 1); + if (posi + n <= pose) /* (size_t -> int) overflow? */ + return luaL_error(L, "string slice too long"); + luaL_checkstack(L, n, "string slice too long"); + for (i=0; i= ms->level || ms->capture[l].len == CAP_UNFINISHED) + return luaL_error(ms->L, "invalid capture index %%%d", l + 1); + return l; +} + + +static int capture_to_close (MatchState *ms) { + int level = ms->level; + for (level--; level>=0; level--) + if (ms->capture[level].len == CAP_UNFINISHED) return level; + return luaL_error(ms->L, "invalid pattern capture"); +} + + +static const char *classend (MatchState *ms, const char *p) { + switch (*p++) { + case L_ESC: { + if (p == ms->p_end) + luaL_error(ms->L, "malformed pattern (ends with " LUA_QL("%%") ")"); + return p+1; + } + case '[': { + if (*p == '^') p++; + do { /* look for a `]' */ + if (p == ms->p_end) + luaL_error(ms->L, "malformed pattern (missing " LUA_QL("]") ")"); + if (*(p++) == L_ESC && p < ms->p_end) + p++; /* skip escapes (e.g. `%]') */ + } while (*p != ']'); + return p+1; + } + default: { + return p; + } + } +} + + +static int match_class (int c, int cl) { + int res; + switch (tolower(cl)) { + case 'a' : res = isalpha(c); break; + case 'c' : res = iscntrl(c); break; + case 'd' : res = isdigit(c); break; + case 'g' : res = isgraph(c); break; + case 'l' : res = islower(c); break; + case 'p' : res = ispunct(c); break; + case 's' : res = isspace(c); break; + case 'u' : res = isupper(c); break; + case 'w' : res = isalnum(c); break; + case 'x' : res = isxdigit(c); break; + case 'z' : res = (c == 0); break; /* deprecated option */ + default: return (cl == c); + } + return (islower(cl) ? res : !res); +} + + +static int matchbracketclass (int c, const char *p, const char *ec) { + int sig = 1; + if (*(p+1) == '^') { + sig = 0; + p++; /* skip the `^' */ + } + while (++p < ec) { + if (*p == L_ESC) { + p++; + if (match_class(c, uchar(*p))) + return sig; + } + else if ((*(p+1) == '-') && (p+2 < ec)) { + p+=2; + if (uchar(*(p-2)) <= c && c <= uchar(*p)) + return sig; + } + else if (uchar(*p) == c) return sig; + } + return !sig; +} + + +static int singlematch (MatchState *ms, const char *s, const char *p, + const char *ep) { + if (s >= ms->src_end) + return 0; + else { + int c = uchar(*s); + switch (*p) { + case '.': return 1; /* matches any char */ + case L_ESC: return match_class(c, uchar(*(p+1))); + case '[': return matchbracketclass(c, p, ep-1); + default: return (uchar(*p) == c); + } + } +} + + +static const char *matchbalance (MatchState *ms, const char *s, + const char *p) { + if (p >= ms->p_end - 1) + luaL_error(ms->L, "malformed pattern " + "(missing arguments to " LUA_QL("%%b") ")"); + if (*s != *p) return NULL; + else { + int b = *p; + int e = *(p+1); + int cont = 1; + while (++s < ms->src_end) { + if (*s == e) { + if (--cont == 0) return s+1; + } + else if (*s == b) cont++; + } + } + return NULL; /* string ends out of balance */ +} + + +static const char *max_expand (MatchState *ms, const char *s, + const char *p, const char *ep) { + ptrdiff_t i = 0; /* counts maximum expand for item */ + while (singlematch(ms, s + i, p, ep)) + i++; + /* keeps trying to match with the maximum repetitions */ + while (i>=0) { + const char *res = match(ms, (s+i), ep+1); + if (res) return res; + i--; /* else didn't match; reduce 1 repetition to try again */ + } + return NULL; +} + + +static const char *min_expand (MatchState *ms, const char *s, + const char *p, const char *ep) { + for (;;) { + const char *res = match(ms, s, ep+1); + if (res != NULL) + return res; + else if (singlematch(ms, s, p, ep)) + s++; /* try with one more repetition */ + else return NULL; + } +} + + +static const char *start_capture (MatchState *ms, const char *s, + const char *p, int what) { + const char *res; + int level = ms->level; + if (level >= LUA_MAXCAPTURES) luaL_error(ms->L, "too many captures"); + ms->capture[level].init = s; + ms->capture[level].len = what; + ms->level = level+1; + if ((res=match(ms, s, p)) == NULL) /* match failed? */ + ms->level--; /* undo capture */ + return res; +} + + +static const char *end_capture (MatchState *ms, const char *s, + const char *p) { + int l = capture_to_close(ms); + const char *res; + ms->capture[l].len = s - ms->capture[l].init; /* close capture */ + if ((res = match(ms, s, p)) == NULL) /* match failed? */ + ms->capture[l].len = CAP_UNFINISHED; /* undo capture */ + return res; +} + + +static const char *match_capture (MatchState *ms, const char *s, int l) { + size_t len; + l = check_capture(ms, l); + len = ms->capture[l].len; + if ((size_t)(ms->src_end-s) >= len && + memcmp(ms->capture[l].init, s, len) == 0) + return s+len; + else return NULL; +} + + +static const char *match (MatchState *ms, const char *s, const char *p) { + if (ms->matchdepth-- == 0) + luaL_error(ms->L, "pattern too complex"); + init: /* using goto's to optimize tail recursion */ + if (p != ms->p_end) { /* end of pattern? */ + switch (*p) { + case '(': { /* start capture */ + if (*(p + 1) == ')') /* position capture? */ + s = start_capture(ms, s, p + 2, CAP_POSITION); + else + s = start_capture(ms, s, p + 1, CAP_UNFINISHED); + break; + } + case ')': { /* end capture */ + s = end_capture(ms, s, p + 1); + break; + } + case '$': { + if ((p + 1) != ms->p_end) /* is the `$' the last char in pattern? */ + goto dflt; /* no; go to default */ + s = (s == ms->src_end) ? s : NULL; /* check end of string */ + break; + } + case L_ESC: { /* escaped sequences not in the format class[*+?-]? */ + switch (*(p + 1)) { + case 'b': { /* balanced string? */ + s = matchbalance(ms, s, p + 2); + if (s != NULL) { + p += 4; goto init; /* return match(ms, s, p + 4); */ + } /* else fail (s == NULL) */ + break; + } + case 'f': { /* frontier? */ + const char *ep; char previous; + p += 2; + if (*p != '[') + luaL_error(ms->L, "missing " LUA_QL("[") " after " + LUA_QL("%%f") " in pattern"); + ep = classend(ms, p); /* points to what is next */ + previous = (s == ms->src_init) ? '\0' : *(s - 1); + if (!matchbracketclass(uchar(previous), p, ep - 1) && + matchbracketclass(uchar(*s), p, ep - 1)) { + p = ep; goto init; /* return match(ms, s, ep); */ + } + s = NULL; /* match failed */ + break; + } + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + case '8': case '9': { /* capture results (%0-%9)? */ + s = match_capture(ms, s, uchar(*(p + 1))); + if (s != NULL) { + p += 2; goto init; /* return match(ms, s, p + 2) */ + } + break; + } + default: goto dflt; + } + break; + } + default: dflt: { /* pattern class plus optional suffix */ + const char *ep = classend(ms, p); /* points to optional suffix */ + /* does not match at least once? */ + if (!singlematch(ms, s, p, ep)) { + if (*ep == '*' || *ep == '?' || *ep == '-') { /* accept empty? */ + p = ep + 1; goto init; /* return match(ms, s, ep + 1); */ + } + else /* '+' or no suffix */ + s = NULL; /* fail */ + } + else { /* matched once */ + switch (*ep) { /* handle optional suffix */ + case '?': { /* optional */ + const char *res; + if ((res = match(ms, s + 1, ep + 1)) != NULL) + s = res; + else { + p = ep + 1; goto init; /* else return match(ms, s, ep + 1); */ + } + break; + } + case '+': /* 1 or more repetitions */ + s++; /* 1 match already done */ + /* go through */ + case '*': /* 0 or more repetitions */ + s = max_expand(ms, s, p, ep); + break; + case '-': /* 0 or more repetitions (minimum) */ + s = min_expand(ms, s, p, ep); + break; + default: /* no suffix */ + s++; p = ep; goto init; /* return match(ms, s + 1, ep); */ + } + } + break; + } + } + } + ms->matchdepth++; + return s; +} + + + +static const char *lmemfind (const char *s1, size_t l1, + const char *s2, size_t l2) { + if (l2 == 0) return s1; /* empty strings are everywhere */ + else if (l2 > l1) return NULL; /* avoids a negative `l1' */ + else { + const char *init; /* to search for a `*s2' inside `s1' */ + l2--; /* 1st char will be checked by `memchr' */ + l1 = l1-l2; /* `s2' cannot be found after that */ + while (l1 > 0 && (init = (const char *)memchr(s1, *s2, l1)) != NULL) { + init++; /* 1st char is already checked */ + if (memcmp(init, s2+1, l2) == 0) + return init-1; + else { /* correct `l1' and `s1' to try again */ + l1 -= init-s1; + s1 = init; + } + } + return NULL; /* not found */ + } +} + + +static void push_onecapture (MatchState *ms, int i, const char *s, + const char *e) { + if (i >= ms->level) { + if (i == 0) /* ms->level == 0, too */ + lua_pushlstring(ms->L, s, e - s); /* add whole match */ + else + luaL_error(ms->L, "invalid capture index"); + } + else { + ptrdiff_t l = ms->capture[i].len; + if (l == CAP_UNFINISHED) luaL_error(ms->L, "unfinished capture"); + if (l == CAP_POSITION) + lua_pushinteger(ms->L, ms->capture[i].init - ms->src_init + 1); + else + lua_pushlstring(ms->L, ms->capture[i].init, l); + } +} + + +static int push_captures (MatchState *ms, const char *s, const char *e) { + int i; + int nlevels = (ms->level == 0 && s) ? 1 : ms->level; + luaL_checkstack(ms->L, nlevels, "too many captures"); + for (i = 0; i < nlevels; i++) + push_onecapture(ms, i, s, e); + return nlevels; /* number of strings pushed */ +} + + +/* check whether pattern has no special characters */ +static int nospecials (const char *p, size_t l) { + size_t upto = 0; + do { + if (strpbrk(p + upto, SPECIALS)) + return 0; /* pattern has a special character */ + upto += strlen(p + upto) + 1; /* may have more after \0 */ + } while (upto <= l); + return 1; /* no special chars found */ +} + + +static int str_find_aux (lua_State *L, int find) { + size_t ls, lp; + const char *s = luaL_checklstring(L, 1, &ls); + const char *p = luaL_checklstring(L, 2, &lp); + size_t init = posrelat(luaL_optinteger(L, 3, 1), ls); + if (init < 1) init = 1; + else if (init > ls + 1) { /* start after string's end? */ + lua_pushnil(L); /* cannot find anything */ + return 1; + } + /* explicit request or no special characters? */ + if (find && (lua_toboolean(L, 4) || nospecials(p, lp))) { + /* do a plain search */ + const char *s2 = lmemfind(s + init - 1, ls - init + 1, p, lp); + if (s2) { + lua_pushinteger(L, s2 - s + 1); + lua_pushinteger(L, s2 - s + lp); + return 2; + } + } + else { + MatchState ms; + const char *s1 = s + init - 1; + int anchor = (*p == '^'); + if (anchor) { + p++; lp--; /* skip anchor character */ + } + ms.L = L; + ms.matchdepth = MAXCCALLS; + ms.src_init = s; + ms.src_end = s + ls; + ms.p_end = p + lp; + do { + const char *res; + ms.level = 0; + lua_assert(ms.matchdepth == MAXCCALLS); + if ((res=match(&ms, s1, p)) != NULL) { + if (find) { + lua_pushinteger(L, s1 - s + 1); /* start */ + lua_pushinteger(L, res - s); /* end */ + return push_captures(&ms, NULL, 0) + 2; + } + else + return push_captures(&ms, s1, res); + } + } while (s1++ < ms.src_end && !anchor); + } + lua_pushnil(L); /* not found */ + return 1; +} + + +static int str_find (lua_State *L) { + return str_find_aux(L, 1); +} + + +static int str_match (lua_State *L) { + return str_find_aux(L, 0); +} + + +static int gmatch_aux (lua_State *L) { + MatchState ms; + size_t ls, lp; + const char *s = lua_tolstring(L, lua_upvalueindex(1), &ls); + const char *p = lua_tolstring(L, lua_upvalueindex(2), &lp); + const char *src; + ms.L = L; + ms.matchdepth = MAXCCALLS; + ms.src_init = s; + ms.src_end = s+ls; + ms.p_end = p + lp; + for (src = s + (size_t)lua_tointeger(L, lua_upvalueindex(3)); + src <= ms.src_end; + src++) { + const char *e; + ms.level = 0; + lua_assert(ms.matchdepth == MAXCCALLS); + if ((e = match(&ms, src, p)) != NULL) { + lua_Integer newstart = e-s; + if (e == src) newstart++; /* empty match? go at least one position */ + lua_pushinteger(L, newstart); + lua_replace(L, lua_upvalueindex(3)); + return push_captures(&ms, src, e); + } + } + return 0; /* not found */ +} + + +static int gmatch (lua_State *L) { + luaL_checkstring(L, 1); + luaL_checkstring(L, 2); + lua_settop(L, 2); + lua_pushinteger(L, 0); + lua_pushcclosure(L, gmatch_aux, 3); + return 1; +} + + +static void add_s (MatchState *ms, luaL_Buffer *b, const char *s, + const char *e) { + size_t l, i; + const char *news = lua_tolstring(ms->L, 3, &l); + for (i = 0; i < l; i++) { + if (news[i] != L_ESC) + luaL_addchar(b, news[i]); + else { + i++; /* skip ESC */ + if (!isdigit(uchar(news[i]))) { + if (news[i] != L_ESC) + luaL_error(ms->L, "invalid use of " LUA_QL("%c") + " in replacement string", L_ESC); + luaL_addchar(b, news[i]); + } + else if (news[i] == '0') + luaL_addlstring(b, s, e - s); + else { + push_onecapture(ms, news[i] - '1', s, e); + luaL_addvalue(b); /* add capture to accumulated result */ + } + } + } +} + + +static void add_value (MatchState *ms, luaL_Buffer *b, const char *s, + const char *e, int tr) { + lua_State *L = ms->L; + switch (tr) { + case LUA_TFUNCTION: { + int n; + lua_pushvalue(L, 3); + n = push_captures(ms, s, e); + lua_call(L, n, 1); + break; + } + case LUA_TTABLE: { + push_onecapture(ms, 0, s, e); + lua_gettable(L, 3); + break; + } + default: { /* LUA_TNUMBER or LUA_TSTRING */ + add_s(ms, b, s, e); + return; + } + } + if (!lua_toboolean(L, -1)) { /* nil or false? */ + lua_pop(L, 1); + lua_pushlstring(L, s, e - s); /* keep original text */ + } + else if (!lua_isstring(L, -1)) + luaL_error(L, "invalid replacement value (a %s)", luaL_typename(L, -1)); + luaL_addvalue(b); /* add result to accumulator */ +} + + +static int str_gsub (lua_State *L) { + size_t srcl, lp; + const char *src = luaL_checklstring(L, 1, &srcl); + const char *p = luaL_checklstring(L, 2, &lp); + int tr = lua_type(L, 3); + size_t max_s = luaL_optinteger(L, 4, srcl+1); + int anchor = (*p == '^'); + size_t n = 0; + MatchState ms; + luaL_Buffer b; + luaL_argcheck(L, tr == LUA_TNUMBER || tr == LUA_TSTRING || + tr == LUA_TFUNCTION || tr == LUA_TTABLE, 3, + "string/function/table expected"); + luaL_buffinit(L, &b); + if (anchor) { + p++; lp--; /* skip anchor character */ + } + ms.L = L; + ms.matchdepth = MAXCCALLS; + ms.src_init = src; + ms.src_end = src+srcl; + ms.p_end = p + lp; + while (n < max_s) { + const char *e; + ms.level = 0; + lua_assert(ms.matchdepth == MAXCCALLS); + e = match(&ms, src, p); + if (e) { + n++; + add_value(&ms, &b, src, e, tr); + } + if (e && e>src) /* non empty match? */ + src = e; /* skip it */ + else if (src < ms.src_end) + luaL_addchar(&b, *src++); + else break; + if (anchor) break; + } + luaL_addlstring(&b, src, ms.src_end-src); + luaL_pushresult(&b); + lua_pushinteger(L, n); /* number of substitutions */ + return 2; +} + +/* }====================================================== */ + + + +/* +** {====================================================== +** STRING FORMAT +** ======================================================= +*/ + +/* +** LUA_INTFRMLEN is the length modifier for integer conversions in +** 'string.format'; LUA_INTFRM_T is the integer type corresponding to +** the previous length +*/ +#if !defined(LUA_INTFRMLEN) /* { */ +#if defined(LUA_USE_LONGLONG) + +#define LUA_INTFRMLEN "ll" +#define LUA_INTFRM_T long long + +#else + +#define LUA_INTFRMLEN "l" +#define LUA_INTFRM_T long + +#endif +#endif /* } */ + + +/* +** LUA_FLTFRMLEN is the length modifier for float conversions in +** 'string.format'; LUA_FLTFRM_T is the float type corresponding to +** the previous length +*/ +#if !defined(LUA_FLTFRMLEN) + +#define LUA_FLTFRMLEN "" +#define LUA_FLTFRM_T double + +#endif + + +/* maximum size of each formatted item (> len(format('%99.99f', -1e308))) */ +#define MAX_ITEM 512 +/* valid flags in a format specification */ +#define FLAGS "-+ #0" +/* +** maximum size of each format specification (such as '%-099.99d') +** (+10 accounts for %99.99x plus margin of error) +*/ +#define MAX_FORMAT (sizeof(FLAGS) + sizeof(LUA_INTFRMLEN) + 10) + + +static void addquoted (lua_State *L, luaL_Buffer *b, int arg) { + size_t l; + const char *s = luaL_checklstring(L, arg, &l); + luaL_addchar(b, '"'); + while (l--) { + if (*s == '"' || *s == '\\' || *s == '\n') { + luaL_addchar(b, '\\'); + luaL_addchar(b, *s); + } + else if (*s == '\0' || iscntrl(uchar(*s))) { + char buff[10]; + if (!isdigit(uchar(*(s+1)))) + sprintf(buff, "\\%d", (int)uchar(*s)); + else + sprintf(buff, "\\%03d", (int)uchar(*s)); + luaL_addstring(b, buff); + } + else + luaL_addchar(b, *s); + s++; + } + luaL_addchar(b, '"'); +} + +static const char *scanformat (lua_State *L, const char *strfrmt, char *form) { + const char *p = strfrmt; + while (*p != '\0' && strchr(FLAGS, *p) != NULL) p++; /* skip flags */ + if ((size_t)(p - strfrmt) >= sizeof(FLAGS)/sizeof(char)) + luaL_error(L, "invalid format (repeated flags)"); + if (isdigit(uchar(*p))) p++; /* skip width */ + if (isdigit(uchar(*p))) p++; /* (2 digits at most) */ + if (*p == '.') { + p++; + if (isdigit(uchar(*p))) p++; /* skip precision */ + if (isdigit(uchar(*p))) p++; /* (2 digits at most) */ + } + if (isdigit(uchar(*p))) + luaL_error(L, "invalid format (width or precision too long)"); + *(form++) = '%'; + memcpy(form, strfrmt, (p - strfrmt + 1) * sizeof(char)); + form += p - strfrmt + 1; + *form = '\0'; + return p; +} + + +/* +** add length modifier into formats +*/ +static void addlenmod (char *form, const char *lenmod) { + size_t l = strlen(form); + size_t lm = strlen(lenmod); + char spec = form[l - 1]; + strcpy(form + l - 1, lenmod); + form[l + lm - 1] = spec; + form[l + lm] = '\0'; +} + + +static int str_format (lua_State *L) { + int top = lua_gettop(L); + int arg = 1; + size_t sfl; + const char *strfrmt = luaL_checklstring(L, arg, &sfl); + const char *strfrmt_end = strfrmt+sfl; + luaL_Buffer b; + luaL_buffinit(L, &b); + while (strfrmt < strfrmt_end) { + if (*strfrmt != L_ESC) + luaL_addchar(&b, *strfrmt++); + else if (*++strfrmt == L_ESC) + luaL_addchar(&b, *strfrmt++); /* %% */ + else { /* format item */ + char form[MAX_FORMAT]; /* to store the format (`%...') */ + char *buff = luaL_prepbuffsize(&b, MAX_ITEM); /* to put formatted item */ + int nb = 0; /* number of bytes in added item */ + if (++arg > top) + luaL_argerror(L, arg, "no value"); + strfrmt = scanformat(L, strfrmt, form); + switch (*strfrmt++) { + case 'c': { + nb = sprintf(buff, form, luaL_checkint(L, arg)); + break; + } + case 'd': case 'i': { + lua_Number n = luaL_checknumber(L, arg); + LUA_INTFRM_T ni = (LUA_INTFRM_T)n; + lua_Number diff = n - (lua_Number)ni; + luaL_argcheck(L, -1 < diff && diff < 1, arg, + "not a number in proper range"); + addlenmod(form, LUA_INTFRMLEN); + nb = sprintf(buff, form, ni); + break; + } + case 'o': case 'u': case 'x': case 'X': { + lua_Number n = luaL_checknumber(L, arg); + unsigned LUA_INTFRM_T ni = (unsigned LUA_INTFRM_T)n; + lua_Number diff = n - (lua_Number)ni; + luaL_argcheck(L, -1 < diff && diff < 1, arg, + "not a non-negative number in proper range"); + addlenmod(form, LUA_INTFRMLEN); + nb = sprintf(buff, form, ni); + break; + } + case 'e': case 'E': case 'f': +#if defined(LUA_USE_AFORMAT) + case 'a': case 'A': +#endif + case 'g': case 'G': { + addlenmod(form, LUA_FLTFRMLEN); + nb = sprintf(buff, form, (LUA_FLTFRM_T)luaL_checknumber(L, arg)); + break; + } + case 'q': { + addquoted(L, &b, arg); + break; + } + case 's': { + size_t l; + const char *s = luaL_tolstring(L, arg, &l); + if (!strchr(form, '.') && l >= 100) { + /* no precision and string is too long to be formatted; + keep original string */ + luaL_addvalue(&b); + break; + } + else { + nb = sprintf(buff, form, s); + lua_pop(L, 1); /* remove result from 'luaL_tolstring' */ + break; + } + } + default: { /* also treat cases `pnLlh' */ + return luaL_error(L, "invalid option " LUA_QL("%%%c") " to " + LUA_QL("format"), *(strfrmt - 1)); + } + } + luaL_addsize(&b, nb); + } + } + luaL_pushresult(&b); + return 1; +} + +/* }====================================================== */ + + +static const luaL_Reg strlib[] = { + {"byte", str_byte}, + {"char", str_char}, + {"dump", str_dump}, + {"find", str_find}, + {"format", str_format}, + {"gmatch", gmatch}, + {"gsub", str_gsub}, + {"len", str_len}, + {"lower", str_lower}, + {"match", str_match}, + {"rep", str_rep}, + {"reverse", str_reverse}, + {"sub", str_sub}, + {"upper", str_upper}, + {NULL, NULL} +}; + + +static void createmetatable (lua_State *L) { + lua_createtable(L, 0, 1); /* table to be metatable for strings */ + lua_pushliteral(L, ""); /* dummy string */ + lua_pushvalue(L, -2); /* copy table */ + lua_setmetatable(L, -2); /* set table as metatable for strings */ + lua_pop(L, 1); /* pop dummy string */ + lua_pushvalue(L, -2); /* get string library */ + lua_setfield(L, -2, "__index"); /* metatable.__index = string */ + lua_pop(L, 1); /* pop metatable */ +} + + +/* +** Open string library +*/ +LUAMOD_API int luaopen_string (lua_State *L) { + luaL_newlib(L, strlib); + createmetatable(L); + return 1; +} + diff --git a/server/scripting/Lua/src/ltable.c b/server/scripting/Lua/src/ltable.c new file mode 100644 index 0000000..5d76f97 --- /dev/null +++ b/server/scripting/Lua/src/ltable.c @@ -0,0 +1,588 @@ +/* +** $Id: ltable.c,v 2.72.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua tables (hash) +** See Copyright Notice in lua.h +*/ + + +/* +** Implementation of tables (aka arrays, objects, or hash tables). +** Tables keep its elements in two parts: an array part and a hash part. +** Non-negative integer keys are all candidates to be kept in the array +** part. The actual size of the array is the largest `n' such that at +** least half the slots between 0 and n are in use. +** Hash uses a mix of chained scatter table with Brent's variation. +** A main invariant of these tables is that, if an element is not +** in its main position (i.e. the `original' position that its hash gives +** to it), then the colliding element is in its own main position. +** Hence even when the load factor reaches 100%, performance remains good. +*/ + +#include + +#define ltable_c +#define LUA_CORE + +#include "lua.h" + +#include "ldebug.h" +#include "ldo.h" +#include "lgc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "lvm.h" + + +/* +** max size of array part is 2^MAXBITS +*/ +#if LUAI_BITSINT >= 32 +#define MAXBITS 30 +#else +#define MAXBITS (LUAI_BITSINT-2) +#endif + +#define MAXASIZE (1 << MAXBITS) + + +#define hashpow2(t,n) (gnode(t, lmod((n), sizenode(t)))) + +#define hashstr(t,str) hashpow2(t, (str)->tsv.hash) +#define hashboolean(t,p) hashpow2(t, p) + + +/* +** for some types, it is better to avoid modulus by power of 2, as +** they tend to have many 2 factors. +*/ +#define hashmod(t,n) (gnode(t, ((n) % ((sizenode(t)-1)|1)))) + + +#define hashpointer(t,p) hashmod(t, IntPoint(p)) + + +#define dummynode (&dummynode_) + +#define isdummy(n) ((n) == dummynode) + +static const Node dummynode_ = { + {NILCONSTANT}, /* value */ + {{NILCONSTANT, NULL}} /* key */ +}; + + +/* +** hash for lua_Numbers +*/ +static Node *hashnum (const Table *t, lua_Number n) { + int i; + luai_hashnum(i, n); + if (i < 0) { + if (cast(unsigned int, i) == 0u - i) /* use unsigned to avoid overflows */ + i = 0; /* handle INT_MIN */ + i = -i; /* must be a positive value */ + } + return hashmod(t, i); +} + + + +/* +** returns the `main' position of an element in a table (that is, the index +** of its hash value) +*/ +static Node *mainposition (const Table *t, const TValue *key) { + switch (ttype(key)) { + case LUA_TNUMBER: + return hashnum(t, nvalue(key)); + case LUA_TLNGSTR: { + TString *s = rawtsvalue(key); + if (s->tsv.extra == 0) { /* no hash? */ + s->tsv.hash = luaS_hash(getstr(s), s->tsv.len, s->tsv.hash); + s->tsv.extra = 1; /* now it has its hash */ + } + return hashstr(t, rawtsvalue(key)); + } + case LUA_TSHRSTR: + return hashstr(t, rawtsvalue(key)); + case LUA_TBOOLEAN: + return hashboolean(t, bvalue(key)); + case LUA_TLIGHTUSERDATA: + return hashpointer(t, pvalue(key)); + case LUA_TLCF: + return hashpointer(t, fvalue(key)); + default: + return hashpointer(t, gcvalue(key)); + } +} + + +/* +** returns the index for `key' if `key' is an appropriate key to live in +** the array part of the table, -1 otherwise. +*/ +static int arrayindex (const TValue *key) { + if (ttisnumber(key)) { + lua_Number n = nvalue(key); + int k; + lua_number2int(k, n); + if (luai_numeq(cast_num(k), n)) + return k; + } + return -1; /* `key' did not match some condition */ +} + + +/* +** returns the index of a `key' for table traversals. First goes all +** elements in the array part, then elements in the hash part. The +** beginning of a traversal is signaled by -1. +*/ +static int findindex (lua_State *L, Table *t, StkId key) { + int i; + if (ttisnil(key)) return -1; /* first iteration */ + i = arrayindex(key); + if (0 < i && i <= t->sizearray) /* is `key' inside array part? */ + return i-1; /* yes; that's the index (corrected to C) */ + else { + Node *n = mainposition(t, key); + for (;;) { /* check whether `key' is somewhere in the chain */ + /* key may be dead already, but it is ok to use it in `next' */ + if (luaV_rawequalobj(gkey(n), key) || + (ttisdeadkey(gkey(n)) && iscollectable(key) && + deadvalue(gkey(n)) == gcvalue(key))) { + i = cast_int(n - gnode(t, 0)); /* key index in hash table */ + /* hash elements are numbered after array ones */ + return i + t->sizearray; + } + else n = gnext(n); + if (n == NULL) + luaG_runerror(L, "invalid key to " LUA_QL("next")); /* key not found */ + } + } +} + + +int luaH_next (lua_State *L, Table *t, StkId key) { + int i = findindex(L, t, key); /* find original element */ + for (i++; i < t->sizearray; i++) { /* try first array part */ + if (!ttisnil(&t->array[i])) { /* a non-nil value? */ + setnvalue(key, cast_num(i+1)); + setobj2s(L, key+1, &t->array[i]); + return 1; + } + } + for (i -= t->sizearray; i < sizenode(t); i++) { /* then hash part */ + if (!ttisnil(gval(gnode(t, i)))) { /* a non-nil value? */ + setobj2s(L, key, gkey(gnode(t, i))); + setobj2s(L, key+1, gval(gnode(t, i))); + return 1; + } + } + return 0; /* no more elements */ +} + + +/* +** {============================================================= +** Rehash +** ============================================================== +*/ + + +static int computesizes (int nums[], int *narray) { + int i; + int twotoi; /* 2^i */ + int a = 0; /* number of elements smaller than 2^i */ + int na = 0; /* number of elements to go to array part */ + int n = 0; /* optimal size for array part */ + for (i = 0, twotoi = 1; twotoi/2 < *narray; i++, twotoi *= 2) { + if (nums[i] > 0) { + a += nums[i]; + if (a > twotoi/2) { /* more than half elements present? */ + n = twotoi; /* optimal size (till now) */ + na = a; /* all elements smaller than n will go to array part */ + } + } + if (a == *narray) break; /* all elements already counted */ + } + *narray = n; + lua_assert(*narray/2 <= na && na <= *narray); + return na; +} + + +static int countint (const TValue *key, int *nums) { + int k = arrayindex(key); + if (0 < k && k <= MAXASIZE) { /* is `key' an appropriate array index? */ + nums[luaO_ceillog2(k)]++; /* count as such */ + return 1; + } + else + return 0; +} + + +static int numusearray (const Table *t, int *nums) { + int lg; + int ttlg; /* 2^lg */ + int ause = 0; /* summation of `nums' */ + int i = 1; /* count to traverse all array keys */ + for (lg=0, ttlg=1; lg<=MAXBITS; lg++, ttlg*=2) { /* for each slice */ + int lc = 0; /* counter */ + int lim = ttlg; + if (lim > t->sizearray) { + lim = t->sizearray; /* adjust upper limit */ + if (i > lim) + break; /* no more elements to count */ + } + /* count elements in range (2^(lg-1), 2^lg] */ + for (; i <= lim; i++) { + if (!ttisnil(&t->array[i-1])) + lc++; + } + nums[lg] += lc; + ause += lc; + } + return ause; +} + + +static int numusehash (const Table *t, int *nums, int *pnasize) { + int totaluse = 0; /* total number of elements */ + int ause = 0; /* summation of `nums' */ + int i = sizenode(t); + while (i--) { + Node *n = &t->node[i]; + if (!ttisnil(gval(n))) { + ause += countint(gkey(n), nums); + totaluse++; + } + } + *pnasize += ause; + return totaluse; +} + + +static void setarrayvector (lua_State *L, Table *t, int size) { + int i; + luaM_reallocvector(L, t->array, t->sizearray, size, TValue); + for (i=t->sizearray; iarray[i]); + t->sizearray = size; +} + + +static void setnodevector (lua_State *L, Table *t, int size) { + int lsize; + if (size == 0) { /* no elements to hash part? */ + t->node = cast(Node *, dummynode); /* use common `dummynode' */ + lsize = 0; + } + else { + int i; + lsize = luaO_ceillog2(size); + if (lsize > MAXBITS) + luaG_runerror(L, "table overflow"); + size = twoto(lsize); + t->node = luaM_newvector(L, size, Node); + for (i=0; ilsizenode = cast_byte(lsize); + t->lastfree = gnode(t, size); /* all positions are free */ +} + + +void luaH_resize (lua_State *L, Table *t, int nasize, int nhsize) { + int i; + int oldasize = t->sizearray; + int oldhsize = t->lsizenode; + Node *nold = t->node; /* save old hash ... */ + if (nasize > oldasize) /* array part must grow? */ + setarrayvector(L, t, nasize); + /* create new hash part with appropriate size */ + setnodevector(L, t, nhsize); + if (nasize < oldasize) { /* array part must shrink? */ + t->sizearray = nasize; + /* re-insert elements from vanishing slice */ + for (i=nasize; iarray[i])) + luaH_setint(L, t, i + 1, &t->array[i]); + } + /* shrink array */ + luaM_reallocvector(L, t->array, oldasize, nasize, TValue); + } + /* re-insert elements from hash part */ + for (i = twoto(oldhsize) - 1; i >= 0; i--) { + Node *old = nold+i; + if (!ttisnil(gval(old))) { + /* doesn't need barrier/invalidate cache, as entry was + already present in the table */ + setobjt2t(L, luaH_set(L, t, gkey(old)), gval(old)); + } + } + if (!isdummy(nold)) + luaM_freearray(L, nold, cast(size_t, twoto(oldhsize))); /* free old array */ +} + + +void luaH_resizearray (lua_State *L, Table *t, int nasize) { + int nsize = isdummy(t->node) ? 0 : sizenode(t); + luaH_resize(L, t, nasize, nsize); +} + + +static void rehash (lua_State *L, Table *t, const TValue *ek) { + int nasize, na; + int nums[MAXBITS+1]; /* nums[i] = number of keys with 2^(i-1) < k <= 2^i */ + int i; + int totaluse; + for (i=0; i<=MAXBITS; i++) nums[i] = 0; /* reset counts */ + nasize = numusearray(t, nums); /* count keys in array part */ + totaluse = nasize; /* all those keys are integer keys */ + totaluse += numusehash(t, nums, &nasize); /* count keys in hash part */ + /* count extra key */ + nasize += countint(ek, nums); + totaluse++; + /* compute new size for array part */ + na = computesizes(nums, &nasize); + /* resize the table to new computed sizes */ + luaH_resize(L, t, nasize, totaluse - na); +} + + + +/* +** }============================================================= +*/ + + +Table *luaH_new (lua_State *L) { + Table *t = &luaC_newobj(L, LUA_TTABLE, sizeof(Table), NULL, 0)->h; + t->metatable = NULL; + t->flags = cast_byte(~0); + t->array = NULL; + t->sizearray = 0; + setnodevector(L, t, 0); + return t; +} + + +void luaH_free (lua_State *L, Table *t) { + if (!isdummy(t->node)) + luaM_freearray(L, t->node, cast(size_t, sizenode(t))); + luaM_freearray(L, t->array, t->sizearray); + luaM_free(L, t); +} + + +static Node *getfreepos (Table *t) { + while (t->lastfree > t->node) { + t->lastfree--; + if (ttisnil(gkey(t->lastfree))) + return t->lastfree; + } + return NULL; /* could not find a free place */ +} + + + +/* +** inserts a new key into a hash table; first, check whether key's main +** position is free. If not, check whether colliding node is in its main +** position or not: if it is not, move colliding node to an empty place and +** put new key in its main position; otherwise (colliding node is in its main +** position), new key goes to an empty position. +*/ +TValue *luaH_newkey (lua_State *L, Table *t, const TValue *key) { + Node *mp; + if (ttisnil(key)) luaG_runerror(L, "table index is nil"); + else if (ttisnumber(key) && luai_numisnan(L, nvalue(key))) + luaG_runerror(L, "table index is NaN"); + mp = mainposition(t, key); + if (!ttisnil(gval(mp)) || isdummy(mp)) { /* main position is taken? */ + Node *othern; + Node *n = getfreepos(t); /* get a free place */ + if (n == NULL) { /* cannot find a free place? */ + rehash(L, t, key); /* grow table */ + /* whatever called 'newkey' take care of TM cache and GC barrier */ + return luaH_set(L, t, key); /* insert key into grown table */ + } + lua_assert(!isdummy(n)); + othern = mainposition(t, gkey(mp)); + if (othern != mp) { /* is colliding node out of its main position? */ + /* yes; move colliding node into free position */ + while (gnext(othern) != mp) othern = gnext(othern); /* find previous */ + gnext(othern) = n; /* redo the chain with `n' in place of `mp' */ + *n = *mp; /* copy colliding node into free pos. (mp->next also goes) */ + gnext(mp) = NULL; /* now `mp' is free */ + setnilvalue(gval(mp)); + } + else { /* colliding node is in its own main position */ + /* new node will go into free position */ + gnext(n) = gnext(mp); /* chain new position */ + gnext(mp) = n; + mp = n; + } + } + setobj2t(L, gkey(mp), key); + luaC_barrierback(L, obj2gco(t), key); + lua_assert(ttisnil(gval(mp))); + return gval(mp); +} + + +/* +** search function for integers +*/ +const TValue *luaH_getint (Table *t, int key) { + /* (1 <= key && key <= t->sizearray) */ + if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray)) + return &t->array[key-1]; + else { + lua_Number nk = cast_num(key); + Node *n = hashnum(t, nk); + do { /* check whether `key' is somewhere in the chain */ + if (ttisnumber(gkey(n)) && luai_numeq(nvalue(gkey(n)), nk)) + return gval(n); /* that's it */ + else n = gnext(n); + } while (n); + return luaO_nilobject; + } +} + + +/* +** search function for short strings +*/ +const TValue *luaH_getstr (Table *t, TString *key) { + Node *n = hashstr(t, key); + lua_assert(key->tsv.tt == LUA_TSHRSTR); + do { /* check whether `key' is somewhere in the chain */ + if (ttisshrstring(gkey(n)) && eqshrstr(rawtsvalue(gkey(n)), key)) + return gval(n); /* that's it */ + else n = gnext(n); + } while (n); + return luaO_nilobject; +} + + +/* +** main search function +*/ +const TValue *luaH_get (Table *t, const TValue *key) { + switch (ttype(key)) { + case LUA_TSHRSTR: return luaH_getstr(t, rawtsvalue(key)); + case LUA_TNIL: return luaO_nilobject; + case LUA_TNUMBER: { + int k; + lua_Number n = nvalue(key); + lua_number2int(k, n); + if (luai_numeq(cast_num(k), n)) /* index is int? */ + return luaH_getint(t, k); /* use specialized version */ + /* else go through */ + } + default: { + Node *n = mainposition(t, key); + do { /* check whether `key' is somewhere in the chain */ + if (luaV_rawequalobj(gkey(n), key)) + return gval(n); /* that's it */ + else n = gnext(n); + } while (n); + return luaO_nilobject; + } + } +} + + +/* +** beware: when using this function you probably need to check a GC +** barrier and invalidate the TM cache. +*/ +TValue *luaH_set (lua_State *L, Table *t, const TValue *key) { + const TValue *p = luaH_get(t, key); + if (p != luaO_nilobject) + return cast(TValue *, p); + else return luaH_newkey(L, t, key); +} + + +void luaH_setint (lua_State *L, Table *t, int key, TValue *value) { + const TValue *p = luaH_getint(t, key); + TValue *cell; + if (p != luaO_nilobject) + cell = cast(TValue *, p); + else { + TValue k; + setnvalue(&k, cast_num(key)); + cell = luaH_newkey(L, t, &k); + } + setobj2t(L, cell, value); +} + + +static int unbound_search (Table *t, unsigned int j) { + unsigned int i = j; /* i is zero or a present index */ + j++; + /* find `i' and `j' such that i is present and j is not */ + while (!ttisnil(luaH_getint(t, j))) { + i = j; + j *= 2; + if (j > cast(unsigned int, MAX_INT)) { /* overflow? */ + /* table was built with bad purposes: resort to linear search */ + i = 1; + while (!ttisnil(luaH_getint(t, i))) i++; + return i - 1; + } + } + /* now do a binary search between them */ + while (j - i > 1) { + unsigned int m = (i+j)/2; + if (ttisnil(luaH_getint(t, m))) j = m; + else i = m; + } + return i; +} + + +/* +** Try to find a boundary in table `t'. A `boundary' is an integer index +** such that t[i] is non-nil and t[i+1] is nil (and 0 if t[1] is nil). +*/ +int luaH_getn (Table *t) { + unsigned int j = t->sizearray; + if (j > 0 && ttisnil(&t->array[j - 1])) { + /* there is a boundary in the array part: (binary) search for it */ + unsigned int i = 0; + while (j - i > 1) { + unsigned int m = (i+j)/2; + if (ttisnil(&t->array[m - 1])) j = m; + else i = m; + } + return i; + } + /* else must find a boundary in hash part */ + else if (isdummy(t->node)) /* hash part is empty? */ + return j; /* that is easy... */ + else return unbound_search(t, j); +} + + + +#if defined(LUA_DEBUG) + +Node *luaH_mainposition (const Table *t, const TValue *key) { + return mainposition(t, key); +} + +int luaH_isdummy (Node *n) { return isdummy(n); } + +#endif diff --git a/server/scripting/Lua/src/ltable.h b/server/scripting/Lua/src/ltable.h new file mode 100644 index 0000000..d69449b --- /dev/null +++ b/server/scripting/Lua/src/ltable.h @@ -0,0 +1,45 @@ +/* +** $Id: ltable.h,v 2.16.1.2 2013/08/30 15:49:41 roberto Exp $ +** Lua tables (hash) +** See Copyright Notice in lua.h +*/ + +#ifndef ltable_h +#define ltable_h + +#include "lobject.h" + + +#define gnode(t,i) (&(t)->node[i]) +#define gkey(n) (&(n)->i_key.tvk) +#define gval(n) (&(n)->i_val) +#define gnext(n) ((n)->i_key.nk.next) + +#define invalidateTMcache(t) ((t)->flags = 0) + +/* returns the key, given the value of a table entry */ +#define keyfromval(v) \ + (gkey(cast(Node *, cast(char *, (v)) - offsetof(Node, i_val)))) + + +LUAI_FUNC const TValue *luaH_getint (Table *t, int key); +LUAI_FUNC void luaH_setint (lua_State *L, Table *t, int key, TValue *value); +LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key); +LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key); +LUAI_FUNC TValue *luaH_newkey (lua_State *L, Table *t, const TValue *key); +LUAI_FUNC TValue *luaH_set (lua_State *L, Table *t, const TValue *key); +LUAI_FUNC Table *luaH_new (lua_State *L); +LUAI_FUNC void luaH_resize (lua_State *L, Table *t, int nasize, int nhsize); +LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, int nasize); +LUAI_FUNC void luaH_free (lua_State *L, Table *t); +LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key); +LUAI_FUNC int luaH_getn (Table *t); + + +#if defined(LUA_DEBUG) +LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key); +LUAI_FUNC int luaH_isdummy (Node *n); +#endif + + +#endif diff --git a/server/scripting/Lua/src/ltablib.c b/server/scripting/Lua/src/ltablib.c new file mode 100644 index 0000000..99764d2 --- /dev/null +++ b/server/scripting/Lua/src/ltablib.c @@ -0,0 +1,285 @@ +/* +** $Id: ltablib.c,v 1.65.1.2 2014/05/07 16:32:55 roberto Exp $ +** Library for Table Manipulation +** See Copyright Notice in lua.h +*/ + + +#include +#include + +#define ltablib_c +#define LUA_LIB + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +#define aux_getn(L,n) (luaL_checktype(L, n, LUA_TTABLE), luaL_len(L, n)) + + + +#if defined(LUA_COMPAT_MAXN) +static int maxn (lua_State *L) { + lua_Number max = 0; + luaL_checktype(L, 1, LUA_TTABLE); + lua_pushnil(L); /* first key */ + while (lua_next(L, 1)) { + lua_pop(L, 1); /* remove value */ + if (lua_type(L, -1) == LUA_TNUMBER) { + lua_Number v = lua_tonumber(L, -1); + if (v > max) max = v; + } + } + lua_pushnumber(L, max); + return 1; +} +#endif + + +static int tinsert (lua_State *L) { + int e = aux_getn(L, 1) + 1; /* first empty element */ + int pos; /* where to insert new element */ + switch (lua_gettop(L)) { + case 2: { /* called with only 2 arguments */ + pos = e; /* insert new element at the end */ + break; + } + case 3: { + int i; + pos = luaL_checkint(L, 2); /* 2nd argument is the position */ + luaL_argcheck(L, 1 <= pos && pos <= e, 2, "position out of bounds"); + for (i = e; i > pos; i--) { /* move up elements */ + lua_rawgeti(L, 1, i-1); + lua_rawseti(L, 1, i); /* t[i] = t[i-1] */ + } + break; + } + default: { + return luaL_error(L, "wrong number of arguments to " LUA_QL("insert")); + } + } + lua_rawseti(L, 1, pos); /* t[pos] = v */ + return 0; +} + + +static int tremove (lua_State *L) { + int size = aux_getn(L, 1); + int pos = luaL_optint(L, 2, size); + if (pos != size) /* validate 'pos' if given */ + luaL_argcheck(L, 1 <= pos && pos <= size + 1, 1, "position out of bounds"); + lua_rawgeti(L, 1, pos); /* result = t[pos] */ + for ( ; pos < size; pos++) { + lua_rawgeti(L, 1, pos+1); + lua_rawseti(L, 1, pos); /* t[pos] = t[pos+1] */ + } + lua_pushnil(L); + lua_rawseti(L, 1, pos); /* t[pos] = nil */ + return 1; +} + + +static void addfield (lua_State *L, luaL_Buffer *b, int i) { + lua_rawgeti(L, 1, i); + if (!lua_isstring(L, -1)) + luaL_error(L, "invalid value (%s) at index %d in table for " + LUA_QL("concat"), luaL_typename(L, -1), i); + luaL_addvalue(b); +} + + +static int tconcat (lua_State *L) { + luaL_Buffer b; + size_t lsep; + int i, last; + const char *sep = luaL_optlstring(L, 2, "", &lsep); + luaL_checktype(L, 1, LUA_TTABLE); + i = luaL_optint(L, 3, 1); + last = luaL_opt(L, luaL_checkint, 4, luaL_len(L, 1)); + luaL_buffinit(L, &b); + for (; i < last; i++) { + addfield(L, &b, i); + luaL_addlstring(&b, sep, lsep); + } + if (i == last) /* add last value (if interval was not empty) */ + addfield(L, &b, i); + luaL_pushresult(&b); + return 1; +} + + +/* +** {====================================================== +** Pack/unpack +** ======================================================= +*/ + +static int pack (lua_State *L) { + int n = lua_gettop(L); /* number of elements to pack */ + lua_createtable(L, n, 1); /* create result table */ + lua_pushinteger(L, n); + lua_setfield(L, -2, "n"); /* t.n = number of elements */ + if (n > 0) { /* at least one element? */ + int i; + lua_pushvalue(L, 1); + lua_rawseti(L, -2, 1); /* insert first element */ + lua_replace(L, 1); /* move table into index 1 */ + for (i = n; i >= 2; i--) /* assign other elements */ + lua_rawseti(L, 1, i); + } + return 1; /* return table */ +} + + +static int unpack (lua_State *L) { + int i, e; + unsigned int n; + luaL_checktype(L, 1, LUA_TTABLE); + i = luaL_optint(L, 2, 1); + e = luaL_opt(L, luaL_checkint, 3, luaL_len(L, 1)); + if (i > e) return 0; /* empty range */ + n = (unsigned int)e - (unsigned int)i; /* number of elements minus 1 */ + if (n > (INT_MAX - 10) || !lua_checkstack(L, ++n)) + return luaL_error(L, "too many results to unpack"); + lua_rawgeti(L, 1, i); /* push arg[i] (avoiding overflow problems) */ + while (i++ < e) /* push arg[i + 1...e] */ + lua_rawgeti(L, 1, i); + return n; +} + +/* }====================================================== */ + + + +/* +** {====================================================== +** Quicksort +** (based on `Algorithms in MODULA-3', Robert Sedgewick; +** Addison-Wesley, 1993.) +** ======================================================= +*/ + + +static void set2 (lua_State *L, int i, int j) { + lua_rawseti(L, 1, i); + lua_rawseti(L, 1, j); +} + +static int sort_comp (lua_State *L, int a, int b) { + if (!lua_isnil(L, 2)) { /* function? */ + int res; + lua_pushvalue(L, 2); + lua_pushvalue(L, a-1); /* -1 to compensate function */ + lua_pushvalue(L, b-2); /* -2 to compensate function and `a' */ + lua_call(L, 2, 1); + res = lua_toboolean(L, -1); + lua_pop(L, 1); + return res; + } + else /* a < b? */ + return lua_compare(L, a, b, LUA_OPLT); +} + +static void auxsort (lua_State *L, int l, int u) { + while (l < u) { /* for tail recursion */ + int i, j; + /* sort elements a[l], a[(l+u)/2] and a[u] */ + lua_rawgeti(L, 1, l); + lua_rawgeti(L, 1, u); + if (sort_comp(L, -1, -2)) /* a[u] < a[l]? */ + set2(L, l, u); /* swap a[l] - a[u] */ + else + lua_pop(L, 2); + if (u-l == 1) break; /* only 2 elements */ + i = (l+u)/2; + lua_rawgeti(L, 1, i); + lua_rawgeti(L, 1, l); + if (sort_comp(L, -2, -1)) /* a[i]= P */ + while (lua_rawgeti(L, 1, ++i), sort_comp(L, -1, -2)) { + if (i>=u) luaL_error(L, "invalid order function for sorting"); + lua_pop(L, 1); /* remove a[i] */ + } + /* repeat --j until a[j] <= P */ + while (lua_rawgeti(L, 1, --j), sort_comp(L, -3, -1)) { + if (j<=l) luaL_error(L, "invalid order function for sorting"); + lua_pop(L, 1); /* remove a[j] */ + } + if (j + +#define ltm_c +#define LUA_CORE + +#include "lua.h" + +#include "lobject.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" + + +static const char udatatypename[] = "userdata"; + +LUAI_DDEF const char *const luaT_typenames_[LUA_TOTALTAGS] = { + "no value", + "nil", "boolean", udatatypename, "number", + "string", "table", "function", udatatypename, "thread", + "proto", "upval" /* these last two cases are used for tests only */ +}; + + +void luaT_init (lua_State *L) { + static const char *const luaT_eventname[] = { /* ORDER TM */ + "__index", "__newindex", + "__gc", "__mode", "__len", "__eq", + "__add", "__sub", "__mul", "__div", "__mod", + "__pow", "__unm", "__lt", "__le", + "__concat", "__call" + }; + int i; + for (i=0; itmname[i] = luaS_new(L, luaT_eventname[i]); + luaS_fix(G(L)->tmname[i]); /* never collect these names */ + } +} + + +/* +** function to be used with macro "fasttm": optimized for absence of +** tag methods +*/ +const TValue *luaT_gettm (Table *events, TMS event, TString *ename) { + const TValue *tm = luaH_getstr(events, ename); + lua_assert(event <= TM_EQ); + if (ttisnil(tm)) { /* no tag method? */ + events->flags |= cast_byte(1u<metatable; + break; + case LUA_TUSERDATA: + mt = uvalue(o)->metatable; + break; + default: + mt = G(L)->mt[ttypenv(o)]; + } + return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject); +} + diff --git a/server/scripting/Lua/src/ltm.h b/server/scripting/Lua/src/ltm.h new file mode 100644 index 0000000..7f89c84 --- /dev/null +++ b/server/scripting/Lua/src/ltm.h @@ -0,0 +1,57 @@ +/* +** $Id: ltm.h,v 2.11.1.1 2013/04/12 18:48:47 roberto Exp $ +** Tag methods +** See Copyright Notice in lua.h +*/ + +#ifndef ltm_h +#define ltm_h + + +#include "lobject.h" + + +/* +* WARNING: if you change the order of this enumeration, +* grep "ORDER TM" +*/ +typedef enum { + TM_INDEX, + TM_NEWINDEX, + TM_GC, + TM_MODE, + TM_LEN, + TM_EQ, /* last tag method with `fast' access */ + TM_ADD, + TM_SUB, + TM_MUL, + TM_DIV, + TM_MOD, + TM_POW, + TM_UNM, + TM_LT, + TM_LE, + TM_CONCAT, + TM_CALL, + TM_N /* number of elements in the enum */ +} TMS; + + + +#define gfasttm(g,et,e) ((et) == NULL ? NULL : \ + ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) + +#define fasttm(l,et,e) gfasttm(G(l), et, e) + +#define ttypename(x) luaT_typenames_[(x) + 1] +#define objtypename(x) ttypename(ttypenv(x)) + +LUAI_DDEC const char *const luaT_typenames_[LUA_TOTALTAGS]; + + +LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); +LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, + TMS event); +LUAI_FUNC void luaT_init (lua_State *L); + +#endif diff --git a/server/scripting/Lua/src/lua.c b/server/scripting/Lua/src/lua.c new file mode 100644 index 0000000..4345e55 --- /dev/null +++ b/server/scripting/Lua/src/lua.c @@ -0,0 +1,497 @@ +/* +** $Id: lua.c,v 1.206.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua stand-alone interpreter +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include +#include + +#define lua_c + +#include "lua.h" + +#include "lauxlib.h" +#include "lualib.h" + + +#if !defined(LUA_PROMPT) +#define LUA_PROMPT "> " +#define LUA_PROMPT2 ">> " +#endif + +#if !defined(LUA_PROGNAME) +#define LUA_PROGNAME "lua" +#endif + +#if !defined(LUA_MAXINPUT) +#define LUA_MAXINPUT 512 +#endif + +#if !defined(LUA_INIT) +#define LUA_INIT "LUA_INIT" +#endif + +#define LUA_INITVERSION \ + LUA_INIT "_" LUA_VERSION_MAJOR "_" LUA_VERSION_MINOR + + +/* +** lua_stdin_is_tty detects whether the standard input is a 'tty' (that +** is, whether we're running lua interactively). +*/ +#if defined(LUA_USE_ISATTY) +#include +#define lua_stdin_is_tty() isatty(0) +#elif defined(LUA_WIN) +#include +#include +#define lua_stdin_is_tty() _isatty(_fileno(stdin)) +#else +#define lua_stdin_is_tty() 1 /* assume stdin is a tty */ +#endif + + +/* +** lua_readline defines how to show a prompt and then read a line from +** the standard input. +** lua_saveline defines how to "save" a read line in a "history". +** lua_freeline defines how to free a line read by lua_readline. +*/ +#if defined(LUA_USE_READLINE) + +#include +#include +#include +#define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL) +#define lua_saveline(L,idx) \ + if (lua_rawlen(L,idx) > 0) /* non-empty line? */ \ + add_history(lua_tostring(L, idx)); /* add it to history */ +#define lua_freeline(L,b) ((void)L, free(b)) + +#elif !defined(lua_readline) + +#define lua_readline(L,b,p) \ + ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ + fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ +#define lua_saveline(L,idx) { (void)L; (void)idx; } +#define lua_freeline(L,b) { (void)L; (void)b; } + +#endif + + + + +static lua_State *globalL = NULL; + +static const char *progname = LUA_PROGNAME; + + + +static void lstop (lua_State *L, lua_Debug *ar) { + (void)ar; /* unused arg. */ + lua_sethook(L, NULL, 0, 0); + luaL_error(L, "interrupted!"); +} + + +static void laction (int i) { + signal(i, SIG_DFL); /* if another SIGINT happens before lstop, + terminate process (default action) */ + lua_sethook(globalL, lstop, LUA_MASKCALL | LUA_MASKRET | LUA_MASKCOUNT, 1); +} + + +static void print_usage (const char *badoption) { + luai_writestringerror("%s: ", progname); + if (badoption[1] == 'e' || badoption[1] == 'l') + luai_writestringerror("'%s' needs argument\n", badoption); + else + luai_writestringerror("unrecognized option '%s'\n", badoption); + luai_writestringerror( + "usage: %s [options] [script [args]]\n" + "Available options are:\n" + " -e stat execute string " LUA_QL("stat") "\n" + " -i enter interactive mode after executing " LUA_QL("script") "\n" + " -l name require library " LUA_QL("name") "\n" + " -v show version information\n" + " -E ignore environment variables\n" + " -- stop handling options\n" + " - stop handling options and execute stdin\n" + , + progname); +} + + +static void l_message (const char *pname, const char *msg) { + if (pname) luai_writestringerror("%s: ", pname); + luai_writestringerror("%s\n", msg); +} + + +static int report (lua_State *L, int status) { + if (status != LUA_OK && !lua_isnil(L, -1)) { + const char *msg = lua_tostring(L, -1); + if (msg == NULL) msg = "(error object is not a string)"; + l_message(progname, msg); + lua_pop(L, 1); + /* force a complete garbage collection in case of errors */ + lua_gc(L, LUA_GCCOLLECT, 0); + } + return status; +} + + +/* the next function is called unprotected, so it must avoid errors */ +static void finalreport (lua_State *L, int status) { + if (status != LUA_OK) { + const char *msg = (lua_type(L, -1) == LUA_TSTRING) ? lua_tostring(L, -1) + : NULL; + if (msg == NULL) msg = "(error object is not a string)"; + l_message(progname, msg); + lua_pop(L, 1); + } +} + + +static int traceback (lua_State *L) { + const char *msg = lua_tostring(L, 1); + if (msg) + luaL_traceback(L, L, msg, 1); + else if (!lua_isnoneornil(L, 1)) { /* is there an error object? */ + if (!luaL_callmeta(L, 1, "__tostring")) /* try its 'tostring' metamethod */ + lua_pushliteral(L, "(no error message)"); + } + return 1; +} + + +static int docall (lua_State *L, int narg, int nres) { + int status; + int base = lua_gettop(L) - narg; /* function index */ + lua_pushcfunction(L, traceback); /* push traceback function */ + lua_insert(L, base); /* put it under chunk and args */ + globalL = L; /* to be available to 'laction' */ + signal(SIGINT, laction); + status = lua_pcall(L, narg, nres, base); + signal(SIGINT, SIG_DFL); + lua_remove(L, base); /* remove traceback function */ + return status; +} + + +static void print_version (void) { + luai_writestring(LUA_COPYRIGHT, strlen(LUA_COPYRIGHT)); + luai_writeline(); +} + + +static int getargs (lua_State *L, char **argv, int n) { + int narg; + int i; + int argc = 0; + while (argv[argc]) argc++; /* count total number of arguments */ + narg = argc - (n + 1); /* number of arguments to the script */ + luaL_checkstack(L, narg + 3, "too many arguments to script"); + for (i=n+1; i < argc; i++) + lua_pushstring(L, argv[i]); + lua_createtable(L, narg, n + 1); + for (i=0; i < argc; i++) { + lua_pushstring(L, argv[i]); + lua_rawseti(L, -2, i - n); + } + return narg; +} + + +static int dofile (lua_State *L, const char *name) { + int status = luaL_loadfile(L, name); + if (status == LUA_OK) status = docall(L, 0, 0); + return report(L, status); +} + + +static int dostring (lua_State *L, const char *s, const char *name) { + int status = luaL_loadbuffer(L, s, strlen(s), name); + if (status == LUA_OK) status = docall(L, 0, 0); + return report(L, status); +} + + +static int dolibrary (lua_State *L, const char *name) { + int status; + lua_getglobal(L, "require"); + lua_pushstring(L, name); + status = docall(L, 1, 1); /* call 'require(name)' */ + if (status == LUA_OK) + lua_setglobal(L, name); /* global[name] = require return */ + return report(L, status); +} + + +static const char *get_prompt (lua_State *L, int firstline) { + const char *p; + lua_getglobal(L, firstline ? "_PROMPT" : "_PROMPT2"); + p = lua_tostring(L, -1); + if (p == NULL) p = (firstline ? LUA_PROMPT : LUA_PROMPT2); + return p; +} + +/* mark in error messages for incomplete statements */ +#define EOFMARK "" +#define marklen (sizeof(EOFMARK)/sizeof(char) - 1) + +static int incomplete (lua_State *L, int status) { + if (status == LUA_ERRSYNTAX) { + size_t lmsg; + const char *msg = lua_tolstring(L, -1, &lmsg); + if (lmsg >= marklen && strcmp(msg + lmsg - marklen, EOFMARK) == 0) { + lua_pop(L, 1); + return 1; + } + } + return 0; /* else... */ +} + + +static int pushline (lua_State *L, int firstline) { + char buffer[LUA_MAXINPUT]; + char *b = buffer; + size_t l; + const char *prmt = get_prompt(L, firstline); + int readstatus = lua_readline(L, b, prmt); + lua_pop(L, 1); /* remove result from 'get_prompt' */ + if (readstatus == 0) + return 0; /* no input */ + l = strlen(b); + if (l > 0 && b[l-1] == '\n') /* line ends with newline? */ + b[l-1] = '\0'; /* remove it */ + if (firstline && b[0] == '=') /* first line starts with `=' ? */ + lua_pushfstring(L, "return %s", b+1); /* change it to `return' */ + else + lua_pushstring(L, b); + lua_freeline(L, b); + return 1; +} + + +static int loadline (lua_State *L) { + int status; + lua_settop(L, 0); + if (!pushline(L, 1)) + return -1; /* no input */ + for (;;) { /* repeat until gets a complete line */ + size_t l; + const char *line = lua_tolstring(L, 1, &l); + status = luaL_loadbuffer(L, line, l, "=stdin"); + if (!incomplete(L, status)) break; /* cannot try to add lines? */ + if (!pushline(L, 0)) /* no more input? */ + return -1; + lua_pushliteral(L, "\n"); /* add a new line... */ + lua_insert(L, -2); /* ...between the two lines */ + lua_concat(L, 3); /* join them */ + } + lua_saveline(L, 1); + lua_remove(L, 1); /* remove line */ + return status; +} + + +static void dotty (lua_State *L) { + int status; + const char *oldprogname = progname; + progname = NULL; + while ((status = loadline(L)) != -1) { + if (status == LUA_OK) status = docall(L, 0, LUA_MULTRET); + report(L, status); + if (status == LUA_OK && lua_gettop(L) > 0) { /* any result to print? */ + luaL_checkstack(L, LUA_MINSTACK, "too many results to print"); + lua_getglobal(L, "print"); + lua_insert(L, 1); + if (lua_pcall(L, lua_gettop(L)-1, 0, 0) != LUA_OK) + l_message(progname, lua_pushfstring(L, + "error calling " LUA_QL("print") " (%s)", + lua_tostring(L, -1))); + } + } + lua_settop(L, 0); /* clear stack */ + luai_writeline(); + progname = oldprogname; +} + + +static int handle_script (lua_State *L, char **argv, int n) { + int status; + const char *fname; + int narg = getargs(L, argv, n); /* collect arguments */ + lua_setglobal(L, "arg"); + fname = argv[n]; + if (strcmp(fname, "-") == 0 && strcmp(argv[n-1], "--") != 0) + fname = NULL; /* stdin */ + status = luaL_loadfile(L, fname); + lua_insert(L, -(narg+1)); + if (status == LUA_OK) + status = docall(L, narg, LUA_MULTRET); + else + lua_pop(L, narg); + return report(L, status); +} + + +/* check that argument has no extra characters at the end */ +#define noextrachars(x) {if ((x)[2] != '\0') return -1;} + + +/* indices of various argument indicators in array args */ +#define has_i 0 /* -i */ +#define has_v 1 /* -v */ +#define has_e 2 /* -e */ +#define has_E 3 /* -E */ + +#define num_has 4 /* number of 'has_*' */ + + +static int collectargs (char **argv, int *args) { + int i; + for (i = 1; argv[i] != NULL; i++) { + if (argv[i][0] != '-') /* not an option? */ + return i; + switch (argv[i][1]) { /* option */ + case '-': + noextrachars(argv[i]); + return (argv[i+1] != NULL ? i+1 : 0); + case '\0': + return i; + case 'E': + args[has_E] = 1; + break; + case 'i': + noextrachars(argv[i]); + args[has_i] = 1; /* go through */ + case 'v': + noextrachars(argv[i]); + args[has_v] = 1; + break; + case 'e': + args[has_e] = 1; /* go through */ + case 'l': /* both options need an argument */ + if (argv[i][2] == '\0') { /* no concatenated argument? */ + i++; /* try next 'argv' */ + if (argv[i] == NULL || argv[i][0] == '-') + return -(i - 1); /* no next argument or it is another option */ + } + break; + default: /* invalid option; return its index... */ + return -i; /* ...as a negative value */ + } + } + return 0; +} + + +static int runargs (lua_State *L, char **argv, int n) { + int i; + for (i = 1; i < n; i++) { + lua_assert(argv[i][0] == '-'); + switch (argv[i][1]) { /* option */ + case 'e': { + const char *chunk = argv[i] + 2; + if (*chunk == '\0') chunk = argv[++i]; + lua_assert(chunk != NULL); + if (dostring(L, chunk, "=(command line)") != LUA_OK) + return 0; + break; + } + case 'l': { + const char *filename = argv[i] + 2; + if (*filename == '\0') filename = argv[++i]; + lua_assert(filename != NULL); + if (dolibrary(L, filename) != LUA_OK) + return 0; /* stop if file fails */ + break; + } + default: break; + } + } + return 1; +} + + +static int handle_luainit (lua_State *L) { + const char *name = "=" LUA_INITVERSION; + const char *init = getenv(name + 1); + if (init == NULL) { + name = "=" LUA_INIT; + init = getenv(name + 1); /* try alternative name */ + } + if (init == NULL) return LUA_OK; + else if (init[0] == '@') + return dofile(L, init+1); + else + return dostring(L, init, name); +} + + +static int pmain (lua_State *L) { + int argc = (int)lua_tointeger(L, 1); + char **argv = (char **)lua_touserdata(L, 2); + int script; + int args[num_has]; + args[has_i] = args[has_v] = args[has_e] = args[has_E] = 0; + if (argv[0] && argv[0][0]) progname = argv[0]; + script = collectargs(argv, args); + if (script < 0) { /* invalid arg? */ + print_usage(argv[-script]); + return 0; + } + if (args[has_v]) print_version(); + if (args[has_E]) { /* option '-E'? */ + lua_pushboolean(L, 1); /* signal for libraries to ignore env. vars. */ + lua_setfield(L, LUA_REGISTRYINDEX, "LUA_NOENV"); + } + /* open standard libraries */ + luaL_checkversion(L); + lua_gc(L, LUA_GCSTOP, 0); /* stop collector during initialization */ + luaL_openlibs(L); /* open libraries */ + lua_gc(L, LUA_GCRESTART, 0); + if (!args[has_E] && handle_luainit(L) != LUA_OK) + return 0; /* error running LUA_INIT */ + /* execute arguments -e and -l */ + if (!runargs(L, argv, (script > 0) ? script : argc)) return 0; + /* execute main script (if there is one) */ + if (script && handle_script(L, argv, script) != LUA_OK) return 0; + if (args[has_i]) /* -i option? */ + dotty(L); + else if (script == 0 && !args[has_e] && !args[has_v]) { /* no arguments? */ + if (lua_stdin_is_tty()) { + print_version(); + dotty(L); + } + else dofile(L, NULL); /* executes stdin as a file */ + } + lua_pushboolean(L, 1); /* signal no errors */ + return 1; +} + + +int main (int argc, char **argv) { + int status, result; + lua_State *L = luaL_newstate(); /* create state */ + if (L == NULL) { + l_message(argv[0], "cannot create state: not enough memory"); + return EXIT_FAILURE; + } + /* call 'pmain' in protected mode */ + lua_pushcfunction(L, &pmain); + lua_pushinteger(L, argc); /* 1st argument */ + lua_pushlightuserdata(L, argv); /* 2nd argument */ + status = lua_pcall(L, 2, 1, 0); + result = lua_toboolean(L, -1); /* get result */ + finalreport(L, status); + lua_close(L); + return (result && status == LUA_OK) ? EXIT_SUCCESS : EXIT_FAILURE; +} + diff --git a/server/scripting/Lua/src/lua.h b/server/scripting/Lua/src/lua.h new file mode 100644 index 0000000..ff4a108 --- /dev/null +++ b/server/scripting/Lua/src/lua.h @@ -0,0 +1,444 @@ +/* +** $Id: lua.h,v 1.285.1.4 2015/02/21 14:04:50 roberto Exp $ +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "2" +#define LUA_VERSION_NUM 502 +#define LUA_VERSION_RELEASE "4" + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2015 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\033Lua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** pseudo-indices +*/ +#define LUA_REGISTRYINDEX LUAI_FIRSTPSEUDOIDX +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRGCMM 5 +#define LUA_ERRERR 6 + + +typedef struct lua_State lua_State; + +typedef int (*lua_CFunction) (lua_State *L); + + +/* +** functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud); + + +/* +** prototype for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTAGS 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API const lua_Number *(lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_remove) (lua_State *L, int idx); +LUA_API void (lua_insert) (lua_State *L, int idx); +LUA_API void (lua_replace) (lua_State *L, int idx); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int sz); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Unsigned (lua_tounsignedx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPDIV 3 +#define LUA_OPMOD 4 +#define LUA_OPPOW 5 +#define LUA_OPUNM 6 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API void (lua_pushunsigned) (lua_State *L, lua_Unsigned n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t l); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API void (lua_getglobal) (lua_State *L, const char *var); +LUA_API void (lua_gettable) (lua_State *L, int idx); +LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawget) (lua_State *L, int idx); +LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); +LUA_API void (lua_rawgetp) (lua_State *L, int idx, const void *p); +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API void (lua_getuservalue) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *var); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API void (lua_setuservalue) (lua_State *L, int idx); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx, + lua_CFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_getctx) (lua_State *L, int *ctx); + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + int ctx, lua_CFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, + const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, int ctx, + lua_CFunction k); +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); +LUA_API int (lua_status) (lua_State *L); + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCSETMAJORINC 8 +#define LUA_GCISRUNNING 9 +#define LUA_GCGEN 10 +#define LUA_GCINC 11 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_tonumber(L,i) lua_tonumberx(L,i,NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,i,NULL) +#define lua_tounsigned(L,i) lua_tounsignedx(L,i,NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) \ + lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) + +#define lua_pushglobaltable(L) \ + lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API int (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2015 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/server/scripting/Lua/src/lua.hpp b/server/scripting/Lua/src/lua.hpp new file mode 100644 index 0000000..ec417f5 --- /dev/null +++ b/server/scripting/Lua/src/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/server/scripting/Lua/src/luac.c b/server/scripting/Lua/src/luac.c new file mode 100644 index 0000000..7409706 --- /dev/null +++ b/server/scripting/Lua/src/luac.c @@ -0,0 +1,432 @@ +/* +** $Id: luac.c,v 1.69 2011/11/29 17:46:33 lhf Exp $ +** Lua compiler (saves bytecodes to files; also list bytecodes) +** See Copyright Notice in lua.h +*/ + +#include +#include +#include +#include + +#define luac_c +#define LUA_CORE + +#include "lua.h" +#include "lauxlib.h" + +#include "lobject.h" +#include "lstate.h" +#include "lundump.h" + +static void PrintFunction(const Proto* f, int full); +#define luaU_print PrintFunction + +#define PROGNAME "luac" /* default program name */ +#define OUTPUT PROGNAME ".out" /* default output file */ + +static int listing=0; /* list bytecodes? */ +static int dumping=1; /* dump bytecodes? */ +static int stripping=0; /* strip debug information? */ +static char Output[]={ OUTPUT }; /* default output file name */ +static const char* output=Output; /* actual output file name */ +static const char* progname=PROGNAME; /* actual program name */ + +static void fatal(const char* message) +{ + fprintf(stderr,"%s: %s\n",progname,message); + exit(EXIT_FAILURE); +} + +static void cannot(const char* what) +{ + fprintf(stderr,"%s: cannot %s %s: %s\n",progname,what,output,strerror(errno)); + exit(EXIT_FAILURE); +} + +static void usage(const char* message) +{ + if (*message=='-') + fprintf(stderr,"%s: unrecognized option " LUA_QS "\n",progname,message); + else + fprintf(stderr,"%s: %s\n",progname,message); + fprintf(stderr, + "usage: %s [options] [filenames]\n" + "Available options are:\n" + " -l list (use -l -l for full listing)\n" + " -o name output to file " LUA_QL("name") " (default is \"%s\")\n" + " -p parse only\n" + " -s strip debug information\n" + " -v show version information\n" + " -- stop handling options\n" + " - stop handling options and process stdin\n" + ,progname,Output); + exit(EXIT_FAILURE); +} + +#define IS(s) (strcmp(argv[i],s)==0) + +static int doargs(int argc, char* argv[]) +{ + int i; + int version=0; + if (argv[0]!=NULL && *argv[0]!=0) progname=argv[0]; + for (i=1; itop+(i)) + +static const Proto* combine(lua_State* L, int n) +{ + if (n==1) + return toproto(L,-1); + else + { + Proto* f; + int i=n; + if (lua_load(L,reader,&i,"=(" PROGNAME ")",NULL)!=LUA_OK) fatal(lua_tostring(L,-1)); + f=toproto(L,-1); + for (i=0; ip[i]=toproto(L,i-n-1); + if (f->p[i]->sizeupvalues>0) f->p[i]->upvalues[0].instack=0; + } + f->sizelineinfo=0; + return f; + } +} + +static int writer(lua_State* L, const void* p, size_t size, void* u) +{ + UNUSED(L); + return (fwrite(p,size,1,(FILE*)u)!=1) && (size!=0); +} + +static int pmain(lua_State* L) +{ + int argc=(int)lua_tointeger(L,1); + char** argv=(char**)lua_touserdata(L,2); + const Proto* f; + int i; + if (!lua_checkstack(L,argc)) fatal("too many input files"); + for (i=0; i1); + if (dumping) + { + FILE* D= (output==NULL) ? stdout : fopen(output,"wb"); + if (D==NULL) cannot("open"); + lua_lock(L); + luaU_dump(L,f,writer,D,stripping); + lua_unlock(L); + if (ferror(D)) cannot("write"); + if (fclose(D)) cannot("close"); + } + return 0; +} + +int main(int argc, char* argv[]) +{ + lua_State* L; + int i=doargs(argc,argv); + argc-=i; argv+=i; + if (argc<=0) usage("no input files given"); + L=luaL_newstate(); + if (L==NULL) fatal("cannot create state: not enough memory"); + lua_pushcfunction(L,&pmain); + lua_pushinteger(L,argc); + lua_pushlightuserdata(L,argv); + if (lua_pcall(L,2,0,0)!=LUA_OK) fatal(lua_tostring(L,-1)); + lua_close(L); + return EXIT_SUCCESS; +} + +/* +** $Id: print.c,v 1.69 2013/07/04 01:03:46 lhf Exp $ +** print bytecodes +** See Copyright Notice in lua.h +*/ + +#include +#include + +#define luac_c +#define LUA_CORE + +#include "ldebug.h" +#include "lobject.h" +#include "lopcodes.h" + +#define VOID(p) ((const void*)(p)) + +static void PrintString(const TString* ts) +{ + const char* s=getstr(ts); + size_t i,n=ts->tsv.len; + printf("%c",'"'); + for (i=0; ik[i]; + switch (ttypenv(o)) + { + case LUA_TNIL: + printf("nil"); + break; + case LUA_TBOOLEAN: + printf(bvalue(o) ? "true" : "false"); + break; + case LUA_TNUMBER: + printf(LUA_NUMBER_FMT,nvalue(o)); + break; + case LUA_TSTRING: + PrintString(rawtsvalue(o)); + break; + default: /* cannot happen */ + printf("? type=%d",ttype(o)); + break; + } +} + +#define UPVALNAME(x) ((f->upvalues[x].name) ? getstr(f->upvalues[x].name) : "-") +#define MYK(x) (-1-(x)) + +static void PrintCode(const Proto* f) +{ + const Instruction* code=f->code; + int pc,n=f->sizecode; + for (pc=0; pc0) printf("[%d]\t",line); else printf("[-]\t"); + printf("%-9s\t",luaP_opnames[o]); + switch (getOpMode(o)) + { + case iABC: + printf("%d",a); + if (getBMode(o)!=OpArgN) printf(" %d",ISK(b) ? (MYK(INDEXK(b))) : b); + if (getCMode(o)!=OpArgN) printf(" %d",ISK(c) ? (MYK(INDEXK(c))) : c); + break; + case iABx: + printf("%d",a); + if (getBMode(o)==OpArgK) printf(" %d",MYK(bx)); + if (getBMode(o)==OpArgU) printf(" %d",bx); + break; + case iAsBx: + printf("%d %d",a,sbx); + break; + case iAx: + printf("%d",MYK(ax)); + break; + } + switch (o) + { + case OP_LOADK: + printf("\t; "); PrintConstant(f,bx); + break; + case OP_GETUPVAL: + case OP_SETUPVAL: + printf("\t; %s",UPVALNAME(b)); + break; + case OP_GETTABUP: + printf("\t; %s",UPVALNAME(b)); + if (ISK(c)) { printf(" "); PrintConstant(f,INDEXK(c)); } + break; + case OP_SETTABUP: + printf("\t; %s",UPVALNAME(a)); + if (ISK(b)) { printf(" "); PrintConstant(f,INDEXK(b)); } + if (ISK(c)) { printf(" "); PrintConstant(f,INDEXK(c)); } + break; + case OP_GETTABLE: + case OP_SELF: + if (ISK(c)) { printf("\t; "); PrintConstant(f,INDEXK(c)); } + break; + case OP_SETTABLE: + case OP_ADD: + case OP_SUB: + case OP_MUL: + case OP_DIV: + case OP_POW: + case OP_EQ: + case OP_LT: + case OP_LE: + if (ISK(b) || ISK(c)) + { + printf("\t; "); + if (ISK(b)) PrintConstant(f,INDEXK(b)); else printf("-"); + printf(" "); + if (ISK(c)) PrintConstant(f,INDEXK(c)); else printf("-"); + } + break; + case OP_JMP: + case OP_FORLOOP: + case OP_FORPREP: + case OP_TFORLOOP: + printf("\t; to %d",sbx+pc+2); + break; + case OP_CLOSURE: + printf("\t; %p",VOID(f->p[bx])); + break; + case OP_SETLIST: + if (c==0) printf("\t; %d",(int)code[++pc]); else printf("\t; %d",c); + break; + case OP_EXTRAARG: + printf("\t; "); PrintConstant(f,ax); + break; + default: + break; + } + printf("\n"); + } +} + +#define SS(x) ((x==1)?"":"s") +#define S(x) (int)(x),SS(x) + +static void PrintHeader(const Proto* f) +{ + const char* s=f->source ? getstr(f->source) : "=?"; + if (*s=='@' || *s=='=') + s++; + else if (*s==LUA_SIGNATURE[0]) + s="(bstring)"; + else + s="(string)"; + printf("\n%s <%s:%d,%d> (%d instruction%s at %p)\n", + (f->linedefined==0)?"main":"function",s, + f->linedefined,f->lastlinedefined, + S(f->sizecode),VOID(f)); + printf("%d%s param%s, %d slot%s, %d upvalue%s, ", + (int)(f->numparams),f->is_vararg?"+":"",SS(f->numparams), + S(f->maxstacksize),S(f->sizeupvalues)); + printf("%d local%s, %d constant%s, %d function%s\n", + S(f->sizelocvars),S(f->sizek),S(f->sizep)); +} + +static void PrintDebug(const Proto* f) +{ + int i,n; + n=f->sizek; + printf("constants (%d) for %p:\n",n,VOID(f)); + for (i=0; isizelocvars; + printf("locals (%d) for %p:\n",n,VOID(f)); + for (i=0; ilocvars[i].varname),f->locvars[i].startpc+1,f->locvars[i].endpc+1); + } + n=f->sizeupvalues; + printf("upvalues (%d) for %p:\n",n,VOID(f)); + for (i=0; iupvalues[i].instack,f->upvalues[i].idx); + } +} + +static void PrintFunction(const Proto* f, int full) +{ + int i,n=f->sizep; + PrintHeader(f); + PrintCode(f); + if (full) PrintDebug(f); + for (i=0; ip[i],full); +} diff --git a/server/scripting/Lua/src/luaconf.h b/server/scripting/Lua/src/luaconf.h new file mode 100644 index 0000000..1b0ff59 --- /dev/null +++ b/server/scripting/Lua/src/luaconf.h @@ -0,0 +1,551 @@ +/* +** $Id: luaconf.h,v 1.176.1.2 2013/11/21 17:26:16 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef lconfig_h +#define lconfig_h + +#include +#include + + +/* +** ================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +@@ LUA_ANSI controls the use of non-ansi features. +** CHANGE it (define it) if you want Lua to avoid the use of any +** non-ansi feature or library. +*/ +#if !defined(LUA_ANSI) && defined(__STRICT_ANSI__) +#define LUA_ANSI +#endif + + +#if !defined(LUA_ANSI) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_WIN /* enable goodies for regular Windows platforms */ +#endif + +#if defined(LUA_WIN) +#define LUA_DL_DLL +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#endif + + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */ +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#define LUA_USE_LONGLONG /* assume support for long long */ +#endif + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */ +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#define LUA_USE_LONGLONG /* assume support for long long */ +#endif + + + +/* +@@ LUA_USE_POSIX includes all functionality listed as X/Open System +@* Interfaces Extension (XSI). +** CHANGE it (define it) if your system is XSI compatible. +*/ +#if defined(LUA_USE_POSIX) +#define LUA_USE_MKSTEMP +#define LUA_USE_ISATTY +#define LUA_USE_POPEN +#define LUA_USE_ULONGJMP +#define LUA_USE_GMTIME_R +#endif + + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +@* Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +@* C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" ".\\?.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll;" ".\\?.dll" + +#else /* }{ */ + +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" "./?.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + + +/* +@@ LUA_ENV is the name of the variable that holds the current +@@ environment, used to access global names. +** CHANGE it if you do not like this name. +*/ +#define LUA_ENV "_ENV" + + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +@* exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +@* that are not to be exported to outside modules (LUAI_DDEF for +@* definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +#else /* }{ */ +#define LUAI_FUNC extern +#define LUAI_DDEC extern +#define LUAI_DDEF /* empty */ +#endif /* } */ + + + +/* +@@ LUA_QL describes how error messages quote program elements. +** CHANGE it if you want a different appearance. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@* of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ luai_writestring/luai_writeline define how 'print' prints its results. +** They are only used in libraries and the stand-alone program. (The #if +** avoids including 'stdio.h' everywhere.) +*/ +#if defined(LUA_LIB) || defined(lua_c) +#include +#define luai_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#define luai_writeline() (luai_writestring("\n", 1), fflush(stdout)) +#endif + +/* +@@ luai_writestringerror defines how to print error messages. +** (A format string with one argument is enough for Lua...) +*/ +#define luai_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) + + +/* +@@ LUAI_MAXSHORTLEN is the maximum length for short strings, that is, +** strings that are internalized. (Cannot be smaller than reserved words +** or tags for metamethods, as these strings must be internalized; +** #("function") = 8, #("__newindex") = 10.) +*/ +#define LUAI_MAXSHORTLEN 40 + + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_ALL controls all compatibility options. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_ALL) /* { */ + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + +/* }================================================================== */ + + + +/* +@@ LUAI_BITSINT defines the number of bits in an int. +** CHANGE here if Lua cannot automatically detect the number of bits of +** your machine. Probably you do not need to change this. +*/ +/* avoid overflows in comparison */ +#if INT_MAX-20 < 32760 /* { */ +#define LUAI_BITSINT 16 +#elif INT_MAX > 2147483640L /* }{ */ +/* int has at least 32 bits */ +#define LUAI_BITSINT 32 +#else /* }{ */ +#error "you must define LUA_BITSINT with number of bits in an integer" +#endif /* } */ + + +/* +@@ LUA_INT32 is a signed integer with exactly 32 bits. +@@ LUAI_UMEM is an unsigned integer big enough to count the total +@* memory used by Lua. +@@ LUAI_MEM is a signed integer big enough to count the total memory +@* used by Lua. +** CHANGE here if for some weird reason the default definitions are not +** good enough for your machine. Probably you do not need to change +** this. +*/ +#if LUAI_BITSINT >= 32 /* { */ +#define LUA_INT32 int +#define LUAI_UMEM size_t +#define LUAI_MEM ptrdiff_t +#else /* }{ */ +/* 16-bit ints */ +#define LUA_INT32 long +#define LUAI_UMEM unsigned long +#define LUAI_MEM long +#endif /* } */ + + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + +/* reserve some space for error handling */ +#define LUAI_FIRSTPSEUDOIDX (-LUAI_MAXSTACK - 1000) + + + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. +*/ +#define LUAL_BUFFERSIZE BUFSIZ + + + + +/* +** {================================================================== +@@ LUA_NUMBER is the type of numbers in Lua. +** CHANGE the following definitions only if you want to build Lua +** with a number type different from double. You may also need to +** change lua_number2int & lua_number2integer. +** =================================================================== +*/ + +#define LUA_NUMBER_DOUBLE +#define LUA_NUMBER double + +/* +@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' +@* over a number. +*/ +#define LUAI_UACNUMBER double + + +/* +@@ LUA_NUMBER_SCAN is the format for reading numbers. +@@ LUA_NUMBER_FMT is the format for writing numbers. +@@ lua_number2str converts a number to a string. +@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. +*/ +#define LUA_NUMBER_SCAN "%lf" +#define LUA_NUMBER_FMT "%.14g" +#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) +#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ + + +/* +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations +*/ +#define l_mathop(x) (x) + + +/* +@@ lua_str2number converts a decimal numeric string to a number. +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does both conversions. C89, however, has no function +** to convert floating hexadecimal strings to numbers. For these +** systems, you can leave 'lua_strx2number' undefined and Lua will +** provide its own implementation. +*/ +#define lua_str2number(s,p) strtod((s), (p)) + +#if defined(LUA_USE_STRTODHEX) +#define lua_strx2number(s,p) strtod((s), (p)) +#endif + + +/* +@@ The luai_num* macros define the primitive operations over numbers. +*/ + +/* the following operations need the math library */ +#if defined(lobject_c) || defined(lvm_c) +#include +#define luai_nummod(L,a,b) ((a) - l_mathop(floor)((a)/(b))*(b)) +#define luai_numpow(L,a,b) (l_mathop(pow)(a,b)) +#endif + +/* these are quite standard operations */ +#if defined(LUA_CORE) +#define luai_numadd(L,a,b) ((a)+(b)) +#define luai_numsub(L,a,b) ((a)-(b)) +#define luai_nummul(L,a,b) ((a)*(b)) +#define luai_numdiv(L,a,b) ((a)/(b)) +#define luai_numunm(L,a) (-(a)) +#define luai_numeq(a,b) ((a)==(b)) +#define luai_numlt(L,a,b) ((a)<(b)) +#define luai_numle(L,a,b) ((a)<=(b)) +#define luai_numisnan(L,a) (!luai_numeq((a), (a))) +#endif + + + +/* +@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. +** CHANGE that if ptrdiff_t is not adequate on your machine. (On most +** machines, ptrdiff_t gives a good choice between int or long.) +*/ +#define LUA_INTEGER ptrdiff_t + +/* +@@ LUA_UNSIGNED is the integral type used by lua_pushunsigned/lua_tounsigned. +** It must have at least 32 bits. +*/ +#define LUA_UNSIGNED unsigned LUA_INT32 + + + +/* +** Some tricks with doubles +*/ + +#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) /* { */ +/* +** The next definitions activate some tricks to speed up the +** conversion from doubles to integer types, mainly to LUA_UNSIGNED. +** +@@ LUA_MSASMTRICK uses Microsoft assembler to avoid clashes with a +** DirectX idiosyncrasy. +** +@@ LUA_IEEE754TRICK uses a trick that should work on any machine +** using IEEE754 with a 32-bit integer type. +** +@@ LUA_IEEELL extends the trick to LUA_INTEGER; should only be +** defined when LUA_INTEGER is a 32-bit integer. +** +@@ LUA_IEEEENDIAN is the endianness of doubles in your machine +** (0 for little endian, 1 for big endian); if not defined, Lua will +** check it dynamically for LUA_IEEE754TRICK (but not for LUA_NANTRICK). +** +@@ LUA_NANTRICK controls the use of a trick to pack all types into +** a single double value, using NaN values to represent non-number +** values. The trick only works on 32-bit machines (ints and pointers +** are 32-bit values) with numbers represented as IEEE 754-2008 doubles +** with conventional endianess (12345678 or 87654321), in CPUs that do +** not produce signaling NaN values (all NaNs are quiet). +*/ + +/* Microsoft compiler on a Pentium (32 bit) ? */ +#if defined(LUA_WIN) && defined(_MSC_VER) && defined(_M_IX86) /* { */ + +#define LUA_MSASMTRICK +#define LUA_IEEEENDIAN 0 +#define LUA_NANTRICK + + +/* pentium 32 bits? */ +#elif defined(__i386__) || defined(__i386) || defined(__X86__) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEELL +#define LUA_IEEEENDIAN 0 +#define LUA_NANTRICK + +/* pentium 64 bits? */ +#elif defined(__x86_64) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEEENDIAN 0 + +#elif defined(__POWERPC__) || defined(__ppc__) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEEENDIAN 1 + +#else /* }{ */ + +/* assume IEEE754 and a 32-bit integer type */ +#define LUA_IEEE754TRICK + +#endif /* } */ + +#endif /* } */ + +/* }================================================================== */ + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + +#endif + diff --git a/server/scripting/Lua/src/lualib.h b/server/scripting/Lua/src/lualib.h new file mode 100644 index 0000000..da82005 --- /dev/null +++ b/server/scripting/Lua/src/lualib.h @@ -0,0 +1,55 @@ +/* +** $Id: lualib.h,v 1.43.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_BITLIBNAME "bit32" +LUAMOD_API int (luaopen_bit32) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/server/scripting/Lua/src/lundump.c b/server/scripting/Lua/src/lundump.c new file mode 100644 index 0000000..4163cb5 --- /dev/null +++ b/server/scripting/Lua/src/lundump.c @@ -0,0 +1,258 @@ +/* +** $Id: lundump.c,v 2.22.1.1 2013/04/12 18:48:47 roberto Exp $ +** load precompiled Lua chunks +** See Copyright Notice in lua.h +*/ + +#include + +#define lundump_c +#define LUA_CORE + +#include "lua.h" + +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lmem.h" +#include "lobject.h" +#include "lstring.h" +#include "lundump.h" +#include "lzio.h" + +typedef struct { + lua_State* L; + ZIO* Z; + Mbuffer* b; + const char* name; +} LoadState; + +static l_noret error(LoadState* S, const char* why) +{ + luaO_pushfstring(S->L,"%s: %s precompiled chunk",S->name,why); + luaD_throw(S->L,LUA_ERRSYNTAX); +} + +#define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size)) +#define LoadByte(S) (lu_byte)LoadChar(S) +#define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x)) +#define LoadVector(S,b,n,size) LoadMem(S,b,n,size) + +#if !defined(luai_verifycode) +#define luai_verifycode(L,b,f) /* empty */ +#endif + +static void LoadBlock(LoadState* S, void* b, size_t size) +{ + if (luaZ_read(S->Z,b,size)!=0) error(S,"truncated"); +} + +static int LoadChar(LoadState* S) +{ + char x; + LoadVar(S,x); + return x; +} + +static int LoadInt(LoadState* S) +{ + int x; + LoadVar(S,x); + if (x<0) error(S,"corrupted"); + return x; +} + +static lua_Number LoadNumber(LoadState* S) +{ + lua_Number x; + LoadVar(S,x); + return x; +} + +static TString* LoadString(LoadState* S) +{ + size_t size; + LoadVar(S,size); + if (size==0) + return NULL; + else + { + char* s=luaZ_openspace(S->L,S->b,size); + LoadBlock(S,s,size*sizeof(char)); + return luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */ + } +} + +static void LoadCode(LoadState* S, Proto* f) +{ + int n=LoadInt(S); + f->code=luaM_newvector(S->L,n,Instruction); + f->sizecode=n; + LoadVector(S,f->code,n,sizeof(Instruction)); +} + +static void LoadFunction(LoadState* S, Proto* f); + +static void LoadConstants(LoadState* S, Proto* f) +{ + int i,n; + n=LoadInt(S); + f->k=luaM_newvector(S->L,n,TValue); + f->sizek=n; + for (i=0; ik[i]); + for (i=0; ik[i]; + int t=LoadChar(S); + switch (t) + { + case LUA_TNIL: + setnilvalue(o); + break; + case LUA_TBOOLEAN: + setbvalue(o,LoadChar(S)); + break; + case LUA_TNUMBER: + setnvalue(o,LoadNumber(S)); + break; + case LUA_TSTRING: + setsvalue2n(S->L,o,LoadString(S)); + break; + default: lua_assert(0); + } + } + n=LoadInt(S); + f->p=luaM_newvector(S->L,n,Proto*); + f->sizep=n; + for (i=0; ip[i]=NULL; + for (i=0; ip[i]=luaF_newproto(S->L); + LoadFunction(S,f->p[i]); + } +} + +static void LoadUpvalues(LoadState* S, Proto* f) +{ + int i,n; + n=LoadInt(S); + f->upvalues=luaM_newvector(S->L,n,Upvaldesc); + f->sizeupvalues=n; + for (i=0; iupvalues[i].name=NULL; + for (i=0; iupvalues[i].instack=LoadByte(S); + f->upvalues[i].idx=LoadByte(S); + } +} + +static void LoadDebug(LoadState* S, Proto* f) +{ + int i,n; + f->source=LoadString(S); + n=LoadInt(S); + f->lineinfo=luaM_newvector(S->L,n,int); + f->sizelineinfo=n; + LoadVector(S,f->lineinfo,n,sizeof(int)); + n=LoadInt(S); + f->locvars=luaM_newvector(S->L,n,LocVar); + f->sizelocvars=n; + for (i=0; ilocvars[i].varname=NULL; + for (i=0; ilocvars[i].varname=LoadString(S); + f->locvars[i].startpc=LoadInt(S); + f->locvars[i].endpc=LoadInt(S); + } + n=LoadInt(S); + for (i=0; iupvalues[i].name=LoadString(S); +} + +static void LoadFunction(LoadState* S, Proto* f) +{ + f->linedefined=LoadInt(S); + f->lastlinedefined=LoadInt(S); + f->numparams=LoadByte(S); + f->is_vararg=LoadByte(S); + f->maxstacksize=LoadByte(S); + LoadCode(S,f); + LoadConstants(S,f); + LoadUpvalues(S,f); + LoadDebug(S,f); +} + +/* the code below must be consistent with the code in luaU_header */ +#define N0 LUAC_HEADERSIZE +#define N1 (sizeof(LUA_SIGNATURE)-sizeof(char)) +#define N2 N1+2 +#define N3 N2+6 + +static void LoadHeader(LoadState* S) +{ + lu_byte h[LUAC_HEADERSIZE]; + lu_byte s[LUAC_HEADERSIZE]; + luaU_header(h); + memcpy(s,h,sizeof(char)); /* first char already read */ + LoadBlock(S,s+sizeof(char),LUAC_HEADERSIZE-sizeof(char)); + if (memcmp(h,s,N0)==0) return; + if (memcmp(h,s,N1)!=0) error(S,"not a"); + if (memcmp(h,s,N2)!=0) error(S,"version mismatch in"); + if (memcmp(h,s,N3)!=0) error(S,"incompatible"); else error(S,"corrupted"); +} + +/* +** load precompiled chunk +*/ +Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name) +{ + LoadState S; + Closure* cl; + if (*name=='@' || *name=='=') + S.name=name+1; + else if (*name==LUA_SIGNATURE[0]) + S.name="binary string"; + else + S.name=name; + S.L=L; + S.Z=Z; + S.b=buff; + LoadHeader(&S); + cl=luaF_newLclosure(L,1); + setclLvalue(L,L->top,cl); incr_top(L); + cl->l.p=luaF_newproto(L); + LoadFunction(&S,cl->l.p); + if (cl->l.p->sizeupvalues != 1) + { + Proto* p=cl->l.p; + cl=luaF_newLclosure(L,cl->l.p->sizeupvalues); + cl->l.p=p; + setclLvalue(L,L->top-1,cl); + } + luai_verifycode(L,buff,cl->l.p); + return cl; +} + +#define MYINT(s) (s[0]-'0') +#define VERSION MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR) +#define FORMAT 0 /* this is the official format */ + +/* +* make header for precompiled chunks +* if you change the code below be sure to update LoadHeader and FORMAT above +* and LUAC_HEADERSIZE in lundump.h +*/ +void luaU_header (lu_byte* h) +{ + int x=1; + memcpy(h,LUA_SIGNATURE,sizeof(LUA_SIGNATURE)-sizeof(char)); + h+=sizeof(LUA_SIGNATURE)-sizeof(char); + *h++=cast_byte(VERSION); + *h++=cast_byte(FORMAT); + *h++=cast_byte(*(char*)&x); /* endianness */ + *h++=cast_byte(sizeof(int)); + *h++=cast_byte(sizeof(size_t)); + *h++=cast_byte(sizeof(Instruction)); + *h++=cast_byte(sizeof(lua_Number)); + *h++=cast_byte(((lua_Number)0.5)==0); /* is lua_Number integral? */ + memcpy(h,LUAC_TAIL,sizeof(LUAC_TAIL)-sizeof(char)); +} diff --git a/server/scripting/Lua/src/lundump.h b/server/scripting/Lua/src/lundump.h new file mode 100644 index 0000000..5255db2 --- /dev/null +++ b/server/scripting/Lua/src/lundump.h @@ -0,0 +1,28 @@ +/* +** $Id: lundump.h,v 1.39.1.1 2013/04/12 18:48:47 roberto Exp $ +** load precompiled Lua chunks +** See Copyright Notice in lua.h +*/ + +#ifndef lundump_h +#define lundump_h + +#include "lobject.h" +#include "lzio.h" + +/* load one chunk; from lundump.c */ +LUAI_FUNC Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); + +/* make header; from lundump.c */ +LUAI_FUNC void luaU_header (lu_byte* h); + +/* dump one chunk; from ldump.c */ +LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); + +/* data to catch conversion errors */ +#define LUAC_TAIL "\x19\x93\r\n\x1a\n" + +/* size in bytes of header of binary files */ +#define LUAC_HEADERSIZE (sizeof(LUA_SIGNATURE)-sizeof(char)+2+6+sizeof(LUAC_TAIL)-sizeof(char)) + +#endif diff --git a/server/scripting/Lua/src/lvm.c b/server/scripting/Lua/src/lvm.c new file mode 100644 index 0000000..141b9fd --- /dev/null +++ b/server/scripting/Lua/src/lvm.c @@ -0,0 +1,867 @@ +/* +** $Id: lvm.c,v 2.155.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua virtual machine +** See Copyright Notice in lua.h +*/ + + +#include +#include +#include + +#define lvm_c +#define LUA_CORE + +#include "lua.h" + +#include "ldebug.h" +#include "ldo.h" +#include "lfunc.h" +#include "lgc.h" +#include "lobject.h" +#include "lopcodes.h" +#include "lstate.h" +#include "lstring.h" +#include "ltable.h" +#include "ltm.h" +#include "lvm.h" + + + +/* limit for table tag-method chains (to avoid loops) */ +#define MAXTAGLOOP 100 + + +const TValue *luaV_tonumber (const TValue *obj, TValue *n) { + lua_Number num; + if (ttisnumber(obj)) return obj; + if (ttisstring(obj) && luaO_str2d(svalue(obj), tsvalue(obj)->len, &num)) { + setnvalue(n, num); + return n; + } + else + return NULL; +} + + +int luaV_tostring (lua_State *L, StkId obj) { + if (!ttisnumber(obj)) + return 0; + else { + char s[LUAI_MAXNUMBER2STR]; + lua_Number n = nvalue(obj); + int l = lua_number2str(s, n); + setsvalue2s(L, obj, luaS_newlstr(L, s, l)); + return 1; + } +} + + +static void traceexec (lua_State *L) { + CallInfo *ci = L->ci; + lu_byte mask = L->hookmask; + int counthook = ((mask & LUA_MASKCOUNT) && L->hookcount == 0); + if (counthook) + resethookcount(L); /* reset count */ + if (ci->callstatus & CIST_HOOKYIELD) { /* called hook last time? */ + ci->callstatus &= ~CIST_HOOKYIELD; /* erase mark */ + return; /* do not call hook again (VM yielded, so it did not move) */ + } + if (counthook) + luaD_hook(L, LUA_HOOKCOUNT, -1); /* call count hook */ + if (mask & LUA_MASKLINE) { + Proto *p = ci_func(ci)->p; + int npc = pcRel(ci->u.l.savedpc, p); + int newline = getfuncline(p, npc); + if (npc == 0 || /* call linehook when enter a new function, */ + ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */ + newline != getfuncline(p, pcRel(L->oldpc, p))) /* enter a new line */ + luaD_hook(L, LUA_HOOKLINE, newline); /* call line hook */ + } + L->oldpc = ci->u.l.savedpc; + if (L->status == LUA_YIELD) { /* did hook yield? */ + if (counthook) + L->hookcount = 1; /* undo decrement to zero */ + ci->u.l.savedpc--; /* undo increment (resume will increment it again) */ + ci->callstatus |= CIST_HOOKYIELD; /* mark that it yielded */ + ci->func = L->top - 1; /* protect stack below results */ + luaD_throw(L, LUA_YIELD); + } +} + + +static void callTM (lua_State *L, const TValue *f, const TValue *p1, + const TValue *p2, TValue *p3, int hasres) { + ptrdiff_t result = savestack(L, p3); + setobj2s(L, L->top++, f); /* push function */ + setobj2s(L, L->top++, p1); /* 1st argument */ + setobj2s(L, L->top++, p2); /* 2nd argument */ + if (!hasres) /* no result? 'p3' is third argument */ + setobj2s(L, L->top++, p3); /* 3rd argument */ + /* metamethod may yield only when called from Lua code */ + luaD_call(L, L->top - (4 - hasres), hasres, isLua(L->ci)); + if (hasres) { /* if has result, move it to its place */ + p3 = restorestack(L, result); + setobjs2s(L, p3, --L->top); + } +} + + +void luaV_gettable (lua_State *L, const TValue *t, TValue *key, StkId val) { + int loop; + for (loop = 0; loop < MAXTAGLOOP; loop++) { + const TValue *tm; + if (ttistable(t)) { /* `t' is a table? */ + Table *h = hvalue(t); + const TValue *res = luaH_get(h, key); /* do a primitive get */ + if (!ttisnil(res) || /* result is not nil? */ + (tm = fasttm(L, h->metatable, TM_INDEX)) == NULL) { /* or no TM? */ + setobj2s(L, val, res); + return; + } + /* else will try the tag method */ + } + else if (ttisnil(tm = luaT_gettmbyobj(L, t, TM_INDEX))) + luaG_typeerror(L, t, "index"); + if (ttisfunction(tm)) { + callTM(L, tm, t, key, val, 1); + return; + } + t = tm; /* else repeat with 'tm' */ + } + luaG_runerror(L, "loop in gettable"); +} + + +void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val) { + int loop; + for (loop = 0; loop < MAXTAGLOOP; loop++) { + const TValue *tm; + if (ttistable(t)) { /* `t' is a table? */ + Table *h = hvalue(t); + TValue *oldval = cast(TValue *, luaH_get(h, key)); + /* if previous value is not nil, there must be a previous entry + in the table; moreover, a metamethod has no relevance */ + if (!ttisnil(oldval) || + /* previous value is nil; must check the metamethod */ + ((tm = fasttm(L, h->metatable, TM_NEWINDEX)) == NULL && + /* no metamethod; is there a previous entry in the table? */ + (oldval != luaO_nilobject || + /* no previous entry; must create one. (The next test is + always true; we only need the assignment.) */ + (oldval = luaH_newkey(L, h, key), 1)))) { + /* no metamethod and (now) there is an entry with given key */ + setobj2t(L, oldval, val); /* assign new value to that entry */ + invalidateTMcache(h); + luaC_barrierback(L, obj2gco(h), val); + return; + } + /* else will try the metamethod */ + } + else /* not a table; check metamethod */ + if (ttisnil(tm = luaT_gettmbyobj(L, t, TM_NEWINDEX))) + luaG_typeerror(L, t, "index"); + /* there is a metamethod */ + if (ttisfunction(tm)) { + callTM(L, tm, t, key, val, 0); + return; + } + t = tm; /* else repeat with 'tm' */ + } + luaG_runerror(L, "loop in settable"); +} + + +static int call_binTM (lua_State *L, const TValue *p1, const TValue *p2, + StkId res, TMS event) { + const TValue *tm = luaT_gettmbyobj(L, p1, event); /* try first operand */ + if (ttisnil(tm)) + tm = luaT_gettmbyobj(L, p2, event); /* try second operand */ + if (ttisnil(tm)) return 0; + callTM(L, tm, p1, p2, res, 1); + return 1; +} + + +static const TValue *get_equalTM (lua_State *L, Table *mt1, Table *mt2, + TMS event) { + const TValue *tm1 = fasttm(L, mt1, event); + const TValue *tm2; + if (tm1 == NULL) return NULL; /* no metamethod */ + if (mt1 == mt2) return tm1; /* same metatables => same metamethods */ + tm2 = fasttm(L, mt2, event); + if (tm2 == NULL) return NULL; /* no metamethod */ + if (luaV_rawequalobj(tm1, tm2)) /* same metamethods? */ + return tm1; + return NULL; +} + + +static int call_orderTM (lua_State *L, const TValue *p1, const TValue *p2, + TMS event) { + if (!call_binTM(L, p1, p2, L->top, event)) + return -1; /* no metamethod */ + else + return !l_isfalse(L->top); +} + + +static int l_strcmp (const TString *ls, const TString *rs) { + const char *l = getstr(ls); + size_t ll = ls->tsv.len; + const char *r = getstr(rs); + size_t lr = rs->tsv.len; + for (;;) { + int temp = strcoll(l, r); + if (temp != 0) return temp; + else { /* strings are equal up to a `\0' */ + size_t len = strlen(l); /* index of first `\0' in both strings */ + if (len == lr) /* r is finished? */ + return (len == ll) ? 0 : 1; + else if (len == ll) /* l is finished? */ + return -1; /* l is smaller than r (because r is not finished) */ + /* both strings longer than `len'; go on comparing (after the `\0') */ + len++; + l += len; ll -= len; r += len; lr -= len; + } + } +} + + +int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r) { + int res; + if (ttisnumber(l) && ttisnumber(r)) + return luai_numlt(L, nvalue(l), nvalue(r)); + else if (ttisstring(l) && ttisstring(r)) + return l_strcmp(rawtsvalue(l), rawtsvalue(r)) < 0; + else if ((res = call_orderTM(L, l, r, TM_LT)) < 0) + luaG_ordererror(L, l, r); + return res; +} + + +int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r) { + int res; + if (ttisnumber(l) && ttisnumber(r)) + return luai_numle(L, nvalue(l), nvalue(r)); + else if (ttisstring(l) && ttisstring(r)) + return l_strcmp(rawtsvalue(l), rawtsvalue(r)) <= 0; + else if ((res = call_orderTM(L, l, r, TM_LE)) >= 0) /* first try `le' */ + return res; + else if ((res = call_orderTM(L, r, l, TM_LT)) < 0) /* else try `lt' */ + luaG_ordererror(L, l, r); + return !res; +} + + +/* +** equality of Lua values. L == NULL means raw equality (no metamethods) +*/ +int luaV_equalobj_ (lua_State *L, const TValue *t1, const TValue *t2) { + const TValue *tm; + lua_assert(ttisequal(t1, t2)); + switch (ttype(t1)) { + case LUA_TNIL: return 1; + case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); + case LUA_TBOOLEAN: return bvalue(t1) == bvalue(t2); /* true must be 1 !! */ + case LUA_TLIGHTUSERDATA: return pvalue(t1) == pvalue(t2); + case LUA_TLCF: return fvalue(t1) == fvalue(t2); + case LUA_TSHRSTR: return eqshrstr(rawtsvalue(t1), rawtsvalue(t2)); + case LUA_TLNGSTR: return luaS_eqlngstr(rawtsvalue(t1), rawtsvalue(t2)); + case LUA_TUSERDATA: { + if (uvalue(t1) == uvalue(t2)) return 1; + else if (L == NULL) return 0; + tm = get_equalTM(L, uvalue(t1)->metatable, uvalue(t2)->metatable, TM_EQ); + break; /* will try TM */ + } + case LUA_TTABLE: { + if (hvalue(t1) == hvalue(t2)) return 1; + else if (L == NULL) return 0; + tm = get_equalTM(L, hvalue(t1)->metatable, hvalue(t2)->metatable, TM_EQ); + break; /* will try TM */ + } + default: + lua_assert(iscollectable(t1)); + return gcvalue(t1) == gcvalue(t2); + } + if (tm == NULL) return 0; /* no TM? */ + callTM(L, tm, t1, t2, L->top, 1); /* call TM */ + return !l_isfalse(L->top); +} + + +void luaV_concat (lua_State *L, int total) { + lua_assert(total >= 2); + do { + StkId top = L->top; + int n = 2; /* number of elements handled in this pass (at least 2) */ + if (!(ttisstring(top-2) || ttisnumber(top-2)) || !tostring(L, top-1)) { + if (!call_binTM(L, top-2, top-1, top-2, TM_CONCAT)) + luaG_concaterror(L, top-2, top-1); + } + else if (tsvalue(top-1)->len == 0) /* second operand is empty? */ + (void)tostring(L, top - 2); /* result is first operand */ + else if (ttisstring(top-2) && tsvalue(top-2)->len == 0) { + setobjs2s(L, top - 2, top - 1); /* result is second op. */ + } + else { + /* at least two non-empty string values; get as many as possible */ + size_t tl = tsvalue(top-1)->len; + char *buffer; + int i; + /* collect total length */ + for (i = 1; i < total && tostring(L, top-i-1); i++) { + size_t l = tsvalue(top-i-1)->len; + if (l >= (MAX_SIZET/sizeof(char)) - tl) + luaG_runerror(L, "string length overflow"); + tl += l; + } + buffer = luaZ_openspace(L, &G(L)->buff, tl); + tl = 0; + n = i; + do { /* concat all strings */ + size_t l = tsvalue(top-i)->len; + memcpy(buffer+tl, svalue(top-i), l * sizeof(char)); + tl += l; + } while (--i > 0); + setsvalue2s(L, top-n, luaS_newlstr(L, buffer, tl)); + } + total -= n-1; /* got 'n' strings to create 1 new */ + L->top -= n-1; /* popped 'n' strings and pushed one */ + } while (total > 1); /* repeat until only 1 result left */ +} + + +void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) { + const TValue *tm; + switch (ttypenv(rb)) { + case LUA_TTABLE: { + Table *h = hvalue(rb); + tm = fasttm(L, h->metatable, TM_LEN); + if (tm) break; /* metamethod? break switch to call it */ + setnvalue(ra, cast_num(luaH_getn(h))); /* else primitive len */ + return; + } + case LUA_TSTRING: { + setnvalue(ra, cast_num(tsvalue(rb)->len)); + return; + } + default: { /* try metamethod */ + tm = luaT_gettmbyobj(L, rb, TM_LEN); + if (ttisnil(tm)) /* no metamethod? */ + luaG_typeerror(L, rb, "get length of"); + break; + } + } + callTM(L, tm, rb, rb, ra, 1); +} + + +void luaV_arith (lua_State *L, StkId ra, const TValue *rb, + const TValue *rc, TMS op) { + TValue tempb, tempc; + const TValue *b, *c; + if ((b = luaV_tonumber(rb, &tempb)) != NULL && + (c = luaV_tonumber(rc, &tempc)) != NULL) { + lua_Number res = luaO_arith(op - TM_ADD + LUA_OPADD, nvalue(b), nvalue(c)); + setnvalue(ra, res); + } + else if (!call_binTM(L, rb, rc, ra, op)) + luaG_aritherror(L, rb, rc); +} + + +/* +** check whether cached closure in prototype 'p' may be reused, that is, +** whether there is a cached closure with the same upvalues needed by +** new closure to be created. +*/ +static Closure *getcached (Proto *p, UpVal **encup, StkId base) { + Closure *c = p->cache; + if (c != NULL) { /* is there a cached closure? */ + int nup = p->sizeupvalues; + Upvaldesc *uv = p->upvalues; + int i; + for (i = 0; i < nup; i++) { /* check whether it has right upvalues */ + TValue *v = uv[i].instack ? base + uv[i].idx : encup[uv[i].idx]->v; + if (c->l.upvals[i]->v != v) + return NULL; /* wrong upvalue; cannot reuse closure */ + } + } + return c; /* return cached closure (or NULL if no cached closure) */ +} + + +/* +** create a new Lua closure, push it in the stack, and initialize +** its upvalues. Note that the call to 'luaC_barrierproto' must come +** before the assignment to 'p->cache', as the function needs the +** original value of that field. +*/ +static void pushclosure (lua_State *L, Proto *p, UpVal **encup, StkId base, + StkId ra) { + int nup = p->sizeupvalues; + Upvaldesc *uv = p->upvalues; + int i; + Closure *ncl = luaF_newLclosure(L, nup); + ncl->l.p = p; + setclLvalue(L, ra, ncl); /* anchor new closure in stack */ + for (i = 0; i < nup; i++) { /* fill in its upvalues */ + if (uv[i].instack) /* upvalue refers to local variable? */ + ncl->l.upvals[i] = luaF_findupval(L, base + uv[i].idx); + else /* get upvalue from enclosing function */ + ncl->l.upvals[i] = encup[uv[i].idx]; + } + luaC_barrierproto(L, p, ncl); + p->cache = ncl; /* save it on cache for reuse */ +} + + +/* +** finish execution of an opcode interrupted by an yield +*/ +void luaV_finishOp (lua_State *L) { + CallInfo *ci = L->ci; + StkId base = ci->u.l.base; + Instruction inst = *(ci->u.l.savedpc - 1); /* interrupted instruction */ + OpCode op = GET_OPCODE(inst); + switch (op) { /* finish its execution */ + case OP_ADD: case OP_SUB: case OP_MUL: case OP_DIV: + case OP_MOD: case OP_POW: case OP_UNM: case OP_LEN: + case OP_GETTABUP: case OP_GETTABLE: case OP_SELF: { + setobjs2s(L, base + GETARG_A(inst), --L->top); + break; + } + case OP_LE: case OP_LT: case OP_EQ: { + int res = !l_isfalse(L->top - 1); + L->top--; + /* metamethod should not be called when operand is K */ + lua_assert(!ISK(GETARG_B(inst))); + if (op == OP_LE && /* "<=" using "<" instead? */ + ttisnil(luaT_gettmbyobj(L, base + GETARG_B(inst), TM_LE))) + res = !res; /* invert result */ + lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_JMP); + if (res != GETARG_A(inst)) /* condition failed? */ + ci->u.l.savedpc++; /* skip jump instruction */ + break; + } + case OP_CONCAT: { + StkId top = L->top - 1; /* top when 'call_binTM' was called */ + int b = GETARG_B(inst); /* first element to concatenate */ + int total = cast_int(top - 1 - (base + b)); /* yet to concatenate */ + setobj2s(L, top - 2, top); /* put TM result in proper position */ + if (total > 1) { /* are there elements to concat? */ + L->top = top - 1; /* top is one after last element (at top-2) */ + luaV_concat(L, total); /* concat them (may yield again) */ + } + /* move final result to final position */ + setobj2s(L, ci->u.l.base + GETARG_A(inst), L->top - 1); + L->top = ci->top; /* restore top */ + break; + } + case OP_TFORCALL: { + lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_TFORLOOP); + L->top = ci->top; /* correct top */ + break; + } + case OP_CALL: { + if (GETARG_C(inst) - 1 >= 0) /* nresults >= 0? */ + L->top = ci->top; /* adjust results */ + break; + } + case OP_TAILCALL: case OP_SETTABUP: case OP_SETTABLE: + break; + default: lua_assert(0); + } +} + + + +/* +** some macros for common tasks in `luaV_execute' +*/ + +#if !defined luai_runtimecheck +#define luai_runtimecheck(L, c) /* void */ +#endif + + +#define RA(i) (base+GETARG_A(i)) +/* to be used after possible stack reallocation */ +#define RB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i)) +#define RC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i)) +#define RKB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, \ + ISK(GETARG_B(i)) ? k+INDEXK(GETARG_B(i)) : base+GETARG_B(i)) +#define RKC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgK, \ + ISK(GETARG_C(i)) ? k+INDEXK(GETARG_C(i)) : base+GETARG_C(i)) +#define KBx(i) \ + (k + (GETARG_Bx(i) != 0 ? GETARG_Bx(i) - 1 : GETARG_Ax(*ci->u.l.savedpc++))) + + +/* execute a jump instruction */ +#define dojump(ci,i,e) \ + { int a = GETARG_A(i); \ + if (a > 0) luaF_close(L, ci->u.l.base + a - 1); \ + ci->u.l.savedpc += GETARG_sBx(i) + e; } + +/* for test instructions, execute the jump instruction that follows it */ +#define donextjump(ci) { i = *ci->u.l.savedpc; dojump(ci, i, 1); } + + +#define Protect(x) { {x;}; base = ci->u.l.base; } + +#define checkGC(L,c) \ + Protect( luaC_condGC(L,{L->top = (c); /* limit of live values */ \ + luaC_step(L); \ + L->top = ci->top;}) /* restore top */ \ + luai_threadyield(L); ) + + +#define arith_op(op,tm) { \ + TValue *rb = RKB(i); \ + TValue *rc = RKC(i); \ + if (ttisnumber(rb) && ttisnumber(rc)) { \ + lua_Number nb = nvalue(rb), nc = nvalue(rc); \ + setnvalue(ra, op(L, nb, nc)); \ + } \ + else { Protect(luaV_arith(L, ra, rb, rc, tm)); } } + + +#define vmdispatch(o) switch(o) +#define vmcase(l,b) case l: {b} break; +#define vmcasenb(l,b) case l: {b} /* nb = no break */ + +void luaV_execute (lua_State *L) { + CallInfo *ci = L->ci; + LClosure *cl; + TValue *k; + StkId base; + newframe: /* reentry point when frame changes (call/return) */ + lua_assert(ci == L->ci); + cl = clLvalue(ci->func); + k = cl->p->k; + base = ci->u.l.base; + /* main loop of interpreter */ + for (;;) { + Instruction i = *(ci->u.l.savedpc++); + StkId ra; + if ((L->hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) && + (--L->hookcount == 0 || L->hookmask & LUA_MASKLINE)) { + Protect(traceexec(L)); + } + /* WARNING: several calls may realloc the stack and invalidate `ra' */ + ra = RA(i); + lua_assert(base == ci->u.l.base); + lua_assert(base <= L->top && L->top < L->stack + L->stacksize); + vmdispatch (GET_OPCODE(i)) { + vmcase(OP_MOVE, + setobjs2s(L, ra, RB(i)); + ) + vmcase(OP_LOADK, + TValue *rb = k + GETARG_Bx(i); + setobj2s(L, ra, rb); + ) + vmcase(OP_LOADKX, + TValue *rb; + lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG); + rb = k + GETARG_Ax(*ci->u.l.savedpc++); + setobj2s(L, ra, rb); + ) + vmcase(OP_LOADBOOL, + setbvalue(ra, GETARG_B(i)); + if (GETARG_C(i)) ci->u.l.savedpc++; /* skip next instruction (if C) */ + ) + vmcase(OP_LOADNIL, + int b = GETARG_B(i); + do { + setnilvalue(ra++); + } while (b--); + ) + vmcase(OP_GETUPVAL, + int b = GETARG_B(i); + setobj2s(L, ra, cl->upvals[b]->v); + ) + vmcase(OP_GETTABUP, + int b = GETARG_B(i); + Protect(luaV_gettable(L, cl->upvals[b]->v, RKC(i), ra)); + ) + vmcase(OP_GETTABLE, + Protect(luaV_gettable(L, RB(i), RKC(i), ra)); + ) + vmcase(OP_SETTABUP, + int a = GETARG_A(i); + Protect(luaV_settable(L, cl->upvals[a]->v, RKB(i), RKC(i))); + ) + vmcase(OP_SETUPVAL, + UpVal *uv = cl->upvals[GETARG_B(i)]; + setobj(L, uv->v, ra); + luaC_barrier(L, uv, ra); + ) + vmcase(OP_SETTABLE, + Protect(luaV_settable(L, ra, RKB(i), RKC(i))); + ) + vmcase(OP_NEWTABLE, + int b = GETARG_B(i); + int c = GETARG_C(i); + Table *t = luaH_new(L); + sethvalue(L, ra, t); + if (b != 0 || c != 0) + luaH_resize(L, t, luaO_fb2int(b), luaO_fb2int(c)); + checkGC(L, ra + 1); + ) + vmcase(OP_SELF, + StkId rb = RB(i); + setobjs2s(L, ra+1, rb); + Protect(luaV_gettable(L, rb, RKC(i), ra)); + ) + vmcase(OP_ADD, + arith_op(luai_numadd, TM_ADD); + ) + vmcase(OP_SUB, + arith_op(luai_numsub, TM_SUB); + ) + vmcase(OP_MUL, + arith_op(luai_nummul, TM_MUL); + ) + vmcase(OP_DIV, + arith_op(luai_numdiv, TM_DIV); + ) + vmcase(OP_MOD, + arith_op(luai_nummod, TM_MOD); + ) + vmcase(OP_POW, + arith_op(luai_numpow, TM_POW); + ) + vmcase(OP_UNM, + TValue *rb = RB(i); + if (ttisnumber(rb)) { + lua_Number nb = nvalue(rb); + setnvalue(ra, luai_numunm(L, nb)); + } + else { + Protect(luaV_arith(L, ra, rb, rb, TM_UNM)); + } + ) + vmcase(OP_NOT, + TValue *rb = RB(i); + int res = l_isfalse(rb); /* next assignment may change this value */ + setbvalue(ra, res); + ) + vmcase(OP_LEN, + Protect(luaV_objlen(L, ra, RB(i))); + ) + vmcase(OP_CONCAT, + int b = GETARG_B(i); + int c = GETARG_C(i); + StkId rb; + L->top = base + c + 1; /* mark the end of concat operands */ + Protect(luaV_concat(L, c - b + 1)); + ra = RA(i); /* 'luav_concat' may invoke TMs and move the stack */ + rb = b + base; + setobjs2s(L, ra, rb); + checkGC(L, (ra >= rb ? ra + 1 : rb)); + L->top = ci->top; /* restore top */ + ) + vmcase(OP_JMP, + dojump(ci, i, 0); + ) + vmcase(OP_EQ, + TValue *rb = RKB(i); + TValue *rc = RKC(i); + Protect( + if (cast_int(equalobj(L, rb, rc)) != GETARG_A(i)) + ci->u.l.savedpc++; + else + donextjump(ci); + ) + ) + vmcase(OP_LT, + Protect( + if (luaV_lessthan(L, RKB(i), RKC(i)) != GETARG_A(i)) + ci->u.l.savedpc++; + else + donextjump(ci); + ) + ) + vmcase(OP_LE, + Protect( + if (luaV_lessequal(L, RKB(i), RKC(i)) != GETARG_A(i)) + ci->u.l.savedpc++; + else + donextjump(ci); + ) + ) + vmcase(OP_TEST, + if (GETARG_C(i) ? l_isfalse(ra) : !l_isfalse(ra)) + ci->u.l.savedpc++; + else + donextjump(ci); + ) + vmcase(OP_TESTSET, + TValue *rb = RB(i); + if (GETARG_C(i) ? l_isfalse(rb) : !l_isfalse(rb)) + ci->u.l.savedpc++; + else { + setobjs2s(L, ra, rb); + donextjump(ci); + } + ) + vmcase(OP_CALL, + int b = GETARG_B(i); + int nresults = GETARG_C(i) - 1; + if (b != 0) L->top = ra+b; /* else previous instruction set top */ + if (luaD_precall(L, ra, nresults)) { /* C function? */ + if (nresults >= 0) L->top = ci->top; /* adjust results */ + base = ci->u.l.base; + } + else { /* Lua function */ + ci = L->ci; + ci->callstatus |= CIST_REENTRY; + goto newframe; /* restart luaV_execute over new Lua function */ + } + ) + vmcase(OP_TAILCALL, + int b = GETARG_B(i); + if (b != 0) L->top = ra+b; /* else previous instruction set top */ + lua_assert(GETARG_C(i) - 1 == LUA_MULTRET); + if (luaD_precall(L, ra, LUA_MULTRET)) /* C function? */ + base = ci->u.l.base; + else { + /* tail call: put called frame (n) in place of caller one (o) */ + CallInfo *nci = L->ci; /* called frame */ + CallInfo *oci = nci->previous; /* caller frame */ + StkId nfunc = nci->func; /* called function */ + StkId ofunc = oci->func; /* caller function */ + /* last stack slot filled by 'precall' */ + StkId lim = nci->u.l.base + getproto(nfunc)->numparams; + int aux; + /* close all upvalues from previous call */ + if (cl->p->sizep > 0) luaF_close(L, oci->u.l.base); + /* move new frame into old one */ + for (aux = 0; nfunc + aux < lim; aux++) + setobjs2s(L, ofunc + aux, nfunc + aux); + oci->u.l.base = ofunc + (nci->u.l.base - nfunc); /* correct base */ + oci->top = L->top = ofunc + (L->top - nfunc); /* correct top */ + oci->u.l.savedpc = nci->u.l.savedpc; + oci->callstatus |= CIST_TAIL; /* function was tail called */ + ci = L->ci = oci; /* remove new frame */ + lua_assert(L->top == oci->u.l.base + getproto(ofunc)->maxstacksize); + goto newframe; /* restart luaV_execute over new Lua function */ + } + ) + vmcasenb(OP_RETURN, + int b = GETARG_B(i); + if (b != 0) L->top = ra+b-1; + if (cl->p->sizep > 0) luaF_close(L, base); + b = luaD_poscall(L, ra); + if (!(ci->callstatus & CIST_REENTRY)) /* 'ci' still the called one */ + return; /* external invocation: return */ + else { /* invocation via reentry: continue execution */ + ci = L->ci; + if (b) L->top = ci->top; + lua_assert(isLua(ci)); + lua_assert(GET_OPCODE(*((ci)->u.l.savedpc - 1)) == OP_CALL); + goto newframe; /* restart luaV_execute over new Lua function */ + } + ) + vmcase(OP_FORLOOP, + lua_Number step = nvalue(ra+2); + lua_Number idx = luai_numadd(L, nvalue(ra), step); /* increment index */ + lua_Number limit = nvalue(ra+1); + if (luai_numlt(L, 0, step) ? luai_numle(L, idx, limit) + : luai_numle(L, limit, idx)) { + ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ + setnvalue(ra, idx); /* update internal index... */ + setnvalue(ra+3, idx); /* ...and external index */ + } + ) + vmcase(OP_FORPREP, + const TValue *init = ra; + const TValue *plimit = ra+1; + const TValue *pstep = ra+2; + if (!tonumber(init, ra)) + luaG_runerror(L, LUA_QL("for") " initial value must be a number"); + else if (!tonumber(plimit, ra+1)) + luaG_runerror(L, LUA_QL("for") " limit must be a number"); + else if (!tonumber(pstep, ra+2)) + luaG_runerror(L, LUA_QL("for") " step must be a number"); + setnvalue(ra, luai_numsub(L, nvalue(ra), nvalue(pstep))); + ci->u.l.savedpc += GETARG_sBx(i); + ) + vmcasenb(OP_TFORCALL, + StkId cb = ra + 3; /* call base */ + setobjs2s(L, cb+2, ra+2); + setobjs2s(L, cb+1, ra+1); + setobjs2s(L, cb, ra); + L->top = cb + 3; /* func. + 2 args (state and index) */ + Protect(luaD_call(L, cb, GETARG_C(i), 1)); + L->top = ci->top; + i = *(ci->u.l.savedpc++); /* go to next instruction */ + ra = RA(i); + lua_assert(GET_OPCODE(i) == OP_TFORLOOP); + goto l_tforloop; + ) + vmcase(OP_TFORLOOP, + l_tforloop: + if (!ttisnil(ra + 1)) { /* continue loop? */ + setobjs2s(L, ra, ra + 1); /* save control variable */ + ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ + } + ) + vmcase(OP_SETLIST, + int n = GETARG_B(i); + int c = GETARG_C(i); + int last; + Table *h; + if (n == 0) n = cast_int(L->top - ra) - 1; + if (c == 0) { + lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG); + c = GETARG_Ax(*ci->u.l.savedpc++); + } + luai_runtimecheck(L, ttistable(ra)); + h = hvalue(ra); + last = ((c-1)*LFIELDS_PER_FLUSH) + n; + if (last > h->sizearray) /* needs more space? */ + luaH_resizearray(L, h, last); /* pre-allocate it at once */ + for (; n > 0; n--) { + TValue *val = ra+n; + luaH_setint(L, h, last--, val); + luaC_barrierback(L, obj2gco(h), val); + } + L->top = ci->top; /* correct top (in case of previous open call) */ + ) + vmcase(OP_CLOSURE, + Proto *p = cl->p->p[GETARG_Bx(i)]; + Closure *ncl = getcached(p, cl->upvals, base); /* cached closure */ + if (ncl == NULL) /* no match? */ + pushclosure(L, p, cl->upvals, base, ra); /* create a new one */ + else + setclLvalue(L, ra, ncl); /* push cashed closure */ + checkGC(L, ra + 1); + ) + vmcase(OP_VARARG, + int b = GETARG_B(i) - 1; + int j; + int n = cast_int(base - ci->func) - cl->p->numparams - 1; + if (b < 0) { /* B == 0? */ + b = n; /* get all var. arguments */ + Protect(luaD_checkstack(L, n)); + ra = RA(i); /* previous call may change the stack */ + L->top = ra + n; + } + for (j = 0; j < b; j++) { + if (j < n) { + setobjs2s(L, ra + j, base - n + j); + } + else { + setnilvalue(ra + j); + } + } + ) + vmcase(OP_EXTRAARG, + lua_assert(0); + ) + } + } +} + diff --git a/server/scripting/Lua/src/lvm.h b/server/scripting/Lua/src/lvm.h new file mode 100644 index 0000000..5380270 --- /dev/null +++ b/server/scripting/Lua/src/lvm.h @@ -0,0 +1,44 @@ +/* +** $Id: lvm.h,v 2.18.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua virtual machine +** See Copyright Notice in lua.h +*/ + +#ifndef lvm_h +#define lvm_h + + +#include "ldo.h" +#include "lobject.h" +#include "ltm.h" + + +#define tostring(L,o) (ttisstring(o) || (luaV_tostring(L, o))) + +#define tonumber(o,n) (ttisnumber(o) || (((o) = luaV_tonumber(o,n)) != NULL)) + +#define equalobj(L,o1,o2) (ttisequal(o1, o2) && luaV_equalobj_(L, o1, o2)) + +#define luaV_rawequalobj(o1,o2) equalobj(NULL,o1,o2) + + +/* not to called directly */ +LUAI_FUNC int luaV_equalobj_ (lua_State *L, const TValue *t1, const TValue *t2); + + +LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r); +LUAI_FUNC int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r); +LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n); +LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj); +LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key, + StkId val); +LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key, + StkId val); +LUAI_FUNC void luaV_finishOp (lua_State *L); +LUAI_FUNC void luaV_execute (lua_State *L); +LUAI_FUNC void luaV_concat (lua_State *L, int total); +LUAI_FUNC void luaV_arith (lua_State *L, StkId ra, const TValue *rb, + const TValue *rc, TMS op); +LUAI_FUNC void luaV_objlen (lua_State *L, StkId ra, const TValue *rb); + +#endif diff --git a/server/scripting/Lua/src/lzio.c b/server/scripting/Lua/src/lzio.c new file mode 100644 index 0000000..20efea9 --- /dev/null +++ b/server/scripting/Lua/src/lzio.c @@ -0,0 +1,76 @@ +/* +** $Id: lzio.c,v 1.35.1.1 2013/04/12 18:48:47 roberto Exp $ +** Buffered streams +** See Copyright Notice in lua.h +*/ + + +#include + +#define lzio_c +#define LUA_CORE + +#include "lua.h" + +#include "llimits.h" +#include "lmem.h" +#include "lstate.h" +#include "lzio.h" + + +int luaZ_fill (ZIO *z) { + size_t size; + lua_State *L = z->L; + const char *buff; + lua_unlock(L); + buff = z->reader(L, z->data, &size); + lua_lock(L); + if (buff == NULL || size == 0) + return EOZ; + z->n = size - 1; /* discount char being returned */ + z->p = buff; + return cast_uchar(*(z->p++)); +} + + +void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data) { + z->L = L; + z->reader = reader; + z->data = data; + z->n = 0; + z->p = NULL; +} + + +/* --------------------------------------------------------------- read --- */ +size_t luaZ_read (ZIO *z, void *b, size_t n) { + while (n) { + size_t m; + if (z->n == 0) { /* no bytes in buffer? */ + if (luaZ_fill(z) == EOZ) /* try to read more */ + return n; /* no more input; return number of missing bytes */ + else { + z->n++; /* luaZ_fill consumed first byte; put it back */ + z->p--; + } + } + m = (n <= z->n) ? n : z->n; /* min. between n and z->n */ + memcpy(b, z->p, m); + z->n -= m; + z->p += m; + b = (char *)b + m; + n -= m; + } + return 0; +} + +/* ------------------------------------------------------------------------ */ +char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n) { + if (n > buff->buffsize) { + if (n < LUA_MINBUFFER) n = LUA_MINBUFFER; + luaZ_resizebuffer(L, buff, n); + } + return buff->buffer; +} + + diff --git a/server/scripting/Lua/src/lzio.h b/server/scripting/Lua/src/lzio.h new file mode 100644 index 0000000..441f747 --- /dev/null +++ b/server/scripting/Lua/src/lzio.h @@ -0,0 +1,65 @@ +/* +** $Id: lzio.h,v 1.26.1.1 2013/04/12 18:48:47 roberto Exp $ +** Buffered streams +** See Copyright Notice in lua.h +*/ + + +#ifndef lzio_h +#define lzio_h + +#include "lua.h" + +#include "lmem.h" + + +#define EOZ (-1) /* end of stream */ + +typedef struct Zio ZIO; + +#define zgetc(z) (((z)->n--)>0 ? cast_uchar(*(z)->p++) : luaZ_fill(z)) + + +typedef struct Mbuffer { + char *buffer; + size_t n; + size_t buffsize; +} Mbuffer; + +#define luaZ_initbuffer(L, buff) ((buff)->buffer = NULL, (buff)->buffsize = 0) + +#define luaZ_buffer(buff) ((buff)->buffer) +#define luaZ_sizebuffer(buff) ((buff)->buffsize) +#define luaZ_bufflen(buff) ((buff)->n) + +#define luaZ_resetbuffer(buff) ((buff)->n = 0) + + +#define luaZ_resizebuffer(L, buff, size) \ + (luaM_reallocvector(L, (buff)->buffer, (buff)->buffsize, size, char), \ + (buff)->buffsize = size) + +#define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0) + + +LUAI_FUNC char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n); +LUAI_FUNC void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, + void *data); +LUAI_FUNC size_t luaZ_read (ZIO* z, void* b, size_t n); /* read next n bytes */ + + + +/* --------- Private Part ------------------ */ + +struct Zio { + size_t n; /* bytes still unread */ + const char *p; /* current position in buffer */ + lua_Reader reader; /* reader function */ + void* data; /* additional data */ + lua_State *L; /* Lua state (for reader) */ +}; + + +LUAI_FUNC int luaZ_fill (ZIO *z); + +#endif diff --git a/server/scripting/lua_helpers.h b/server/scripting/lua_helpers.h new file mode 100644 index 0000000..4f7161a --- /dev/null +++ b/server/scripting/lua_helpers.h @@ -0,0 +1,166 @@ +#pragma once + +// Helper macro to stringify an arg (e.g. User -> "User") +#define STR(str) #str +#define STRINGIFY(str) STR(str) + +// Define standardised names for exposed Lua class constants. +#define LUA_CLASS_METATABLE __LuaMetatableName +#define LUA_CLASS_METHOD_TABLE __LuaMethodTable + +// Provide the in-class declarations for our exposed Lua class constants. +#define DECLARE_LUA_CLASS(Class) \ + static const char * LUA_CLASS_METATABLE; \ + static const struct luaL_Reg LUA_CLASS_METHOD_TABLE[]; \ + typedef Class SelfType; + +// Define our Lua class constants (outside of the class) +//#define DEFINE_LUA_CLASS(Class, methods) \ +// const char * Class ## ::LUA_CLASS_METATABLE = "luaL_" STR(Class); \ +// DEFINE_LUA_FUNCTION_TABLE(Class::LUA_CLASS_METHOD_TABLE, methods) +#define CONCAT_(A, B) A ## B +#define CONCAT(A, B) CONCAT_(A, B) + +// Define our Lua class constants (outside of the class) +//#define DEFINE_LUA_CLASS(Class, methods) \ +// const char * Class ## ::LUA_CLASS_METATABLE = "luaL_" STR(Class); \ +// DEFINE_LUA_FUNCTION_TABLE(Class::LUA_CLASS_METHOD_TABLE, methods) +#define DEFINE_LUA_CLASS(...) \ + const char * LUA_CLASS::LUA_CLASS_METATABLE = STRINGIFY(CONCAT(luaL_, LUA_CLASS)); \ + DEFINE_LUA_FUNCTION_TABLE(LUA_CLASS::LUA_CLASS_METHOD_TABLE, __VA_ARGS__) + +// Helper macro to build a Lua function table. +// Should look something like: +/* +const struct luaL_Reg gFuncs[] = +{ +{ "Function", Function }, +{ nullptr, nullptr } +}; +*/ +#define DEFINE_LUA_FUNCTION_TABLE(name, ...) const struct luaL_Reg name[] = \ + { \ + __VA_ARGS__ \ + { nullptr, nullptr } \ + } + +// Helper macros to generate elements in a Lua function table. +#define MAKE_LUA_FUNCTION(name) { #name, Lua_ ## name }, + +// #define MAKE_LUA_METHOD(Class, name) { STR(name), Class::Lua_ ## name }, +#define MAKE_LUA_METHOD(name) { #name, LUA_CLASS::Lua_ ## name }, + +// Defines the header for a Lua C function (or C++ method prototype, but remember to define as static). +#define LUA_FUNCTION(name) int Lua_ ## name(lua_State *L) +#define DECLARE_LUA_FUNCTION(name) static LUA_FUNCTION(name) + +#define DECLARE_LUA_GETTER(name) DECLARE_LUA_FUNCTION(name) { LUA_RETURN(LUA_GET_INSTANCE()->name()); } + +/** +* Start of helper template functions +**/ + +// Creates Lua userdata & assigns it to the predefined class's metatable +// so that we can use the object directly within Lua. +template INLINE void lua_tpush(lua_State * L, T arg) +{ + T * udata = (T *)lua_newuserdata(L, sizeof(T *)); + *udata = arg; + luaL_setmetatable(L, arg->LUA_CLASS_METATABLE); +} + +// std::string +template <> INLINE void lua_tpush(lua_State * L, std::string arg) { lua_pushlstring(L, arg.c_str(), arg.length()); } + +// char * +template <> INLINE void lua_tpush(lua_State * L, const char * arg) { lua_pushstring(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, char * arg) { lua_pushstring(L, arg); } + +// Retrieves userdata from the start but does NOT enforce type checks. Shouldn't use this if we can help it. +template INLINE T lua_to(lua_State * L, int idx) { return *(T *)lua_touserdata(L, idx); } +template INLINE T lua_to_default(lua_State * L, int idx, T def) { return *(T *)lua_touserdata(L, idx); } // userdata must NOT be optional. + +// Retrieves userdata from the stack and enforces type checks +template INLINE T lua_to(lua_State * L, int idx, const char * name) { return *(T *)luaL_checkudata(L, idx, name); } + +// 'Numbers' are defined as double by default +template <> INLINE void lua_tpush(lua_State * L, double arg) { lua_pushnumber(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, float arg) { lua_pushnumber(L, arg); } + +// Required parameters +template <> INLINE double lua_to(lua_State * L, int idx) { return luaL_checknumber(L, idx); } +template <> INLINE float lua_to(lua_State * L, int idx) { return (float)luaL_checknumber(L, idx); } +template <> INLINE unsigned int lua_to(lua_State * L, int idx) { return luaL_checkunsigned(L, idx); } +template <> INLINE unsigned short lua_to(lua_State * L, int idx) { return luaL_checkunsigned(L, idx); } +template <> INLINE unsigned char lua_to(lua_State * L, int idx) { return luaL_checkunsigned(L, idx); } +template <> INLINE int lua_to(lua_State * L, int idx) { return luaL_checkinteger(L, idx); } +template <> INLINE short lua_to(lua_State * L, int idx) { return luaL_checkinteger(L, idx); } +template <> INLINE char lua_to(lua_State * L, int idx) { return luaL_checkinteger(L, idx); } +template <> INLINE bool lua_to(lua_State * L, int idx) { return lua_toboolean(L, idx) == 1; } +template <> INLINE const char * lua_to(lua_State * L, int idx) { return luaL_checkstring(L, idx); } + +// Optional parameters +template <> INLINE double lua_to_default(lua_State * L, int idx, double def) { return luaL_optnumber(L, idx, def); } +template <> INLINE float lua_to_default(lua_State * L, int idx, float def) { return (float)luaL_optnumber(L, idx, def); } +template <> INLINE unsigned int lua_to_default(lua_State * L, int idx, unsigned int def) { return luaL_optunsigned(L, idx, def); } +template <> INLINE unsigned short lua_to_default(lua_State * L, int idx, unsigned short def) { return luaL_optunsigned(L, idx, def); } +template <> INLINE unsigned char lua_to_default(lua_State * L, int idx, unsigned char def) { return luaL_optunsigned(L, idx, def); } +template <> INLINE int lua_to_default(lua_State * L, int idx, int def) { return luaL_optinteger(L, idx, def); } +template <> INLINE short lua_to_default(lua_State * L, int idx, short def) { return luaL_optinteger(L, idx, def); } +template <> INLINE char lua_to_default(lua_State * L, int idx, char def) { return luaL_optinteger(L, idx, def); } + +// Handle unsigned types (smaller types will be upcast) +template <> INLINE void lua_tpush(lua_State * L, unsigned int arg) { lua_pushunsigned(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, unsigned short arg) { lua_pushunsigned(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, unsigned char arg) { lua_pushunsigned(L, arg); } + +// handle signed types (smaller types will be upcast) +template <> INLINE void lua_tpush(lua_State * L, int arg) { lua_pushinteger(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, short arg) { lua_pushinteger(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, char arg) { lua_pushinteger(L, arg); } +template <> INLINE void lua_tpush(lua_State * L, signed char arg) { lua_pushinteger(L, arg); } + +// handle booleans +template <> INLINE void lua_tpush(lua_State * L, bool arg) { lua_pushboolean(L, arg); } + +// Shortcut for setting an arbitrary global value. +template INLINE void lua_tsetglobal(lua_State * L, const char * szGlobalName, T arg) +{ + lua_tpush(L, arg); + lua_setglobal(L, szGlobalName); +} + +// Macro to help push a null (nil) arg +//#define LUA_PUSH_nullptr() + +// Binds an arbitrary Lua class. +#define lua_bindclass(L, Class) lua_createclass(L, Class::LUA_CLASS_METHOD_TABLE, Class::LUA_CLASS_METATABLE) + +// Binds the specified Lua class with the specified methods. +INLINE void lua_createclass(lua_State * L, const luaL_Reg * methods, const char * name) +{ + luaL_newmetatable(L, name); + luaL_setfuncs(L, methods, 0); + lua_pushvalue(L, -1); + lua_setfield(L, -1, "__index"); +} + +// Macro to help pull args. NOTE: These are checked for type safety. +#define LUA_ARG(type, pos) lua_to(L, pos) +#define LUA_ARG_OPTIONAL(type, def, pos) lua_to_default(L, pos, def) +#define LUA_UARG(type, pos) lua_to(L, pos, type::LUA_CLASS_METATABLE) + +// Shortcut to retrieve the specified class instance (from the first item on the stack, for class bindings) +#define LUA_GET_CLASS_INSTANCE(Class) LUA_UARG(Class, 1) + +// Shortcut to retrieve the current class intance (from the first item on the stack, for class bindings) +#define LUA_GET_INSTANCE() LUA_GET_CLASS_INSTANCE(SelfType) + +// Shortcut to return the single specified value from a Lua C binding to a Lua function. +#define LUA_RETURN(value) lua_tpush(L, value); \ + return 1 // return 1 result + +#define LUA_NO_RESULTS 0 + +#define LUA_NO_RETURN(value) value; \ + return LUA_NO_RESULTS // return 0 results diff --git a/server/shared/Atomic.h b/server/shared/Atomic.h new file mode 100644 index 0000000..495ff9a --- /dev/null +++ b/server/shared/Atomic.h @@ -0,0 +1,49 @@ +#pragma once + +template +class Atomic +{ +public: + Atomic() {} + Atomic(T value) : m_atomic(value) {} + + operator T() { return (T) m_atomic; } + + INLINE Atomic& operator++() { increment(); return *this; } + INLINE Atomic& operator--() { decrement(); return *this; } + + // NOTE: The following operators should only be used if it can't be helped. +#define ATOMIC_COMPARISON(op) \ + template \ + INLINE friend bool operator op (Atomic& lhs, const T2 rhs) { return lhs.m_atomic op rhs; } + + // Hide signed/unsigned comparison warning. + // It's only valid on VS2010, when the type is always long (so, signed). +#pragma warning(push) +#pragma warning(disable: 4018) + + ATOMIC_COMPARISON(>) + ATOMIC_COMPARISON(>=) + ATOMIC_COMPARISON(<) + ATOMIC_COMPARISON(<=) + ATOMIC_COMPARISON(==) + ATOMIC_COMPARISON(!=) + +#pragma warning(pop) +#undef ATOMIC_COMPARISON + + template INLINE Atomic& operator=(const T2& rhs) { m_atomic = rhs; return *this; } + template INLINE Atomic& operator+=(const T2 rhs) { m_atomic += rhs; return *this; } + template INLINE Atomic& operator-=(const T2 rhs) { m_atomic -= rhs; return *this; } + + INLINE T increment() { return ++m_atomic; } + INLINE T decrement() { return --m_atomic; } + + INLINE bool compare_exchange(T & expected, T desired) { return m_atomic.compare_exchange_strong(expected, desired); } + +protected: + std::atomic m_atomic; + +private: + Atomic(const Atomic & other); /* disable copy constructor */ +}; diff --git a/server/shared/ByteBuffer.h b/server/shared/ByteBuffer.h new file mode 100644 index 0000000..4c1996f --- /dev/null +++ b/server/shared/ByteBuffer.h @@ -0,0 +1,175 @@ +#pragma once + +#include + +class ByteBuffer +{ +public: + const static size_t DEFAULT_SIZE = 32; + bool m_doubleByte; + + ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + ByteBuffer(const ByteBuffer &buf): _rpos(buf._rpos), _wpos(buf._wpos), _storage(buf._storage) { } + virtual ~ByteBuffer() {} + + void clear() + { + _storage.clear(); + _rpos = _wpos = 0; + } + + template void append(T value) { append((uint8 *)&value, sizeof(value)); } + template void put(size_t pos,T value) { put(pos,(uint8 *)&value, sizeof(value)); } + + // stream like operators for storing data + ByteBuffer &operator<<(bool value) { append((char)value); return *this; } + + // unsigned + ByteBuffer &operator<<(uint8 value) { append (value); return *this; } + ByteBuffer &operator<<(uint16 value) { append(value); return *this; } + ByteBuffer &operator<<(uint32 value) { append(value); return *this; } + ByteBuffer &operator<<(uint64 value) { append(value); return *this; } + // signed as in 2e complement + ByteBuffer &operator<<(int8 value) { append (value); return *this; } + ByteBuffer &operator<<(int16 value) { append(value); return *this; } + ByteBuffer &operator<<(int32 value) { append(value); return *this; } + ByteBuffer &operator<<(int64 value) { append(value); return *this; } + ByteBuffer &operator<<(float value) { append(value); return *this; } + + ByteBuffer &operator<<(ByteBuffer &value) + { + if (value.wpos()) + append(value.contents(), value.wpos()); + return *this; + } + + // stream like operators for reading data + ByteBuffer &operator>>(bool &value) { value = read() > 0 ? true : false; return *this; } + // unsigned + ByteBuffer &operator>>(uint8 &value) { value = read(); return *this; } + ByteBuffer &operator>>(uint16 &value) { value = read(); return *this; } + ByteBuffer &operator>>(uint32 &value) { value = read(); return *this; } + ByteBuffer &operator>>(uint64 &value) { value = read(); return *this; } + // signed as in 2e complement + ByteBuffer &operator>>(int8 &value) { value = read(); return *this; } + ByteBuffer &operator>>(int16 &value) { value = read(); return *this; } + ByteBuffer &operator>>(int32 &value) { value = read(); return *this; } + ByteBuffer &operator>>(int64 &value) { value = read(); return *this; } + ByteBuffer &operator>>(float &value) { value = read(); return *this; } + + // Hacky KO string flag - either it's a single byte length, or a double byte. + void SByte() { m_doubleByte = false; } + void DByte() { m_doubleByte = true; } + + ByteBuffer &operator<<(const std::string &value) { *this << value.c_str(); return *this; } + ByteBuffer &operator<<(std::string &value) { *this << value.c_str(); return *this; } + ByteBuffer &operator<<(const char *str) + { + uint16 len = (uint16)strlen(str); + if (m_doubleByte) + append((uint8*)&len, 2); + else + append((uint8*)&len, 1); + append((uint8 *)str, len); + return *this; + } + ByteBuffer &operator<<(char *str) { *this << (const char*)str; return *this; } + + ByteBuffer &operator>>(std::string& value) + { + uint16 len; + value.clear(); + if (m_doubleByte) + len = read(); + else + len = read(); + + if (_rpos + len <= size()) + { + for (uint16 i = 0; i < len; i++) + value.push_back(read()); + } + return *this; + } + + uint8 operator[](size_t pos) { return read(pos); } + + INLINE size_t rpos() { return _rpos; }; + INLINE size_t rpos(size_t rpos) { return _rpos = rpos; }; + INLINE size_t wpos() { return _wpos; }; + INLINE size_t wpos(size_t wpos) { return _wpos = wpos; }; + + template T read() + { + T r = read(_rpos); + _rpos += sizeof(T); + return r; + }; + + template T read(size_t pos) const + { + //ASSERT(pos + sizeof(T) <= size()); + if (pos + sizeof(T) > size()) + return (T)0; + return *((T*)&_storage[pos]); + }; + + void read(void *dest, size_t len) + { + if (_rpos + len <= size()) + memcpy(dest, &_storage[_rpos], len); + else // throw error(); + memset(dest, 0, len); + _rpos += len; + }; + + const uint8 *contents() const { return &_storage[0]; }; + INLINE size_t size() const { return _storage.size(); }; + + // one should never use resize + void resize(size_t newsize) + { + _storage.resize(newsize); + _rpos = 0; + _wpos = size(); + }; + + void reserve(size_t ressize) { if (ressize > size()) _storage.reserve(ressize); }; + + // append to the end of buffer + void append(const std::string& str) { append((uint8 *)str.c_str(),str.size() + 1); } + void append(const char *src, size_t cnt) { return append((const uint8 *)src, cnt); } + void append(const void *src, size_t cnt) + { + if (!cnt) + return; + + // 10MB is far more than you'll ever need. + ASSERT(size() < 10000000); + + if (_storage.size() < _wpos + cnt) + _storage.resize(_wpos + cnt); + + memcpy(&_storage[_wpos], src, cnt); + _wpos += cnt; + } + + void append(const ByteBuffer& buffer) { if (buffer.size() > 0) append(buffer.contents(), buffer.size()); } + void append(const ByteBuffer& buffer, size_t len) + { + ASSERT(buffer._rpos + len <= buffer.size()); + append(buffer.contents() + buffer._rpos, len); + } + + void put(size_t pos, const void *src, size_t cnt) + { + ASSERT(pos + cnt <= size()); + memcpy(&_storage[pos], src, cnt); + } + +protected: + // read and write positions + size_t _rpos, _wpos; + std::vector _storage; +}; diff --git a/server/shared/CircularBuffer.cpp b/server/shared/CircularBuffer.cpp new file mode 100644 index 0000000..2c6dda9 --- /dev/null +++ b/server/shared/CircularBuffer.cpp @@ -0,0 +1,258 @@ +#include "stdafx.h" +#include "CircularBuffer.h" + +/** Constructor +*/ +CircularBuffer::CircularBuffer() +{ + m_buffer = m_bufferEnd = m_regionAPointer = m_regionBPointer = nullptr; + m_regionASize = m_regionBSize = 0; +} + +/** Destructor +*/ +CircularBuffer::~CircularBuffer() +{ + free(m_buffer); +} + +/** Read bytes from the buffer +* @param destination pointer to destination where bytes will be written +* @param bytes number of bytes to read +* @return true if there was enough data, false otherwise +*/ +bool CircularBuffer::Read(void * destination, size_t bytes) +{ + // copy as much out of region a + size_t cnt = bytes; + size_t aRead = 0, bRead = 0; + if( (m_regionASize + m_regionBSize) < bytes ) + return false; + + // If we have both region A and region B, always "finish" off region A first, as + // this will contain the "oldest" data + if( m_regionASize > 0 ) + { + aRead = (cnt > m_regionASize) ? m_regionASize : cnt; + memcpy(destination, m_regionAPointer, aRead); + m_regionASize -= aRead; + m_regionAPointer += aRead; + cnt -= aRead; + } + + // Data left over? read the data from buffer B + if( cnt > 0 && m_regionBSize > 0 ) + { + bRead = (cnt > m_regionBSize) ? m_regionBSize : cnt; + memcpy((char*)destination + aRead, m_regionBPointer, bRead); + m_regionBSize -= bRead; + m_regionBPointer += bRead; + cnt -= bRead; + } + + // is buffer A empty? move buffer B to buffer A, to increase future performance + if( m_regionASize == 0 ) + { + if( m_regionBSize > 0 ) + { + // push it all to the start of the buffer. + if( m_regionBPointer != m_buffer ) + memmove(m_buffer, m_regionBPointer, m_regionBSize); + + m_regionAPointer = m_buffer; + m_regionASize = m_regionBSize; + m_regionBPointer = nullptr; + m_regionBSize = 0; + } + else + { + // no data in region b + m_regionBPointer = nullptr; + m_regionBSize = 0; + m_regionAPointer = m_buffer; + m_regionASize = 0; + } + } + + return true; +} + +void CircularBuffer::AllocateB() +{ + //printf("[allocating B]\n"); + m_regionBPointer = m_buffer; +} + +/** Write bytes to the buffer +* @param data pointer to the data to be written +* @param bytes number of bytes to be written +* @return true if was successful, otherwise false +*/ +bool CircularBuffer::Write(const void * data, size_t bytes) +{ + // If buffer B exists, write to it. + if( m_regionBPointer != nullptr ) + { + if( GetBFreeSpace() < bytes ) + return false; + + memcpy(&m_regionBPointer[m_regionBSize], data, bytes); + m_regionBSize += bytes; + return true; + } + + // Otherwise, write to buffer A, or initialize buffer B depending on which has more space. + if( GetAFreeSpace() < GetSpaceBeforeA() ) + { + AllocateB(); + if( GetBFreeSpace() < bytes ) + return false; + + memcpy(&m_regionBPointer[m_regionBSize], data, bytes); + m_regionBSize += bytes; + return true; + } + else + { + if( GetAFreeSpace() < bytes ) + return false; + + memcpy(&m_regionAPointer[m_regionASize], data, bytes); + m_regionASize += bytes; + return true; + } +} + +/** Returns the number of available bytes left. +*/ +size_t CircularBuffer::GetSpace() +{ + if( m_regionBPointer != nullptr ) + return GetBFreeSpace(); + else + { + // would allocating buffer B get us more data? + if( GetAFreeSpace() < GetSpaceBeforeA() ) + { + AllocateB(); + return GetBFreeSpace(); + } + + // or not? + return GetAFreeSpace(); + } +} + +/** Returns the number of bytes currently stored in the buffer. +*/ +size_t CircularBuffer::GetSize() +{ + return m_regionASize + m_regionBSize; +} + +/** Returns the number of contiguous bytes (that can be pushed out in one operation) +*/ +size_t CircularBuffer::GetContiguousBytes() +{ + if( m_regionASize ) // A before B + return m_regionASize; + else + return m_regionBSize; +} + +/** Removes len bytes from the front of the buffer +* @param len the number of bytes to "cut" +*/ +void CircularBuffer::Remove(size_t len) +{ + // remove from A first before we remove from b + size_t cnt = len; + size_t aRem, bRem; + + // If we have both region A and region B, always "finish" off region A first, as + // this will contain the "oldest" data + if( m_regionASize > 0 ) + { + aRem = (cnt > m_regionASize) ? m_regionASize : cnt; + m_regionASize -= aRem; + m_regionAPointer += aRem; + cnt -= aRem; + } + + // Data left over? cut the data from buffer B + if( cnt > 0 && m_regionBSize > 0 ) + { + bRem = (cnt > m_regionBSize) ? m_regionBSize : cnt; + m_regionBSize -= bRem; + m_regionBPointer += bRem; + cnt -= bRem; + } + + // is buffer A empty? move buffer B to buffer A, to increase future performance + if( m_regionASize == 0 ) + { + if( m_regionBSize > 0 ) + { + // push it all to the start of the buffer. + if( m_regionBPointer != m_buffer ) + memmove(m_buffer, m_regionBPointer, m_regionBSize); + + m_regionAPointer = m_buffer; + m_regionASize = m_regionBSize; + m_regionBPointer = nullptr; + m_regionBSize = 0; + } + else + { + // no data in region b + m_regionBPointer = nullptr; + m_regionBSize = 0; + m_regionAPointer = m_buffer; + m_regionASize = 0; + } + } +} + +/** Returns a pointer at the "end" of the buffer, where new data can be written +*/ +void * CircularBuffer::GetBuffer() +{ + if( m_regionBPointer != nullptr ) + return m_regionBPointer + m_regionBSize; + else + return m_regionAPointer + m_regionASize; +} + +/** Allocate the buffer with room for size bytes +* @param size the number of bytes to allocate +*/ +void CircularBuffer::Allocate(size_t size) +{ + m_buffer = (uint8*)malloc(size); + m_bufferEnd = m_buffer + size; + m_regionAPointer = m_buffer; // reset A to the start + m_bufferSize = size; +} + +/** Increments the "writen" pointer forward len bytes +* @param len number of bytes to step +*/ +void CircularBuffer::IncrementWritten(size_t len) // known as "commit" +{ + if( m_regionBPointer != nullptr ) + m_regionBSize += len; + else + m_regionASize += len; + +} + +/** Returns a pointer at the "beginning" of the buffer, where data can be pulled from +*/ +void * CircularBuffer::GetBufferStart() +{ + if( m_regionASize > 0 ) + return m_regionAPointer; + else + return m_regionBPointer; + +} \ No newline at end of file diff --git a/server/shared/CircularBuffer.h b/server/shared/CircularBuffer.h new file mode 100644 index 0000000..ea7b4e0 --- /dev/null +++ b/server/shared/CircularBuffer.h @@ -0,0 +1,84 @@ +#pragma once + +class CircularBuffer +{ + // allocated whole block pointer + uint8 * m_buffer; + uint8 * m_bufferEnd; + + // region A pointer, and size + uint8 * m_regionAPointer; + size_t m_regionASize; + + // region size + uint8 * m_regionBPointer; + size_t m_regionBSize; + + // allocated size + size_t m_bufferSize; + + + // pointer magic! + INLINE size_t GetAFreeSpace() { return (m_bufferEnd - m_regionAPointer - m_regionASize); } + INLINE size_t GetSpaceBeforeA() { return (m_regionAPointer - m_buffer); } + INLINE size_t GetSpaceAfterA() { return (m_bufferEnd - m_regionAPointer - m_regionASize); } + INLINE size_t GetBFreeSpace() { if(m_regionBPointer == nullptr) { return 0; } return (m_regionAPointer - m_regionBPointer - m_regionBSize); } + +public: + CircularBuffer(); + ~CircularBuffer(); + + /** Read bytes from the buffer + * @param destination pointer to destination where bytes will be written + * @param bytes number of bytes to read + * @return true if there was enough data, false otherwise + */ + bool Read(void * destination, size_t bytes); + void AllocateB(); + + /** Write bytes to the buffer + * @param data pointer to the data to be written + * @param bytes number of bytes to be written + * @return true if was successful, otherwise false + */ + bool Write(const void * data, size_t bytes); + + /** Returns the allocated size of the buffer. + */ + INLINE size_t GetAllocatedSize() const { return m_bufferSize; } + + /** Returns the number of available bytes left. + */ + size_t GetSpace(); + + /** Returns the number of bytes currently stored in the buffer. + */ + size_t GetSize(); + + /** Returns the number of contiguous bytes (that can be pushed out in one operation) + */ + size_t GetContiguousBytes(); + + /** Removes len bytes from the front of the buffer + * @param len the number of bytes to "cut" + */ + void Remove(size_t len); + + /** Returns a pointer at the "end" of the buffer, where new data can be written + */ + void * GetBuffer(); + + /** Allocate the buffer with room for size bytes + * @param size the number of bytes to allocate + */ + void Allocate(size_t size); + + /** Increments the "written" pointer forward len bytes + * @param len number of bytes to step + */ + void IncrementWritten(size_t len); // i.e. "commit" + + /** Returns a pointer at the "beginning" of the buffer, where data can be pulled from + */ + void * GetBufferStart(); +}; \ No newline at end of file diff --git a/server/shared/ClientSocketMgr.h b/server/shared/ClientSocketMgr.h new file mode 100644 index 0000000..69e4e3c --- /dev/null +++ b/server/shared/ClientSocketMgr.h @@ -0,0 +1,17 @@ +#pragma once + +#include +#include "KOSocketMgr.h" + +typedef std::map SessionMap; + +template +class ClientSocketMgr : public KOSocketMgr +{ +public: + ClientSocketMgr() {} + + virtual Socket *AssignSocket(SOCKET socket) { return nullptr; } + + virtual ~ClientSocketMgr() {} +}; diff --git a/server/shared/Condition.cpp b/server/shared/Condition.cpp new file mode 100644 index 0000000..e7805f2 --- /dev/null +++ b/server/shared/Condition.cpp @@ -0,0 +1,46 @@ +#include "stdafx.h" +#include "Condition.h" + +Condition::Condition() : m_nLockCount(0) +{ +} + +void Condition::BeginSynchronized() +{ + m_lock.lock(); + ++m_nLockCount; +} + +void Condition::EndSynchronized() +{ + --m_nLockCount; + m_lock.unlock(); +} + +uint32 Condition::Wait(time_t timeout) +{ + std::unique_lock lock(m_lock); + m_condition.wait_for(lock, std::chrono::milliseconds(timeout)); + return 0; +} + +uint32 Condition::Wait() +{ + std::unique_lock lock(m_lock); + m_condition.wait(lock); + return 0; +} + +void Condition::Signal() +{ + m_condition.notify_one(); +} + +void Condition::Broadcast() +{ + m_condition.notify_all(); +} + +Condition::~Condition() +{ +} diff --git a/server/shared/Condition.h b/server/shared/Condition.h new file mode 100644 index 0000000..b00fdcf --- /dev/null +++ b/server/shared/Condition.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include + +class Condition +{ +public: + Condition(); + ~Condition(); + void BeginSynchronized(); + void EndSynchronized(); + uint32 Wait(time_t timeout); + uint32 Wait(); + void Signal(); + void Broadcast(); + +private: + int m_nLockCount; + + std::condition_variable m_condition; + std::mutex m_lock; +}; diff --git a/server/shared/DateTime.h b/server/shared/DateTime.h new file mode 100644 index 0000000..1c15bf8 --- /dev/null +++ b/server/shared/DateTime.h @@ -0,0 +1,106 @@ +#pragma once + +#include + +class DateTime +{ +public: + // Uses the current time by default + DateTime() + { + time_t now; + time(&now); + _tm = localtime(&now); + } + + // Uses the timestamp specified + DateTime(time_t timestamp) + { + _tm = localtime(×tamp); + } + + // Constructs a date/time using the specified date parts. + DateTime(uint16 sYear, uint8 bMonth, uint8 bDay, uint8 bHour = 0, uint8 bMinute = 0, uint8 bSecond = 0) + { + // Get the current time + time_t now; + time(&now); + _tm = localtime(&now); + + // Now update it with the data specified + _tm->tm_year = sYear - 1900; + _tm->tm_mon = bMonth - 1; + _tm->tm_mday = bDay; + _tm->tm_hour = bHour; + _tm->tm_min = bMinute; + _tm->tm_sec = bSecond; + + // Finally reconstruct it, so the other data is updated. + Update(); + } + + // Uses the specified time struct + DateTime(struct tm * _tm) + { + this->_tm = _tm; + } + + // Simple getters to retrieve & convert time data to a more conventional form + uint16 GetYear() { return _tm->tm_year + 1900; } + uint8 GetMonth() { return _tm->tm_mon + 1; } + uint8 GetDay() { return _tm->tm_mday; } + uint8 GetDayOfWeek() { return _tm->tm_wday; } + uint8 GetHour() { return _tm->tm_hour; } + uint8 GetMinute() { return _tm->tm_min; } + uint8 GetSecond() { return _tm->tm_sec; } + + // NOTE: If any of these overflow, they'll be handled by mktime() accordingly. + // This makes our life *much* easier; date/time logic is not pretty. + + void INLINE AddYears(int iYears) + { + _tm->tm_year += iYears; + Update(); + } + + void INLINE AddMonths(int iMonths) + { + _tm->tm_mon += iMonths; + Update(); + } + + void INLINE AddWeeks(int iWeeks) + { + AddDays(iWeeks * 7); + } + + void INLINE AddDays(int iDays) + { + _tm->tm_mday += iDays; + Update(); + } + + void INLINE AddHours(int iHours) + { + _tm->tm_hour += iHours; + Update(); + } + + void INLINE AddMinutes(int iMinutes) + { + _tm->tm_min += iMinutes; + Update(); + } + + void INLINE AddSeconds(int iSeconds) + { + _tm->tm_sec += iSeconds; + Update(); + } + +private: + void INLINE Update() { mktime(_tm); } + +protected: + struct tm * _tm; +}; \ No newline at end of file diff --git a/server/shared/Debug/CircularBuffer.obj b/server/shared/Debug/CircularBuffer.obj new file mode 100644 index 0000000..87c6f5a Binary files /dev/null and b/server/shared/Debug/CircularBuffer.obj differ diff --git a/server/shared/Debug/Condition.obj b/server/shared/Debug/Condition.obj new file mode 100644 index 0000000..2dfa7e3 Binary files /dev/null and b/server/shared/Debug/Condition.obj differ diff --git a/server/shared/Debug/DebugUtils.obj b/server/shared/Debug/DebugUtils.obj new file mode 100644 index 0000000..8648a4c Binary files /dev/null and b/server/shared/Debug/DebugUtils.obj differ diff --git a/server/shared/Debug/HardwareInformation.obj b/server/shared/Debug/HardwareInformation.obj new file mode 100644 index 0000000..21b74ee Binary files /dev/null and b/server/shared/Debug/HardwareInformation.obj differ diff --git a/server/shared/Debug/Ini.obj b/server/shared/Debug/Ini.obj new file mode 100644 index 0000000..2d3a8c3 Binary files /dev/null and b/server/shared/Debug/Ini.obj differ diff --git a/server/shared/Debug/JvCryption.obj b/server/shared/Debug/JvCryption.obj new file mode 100644 index 0000000..91d77f5 Binary files /dev/null and b/server/shared/Debug/JvCryption.obj differ diff --git a/server/shared/Debug/KOSocket.obj b/server/shared/Debug/KOSocket.obj new file mode 100644 index 0000000..1a338dc Binary files /dev/null and b/server/shared/Debug/KOSocket.obj differ diff --git a/server/shared/Debug/OdbcCommand.obj b/server/shared/Debug/OdbcCommand.obj new file mode 100644 index 0000000..fd284ce Binary files /dev/null and b/server/shared/Debug/OdbcCommand.obj differ diff --git a/server/shared/Debug/OdbcConnection.obj b/server/shared/Debug/OdbcConnection.obj new file mode 100644 index 0000000..718e728 Binary files /dev/null and b/server/shared/Debug/OdbcConnection.obj differ diff --git a/server/shared/Debug/OdbcParameter.obj b/server/shared/Debug/OdbcParameter.obj new file mode 100644 index 0000000..3aded70 Binary files /dev/null and b/server/shared/Debug/OdbcParameter.obj differ diff --git a/server/shared/Debug/OdbcRecordset.obj b/server/shared/Debug/OdbcRecordset.obj new file mode 100644 index 0000000..5241f26 Binary files /dev/null and b/server/shared/Debug/OdbcRecordset.obj differ diff --git a/server/shared/Debug/RWLock.obj b/server/shared/Debug/RWLock.obj new file mode 100644 index 0000000..575f5a0 Binary files /dev/null and b/server/shared/Debug/RWLock.obj differ diff --git a/server/shared/Debug/ReferenceObject.obj b/server/shared/Debug/ReferenceObject.obj new file mode 100644 index 0000000..71c9e04 Binary files /dev/null and b/server/shared/Debug/ReferenceObject.obj differ diff --git a/server/shared/Debug/SMDFile.obj b/server/shared/Debug/SMDFile.obj new file mode 100644 index 0000000..3a2f2b6 Binary files /dev/null and b/server/shared/Debug/SMDFile.obj differ diff --git a/server/shared/Debug/Socket.obj b/server/shared/Debug/Socket.obj new file mode 100644 index 0000000..a96bd40 Binary files /dev/null and b/server/shared/Debug/Socket.obj differ diff --git a/server/shared/Debug/SocketMgr.obj b/server/shared/Debug/SocketMgr.obj new file mode 100644 index 0000000..0c89b41 Binary files /dev/null and b/server/shared/Debug/SocketMgr.obj differ diff --git a/server/shared/Debug/SocketOpsWin32.obj b/server/shared/Debug/SocketOpsWin32.obj new file mode 100644 index 0000000..a784112 Binary files /dev/null and b/server/shared/Debug/SocketOpsWin32.obj differ diff --git a/server/shared/Debug/SocketWin32.obj b/server/shared/Debug/SocketWin32.obj new file mode 100644 index 0000000..e5f5f1d Binary files /dev/null and b/server/shared/Debug/SocketWin32.obj differ diff --git a/server/shared/Debug/Thread.obj b/server/shared/Debug/Thread.obj new file mode 100644 index 0000000..2c770d4 Binary files /dev/null and b/server/shared/Debug/Thread.obj differ diff --git a/server/shared/Debug/TimeThread.obj b/server/shared/Debug/TimeThread.obj new file mode 100644 index 0000000..1cbf38f Binary files /dev/null and b/server/shared/Debug/TimeThread.obj differ diff --git a/server/shared/Debug/crc32.obj b/server/shared/Debug/crc32.obj new file mode 100644 index 0000000..11406df Binary files /dev/null and b/server/shared/Debug/crc32.obj differ diff --git a/server/shared/Debug/globals.obj b/server/shared/Debug/globals.obj new file mode 100644 index 0000000..7cd4ade Binary files /dev/null and b/server/shared/Debug/globals.obj differ diff --git a/server/shared/Debug/lzf.obj b/server/shared/Debug/lzf.obj new file mode 100644 index 0000000..3e885d7 Binary files /dev/null and b/server/shared/Debug/lzf.obj differ diff --git a/server/shared/Debug/shared.Build.CppClean.log b/server/shared/Debug/shared.Build.CppClean.log new file mode 100644 index 0000000..1618370 --- /dev/null +++ b/server/shared/Debug/shared.Build.CppClean.log @@ -0,0 +1,67 @@ +f:\005server\shared\debug\shared.pdb +f:\005server\shared\debug\shared.ıdb +f:\005server\shared\debug\tstrıng.obj +f:\005server\shared\debug\socketwın32.obj +f:\005server\shared\debug\socketopswın32.obj +f:\005server\shared\debug\socketmgr.obj +f:\005server\shared\debug\socket.obj +f:\005server\shared\debug\jvcryptıon.obj +f:\005server\shared\debug\hardwareınformatıon.obj +f:\005server\shared\debug\shared.pch +f:\005server\shared\debug\stdafx.obj +f:\005server\shared\debug\thread.obj +f:\005server\shared\debug\sıgnal_handler.obj +f:\005server\shared\debug\rwlock.obj +f:\005server\shared\debug\referenceobject.obj +f:\005server\shared\debug\kosocket.obj +f:\005server\shared\debug\globals.obj +f:\005server\shared\debug\odbcrecordset.obj +f:\005server\shared\debug\odbcparameter.obj +f:\005server\shared\debug\odbcconnectıon.obj +f:\005server\shared\debug\odbccommand.obj +f:\005server\shared\debug\condıtıon.obj +f:\005server\shared\debug\cırcularbuffer.obj +f:\005server\shared\debug\lzf.obj +f:\005server\shared\debug\crc32.obj +f:\005server\shared\debug\tımethread.obj +f:\005server\shared\debug\smdfıle.obj +f:\005server\shared\debug\ını.obj +f:\005server\shared\debug\debugutıls.obj +f:\bın\debug\shared.lıb +f:\005server\shared\debug\vcpkg.applocal.log +f:\005server\server source\shared\debug\circularbuffer.obj +f:\005server\server source\shared\debug\condition.obj +f:\005server\server source\shared\debug\crc32.obj +f:\005server\server source\shared\debug\debugutils.obj +f:\005server\server source\shared\debug\globals.obj +f:\005server\server source\shared\debug\hardwareınformation.obj +f:\005server\server source\shared\debug\ıni.obj +f:\005server\server source\shared\debug\jvcryption.obj +f:\005server\server source\shared\debug\kosocket.obj +f:\005server\server source\shared\debug\lzf.obj +f:\005server\server source\shared\debug\odbccommand.obj +f:\005server\server source\shared\debug\odbcconnection.obj +f:\005server\server source\shared\debug\odbcparameter.obj +f:\005server\server source\shared\debug\odbcrecordset.obj +f:\005server\server source\shared\debug\referenceobject.obj +f:\005server\server source\shared\debug\rwlock.obj +f:\005server\server source\shared\debug\signal_handler.obj +f:\005server\server source\shared\debug\smdfile.obj +f:\005server\server source\shared\debug\socket.obj +f:\005server\server source\shared\debug\socketmgr.obj +f:\005server\server source\shared\debug\socketopswin32.obj +f:\005server\server source\shared\debug\socketwin32.obj +f:\005server\server source\shared\debug\stdafx.obj +f:\005server\server source\shared\debug\thread.obj +f:\005server\server source\shared\debug\timethread.obj +f:\005server\server source\shared\debug\tstring.obj +f:\005server\server source\shared\debug\shared.pch +f:\005server\server source\shared\debug\shared.idb +f:\005server\server source\shared\debug\shared.pdb +f:\005server\server source\shared\debug\shared.tlog\cl.command.1.tlog +f:\005server\server source\shared\debug\shared.tlog\cl.read.1.tlog +f:\005server\server source\shared\debug\shared.tlog\cl.write.1.tlog +f:\005server\server source\shared\debug\shared.tlog\lib-link.read.1.tlog +f:\005server\server source\shared\debug\shared.tlog\lib-link.write.1.tlog +f:\005server\server source\shared\debug\shared.tlog\lib.command.1.tlog +f:\005server\server source\shared\debug\shared.tlog\shared.write.1u.tlog diff --git a/server/shared/Debug/shared.idb b/server/shared/Debug/shared.idb new file mode 100644 index 0000000..db3c475 Binary files /dev/null and b/server/shared/Debug/shared.idb differ diff --git a/server/shared/Debug/shared.log b/server/shared/Debug/shared.log new file mode 100644 index 0000000..8d45550 --- /dev/null +++ b/server/shared/Debug/shared.log @@ -0,0 +1,27 @@ + stdafx.cpp + CircularBuffer.cpp + Condition.cpp + HardwareInformation.cpp + JvCryption.cpp + KOSocket.cpp + RWLock.cpp + ReferenceObject.cpp + Socket.cpp + SocketMgr.cpp + SocketOpsWin32.cpp + SocketWin32.cpp + Thread.cpp + OdbcCommand.cpp + OdbcConnection.cpp + OdbcParameter.cpp + OdbcRecordset.cpp + globals.cpp + signal_handler.cpp + Generating Code... +F:\005SERVER\server source\shared\database\OdbcCommand.cpp(20,6): warning C4267: 'argument': conversion from 'size_t' to 'SQLUSMALLINT', possible loss of data + DebugUtils.cpp + Ini.cpp + SMDFile.cpp + TimeThread.cpp + Generating Code... + shared.vcxproj -> F:\005SERVER\server source\..\bin\Debug\shared.lib diff --git a/server/shared/Debug/shared.pch b/server/shared/Debug/shared.pch new file mode 100644 index 0000000..111d809 Binary files /dev/null and b/server/shared/Debug/shared.pch differ diff --git a/server/shared/Debug/shared.pdb b/server/shared/Debug/shared.pdb new file mode 100644 index 0000000..d2c2b19 Binary files /dev/null and b/server/shared/Debug/shared.pdb differ diff --git a/server/shared/Debug/shared.tlog/CL.command.1.tlog b/server/shared/Debug/shared.tlog/CL.command.1.tlog new file mode 100644 index 0000000..155dd73 Binary files /dev/null and b/server/shared/Debug/shared.tlog/CL.command.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/CL.read.1.tlog b/server/shared/Debug/shared.tlog/CL.read.1.tlog new file mode 100644 index 0000000..8b84512 Binary files /dev/null and b/server/shared/Debug/shared.tlog/CL.read.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/CL.write.1.tlog b/server/shared/Debug/shared.tlog/CL.write.1.tlog new file mode 100644 index 0000000..a771e98 Binary files /dev/null and b/server/shared/Debug/shared.tlog/CL.write.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/Lib-link.read.1.tlog b/server/shared/Debug/shared.tlog/Lib-link.read.1.tlog new file mode 100644 index 0000000..e9d66f7 Binary files /dev/null and b/server/shared/Debug/shared.tlog/Lib-link.read.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/Lib-link.write.1.tlog b/server/shared/Debug/shared.tlog/Lib-link.write.1.tlog new file mode 100644 index 0000000..b187cd9 Binary files /dev/null and b/server/shared/Debug/shared.tlog/Lib-link.write.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/Lib.command.1.tlog b/server/shared/Debug/shared.tlog/Lib.command.1.tlog new file mode 100644 index 0000000..d2d14fb Binary files /dev/null and b/server/shared/Debug/shared.tlog/Lib.command.1.tlog differ diff --git a/server/shared/Debug/shared.tlog/shared.lastbuildstate b/server/shared/Debug/shared.tlog/shared.lastbuildstate new file mode 100644 index 0000000..869aa4e --- /dev/null +++ b/server/shared/Debug/shared.tlog/shared.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Debug|Win32|F:\005SERVER\server source\| diff --git a/server/shared/Debug/shared.tlog/shared.write.1u.tlog b/server/shared/Debug/shared.tlog/shared.write.1u.tlog new file mode 100644 index 0000000..e592ec5 Binary files /dev/null and b/server/shared/Debug/shared.tlog/shared.write.1u.tlog differ diff --git a/server/shared/Debug/shared.vcxproj.FileListAbsolute.txt b/server/shared/Debug/shared.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/shared/Debug/signal_handler.obj b/server/shared/Debug/signal_handler.obj new file mode 100644 index 0000000..3878ca1 Binary files /dev/null and b/server/shared/Debug/signal_handler.obj differ diff --git a/server/shared/Debug/stdafx.obj b/server/shared/Debug/stdafx.obj new file mode 100644 index 0000000..a3c9d27 Binary files /dev/null and b/server/shared/Debug/stdafx.obj differ diff --git a/server/shared/Debug/tstring.obj b/server/shared/Debug/tstring.obj new file mode 100644 index 0000000..2092a47 Binary files /dev/null and b/server/shared/Debug/tstring.obj differ diff --git a/server/shared/Debug/vcpkg.applocal.log b/server/shared/Debug/vcpkg.applocal.log new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/server/shared/Debug/vcpkg.applocal.log @@ -0,0 +1 @@ + diff --git a/server/shared/DebugUtils.cpp b/server/shared/DebugUtils.cpp new file mode 100644 index 0000000..b104945 --- /dev/null +++ b/server/shared/DebugUtils.cpp @@ -0,0 +1,25 @@ +#include "stdafx.h" +#include + +void FormattedDebugString(const char * fmt, ...) +{ + char buf[4096], *p = buf; + va_list args; + int n; + + va_start(args, fmt); + n = _vsnprintf(p, sizeof(buf) - 3, fmt, args); // allow for proper linefeed & null terminator + va_end(args); + p += (n < 0) ? sizeof buf - 3 : n; + while (p > buf && isspace(p[-1])) + *--p = '\0'; + *p++ = '\r'; + *p++ = '\n'; + *p = '\0'; + +#ifdef WIN32 + OutputDebugString(buf); +#else + printf("%s", buf); +#endif +} \ No newline at end of file diff --git a/server/shared/DebugUtils.h b/server/shared/DebugUtils.h new file mode 100644 index 0000000..3ef499b --- /dev/null +++ b/server/shared/DebugUtils.h @@ -0,0 +1,3 @@ +#pragma once + +void FormattedDebugString(const char * fmt, ...); \ No newline at end of file diff --git a/server/shared/HardwareInformation.cpp b/server/shared/HardwareInformation.cpp new file mode 100644 index 0000000..dd1b7be --- /dev/null +++ b/server/shared/HardwareInformation.cpp @@ -0,0 +1,32 @@ +#include "stdafx.h" +#include "HardwareInformation.h" + +HardwareInformation::HardwareInformation() +{ +} + +/** +* @brief License Number Control. +*/ +bool HardwareInformation::IsValidHardwareID(std::vector HardwareIDArray) +{ + uint16 MACData1, MACData2 = 0; + GetMacHash(MACData1, MACData2); + int64 nLicenseNumber = GetHardwareID(); + + foreach (itr, HardwareIDArray) + if (*itr == nLicenseNumber) + return true; + + return false; +} + +/** +* @brief Get License Number +*/ +int64 HardwareInformation::GetHardwareID() +{ + uint16 MACData1, MACData2 = 0; + GetMacHash(MACData1, MACData2); + return _atoi64(string_format("%d%d%d%d",MACData1,MACData2,GetCPUHash(),GetVolumeHash()).c_str()); +} \ No newline at end of file diff --git a/server/shared/HardwareInformation.h b/server/shared/HardwareInformation.h new file mode 100644 index 0000000..59dac97 --- /dev/null +++ b/server/shared/HardwareInformation.h @@ -0,0 +1,65 @@ +#pragma once + +#include "stdafx.h" +#include +#include + +#pragma comment(lib, "iphlpapi.lib") + +class HardwareInformation +{ +public: + HardwareInformation(); + int64 GetHardwareID(); + bool IsValidHardwareID(std::vector HardwareIDArray); +private: + uint16 HashMacAddress(PIP_ADAPTER_INFO info) + { + uint16 nHash = 0; + for ( uint32 i = 0; i < info->AddressLength; i++ ) + nHash += (info->Address[i] << (( i & 1 ) * 8 )); + return nHash; + } + + void GetMacHash(uint16 & MACOffset1, uint16 & MACOffset2) + { + IP_ADAPTER_INFO AdapterInfo[32]; + DWORD dwBufLen = sizeof( AdapterInfo ); + + DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen ); + if ( dwStatus != ERROR_SUCCESS ) + return; + + PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; + MACOffset1 = HashMacAddress( pAdapterInfo ); + if (pAdapterInfo->Next) + MACOffset2 = HashMacAddress( pAdapterInfo->Next ); + + if (MACOffset1 > MACOffset2) + { + uint16 TempOffset = MACOffset2; + MACOffset2 = MACOffset1; + MACOffset1 = TempOffset; + } + } + + uint16 GetCPUHash() + { + int CPUInfo[4] = { 0, 0, 0, 0 }; + __cpuid(CPUInfo, 0); + uint16 nHash = 0; + uint16* nPointer = (uint16*)(&CPUInfo[0]); + for (uint16 i = 0; i < 8; i++) + nHash += nPointer[i]; + + return nHash; + } + + uint16 GetVolumeHash() + { + DWORD SerialNum = 0; + GetVolumeInformation( "C:\\", NULL, 0, &SerialNum, NULL, NULL, NULL, 0 ); + uint16 nHash = (uint16)(( SerialNum + ( SerialNum >> 16 )) & 0xFFFF ); + return nHash; + } +}; \ No newline at end of file diff --git a/server/shared/Ini.cpp b/server/shared/Ini.cpp new file mode 100644 index 0000000..9a4fe2a --- /dev/null +++ b/server/shared/Ini.cpp @@ -0,0 +1,162 @@ +#include "stdafx.h" +#include "Ini.h" +#include +#include +#include "tstring.h" + +#define INI_BUFFER 512 + +CIni::CIni(const char *lpFilename) +{ + m_szFileName = lpFilename; + Load(lpFilename); +} + +bool CIni::Load(const char * lpFilename /*= nullptr*/) +{ + const char * fn = (lpFilename == nullptr ? m_szFileName.c_str() : lpFilename); + std::ifstream file(fn); + if (!file) + { + printf("Warning: %s does not exist, will use configured defaults.\n", fn); + return false; + } + + std::string currentSection; + + // If an invalid section is hit + // Ensure that we don't place key/value pairs + // from the invalid section into the previously loaded section. + bool bSkipNextSection = false; + while (!file.eof()) + { + std::string line; + getline(file, line); + + rtrim(line); + if (line.empty()) + continue; + + // Check for value strings first + // It's faster than checking for a section + // at the expense of of not being able to use '=' in section names. + // As this is uncommon behaviour, this is a suitable trade-off. + size_t keySeparatorPos = line.find(INI_KEY_SEPARATOR); + if (keySeparatorPos != std::string::npos) + { + if (bSkipNextSection) + continue; + + std::string key = line.substr(0, keySeparatorPos), + value = line.substr(keySeparatorPos + 1); + + // Clean up key/value to allow for 'key = value' + rtrim(key); /* remove trailing whitespace from keys */ + ltrim(value); /* remove preleading whitespace from values */ + + ConfigMap::iterator itr = m_configMap.find(currentSection); + if (itr == m_configMap.end()) + { + m_configMap.insert(std::make_pair(currentSection, ConfigEntryMap())); + itr = m_configMap.find(currentSection); + } + + itr->second[key] = value; + continue; + } + + // Not a value, so assume it's a section + size_t sectionStart = line.find_first_of(INI_SECTION_START), + sectionEnd = line.find_last_of(INI_SECTION_END); + + if (sectionStart == std::string::npos + || sectionEnd == std::string::npos + || sectionStart > sectionEnd) + { + /* invalid section */ + bSkipNextSection = true; + continue; + } + + currentSection = line.substr(sectionStart + 1, sectionEnd - 1); + bSkipNextSection = false; + } + + file.close(); + return true; +} + +void CIni::Save(const char * lpFilename /*= nullptr*/) +{ + const char * fn = (lpFilename == nullptr ? m_szFileName.c_str() : lpFilename); + FILE * fp = fopen(fn, "w"); + foreach (sectionItr, m_configMap) + { + // Start the section + fprintf(fp, "[%s]" INI_NEWLINE, sectionItr->first.c_str()); + + // Now list out all the key/value pairs + foreach (keyItr, sectionItr->second) + fprintf(fp, "%s=%s" INI_NEWLINE, keyItr->first.c_str(), keyItr->second.c_str()); + + // Use a trailing newline to finish the section, to make it easier to read + fprintf(fp, INI_NEWLINE); + } + fclose(fp); +} + +int CIni::GetInt(const char* lpAppName, const char* lpKeyName, const int nDefault) +{ + ConfigMap::iterator sectionItr = m_configMap.find(lpAppName); + if (sectionItr != m_configMap.end()) + { + ConfigEntryMap::iterator keyItr = sectionItr->second.find(lpKeyName); + if (keyItr != sectionItr->second.end()) + return atoi(keyItr->second.c_str()); + } + + SetInt(lpAppName, lpKeyName, nDefault); + return nDefault; +} + +bool CIni::GetBool(const char* lpAppName, const char* lpKeyName, const bool bDefault) +{ + return GetInt(lpAppName, lpKeyName, bDefault) == 1; +} + +void CIni::GetString(const char* lpAppName, const char* lpKeyName, const char* lpDefault, std::string & lpOutString, bool bAllowEmptyStrings /*= true*/) +{ + ConfigMap::iterator sectionItr = m_configMap.find(lpAppName); + if (sectionItr != m_configMap.end()) + { + ConfigEntryMap::iterator keyItr = sectionItr->second.find(lpKeyName); + if (keyItr != sectionItr->second.end()) + { + lpOutString = keyItr->second; + return; + } + } + + SetString(lpAppName, lpKeyName, lpDefault); + lpOutString = lpDefault; +} + +int CIni::SetInt(const char* lpAppName, const char* lpKeyName, const int nDefault) +{ + char tmpDefault[INI_BUFFER]; + _snprintf(tmpDefault, INI_BUFFER, "%d", nDefault); + return SetString(lpAppName, lpKeyName, tmpDefault); +} + +int CIni::SetString(const char* lpAppName, const char* lpKeyName, const char* lpDefault) +{ + ConfigMap::iterator itr = m_configMap.find(lpAppName); + if (itr == m_configMap.end()) + { + m_configMap.insert(std::make_pair(lpAppName, ConfigEntryMap())); + itr = m_configMap.find(lpAppName); + } + itr->second[lpKeyName] = lpDefault; + Save(); + return 1; +} diff --git a/server/shared/Ini.h b/server/shared/Ini.h new file mode 100644 index 0000000..e9dc5da --- /dev/null +++ b/server/shared/Ini.h @@ -0,0 +1,32 @@ +#pragma once + + +#define INI_SECTION_START '[' +#define INI_SECTION_END ']' +#define INI_KEY_SEPARATOR '=' +#define INI_NEWLINE "\n" + +class CIni +{ +private: + std::string m_szFileName; + // Defines key/value pairs within sections + typedef std::map ConfigEntryMap; + + // Defines the sections containing the key/value pairs + typedef std::map ConfigMap; + + ConfigMap m_configMap; + +public: + CIni(const char *lpFilename); + + bool Load(const char * lpFileName = nullptr); + void Save(const char * lpFileName = nullptr); + + int GetInt(const char* lpAppName, const char* lpKeyName, const int nDefault); + bool GetBool(const char* lpAppName, const char* lpKeyName, const bool bDefault); + void GetString(const char* lpAppName, const char* lpKeyName, const char* lpDefault, std::string & lpOutString, bool bAllowEmptyStrings = true); + int SetInt(const char* lpAppName, const char* lpKeyName, const int nDefault); + int SetString(const char* lpAppName, const char* lpKeyName, const char* lpDefault); +}; diff --git a/server/shared/JvCryption.cpp b/server/shared/JvCryption.cpp new file mode 100644 index 0000000..7fc190c --- /dev/null +++ b/server/shared/JvCryption.cpp @@ -0,0 +1,51 @@ +#include "stdafx.h" +#include "JvCryption.h" +#include "version.h" + + +#define g_private_key 0x1207500120128966 +//#define g_private_key 0x1507500150128966 + +void CJvCryption::Init() { m_tkey = m_public_key ^ g_private_key; } + +uint64 CJvCryption::GenerateKey() +{ +#ifdef USE_CRYPTION + // because of their sucky encryption method, 0 means it effectively won't be encrypted. + // We don't want that happening... + do + { + m_public_key = RandUInt64(); + } while (!m_public_key); +#endif + return m_public_key; +} + +void CJvCryption::JvEncryptionFast(int len, uint8 *datain, uint8 *dataout) +{ + uint8 *pkey, lkey, rsk; + int rkey = 2157; + + pkey = (uint8 *)&m_tkey; + lkey = (len * 157) & 0xff; + + for (int i = 0; i < len; i++) + { + rsk = (rkey >> 8) & 0xff; + dataout[i] = ((datain[i] ^ rsk) ^ pkey[(i % 8)]) ^ lkey; + rkey *= 2171; + } +} + +int CJvCryption::JvDecryptionWithCRC32(int len, uint8 *datain, uint8 *dataout) +{ + int result; + JvDecryptionFast(len, datain, dataout); + + if (crc32(dataout, len - 4, -1) == *(uint32 *)(len - 4 + dataout)) + result = len - 4; + else + result = -1; + + return result; +} diff --git a/server/shared/JvCryption.h b/server/shared/JvCryption.h new file mode 100644 index 0000000..678b50d --- /dev/null +++ b/server/shared/JvCryption.h @@ -0,0 +1,27 @@ +#pragma once + +#define USE_CRYPTION + +extern "C" +{ + #include "crc32.h" +} + +class CJvCryption +{ +private: + uint64 m_public_key, m_tkey; + +public: + CJvCryption() : m_public_key(0) {} + + INLINE uint64 GetPublicKey() { return m_public_key; } + uint64 GenerateKey(); + + void Init(); + + void JvEncryptionFast(int len, uint8 *datain, uint8 *dataout); + INLINE void JvDecryptionFast(int len, uint8 *datain, uint8 *dataout) { JvEncryptionFast(len, datain, dataout); }; + + int JvDecryptionWithCRC32(int len, uint8 *datain, uint8 *dataout); +}; diff --git a/server/shared/KOSocket.cpp b/server/shared/KOSocket.cpp new file mode 100644 index 0000000..cc4ea7f --- /dev/null +++ b/server/shared/KOSocket.cpp @@ -0,0 +1,235 @@ +#include "stdafx.h" +#include "KOSocket.h" +#include "packets.h" +#include "version.h" + +KOSocket::KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize) + : Socket(fd, sendBufferSize, recvBufferSize), + m_socketID(socketID), m_remaining(0), m_usingCrypto(false), + m_readTries(0), m_sequence(0), m_lastResponse(0) +{ + SetSocketMgr(mgr); +} + +void KOSocket::OnConnect() +{ + if (GetRemoteIP() == "127.0.0.1") + TRACE("Connection received from %s:%d\n", GetRemoteIP().c_str(), GetRemotePort()); + + m_remaining = 0; + m_usingCrypto = false; + m_readTries = 0; + m_sequence = 0; + m_lastResponse = UNIXTIME; +} + +void KOSocket::OnRead() +{ + Packet pkt; + + for (;;) + { + if (m_remaining == 0) + { + if (GetReadBuffer().GetSize() < 5) + return; //check for opcode as well + + uint16 header = 0; + GetReadBuffer().Read(&header, 2); + if (header != 0x55AA) + { + TRACE("%s: Got packet without header 0x55AA, got 0x%X\n", GetRemoteIP().c_str(), header); + goto error_handler; + } + + GetReadBuffer().Read(&m_remaining, 2); + if (m_remaining == 0) + { + TRACE("%s: Got packet without an opcode, this should never happen.\n", GetRemoteIP().c_str()); + goto error_handler; + } + } + + if (m_remaining > GetReadBuffer().GetAllocatedSize()) + { + TRACE("%s: Packet received which was %u bytes in size, maximum of %u.\n", GetRemoteIP().c_str(), m_remaining, GetReadBuffer().GetAllocatedSize()); + goto error_handler; + } + + if (m_remaining > GetReadBuffer().GetSize()) + { + if (m_readTries > 4) + { + TRACE("%s: packet fragmentation count is over 4, disconnecting as they're probably up to something bad\n", GetRemoteIP().c_str()); + goto error_handler; + } + m_readTries++; + return; + } + + uint8 *in_stream = new uint8[m_remaining]; + + m_readTries = 0; + GetReadBuffer().Read(in_stream, m_remaining); + + uint16 footer = 0; + GetReadBuffer().Read(&footer, 2); + + if (footer != 0xAA55 || !DecryptPacket(in_stream, pkt)) + { + TRACE("%s: Footer invalid (%X) or failed to decrypt.\n", GetRemoteIP().c_str(), footer); + delete [] in_stream; + goto error_handler; + } + + delete [] in_stream; + + m_lastResponse = UNIXTIME; + + if (!HandlePacket(pkt)) + { + TRACE("%s: Handler for packet %X returned false\n", GetRemoteIP().c_str(), pkt.GetOpcode()); +#ifndef _DEBUG + goto error_handler; +#endif + } + + // Update the time of the last (valid) response from the client. + + m_remaining = 0; + } + + return; + +error_handler: + Disconnect(); +} + +bool KOSocket::DecryptPacket(uint8 *in_stream, Packet & pkt) +{ + uint8* final_packet = nullptr; + + if (isCryptoEnabled()) + { + // Invalid packet (all encrypted packets need a CRC32 checksum!) + if (m_remaining < 4 + // Invalid checksum + || m_crypto.JvDecryptionWithCRC32(m_remaining, in_stream, in_stream) < 0 + // Invalid sequence ID + || ++m_sequence != *(uint32 *)(in_stream)) + return false; + + m_remaining -= 8; // remove the sequence ID & CRC checksum + final_packet = &in_stream[4]; + } + else + { + final_packet = in_stream; // for simplicity :P + } + + m_remaining--; + pkt = Packet(final_packet[0], (size_t)m_remaining); + if (m_remaining > 0) + { + pkt.resize(m_remaining); + memcpy((void*)pkt.contents(), &final_packet[1], m_remaining); + } + + return true; +} + +bool KOSocket::Send(Packet * pkt) +{ + if (!IsConnected() || pkt->size() + 1 > GetWriteBuffer().GetAllocatedSize()) + return false; + + bool r; + + uint8 opcode = pkt->GetOpcode(); + uint8 * out_stream = nullptr; + uint16 len = (uint16)(pkt->size() + 1); + + if (isCryptoEnabled()) + { + len += 5; + + out_stream = new uint8[len]; + + *(uint16 *)&out_stream[0] = 0x1efc; + *(uint16 *)&out_stream[2] = (uint16)(m_sequence); // this isn't actually incremented here + out_stream[4] = 0; + out_stream[5] = pkt->GetOpcode(); + + if (pkt->size() > 0) + memcpy(&out_stream[6], pkt->contents(), pkt->size()); + + m_crypto.JvEncryptionFast(len, out_stream, out_stream); + } + else + { + out_stream = new uint8[len]; + out_stream[0] = pkt->GetOpcode(); + if (pkt->size() > 0) + memcpy(&out_stream[1], pkt->contents(), pkt->size()); + } + + + BurstBegin(); + if (GetWriteBuffer().GetSpace() < size_t(len + 6)) + { + TRACE("Disonnected due to insufficient buffer space [%d]. \n", GetSocketID()); + BurstEnd(); + Disconnect(); + return false; + } + r = BurstSend((const uint8*)"\xaa\x55", 2); + if (r) r = BurstSend((const uint8*)&len, 2); + if (r) r = BurstSend((const uint8*)out_stream, len); + if (r) r = BurstSend((const uint8*)"\x55\xaa", 2); + if (r) BurstPush(); + BurstEnd(); + + delete [] out_stream; + return r; +} + +bool KOSocket::SendCompressed(Packet * pkt) +{ + if (pkt->size() < 500) + return Send(pkt); + + Packet result(WIZ_COMPRESS_PACKET); + uint32 inLength = pkt->size() + 1, outLength = inLength + LZF_MARGIN, crc; + uint8 *buffer = new uint8[inLength], *outBuffer = new uint8[outLength]; + + *buffer = pkt->GetOpcode(); + if (pkt->size() > 0) + memcpy(buffer + 1, pkt->contents(), pkt->size()); + + crc = (uint32)crc32(buffer, inLength, 0); + outLength = lzf_compress(buffer, inLength, outBuffer, outLength); + + result << outLength << inLength; + result << uint32(crc); + + result.append(outBuffer, outLength); + + delete [] buffer; + delete [] outBuffer; + + return Send(&result); +} + +void KOSocket::OnDisconnect() +{ + if (GetRemoteIP() == "127.0.0.1") + printf("Connection closed from %s:%d\n", GetRemoteIP().c_str(), GetRemotePort()); +} + +void KOSocket::EnableCrypto() +{ +#ifdef USE_CRYPTION + m_crypto.Init(); + m_usingCrypto = true; +#endif +} diff --git a/server/shared/KOSocket.h b/server/shared/KOSocket.h new file mode 100644 index 0000000..1204b16 --- /dev/null +++ b/server/shared/KOSocket.h @@ -0,0 +1,47 @@ +#pragma once + +#include "SocketMgr.h" +#include "Packet.h" +#include "JvCryption.h" + +extern "C" +{ + #include "lzf.h" +} + +// KO sockets time out after at least 30 seconds of inactivity. 6.1.2016 +#define KOSOCKET_TIMEOUT (60) + +// Allow up to 30 minutes for the player to create their character / the client to load. +#define KOSOCKET_LOADING_TIMEOUT (30 * 60) + +class KOSocket : public Socket +{ +public: + KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + + INLINE bool isCryptoEnabled() { return m_usingCrypto; }; + INLINE uint16 GetSocketID() { return m_socketID; }; + INLINE uint16 GetTargetID() { return m_targetID; }; + INLINE time_t GetLastResponseTime() { return m_lastResponse; } + + virtual void OnConnect(); + virtual void OnRead(); + virtual bool DecryptPacket(uint8 *in_stream, Packet & pkt); + virtual bool HandlePacket(Packet & pkt) = 0; + + virtual bool Send(Packet * pkt); + virtual bool SendCompressed(Packet * pkt); + + virtual void OnDisconnect(); + + void EnableCrypto(); + +protected: + CJvCryption m_crypto; + time_t m_lastResponse; + uint32 m_sequence; + uint16 m_remaining, m_socketID, m_targetID, bytesReceived; + uint8 m_readTries; + bool m_usingCrypto; +}; \ No newline at end of file diff --git a/server/shared/KOSocketMgr.h b/server/shared/KOSocketMgr.h new file mode 100644 index 0000000..924fb79 --- /dev/null +++ b/server/shared/KOSocketMgr.h @@ -0,0 +1,160 @@ +#pragma once + +#include +#include "RWLock.h" +#include "SocketMgr.h" +#include "KOSocket.h" + +typedef std::map SessionMap; + +template +class KOSocketMgr : public SocketMgr +{ +public: + KOSocketMgr() : m_server(nullptr) {} + + virtual void InitSessions(uint16 sTotalSessions); + virtual bool Listen(uint16 sPort, uint16 sTotalSessions); + virtual bool Listen(std::string sIPAddress, uint16 sPort, uint16 sTotalSessions); + virtual void OnConnect(Socket *pSock); + virtual Socket *AssignSocket(SOCKET socket); + virtual void DisconnectCallback(Socket *pSock); + + void RunServer() + { + SpawnWorkerThreads(); + GetServer()->run(); + } + + // Send a packet to all active sessions + void SendAll(Packet * pkt) + { + std::lock_guard lock(m_lock); + SessionMap & sessizmap = m_activeSessions; + for (auto itr = sessizmap.begin(); itr != sessizmap.end(); ++itr) + itr->second->Send(pkt); + } + + void SendAllCompressed(Packet * result) + { + std::lock_guard lock(m_lock); + SessionMap & sessMap = m_activeSessions; + for (auto itr = sessMap.begin(); itr != sessMap.end(); ++itr) + itr->second->SendCompressed(result); + } + + ListenSocket * GetServer() { return m_server; } + INLINE SessionMap & GetIdleSessionMap() { return m_idleSessions; } + INLINE SessionMap & GetActiveSessionMap() { return m_activeSessions; } + INLINE std::recursive_mutex& GetLock() { return m_lock; } + + T * operator[] (uint16 id) + { + std::lock_guard lock(m_lock); + + auto itr = m_activeSessions.find(id); + if (itr != m_activeSessions.end()) + return static_cast(itr->second); + + return nullptr; + } + + void Shutdown(); + virtual ~KOSocketMgr(); + +protected: + SessionMap m_idleSessions, m_activeSessions; + std::recursive_mutex m_lock; + +private: + ListenSocket * m_server; +}; + +template +void KOSocketMgr::InitSessions(uint16 sTotalSessions) +{ + std::lock_guard lock(m_lock); + for (uint16 i = 0; i < sTotalSessions; i++) + m_idleSessions.insert(std::make_pair(i, new T(i, this))); +} + +template +bool KOSocketMgr::Listen(uint16 sPort, uint16 sTotalSessions) +{ + return Listen("0.0.0.0", sPort, sTotalSessions); +} + +template +bool KOSocketMgr::Listen(std::string sIPAddress, uint16 sPort, uint16 sTotalSessions) +{ + if (m_server != nullptr) + return false; + + CreateCompletionPort(); + + m_server = new ListenSocket(this, sIPAddress.c_str(), sPort); + if (!m_server->IsOpen()) + return false; + + InitSessions(sTotalSessions); + return true; +} + +template +Socket * KOSocketMgr::AssignSocket(SOCKET socket) +{ + std::lock_guard lock(m_lock); + Socket *pSock = nullptr; + + for (auto itr = m_idleSessions.begin(); itr != m_idleSessions.end(); itr++) + { + m_activeSessions.insert(std::make_pair(itr->first, itr->second)); + pSock = itr->second; + m_idleSessions.erase(itr); + pSock->SetFd(socket); + break; + } + return pSock; +} + +template +void KOSocketMgr::OnConnect(Socket *pSock) +{ + std::lock_guard lock(m_lock); + auto itr = m_idleSessions.find(static_cast(pSock)->GetSocketID()); + if (itr != m_idleSessions.end()) + { + m_activeSessions.insert(std::make_pair(itr->first, itr->second)); + m_idleSessions.erase(itr); + } +} + +template +void KOSocketMgr::DisconnectCallback(Socket *pSock) +{ + std::lock_guard lock(m_lock); + auto itr = m_activeSessions.find(static_cast(pSock)->GetSocketID()); + if (itr != m_activeSessions.end()) + { + m_idleSessions.insert(std::make_pair(itr->first, itr->second)); + m_activeSessions.erase(itr); + } +} + +template +void KOSocketMgr::Shutdown() +{ + if (m_bShutdown) + return; + + if (m_server != nullptr) + delete m_server; + + SocketMgr::Shutdown(); +} + +template +KOSocketMgr::~KOSocketMgr() +{ + Shutdown(); +} \ No newline at end of file diff --git a/server/shared/ListenSocketWin32.h b/server/shared/ListenSocketWin32.h new file mode 100644 index 0000000..92416e7 --- /dev/null +++ b/server/shared/ListenSocketWin32.h @@ -0,0 +1,130 @@ +/* +* Multiplatform Async Network Library +* Copyright (c) 2007 Burlex +* +* ListenSocket: Creates a socket listener on specified address and port, +* requires Update() to be called every loop. +* +*/ + +#pragma once + +template +uint32 THREADCALL ListenSocketThread(void * lpParam) +{ + ListenSocket * ls = (ListenSocket *)lpParam; + return ls->runnable() ? 0 : 1; +} + +template +class ListenSocket +{ +public: + ListenSocket(SocketMgr *socketMgr, const char * ListenAddress, uint32 Port) : m_threadRunning(false) + { + m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + + // Enable blocking on the socket + SocketOps::Blocking(m_socket); + + m_address.sin_family = AF_INET; + m_address.sin_port = ntohs((u_short)Port); + m_address.sin_addr.s_addr = htonl(INADDR_ANY); + m_opened = false; + + if (strcmp(ListenAddress, "0.0.0.0")) + { + struct hostent * hostname = gethostbyname(ListenAddress); + if (hostname != nullptr) + memcpy(&m_address.sin_addr.s_addr, hostname->h_addr_list[0], hostname->h_length); + } + + // bind. well, attempt to... + int ret = ::bind(m_socket, (const sockaddr*)&m_address, sizeof(m_address)); + if (ret != 0) + { + printf("Bind unsuccessful on port %u.\n", Port); + return; + } + + ret = listen(m_socket, 5); + if (ret != 0) + { + printf("Unable to listen on port %u.\n", Port); + return; + } + + m_opened = true; + m_cp = socketMgr->GetCompletionPort(); + m_socketMgr = socketMgr; + } + + ~ListenSocket() { Close(); } + + bool run() + { + if (m_thread.isStarted()) + return false; + + m_thread.start(ListenSocketThread, this); + return true; + } + + bool runnable() + { + struct sockaddr_in m_tempAddress; + uint32 len = sizeof(sockaddr_in); + m_threadRunning = true; + + while (m_opened && m_threadRunning) + { + //SOCKET aSocket = accept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len); + SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + if (aSocket == INVALID_SOCKET) + { + //sleep(10); // Don't kill the CPU! + continue; + } + + // Attempt to assign the socket to an available session + Socket *socket = m_socketMgr->AssignSocket(aSocket); + + // No available sessions... unfortunately, we're going to have to let you go. + if (socket == nullptr) + { + SocketOps::CloseSocket(aSocket); + continue; + } + socket->SetCompletionPort(m_cp); + socket->Accept(&m_tempAddress); + } + return true; + } + + void Close() + { + // prevent a race condition here. + bool mo = m_opened; + + m_opened = false; + m_threadRunning = false; + + if (mo) + SocketOps::CloseSocket(m_socket); + + m_thread.waitForExit(); + } + + INLINE bool IsOpen() { return m_opened; } + INLINE HANDLE GetCompletionPort() { return m_cp; } + +private: + bool m_threadRunning; + Thread m_thread; + + HANDLE m_cp; + SocketMgr *m_socketMgr; + SOCKET m_socket; + struct sockaddr_in m_address; + bool m_opened; +}; diff --git a/server/shared/Network.h b/server/shared/Network.h new file mode 100644 index 0000000..13d97f5 --- /dev/null +++ b/server/shared/Network.h @@ -0,0 +1,11 @@ +#pragma once + +#include "CircularBuffer.h" +#include "SocketDefines.h" +#include "SocketOps.h" +#include "Socket.h" +#include "SocketMgr.h" +#include "ListenSocketWin32.h" + +#include "JvCryption.h" +#include "KOSocket.h" \ No newline at end of file diff --git a/server/shared/Packet.h b/server/shared/Packet.h new file mode 100644 index 0000000..dca1300 --- /dev/null +++ b/server/shared/Packet.h @@ -0,0 +1,31 @@ +#pragma once + +#include "ByteBuffer.h" +#define CRYPT_KEY 129 + +class Packet : public ByteBuffer +{ +public: + INLINE Packet() : ByteBuffer(), m_opcode(0) { } + INLINE Packet(uint8 opcode) : ByteBuffer(4096), m_opcode(opcode) {} + INLINE Packet(uint8 opcode, size_t res) : ByteBuffer(res), m_opcode(opcode) {} + INLINE Packet(const Packet &packet) : ByteBuffer(packet), m_opcode(packet.m_opcode) {} + INLINE Packet(uint8 opcode, uint8 subOpcode) : m_opcode(opcode) + { + append(&subOpcode, 1); + } + + //! Clear packet and set opcode all in one mighty blow + INLINE void Initialize(uint8 opcode) + { + clear(); + m_opcode = opcode; + } + + INLINE uint8 GetOpcode() const { return m_opcode; } + INLINE void SetOpcode(uint8 opcode) { m_opcode = opcode; } + INLINE uint8 GetByte(uint16 sira) const { return _storage[sira]; } + INLINE void SetByte(uint16 sira,uint8 val) { _storage[sira] = val; } +protected: + uint8 m_opcode; +}; diff --git a/server/shared/RWLock.cpp b/server/shared/RWLock.cpp new file mode 100644 index 0000000..d0545dd --- /dev/null +++ b/server/shared/RWLock.cpp @@ -0,0 +1,38 @@ +#include "stdafx.h" +#include "RWLock.h" + +RWLock::RWLock() +{ + _readers = _writers = 0; +} + +void RWLock::AcquireReadLock() +{ + _cond.BeginSynchronized(); + _readers++; + _cond.EndSynchronized(); +} + +void RWLock::ReleaseReadLock() +{ + _cond.BeginSynchronized(); + if (!(--_readers)) + if(_writers) + _cond.Signal(); + _cond.EndSynchronized(); +} + +void RWLock::AcquireWriteLock() +{ + _cond.BeginSynchronized(); + _writers++; + if (_readers) + _cond.Wait(); +} + +void RWLock::ReleaseWriteLock() +{ + if (--_writers) + _cond.Signal(); + _cond.EndSynchronized(); +} \ No newline at end of file diff --git a/server/shared/RWLock.h b/server/shared/RWLock.h new file mode 100644 index 0000000..0a5f515 --- /dev/null +++ b/server/shared/RWLock.h @@ -0,0 +1,18 @@ +#pragma once + +#include "Condition.h" + +class RWLock +{ +public: + RWLock(); + void AcquireReadLock(); + void ReleaseReadLock(); + void AcquireWriteLock(); + void ReleaseWriteLock(); + +private: + Condition _cond; + volatile unsigned int _readers; + volatile unsigned int _writers; +}; diff --git a/server/shared/ReferenceObject.cpp b/server/shared/ReferenceObject.cpp new file mode 100644 index 0000000..3357160 --- /dev/null +++ b/server/shared/ReferenceObject.cpp @@ -0,0 +1,19 @@ +#include "stdafx.h" +#include "ReferenceObject.h" + +ReferenceObject::ReferenceObject() + : m_refCount(0) +{ + IncRef(); +} + +void ReferenceObject::IncRef() +{ + ++m_refCount; +} + +void ReferenceObject::DecRef() +{ + if (m_refCount.decrement() == 0) + delete this; +} \ No newline at end of file diff --git a/server/shared/ReferenceObject.h b/server/shared/ReferenceObject.h new file mode 100644 index 0000000..fe90481 --- /dev/null +++ b/server/shared/ReferenceObject.h @@ -0,0 +1,18 @@ +#pragma once + +class ReferenceObject +{ +public: + ReferenceObject(); + + // Increment the reference count + void IncRef(); + + // Decrease the reference count and delete the object if it hits 0 (i.e. no more references). + void DecRef(); + + virtual ~ReferenceObject() {} + +private: + Atomic m_refCount; +}; \ No newline at end of file diff --git a/server/shared/Release/CircularBuffer.obj b/server/shared/Release/CircularBuffer.obj new file mode 100644 index 0000000..3d4200f Binary files /dev/null and b/server/shared/Release/CircularBuffer.obj differ diff --git a/server/shared/Release/Condition.obj b/server/shared/Release/Condition.obj new file mode 100644 index 0000000..797fced Binary files /dev/null and b/server/shared/Release/Condition.obj differ diff --git a/server/shared/Release/HardwareInformation.obj b/server/shared/Release/HardwareInformation.obj new file mode 100644 index 0000000..001416f Binary files /dev/null and b/server/shared/Release/HardwareInformation.obj differ diff --git a/server/shared/Release/JvCryption.obj b/server/shared/Release/JvCryption.obj new file mode 100644 index 0000000..3a13b1e Binary files /dev/null and b/server/shared/Release/JvCryption.obj differ diff --git a/server/shared/Release/KOSocket.obj b/server/shared/Release/KOSocket.obj new file mode 100644 index 0000000..2c34794 Binary files /dev/null and b/server/shared/Release/KOSocket.obj differ diff --git a/server/shared/Release/OdbcCommand.obj b/server/shared/Release/OdbcCommand.obj new file mode 100644 index 0000000..380f6ca Binary files /dev/null and b/server/shared/Release/OdbcCommand.obj differ diff --git a/server/shared/Release/OdbcConnection.obj b/server/shared/Release/OdbcConnection.obj new file mode 100644 index 0000000..4e2b5e0 Binary files /dev/null and b/server/shared/Release/OdbcConnection.obj differ diff --git a/server/shared/Release/OdbcParameter.obj b/server/shared/Release/OdbcParameter.obj new file mode 100644 index 0000000..3c44e34 Binary files /dev/null and b/server/shared/Release/OdbcParameter.obj differ diff --git a/server/shared/Release/OdbcRecordset.obj b/server/shared/Release/OdbcRecordset.obj new file mode 100644 index 0000000..c3401b7 Binary files /dev/null and b/server/shared/Release/OdbcRecordset.obj differ diff --git a/server/shared/Release/RWLock.obj b/server/shared/Release/RWLock.obj new file mode 100644 index 0000000..d2072f0 Binary files /dev/null and b/server/shared/Release/RWLock.obj differ diff --git a/server/shared/Release/ReferenceObject.obj b/server/shared/Release/ReferenceObject.obj new file mode 100644 index 0000000..d7b914f Binary files /dev/null and b/server/shared/Release/ReferenceObject.obj differ diff --git a/server/shared/Release/Socket.obj b/server/shared/Release/Socket.obj new file mode 100644 index 0000000..5e474ec Binary files /dev/null and b/server/shared/Release/Socket.obj differ diff --git a/server/shared/Release/SocketMgr.obj b/server/shared/Release/SocketMgr.obj new file mode 100644 index 0000000..19a987a Binary files /dev/null and b/server/shared/Release/SocketMgr.obj differ diff --git a/server/shared/Release/SocketOpsWin32.obj b/server/shared/Release/SocketOpsWin32.obj new file mode 100644 index 0000000..40e09a0 Binary files /dev/null and b/server/shared/Release/SocketOpsWin32.obj differ diff --git a/server/shared/Release/SocketWin32.obj b/server/shared/Release/SocketWin32.obj new file mode 100644 index 0000000..72073a0 Binary files /dev/null and b/server/shared/Release/SocketWin32.obj differ diff --git a/server/shared/Release/Thread.obj b/server/shared/Release/Thread.obj new file mode 100644 index 0000000..fdff6b0 Binary files /dev/null and b/server/shared/Release/Thread.obj differ diff --git a/server/shared/Release/crc32.obj b/server/shared/Release/crc32.obj new file mode 100644 index 0000000..c4e1577 Binary files /dev/null and b/server/shared/Release/crc32.obj differ diff --git a/server/shared/Release/globals.obj b/server/shared/Release/globals.obj new file mode 100644 index 0000000..60eafd4 Binary files /dev/null and b/server/shared/Release/globals.obj differ diff --git a/server/shared/Release/lzf.obj b/server/shared/Release/lzf.obj new file mode 100644 index 0000000..8d6f0e3 Binary files /dev/null and b/server/shared/Release/lzf.obj differ diff --git a/server/shared/Release/shared.log b/server/shared/Release/shared.log new file mode 100644 index 0000000..9b0d9b3 --- /dev/null +++ b/server/shared/Release/shared.log @@ -0,0 +1,10 @@ + DebugUtils.cpp + Ini.cpp +F:\005SERVER\server source\shared\DebugUtils.cpp(1,10): error C1083: Cannot open precompiled header file: 'Release\shared.pch': No such file or directory + SMDFile.cpp +F:\005SERVER\server source\shared\Ini.cpp(1,10): error C1083: Cannot open precompiled header file: 'Release\shared.pch': No such file or directory + stdafx.cpp +F:\005SERVER\server source\shared\SMDFile.cpp(1,10): error C1083: Cannot open precompiled header file: 'Release\shared.pch': No such file or directory + TimeThread.cpp +F:\005SERVER\server source\shared\stdafx.cpp(1,10): error C1083: Cannot open precompiled header file: 'Release\shared.pch': No such file or directory +F:\005SERVER\server source\shared\TimeThread.cpp(1,10): error C1083: Cannot open precompiled header file: 'Release\shared.pch': No such file or directory diff --git a/server/shared/Release/shared.pdb b/server/shared/Release/shared.pdb new file mode 100644 index 0000000..773c035 Binary files /dev/null and b/server/shared/Release/shared.pdb differ diff --git a/server/shared/Release/shared.tlog/CL.command.1.tlog b/server/shared/Release/shared.tlog/CL.command.1.tlog new file mode 100644 index 0000000..8245562 Binary files /dev/null and b/server/shared/Release/shared.tlog/CL.command.1.tlog differ diff --git a/server/shared/Release/shared.tlog/CL.read.1.tlog b/server/shared/Release/shared.tlog/CL.read.1.tlog new file mode 100644 index 0000000..116550f Binary files /dev/null and b/server/shared/Release/shared.tlog/CL.read.1.tlog differ diff --git a/server/shared/Release/shared.tlog/CL.write.1.tlog b/server/shared/Release/shared.tlog/CL.write.1.tlog new file mode 100644 index 0000000..21a952b Binary files /dev/null and b/server/shared/Release/shared.tlog/CL.write.1.tlog differ diff --git a/server/shared/Release/shared.tlog/shared.lastbuildstate b/server/shared/Release/shared.tlog/shared.lastbuildstate new file mode 100644 index 0000000..4047048 --- /dev/null +++ b/server/shared/Release/shared.tlog/shared.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 +Release|Win32|F:\005SERVER\server source\| diff --git a/server/shared/Release/shared.tlog/unsuccessfulbuild b/server/shared/Release/shared.tlog/unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/server/shared/Release/signal_handler.obj b/server/shared/Release/signal_handler.obj new file mode 100644 index 0000000..904119b Binary files /dev/null and b/server/shared/Release/signal_handler.obj differ diff --git a/server/shared/Release/tstring.obj b/server/shared/Release/tstring.obj new file mode 100644 index 0000000..13c5353 Binary files /dev/null and b/server/shared/Release/tstring.obj differ diff --git a/server/shared/SMDFile.cpp b/server/shared/SMDFile.cpp new file mode 100644 index 0000000..cbf127f --- /dev/null +++ b/server/shared/SMDFile.cpp @@ -0,0 +1,223 @@ +#include "stdafx.h" +#include "../N3BASE/N3ShapeMgr.h" +#include "STLMapOnlyLoad.h" +#include "database/structs.h" +#include +#include "SMDFile.h" + +SMDFile::SMDMap SMDFile::s_loadedMaps; + +SMDFile::SMDFile() : m_ppnEvent(nullptr), m_fHeight(nullptr), + m_nXRegion(0), m_nZRegion(0), m_nMapSize(0), m_fUnitDist(0.0f), + m_N3ShapeMgr(new CN3ShapeMgr()) +{ +} + +SMDFile *SMDFile::Load(std::string mapName, bool bLoadWarpsAndRegeneEvents /*= false*/) +{ + // case insensitive filenames, allowing for database inconsistency... + STRTOLOWER(mapName); + + // Look to see if that SMD file has been loaded already + SMDMap::iterator itr = s_loadedMaps.find(mapName); + + // If it's been loaded already, we don't need to do anything. + if (itr != s_loadedMaps.end()) + { + // Add another reference. + itr->second->IncRef(); + return itr->second; + } + + // Map hasn't already been loaded + std::string filename = string_format(MAP_DIR "%s", mapName.c_str()); + + // Does this file exist/can it be opened? + FILE *fp = fopen(filename.c_str(), "rb"); + if (fp == nullptr) + { + printf("ERROR: %s does not exist or no permission to access.\n", filename.c_str()); + return nullptr; + } + + // Try to load the file now. + SMDFile *smd = new SMDFile(); + if (!smd->LoadMap(fp, mapName, bLoadWarpsAndRegeneEvents)) + { + // Problem? Make sure we clean up after ourselves. + smd->DecRef(); // it's the only reference anyway + smd = nullptr; + } + else + { + // Loaded fine, so now add it to the map. + s_loadedMaps.insert(std::make_pair(mapName, smd)); + } + + fclose(fp); + return smd; +} + +void SMDFile::OnInvalidMap() +{ + printf("\n ** An error has occurred **\n\n"); + printf("ERROR: %s is not a valid map file.\n\n", m_MapName.c_str()); + printf("Previously, we ignored all invalid map behaviour, however this only hides\n"); + printf("very real problems - especially with things like AI pathfinding.\n\n"); + printf("This problem is most likely occur with maps tweaked to use a different\n"); + printf("map size. Unfortunately, doing this means data after that (almost everything)\n"); + printf("becomes corrupt, which is known to cause extremely 'unusual' buggy behaviour.\n\n"); + printf("It is recommended you use a map built for this zone, or at the very least,\n"); + printf("you should use a map originally built for the same zone size.\n\n"); + ASSERT(0); +} + +bool SMDFile::LoadMap(FILE *fp, std::string & mapName, bool bLoadWarpsAndRegeneEvents) +{ + m_MapName = mapName; + + LoadTerrain(fp); + + m_N3ShapeMgr->Create((m_nMapSize - 1)*m_fUnitDist, (m_nMapSize-1)*m_fUnitDist); + if (!m_N3ShapeMgr->LoadCollisionData(fp) + || (m_nMapSize - 1) * m_fUnitDist != m_N3ShapeMgr->Width() + || (m_nMapSize - 1) * m_fUnitDist != m_N3ShapeMgr->Height()) + return false; + + int mapwidth = (int)m_N3ShapeMgr->Width(); + + m_nXRegion = (int)(mapwidth / VIEW_DISTANCE) + 1; + m_nZRegion = (int)(mapwidth / VIEW_DISTANCE) + 1; + + LoadObjectEvent(fp); + LoadMapTile(fp); + + if (bLoadWarpsAndRegeneEvents) + { + LoadRegeneEvent(fp); + LoadWarpList(fp); + } + + return true; +} + +void SMDFile::LoadTerrain(FILE *fp) +{ + if (fread(&m_nMapSize, sizeof(m_nMapSize), 1, fp) != 1 + || fread(&m_fUnitDist, sizeof(m_fUnitDist), 1, fp) != 1) + return OnInvalidMap(); + + m_fHeight = new float[m_nMapSize * m_nMapSize]; + if (fread(m_fHeight, sizeof(float) * m_nMapSize * m_nMapSize, 1, fp) != 1) + OnInvalidMap(); +} + +void SMDFile::LoadObjectEvent(FILE *fp) +{ + int iEventObjectCount = 0; + if (fread(&iEventObjectCount, sizeof(int), 1, fp) != 1) + return OnInvalidMap(); + + // Load on K_OBJECTPOS table, this is set fd to last pointer... + for (int i = 0; i < iEventObjectCount; i++) + { + if (fread((new _OBJECT_EVENT), 24, 1, fp) != 1) + return OnInvalidMap(); + } +} + +void SMDFile::LoadMapTile(FILE *fp) +{ + m_ppnEvent = new short[m_nMapSize * m_nMapSize]; + if (fread(m_ppnEvent, sizeof(short) * m_nMapSize * m_nMapSize, 1, fp) != 1) + return OnInvalidMap(); +} + +void SMDFile::LoadRegeneEvent(FILE *fp) +{ + int iEventObjectCount = 0; + if (fread(&iEventObjectCount, sizeof(iEventObjectCount), 1, fp) != 1) + return OnInvalidMap(); + + for (int i = 0; i < iEventObjectCount; i++) + { + _REGENE_EVENT *pEvent = new _REGENE_EVENT; + if (fread(pEvent, sizeof(_REGENE_EVENT) - sizeof(pEvent->sRegenePoint), 1, fp) != 1) + return OnInvalidMap(); + + pEvent->sRegenePoint = i; + + if (pEvent->sRegenePoint < 0 + || !m_ObjectRegeneArray.PutData(pEvent->sRegenePoint, pEvent)) + delete pEvent; + } +} + +void SMDFile::LoadWarpList(FILE *fp) +{ + int WarpCount = 0; + + if (fread(&WarpCount, sizeof(WarpCount), 1, fp) != 1) + return OnInvalidMap(); + + for (int i = 0; i < WarpCount; i++) + { + _WARP_INFO *pWarp = new _WARP_INFO; + if (fread(pWarp, sizeof(_WARP_INFO), 1, fp) != 1) + { + // NOTE: Some SMDs are so horribly broken warps are incomplete. + // This will stop this (reasonably) normal use case from behaving any differently. + if (feof(fp)) + return; + + return OnInvalidMap(); + } + + if (pWarp->sWarpID == 0 + || !m_WarpArray.PutData(pWarp->sWarpID, pWarp)) + delete pWarp; + } +} + +void SMDFile::GetWarpList(int warpGroup, std::set<_WARP_INFO *> & warpEntries) +{ + foreach_stlmap_nolock (itr, m_WarpArray) + { + _WARP_INFO *pWarp = itr->second; + if (pWarp == nullptr || (pWarp->sWarpID / 10) != warpGroup) + continue; + + warpEntries.insert(pWarp); + } +} + +bool SMDFile::IsValidPosition(float x, float z, float y) +{ + // TODO: Implement more thorough check + return (x < m_N3ShapeMgr->Width() && z < m_N3ShapeMgr->Height()); +} + +int SMDFile::GetEventID(int x, int z) +{ + if (x < 0 || x >= m_nMapSize || z < 0 || z >= m_nMapSize) + return -1; + + return m_ppnEvent[x * m_nMapSize + z]; +} + +SMDFile::~SMDFile() +{ + if (m_ppnEvent != nullptr) + { + delete [] m_ppnEvent; + m_ppnEvent = nullptr; + } + + if (m_fHeight != nullptr) + { + delete[] m_fHeight; + m_fHeight = nullptr; + } + + delete m_N3ShapeMgr; +} \ No newline at end of file diff --git a/server/shared/SMDFile.h b/server/shared/SMDFile.h new file mode 100644 index 0000000..95e646a --- /dev/null +++ b/server/shared/SMDFile.h @@ -0,0 +1,74 @@ +#pragma once + +#include "ReferenceObject.h" + +class CUser; + +typedef CSTLMapOnlyLoad <_OBJECT_EVENT> ObjectEventArray; +typedef CSTLMapOnlyLoad <_REGENE_EVENT> ObjectRegeneArray; +typedef CSTLMapOnlyLoad <_WARP_INFO> WarpArray; + +class CN3ShapeMgr; +class SMDFile : public ReferenceObject +{ +public: + SMDFile(); + + static SMDFile *Load(std::string mapName, bool bLoadWarpsAndRegeneEvents = false /* AI server doesn't need them */); + + void OnInvalidMap(); + bool LoadMap(FILE *fp, std::string & mapName, bool bLoadWarpsAndRegeneEvents /* AI server doesn't need them */); + void LoadTerrain(FILE *fp); + void LoadObjectEvent(FILE *fp); + void LoadMapTile(FILE *fp); + void LoadRegeneEvent(FILE *fp); + void LoadWarpList(FILE *fp); + + bool IsValidPosition(float x, float z, float y); + bool CheckEvent( float x, float z, CUser* pUser = nullptr ); + + int GetEventID(int x, int z); + + INLINE int GetMapSize() { return m_nMapSize - 1; } + INLINE float GetUnitDistance() { return m_fUnitDist; } + INLINE int GetXRegionMax() { return m_nXRegion - 1; } + INLINE int GetZRegionMax() { return m_nZRegion - 1; } + + INLINE short * GetEventIDs() { return m_ppnEvent; } + + INLINE ObjectEventArray * GetObjectEventArray() { return &m_ObjectEventArray; } + INLINE _OBJECT_EVENT * GetObjectEvent(int objectindex) { return m_ObjectEventArray.GetData(objectindex); } + INLINE _REGENE_EVENT * GetRegeneEvent(int objectindex) { return m_ObjectRegeneArray.GetData(objectindex); } + INLINE _WARP_INFO * GetWarp(int warpID) { return m_WarpArray.GetData(warpID); } + + void GetWarpList(int warpGroup, std::set<_WARP_INFO *> & warpEntries); + + virtual ~SMDFile(); + +private: + std::string m_MapName; + + short* m_ppnEvent; + WarpArray m_WarpArray; + + ObjectEventArray m_ObjectEventArray; + ObjectRegeneArray m_ObjectRegeneArray; + + CN3ShapeMgr *m_N3ShapeMgr; + + float* m_fHeight; + + int m_nXRegion, m_nZRegion; + + int m_nMapSize; // Grid Unit ex) 4m + float m_fUnitDist; // i Grid Distance + + typedef std::map SMDMap; + static SMDMap s_loadedMaps; + +#if defined(GAMESERVER) + friend class C3DMap; +#elif defined(AI_SERVER) + friend class MAP; +#endif +}; diff --git a/server/shared/STLMap.h b/server/shared/STLMap.h new file mode 100644 index 0000000..3bb4d56 --- /dev/null +++ b/server/shared/STLMap.h @@ -0,0 +1,68 @@ +#pragma once + +#include + +template +class CSTLMap +{ +public: + typedef typename std::map::iterator Iterator; + std::map m_UserTypeMap; + std::recursive_mutex m_lock; + + int GetSize() + { + Guard lock(m_lock); + return m_UserTypeMap.size(); + } + + bool IsExist(uint32 key) + { + Guard lock(m_lock); + return (m_UserTypeMap.find(key) != m_UserTypeMap.end()); + } + + bool IsEmpty() + { + Guard lock(m_lock); + return m_UserTypeMap.empty(); + } + + bool PutData(uint32 key_value, T* pData) + { + Guard lock(m_lock); + return m_UserTypeMap.insert(std::make_pair(key_value, pData)).second; + } + + T* GetData(uint32 key_value) + { + Guard lock(m_lock); + auto itr = m_UserTypeMap.find(key_value); + return (itr != m_UserTypeMap.end() ? itr->second : nullptr); + } + + void DeleteData(uint32 key_value) + { + Guard lock(m_lock); + auto itr = m_UserTypeMap.find(key_value); + if (itr!= m_UserTypeMap.end()) + { + delete itr->second; + m_UserTypeMap.erase(itr); + } + } + + void DeleteAllData() + { + Guard lock(m_lock); + if (m_UserTypeMap.empty()) + return; + + foreach (itr, m_UserTypeMap) + delete itr->second; + + m_UserTypeMap.clear(); + } + + ~CSTLMap() { DeleteAllData(); } +}; \ No newline at end of file diff --git a/server/shared/STLMapOnlyLoad.h b/server/shared/STLMapOnlyLoad.h new file mode 100644 index 0000000..f799946 --- /dev/null +++ b/server/shared/STLMapOnlyLoad.h @@ -0,0 +1,68 @@ +#pragma once + +#include + +template +class CSTLMapOnlyLoad +{ +public: + typedef typename std::map::iterator Iterator; + std::map m_UserTypeMap; + std::recursive_mutex m_lock; + + int GetSize() + { + Guard lock(m_lock); + return m_UserTypeMap.size(); + } + + bool IsExist(uint32 key) + { + Guard lock(m_lock); + return (m_UserTypeMap.find(key) != m_UserTypeMap.end()); + } + + bool IsEmpty() + { + Guard lock(m_lock); + return m_UserTypeMap.empty(); + } + + bool PutData(uint32 key_value, T* pData) + { + Guard lock(m_lock); + return m_UserTypeMap.insert(std::make_pair(key_value, pData)).second; + } + + T* GetData(uint32 key_value) + { + Guard lock(m_lock); + auto itr = m_UserTypeMap.find(key_value); + return (itr != m_UserTypeMap.end() ? itr->second : nullptr); + } + + void DeleteData(uint32 key_value) + { + Guard lock(m_lock); + auto itr = m_UserTypeMap.find(key_value); + if (itr!= m_UserTypeMap.end()) + { + delete itr->second; + m_UserTypeMap.erase(itr); + } + } + + void DeleteAllData() + { + Guard lock(m_lock); + if (m_UserTypeMap.empty()) + return; + + foreach (itr, m_UserTypeMap) + delete itr->second; + + m_UserTypeMap.clear(); + } + + ~CSTLMapOnlyLoad() { DeleteAllData(); } +}; \ No newline at end of file diff --git a/server/shared/Socket.cpp b/server/shared/Socket.cpp new file mode 100644 index 0000000..1ca2f6e --- /dev/null +++ b/server/shared/Socket.cpp @@ -0,0 +1,139 @@ +#include "stdafx.h" +#include "SocketMgr.h" +#pragma warning(disable:4996) +Socket::Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize) + : m_fd(fd), m_connected(false), m_deleted(false), m_socketMgr(nullptr) +{ + // Allocate buffers + readBuffer.Allocate(recvbuffersize); + writeBuffer.Allocate(sendbuffersize); + + // IOCP member variables + m_completionPort = 0; + m_writeLock = 0; + + // Check for needed fd allocation. + if (m_fd == 0) + m_fd = SocketOps::CreateTCPFileDescriptor(); +} + +bool Socket::Connect(const char * Address, uint32 Port) +{ + struct hostent * ci = gethostbyname(Address); + if (ci == 0) + return false; + + m_client.sin_family = ci->h_addrtype; + m_client.sin_port = ntohs((u_short)Port); + memcpy(&m_client.sin_addr.s_addr, ci->h_addr_list[0], ci->h_length); + + SocketOps::Blocking(m_fd); + + if (m_fd == 0) + m_fd = SocketOps::CreateTCPFileDescriptor(); + + if (connect(m_fd, (const sockaddr*)&m_client, sizeof(m_client)) == -1) + return false; + + // at this point the connection was established + m_completionPort = m_socketMgr->GetCompletionPort(); + + _OnConnect(); + return true; +} +void Socket::Accept(sockaddr_in * address) +{ + memcpy(&m_client, address, sizeof(*address)); + _OnConnect(); +} + +void Socket::_OnConnect() +{ + // set common parameters on the file descriptor + m_connected = true; + + m_writeLockMutex.lock(); + m_writeLock = 0; + m_writeLockMutex.unlock(); + + AssignToCompletionPort(); + m_socketMgr->OnConnect(this); + + // Call virtual onconnect + OnConnect(); + //printf("_OnConnect %s:%d\n",GetRemoteIP().c_str(),GetRemotePort()); + + // Setting the read event up after calling OnConnect() ensures OnConnect() & subsequent connection setup code is run first (which is NOT GUARANTEED otherwise) + SetupReadEvent(); +} + +bool Socket::Send(const uint8 * Bytes, uint32 Size) +{ + bool rv; + + // This is really just a wrapper for all the burst stuff. + BurstBegin(); + rv = BurstSend(Bytes, Size); + if (rv) + BurstPush(); + BurstEnd(); + + return rv; +} + +bool Socket::BurstSend(const uint8 * Bytes, uint32 Size) +{ + return writeBuffer.Write(Bytes, Size); +} + +std::string Socket::GetRemoteIP() +{ + char* ip = (char*)inet_ntoa(m_client.sin_addr); + if (ip != nullptr) + return std::string(ip); + + return std::string("noip"); +} + +void Socket::Disconnect() +{ + + if (!IsConnected()) + return; + + m_connected = false; + + m_readEvent.Unmark(); + + // Call virtual ondisconnect + OnDisconnect(); + GetSocketMgr()->OnDisconnect(this); + + SocketOps::CloseSocket(m_fd); + m_fd = 0; + + m_writeLockMutex.lock(); + m_writeLock = 0; + m_writeLockMutex.unlock(); + + // Reset the read/write buffers + GetReadBuffer().Remove(GetReadBuffer().GetSize()); + GetWriteBuffer().Remove(GetWriteBuffer().GetSize()); +} + +void Socket::Delete() +{ + if (IsDeleted()) + return; + + m_deleted = true; + + if (IsConnected()) + Disconnect(); + + delete this; +} + +Socket::~Socket() +{ +} diff --git a/server/shared/Socket.h b/server/shared/Socket.h new file mode 100644 index 0000000..dbedffa --- /dev/null +++ b/server/shared/Socket.h @@ -0,0 +1,127 @@ +#pragma once +class SocketMgr; +class Socket +{ +public: + // Constructor. If fd = 0, it will be assigned + Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + + + // Open a connection to another machine. + bool Connect(const char * Address, uint32 Port); + + // Disconnect the socket. + void Disconnect(); + + // Accept from the already-set fd. + void Accept(sockaddr_in * address); + + void ReadCallback(uint32 len); + void WriteCallback(); + + /* Implementable methods */ + + // Called when data is received. + virtual void OnRead() {} + + // Called when a connection is first successfully established. + virtual void OnConnect() {} + + // Called when the socket is disconnected from the client (either forcibly or by the connection dropping) + virtual void OnDisconnect() {} + + /* Send Operations */ + + // Locks sending std::recursive_mutex, adds bytes, unlocks std::recursive_mutex. + bool Send(const uint8 * Bytes, uint32 Size); + + // Burst system - Locks the sending mutex. + + // Burst system - Adds bytes to output buffer. + bool BurstSend(const uint8 * Bytes, uint32 Size); + + // Burst system - Pushes event to queue - do at the end of write events. + void BurstPush(); + + // Burst system - Locks the sending mutex. + INLINE void BurstBegin() { m_writeMutex.lock(); } + + // Burst system - Unlocks the sending mutex. + INLINE void BurstEnd() { m_writeMutex.unlock(); } + + std::recursive_mutex m_writeMutex, m_readMutex; + + // Burst system - Unlocks the sending mutex. + + /* Client Operations */ + + // Get the client's ip in numerical form. + std::string GetRemoteIP(); + INLINE sockaddr_in & GetRemoteStruct() { return m_client; } + INLINE in_addr GetRemoteAddress() { return m_client.sin_addr; } + INLINE uint32 GetRemotePort() { return ntohs(m_client.sin_port); } + INLINE SOCKET GetFd() { return m_fd; } + INLINE SocketMgr * GetSocketMgr() { return m_socketMgr; } + + INLINE bool IsDeleted() { return m_deleted; } + INLINE bool IsConnected() { return m_connected; } + INLINE CircularBuffer& GetReadBuffer() { return readBuffer; } + INLINE CircularBuffer& GetWriteBuffer() { return writeBuffer; } + + INLINE void SetFd(SOCKET fd) { m_fd = fd; } + INLINE void SetSocketMgr(SocketMgr *mgr) { m_socketMgr = mgr; } + + /* Deletion */ + void Delete(); + + // Destructor. + virtual ~Socket(); + +protected: + // Called when connection is opened. + void _OnConnect(); + + SOCKET m_fd; + + CircularBuffer readBuffer, writeBuffer; + + // are we connected? stop from posting events. + bool m_connected; + + // are we deleted? stop us from posting events. + bool m_deleted; + + sockaddr_in m_client; + + SocketMgr *m_socketMgr; + +public: + // Set completion port that this socket will be assigned to. + INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + + void SetupReadEvent(); + OverlappedStruct m_readEvent, m_writeEvent; + +private: + // Completion port socket is assigned to + HANDLE m_completionPort; + + // Assigns the socket to his completion port. + void AssignToCompletionPort(); + +public: + /* Atomic wrapper functions for increasing read/write locks */ + INLINE void DecSendLock() { --m_writeLock; } + INLINE bool AcquireSendLock() + { + if (m_writeLock != 0) + return false; + + ++m_writeLock; + return true; + } +private: + // Write lock, stops multiple write events from being posted. + uint32 m_writeLock; + std::recursive_mutex m_writeLockMutex; +}; diff --git a/server/shared/SocketDefines.h b/server/shared/SocketDefines.h new file mode 100644 index 0000000..60bba8e --- /dev/null +++ b/server/shared/SocketDefines.h @@ -0,0 +1,48 @@ +#pragma once + +enum SocketIOEvent +{ + SOCKET_IO_EVENT_READ_COMPLETE = 0, + SOCKET_IO_EVENT_WRITE_END = 1, + SOCKET_IO_THREAD_SHUTDOWN = 2, + NUM_SOCKET_IO_EVENTS = 3, +}; + +class OverlappedStruct +{ +public: + OVERLAPPED m_overlap; + SocketIOEvent m_event; + + Atomic m_inUse; + + OverlappedStruct(SocketIOEvent ev) : m_event(ev) + { + memset(&m_overlap, 0, sizeof(OVERLAPPED)); + m_inUse = false; + }; + + OverlappedStruct() + { + memset(&m_overlap, 0, sizeof(OVERLAPPED)); + m_inUse = false; + } + + INLINE void Reset(SocketIOEvent ev) + { + memset(&m_overlap, 0, sizeof(OVERLAPPED)); + m_event = ev; + } + + void Mark() + { + bool val = false; + if (!m_inUse.compare_exchange(val, true)) + TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + } + + void Unmark() + { + m_inUse = false; + } +}; diff --git a/server/shared/SocketMgr.cpp b/server/shared/SocketMgr.cpp new file mode 100644 index 0000000..a75119c --- /dev/null +++ b/server/shared/SocketMgr.cpp @@ -0,0 +1,210 @@ +#include "stdafx.h" +#include "SocketMgr.h" +#include + +bool SocketMgr::s_bRunningCleanupThread = true; +std::recursive_mutex SocketMgr::s_disconnectionQueueLock; +std::queue SocketMgr::s_disconnectionQueue; + +Thread SocketMgr::s_cleanupThread; +Atomic SocketMgr::s_refCounter; + +uint32 THREADCALL SocketCleanupThread(void * lpParam) +{ + while (SocketMgr::s_bRunningCleanupThread) + { + SocketMgr::s_disconnectionQueueLock.lock(); + while (!SocketMgr::s_disconnectionQueue.empty()) + { + Socket *pSock = SocketMgr::s_disconnectionQueue.front(); + if (pSock->GetSocketMgr()) + pSock->GetSocketMgr()->DisconnectCallback(pSock); + SocketMgr::s_disconnectionQueue.pop(); + } + SocketMgr::s_disconnectionQueueLock.unlock(); + sleep(100); + } + + return 0; +} + +SocketMgr::SocketMgr() : m_threadCount(0), + m_bWorkerThreadsActive(false), + m_bShutdown(false) +{ + static bool bRefCounterInitialised = false; + if (!bRefCounterInitialised) + { + s_refCounter = 0; + bRefCounterInitialised = true; + } + + IncRef(); + Initialise(); +} + +void SocketMgr::SpawnWorkerThreads() +{ + if (m_bWorkerThreadsActive) + return; + + SYSTEM_INFO si; + GetSystemInfo(&si); + + int threadcount = 1;//si.dwNumberOfProcessors * 2; + + m_bWorkerThreadsActive = true; + + for (int i = 0; i < threadcount; i++) + m_threads.push_back(new Thread(SocketWorkerThread, this)); + + + if (!s_cleanupThread.isStarted()) + s_cleanupThread.start(SocketCleanupThread); +} + + +uint32 THREADCALL SocketMgr::SocketWorkerThread(void * lpParam) +{ + SocketMgr *socketMgr = (SocketMgr *)lpParam; + HANDLE cp = socketMgr->GetCompletionPort(); + DWORD len; + Socket * s = nullptr; + OverlappedStruct * ov = nullptr; + LPOVERLAPPED ol_ptr; + + while (socketMgr->m_bWorkerThreadsActive) + { + +#ifndef _WIN64 + if(!GetQueuedCompletionStatus(cp, &len, (LPDWORD)&s, &ol_ptr, 10000)) +#else + if(!GetQueuedCompletionStatus(cp, &len, (PULONG_PTR)&s, &ol_ptr, 10000)) +#endif + continue; + + ov = CONTAINING_RECORD(ol_ptr, OverlappedStruct, m_overlap); + + if (ov->m_event == SOCKET_IO_THREAD_SHUTDOWN) + { + delete ov; + return 0; + } + + if (ov->m_event < NUM_SOCKET_IO_EVENTS) + ophandlers[ov->m_event](s, len); + //std::async(std::launch::async, ophandlers[ov->m_event], s, len); + + } + + return 0; +} + +void SocketMgr::Initialise() +{ + m_completionPort = nullptr; +} + +void SocketMgr::CreateCompletionPort() +{ + SetCompletionPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, (ULONG_PTR)0, 0)); +} + +void SocketMgr::SetupWinsock() +{ + WSADATA wsaData; + WSAStartup(MAKEWORD(2,0), &wsaData); +} + +void HandleReadComplete(Socket * s, uint32 len) +{ + if (s->IsDeleted()) + return; + + + s->m_readEvent.Unmark(); + if (len) + { + s->GetReadBuffer().IncrementWritten(len); + s->OnRead(); + s->SetupReadEvent(); + } + else + { + s->Disconnect(); + } +} + +void HandleWriteComplete(Socket * s, uint32 len) +{ + if (s->IsDeleted()) + return; + + s->m_writeEvent.Unmark(); + Guard lock(s->m_writeMutex);// Lock + s->GetWriteBuffer().Remove(len); + if(s->GetWriteBuffer().GetContiguousBytes() > 0) + s->WriteCallback(); + else + s->DecSendLock(); +} + +void HandleShutdown(Socket * s, uint32 len) {} + +void SocketMgr::OnConnect(Socket *pSock) {} +void SocketMgr::DisconnectCallback(Socket *pSock) {} +void SocketMgr::OnDisconnect(Socket *pSock) +{ + Guard lock(s_disconnectionQueueLock); + s_disconnectionQueue.push(pSock); +} + +void SocketMgr::ShutdownThreads() +{ + OverlappedStruct * ov = new OverlappedStruct(SOCKET_IO_THREAD_SHUTDOWN); + PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)0, &ov->m_overlap); + + m_bWorkerThreadsActive = false; + + + printf("Waiting for worker socket threads to exit..."); + foreach (itr, m_threads) + { + (*itr)->waitForExit(); + delete (*itr); + } + printf(" exited.\n"); + +} + +void SocketMgr::Shutdown() +{ + if (m_bShutdown) + return; + + ShutdownThreads(); + + DecRef(); + m_bShutdown = true; +} + +void SocketMgr::SetupSockets() +{ + SetupWinsock(); +} + +void SocketMgr::CleanupSockets() +{ + if (s_cleanupThread.isStarted()) + { + s_bRunningCleanupThread = false; + s_cleanupThread.waitForExit(); + } + + WSACleanup(); +} + +SocketMgr::~SocketMgr() +{ + Shutdown(); +} diff --git a/server/shared/SocketMgr.h b/server/shared/SocketMgr.h new file mode 100644 index 0000000..a9e33a3 --- /dev/null +++ b/server/shared/SocketMgr.h @@ -0,0 +1,74 @@ +#pragma once + +#include +#include +#include +#include "Socket.h" + +uint32 THREADCALL SocketCleanupThread(void * lpParam); + +class SocketMgr +{ +public: + SocketMgr(); + + void Initialise(); + + void SpawnWorkerThreads(); + void ShutdownThreads(); + + static void SetupSockets(); + static void CleanupSockets(); + + INLINE HANDLE GetCompletionPort() { return m_completionPort; } + INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + void CreateCompletionPort(); + + static void SetupWinsock(); + static void CleanupWinsock(); + + static uint32 THREADCALL SocketWorkerThread(void * lpParam); + + HANDLE m_completionPort; + + virtual Socket *AssignSocket(SOCKET socket) = 0; + virtual void OnConnect(Socket *pSock); + virtual void OnDisconnect(Socket *pSock); + virtual void DisconnectCallback(Socket *pSock); + virtual void Shutdown(); + virtual ~SocketMgr(); + + static std::recursive_mutex s_disconnectionQueueLock; + static std::queue s_disconnectionQueue; + +protected: + bool m_bShutdown; + + std::vector m_threads; + static Thread s_cleanupThread; + + long m_threadCount; + bool m_bWorkerThreadsActive; + + INLINE void IncRef() { if (s_refCounter.increment() == 1) SetupSockets(); } + INLINE void DecRef() { if (s_refCounter.decrement() == 0) CleanupSockets(); } + + // reference counter (one app can hold multiple socket manager instances) + static Atomic s_refCounter; + +public: + static bool s_bRunningCleanupThread; +}; + +typedef void(*OperationHandler)(Socket * s, uint32 len); + +void HandleReadComplete(Socket * s, uint32 len); +void HandleWriteComplete(Socket * s, uint32 len); +void HandleShutdown(Socket * s, uint32 len); + +static OperationHandler ophandlers[] = +{ + &HandleReadComplete, + &HandleWriteComplete, + &HandleShutdown +}; diff --git a/server/shared/SocketOps.h b/server/shared/SocketOps.h new file mode 100644 index 0000000..5782fbc --- /dev/null +++ b/server/shared/SocketOps.h @@ -0,0 +1,22 @@ +#pragma once + +namespace SocketOps +{ + // Create file descriptor for socket i/o operations. + SOCKET CreateTCPFileDescriptor(); + + // Disable blocking send/recv calls. + bool Nonblocking(SOCKET fd); + + // Enable blocking send/recv calls. + bool Blocking(SOCKET fd); + + // Disable nagle buffering algorithm + bool DisableBuffering(SOCKET fd); + + // Enables nagle buffering algorithm + bool EnableBuffering(SOCKET fd); + + // Closes socket completely. + void CloseSocket(SOCKET fd); +}; \ No newline at end of file diff --git a/server/shared/SocketOpsWin32.cpp b/server/shared/SocketOpsWin32.cpp new file mode 100644 index 0000000..ec4449d --- /dev/null +++ b/server/shared/SocketOpsWin32.cpp @@ -0,0 +1,47 @@ +#include "stdafx.h" +#pragma warning(disable:4996) +namespace SocketOps +{ + // Create file descriptor for socket i/o operations. + SOCKET CreateTCPFileDescriptor() + { + // create a socket for use with overlapped i/o. + return ::WSASocket(AF_INET, SOCK_STREAM, 0, 0, 0, WSA_FLAG_OVERLAPPED); + } + + // Disable blocking send/recv calls. + bool Nonblocking(SOCKET fd) + { + u_long arg = 1; + return (::ioctlsocket(fd, FIONBIO, &arg) == 0); + } + + // Disable blocking send/recv calls. + bool Blocking(SOCKET fd) + { + u_long arg = 0; + return (ioctlsocket(fd, FIONBIO, &arg) == 0); + } + + // Disable nagle buffering algorithm + bool DisableBuffering(SOCKET fd) + { + uint32 arg = 1; + return (setsockopt(fd, 0x6, TCP_NODELAY, (const char*)&arg, sizeof(arg)) == 0); + } + + // Enable nagle buffering algorithm + bool EnableBuffering(SOCKET fd) + { + uint32 arg = 0; + return (setsockopt(fd, 0x6, TCP_NODELAY, (const char*)&arg, sizeof(arg)) == 0); + } + + // Closes a socket fully. + void CloseSocket(SOCKET fd) + { + shutdown(fd, SD_BOTH); + closesocket(fd); + } + +} diff --git a/server/shared/SocketWin32.cpp b/server/shared/SocketWin32.cpp new file mode 100644 index 0000000..f52d7b1 --- /dev/null +++ b/server/shared/SocketWin32.cpp @@ -0,0 +1,73 @@ +#include "stdafx.h" + +void Socket::AssignToCompletionPort() +{ + CreateIoCompletionPort((HANDLE)m_fd, m_completionPort, (ULONG_PTR)this, 0); +} + +void Socket::BurstPush() +{ + if (AcquireSendLock()) + WriteCallback(); +} + +void Socket::WriteCallback() +{ + if (IsDeleted() || !IsConnected()) + return; + + // We don't want any writes going on while this is happening. + Guard lock(m_writeMutex); + if(writeBuffer.GetContiguousBytes()) + { + DWORD w_length = 0; + DWORD flags = 0; + + // attempt to push all the data out in a non-blocking fashion. + WSABUF buf; + buf.len = (ULONG)writeBuffer.GetContiguousBytes(); + buf.buf = (char*)writeBuffer.GetBufferStart(); + + m_writeEvent.Mark(); + m_writeEvent.Reset(SOCKET_IO_EVENT_WRITE_END); + int r = WSASend(m_fd, &buf, 1, &w_length, flags, &m_writeEvent.m_overlap, 0); + if (r == SOCKET_ERROR && WSAGetLastError() != WSA_IO_PENDING) + { + m_writeEvent.Unmark(); + DecSendLock(); + Disconnect(); + } + } + else + { + // Write operation is completed. + DecSendLock(); + } +} + +void Socket::SetupReadEvent() +{ + if (IsDeleted() || !IsConnected()) + return; + + Guard lock(m_readMutex); + DWORD r_length = 0; + DWORD flags = 0; + WSABUF buf; + buf.len = (ULONG)readBuffer.GetSpace(); + buf.buf = (char*)readBuffer.GetBuffer(); + + // event that will trigger after data is receieved + m_readEvent.Mark(); + m_readEvent.Reset(SOCKET_IO_EVENT_READ_COMPLETE); + if (WSARecv(m_fd, &buf, 1, &r_length, &flags, &m_readEvent.m_overlap, 0) == SOCKET_ERROR) + { + int err = WSAGetLastError(); + if (err != WSA_IO_PENDING) + { + printf("Tabiki dc.. %s err %d\n",GetRemoteIP().c_str(), err); + m_readEvent.Unmark(); + Disconnect(); + } + } +} diff --git a/server/shared/Thread.cpp b/server/shared/Thread.cpp new file mode 100644 index 0000000..b10a9c4 --- /dev/null +++ b/server/shared/Thread.cpp @@ -0,0 +1,47 @@ +#include "stdafx.h" + +Thread::Thread() +{ +} + +Thread::Thread(lpfnThreadFunc lpThreadFunc, void * lpParam /*= nullptr*/) +{ + start(lpThreadFunc, lpParam); +} + +bool Thread::start(lpfnThreadFunc lpThreadFunc, void * lpParam /*= nullptr*/) +{ + try + { + m_thread = std::thread(lpThreadFunc, lpParam); + return true; + } + catch (std::exception & ex) + { +#ifdef _DEBUG + printf("Caught thread exception: %s\n", ex.what()); + ASSERT(0); /* fix me */ +#endif + return false; + } +} + +bool Thread::waitForExit() +{ + try + { + // Ensure it's started & hasn't exited yet. + if (m_thread.joinable()) + m_thread.join(); + + return true; + } + catch (std::exception & ex) + { +#ifdef _DEBUG + printf("Caught thread exception: %s\n", ex.what()); + ASSERT(0); /* fix me */ +#endif + return false; + } +} diff --git a/server/shared/Thread.h b/server/shared/Thread.h new file mode 100644 index 0000000..8ee4d21 --- /dev/null +++ b/server/shared/Thread.h @@ -0,0 +1,23 @@ +#pragma once + +typedef uint32 (THREADCALL lpfnThreadFunc)(void *); + +class Thread +{ +public: + Thread(); + Thread(lpfnThreadFunc lpThreadFunc, void * lpParam = nullptr); + + INLINE bool isStarted() { return m_thread.joinable(); } + + bool start(lpfnThreadFunc lpThreadFunc, void * lpParam = nullptr); + bool waitForExit(); + + virtual ~Thread() {} + +protected: + std::thread m_thread; + +private: + Thread(const Thread & other); /* disable copy constructor */ +}; diff --git a/server/shared/TimeThread.cpp b/server/shared/TimeThread.cpp new file mode 100644 index 0000000..2271bbd --- /dev/null +++ b/server/shared/TimeThread.cpp @@ -0,0 +1,42 @@ +#include "stdafx.h" +#include +#include "TimeThread.h" + +time_t UNIXTIME; +tm g_localTime; + +static Thread s_timeThread; +static bool g_bRunningThread; + +void StartTimeThread() +{ + UNIXTIME = time(nullptr); + g_localTime = *localtime(&UNIXTIME); + s_timeThread.start(TimeThread); +} + +void CleanupTimeThread() +{ + printf("Waiting for time thread to shutdown..."); + g_bRunningThread = false; + s_timeThread.waitForExit(); + printf(" done.\n"); +} + +uint32 THREADCALL TimeThread(void * lpParam) +{ + g_bRunningThread = true; + while (g_bRunningThread) + { + auto t = time(nullptr); + if (UNIXTIME != t) + { + UNIXTIME = t; + g_localTime = *localtime(&t); + } + + sleep(1000); + } + + return 0; +} diff --git a/server/shared/TimeThread.h b/server/shared/TimeThread.h new file mode 100644 index 0000000..c27fad0 --- /dev/null +++ b/server/shared/TimeThread.h @@ -0,0 +1,9 @@ +#pragma once + +void StartTimeThread(); +void CleanupTimeThread(); + +uint32 THREADCALL TimeThread(void * lpParam); + +extern time_t UNIXTIME; +extern tm g_localTime; \ No newline at end of file diff --git a/server/shared/crc32.c b/server/shared/crc32.c new file mode 100644 index 0000000..23f65cc --- /dev/null +++ b/server/shared/crc32.c @@ -0,0 +1,122 @@ +/* + * $Id: crc32.c,v 1.1.1.1 1996/02/18 21:38:12 ylo Exp $ + * $Log: crc32.c,v $ + * Revision 1.1.1.1 1996/02/18 21:38:12 ylo + * Imported ssh-1.2.13. + * + * Revision 1.2 1995/07/13 01:21:34 ylo + * Added cvs log. + * + * $Endlog$ + */ + +/* The implementation here was originally done by Gary S. Brown. I have + borrowed the tables directly, and made some minor changes to the + crc32-function (including changing the interface). //ylo */ +#include "crc32.h" + + /* ============================================================= */ + /* COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or */ + /* code or tables extracted from it, as desired without restriction. */ + /* */ + /* First, the polynomial itself and its table of feedback terms. The */ + /* polynomial is */ + /* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */ + /* */ + /* Note that we take it "backwards" and put the highest-order term in */ + /* the lowest-order bit. The X^32 term is "implied"; the LSB is the */ + /* X^31 term, etc. The X^0 term (usually shown as "+1") results in */ + /* the MSB being 1. */ + /* */ + /* Note that the usual hardware shift register implementation, which */ + /* is what we're using (we're merely optimizing it by doing eight-bit */ + /* chunks at a time) shifts bits into the lowest-order term. In our */ + /* implementation, that means shifting towards the right. Why do we */ + /* do it this way? Because the calculated CRC must be transmitted in */ + /* order from highest-order term to lowest-order term. UARTs transmit */ + /* characters in order from LSB to MSB. By storing the CRC this way, */ + /* we hand it to the UART in the order low-byte to high-byte; the UART */ + /* sends each low-bit to hight-bit; and the result is transmission bit */ + /* by bit from highest- to lowest-order term without requiring any bit */ + /* shuffling on our part. Reception works similarly. */ + /* */ + /* The feedback terms table consists of 256, 32-bit entries. Notes: */ + /* */ + /* The table can be generated at runtime if desired; code to do so */ + /* is shown later. It might not be obvious, but the feedback */ + /* terms simply represent the results of eight shift/xor opera- */ + /* tions for all combinations of data and CRC register values. */ + /* */ + /* The values must be right-shifted by eight bits by the "updcrc" */ + /* logic; the shift must be unsigned (bring in zeroes). On some */ + /* hardware you could probably optimize the shift in assembler by */ + /* using byte-swap instructions. */ + /* polynomial $edb88320 */ + /* */ + /* -------------------------------------------------------------------- */ + +static unsigned int crc32_tab[] = { + 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, + 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, + 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, + 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, + 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, + 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, + 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, + 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, + 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, + 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, + 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, + 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, + 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, + 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, + 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, + 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, + 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, + 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, + 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, + 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, + 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, + 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, + 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, + 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, + 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, + 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, + 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, + 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, + 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, + 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, + 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, + 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, + 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, + 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, + 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, + 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, + 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, + 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, + 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, + 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, + 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, + 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, + 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, + 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, + 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, + 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, + 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, + 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, + 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, + 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, + 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, + 0x2d02ef8dL + }; + +/* Return a 32-bit CRC of the contents of the buffer. */ + +unsigned int crc32(const unsigned char *s, unsigned int len, unsigned int startVal) +{ + unsigned int i, crc32val = startVal; + for (i = 0; i < len; i++) + crc32val = crc32_tab[(crc32val ^ s[i]) & 0xff] ^ (crc32val >> 8); + + return crc32val; +} diff --git a/server/shared/crc32.h b/server/shared/crc32.h new file mode 100644 index 0000000..c1a3d11 --- /dev/null +++ b/server/shared/crc32.h @@ -0,0 +1,36 @@ +/* + +crc32.h + +Author: Tatu Ylonen + +Copyright (c) 1992 Tatu Ylonen, Espoo, Finland +All rights reserved + +Created: Tue Feb 11 14:37:27 1992 ylo + +Functions for computing 32-bit CRC. + +*/ + +/* +* $Id: crc32.h,v 1.1.1.1 1996/02/18 21:38:11 ylo Exp $ +* $Log: crc32.h,v $ +* Revision 1.1.1.1 1996/02/18 21:38:11 ylo +* Imported ssh-1.2.13. +* +* Revision 1.2 1995/07/13 01:21:45 ylo +* Removed "Last modified" header. +* Added cvs log. +* +* $Endlog$ +*/ +#ifndef CRC32_H +#define CRC32_H + +/* This computes a 32 bit CRC of the data in the buffer, and returns the +CRC. The polynomial used is 0xedb88320. */ + +unsigned int crc32(const unsigned char *s, unsigned int len, unsigned int startVal); + +#endif /* CRC32_H */ diff --git a/server/shared/database/AchieveComSet.h b/server/shared/database/AchieveComSet.h new file mode 100644 index 0000000..44d2bfb --- /dev/null +++ b/server/shared/database/AchieveComSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CAchieveComSet : public OdbcRecordset +{ +public: + CAchieveComSet(OdbcConnection * dbConnection, AchieveComArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_COM"); } + virtual tstring GetColumns() { return _T("cAchieveID, cType, cQuest1, cQuest2"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_COM; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchByte(i++, pData->UnKnow1); + _dbCommand->FetchUInt32(i++, pData->UnKnow2); + _dbCommand->FetchUInt32(i++, pData->UnKnow3); + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + return true; + } + + AchieveComArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/AchieveMainSet.h b/server/shared/database/AchieveMainSet.h new file mode 100644 index 0000000..fe676e9 --- /dev/null +++ b/server/shared/database/AchieveMainSet.h @@ -0,0 +1,39 @@ +#pragma once + +class CAchieveMainSet : public OdbcRecordset +{ +public: + CAchieveMainSet(OdbcConnection * dbConnection, AchieveMainArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_MAIN"); } + virtual tstring GetColumns() { return _T("mMainID, strName, strDescription, mKind, mAchieveID, mPoints, mItemID, mItemCount, mZoneNum, mKilled, mKilled, mType, mTime, mSize, Category"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_MAIN; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchByte(i++, pData->Type); + _dbCommand->FetchUInt16(i++, pData->TitleID); + _dbCommand->FetchUInt16(i++, pData->Point); + _dbCommand->FetchUInt32(i++, pData->ItemID); + _dbCommand->FetchUInt32(i++, pData->Count); + _dbCommand->FetchByte(i++, pData->ZoneID); + _dbCommand->FetchByte(i++, pData->UnKnow7); + _dbCommand->FetchByte(i++, pData->TabIndex); + _dbCommand->FetchUInt16(i++, pData->Time); + _dbCommand->FetchString(i++, pData->Name); + _dbCommand->FetchString(i++, pData->Description); + _dbCommand->FetchByte(i++, pData->PropertiesType); + _dbCommand->FetchByte(i++, pData->SubTabIndex); + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + + return true; + } + + AchieveMainArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/AchieveMonsterSet.h b/server/shared/database/AchieveMonsterSet.h new file mode 100644 index 0000000..60aeddf --- /dev/null +++ b/server/shared/database/AchieveMonsterSet.h @@ -0,0 +1,35 @@ +#pragma once + +class CAchieveMonsterSet : public OdbcRecordset +{ +public: + CAchieveMonsterSet(OdbcConnection * dbConnection, AchieveMonsterArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_MON"); } + virtual tstring GetColumns() { return _T("oMainID, oType, oType2, oSsid1, oSsid2, oSsid3, oSsid4, oCount, oSsid5, oSsid6, oSsid7, oSsid8, oCount2"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_MONSTER; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchByte(i++, pData->Unknow2); + _dbCommand->FetchByte(i++, pData->Unknow3); + + for (size_t ii = 0; ii < 2; ii++) + { + for (size_t iii = 0; iii < 4; iii++) + _dbCommand->FetchUInt32(i++, pData->MonsterID[ii][iii]); + + _dbCommand->FetchUInt32(i++, pData->MonsterCount[ii]); + } + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + return true; + } + + AchieveMonsterArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/AchieveNormalSet.h b/server/shared/database/AchieveNormalSet.h new file mode 100644 index 0000000..2348602 --- /dev/null +++ b/server/shared/database/AchieveNormalSet.h @@ -0,0 +1,27 @@ +#pragma once + +class CAchieveNormalSet : public OdbcRecordset +{ +public: + CAchieveNormalSet(OdbcConnection * dbConnection, AchieveNormalArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_NORMAL"); } + virtual tstring GetColumns() { return _T("nAchieveID, nType, nTypeCount"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_NORMAL; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchUInt16(i++, pData->UnKnow1); + _dbCommand->FetchUInt32(i++, pData->UnKnow2); + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + return true; + } + + AchieveNormalArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/AchieveTitleSet.h b/server/shared/database/AchieveTitleSet.h new file mode 100644 index 0000000..232a723 --- /dev/null +++ b/server/shared/database/AchieveTitleSet.h @@ -0,0 +1,51 @@ +#pragma once + +class CAchieveTitleSet : public OdbcRecordset +{ +public: + CAchieveTitleSet(OdbcConnection * dbConnection, AchieveTitleArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_TITLE"); } + virtual tstring GetColumns() { return _T("cAchieveID, strTitle, cMainID, cStrB, cStaB, cDexB, cIntB, cChaB, cAttack, cAC, cNPContribu, cExpPct, cSSwordAC, cJamadarAC, cSwordAC, cBlowAC, cAxeAC, cSpearAC, cArrowAC, cFlameB, cIceB, cLightB, cFireR, cIceR, cLightR, cMagicR, cCurseR, cPoisonR"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_TITLE; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchUInt16(i++, pData->UnKnow1); + _dbCommand->FetchInt16(i++, pData->Strength); + _dbCommand->FetchInt16(i++, pData->Health); + _dbCommand->FetchInt16(i++, pData->Dexterity); + _dbCommand->FetchInt16(i++, pData->Intelligence); + _dbCommand->FetchInt16(i++, pData->MagicPower); + _dbCommand->FetchInt16(i++, pData->Attack); + _dbCommand->FetchInt16(i++, pData->Defense); + _dbCommand->FetchInt16(i++, pData->Contribution); + _dbCommand->FetchInt16(i++, pData->ExpBonusPercent); + _dbCommand->FetchInt16(i++, pData->ShortSwordDefense); + _dbCommand->FetchInt16(i++, pData->JamadarDefense); + _dbCommand->FetchInt16(i++, pData->SwordDefense); + _dbCommand->FetchInt16(i++, pData->BlowDefense); + _dbCommand->FetchInt16(i++, pData->AxeDefense); + _dbCommand->FetchInt16(i++, pData->SpearDefense); + _dbCommand->FetchInt16(i++, pData->ArrowDefense); + _dbCommand->FetchInt16(i++, pData->FlameBonus); + _dbCommand->FetchInt16(i++, pData->IceBonus); + _dbCommand->FetchInt16(i++, pData->ElectricShockBonus); + _dbCommand->FetchInt16(i++, pData->FlameResistence); + _dbCommand->FetchInt16(i++, pData->IceResistence); + _dbCommand->FetchInt16(i++, pData->ElectrickShockResistence); + _dbCommand->FetchInt16(i++, pData->MagicResistence); + _dbCommand->FetchInt16(i++, pData->SpellResistence); + _dbCommand->FetchInt16(i++, pData->PoisonResistence); + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + return true; + } + + AchieveTitleArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/AchieveWarSet.h b/server/shared/database/AchieveWarSet.h new file mode 100644 index 0000000..8d12004 --- /dev/null +++ b/server/shared/database/AchieveWarSet.h @@ -0,0 +1,29 @@ +#pragma once + +class CAchieveWarSet : public OdbcRecordset +{ +public: + CAchieveWarSet(OdbcConnection * dbConnection, AchieveWarArray * pMap) : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ACHIEVE_WAR"); } + virtual tstring GetColumns() { return _T("wMainID, wType, UnKnow, wKillCount, UnKnow2"); } + + virtual bool Fetch() + { + auto pData = new _ACHIEVE_WAR; + + auto i = 1; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchByte(i++, pData->Type); + _dbCommand->FetchByte(i++, pData->UnKnow2); + _dbCommand->FetchUInt32(i++, pData->Data); + _dbCommand->FetchUInt32(i++, pData->UnKnow4); + + if (!m_pMap->PutData(pData->ID, pData)) + delete pData; + + return true; + } + + AchieveWarArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/BattleSet.h b/server/shared/database/BattleSet.h new file mode 100644 index 0000000..852e7ce --- /dev/null +++ b/server/shared/database/BattleSet.h @@ -0,0 +1,19 @@ +#pragma once + +class CBattleSet : public OdbcRecordset +{ +public: + CBattleSet(OdbcConnection * dbConnection, uint8 * byOldVictory) + : OdbcRecordset(dbConnection), m_byOldVictory(byOldVictory) {} + + virtual tstring GetTableName() { return _T("BATTLE"); } + virtual tstring GetColumns() { return _T("byNation"); } + + virtual bool Fetch() + { + _dbCommand->FetchByte(1, *m_byOldVictory); + return true; + } + + uint8 *m_byOldVictory; +}; \ No newline at end of file diff --git a/server/shared/database/BotTableSet.h b/server/shared/database/BotTableSet.h new file mode 100644 index 0000000..1b7722f --- /dev/null +++ b/server/shared/database/BotTableSet.h @@ -0,0 +1,88 @@ +#pragma once + +class CBotTableSet : public OdbcRecordset +{ +public: + CBotTableSet(OdbcConnection * dbConnection, BotArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("BOTDATA"); } + virtual tstring GetColumns() + { + return _T("strUserID, Nation, Race, Class, HairRGB, [Level], Face, Knights, Fame, Zone, PX, PZ, PY, strItem, id, CoverTitle, RebLevel, strSkill, Gold, Points, Strong, Sta, Dex, Intel, Cha"); + } + + virtual bool Fetch() + { + CBot * pUser = new CBot(); + int field = 1; + + char strItem[INVENTORY_TOTAL * 8]; + memset(strItem, 0x00, sizeof(strItem)); + + _dbCommand->FetchString(field++, pUser->m_strUserID); + _dbCommand->FetchByte(field++, pUser->m_bNation); + _dbCommand->FetchByte(field++, pUser->m_bRace); + _dbCommand->FetchUInt16(field++, pUser->m_sClass); + _dbCommand->FetchUInt32(field++, pUser->m_nHair); + _dbCommand->FetchByte(field++, pUser->m_bLevel); + _dbCommand->FetchByte(field++, pUser->m_bFace); + _dbCommand->FetchInt16(field++, pUser->m_bKnights); + _dbCommand->FetchByte(field++, pUser->m_bFame); + _dbCommand->FetchByte(field++, pUser->m_bZone); + pUser->m_curx = (float)(_dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_curz = (float)(_dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_cury = (float)(_dbCommand->FetchInt32(field++) / 100.0f); + pUser->m_oldx = pUser->m_curx; + pUser->m_oldy = pUser->m_cury; + pUser->m_oldz = pUser->m_curz; + + + memset(pUser->m_sItemArray, 0x00, sizeof(pUser->m_sItemArray)); + + _dbCommand->FetchBinary(field++, strItem, sizeof(strItem)); + ByteBuffer itemData; + itemData.append(strItem, sizeof(strItem)); + for (int i = 0; i < INVENTORY_TOTAL; i++) + { + uint32 nItemID; + uint16 sDurability, sCount; + itemData >> nItemID >> sDurability >> sCount; + _ITEM_DATA *pItem = &pUser->m_sItemArray[i]; + pItem->nNum = nItemID; + pItem->sDuration = sDurability; + pItem->sCount = sCount; + + } + + + _dbCommand->FetchUInt16(field++, pUser->m_sSid); + _dbCommand->FetchUInt16(field++, pUser->m_sAchieveCoverTitle); + + _dbCommand->FetchByte(field++, pUser->m_reblvl); + + + _dbCommand->FetchBinary(field++, (char *)pUser->m_bstrSkill, sizeof(pUser->m_bstrSkill)); + + _dbCommand->FetchUInt32(field++, pUser->m_iGold); + _dbCommand->FetchInt16(field++, pUser->m_sPoints); + _dbCommand->FetchByte(field++, pUser->m_bStats[STAT_STR]); + _dbCommand->FetchByte(field++, pUser->m_bStats[STAT_STA]); + _dbCommand->FetchByte(field++, pUser->m_bStats[STAT_DEX]); + _dbCommand->FetchByte(field++, pUser->m_bStats[STAT_INT]); + _dbCommand->FetchByte(field++, pUser->m_bStats[STAT_CHA]); + + + pUser->m_sSid += MAX_USER; + + if (pUser == nullptr) + delete pUser; + else + m_pMap->PutData(pUser->m_sSid,pUser); + + + return true; + } + + BotArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/CoefficientSet.h b/server/shared/database/CoefficientSet.h new file mode 100644 index 0000000..57f76b1 --- /dev/null +++ b/server/shared/database/CoefficientSet.h @@ -0,0 +1,39 @@ +#pragma once + +class CCoefficientSet : public OdbcRecordset +{ +public: + CCoefficientSet(OdbcConnection * dbConnection, CoefficientArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("COEFFICIENT"); } + virtual tstring GetColumns() { return _T("sClass, ShortSword, Sword, Axe, Club, Spear, Pole, Staff, Bow, Hp, Mp, Sp, Ac, Hitrate, Evasionrate"); } + + virtual bool Fetch() + { + _CLASS_COEFFICIENT *pData = new _CLASS_COEFFICIENT; + + _dbCommand->FetchUInt16(1, pData->sClassNum); + _dbCommand->FetchSingle(2, pData->ShortSword); + _dbCommand->FetchSingle(3, pData->Sword); + _dbCommand->FetchSingle(4, pData->Axe); + _dbCommand->FetchSingle(5, pData->Club); + _dbCommand->FetchSingle(6, pData->Spear); + _dbCommand->FetchSingle(7, pData->Pole); + _dbCommand->FetchSingle(8, pData->Staff); + _dbCommand->FetchSingle(9, pData->Bow); + _dbCommand->FetchSingle(10, pData->HP); + _dbCommand->FetchSingle(11, pData->MP); + _dbCommand->FetchSingle(12, pData->SP); + _dbCommand->FetchSingle(13, pData->AC); + _dbCommand->FetchSingle(14, pData->Hitrate); + _dbCommand->FetchSingle(15, pData->Evasionrate); + + if (!m_pMap->PutData(pData->sClassNum, pData)) + delete pData; + + return true; + } + + CoefficientArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/CypherTableSet.h b/server/shared/database/CypherTableSet.h new file mode 100644 index 0000000..b8174e0 --- /dev/null +++ b/server/shared/database/CypherTableSet.h @@ -0,0 +1,40 @@ +#pragma once + +class CCypherTableSet : public OdbcRecordset +{ +public: + CCypherTableSet(OdbcConnection * dbConnection, CypherRingArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("USERDATA_CYPHER"); } + virtual tstring GetColumns() + { + return _T("id, strUserId, strSerial, sClass, bLevel, iExp, bRace"); + } + + virtual bool Fetch() + { + int i = 1; + _CYPHERRING_DATA * pData = new _CYPHERRING_DATA; + _dbCommand->FetchUInt32(i++, pData->ID); + _dbCommand->FetchString(i++, pData->UserName); + _dbCommand->FetchUInt64(i++, pData->m_Serial); + _dbCommand->FetchByte(i++, pData->sClass); + _dbCommand->FetchByte(i++, pData->bLevel); + _dbCommand->FetchUInt64(i++, pData->iExp); + _dbCommand->FetchUInt16(i++, pData->bRace); + + if (pData->ID > g_pMain->LastPetID) + g_pMain->LastPetID = pData->ID; + + if (pData == nullptr) + delete pData; + else + m_pMap->insert(std::make_pair(pData->m_Serial, pData)); + + + return true; + } + + CypherRingArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/EventSet.h b/server/shared/database/EventSet.h new file mode 100644 index 0000000..a6481ff --- /dev/null +++ b/server/shared/database/EventSet.h @@ -0,0 +1,46 @@ +#pragma once + +class CEventSet : public OdbcRecordset +{ +public: + CEventSet(OdbcConnection * dbConnection, ZoneArray *pZoneArray) + : OdbcRecordset(dbConnection), m_pZoneArray(pZoneArray) {} + + virtual tstring GetTableName() { return _T("EVENT"); } + virtual tstring GetColumns() { return _T("ZoneNum, EventNum, Type, Cond1, Cond2, Cond3, Cond4, Cond5, Exec1, Exec2, Exec3, Exec4, Exec5"); } + + virtual bool Fetch() + { + CGameEvent *pData = new CGameEvent(); + uint8 bZone; + int i = 1; + + _dbCommand->FetchByte(i++, bZone); + _dbCommand->FetchUInt16(i++, pData->m_sIndex); + _dbCommand->FetchByte(i++, pData->m_bType); + + // TODO: Get rid of this (need to tweak the database to just use int fields) + for (int j = 0; j < 5; j++) + { + char tmp[16]; + _dbCommand->FetchString(i++, tmp, sizeof(tmp)); + pData->m_iCond[j] = atoi(tmp); + } + + for (int j = 0; j < 5; j++) + { + char tmp[16]; + _dbCommand->FetchString(i++, tmp, sizeof(tmp)); + pData->m_iExec[j] = atoi(tmp); + } + + C3DMap *pZone = m_pZoneArray->GetData(bZone); + if (pZone == nullptr + || !pZone->m_EventArray.PutData(pData->m_sIndex, pData)) + delete pData; + + return true; + } + + ZoneArray * m_pZoneArray; +}; \ No newline at end of file diff --git a/server/shared/database/EventTimes.h b/server/shared/database/EventTimes.h new file mode 100644 index 0000000..7de48d8 --- /dev/null +++ b/server/shared/database/EventTimes.h @@ -0,0 +1,31 @@ +#pragma once + +class CEventTimes : public OdbcRecordset +{ +public: + CEventTimes(OdbcConnection * dbConnection, EventTimesArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("EVENT_TIMES"); } + virtual tstring GetColumns() { return _T("sIndex, bTime1, bTime2, bTime3, bLvMin, bLvMax, AllDays"); } + + virtual bool Fetch() + { + _EVENT_TIMES * pData = new _EVENT_TIMES; + + _dbCommand->FetchUInt16(1, pData->sIndex); + _dbCommand->FetchByte(2, pData->bTime1); + _dbCommand->FetchByte(3, pData->bTime2); + _dbCommand->FetchByte(4, pData->bTime3); + _dbCommand->FetchByte(5, pData->bLvMin); + _dbCommand->FetchByte(6, pData->bLvMax); + _dbCommand->FetchByte(7, pData->AllDays); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + EventTimesArray *m_pMap; + }; \ No newline at end of file diff --git a/server/shared/database/EventTriggerSet.h b/server/shared/database/EventTriggerSet.h new file mode 100644 index 0000000..0bb8111 --- /dev/null +++ b/server/shared/database/EventTriggerSet.h @@ -0,0 +1,28 @@ + #pragma once + +class CEventTriggerSet : public OdbcRecordset +{ +public: + CEventTriggerSet(OdbcConnection * dbConnection, EventTriggerArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("EVENT_TRIGGER"); } + virtual tstring GetColumns() { return _T("nIndex, bNpcType, sNpcID, nTriggerNum"); } + + virtual bool Fetch() + { + _EVENT_TRIGGER * pData = new _EVENT_TRIGGER; + + _dbCommand->FetchUInt32(1, pData->nIndex); + _dbCommand->FetchUInt16(2, pData->bNpcType); + _dbCommand->FetchUInt32(3, pData->sNpcID); + _dbCommand->FetchUInt32(4, pData->nTriggerNum); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + EventTriggerArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/IlegalItems.h b/server/shared/database/IlegalItems.h new file mode 100644 index 0000000..80da591 --- /dev/null +++ b/server/shared/database/IlegalItems.h @@ -0,0 +1,26 @@ +#pragma once + +class CIlegalItems : public OdbcRecordset +{ +public: + CIlegalItems(OdbcConnection * dbConnection, IlegalItemsArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ILEGAL_ITEMS"); } + virtual tstring GetColumns() { return _T("nIndex, nItemID"); } + + virtual bool Fetch() + { + _ILEGAL_ITEMS * pData = new _ILEGAL_ITEMS; + + _dbCommand->FetchUInt32(1, pData->i_Index); + _dbCommand->FetchUInt32(2, pData->i_ItemID); + + if (!m_pMap->PutData(pData->i_Index, pData)) + delete pData; + + return true; + } + + IlegalItemsArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemCrashSet.h b/server/shared/database/ItemCrashSet.h new file mode 100644 index 0000000..2d5702a --- /dev/null +++ b/server/shared/database/ItemCrashSet.h @@ -0,0 +1,30 @@ +#pragma once + +class CItemCrashSet : public OdbcRecordset +{ +public: + CItemCrashSet(OdbcConnection * dbConnection, ItemCrashArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_CRASH"); } + virtual tstring GetColumns() { return _T("nIndex,Flag,ItemID,ItemCount,SuccessRate"); } + virtual tstring GetOrderBy() { return _T("DropRate"); } + + virtual bool Fetch() + { + _ITEM_CRASH * pData = new _ITEM_CRASH; + + int index = 1; + _dbCommand->FetchUInt32(index++,pData->Index); + _dbCommand->FetchByte(index++, pData->Flag); + _dbCommand->FetchUInt32(index++, pData->ItemID); + _dbCommand->FetchUInt16(index++, pData->ItemCount); + _dbCommand->FetchUInt16(index++, pData->SuccessRate); + + if(!m_pMap->PutData(pData->Index,pData)) + delete pData; + return true; + } + + ItemCrashArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemDuper.h b/server/shared/database/ItemDuper.h new file mode 100644 index 0000000..1206d6c --- /dev/null +++ b/server/shared/database/ItemDuper.h @@ -0,0 +1,28 @@ +#pragma once + +class CItemDuper : public OdbcRecordset +{ +public: + CItemDuper(OdbcConnection * dbConnection, ItemDupersArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_DUPERS"); } + virtual tstring GetColumns() { return _T("nIndex, nItemID, nSerial"); } + + virtual bool Fetch() + { + _ITEM_DUPER * pData = new _ITEM_DUPER; + + _dbCommand->FetchUInt32(1, pData->n_Index); + _dbCommand->FetchUInt32(2, pData->d_ItemID); + _dbCommand->FetchUInt64(3, pData->d_Serial); + + + if (!m_pMap->PutData(pData->n_Index, pData)) + delete pData; + + return true; + } + + ItemDupersArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemExchangeExpSet.h b/server/shared/database/ItemExchangeExpSet.h new file mode 100644 index 0000000..dd8289a --- /dev/null +++ b/server/shared/database/ItemExchangeExpSet.h @@ -0,0 +1,39 @@ +#pragma once + +class CItemExchangeExpSet : public OdbcRecordset +{ +public: + CItemExchangeExpSet(OdbcConnection * dbConnection, ItemExchangeExpArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_EXCHANGE_EXP"); } + virtual tstring GetColumns() + { + return _T("nIndex, bRandomFlag, " + "nExchangeItemNum1, nExchangeItemCount1, nExchangeItemNum2, nExchangeItemCount2," + "nExchangeItemNum3, nExchangeItemCount3, " + "nExchangeItemNum4, nExchangeItemCount4, nExchangeItemNum5, nExchangeItemCount5"); + } + + virtual bool Fetch() + { + _ITEM_EXCHANGE_EXP *pData = new _ITEM_EXCHANGE_EXP; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->nIndex); + _dbCommand->FetchByte(i++, pData->bRandomFlag); + + for (int j = 0; j < ITEMS_IN_EXCHANGE_GROUP; j++) + { + _dbCommand->FetchUInt32(i++, pData->nExchangeItemNum[j]); + _dbCommand->FetchUInt32(i++, pData->sExchangeItemCount[j]); + } + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + ItemExchangeExpArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemExchangeSet.h b/server/shared/database/ItemExchangeSet.h new file mode 100644 index 0000000..d138942 --- /dev/null +++ b/server/shared/database/ItemExchangeSet.h @@ -0,0 +1,53 @@ +#pragma once + +class CItemExchangeSet : public OdbcRecordset +{ +public: + CItemExchangeSet(OdbcConnection * dbConnection, ItemExchangeArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_EXCHANGE"); } + virtual tstring GetColumns() + { + return _T("nIndex, bRandomFlag,nUnk1, " + "nOriginItemNum1, nOriginItemCount1, nOriginItemNum2, nOriginItemCount2, " + "nOriginItemNum3, nOriginItemCount3, nOriginItemNum4, nOriginItemCount4, " + "nOriginItemNum5, nOriginItemCount5," + "nExchangeItemNum1, nExchangeItemCount1, nExchangeItemNum2, nExchangeItemCount2, nExchangeItemNum3, nExchangeItemCount3, " + "nExchangeItemNum4, nExchangeItemCount4, nExchangeItemNum5, nExchangeItemCount5,nUnk2 , nUnk3, nUnk4, nUnk5"); + } + + virtual bool Fetch() + { + _ITEM_EXCHANGE *pData = new _ITEM_EXCHANGE; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->nIndex); + _dbCommand->FetchByte(i++, pData->bRandomFlag); + _dbCommand->FetchUInt32(i++, pData->Unk1); + + for (int x = 0; x < ITEMS_IN_ORIGIN_GROUP; x++) + { + _dbCommand->FetchUInt32(i++, pData->nOriginItemNum[x]); + _dbCommand->FetchUInt32(i++, pData->sOriginItemCount[x]); + } + + for (int j = 0; j < ITEMS_IN_EXCHANGE_GROUP; j++) + { + _dbCommand->FetchUInt32(i++, pData->nExchangeItemNum[j]); + _dbCommand->FetchUInt32(i++, pData->sExchangeItemCount[j]); + + } + _dbCommand->FetchUInt32(i++, pData->Unk2); + _dbCommand->FetchUInt32(i++, pData->Unk3); + _dbCommand->FetchUInt32(i++, pData->Unk4); + _dbCommand->FetchUInt32(i++, pData->Unk5); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + ItemExchangeArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemMiningSet.h b/server/shared/database/ItemMiningSet.h new file mode 100644 index 0000000..c2092ec --- /dev/null +++ b/server/shared/database/ItemMiningSet.h @@ -0,0 +1,51 @@ +#pragma once + +class CItemMiningSet : public OdbcRecordset +{ +public: + CItemMiningSet(OdbcConnection * dbConnection, ItemMiningArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_MINING"); } + virtual tstring GetColumns() + { + return _T("nIndex, ExchangeItemNum, ExchangeRate, isGoldenMattock"); + } + + virtual bool Fetch() + { + _MINING_ITEM *pData = new _MINING_ITEM; + + int i = 1; + + _dbCommand->FetchUInt32(i++, pData->nMiningID); + _dbCommand->FetchUInt32(i++, pData->nExchangeItemNum); + _dbCommand->FetchUInt16(i++, pData->sExchangeItemRate); + _dbCommand->FetchUInt16(i++, pData->isGoldenMattock); + + if (pData->isGoldenMattock == 0) + { + for(int ad=0; ad < pData->sExchangeItemRate; ad++) + { + g_pMain->bRandArrayNormalMattock[g_pMain->TotalMiningExchangeRate + ad] = pData->nExchangeItemNum; + } + g_pMain->TotalMiningExchangeRate += pData->sExchangeItemRate; + } + else + { + for(int ad=0; ad < pData->sExchangeItemRate; ad++) + { + g_pMain->bRandArrayGoldenMattock[g_pMain->TotalGoldenMiningExchangeRate + ad] = pData->nExchangeItemNum; + } + g_pMain->TotalGoldenMiningExchangeRate += pData->sExchangeItemRate; + } + + + if (!m_pMap->PutData(pData->nMiningID, pData)) + delete pData; + + return true; + } + + ItemMiningArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemMixSet.h b/server/shared/database/ItemMixSet.h new file mode 100644 index 0000000..6c90be1 --- /dev/null +++ b/server/shared/database/ItemMixSet.h @@ -0,0 +1,60 @@ +#pragma once + +class CItemMixSet : public OdbcRecordset +{ +public: + CItemMixSet(OdbcConnection * dbConnection, ItemMixArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_MIX"); } + virtual tstring GetColumns() + { + + return _T("nIndex, nNpcID,bType,strName,bStatus," + "nOriginItemNum1, nOriginItemCount1, nOriginItemNum2, nOriginItemCount2, " + "nOriginItemNum3, nOriginItemCount3, nOriginItemNum4, nOriginItemCount4, " + "nOriginItemNum5, nOriginItemCount5,nOriginItemNum6, nOriginItemCount6,nOriginItemNum7, nOriginItemCount7," + "nOriginItemNum8, nOriginItemCount8,nOriginItemNum9, nOriginItemCount9,nOriginItemNum10, nOriginItemCount10," + "sSuccessEffect,bSuccessRate,sFailEffect,bBonusRate," + "nExchangeItemNum1, nExchangeItemCount1, nExchangeItemNum2, nExchangeItemCount2, nExchangeItemNum3, nExchangeItemCount3, " + "nExchangeItemNum4, nExchangeItemCount4, nExchangeItemNum5, nExchangeItemCount5, nExchangeItemNum6, nExchangeItemCount6," + "nExchangeItemNum7, nExchangeItemCount7, nExchangeItemNum8, nExchangeItemCount8, nExchangeItemNum9, nExchangeItemCount9, nExchangeItemNum10, nExchangeItemCount10"); + } + + virtual bool Fetch() + { + _ITEM_MIX *pData = new _ITEM_MIX; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->nIndex); + _dbCommand->FetchUInt16(i++, pData->sNpcNum); + _dbCommand->FetchByte(i++, pData->bType); + _dbCommand->FetchString(i++, pData->strName); + _dbCommand->FetchByte(i++, pData->bStatus); + + for (int x = 0; x < ITEMS_IN_SPECIAL_ORIGIN_GROUP; x++) + { + _dbCommand->FetchUInt32(i++, pData->nOriginItemNum[x]); + _dbCommand->FetchUInt16(i++, pData->sOriginItemCount[x]); + } + + _dbCommand->FetchUInt16(i++, pData->sSuccessEffect); + _dbCommand->FetchUInt16(i++, pData->bSuccessRate); + _dbCommand->FetchUInt16(i++, pData->sFailEffect); + _dbCommand->FetchUInt16(i++, pData->bBonusRate); + + for (int j = 0; j < ITEMS_IN_SPECIAL_EXCHANGE_GROUP; j++) + { + _dbCommand->FetchUInt32(i++, pData->nExchangeItemNum[j]); + _dbCommand->FetchUInt16(i++, pData->sExchangeItemCount[j]); + + } + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + ItemMixArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemOpSet.h b/server/shared/database/ItemOpSet.h new file mode 100644 index 0000000..2819be2 --- /dev/null +++ b/server/shared/database/ItemOpSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CItemOpSet : public OdbcRecordset +{ +public: + CItemOpSet(OdbcConnection * dbConnection, ItemOpArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_OP"); } + virtual tstring GetColumns() { return _T("nItemID, bTriggerType, nSkillID, bTriggerRate"); } + + virtual bool Fetch() + { + _ITEM_OP * pData = new _ITEM_OP; + + _dbCommand->FetchUInt32(1, pData->nItemID); + _dbCommand->FetchByte(2, pData->bTriggerType); + _dbCommand->FetchUInt32(3, pData->nSkillID); + _dbCommand->FetchByte(4, pData->bTriggerRate); + + if (!m_pMap->PutData(pData->nItemID, pData)) + delete pData; + + return true; + } + + ItemOpArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemTableSet.h b/server/shared/database/ItemTableSet.h new file mode 100644 index 0000000..cbed9fb --- /dev/null +++ b/server/shared/database/ItemTableSet.h @@ -0,0 +1,85 @@ +#pragma once + +class CItemTableSet : public OdbcRecordset +{ +public: + CItemTableSet(OdbcConnection * dbConnection, ItemtableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM"); } + virtual tstring GetColumns() { return _T("Num, ItemExt, ItemClass, strName, Kind, Slot, Race, Class, Damage, Delay, Range, Weight, Duration, BuyPrice, SellPrice, Ac, Countable, Effect1, Effect2, ReqLevel, ReqLevelMax, ReqRank, ReqTitle, ReqStr, ReqSta, ReqDex, ReqIntel, ReqCha, SellingGroup, ItemType, Hitrate, Evasionrate, DaggerAc, SwordAc, MaceAc, AxeAc, SpearAc, BowAc, FireDamage, IceDamage, LightningDamage, PoisonDamage, HPDrain, MPDamage, MPDrain, MirrorDamage, StrB, StaB, DexB, IntelB, ChaB, MaxHpB, MaxMpB, FireR, ColdR, LightningR, MagicR, PoisonR, CurseR, NPbuyPrice"); } + + virtual bool Fetch() + { + _ITEM_TABLE *pData = new _ITEM_TABLE; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->m_iNum); + _dbCommand->FetchInt16(i++, pData->ItemExt); + _dbCommand->FetchInt16(i++, pData->ItemClass); + _dbCommand->FetchString(i++, pData->m_sName); + _dbCommand->FetchByte(i++, pData->m_bKind); + _dbCommand->FetchByte(i++, pData->m_bSlot); + _dbCommand->FetchByte(i++, pData->m_bRace); + _dbCommand->FetchByte(i++, pData->m_bClass); + _dbCommand->FetchUInt16(i++, pData->m_sDamage); + _dbCommand->FetchUInt16(i++, pData->m_sDelay); + _dbCommand->FetchUInt16(i++, pData->m_sRange); + _dbCommand->FetchUInt16(i++, pData->m_sWeight); + _dbCommand->FetchUInt16(i++, pData->m_sDuration); + _dbCommand->FetchUInt32(i++, pData->m_iBuyPrice); + _dbCommand->FetchUInt32(i++, pData->m_iSellPrice); + _dbCommand->FetchInt16(i++, pData->m_sAc); + _dbCommand->FetchByte(i++, pData->m_bCountable); + _dbCommand->FetchUInt32(i++, pData->m_iEffect1); + _dbCommand->FetchUInt32(i++, pData->m_iEffect2); + _dbCommand->FetchByte(i++, pData->m_bReqLevel); + _dbCommand->FetchByte(i++, pData->m_bReqLevelMax); + _dbCommand->FetchByte(i++, pData->m_bReqRank); + _dbCommand->FetchByte(i++, pData->m_bReqTitle); + _dbCommand->FetchByte(i++, pData->m_bReqStr); + _dbCommand->FetchByte(i++, pData->m_bReqSta); + _dbCommand->FetchByte(i++, pData->m_bReqDex); + _dbCommand->FetchByte(i++, pData->m_bReqIntel); + _dbCommand->FetchByte(i++, pData->m_bReqCha); + _dbCommand->FetchUInt32(i++, pData->m_bSellingGroup); + _dbCommand->FetchByte(i++, pData->m_ItemType); + _dbCommand->FetchUInt16(i++, pData->m_sHitrate); + _dbCommand->FetchUInt16(i++, pData->m_sEvarate); + _dbCommand->FetchUInt16(i++, pData->m_sDaggerAc); + _dbCommand->FetchUInt16(i++, pData->m_sSwordAc); + _dbCommand->FetchUInt16(i++, pData->m_sMaceAc); + _dbCommand->FetchUInt16(i++, pData->m_sAxeAc); + _dbCommand->FetchUInt16(i++, pData->m_sSpearAc); + _dbCommand->FetchUInt16(i++, pData->m_sBowAc); + _dbCommand->FetchByte(i++, pData->m_bFireDamage); + _dbCommand->FetchByte(i++, pData->m_bIceDamage); + _dbCommand->FetchByte(i++, pData->m_bLightningDamage); + _dbCommand->FetchByte(i++, pData->m_bPoisonDamage); + _dbCommand->FetchByte(i++, pData->m_bHPDrain); + _dbCommand->FetchByte(i++, pData->m_bMPDamage); + _dbCommand->FetchByte(i++, pData->m_bMPDrain); + _dbCommand->FetchByte(i++, pData->m_bMirrorDamage); + _dbCommand->FetchInt16(i++, pData->m_sStrB); + _dbCommand->FetchInt16(i++, pData->m_sStaB); + _dbCommand->FetchInt16(i++, pData->m_sDexB); + _dbCommand->FetchInt16(i++, pData->m_sIntelB); + _dbCommand->FetchInt16(i++, pData->m_sChaB); + _dbCommand->FetchInt16(i++, pData->m_MaxHpB); + _dbCommand->FetchInt16(i++, pData->m_MaxMpB); + _dbCommand->FetchInt16(i++, pData->m_bFireR); + _dbCommand->FetchInt16(i++, pData->m_bColdR); + _dbCommand->FetchInt16(i++, pData->m_bLightningR); + _dbCommand->FetchInt16(i++, pData->m_bMagicR); + _dbCommand->FetchInt16(i++, pData->m_bPoisonR); + _dbCommand->FetchInt16(i++, pData->m_bCurseR); + _dbCommand->FetchUInt32(i++, pData->m_iNPBuyPrice); + + if (!m_pMap->PutData(pData->m_iNum, pData)) + delete pData; + + return true; + } + + ItemtableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ItemUpgradeSet.h b/server/shared/database/ItemUpgradeSet.h new file mode 100644 index 0000000..a1fdb4b --- /dev/null +++ b/server/shared/database/ItemUpgradeSet.h @@ -0,0 +1,37 @@ +#pragma once + +class CItemUpgradeSet : public OdbcRecordset +{ +public: + CItemUpgradeSet(OdbcConnection * dbConnection, ItemUpgradeArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ITEM_UPGRADE"); } + virtual tstring GetColumns() { return _T("nIndex, nNPCNum, nOriginType, nOriginItem, " + "nReqItem1, nReqItem2, nReqItem3, nReqItem4, nReqItem5, nReqItem6, nReqItem7, nReqItem8, " + "nReqNoah, bRateType, nGenRate, nGiveItem"); } + + virtual bool Fetch() + { + _ITEM_UPGRADE *pData = new _ITEM_UPGRADE; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->nIndex); + _dbCommand->FetchUInt16(i++, pData->sNpcNum); + _dbCommand->FetchSByte(i++, pData->bOriginType); + _dbCommand->FetchUInt16(i++, pData->sOriginItem); + for (int x = 0; x < MAX_ITEMS_REQ_FOR_UPGRADE; x++) + _dbCommand->FetchUInt32(i++, pData->nReqItem[x]); + _dbCommand->FetchUInt32(i++, pData->nReqNoah); + _dbCommand->FetchByte(i++, pData->bRateType); + _dbCommand->FetchUInt16(i++, pData->sGenRate); + _dbCommand->FetchInt32(i++, pData->nGiveItem); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + ItemUpgradeArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KingCandidacyNoticeBoardSet.h b/server/shared/database/KingCandidacyNoticeBoardSet.h new file mode 100644 index 0000000..8f82c09 --- /dev/null +++ b/server/shared/database/KingCandidacyNoticeBoardSet.h @@ -0,0 +1,52 @@ +#pragma once + +class CKingCandidacyNoticeBoardSet : public OdbcRecordset +{ +public: + CKingCandidacyNoticeBoardSet(OdbcConnection * dbConnection, KingSystemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KING_CANDIDACY_NOTICE_BOARD"); } + virtual tstring GetColumns() { return _T("byNation, strUserID, strNotice"); } + + virtual bool Fetch() + { + CKingSystem * pData; + uint8 byNation; + + // Pull the nation first so we can use it as an ID. + _dbCommand->FetchByte(1, byNation); + + // Hi, I'll take a map for 2 please. + if (byNation != KARUS && byNation != ELMORAD) + return false; + + // Do we have an entry for this nation already? + pData = m_pMap->GetData(byNation); + + // We don't? Nothing to do here. + if (pData == nullptr) + return true; + + std::string strUserID; + char strNotice[1024]; // strNotice is always a 1024 byte binary field + // which we implicitly create a variable sized std::string from to save memory. + + _dbCommand->FetchString(2, strUserID); + _dbCommand->FetchBinary(3, strNotice, sizeof(strNotice)); + + // Is this user added to the map already? + KingCandidacyNoticeBoardMap::iterator itr = pData->m_noticeBoardMap.find(strUserID); + + // Nope, let's add them. + if (itr == pData->m_noticeBoardMap.end()) + pData->m_noticeBoardMap.insert(make_pair(strUserID, strNotice)); + // They do, replace the notice board entry (no need to clear for reloads). + else + itr->second = strNotice; + + return true; + } + + KingSystemArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KingElectionListSet.h b/server/shared/database/KingElectionListSet.h new file mode 100644 index 0000000..15ec116 --- /dev/null +++ b/server/shared/database/KingElectionListSet.h @@ -0,0 +1,67 @@ +#pragma once + +class CKingElectionListSet : public OdbcRecordset +{ +public: + CKingElectionListSet(OdbcConnection * dbConnection, KingSystemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KING_ELECTION_LIST"); } + virtual tstring GetColumns() { return _T("byNation, byType, strName, nKnights, nMoney"); } + + virtual bool Fetch() + { + CKingSystem * pData; + uint8 byNation, byType; + + // Pull the nation first so we can use it as an ID. + _dbCommand->FetchByte(1, byNation); + + // Hi, I'll take a map for 2 please. + if (byNation != KARUS && byNation != ELMORAD) + return false; + + // Do we have an entry for this nation already? + pData = m_pMap->GetData(byNation); + + // We don't? Nothing to do here. + if (pData == nullptr) + return true; + /** + * byType list: + * 1 = ??? + * 2 = elected senator to replace King? + * 3 = ??? + * 4 = candidate for King + **/ + + _dbCommand->FetchByte(2, byType); + + // Only support senators / nominated/elected Kings for now. + if (byType != 3 && byType != 4) + return true; + + std::string strUserID; + _dbCommand->FetchString(3, strUserID); + + KingElectionList * pList = (byType == 3 ? &pData->m_senatorList : &pData->m_candidateList); + + // Is this user added to the list already? + KingElectionList::iterator itr = pList->find(strUserID); + + // Nope, let's add them. + if (itr == pList->end()) + { + _KING_ELECTION_LIST * pEntry = new _KING_ELECTION_LIST; + + _dbCommand->FetchUInt16(4, pEntry->sKnights); + _dbCommand->FetchUInt32(5, pEntry->nVotes); // probably not needed as this is all handled in the procs as far as I know + + pList->insert(make_pair(strUserID, pEntry)); + } + + return true; + } + + KingSystemArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KingSystemSet.h b/server/shared/database/KingSystemSet.h new file mode 100644 index 0000000..cf9cae3 --- /dev/null +++ b/server/shared/database/KingSystemSet.h @@ -0,0 +1,94 @@ +#pragma once + +class CKingSystemSet : public OdbcRecordset +{ +public: + CKingSystemSet(OdbcConnection * dbConnection, KingSystemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KING_SYSTEM"); } + virtual tstring GetColumns() { return _T("byNation, byType, sYear, byMonth, byDay, byHour, byMinute, byImType, sImYear, byImMonth, byImDay, byImHour, byImMinute, byNoahEvent, byNoahEvent_Day, byNoahEvent_Hour, byNoahEvent_Minute, sNoahEvent_Duration, byExpEvent, byExpEvent_Day, byExpEvent_Hour, byExpEvent_Minute, sExpEvent_Duration, nTribute, byTerritoryTariff, nTerritoryTax, nNationalTreasury, strKingName, strImRequestID"); } + + virtual bool Fetch() + { + CKingSystem * pData; + uint8 byNation; + uint32 i = 1; + + // Pull the nation first so we can use it as an ID. + _dbCommand->FetchByte(i++, byNation); + + // Hi, I'll take a map for 2 please. + if (byNation != KARUS && byNation != ELMORAD) + return true; + + // Do we have an entry for this nation already? + pData = m_pMap->GetData(byNation); + + // We don't? Create one. + if (pData == nullptr) + { + pData = new CKingSystem(); + + // We don't need to check if it exists, because if it did + // we wouldn't be here... + m_pMap->PutData(byNation, pData); + } + + // Let's set the nation then read the rest of the data from the table. + pData->m_byNation = byNation; + + /* Election */ + _dbCommand->FetchByte(i++, pData->m_byType); + _dbCommand->FetchUInt16(i++, pData->m_sYear); + _dbCommand->FetchByte(i++, pData->m_byMonth); + _dbCommand->FetchByte(i++, pData->m_byDay); + _dbCommand->FetchByte(i++, pData->m_byHour); + _dbCommand->FetchByte(i++, pData->m_byMinute); + + /* Impeachment */ + _dbCommand->FetchByte(i++, pData->m_byImType); + _dbCommand->FetchUInt16(i++, pData->m_sImYear); + _dbCommand->FetchByte(i++, pData->m_byImMonth); + _dbCommand->FetchByte(i++, pData->m_byImDay); + _dbCommand->FetchByte(i++, pData->m_byImHour); + _dbCommand->FetchByte(i++, pData->m_byImMinute); + + /* King events */ + + // Noah + _dbCommand->FetchByte(i++, pData->m_byNoahEvent); + _dbCommand->FetchByte(i++, pData->m_byNoahEvent_Day); + _dbCommand->FetchByte(i++, pData->m_byNoahEvent_Hour); + _dbCommand->FetchByte(i++, pData->m_byNoahEvent_Minute); + _dbCommand->FetchUInt16(i++, pData->m_sNoahEvent_Duration); + + // Experience + _dbCommand->FetchByte(i++, pData->m_byExpEvent); + _dbCommand->FetchByte(i++, pData->m_byExpEvent_Day); + _dbCommand->FetchByte(i++, pData->m_byExpEvent_Hour); + _dbCommand->FetchByte(i++, pData->m_byExpEvent_Minute); + _dbCommand->FetchUInt16(i++, pData->m_sExpEvent_Duration); + + /* Money, money, money. */ + _dbCommand->FetchUInt32(i++, pData->m_nTribute); + _dbCommand->FetchByte(i++, pData->m_nTerritoryTariff); + _dbCommand->FetchUInt32(i++, pData->m_nTerritoryTax); + _dbCommand->FetchUInt32(i++, pData->m_nNationalTreasury); + + C3DMap * pMap = g_pMain->GetZoneByID(pData->m_byNation); + if (pMap != nullptr) + pMap->SetTariff(pData->m_nTerritoryTariff); + + + /* Names are so hard to remember. */ + _dbCommand->FetchString(i++, pData->m_strKingName); + _dbCommand->FetchString(i++, pData->m_strImRequestID); + + pData->ResetElectionLists(); + + return true; + } + + KingSystemArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsAllianceSet.h b/server/shared/database/KnightsAllianceSet.h new file mode 100644 index 0000000..7c54d19 --- /dev/null +++ b/server/shared/database/KnightsAllianceSet.h @@ -0,0 +1,30 @@ +#pragma once + +class CKnightsAllianceSet : public OdbcRecordset +{ +public: + CKnightsAllianceSet(OdbcConnection * dbConnection, KnightsAllianceArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KNIGHTS_ALLIANCE"); } + virtual tstring GetColumns() { return _T("sMainAllianceKnights, sSubAllianceKnights, sMercenaryClan_1, sMercenaryClan_2"); } + + virtual bool Fetch() + { + _KNIGHTS_ALLIANCE *pData = new _KNIGHTS_ALLIANCE; + + _dbCommand->FetchUInt16(1, pData->sMainAllianceKnights); + _dbCommand->FetchUInt16(2, pData->sSubAllianceKnights); + _dbCommand->FetchUInt16(3, pData->sMercenaryClan_1); + _dbCommand->FetchUInt16(4, pData->sMercenaryClan_2); + + CKnights * pKnights = g_pMain->GetClanPtr(pData->sMainAllianceKnights); + if (pKnights == nullptr + || !m_pMap->PutData(pData->sMainAllianceKnights, pData)) + delete pData; + + return true; + } + + KnightsAllianceArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsCapeSet.h b/server/shared/database/KnightsCapeSet.h new file mode 100644 index 0000000..372fea0 --- /dev/null +++ b/server/shared/database/KnightsCapeSet.h @@ -0,0 +1,29 @@ +#pragma once + +class CKnightsCapeSet : public OdbcRecordset +{ +public: + CKnightsCapeSet(OdbcConnection * dbConnection, KnightsCapeArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KNIGHTS_CAPE"); } + virtual tstring GetColumns() { return _T("sCapeIndex, nBuyPrice, byGrade, nBuyLoyalty, byRanking"); } + + virtual bool Fetch() + { + _KNIGHTS_CAPE *pData = new _KNIGHTS_CAPE; + + _dbCommand->FetchUInt16(1, pData->sCapeIndex); + _dbCommand->FetchUInt32(2, pData->nReqCoins); + _dbCommand->FetchByte(3, pData->byGrade); + _dbCommand->FetchUInt32(4, pData->nReqClanPoints); + _dbCommand->FetchByte(5, pData->byRanking); + + if (!m_pMap->PutData(pData->sCapeIndex, pData)) + delete pData; + + return true; + } + + KnightsCapeArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsRankSet.h b/server/shared/database/KnightsRankSet.h new file mode 100644 index 0000000..e507e80 --- /dev/null +++ b/server/shared/database/KnightsRankSet.h @@ -0,0 +1,69 @@ +#pragma once + +class CKnightsRankSet : public OdbcRecordset +{ +public: + CKnightsRankSet(OdbcConnection * dbConnection, void * dummy) + : OdbcRecordset(dbConnection), nKarusCount(0), nElmoCount(0) + { + memset(&strKarusCaptain, 0, sizeof(strKarusCaptain)); + memset(&strElmoCaptain, 0, sizeof(strElmoCaptain)); + } + + virtual tstring GetTableName() { return _T("KNIGHTS_RATING"); } + virtual tstring GetColumns() { return _T("nRank, shIndex, nPoints"); } + + virtual bool Fetch() + { + _KNIGHTS_RATING * pData = new _KNIGHTS_RATING; + + _dbCommand->FetchUInt32(1, pData->nRank); + _dbCommand->FetchUInt16(2, pData->sClanID); + _dbCommand->FetchUInt32(3, pData->nPoints); + + CKnights *pKnights = g_pMain->GetClanPtr(pData->sClanID); + if (pKnights == nullptr + || (pKnights->m_byNation != KARUS && pKnights->m_byNation != ELMORAD) + || !g_pMain->m_KnightsRatingArray[pKnights->m_byNation - 1].PutData(pData->nRank, pData)) + { + delete pData; + return true; + } + + if (pKnights->m_byNation == KARUS) + { + if (nKarusCount == 5) + return true; + + CUser *pUser = g_pMain->GetUserPtr(pKnights->m_strChief, TYPE_CHARACTER); + if (pUser == nullptr || !pUser->GetMap()->isWarZone()) + return true; + + if (pUser->GetClanID() == pData->sClanID) + { + _snprintf(strKarusCaptain[nKarusCount++], 50, "[%s][%s]", pKnights->m_strName.c_str(), pUser->GetName().c_str()); + pUser->ChangeFame(COMMAND_CAPTAIN); + } + } + else if (pKnights->m_byNation == ELMORAD) + { + if (nElmoCount == 5) + return true; + + CUser *pUser = g_pMain->GetUserPtr(pKnights->m_strChief, TYPE_CHARACTER); + if (pUser == nullptr || !pUser->GetMap()->isWarZone()) + return true; + + if (pUser->GetClanID() == pData->sClanID) + { + _snprintf(strElmoCaptain[nElmoCount++], 50, "[%s][%s]", pKnights->m_strName.c_str(), pUser->GetName().c_str()); + pUser->ChangeFame(COMMAND_CAPTAIN); + } + } + + return true; + } + + char strKarusCaptain[5][50], strElmoCaptain[5][50]; + uint32 nKarusCount, nElmoCount; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsSet.h b/server/shared/database/KnightsSet.h new file mode 100644 index 0000000..9cb5773 --- /dev/null +++ b/server/shared/database/KnightsSet.h @@ -0,0 +1,53 @@ +#pragma once + +class CKnightsSet : public OdbcRecordset +{ +public: + CKnightsSet(OdbcConnection * dbConnection, KnightsArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KNIGHTS"); } + virtual tstring GetColumns() { return _T("IDNum, Flag, Nation, Ranking, IDName, Members, Chief, ViceChief_1, ViceChief_2, ViceChief_3, Gold, Domination, Points, Mark, sMarkVersion, sMarkLen, sCape, bCapeR, bCapeG, bCapeB, sAllianceKnights, ClanPointFund, strClanNotice, bySiegeFlag, nLose, nVictory, ClanPointMethod"); } + + virtual bool Fetch() + { + CKnights *pData = new CKnights(); + + _dbCommand->FetchUInt16(1, pData->m_sIndex); + _dbCommand->FetchByte(2, pData->m_byFlag); + _dbCommand->FetchByte(3, pData->m_byNation); + _dbCommand->FetchByte(4, pData->m_byRanking); + _dbCommand->FetchString(5, pData->m_strName); + _dbCommand->FetchUInt16(6, pData->m_sMembers); + _dbCommand->FetchString(7, pData->m_strChief); + _dbCommand->FetchString(8, pData->m_strViceChief_1); + _dbCommand->FetchString(9, pData->m_strViceChief_2); + _dbCommand->FetchString(10, pData->m_strViceChief_3); + _dbCommand->FetchUInt64(11, pData->m_nMoney); + _dbCommand->FetchUInt16(12, pData->m_sDomination); + _dbCommand->FetchUInt32(13, (uint32 &) pData->m_nPoints); + _dbCommand->FetchBinary(14, pData->m_Image, sizeof(pData->m_Image)); + _dbCommand->FetchUInt16(15, pData->m_sMarkVersion); + _dbCommand->FetchUInt16(16, pData->m_sMarkLen); + _dbCommand->FetchUInt16(17, pData->m_sCape); + _dbCommand->FetchByte(18, pData->m_bCapeR); + _dbCommand->FetchByte(19, pData->m_bCapeG); + _dbCommand->FetchByte(20, pData->m_bCapeB); + _dbCommand->FetchUInt16(21, pData->m_sAlliance); + _dbCommand->FetchUInt32(22, (uint32 &) pData->m_nClanPointFund); + _dbCommand->FetchString(23, pData->m_strClanNotice); + _dbCommand->FetchByte(24, pData->bySiegeFlag); + _dbCommand->FetchUInt16(25, pData->nLose); + _dbCommand->FetchUInt16(26, pData->nVictory); + _dbCommand->FetchByte(24, pData->m_sClanPointMethod); + + pData->m_byGrade = g_pMain->GetKnightsGrade(pData->m_nPoints); + + if (!m_pMap->PutData(pData->m_sIndex, pData)) + delete pData; + + return true; + } + + KnightsArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsSiegeWar.h b/server/shared/database/KnightsSiegeWar.h new file mode 100644 index 0000000..15a9d7d --- /dev/null +++ b/server/shared/database/KnightsSiegeWar.h @@ -0,0 +1,64 @@ + #pragma once + +class CKnightsSiegeWarfare : public OdbcRecordset +{ +public: + CKnightsSiegeWarfare(OdbcConnection * dbConnection, KnightsSiegeWarfareArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KNIGHTS_SIEGE_WARFARE"); } + virtual tstring GetColumns() { return _T("sCastleIndex, sMasterKnights, bySiegeType, byWarDay, byWarTime, byWarMinute, sChallengeList_1, sChallengeList_2, sChallengeList_3, sChallengeList_4, sChallengeList_5, sChallengeList_6, sChallengeList_7, sChallengeList_8, sChallengeList_9, sChallengeList_10, byWarRequestDay, byWarRequestTime, byWarRequestMinute, byGuerrillaWarDay, byGuerrillaWarTime, byGuerrillaWarMinute, strChallengeList, sMoradonTariff, sDellosTariff, nDungeonCharge, nMoradonTax, nDellosTax, sRequestList_1, sRequestList_2, sRequestList_3, sRequestList_4, sRequestList_5, sRequestList_6, sRequestList_7, sRequestList_8, sRequestList_9, sRequestList_10"); } + + virtual bool Fetch() + { + _KNIGHTS_SIEGE_WARFARE * pData = new _KNIGHTS_SIEGE_WARFARE; + int i = 1; + + _dbCommand->FetchUInt16(i++, pData->sCastleIndex); + _dbCommand->FetchUInt16(i++, pData->sMasterKnights); + _dbCommand->FetchByte(i++, pData->bySiegeType); + _dbCommand->FetchByte(i++, pData->byWarDay); + _dbCommand->FetchByte(i++, pData->byWarTime); + _dbCommand->FetchByte(i++, pData->byWarMinute); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_1); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_2); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_3); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_4); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_5); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_6); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_7); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_8); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_9); + _dbCommand->FetchUInt16(i++, pData->sChallengeList_10); + _dbCommand->FetchByte(i++, pData->byWarRequestDay); + _dbCommand->FetchByte(i++, pData->byWarRequestTime); + _dbCommand->FetchByte(i++, pData->byWarRequestMinute); + _dbCommand->FetchByte(i++, pData->byGuerrillaWarDay); + _dbCommand->FetchByte(i++, pData->byGuerrillaWarTime); + _dbCommand->FetchByte(i++, pData->byGuerrillaWarMinute); + _dbCommand->FetchString(i++, pData->strChallengeList); + _dbCommand->FetchUInt16(i++, pData->sMoradonTariff); + _dbCommand->FetchUInt16(i++, pData->sDellosTariff); + _dbCommand->FetchInt32(i++, pData->nDungeonCharge); + _dbCommand->FetchInt32(i++, pData->nMoradonTax); + _dbCommand->FetchInt32(i++, pData->nDellosTax); + _dbCommand->FetchUInt16(i++, pData->sRequestList_1); + _dbCommand->FetchUInt16(i++, pData->sRequestList_2); + _dbCommand->FetchUInt16(i++, pData->sRequestList_3); + _dbCommand->FetchUInt16(i++, pData->sRequestList_4); + _dbCommand->FetchUInt16(i++, pData->sRequestList_5); + _dbCommand->FetchUInt16(i++, pData->sRequestList_6); + _dbCommand->FetchUInt16(i++, pData->sRequestList_7); + _dbCommand->FetchUInt16(i++, pData->sRequestList_8); + _dbCommand->FetchUInt16(i++, pData->sRequestList_9); + _dbCommand->FetchUInt16(i++, pData->sRequestList_10); + + + if (!m_pMap->PutData(pData->sCastleIndex, pData)) + delete pData; + + return true; + } + + KnightsSiegeWarfareArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/KnightsUserSet.h b/server/shared/database/KnightsUserSet.h new file mode 100644 index 0000000..4831ed8 --- /dev/null +++ b/server/shared/database/KnightsUserSet.h @@ -0,0 +1,26 @@ +#pragma once + +class CKnightsUserSet : public OdbcRecordset +{ +public: + CKnightsUserSet(OdbcConnection * dbConnection, void * dummy) + : OdbcRecordset(dbConnection) {} + + virtual tstring GetTableName() { return _T("KNIGHTS_USER"); } + virtual tstring GetColumns() { return _T("sIDNum, strUserID, nDonatedNP"); } + + virtual bool Fetch() + { + uint16 sIDNum; + std::string strUserID; + uint32 nDonatedNP; + + _dbCommand->FetchUInt16(1, sIDNum); + _dbCommand->FetchString(2, strUserID); + _dbCommand->FetchUInt32(3, nDonatedNP); + + CKnightsManager::AddKnightsUser(sIDNum, strUserID); + CKnightsManager::LoadUserDonatedNP(sIDNum, strUserID, nDonatedNP, false); + return true; + } +}; \ No newline at end of file diff --git a/server/shared/database/LevelUpTableSet.h b/server/shared/database/LevelUpTableSet.h new file mode 100644 index 0000000..d612a70 --- /dev/null +++ b/server/shared/database/LevelUpTableSet.h @@ -0,0 +1,25 @@ +#pragma once + +class CLevelUpTableSet : public OdbcRecordset +{ +public: + CLevelUpTableSet(OdbcConnection * dbConnection, LevelUpArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("LEVEL_UP"); } + virtual tstring GetColumns() { return _T("[Level], [Exp]"); } + + virtual bool Fetch() + { + std::pair pData; + + _dbCommand->FetchByte(1, pData.first); + _dbCommand->FetchInt64(2, pData.second); + + m_pMap->insert(pData); + + return true; + } + + LevelUpArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicTableSet.h b/server/shared/database/MagicTableSet.h new file mode 100644 index 0000000..4d265a6 --- /dev/null +++ b/server/shared/database/MagicTableSet.h @@ -0,0 +1,46 @@ +#pragma once + +class CMagicTableSet : public OdbcRecordset +{ +public: + CMagicTableSet(OdbcConnection * dbConnection, MagictableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC"); } + virtual tstring GetColumns() { return _T("MagicNum, BeforeAction, TargetAction, SelfEffect, FlyingEffect, TargetEffect, Moral, SkillLevel, Skill, Msp, HP, ItemGroup, UseItem, CastTime, ReCastTime, SuccessRate, Type1, Type2, Range, UseStanding, Etc"); } + + virtual bool Fetch() + { + _MAGIC_TABLE *pData = new _MAGIC_TABLE; + + int i = 1; + _dbCommand->FetchUInt32(i++, pData->iNum); + _dbCommand->FetchUInt32(i++, pData->nBeforeAction); + _dbCommand->FetchByte(i++, pData->bTargetAction); + _dbCommand->FetchByte(i++, pData->bSelfEffect); + _dbCommand->FetchUInt16(i++, pData->bFlyingEffect); + _dbCommand->FetchUInt16(i++, pData->iTargetEffect); + _dbCommand->FetchByte(i++, pData->bMoral); + _dbCommand->FetchUInt16(i++, pData->sSkillLevel); + _dbCommand->FetchUInt16(i++, pData->sSkill); + _dbCommand->FetchUInt16(i++, pData->sMsp); + _dbCommand->FetchUInt16(i++, pData->sHP); + _dbCommand->FetchByte(i++, pData->bItemGroup); + _dbCommand->FetchUInt32(i++, pData->iUseItem); + _dbCommand->FetchByte(i++, pData->bCastTime); + _dbCommand->FetchUInt16(i++, pData->sReCastTime); + _dbCommand->FetchByte(i++, pData->bSuccessRate); + _dbCommand->FetchByte(i++, pData->bType[0]); + _dbCommand->FetchByte(i++, pData->bType[1]); + _dbCommand->FetchUInt16(i++, pData->sRange); + _dbCommand->FetchByte(i++, pData->sUseStanding); + _dbCommand->FetchUInt16(i++, pData->sEtc); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + MagictableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType1Set.h b/server/shared/database/MagicType1Set.h new file mode 100644 index 0000000..6511510 --- /dev/null +++ b/server/shared/database/MagicType1Set.h @@ -0,0 +1,34 @@ +#pragma once + +class CMagicType1Set : public OdbcRecordset +{ +public: + CMagicType1Set(OdbcConnection * dbConnection, Magictype1Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE1"); } + virtual tstring GetColumns() { return _T("iNum, Type, HitRate, Hit, AddDamage, Delay, ComboType, ComboCount, ComboDamage, Range"); } + + virtual bool Fetch() + { + _MAGIC_TYPE1 *pData = new _MAGIC_TYPE1; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bHitType); + _dbCommand->FetchUInt16(3, pData->sHitRate); + _dbCommand->FetchUInt16(4, pData->sHit); + _dbCommand->FetchUInt16(5, pData->sAddDamage); + _dbCommand->FetchByte(6, pData->bDelay); + _dbCommand->FetchByte(7, pData->bComboType); + _dbCommand->FetchByte(8, pData->bComboCount); + _dbCommand->FetchUInt16(9, pData->sComboDamage); + _dbCommand->FetchUInt16(10, pData->sRange); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype1Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType2Set.h b/server/shared/database/MagicType2Set.h new file mode 100644 index 0000000..032d01e --- /dev/null +++ b/server/shared/database/MagicType2Set.h @@ -0,0 +1,30 @@ +#pragma once + +class CMagicType2Set : public OdbcRecordset +{ +public: + CMagicType2Set(OdbcConnection * dbConnection, Magictype2Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE2"); } + virtual tstring GetColumns() { return _T("iNum, HitType, HitRate, AddDamage, AddRange, NeedArrow"); } + + virtual bool Fetch() + { + _MAGIC_TYPE2 *pData = new _MAGIC_TYPE2; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bHitType); + _dbCommand->FetchUInt16(3, pData->sHitRate); + _dbCommand->FetchUInt16(4, pData->sAddDamage); + _dbCommand->FetchUInt16(5, pData->sAddRange); + _dbCommand->FetchByte(6, pData->bNeedArrow); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype2Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType3Set.h b/server/shared/database/MagicType3Set.h new file mode 100644 index 0000000..90a1cf7 --- /dev/null +++ b/server/shared/database/MagicType3Set.h @@ -0,0 +1,32 @@ +#pragma once + +class CMagicType3Set : public OdbcRecordset +{ +public: + CMagicType3Set(OdbcConnection * dbConnection, Magictype3Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE3"); } + virtual tstring GetColumns() { return _T("iNum,Radius, DirectType, FirstDamage, TimeDamage, Duration, Attribute"); } + + virtual bool Fetch() + { + _MAGIC_TYPE3 *pData = new _MAGIC_TYPE3; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bRadius); + _dbCommand->FetchByte(3, pData->bDirectType); + _dbCommand->FetchInt16(4, pData->sFirstDamage); + _dbCommand->FetchInt16(5, pData->sTimeDamage); + _dbCommand->FetchByte(6, pData->bDuration); + _dbCommand->FetchByte(7, pData->bAttribute); + + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype3Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType4Set.h b/server/shared/database/MagicType4Set.h new file mode 100644 index 0000000..746ad85 --- /dev/null +++ b/server/shared/database/MagicType4Set.h @@ -0,0 +1,56 @@ +#pragma once + +class CMagicType4Set : public OdbcRecordset +{ +public: + CMagicType4Set(OdbcConnection * dbConnection, Magictype4Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE4"); } + virtual tstring GetColumns() { return _T("iNum, BuffType, Radius, Duration, AttackSpeed, Speed, AC, ACPct, Attack, MagicAttack, MaxHP, MaxHPPct, MaxMP, MaxMPPct, HitRate, AvoidRate, Str, Sta, Dex, Intel, Cha, FireR, ColdR, LightningR, MagicR, DiseaseR, PoisonR, ExpPct, SpecialAmount"); } + + virtual bool Fetch() + { + _MAGIC_TYPE4 *pData = new _MAGIC_TYPE4; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bBuffType); + _dbCommand->FetchByte(3, pData->bRadius); + _dbCommand->FetchUInt16(4, pData->sDuration); + _dbCommand->FetchByte(5, pData->bAttackSpeed); + _dbCommand->FetchByte(6, pData->bSpeed); + _dbCommand->FetchInt16(7, pData->sAC); + _dbCommand->FetchUInt16(8, pData->sACPct); + _dbCommand->FetchByte(9, pData->bAttack); + _dbCommand->FetchByte(10, pData->bMagicAttack); + _dbCommand->FetchUInt16(11, pData->sMaxHP); + _dbCommand->FetchUInt16(12, pData->sMaxHPPct); + _dbCommand->FetchUInt16(13, pData->sMaxMP); + _dbCommand->FetchUInt16(14, pData->sMaxMPPct); + _dbCommand->FetchByte(15, pData->bHitRate); + _dbCommand->FetchUInt16(16, pData->sAvoidRate); + _dbCommand->FetchSByte(17, pData->bStr); + _dbCommand->FetchSByte(18, pData->bSta); + _dbCommand->FetchSByte(19, pData->bDex); + _dbCommand->FetchSByte(20, pData->bIntel); + _dbCommand->FetchSByte(21, pData->bCha); + _dbCommand->FetchByte(22, pData->bFireR); + _dbCommand->FetchByte(23, pData->bColdR); + _dbCommand->FetchByte(24, pData->bLightningR); + _dbCommand->FetchByte(25, pData->bMagicR); + _dbCommand->FetchByte(26, pData->bDiseaseR); + _dbCommand->FetchByte(27, pData->bPoisonR); + _dbCommand->FetchUInt16(28, pData->sExpPct); + _dbCommand->FetchUInt16(29, pData->sSpecialAmount); + + // Determine if the skill is a buff or a debuff. + pData->bIsBuff = CMagicProcess::IsBuff(pData); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype4Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType5Set.h b/server/shared/database/MagicType5Set.h new file mode 100644 index 0000000..261baf3 --- /dev/null +++ b/server/shared/database/MagicType5Set.h @@ -0,0 +1,28 @@ +#pragma once + +class CMagicType5Set : public OdbcRecordset +{ +public: + CMagicType5Set(OdbcConnection * dbConnection, Magictype5Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE5"); } + virtual tstring GetColumns() { return _T("iNum, Type, ExpRecover, NeedStone"); } + + virtual bool Fetch() + { + _MAGIC_TYPE5 *pData = new _MAGIC_TYPE5; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bType); + _dbCommand->FetchByte(3, pData->bExpRecover); + _dbCommand->FetchUInt16(4, pData->sNeedStone); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype5Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType6Set.h b/server/shared/database/MagicType6Set.h new file mode 100644 index 0000000..f7f8693 --- /dev/null +++ b/server/shared/database/MagicType6Set.h @@ -0,0 +1,48 @@ +#pragma once + +class CMagicType6Set : public OdbcRecordset +{ +public: + CMagicType6Set(OdbcConnection * dbConnection, Magictype6Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE6"); } + virtual tstring GetColumns() { return _T("iNum, Size, TransformID, Duration, MaxHp, MaxMp, Speed, AttackSpeed, TotalHit, TotalAc, TotalHitRate, TotalEvasionRate, TotalFireR, TotalColdR, TotalLightningR, TotalMagicR, TotalDiseaseR, TotalPoisonR, Class, UserSkillUse, NeedItem, SkillSuccessRate, MonsterFriendly, Nation"); } + + virtual bool Fetch() + { + _MAGIC_TYPE6 *pData = new _MAGIC_TYPE6; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchUInt16(2, pData->sSize); + _dbCommand->FetchUInt16(3, pData->sTransformID); + _dbCommand->FetchUInt16(4, pData->sDuration); + _dbCommand->FetchUInt16(5, pData->sMaxHp); + _dbCommand->FetchUInt16(6, pData->sMaxMp); + _dbCommand->FetchByte(7, pData->bSpeed); + _dbCommand->FetchUInt16(8, pData->sAttackSpeed); + _dbCommand->FetchUInt16(9, pData->sTotalHit); + _dbCommand->FetchUInt16(10, pData->sTotalAc); + _dbCommand->FetchUInt16(11, pData->sTotalHitRate); + _dbCommand->FetchUInt16(12, pData->sTotalEvasionRate); + _dbCommand->FetchUInt16(13, pData->sTotalFireR); + _dbCommand->FetchUInt16(14, pData->sTotalColdR); + _dbCommand->FetchUInt16(15, pData->sTotalLightningR); + _dbCommand->FetchUInt16(16, pData->sTotalMagicR); + _dbCommand->FetchUInt16(17, pData->sTotalDiseaseR); + _dbCommand->FetchUInt16(18, pData->sTotalPoisonR); + _dbCommand->FetchUInt16(19, pData->sClass); + _dbCommand->FetchByte(20, pData->bUserSkillUse); + _dbCommand->FetchByte(21, pData->bNeedItem); + _dbCommand->FetchByte(22, pData->bSkillSuccessRate); + _dbCommand->FetchByte(23, pData->bMonsterFriendly); + _dbCommand->FetchByte(24, pData->bNation); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype6Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType7Set.h b/server/shared/database/MagicType7Set.h new file mode 100644 index 0000000..1937327 --- /dev/null +++ b/server/shared/database/MagicType7Set.h @@ -0,0 +1,36 @@ +#pragma once + +class CMagicType7Set : public OdbcRecordset +{ +public: + CMagicType7Set(OdbcConnection * dbConnection, Magictype7Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE7"); } + virtual tstring GetColumns() { return _T("nIndex, byValidGroup, byNatoinChange, shMonsterNum, byTargetChange, byStateChange, byRadius, shHitrate, shDuration, shDamage, nNeedItem"); } + + virtual bool Fetch() + { + _MAGIC_TYPE7 *pData = new _MAGIC_TYPE7; + + int index = 1; + _dbCommand->FetchUInt32(index++, pData->iNum); + _dbCommand->FetchByte(index++, pData->bValidGroup); + _dbCommand->FetchByte(index++, pData->bNationChange); + _dbCommand->FetchUInt16(index++, pData->sMonsterNum); + _dbCommand->FetchByte(index++, pData->bTargetChange); + _dbCommand->FetchByte(index++, pData->bStateChange); + _dbCommand->FetchByte(index++, pData->bRadius); + _dbCommand->FetchUInt16(index++, pData->sHitRate); + _dbCommand->FetchUInt16(index++, pData->sDuration); + _dbCommand->FetchUInt16(index++, pData->sDamage); + _dbCommand->FetchUInt32(index++, pData->nNeedItem); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype7Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType8Set.h b/server/shared/database/MagicType8Set.h new file mode 100644 index 0000000..9546661 --- /dev/null +++ b/server/shared/database/MagicType8Set.h @@ -0,0 +1,30 @@ +#pragma once + +class CMagicType8Set : public OdbcRecordset +{ +public: + CMagicType8Set(OdbcConnection * dbConnection, Magictype8Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE8"); } + virtual tstring GetColumns() { return _T("iNum, Target, Radius, WarpType, ExpRecover, KickDistance"); } + + virtual bool Fetch() + { + _MAGIC_TYPE8 *pData = new _MAGIC_TYPE8; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bTarget); + _dbCommand->FetchUInt16(3, pData->sRadius); + _dbCommand->FetchByte(4, pData->bWarpType); + _dbCommand->FetchUInt16(5, pData->sExpRecover); + _dbCommand->FetchUInt16(6, pData->sKickDistance); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype8Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MagicType9Set.h b/server/shared/database/MagicType9Set.h new file mode 100644 index 0000000..2feb310 --- /dev/null +++ b/server/shared/database/MagicType9Set.h @@ -0,0 +1,36 @@ +#pragma once + +class CMagicType9Set : public OdbcRecordset +{ +public: + CMagicType9Set(OdbcConnection * dbConnection, Magictype9Array * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAGIC_TYPE9"); } + virtual tstring GetColumns() { return _T("iNum, ValidGroup, NationChange, MonsterNum, TargetChange, StateChange, Radius, Hitrate, Duration, AddDamage, Vision, NeedItem"); } + + virtual bool Fetch() + { + _MAGIC_TYPE9 *pData = new _MAGIC_TYPE9; + + _dbCommand->FetchUInt32(1, pData->iNum); + _dbCommand->FetchByte(2, pData->bValidGroup); + _dbCommand->FetchByte(3, pData->bNationChange); + _dbCommand->FetchUInt16(4, pData->sMonsterNum); + _dbCommand->FetchByte(5, pData->bTargetChange); + _dbCommand->FetchByte(6, pData->bStateChange); + _dbCommand->FetchUInt16(7, pData->sRadius); + _dbCommand->FetchUInt16(8, pData->sHitRate); + _dbCommand->FetchUInt16(9, pData->sDuration); + _dbCommand->FetchUInt16(10, pData->sDamage); + _dbCommand->FetchUInt16(11, pData->sVision); + _dbCommand->FetchUInt32(12, pData->nNeedItem); + + if (!m_pMap->PutData(pData->iNum, pData)) + delete pData; + + return true; + } + + Magictype9Array *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MakeDefensiveTableSet.h b/server/shared/database/MakeDefensiveTableSet.h new file mode 100644 index 0000000..55766db --- /dev/null +++ b/server/shared/database/MakeDefensiveTableSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CMakeDefensiveTableSet : public OdbcRecordset +{ +public: + CMakeDefensiveTableSet(OdbcConnection * dbConnection, MakeWeaponItemTableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAKE_DEFENSIVE"); } + virtual tstring GetColumns() { return _T("byLevel, sClass_1, sClass_2, sClass_3, sClass_4, sClass_5, sClass_6, sClass_7"); } + + virtual bool Fetch() + { + _MAKE_WEAPON *pData = new _MAKE_WEAPON; + + _dbCommand->FetchByte(1, pData->byIndex); + + for (int i = 1; i <= 7; i++) + _dbCommand->FetchUInt16(i+1, pData->sClass[i-1]); + + if (!m_pMap->PutData(pData->byIndex, pData)) + delete pData; + + return true; + } + + MakeWeaponItemTableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MakeGradeItemTableSet.h b/server/shared/database/MakeGradeItemTableSet.h new file mode 100644 index 0000000..5c37b57 --- /dev/null +++ b/server/shared/database/MakeGradeItemTableSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CMakeGradeItemTableSet : public OdbcRecordset +{ +public: + CMakeGradeItemTableSet(OdbcConnection * dbConnection, MakeGradeItemTableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAKE_ITEM_GRADECODE"); } + virtual tstring GetColumns() { return _T("byItemIndex, byGrade_1, byGrade_2, byGrade_3, byGrade_4, byGrade_5, byGrade_6, byGrade_7, byGrade_8, byGrade_9"); } + + virtual bool Fetch() + { + _MAKE_ITEM_GRADE_CODE *pData = new _MAKE_ITEM_GRADE_CODE; + + _dbCommand->FetchByte(1, pData->byItemIndex); + + for (int i = 1; i <= 9; i++) + _dbCommand->FetchUInt16(i+1, pData->sGrade[i-1]); + + if (!m_pMap->PutData(pData->byItemIndex, pData)) + delete pData; + + return true; + } + + MakeGradeItemTableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MakeItemGroupSet.h b/server/shared/database/MakeItemGroupSet.h new file mode 100644 index 0000000..2877f02 --- /dev/null +++ b/server/shared/database/MakeItemGroupSet.h @@ -0,0 +1,33 @@ +#pragma once + +class CMakeItemGroupSet : public OdbcRecordset +{ +public: + CMakeItemGroupSet(OdbcConnection * dbConnection, MakeItemGroupArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAKE_ITEM_GROUP"); } + virtual tstring GetColumns() { return _T("iItemGroupNum, iItem_1, iItem_2, iItem_3, iItem_4, iItem_5, iItem_6, iItem_7, iItem_8, iItem_9, iItem_10, iItem_11, iItem_12, iItem_13, iItem_14, iItem_15, iItem_16, iItem_17, iItem_18, iItem_19, iItem_20, iItem_21, iItem_22, iItem_23, iItem_24, iItem_25, iItem_26, iItem_27, iItem_28, iItem_29, iItem_30"); } + + virtual bool Fetch() + { + _MAKE_ITEM_GROUP *pData = new _MAKE_ITEM_GROUP; + + _dbCommand->FetchUInt32(1, pData->iItemGroupNum); + for (int i = 1; i <= 30; i++) + { + uint32 iItem; + _dbCommand->FetchUInt32(i + 1, iItem); + + // Insert regardless of whether it's set or not. This is official behaviour. + pData->iItems.push_back(iItem); + } + + if (!m_pMap->PutData(pData->iItemGroupNum, pData)) + delete pData; + + return true; + } + + MakeItemGroupArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MakeLareItemTableSet.h b/server/shared/database/MakeLareItemTableSet.h new file mode 100644 index 0000000..548e066 --- /dev/null +++ b/server/shared/database/MakeLareItemTableSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CMakeLareItemTableSet : public OdbcRecordset +{ +public: + CMakeLareItemTableSet(OdbcConnection * dbConnection, MakeLareItemTableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAKE_ITEM_LARECODE"); } + virtual tstring GetColumns() { return _T("byLevelGrade, sLareItem, sMagicItem, sGereralItem"); } + + virtual bool Fetch() + { + _MAKE_ITEM_LARE_CODE *pData = new _MAKE_ITEM_LARE_CODE; + + _dbCommand->FetchByte(1, pData->byItemLevel); + _dbCommand->FetchUInt16(2, pData->sLareItem); + _dbCommand->FetchUInt16(3, pData->sMagicItem); + _dbCommand->FetchUInt16(4, pData->sGeneralItem); + + if (!m_pMap->PutData(pData->byItemLevel, pData)) + delete pData; + + return true; + } + + MakeLareItemTableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MakeWeaponTableSet.h b/server/shared/database/MakeWeaponTableSet.h new file mode 100644 index 0000000..0e91208 --- /dev/null +++ b/server/shared/database/MakeWeaponTableSet.h @@ -0,0 +1,28 @@ +#pragma once + +class CMakeWeaponTableSet : public OdbcRecordset +{ +public: + CMakeWeaponTableSet(OdbcConnection * dbConnection, MakeWeaponItemTableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MAKE_WEAPON"); } + virtual tstring GetColumns() { return _T("byLevel, sClass_1, sClass_2, sClass_3, sClass_4, sClass_5, sClass_6, sClass_7, sClass_8, sClass_9, sClass_10, sClass_11, sClass_12"); } + + virtual bool Fetch() + { + _MAKE_WEAPON *pData = new _MAKE_WEAPON; + + _dbCommand->FetchByte(1, pData->byIndex); + + for (int i = 1; i <= 12; i++) + _dbCommand->FetchUInt16(i+1, pData->sClass[i-1]); + + if (!m_pMap->PutData(pData->byIndex, pData)) + delete pData; + + return true; + } + + MakeWeaponItemTableArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MineListSet.h b/server/shared/database/MineListSet.h new file mode 100644 index 0000000..f6eca65 --- /dev/null +++ b/server/shared/database/MineListSet.h @@ -0,0 +1,32 @@ +#pragma once + +class CMineListSet : public OdbcRecordset +{ +public: + CMineListSet(OdbcConnection * dbConnection, MineListArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MINE_LIST"); } + virtual tstring GetColumns() { return _T("nIndex, Item, Count"); } + + virtual bool Fetch() + { + _MINE_LIST pData; + + _dbCommand->FetchUInt32(1, pData.nIndex); + _dbCommand->FetchUInt32(2, pData.Item); + _dbCommand->FetchUInt16(3, pData.Count); + + auto itr = m_pMap->GetData(pData.Count); + if (itr == nullptr) + { + itr = new MineList(); + m_pMap->PutData(pData.Count, itr); + } + + itr->push_back(pData); + return true; + } + + MineListArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MonsterChallenge.h b/server/shared/database/MonsterChallenge.h new file mode 100644 index 0000000..04bf563 --- /dev/null +++ b/server/shared/database/MonsterChallenge.h @@ -0,0 +1,30 @@ +#pragma once + +class CMonsterChallenge : public OdbcRecordset +{ +public: + CMonsterChallenge(OdbcConnection * dbConnection, MonsterChallengeArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_CHALLENGE"); } + virtual tstring GetColumns() { return _T("sIndex, bStartTime1, bStartTime2, bStartTime3, bLevelMin, bLevelMax"); } + + virtual bool Fetch() + { + _MONSTER_CHALLENGE * pData = new _MONSTER_CHALLENGE; + + _dbCommand->FetchUInt16(1, pData->sIndex); + _dbCommand->FetchByte(2, pData->bStartTime1); + _dbCommand->FetchByte(3, pData->bStartTime2); + _dbCommand->FetchByte(4, pData->bStartTime3); + _dbCommand->FetchByte(5, pData->bLevelMin); + _dbCommand->FetchByte(6, pData->bLevelMax); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + MonsterChallengeArray *m_pMap; + }; \ No newline at end of file diff --git a/server/shared/database/MonsterChallengeSummonList.h b/server/shared/database/MonsterChallengeSummonList.h new file mode 100644 index 0000000..5cd4bc1 --- /dev/null +++ b/server/shared/database/MonsterChallengeSummonList.h @@ -0,0 +1,35 @@ +#pragma once + +class CMonsterChallengeSummonList : public OdbcRecordset +{ +public: + CMonsterChallengeSummonList(OdbcConnection * dbConnection, MonsterChallengeSummonListArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_CHALLENGE_SUMMON_LIST"); } + virtual tstring GetColumns() { return _T("sIndex, bLevel, bStage, bStageLevel, sTime, sSid, sCount, sPosX, sPosZ, bRange"); } + + virtual bool Fetch() + { + _MONSTER_CHALLENGE_SUMMON_LIST * pData = new _MONSTER_CHALLENGE_SUMMON_LIST; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->sIndex); + _dbCommand->FetchByte(i++, pData->bLevel); + _dbCommand->FetchByte(i++, pData->bStage); + _dbCommand->FetchByte(i++, pData->bStageLevel); + _dbCommand->FetchUInt16(i++, pData->sTime); + _dbCommand->FetchUInt16(i++, pData->sSid); + _dbCommand->FetchUInt16(i++, pData->sCount); + _dbCommand->FetchUInt16(i++, pData->sPosX); + _dbCommand->FetchUInt16(i++, pData->sPosZ); + _dbCommand->FetchByte(i++, pData->bRange); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + MonsterChallengeSummonListArray *m_pMap; + }; \ No newline at end of file diff --git a/server/shared/database/MonsterRespawnListInformationSet.h b/server/shared/database/MonsterRespawnListInformationSet.h new file mode 100644 index 0000000..a59bc9c --- /dev/null +++ b/server/shared/database/MonsterRespawnListInformationSet.h @@ -0,0 +1,33 @@ +#pragma once + +class CMonsterRespawnListInformationSet : public OdbcRecordset +{ +public: + CMonsterRespawnListInformationSet(OdbcConnection * dbConnection, MonsterRespawnListInformationArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_RESPAWN_LIST_INFORMATION"); } + virtual tstring GetColumns() { return _T("sIndex, sSid, ZoneID, X, Y, Z, sCount, bRadius"); } + + virtual bool Fetch() + { + _MONSTER_RESPAWN_LIST_INFORMATION * pData = new _MONSTER_RESPAWN_LIST_INFORMATION; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->sIndex); + _dbCommand->FetchUInt16(i++, pData->sSid); + _dbCommand->FetchByte(i++, pData->ZoneID); + _dbCommand->FetchUInt16(i++, pData->X); + _dbCommand->FetchUInt16(i++, pData->Y); + _dbCommand->FetchUInt16(i++, pData->Z); + _dbCommand->FetchUInt16(i++, pData->sCount); + _dbCommand->FetchByte(i++, pData->bRadius); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + MonsterRespawnListInformationArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MonsterRespawnListRandomSet.h b/server/shared/database/MonsterRespawnListRandomSet.h new file mode 100644 index 0000000..e56b937 --- /dev/null +++ b/server/shared/database/MonsterRespawnListRandomSet.h @@ -0,0 +1,32 @@ +#pragma once + +class CMonsterRespawnListRandomSet : public OdbcRecordset +{ +public: + CMonsterRespawnListRandomSet(OdbcConnection * dbConnection, MonsterRespawnListRandomArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_RESPAWN_LIST_RANDOM"); } + virtual tstring GetColumns() { return _T("sIndex, sSid, strName, sPid, ZoneID, isBoss, Family"); } + + virtual bool Fetch() + { + _MONSTER_RESPAWN_LIST_RANDOM * pData = new _MONSTER_RESPAWN_LIST_RANDOM; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->sIndex); + _dbCommand->FetchUInt16(i++, pData->sSid); + _dbCommand->FetchString(i++, pData->strName); + _dbCommand->FetchUInt16(i++, pData->sPid); + _dbCommand->FetchByte(i++, pData->ZoneID); + _dbCommand->FetchByte(i++, pData->isBoss); + _dbCommand->FetchByte(i++, pData->Family); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + MonsterRespawnListRandomArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MonsterRespawnListSet.h b/server/shared/database/MonsterRespawnListSet.h new file mode 100644 index 0000000..1741dd0 --- /dev/null +++ b/server/shared/database/MonsterRespawnListSet.h @@ -0,0 +1,27 @@ + #pragma once + +class CMonsterRespawnListSet : public OdbcRecordset +{ +public: + CMonsterRespawnListSet(OdbcConnection * dbConnection, MonsterRespawnListArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_RESPAWN_LIST"); } + virtual tstring GetColumns() { return _T("sIndex, sSid, sCount"); } + + virtual bool Fetch() + { + _MONSTER_RESPAWN_LIST * pData = new _MONSTER_RESPAWN_LIST; + + _dbCommand->FetchUInt16(1, pData->sIndex); + _dbCommand->FetchUInt16(2, pData->sSid); + _dbCommand->FetchUInt16(3, pData->sCount); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + MonsterRespawnListArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MonsterSummonListSet.h b/server/shared/database/MonsterSummonListSet.h new file mode 100644 index 0000000..fd0d15b --- /dev/null +++ b/server/shared/database/MonsterSummonListSet.h @@ -0,0 +1,33 @@ +#pragma once + +class CMonsterSummonListSet : public OdbcRecordset +{ +public: + CMonsterSummonListSet(OdbcConnection * dbConnection, MonsterSummonListArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_SUMMON_LIST"); } + virtual tstring GetColumns() { return _T("sSid, sLevel, sProbability, bType"); } + + virtual bool Fetch() + { + _MONSTER_SUMMON_LIST pData; + + _dbCommand->FetchUInt16(1, pData.sSid); + _dbCommand->FetchUInt16(2, pData.sLevel); + _dbCommand->FetchUInt16(3, pData.sProbability); + _dbCommand->FetchByte(4, pData.bType); + + auto itr = m_pMap->GetData(pData.bType); + if (itr == nullptr) + { + itr = new MonsterSummonList(); + m_pMap->PutData(pData.bType, itr); + } + // pType, MonsterSummonList vector + itr->push_back(pData); + return true; + } + + MonsterSummonListArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/MonsterSummonListZoneSet.h b/server/shared/database/MonsterSummonListZoneSet.h new file mode 100644 index 0000000..7b5b468 --- /dev/null +++ b/server/shared/database/MonsterSummonListZoneSet.h @@ -0,0 +1,30 @@ + #pragma once + +class CMonsterSummonListZoneSet : public OdbcRecordset +{ +public: + CMonsterSummonListZoneSet(OdbcConnection * dbConnection, MonsterSummonListZoneArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("MONSTER_SUMMON_LIST_ZONE"); } + virtual tstring GetColumns() { return _T("nIndex, ZoneID, sSid, byFamily"); } + + virtual bool Fetch() + { + _MONSTER_SUMMON_LIST_ZONE * pData = new _MONSTER_SUMMON_LIST_ZONE; + + _dbCommand->FetchUInt32(1, pData->nIndex); + _dbCommand->FetchUInt16(2, pData->ZoneID); + _dbCommand->FetchUInt16(3, pData->sSid); + _dbCommand->FetchByte(4, pData->byFamily); + + pData->nIndex = m_pMap->GetSize(); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + MonsterSummonListZoneArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/NpcItemSet.h b/server/shared/database/NpcItemSet.h new file mode 100644 index 0000000..c5d6eaa --- /dev/null +++ b/server/shared/database/NpcItemSet.h @@ -0,0 +1,30 @@ +#pragma once + +class CNpcItemSet : public OdbcRecordset +{ +public: + CNpcItemSet(OdbcConnection * dbConnection, NpcItemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("K_MONSTER_ITEM"); } + virtual tstring GetColumns() { return _T("sIndex, iItem01, sPersent01, iItem02, sPersent02, iItem03, sPersent03, iItem04, sPersent04, iItem05, sPersent05"); } + + virtual bool Fetch() + { + _K_MONSTER_ITEM *pData = new _K_MONSTER_ITEM; + + _dbCommand->FetchUInt16(1, pData->sIndex); + for (int i = 0, j = 2; i < 5; i++) + { + _dbCommand->FetchUInt32(j++, pData->iItem[i]); + _dbCommand->FetchUInt16(j++, pData->sPercent[i]); + } + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + NpcItemArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/NpcPosSet.h b/server/shared/database/NpcPosSet.h new file mode 100644 index 0000000..b606a1e --- /dev/null +++ b/server/shared/database/NpcPosSet.h @@ -0,0 +1,13 @@ +#pragma once + +class CNpcPosSet : public OdbcRecordset +{ +public: + CNpcPosSet(OdbcConnection * dbConnection, void * dummy) + : OdbcRecordset(dbConnection) {} + + virtual tstring GetTableName() { return _T("K_NPCPOS"); } + virtual tstring GetColumns() { return _T("ZoneID, NpcID, strName, isNPC, ActType, DungeonFamily, SpecialType, TrapNumber, LeftX, TopZ, NumNPC, iRange, XiDontKnow, RegTime, byDirection, path, EventRoom"); } + + virtual bool Fetch() { return g_pMain->LoadSpawnCallback(_dbCommand); } +}; \ No newline at end of file diff --git a/server/shared/database/NpcTableSet.h b/server/shared/database/NpcTableSet.h new file mode 100644 index 0000000..f8f9325 --- /dev/null +++ b/server/shared/database/NpcTableSet.h @@ -0,0 +1,92 @@ +#pragma once + +class CNpcTableSet : public OdbcRecordset +{ +public: + CNpcTableSet(OdbcConnection * dbConnection, NpcTableArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap), m_bMonster(false) + { + } + + virtual tstring GetTableName() { return _T("K_NPC"); } + virtual tstring GetColumns() { return _T("sSid, strName, sPid, sSize, isBoss, iWeapon1, iWeapon2, byGroup, byActType, byType, byFamily, iSellingGroup, sLevel, iExp, iLoyalty, iHpPoint, sAtk, sAc, sHitRate, sEvadeRate, sDamage, sAttackDelay, bySpeed1, bySpeed2, sStandtime, iMagic1, iMagic2, iMagic3, sFireR, sColdR, sLightningR, sMagicR, sDiseaseR, sPoisonR, sBulk, byAttackRange, bySearchRange, byTracingRange, iMoney, byDirectAttack, byMagicAttack, sItem, byMoneyType, xType, yType, zType, tType"); } + + virtual bool Fetch() + { + CNpcTable *pData = new CNpcTable(); + uint16 sBulk, isBoss; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->m_sSid); + _dbCommand->FetchString(i++, pData->m_strName); + _dbCommand->FetchUInt16(i++, pData->m_sPid); + _dbCommand->FetchUInt16(i++, pData->m_sSize); + _dbCommand->FetchUInt16(i++, isBoss); + _dbCommand->FetchUInt32(i++, pData->m_iWeapon_1); + _dbCommand->FetchUInt32(i++, pData->m_iWeapon_2); + _dbCommand->FetchByte(i++, pData->m_byGroup); + _dbCommand->FetchByte(i++, pData->m_byActType); + _dbCommand->FetchByte(i++, pData->m_tNpcType); + _dbCommand->FetchByte(i++, pData->m_byFamilyType); + _dbCommand->FetchUInt32(i++, pData->m_iSellingGroup); + _dbCommand->FetchUInt16(i++, pData->m_sLevel); + _dbCommand->FetchUInt32(i++, pData->m_iExp); + _dbCommand->FetchUInt32(i++, pData->m_iLoyalty); + _dbCommand->FetchUInt32(i++, pData->m_iMaxHP); + _dbCommand->FetchUInt16(i++, pData->m_sAttack); + _dbCommand->FetchUInt16(i++, pData->m_sDefense); + _dbCommand->FetchUInt16(i++, pData->m_sHitRate); + _dbCommand->FetchUInt16(i++, pData->m_sEvadeRate); + _dbCommand->FetchUInt16(i++, pData->m_sDamage); + _dbCommand->FetchUInt16(i++, pData->m_sAttackDelay); + _dbCommand->FetchByte(i++, pData->m_bySpeed_1); + _dbCommand->FetchByte(i++, pData->m_bySpeed_2); + _dbCommand->FetchUInt16(i++, pData->m_sStandTime); + _dbCommand->FetchUInt32(i++, pData->m_iMagic1); + _dbCommand->FetchUInt32(i++, pData->m_iMagic2); + _dbCommand->FetchUInt32(i++, pData->m_iMagic3); + _dbCommand->FetchUInt16(i++, pData->m_byFireR); + _dbCommand->FetchUInt16(i++, pData->m_byColdR); + _dbCommand->FetchUInt16(i++, pData->m_byLightningR); + _dbCommand->FetchUInt16(i++, pData->m_byMagicR); + _dbCommand->FetchUInt16(i++, pData->m_byDiseaseR); + _dbCommand->FetchUInt16(i++, pData->m_byPoisonR); + _dbCommand->FetchUInt16(i++, sBulk); + _dbCommand->FetchByte(i++, pData->m_byAttackRange); + _dbCommand->FetchByte(i++, pData->m_bySearchRange); + _dbCommand->FetchByte(i++, pData->m_byTracingRange); + _dbCommand->FetchUInt32(i++, pData->m_iMoney); + _dbCommand->FetchByte(i++, pData->m_byDirectAttack); + _dbCommand->FetchByte(i++, pData->m_byMagicAttack); + _dbCommand->FetchUInt16(i++, pData->m_iItem); + + pData->m_byGroupSpecial = 0; // Default value + pData->m_sSpeed = 1500; + // Certain NPCs are defined in the database with a type of 0, which is the monster type. + // This can potentially cause problems in the future, so fix it now. + if (!m_bMonster && pData->m_tNpcType == NPC_MONSTER) + pData->m_tNpcType = NPC_GENERAL; + + pData->m_fBulk = (float)(((double)sBulk / 100) * ((double)pData->m_sSize / 100)); + + if (!m_pMap->PutData(pData->m_sSid, pData)) + delete pData; + + return true; + } + + NpcTableArray *m_pMap; + bool m_bMonster; +}; + +class CMonTableSet : public CNpcTableSet +{ +public: + CMonTableSet(OdbcConnection * dbConnection, NpcTableArray * pMap) + : CNpcTableSet(dbConnection, pMap) + { + m_bMonster = true; + } + + virtual tstring GetTableName() { return _T("K_MONSTER"); } +}; \ No newline at end of file diff --git a/server/shared/database/ObjectPosSet.h b/server/shared/database/ObjectPosSet.h new file mode 100644 index 0000000..c2b21a7 --- /dev/null +++ b/server/shared/database/ObjectPosSet.h @@ -0,0 +1,38 @@ +#pragma once + +class CObjectPosSet : public OdbcRecordset +{ +public: + CObjectPosSet(OdbcConnection * dbConnection, ObjectEventArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("K_OBJECTPOS"); } + virtual tstring GetColumns() { return _T("ZoneID, Belong, sIndex, Type, ControlNPCID, Status, PosX, PosY, PosZ, byLife"); } + + virtual bool Fetch() + { + _OBJECT_EVENT *pData = new _OBJECT_EVENT; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->sZoneID); + _dbCommand->FetchInt32(i++, pData->sBelong); + _dbCommand->FetchInt16(i++, pData->sIndex); + _dbCommand->FetchInt16(i++, pData->sType); + _dbCommand->FetchInt16(i++, pData->sControlNpcID); + _dbCommand->FetchInt16(i++, pData->sStatus); + _dbCommand->FetchSingle(i++, pData->fPosX); + _dbCommand->FetchSingle(i++, pData->fPosY); + _dbCommand->FetchSingle(i++, pData->fPosZ); + _dbCommand->FetchByte(i++, pData->byLife); + + pData->RoomEvent = 0; + pData->nIndex = m_pMap->GetSize(); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + ObjectEventArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/OdbcCommand.cpp b/server/shared/database/OdbcCommand.cpp new file mode 100644 index 0000000..3754c8e --- /dev/null +++ b/server/shared/database/OdbcCommand.cpp @@ -0,0 +1,252 @@ +#include "stdafx.h" +#include "OdbcConnection.h" + +OdbcCommand::OdbcCommand(HDBC conn) : m_connHandle(conn), m_odbcConnection(nullptr), m_hStmt(nullptr), m_resultCode(-1) +{ +} + +OdbcCommand::OdbcCommand(OdbcConnection * conn) : m_odbcConnection(conn), m_hStmt(nullptr) +{ + m_connHandle = conn->GetConnectionHandle(); + m_odbcConnection->AddCommand(this); +} + +bool OdbcCommand::BindParameters() +{ + for (auto itr = m_params.begin(); itr != m_params.end(); itr++) + { + auto param = itr->second; + + if (!SQL_SUCCEEDED(SQLBindParameter(m_hStmt, itr->first + 1, param->GetParameterType(), + param->GetCDataType(), param->GetDataType(), param->GetDataTypeSize(), 0, + param->GetAddress(), param->GetDataTypeSize(), param->GetCBValue()))) + { + if (m_odbcConnection != nullptr) + m_szError = m_odbcConnection->ReportSQLError(SQL_HANDLE_STMT, m_hStmt, _T("SQLBindParameter"), _T("Failed to bind parameter.")); + else + m_szError = OdbcConnection::GetSQLError(SQL_HANDLE_STMT, m_hStmt); + + Close(); + return false; + } + } + return true; +} + +bool OdbcCommand::Open(bool bRetry /*= false*/) +{ + if (isOpen()) + Close(); + + if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_STMT, m_connHandle, &m_hStmt))) + { + if (m_odbcConnection != nullptr) + m_szError = m_odbcConnection->ReportSQLError(SQL_HANDLE_DBC, m_connHandle, _T("SQLAllocHandle"), _T("Failed to allocate statement handle.")); + else + m_szError = OdbcConnection::GetSQLError(SQL_HANDLE_DBC, m_connHandle); + + // Attempt full SQL reconnection once. + if (m_odbcConnection == nullptr || bRetry) + return false; + + // Perform soft disconnect, preserving existing commands + m_odbcConnection->Close(); + + // Reconnect + m_odbcConnection->Connect(); + + // Now try running the statement once more time. + return Open(true); + } + + SQLExecDirect(m_hStmt, (SQLTCHAR *)_T("SET NOCOUNT ON"), SQL_NTS); + return true; +} + +bool OdbcCommand::Execute(const tstring & szSQL) +{ + if (!Open()) + return false; + +#ifdef USE_SQL_TRACE + TRACE((szSQL + _T("\n")).c_str()); +#endif + + if (!BindParameters()) + return false; + + SQLRETURN result = SQLExecDirect(m_hStmt, (SQLTCHAR *)szSQL.c_str(), szSQL.length()); + if (!(result == SQL_SUCCESS || result == SQL_SUCCESS_WITH_INFO || result == SQL_NO_DATA)) + { + if (m_odbcConnection != nullptr) + m_szError = m_odbcConnection->ReportSQLError(SQL_HANDLE_STMT, m_hStmt, (TCHAR *)szSQL.c_str(), _T("Failed to execute statement.")); + else + m_szError = OdbcConnection::GetSQLError(SQL_HANDLE_STMT, m_hStmt); + + Close(); + return false; + } + + if (!MoveNext()) + MoveNextSet(); + + return true; +} + +bool OdbcCommand::Prepare(const tstring & szSQL) +{ + if (!Open()) + return false; + +#ifdef USE_SQL_TRACE + TRACE((szSQL + _T("\n")).c_str()); +#endif + + if (!SQL_SUCCEEDED(SQLPrepare(m_hStmt, (SQLTCHAR *)szSQL.c_str(), szSQL.length()))) + { + if (m_odbcConnection != nullptr) + m_szError = m_odbcConnection->ReportSQLError(SQL_HANDLE_STMT, m_hStmt, _T("SQLPrepare"), _T("Failed to prepare statement.")); + else + m_szError = OdbcConnection::GetSQLError(SQL_HANDLE_STMT, m_hStmt); + + Close(); + return false; + } + + if (!BindParameters()) + return false; + + SQLRETURN result = SQLExecute(m_hStmt); + if (!(result == SQL_SUCCESS || result == SQL_SUCCESS_WITH_INFO || result == SQL_NO_DATA)) + { + if (m_odbcConnection != nullptr) + m_szError = m_odbcConnection->ReportSQLError(SQL_HANDLE_STMT, m_hStmt, (TCHAR *)szSQL.c_str(), _T("Failed to execute prepared statement.")); + else + m_szError = OdbcConnection::GetSQLError(SQL_HANDLE_STMT, m_hStmt); + + Close(); + return false; + } + + // If there's no rows to move through, skip to the next result set. + if (!MoveNext()) + MoveNextSet(); + + ClearParameters(); + return true; +} + +bool OdbcCommand::MoveNext() +{ + if (!isOpen()) + return false; + + return SQL_SUCCEEDED(m_resultCode = SQLFetch(m_hStmt)); +} + +bool OdbcCommand::MoveNextSet() +{ + if (!isOpen()) + return false; + + return SQL_SUCCEEDED(m_resultCode = SQLMoreResults(m_hStmt)); +} + +#define ADD_ODBC_PARAMETER(name, type, sqlType) void OdbcCommand::AddParameter(SQLSMALLINT paramType, type *value, SQLLEN maxLength) { m_params.insert(std::make_pair(m_params.size(), new OdbcParameter(paramType, sqlType, (SQLPOINTER)value, maxLength))); } \ + type OdbcCommand::Fetch ## name(int pos) { type value; SQLLEN cb = SQL_NTS; SQLGetData(m_hStmt, pos, sqlType, &value, 0, &cb); return value; } \ + void OdbcCommand::Fetch ## name(int pos, type & value) { SQLLEN cb = SQL_NTS; SQLGetData(m_hStmt, pos, sqlType, &value, 0, &cb); } +ADD_ODBC_PARAMETER(Byte, uint8, SQL_C_UTINYINT) + ADD_ODBC_PARAMETER(SByte, int8, SQL_C_STINYINT) + ADD_ODBC_PARAMETER(UInt16, uint16, SQL_C_USHORT) + ADD_ODBC_PARAMETER(Int16, int16, SQL_C_SSHORT) + ADD_ODBC_PARAMETER(UInt32, uint32, SQL_C_ULONG) + ADD_ODBC_PARAMETER(Int32, int32, SQL_C_SLONG) + ADD_ODBC_PARAMETER(Single, float, SQL_C_FLOAT) + ADD_ODBC_PARAMETER(Double, double, SQL_C_DOUBLE) + ADD_ODBC_PARAMETER(UInt64, uint64, SQL_C_UBIGINT) + ADD_ODBC_PARAMETER(Int64, int64, SQL_C_SBIGINT) +#undef ADD_ODBC_PARAMETER + +void OdbcCommand::AddParameter(SQLSMALLINT paramType, const char *value, SQLLEN maxLength = 1, SQLSMALLINT sqlDataType /*= SQL_CHAR*/) +{ + m_params.insert(std::make_pair(m_params.size(), new OdbcParameter(paramType, sqlDataType, (SQLPOINTER)value, maxLength))); +} + +bool OdbcCommand::FetchString(int pos, char *charArray, SQLLEN maxLength, SQLLEN *bufferSize) +{ + memset(charArray, 0x00, maxLength); + return SQL_SUCCEEDED(SQLGetData(m_hStmt, pos, SQL_CHAR, charArray, maxLength, bufferSize)); +} + +bool OdbcCommand::FetchBinary(int pos, char *charArray, SQLLEN maxLength, SQLLEN *bufferSize) +{ + return SQL_SUCCEEDED(SQLGetData(m_hStmt, pos, SQL_BINARY, charArray, maxLength, bufferSize)); +} + +bool OdbcCommand::FetchString(int pos, std::string & value) +{ + SQLLEN bufferSize = 0; + char buffer[256] = ""; + + // Attempt to fetch "small" string of 256 bytes at most (should fit everything we'll need) + if (!FetchString(pos, buffer, sizeof(buffer), &bufferSize)) + { + // Error fetching string, nothing we can do. + if (bufferSize <= 0) + return false; + + // Allocate a buffer large enough for the string's actual length + std::unique_ptr varBuffer(new char[bufferSize + 1]); + + // If the string still couldn't be fetched, nothing we can do. + if (!FetchString(pos, varBuffer.get(), bufferSize + 1, &bufferSize)) + return false; + + value = varBuffer.get(); + } + // String could be fetched, copy it over to the output var. + else + { + value = buffer; + } + + // This line's necessary for SQL_CHAR type columns to trim the padding. + // NOTE: If we need the padding, we should be using the OTHER FetchString() method for it (to fetch it straight into a char array) + rtrim(value); + return true; +} + +void OdbcCommand::ClearParameters() +{ + if (m_params.empty()) + return; + + for (auto itr = m_params.begin(); itr != m_params.end(); itr++) + delete itr->second; + + m_params.clear(); +} + +void OdbcCommand::Close() +{ + if (m_hStmt != nullptr) + { + SQLCloseCursor(m_hStmt); // free results, if any + SQLFreeHandle(SQL_HANDLE_STMT, m_hStmt); + m_hStmt = nullptr; + } +} + +void OdbcCommand::Detach() +{ + m_odbcConnection = nullptr; +} + +OdbcCommand::~OdbcCommand() +{ + Close(); + ClearParameters(); + + if (m_odbcConnection != nullptr) + m_odbcConnection->RemoveCommand(this); +} \ No newline at end of file diff --git a/server/shared/database/OdbcCommand.h b/server/shared/database/OdbcCommand.h new file mode 100644 index 0000000..8683db1 --- /dev/null +++ b/server/shared/database/OdbcCommand.h @@ -0,0 +1,84 @@ +#pragma once + +#include "OdbcParameter.h" +#include + +class OdbcConnection; +class OdbcCommand +{ +public: + typedef std::map OdbcParameterCollection; + + OdbcCommand(HDBC conn); + OdbcCommand(OdbcConnection * conn); + + INLINE bool isOpen() { return m_hStmt != nullptr; }; + INLINE TCHAR * GetError() { return (TCHAR *)m_szError.c_str(); }; + INLINE bool hasData() { return m_resultCode != SQL_NO_DATA && SQL_SUCCEEDED(m_resultCode); }; + INLINE void SetConnectionHandle(HDBC handle) { m_connHandle = handle; }; + +private: + bool BindParameters(); + +public: + bool Execute(const tstring & szSQL); + bool Prepare(const tstring & szSQL); + + bool MoveNext(); + bool MoveNextSet(); + + +#define ADD_ODBC_PARAMETER(name, type, sqlType) \ + void AddParameter(SQLSMALLINT paramType, type *value, SQLLEN maxLength = sizeof(type)); \ + type Fetch ## name(int pos); \ + void Fetch ## name(int pos, type & value); + + ADD_ODBC_PARAMETER(Byte, uint8, SQL_C_TINYINT) + ADD_ODBC_PARAMETER(SByte, int8, SQL_C_STINYINT) + ADD_ODBC_PARAMETER(UInt16, uint16, SQL_C_USHORT) + ADD_ODBC_PARAMETER(Int16, int16, SQL_C_SSHORT) + ADD_ODBC_PARAMETER(UInt32, uint32, SQL_C_ULONG) + ADD_ODBC_PARAMETER(Int32, int32, SQL_C_LONG) + ADD_ODBC_PARAMETER(Single, float, SQL_C_FLOAT) + ADD_ODBC_PARAMETER(Double, double, SQL_C_DOUBLE) + ADD_ODBC_PARAMETER(UInt64, uint64, SQL_C_UBIGINT) + ADD_ODBC_PARAMETER(Int64, int64, SQL_C_SBIGINT) + + void AddParameter(SQLSMALLINT paramType, const char *value, SQLLEN maxLength, SQLSMALLINT sqlDatatype = SQL_CHAR); + + INLINE bool FetchString(int pos, char *outBuffer, SQLLEN maxLength) + { + SQLLEN bufferSize = 0; + return FetchString(pos, outBuffer, maxLength, &bufferSize); + }; + + bool FetchString(int pos, char *charArray, SQLLEN maxLength, SQLLEN *bufferSize); + bool FetchString(int pos, std::string & value); + + INLINE bool FetchBinary(int pos, char *outBuffer, SQLLEN maxLength) + { + SQLLEN bufferSize = 0; + return FetchBinary(pos, outBuffer, maxLength, &bufferSize); + }; + bool FetchBinary(int pos, char *charArray, SQLLEN maxLength, SQLLEN *bufferSize); + + +#undef ADD_ODBC_PARAMETER + + void Detach(); + ~OdbcCommand(); + +private: + bool Open(bool bRetry = false); + void ClearParameters(); +public: void Close(); +private: + HDBC m_connHandle; + OdbcConnection *m_odbcConnection; + HSTMT m_hStmt; + + OdbcParameterCollection m_params; + + tstring m_szError; + SQLRETURN m_resultCode; +}; \ No newline at end of file diff --git a/server/shared/database/OdbcConnection.cpp b/server/shared/database/OdbcConnection.cpp new file mode 100644 index 0000000..5d29a43 --- /dev/null +++ b/server/shared/database/OdbcConnection.cpp @@ -0,0 +1,245 @@ +#include "stdafx.h" +#include +#include "OdbcConnection.h" + +OdbcConnection::OdbcConnection() : m_envHandle(nullptr), m_connHandle(nullptr), m_lock(new std::recursive_mutex()), m_bMarsEnabled(false) +{ + +} + +bool OdbcConnection::isConnected() +{ + Guard lock(m_lock); + return (m_connHandle != nullptr); +} + +bool OdbcConnection::isError() +{ + Guard lock(m_lock); + return (!m_odbcErrors.empty()); +} + +bool OdbcConnection::Connect(tstring & szDSN, tstring & szUser, tstring & szPass, bool bMarsEnabled) +{ + m_szDSN = szDSN; + m_szUser = szUser; + m_szPass = szPass; + + m_bMarsEnabled = bMarsEnabled; + + return Connect(); +} + +bool OdbcConnection::Connect() +{ + if (m_szDSN.empty()) + return false; + + Guard lock(m_lock); + + tstring szConn = _T("DSN=") + m_szDSN + _T(";"); + // Reconnect if we need to. + if (isConnected()) + Disconnect(); + + // Allocate enviroment handle + if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &m_envHandle))) + { + ReportSQLError(SQL_HANDLE_ENV, m_envHandle, _T("SQLAllocHandle"), _T("Unable to allocate environment handle.")); + goto error_handler; + } + + // Request ODBC3 support + if (!SQL_SUCCEEDED(SQLSetEnvAttr(m_envHandle, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0))) + { + ReportSQLError(SQL_HANDLE_ENV, m_envHandle, _T("SQLSetEnvAttr"), _T("Unable to set environment attribute (SQL_ATTR_ODBC_VERSION).")); + goto error_handler; + } + + // Allocate the connection handle + if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, m_envHandle, &m_connHandle))) + { + ReportSQLError(SQL_HANDLE_ENV, m_envHandle, _T("SQLAllocHandle"), _T("Unable to allocate connection handle.")); + goto error_handler; + } + + if (m_szUser.length()) + { + szConn += _T("UID=") + m_szUser + _T(";"); + if (m_szPass.length()) + szConn += _T("PWD=") + m_szPass + _T(";"); + } + + if (m_bMarsEnabled) + { + if (!SQL_SUCCEEDED(SQLSetConnectAttr(m_connHandle, SQL_COPT_SS_MARS_ENABLED, SQL_MARS_ENABLED_YES, SQL_IS_UINTEGER))) + { + printf("** WARNING **\n\n"); + printf("Attempted to used MARS (Multiple Active Result Sets), but this\n"); + printf("feature is not supported by your ODBC driver or SQL Server version.\n\n"); + printf("To benefit from MARS, you need to be using at least SQL Server 2005, and at\n"); + printf("least the 'SQL Native Client' ODBC driver (as opposed to the vastly outdated\n'SQL Server' driver).\n\n"); + printf("Continuing to connect without MARS.\n\n"); + m_bMarsEnabled = false; + } + } + + if (!SQL_SUCCEEDED(SQLDriverConnect(m_connHandle, SQL_NULL_HANDLE, (SQLTCHAR *)szConn.c_str(), SQL_NTS, 0, 0, 0, 0))) + { + ReportSQLError(SQL_HANDLE_DBC, m_connHandle, _T("SQLDriverConnect"), _T("Unable to establish connection.")); + goto error_handler; + } + + for (auto itr = m_commandSet.begin(); itr != m_commandSet.end(); itr++) + (*itr)->SetConnectionHandle(m_connHandle); + + return true; + +error_handler: + ResetHandles(); + return false; +} + +OdbcCommand *OdbcConnection::CreateCommand() +{ + if (!isConnected() + && !Connect()) + return nullptr; + + return new OdbcCommand(this); +} + +void OdbcConnection::AddCommand(OdbcCommand *dbCommand) +{ + Guard lock(m_lock); + m_commandSet.insert(dbCommand); +} + +void OdbcConnection::RemoveCommand(OdbcCommand *dbCommand) +{ + Guard lock(m_lock); + m_commandSet.erase(dbCommand); +} + +// Used to internally reset handles. Should ONLY be used in special cases, otherwise we'll break the state of the connection. +void OdbcConnection::ResetHandles() +{ + // Free the connection handle if it's allocated + if (m_connHandle != nullptr) + { + SQLFreeHandle(SQL_HANDLE_DBC, m_connHandle); + m_connHandle = nullptr; + } + + // Free the environment handle if it's allocated + if (m_envHandle != nullptr) + { + SQLFreeHandle(SQL_HANDLE_ENV, m_envHandle); + m_envHandle = nullptr; + } +} + +tstring OdbcConnection::ReportSQLError(SQLSMALLINT handleType, SQLHANDLE handle, + const TCHAR *szSource, const TCHAR *szError, ...) +{ + Guard lock(m_lock); + TCHAR szErrorBuffer[256]; + OdbcError *error = new OdbcError(); + + va_list args; + va_start(args, szError); + _vsntprintf(szErrorBuffer, sizeof(szErrorBuffer), szError, args); + va_end(args); + + error->Source = szSource; + error->ErrorMessage = szErrorBuffer; + + m_odbcErrors.push_back(error); + + if (handle != nullptr) + { + error->ExtendedErrorMessage = GetSQLError(handleType, handle); + if (!error->ExtendedErrorMessage.empty()) + return error->ExtendedErrorMessage; + } + + return szErrorBuffer; +} + +tstring OdbcConnection::GetSQLError(SQLSMALLINT handleType, SQLHANDLE handle) +{ + tstring result; + SQLTCHAR SqlState[256], SqlMessage[256]; + SQLINTEGER NativeError; + SQLSMALLINT TextLength; + + if (!SQL_SUCCEEDED(SQLGetDiagRec(handleType, handle, 1, (SQLTCHAR *)&SqlState, &NativeError, (SQLTCHAR *)&SqlMessage, sizeof(SqlMessage), &TextLength))) + return result; + + result = (TCHAR *)SqlMessage; + return result; +} + +OdbcError *OdbcConnection::GetError() +{ + Guard lock(m_lock); + if (m_odbcErrors.empty()) + return nullptr; + + OdbcError *pError = m_odbcErrors.back(); + m_odbcErrors.pop_back(); + return pError; +} + +void OdbcConnection::ResetErrors() +{ + if (!isError()) + return; + + Guard lock(m_lock); + OdbcError *pError; + while ((pError = GetError()) != nullptr) + delete pError; +} + +void OdbcConnection::Disconnect() +{ + // Make sure our handles are open. If not, there's nothing to do. + if (!isConnected()) + return; + + Guard lock(m_lock); + // Kill off open statements + if (m_commandSet.size()) + { + for (auto itr = m_commandSet.begin(); itr != m_commandSet.end(); itr++) + { + // Detach from the connection first so we don't try to remove it from the set (while we're using it!) + (*itr)->Detach(); + + // Now free it. + delete (*itr); + } + + m_commandSet.clear(); + } + + // Close the connection to the server & reset our handles + Close(); +} + +void OdbcConnection::Close() +{ + // Disconnect from server. + SQLDisconnect(m_connHandle); + + // Reset handles + ResetHandles(); +} + +OdbcConnection::~OdbcConnection() +{ + Disconnect(); + ResetErrors(); + delete m_lock; +} diff --git a/server/shared/database/OdbcConnection.h b/server/shared/database/OdbcConnection.h new file mode 100644 index 0000000..df58500 --- /dev/null +++ b/server/shared/database/OdbcConnection.h @@ -0,0 +1,74 @@ +#pragma once + +#pragma comment(lib, "odbc32.lib") + +#include +#include + +// MARS settings from sqlncli.h +#ifndef SQL_COPT_SS_MARS_ENABLED +# define SQL_COPT_SS_MARS_ENABLED 1224 +#endif + +#ifndef SQL_MARS_ENABLED_YES +# define SQL_MARS_ENABLED_YES (SQLPOINTER)1 +#endif + +#include "../tstring.h" + +struct OdbcError +{ + tstring Source; + tstring ErrorMessage; + tstring ExtendedErrorMessage; +}; + +#include "OdbcCommand.h" + +class std::recursive_mutex; +class OdbcConnection +{ + friend class OdbcCommand; + +public: + OdbcConnection(); + + bool isConnected(); + bool isError(); + + INLINE HDBC GetConnectionHandle() { return m_connHandle; } + INLINE bool isMarsEnabled() { return m_bMarsEnabled; } + + bool Connect(tstring & szDSN, tstring & szUser, tstring & szPass, bool bMarsEnabled = false); + bool Connect(); + + OdbcCommand *CreateCommand(); + static tstring GetSQLError(SQLSMALLINT handleType, SQLHANDLE handle); + + OdbcError *GetError(); + void ResetErrors(); + + void Disconnect(); + ~OdbcConnection(); + +private: + void AddCommand(OdbcCommand *dbCommand); + void RemoveCommand(OdbcCommand *dbCommand); + tstring ReportSQLError(SQLSMALLINT handleType, SQLHANDLE handle, const TCHAR *szSource, const TCHAR *szError, ...); + + void Close(); + void ResetHandles(); + +private: + tstring m_szDSN, m_szUser, m_szPass; + + HENV m_envHandle; + HDBC m_connHandle; + + std::recursive_mutex * m_lock; + + std::vector m_odbcErrors; + std::set m_commandSet; + + bool m_bMarsEnabled; +}; \ No newline at end of file diff --git a/server/shared/database/OdbcParameter.cpp b/server/shared/database/OdbcParameter.cpp new file mode 100644 index 0000000..747e34a --- /dev/null +++ b/server/shared/database/OdbcParameter.cpp @@ -0,0 +1,46 @@ +#include "stdafx.h" +#include "OdbcConnection.h" + +OdbcParameter::OdbcParameter(SQLSMALLINT parameterType, SQLSMALLINT dataType, SQLPOINTER parameterAddress, SQLLEN maxLength /*= 1*/) + : m_parameterType(parameterType), m_cDataType(dataType), m_parameterAddress(parameterAddress), + m_dataTypeLength(0), m_pCBValue(SQL_NTS) +{ + switch (m_cDataType) + { + case SQL_CHAR: + case SQL_VARCHAR: + case SQL_BINARY: + m_dataTypeLength = maxLength; + m_dataType = m_cDataType; + if (m_cDataType == SQL_BINARY || m_cDataType == SQL_CHAR) + m_pCBValue = m_dataTypeLength; + break; + + case SQL_C_STINYINT: + case SQL_C_UTINYINT: + m_dataType = SQL_TINYINT; + break; + + case SQL_C_SSHORT: + case SQL_C_USHORT: + m_dataType = SQL_SMALLINT; + break; + + case SQL_C_SLONG: + case SQL_C_ULONG: + m_dataType = SQL_INTEGER; + break; + + case SQL_FLOAT: + m_cDataType = m_dataType; + break; + + case SQL_DOUBLE: + m_cDataType = m_dataType; + break; + + default: // unknown, default to integer + m_dataType = SQL_INTEGER; + m_cDataType = m_dataType + SQL_SIGNED_OFFSET; + } +} diff --git a/server/shared/database/OdbcParameter.h b/server/shared/database/OdbcParameter.h new file mode 100644 index 0000000..99429ce --- /dev/null +++ b/server/shared/database/OdbcParameter.h @@ -0,0 +1,19 @@ +#pragma once + +class OdbcParameter +{ +public: + OdbcParameter(SQLSMALLINT parameterType, SQLSMALLINT dataType, SQLPOINTER parameterAddress, SQLLEN maxLength = 1); + + INLINE SQLSMALLINT GetParameterType() { return m_parameterType; }; + INLINE SQLSMALLINT GetDataType() { return m_dataType; }; + INLINE SQLSMALLINT GetCDataType() { return m_cDataType; }; + INLINE SQLPOINTER GetAddress() { return m_parameterAddress; }; + INLINE SQLLEN GetDataTypeSize() { return m_dataTypeLength; }; + INLINE SQLLEN *GetCBValue() { return &m_pCBValue; }; + +private: + SQLSMALLINT m_parameterType, m_dataType, m_cDataType; + SQLPOINTER m_parameterAddress; + SQLLEN m_dataTypeLength, m_pCBValue; +}; \ No newline at end of file diff --git a/server/shared/database/OdbcRecordset.cpp b/server/shared/database/OdbcRecordset.cpp new file mode 100644 index 0000000..fe31107 --- /dev/null +++ b/server/shared/database/OdbcRecordset.cpp @@ -0,0 +1,61 @@ +#include "stdafx.h" +#include "OdbcConnection.h" +#include "OdbcRecordset.h" + +OdbcRecordset::OdbcRecordset(OdbcConnection * dbConnection) : _dbConnection(dbConnection) +{ + _dbCommand = _dbConnection->CreateCommand(); +} + +TCHAR * OdbcRecordset::Read(bool bAllowEmptyTable /*= false*/) +{ + static TCHAR szError[128] = {0}; + + // Build statement + tstring szSQL = _T("SELECT "); + + szSQL += GetColumns(); + szSQL += _T(" FROM "); + szSQL += GetTableName(); + + tstring szWhereClause = GetWhereClause(); + // Do we have a where clause? Include it. + if (!szWhereClause.empty()) + { + szSQL += _T(" WHERE "); + szSQL += szWhereClause; + } + + // Attempt to execute the statement. + if (!_dbCommand->Execute(szSQL)) + return _dbCommand->GetError(); + + // Does the table have any rows? + // Make sure we allow for tables that can be empty. + if (!_dbCommand->hasData()) + { + if (bAllowEmptyTable) + return nullptr; + + _stprintf(szError, _T("%s table is empty."), GetTableName().c_str()); + return szError; + } + + do + { + // This extra result/check potentially slows things down. + // It's also not very informative, so this could really use a bit of a rewrite + // to better allow for this scenario. + if (!Fetch()) + { + _stprintf(szError, _T("Could not fetch row in table %s."), GetTableName().c_str()); + return szError; + } + } while (_dbCommand->MoveNext()); + return nullptr; +} + +OdbcRecordset::~OdbcRecordset() +{ + _dbCommand->Close(); +} \ No newline at end of file diff --git a/server/shared/database/OdbcRecordset.h b/server/shared/database/OdbcRecordset.h new file mode 100644 index 0000000..93e6f8b --- /dev/null +++ b/server/shared/database/OdbcRecordset.h @@ -0,0 +1,52 @@ +#pragma once + +#include "../tstring.h" +class OdbcConnection; +class OdbcCommand; + +class OdbcRecordset +{ +public: + OdbcRecordset(OdbcConnection * dbConnection); + + virtual tstring GetTableName() = 0; + virtual tstring GetColumns() { return _T("*"); } + virtual tstring GetWhereClause() { return _T(""); } + + TCHAR * Read(bool bAllowEmptyTable = false); + virtual bool Fetch() = 0; + + virtual ~OdbcRecordset(); + +protected: + OdbcConnection * _dbConnection; + OdbcCommand * _dbCommand; +}; + +#define _LOAD_TABLE(Set, DB, Array, AllowEmptyTable, IsSlient) \ + Set _ ## Set(DB, Array); \ + if (!IsSlient) \ + _tprintf(_T("Loaded table [%s]\n"), _ ## Set .GetTableName().c_str()); \ + TCHAR * _szError ## Set = _ ## Set.Read(AllowEmptyTable); + +#define LOAD_TABLE(Set, DB, Array, AllowEmptyTable, IsSlient) \ + _LOAD_TABLE(Set, DB, Array, AllowEmptyTable, IsSlient); \ + _HANDLE_DB_ERROR(_szError ## Set) + +#define LOAD_TABLE_ERROR_ONLY(Set, DB, Array, AllowEmptyTable, IsSlient) \ + _LOAD_TABLE(Set, DB, Array, AllowEmptyTable, IsSlient); \ + _HANDLE_DB_ERROR_ONLY(_szError ## Set) + +#define _DISPLAY_DB_ERROR(err) \ + _tprintf(_T("ERROR: Could not load table, the error received was:\n%s\n"), err); \ + +#define _HANDLE_DB_ERROR(err) \ + if (err != nullptr) \ + _DISPLAY_DB_ERROR(err); \ + return (err == nullptr) + +#define _HANDLE_DB_ERROR_ONLY(err) \ + if (err != nullptr) { \ + _DISPLAY_DB_ERROR(err); \ + return false; \ + } \ No newline at end of file diff --git a/server/shared/database/PetLevelUpTableSet.h b/server/shared/database/PetLevelUpTableSet.h new file mode 100644 index 0000000..da0cdc0 --- /dev/null +++ b/server/shared/database/PetLevelUpTableSet.h @@ -0,0 +1,25 @@ +#pragma once + +class CPetLevelUpTableSet : public OdbcRecordset +{ +public: + CPetLevelUpTableSet(OdbcConnection * dbConnection, LevelUpArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("LEVEL_UP_PET"); } + virtual tstring GetColumns() { return _T("[Level], [Exp]"); } + + virtual bool Fetch() + { + std::pair pData; + + _dbCommand->FetchByte(1, pData.first); + _dbCommand->FetchInt64(2, pData.second); + + m_pMap->insert(pData); + + return true; + } + + LevelUpArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/PetTableSet.h b/server/shared/database/PetTableSet.h new file mode 100644 index 0000000..6fa1a7b --- /dev/null +++ b/server/shared/database/PetTableSet.h @@ -0,0 +1,48 @@ +#pragma once + +class CPetTableSet : public OdbcRecordset +{ +public: + CPetTableSet(OdbcConnection * dbConnection, PetArray *pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("PET_DATA"); } + virtual tstring GetColumns() + { + return _T("PET_SERIAL, PET_SLOT, PET_NAME, PET_EXP, PET_LEVEL, PET_STOMACH, PET_ITEMID, PET_CLASS"); + } + + virtual bool Fetch() + { + CPet * pData = new CPet(); + int i = 1; + uint32 ItemId; + uint8 Slot; + _dbCommand->FetchUInt64(i++, pData->m_Serial); + _dbCommand->FetchString(i++, pData->m_strPetID); + _dbCommand->FetchUInt64(i++, pData->m_iExp); + _dbCommand->FetchByte(i++, pData->m_bLevel); + _dbCommand->FetchUInt16(i++, pData->m_sSatisfaction); + _dbCommand->FetchByte(i++, Slot); + _dbCommand->FetchUInt32(i++, ItemId); + _ITEM_DATA * pItem = &pData->m_sItemArray[Slot]; + pItem->nNum = ItemId; + pItem->sCount = 1; + pItem->sDuration = 1; + _dbCommand->FetchByte(i++, pData->m_sClass); + _dbCommand->FetchUInt32(i++, pData->SpecialPetID); + if (pData->SpecialPetID > g_pMain->LastPetID) + g_pMain->LastPetID = pData->SpecialPetID; + pData->m_pNpc = nullptr; + + if (pData == nullptr) + delete pData; + else + m_pMap->insert(std::make_pair(pData->m_Serial, pData)); + + + return true; + } + + PetArray * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/PremiumItemExpSet.h b/server/shared/database/PremiumItemExpSet.h new file mode 100644 index 0000000..04452b2 --- /dev/null +++ b/server/shared/database/PremiumItemExpSet.h @@ -0,0 +1,29 @@ +#pragma once + +class CPremiumItemExpSet : public OdbcRecordset +{ +public: + CPremiumItemExpSet(OdbcConnection * dbConnection, PremiumItemExpArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("PREMIUM_ITEM_EXP"); } + virtual tstring GetColumns() { return _T("nIndex, Type, MinLevel, MaxLevel, sPercent"); } + + virtual bool Fetch() + { + _PREMIUM_ITEM_EXP * pData = new _PREMIUM_ITEM_EXP; + + _dbCommand->FetchUInt16(1, pData->nIndex); + _dbCommand->FetchByte(2, pData->Type); + _dbCommand->FetchByte(3, pData->MinLevel); + _dbCommand->FetchByte(4, pData->MaxLevel); + _dbCommand->FetchUInt16(5, pData->sPercent); + + if (!m_pMap->PutData(pData->nIndex, pData)) + delete pData; + + return true; + } + + PremiumItemExpArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/PremiumItemSet.h b/server/shared/database/PremiumItemSet.h new file mode 100644 index 0000000..1dcc505 --- /dev/null +++ b/server/shared/database/PremiumItemSet.h @@ -0,0 +1,31 @@ +#pragma once + +class CPremiumItemSet : public OdbcRecordset +{ +public: + CPremiumItemSet(OdbcConnection * dbConnection, PremiumItemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("PREMIUM_ITEM"); } + virtual tstring GetColumns() { return _T("Type, ExpRestorePercent, NoahPercent, DropPercent, BonusLoyalty, RepairDiscountPercent, ItemSellPercent"); } + + virtual bool Fetch() + { + _PREMIUM_ITEM * pData = new _PREMIUM_ITEM; + + _dbCommand->FetchByte(1, pData->Type); + _dbCommand->FetchUInt16(2, pData->ExpRestorePercent); + _dbCommand->FetchUInt16(3, pData->NoahPercent); + _dbCommand->FetchUInt16(4, pData->DropPercent); + _dbCommand->FetchUInt32(5, pData->BonusLoyalty); + _dbCommand->FetchUInt16(6, pData->RepairDiscountPercent); + _dbCommand->FetchUInt16(7, pData->ItemSellPercent); + + if (!m_pMap->PutData(pData->Type, pData)) + delete pData; + + return true; + } + + PremiumItemArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/QuestHelperSet.h b/server/shared/database/QuestHelperSet.h new file mode 100644 index 0000000..8176230 --- /dev/null +++ b/server/shared/database/QuestHelperSet.h @@ -0,0 +1,60 @@ +#pragma once + +class CQuestHelperSet : public OdbcRecordset +{ +public: + CQuestHelperSet(OdbcConnection * dbConnection, QuestHelperArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("QUEST_HELPER"); } + virtual tstring GetColumns() { return _T("nIndex, bMessageType, bLevel, nExp, bClass, bNation, bQuestType, bZone, sNpcId, sEventDataIndex, bEventStatus, nEventTriggerIndex, nEventCompleteIndex, nExchangeIndex, nEventTalkIndex, strLuaFilename"); } + + virtual bool Fetch() + { + _QUEST_HELPER *pData = new _QUEST_HELPER; + uint8 bEventStatus = 0xff; + + _dbCommand->FetchUInt32(1, pData->nIndex); + _dbCommand->FetchByte (2, pData->bMessageType); + _dbCommand->FetchByte (3, pData->bLevel); + _dbCommand->FetchUInt32(4, pData->nExp); + _dbCommand->FetchByte (5, pData->bClass); + _dbCommand->FetchByte (6, pData->bNation); + _dbCommand->FetchByte (7, pData->bQuestType); + _dbCommand->FetchByte (8, pData->bZone); + _dbCommand->FetchUInt16(9, pData->sNpcId); + _dbCommand->FetchUInt16(10, pData->sEventDataIndex); + _dbCommand->FetchByte (11, bEventStatus); + _dbCommand->FetchUInt32(12, pData->nEventTriggerIndex); + _dbCommand->FetchUInt32(13, pData->nEventCompleteIndex); + _dbCommand->FetchUInt32(14, pData->nExchangeIndex); + _dbCommand->FetchUInt32(15, pData->nEventTalkIndex); + _dbCommand->FetchString(16, pData->strLuaFilename); + + // Hack to workaround some silly ODBC/MSSQL behaviour. + pData->bEventStatus = bEventStatus; + + if (!m_pMap->PutData(pData->nIndex, pData)) + { + delete pData; + } + else + { + // Add the quest helper instance to the NPC's list + // so that we can perform faster searches. + QuestNpcList * pList = &g_pMain->m_QuestNpcList; + QuestNpcList::iterator itr = pList->find(pData->sNpcId); + if (itr == pList->end()) + { + pList->insert(make_pair(pData->sNpcId, QuestHelperList())); + itr = pList->find(pData->sNpcId); + } + + itr->second.push_back(pData); + } + + return true; + } + + QuestHelperArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/QuestMonsterSet.h b/server/shared/database/QuestMonsterSet.h new file mode 100644 index 0000000..e8f4a75 --- /dev/null +++ b/server/shared/database/QuestMonsterSet.h @@ -0,0 +1,32 @@ +#pragma once + +class CQuestMonsterSet : public OdbcRecordset +{ +public: + CQuestMonsterSet(OdbcConnection * dbConnection, QuestMonsterArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("QUEST_MONSTER"); } + virtual tstring GetColumns() { return _T("sQuestNum, sNum1a, sNum1b, sNum1c, sNum1d, sCount1, sNum2a, sNum2b, sNum2c, sNum2d, sCount2, sNum3a, sNum3b, sNum3c, sNum3d, sCount3, sNum4a, sNum4b, sNum4c, sNum4d, sCount4"); } + + virtual bool Fetch() + { + _QUEST_MONSTER *pData = new _QUEST_MONSTER(); + uint32 col = 1; + + _dbCommand->FetchUInt16(col++, pData->sQuestNum); + for (uint32 group = 0; group < QUEST_MOB_GROUPS; group++) + { + for (uint32 i = 0; i < QUEST_MOBS_PER_GROUP; i++) + _dbCommand->FetchUInt16(col++, pData->sNum[group][i]); + _dbCommand->FetchUInt16(col++, pData->sCount[group]); + } + + if (!m_pMap->PutData(pData->sQuestNum, pData)) + delete pData; + + return true; + } + + QuestMonsterArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ReKnightsSet.h b/server/shared/database/ReKnightsSet.h new file mode 100644 index 0000000..d90c295 --- /dev/null +++ b/server/shared/database/ReKnightsSet.h @@ -0,0 +1,59 @@ +#pragma once + +class CReKnightsSet : public OdbcRecordset +{ +public: + CReKnightsSet(OdbcConnection * dbConnection, KnightsArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("KNIGHTS"); } + virtual tstring GetColumns() { return _T("IDNum, Flag, Nation, Ranking, IDName, Members, Chief, ViceChief_1, ViceChief_2, ViceChief_3, Gold, Domination, Points, Mark, sMarkVersion, sMarkLen, sCape, bCapeR, bCapeG, bCapeB, sAllianceKnights, ClanPointFund, strClanNotice, bySiegeFlag, nLose, nVictory, ClanPointMethod"); } + + virtual bool Fetch() + { + uint16 myIndex = -1; + _dbCommand->FetchUInt16(1, myIndex); + + CKnights *pData = m_pMap->GetData(myIndex); + + if(pData != nullptr) + { + + + + _dbCommand->FetchByte(2, pData->m_byFlag); + _dbCommand->FetchByte(3, pData->m_byNation); + _dbCommand->FetchByte(4, pData->m_byRanking); + _dbCommand->FetchString(5, pData->m_strName); + _dbCommand->FetchUInt16(6, pData->m_sMembers); + _dbCommand->FetchString(7, pData->m_strChief); + _dbCommand->FetchString(8, pData->m_strViceChief_1); + _dbCommand->FetchString(9, pData->m_strViceChief_2); + _dbCommand->FetchString(10, pData->m_strViceChief_3); + _dbCommand->FetchUInt64(11, pData->m_nMoney); + _dbCommand->FetchUInt16(12, pData->m_sDomination); + _dbCommand->FetchUInt32(13, (uint32 &) pData->m_nPoints); + _dbCommand->FetchBinary(14, pData->m_Image, sizeof(pData->m_Image)); + _dbCommand->FetchUInt16(15, pData->m_sMarkVersion); + _dbCommand->FetchUInt16(16, pData->m_sMarkLen); + _dbCommand->FetchUInt16(17, pData->m_sCape); + _dbCommand->FetchByte(18, pData->m_bCapeR); + _dbCommand->FetchByte(19, pData->m_bCapeG); + _dbCommand->FetchByte(20, pData->m_bCapeB); + _dbCommand->FetchUInt16(21, pData->m_sAlliance); + _dbCommand->FetchUInt32(22, (uint32 &) pData->m_nClanPointFund); + _dbCommand->FetchString(23, pData->m_strClanNotice); + _dbCommand->FetchByte(24, pData->bySiegeFlag); + _dbCommand->FetchUInt16(25, pData->nLose); + _dbCommand->FetchUInt16(26, pData->nVictory); + _dbCommand->FetchByte(24, pData->m_sClanPointMethod); + + pData->m_byGrade = g_pMain->GetKnightsGrade(pData->m_nPoints); + + } + + return true; + } + + KnightsArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/RentalItemSet.h b/server/shared/database/RentalItemSet.h new file mode 100644 index 0000000..cdac460 --- /dev/null +++ b/server/shared/database/RentalItemSet.h @@ -0,0 +1,35 @@ +#pragma once + +class CRentalItemSet : public OdbcRecordset +{ +public: + CRentalItemSet(OdbcConnection * dbConnection, RentalItemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("RENTAL_ITEM"); } + virtual tstring GetColumns() { return _T("nRentalIndex, nItemIndex, sDurability, nSerialNumber, byRegType, byItemType, byClass, sRentalTime, nRentalMoney, strLenderCharID, strBorrowerCharID"); } + + virtual bool Fetch() + { + _RENTAL_ITEM *pData = new _RENTAL_ITEM; + + _dbCommand->FetchUInt32(1, pData->nRentalIndex); + _dbCommand->FetchUInt32(2, pData->nItemID); + _dbCommand->FetchUInt16(3, pData->sDurability); + _dbCommand->FetchUInt64(4, pData->nSerialNum); + _dbCommand->FetchByte(5, pData->byRegType); + _dbCommand->FetchByte(6, pData->byItemType); + _dbCommand->FetchByte(7, pData->byClass); + _dbCommand->FetchUInt16(8, pData->sRentalTime); + _dbCommand->FetchUInt32(9, pData->nRentalMoney); + _dbCommand->FetchString(10, pData->strLenderCharID); + _dbCommand->FetchString(11, pData->strBorrowerCharID); + + if (!m_pMap->PutData(pData->nRentalIndex, pData)) + delete pData; + + return true; + } + + RentalItemArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ServerResourceSet.h b/server/shared/database/ServerResourceSet.h new file mode 100644 index 0000000..99e00bb --- /dev/null +++ b/server/shared/database/ServerResourceSet.h @@ -0,0 +1,26 @@ +#pragma once + +class CServerResourceSet : public OdbcRecordset +{ +public: + CServerResourceSet(OdbcConnection * dbConnection, ServerResourceArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("SERVER_RESOURCE"); } + virtual tstring GetColumns() { return _T("nResourceID, strResource"); } + + virtual bool Fetch() + { + _SERVER_RESOURCE *pData = new _SERVER_RESOURCE; + + _dbCommand->FetchUInt32(1, pData->nResourceID); + _dbCommand->FetchString(2, pData->strResource); + + if (!m_pMap->PutData(pData->nResourceID, pData)) + delete pData; + + return true; + } + + ServerResourceArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/SetItemTableSet.h b/server/shared/database/SetItemTableSet.h new file mode 100644 index 0000000..ccc031d --- /dev/null +++ b/server/shared/database/SetItemTableSet.h @@ -0,0 +1,55 @@ +#pragma once + +class CSetItemTableSet : public OdbcRecordset +{ +public: + CSetItemTableSet(OdbcConnection * dbConnection, SetItemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("SET_ITEM"); } + virtual tstring GetColumns() + { + return _T("SetIndex, HPBonus, MPBonus, StrengthBonus, StaminaBonus, DexterityBonus, IntelBonus, CharismaBonus, " + "FlameResistance, GlacierResistance, LightningResistance, PoisonResistance, MagicResistance, CurseResistance, " + "XPBonusPercent, CoinBonusPercent, APBonusPercent, APBonusClassType, APBonusClassPercent, ACBonus, ACBonusClassType, ACBonusClassPercent, " + "MaxWeightBonus, NPBonus"); + } + + virtual bool Fetch() + { + _SET_ITEM *pData = new _SET_ITEM; + int i = 1; + + _dbCommand->FetchUInt32(i++, pData->SetIndex); + _dbCommand->FetchUInt16(i++, pData->HPBonus); + _dbCommand->FetchUInt16(i++, pData->MPBonus); + _dbCommand->FetchUInt16(i++, pData->StrengthBonus); + _dbCommand->FetchUInt16(i++, pData->StaminaBonus); + _dbCommand->FetchUInt16(i++, pData->DexterityBonus); + _dbCommand->FetchUInt16(i++, pData->IntelBonus); + _dbCommand->FetchUInt16(i++, pData->CharismaBonus); + _dbCommand->FetchUInt16(i++, pData->FlameResistance); + _dbCommand->FetchUInt16(i++, pData->GlacierResistance); + _dbCommand->FetchUInt16(i++, pData->LightningResistance); + _dbCommand->FetchUInt16(i++, pData->PoisonResistance); + _dbCommand->FetchUInt16(i++, pData->MagicResistance); + _dbCommand->FetchUInt16(i++, pData->CurseResistance); + _dbCommand->FetchUInt16(i++, pData->XPBonusPercent); + _dbCommand->FetchUInt16(i++, pData->CoinBonusPercent); + _dbCommand->FetchUInt16(i++, pData->APBonusPercent); + _dbCommand->FetchUInt16(i++, pData->APBonusClassType); + _dbCommand->FetchUInt16(i++, pData->APBonusClassPercent); + _dbCommand->FetchUInt16(i++, pData->ACBonus); + _dbCommand->FetchUInt16(i++, pData->ACBonusClassType); + _dbCommand->FetchUInt16(i++, pData->ACBonusClassPercent); + _dbCommand->FetchUInt16(i++, pData->MaxWeightBonus); + _dbCommand->FetchByte(i++, pData->NPBonus); + + if (!m_pMap->PutData(pData->SetIndex, pData)) + delete pData; + + return true; + } + + SetItemArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/StartPositionRandomSet.h b/server/shared/database/StartPositionRandomSet.h new file mode 100644 index 0000000..81fde90 --- /dev/null +++ b/server/shared/database/StartPositionRandomSet.h @@ -0,0 +1,31 @@ + #pragma once + +class CStartPositionRandomSet : public OdbcRecordset +{ +public: + CStartPositionRandomSet(OdbcConnection * dbConnection, StartPositionRandomArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("START_POSITION_RANDOM"); } + virtual tstring GetColumns() { return _T("ZoneID, PosX, PosZ, Radius"); } + + virtual bool Fetch() + { + _START_POSITION_RANDOM * pData = new _START_POSITION_RANDOM; + + int i = 1; + _dbCommand->FetchByte(i++, pData->ZoneID); + _dbCommand->FetchUInt16(i++, pData->PosX); + _dbCommand->FetchUInt16(i++, pData->PosZ); + _dbCommand->FetchByte(i++, pData->Radius); + + pData->sIndex = m_pMap->GetSize(); + + if (!m_pMap->PutData(pData->sIndex, pData)) + delete pData; + + return true; + } + + StartPositionRandomArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/StartPositionSet.h b/server/shared/database/StartPositionSet.h new file mode 100644 index 0000000..d0206f7 --- /dev/null +++ b/server/shared/database/StartPositionSet.h @@ -0,0 +1,36 @@ +#pragma once + +class CStartPositionSet : public OdbcRecordset +{ +public: + CStartPositionSet(OdbcConnection * dbConnection, StartPositionArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("START_POSITION"); } + virtual tstring GetColumns() { return _T("ZoneID, sKarusX, sKarusZ, sElmoradX, sElmoradZ, bRangeX, bRangeZ, sKarusGateX, sKarusGateZ, sElmoGateX, sElmoGateZ"); } + + virtual bool Fetch() + { + _START_POSITION *pData = new _START_POSITION; + + _dbCommand->FetchUInt16(1, pData->ZoneID); + _dbCommand->FetchUInt16(2, pData->sKarusX); + _dbCommand->FetchUInt16(3, pData->sKarusZ); + _dbCommand->FetchUInt16(4, pData->sElmoradX); + _dbCommand->FetchUInt16(5, pData->sElmoradZ); + _dbCommand->FetchByte (6, pData->bRangeX); + _dbCommand->FetchByte (7, pData->bRangeZ); + _dbCommand->FetchUInt16(8, pData->sKarusGateX); + _dbCommand->FetchUInt16(9, pData->sKarusGateZ); + _dbCommand->FetchUInt16(10, pData->sElmoradGateX); + _dbCommand->FetchUInt16(11, pData->sElmoradGateZ); + + + if (!m_pMap->PutData(pData->ZoneID, pData)) + delete pData; + + return true; + } + + StartPositionArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/UserDailyOpSet.h b/server/shared/database/UserDailyOpSet.h new file mode 100644 index 0000000..4f1a2f2 --- /dev/null +++ b/server/shared/database/UserDailyOpSet.h @@ -0,0 +1,44 @@ +#pragma once + +class CUserDailyOpSet : public OdbcRecordset +{ +public: + CUserDailyOpSet(OdbcConnection * dbConnection, UserDailyOpMap * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("USER_DAILY_OP"); } + virtual tstring GetColumns() { return _T("strUserId, ChaosMapTime, UserRankRewardTime, PersonalRankRewardTime, KingWingTime, WarderKillerTime1, WarderKillerTime2, KeeperKillerTime, UserLoyaltyWingRewardTime"); } + + virtual bool Fetch() + { + _USER_DAILY_OP * pData = new _USER_DAILY_OP; + + int i = 1; + _dbCommand->FetchString(i++, pData->strUserId); + _dbCommand->FetchInt32(i++, pData->ChaosMapTime); + _dbCommand->FetchInt32(i++, pData->UserRankRewardTime); + _dbCommand->FetchInt32(i++, pData->PersonalRankRewardTime); + _dbCommand->FetchInt32(i++, pData->KingWingTime); + _dbCommand->FetchInt32(i++, pData->WarderKillerTime1); + _dbCommand->FetchInt32(i++, pData->WarderKillerTime2); + _dbCommand->FetchInt32(i++, pData->KeeperKillerTime); + _dbCommand->FetchInt32(i++, pData->UserLoyaltyWingRewardTime); + + if (pData->strUserId.empty()) + { + delete pData; + return true; + } + + InsertToMap(pData); + return true; + } + + virtual void InsertToMap(_USER_DAILY_OP * pData) + { + if (!pData->strUserId.empty()) + m_pMap->insert(make_pair(pData->strUserId, pData)); + } + + UserDailyOpMap *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/UserItemSet.h b/server/shared/database/UserItemSet.h new file mode 100644 index 0000000..b3ae7ce --- /dev/null +++ b/server/shared/database/UserItemSet.h @@ -0,0 +1,35 @@ +#pragma once + +class CUserItemSet : public OdbcRecordset +{ +public: + CUserItemSet(OdbcConnection * dbConnection, UserItemArray * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("USER_ITEMS"); } + virtual tstring GetColumns() { return _T("nItemID, nItemSerial"); } + + virtual bool Fetch() + { + uint32 nItemID = _dbCommand->FetchUInt32(1); + uint64 nItemSerial = _dbCommand->FetchUInt64(2); + + _USER_ITEM * pData = m_pMap->GetData(nItemID); + + if (pData == nullptr) + { + pData = new _USER_ITEM; + pData->nItemID = nItemID; + pData->nItemSerial.push_back(nItemSerial); + + if (!m_pMap->PutData(pData->nItemID,pData)) + delete pData; + } + else + pData->nItemSerial.push_back(nItemSerial); + + return true; + } + + UserItemArray *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/UserKnightsRankSet.h b/server/shared/database/UserKnightsRankSet.h new file mode 100644 index 0000000..1cd4d3e --- /dev/null +++ b/server/shared/database/UserKnightsRankSet.h @@ -0,0 +1,26 @@ +#pragma once + +class CUserKnightsRankSet : public CUserPersonalRankSet +{ +public: + CUserKnightsRankSet(OdbcConnection * dbConnection, UserNameRankMap * pMap) + : CUserPersonalRankSet(dbConnection, pMap) {} + + virtual tstring GetTableName() { return _T("USER_KNIGHTS_RANK"); } + virtual tstring GetColumns() { return _T("shIndex, nMoney, strElmoUserID, strKarusUserID, nElmoLoyalty, nKarusLoyalty"); } + + virtual void InsertToMap(std::string & strKarusUserID, std::string & strElmoUserID, _USER_RANK * pData) + { + if (!strElmoUserID.empty()) + { + m_pMap->insert(make_pair(strElmoUserID, pData)); + g_pMain->m_playerRankings[ELMORAD_ARRAY].insert(std::make_pair((uint8)pData->nRank, pData)); + } + + if (!strKarusUserID.empty()) + { + m_pMap->insert(make_pair(strKarusUserID, pData)); + g_pMain->m_playerRankings[KARUS_ARRAY].insert(std::make_pair((uint8)pData->nRank, pData)); + } + } +}; \ No newline at end of file diff --git a/server/shared/database/UserPersonalRankSet.h b/server/shared/database/UserPersonalRankSet.h new file mode 100644 index 0000000..bf016da --- /dev/null +++ b/server/shared/database/UserPersonalRankSet.h @@ -0,0 +1,58 @@ +#pragma once + +class CUserPersonalRankSet : public OdbcRecordset +{ +public: + CUserPersonalRankSet(OdbcConnection * dbConnection, UserNameRankMap * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("USER_PERSONAL_RANK"); } + virtual tstring GetColumns() { return _T("nRank, nSalary, strElmoUserID, strKarusUserID, nElmoLoyaltyMonthly, nKarusLoyaltyMonthly"); } + + virtual bool Fetch() + { + _USER_RANK *pData = new _USER_RANK; + std::string strElmoUserID, strKarusUserID; + + _dbCommand->FetchUInt16(1, pData->nRank); + _dbCommand->FetchUInt32(2, pData->nSalary); + _dbCommand->FetchString(3, strElmoUserID); + _dbCommand->FetchString(4, strKarusUserID); + _dbCommand->FetchUInt32(5, pData->nLoyalty[ELMORAD_ARRAY]); // monthly NP for USER_PERSONAL_RANK + _dbCommand->FetchUInt32(6, pData->nLoyalty[KARUS_ARRAY]); + + // Copy strings into struct + pData->strUserID[ELMORAD_ARRAY] = strElmoUserID; + pData->strUserID[KARUS_ARRAY] = strKarusUserID; + + // Convert keys to uppercase for case insensitive lookups + STRTOUPPER(strElmoUserID); + STRTOUPPER(strKarusUserID); + + // We're not going to insert either of them, so ignore this row and avoid a mem leak. + if (strElmoUserID.empty() && strKarusUserID.empty()) + { + delete pData; + return true; // this is normal. + } + + InsertToMap(strKarusUserID, strElmoUserID, pData); + return true; + } + + virtual void InsertToMap(std::string & strKarusUserID, std::string & strElmoUserID, _USER_RANK * pData) + { + if (!strElmoUserID.empty()) + { + m_pMap->insert(make_pair(strElmoUserID, pData)); + g_pMain->m_playerPersonalRankings[ELMORAD_ARRAY].insert(std::make_pair((uint8)pData->nRank, pData)); + } + if (!strKarusUserID.empty()) + { + m_pMap->insert(make_pair(strKarusUserID, pData)); + g_pMain->m_playerPersonalRankings[KARUS_ARRAY].insert(std::make_pair((uint8)pData->nRank, pData)); + } + } + + UserNameRankMap *m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/ZoneInfoSet.h b/server/shared/database/ZoneInfoSet.h new file mode 100644 index 0000000..241f3fd --- /dev/null +++ b/server/shared/database/ZoneInfoSet.h @@ -0,0 +1,57 @@ +#pragma once + +typedef std::map ZoneInfoMap; + +class CZoneInfoSet : public OdbcRecordset +{ +public: + CZoneInfoSet(OdbcConnection * dbConnection, ZoneInfoMap * pMap) + : OdbcRecordset(dbConnection), m_pMap(pMap) {} + + virtual tstring GetTableName() { return _T("ZONE_INFO"); } + +#if defined(AI_SERVER) + virtual tstring GetColumns() { return _T("ServerNo, ZoneNo, strZoneName, RoomEvent"); } +#else + virtual tstring GetColumns() { return _T("ServerNo, ZoneNo, strZoneName, InitX, InitZ, InitY"); } +#endif + + virtual bool Fetch() + { + _ZONE_INFO * pData = new _ZONE_INFO; + + int i = 1; + _dbCommand->FetchUInt16(i++, pData->m_nServerNo); + _dbCommand->FetchUInt16(i++, pData->m_nZoneNumber); + _dbCommand->FetchString(i++, pData->m_MapName); + +#ifdef AI_SERVER + _dbCommand->FetchByte(i++, pData->m_byRoomEvent); +#else + uint32 iX = 0, iY = 0, iZ = 0; + _dbCommand->FetchUInt32(i++, iX); + _dbCommand->FetchUInt32(i++, iZ); + _dbCommand->FetchUInt32(i++, iY); + + pData->m_fInitX = (float)(iX / 100.0f); + pData->m_fInitY = (float)(iY / 100.0f); + pData->m_fInitZ = (float)(iZ / 100.0f); +#endif + + if (pData->m_nZoneNumber > MAX_ZONE_ID) + { + printf("ERROR: Zone ID %d is too large. Highest zone ID can be %d.\n", pData->m_nZoneNumber, MAX_ZONE_ID); + delete pData; + return false; + } + + if (m_pMap->find(pData->m_nZoneNumber) != m_pMap->end()) + delete pData; + else + m_pMap->insert(std::make_pair(pData->m_nZoneNumber, pData)); + + return true; + } + + ZoneInfoMap * m_pMap; +}; \ No newline at end of file diff --git a/server/shared/database/stdafx.cpp b/server/shared/database/stdafx.cpp new file mode 100644 index 0000000..1577c4e --- /dev/null +++ b/server/shared/database/stdafx.cpp @@ -0,0 +1 @@ +#include "stdafx.h" \ No newline at end of file diff --git a/server/shared/database/stdafx.h b/server/shared/database/stdafx.h new file mode 100644 index 0000000..5e0ae9a --- /dev/null +++ b/server/shared/database/stdafx.h @@ -0,0 +1,3 @@ +#pragma once + +#include "../stdafx.h" \ No newline at end of file diff --git a/server/shared/database/structs.h b/server/shared/database/structs.h new file mode 100644 index 0000000..eef6ccf --- /dev/null +++ b/server/shared/database/structs.h @@ -0,0 +1,388 @@ +#pragma once + +struct _MAGIC_TABLE +{ + uint32 iNum; + uint32 nBeforeAction; + uint8 bTargetAction; + uint8 bSelfEffect; + uint16 bFlyingEffect; + uint16 iTargetEffect; + uint8 bMoral; + uint16 sSkillLevel; + uint16 sSkill; + uint16 sMsp; + uint16 sHP; + uint8 bItemGroup; + uint32 iUseItem; + uint8 bCastTime; + uint16 sReCastTime; + uint8 bSuccessRate; + uint8 bType[2]; + uint16 sRange; + uint8 sUseStanding; + uint16 sEtc; +}; + +struct _MAGIC_TYPE1 +{ + uint32 iNum; + uint8 bHitType; + uint16 sHitRate; + uint16 sHit; + uint16 sAddDamage; + uint8 bDelay; + uint8 bComboType; + uint8 bComboCount; + uint16 sComboDamage; + uint16 sRange; +}; + +struct _MAGIC_TYPE2 +{ + uint32 iNum; + uint8 bHitType; + uint16 sHitRate; + uint16 sAddDamage; + uint16 sAddRange; + uint8 bNeedArrow; +}; + +struct _MAGIC_TYPE3 +{ + uint32 iNum; + uint8 bDirectType; + uint16 sAngle; + int16 sFirstDamage; + int16 sEndDamage; + int16 sTimeDamage; + uint8 bRadius; + uint8 bDuration; // duration, in seconds + uint8 bAttribute; +}; + +struct _MAGIC_TYPE4 +{ + uint32 iNum; + uint8 bBuffType; + uint8 bRadius; + uint16 sDuration; // duration, in seconds + uint8 bAttackSpeed; + uint8 bSpeed; + int16 sAC; + uint16 sACPct; + uint8 bAttack; + uint8 bMagicAttack; + uint16 sMaxHP; + uint16 sMaxHPPct; + uint16 sMaxMP; + uint16 sMaxMPPct; + uint8 bHitRate; + uint16 sAvoidRate; + int8 bStr; + int8 bSta; + int8 bDex; + int8 bIntel; + int8 bCha; + uint8 bFireR; + uint8 bColdR; + uint8 bLightningR; + uint8 bMagicR; + uint8 bDiseaseR; + uint8 bPoisonR; + uint16 sExpPct; + uint16 sSpecialAmount; + + bool bIsBuff; // true if buff, false if debuff + + INLINE bool isBuff() { return bIsBuff; } + INLINE bool isDebuff() { return !bIsBuff; } +}; + +struct _MAGIC_TYPE5 +{ + uint32 iNum; + uint8 bType; + uint8 bExpRecover; + uint16 sNeedStone; +}; + +struct _MAGIC_TYPE6 +{ + uint32 iNum; + uint16 sSize; + uint16 sTransformID; + uint16 sDuration; // duration, in seconds + uint16 sMaxHp; + uint16 sMaxMp; + uint8 bSpeed; + uint16 sAttackSpeed; + uint16 sTotalHit; + uint16 sTotalAc; + uint16 sTotalHitRate; + uint16 sTotalEvasionRate; + uint16 sTotalFireR; + uint16 sTotalColdR; + uint16 sTotalLightningR; + uint16 sTotalMagicR; + uint16 sTotalDiseaseR; + uint16 sTotalPoisonR; + uint16 sClass; + uint8 bUserSkillUse; + uint8 bNeedItem; + uint8 bSkillSuccessRate; + uint8 bMonsterFriendly; + uint8 bNation; +}; + + +enum TransformationSkillUse +{ + TransformationSkillUseSiege = 0, + TransformationSkillUseMonster = 1, + TransformationSkillUseNPC = 3, + TransformationSkillUseSpecial = 4, // e.g. Snowman transformations + TransformationSkillUseSiege2 = 7 // e.g. Moving Towers +}; + +struct _MAGIC_TYPE7 +{ + uint32 iNum; + uint8 bValidGroup; + uint8 bNationChange; + uint16 sMonsterNum; + uint8 bTargetChange; + uint8 bStateChange; + uint8 bRadius; + uint16 sHitRate; + uint16 sDuration; + uint16 sDamage; + uint8 bVision; + uint32 nNeedItem; +}; + +struct _MAGIC_TYPE8 +{ + uint32 iNum; + uint8 bTarget; + uint16 sRadius; + uint8 bWarpType; + uint16 sExpRecover; + uint16 sKickDistance; // used exclusively by soccer ball-control skills. +}; + +struct _MAGIC_TYPE9 +{ + uint32 iNum; + uint8 bValidGroup; + uint8 bNationChange; + uint16 sMonsterNum; + uint8 bTargetChange; + uint8 bStateChange; + uint16 sRadius; + uint16 sHitRate; + uint16 sDuration; + uint16 sDamage; + uint16 sVision; + uint32 nNeedItem; +}; + +struct _SERVER_RESOURCE +{ + uint32 nResourceID; + std::string strResource; +}; + +struct _OBJECT_EVENT +{ + int nIndex; + uint16 sZoneID; + int sBelong; + short sIndex; + short sType; + short sControlNpcID; + short sStatus; + float fPosX; + float fPosY; + float fPosZ; + uint8 byLife; + uint16 RoomEvent; +}; + +#pragma pack(push, 1) +struct _REGENE_EVENT +{ + float fRegenePosX; + float fRegenePosY; + float fRegenePosZ; + float fRegeneAreaZ; + float fRegeneAreaX; + int sRegenePoint; +}; + +struct _WARP_INFO +{ + short sWarpID; + char strWarpName[32]; + char strAnnounce[256]; + uint16 sUnk0; // padding? + uint32 dwPay; + short sZone; + uint16 sUnk1; // padding? + float fX; + float fY; + float fZ; + float fR; + short sNation; + uint16 sUnk2; // padding? + + _WARP_INFO() { memset(this, 0, sizeof(_WARP_INFO)); }; +}; +#pragma pack(pop) + +struct _ZONE_INFO +{ + uint16 m_nServerNo; + uint16 m_nZoneNumber; + std::string m_MapName; + +#if defined(AI_SERVER) + uint8 m_byRoomEvent; +#else + float m_fInitX, m_fInitY, m_fInitZ; + uint8 m_bType, isAttackZone; +#endif +}; + +struct _MONSTER_SUMMON_LIST +{ + uint16 sSid; + uint16 sLevel; + uint16 sProbability; + uint8 bType; +}; + +struct _MONSTER_SUMMON_LIST_ZONE +{ + uint32 nIndex; + uint16 ZoneID; + uint16 sSid; + uint8 byFamily; +}; + +struct _MONSTER_RESPAWN_LIST +{ + uint16 sIndex; + uint16 sSid; + uint16 sCount; +}; + +typedef std::map RoomUserList; + +struct _CHAT_ROOM +{ + int nIndex; + + std::string strRoomName; + std::string strAdministrator; + std::string strPassword; + + bool isPassword(){return STRCASECMP(strPassword.c_str(), "") != 0; }; + uint8 isAdministrator(std::string strUserID){ return STRCASECMP(strAdministrator.c_str(), strUserID.c_str()) != 0 ? 1 : 2; }; + + RoomUserList m_UserList; + + uint16 m_sMaxUser; + uint16 m_sCurrentUser; + + uint8 m_bRoomNation; + + bool AddUser(std::string strUserID) + { + m_UserList.insert(std::make_pair(++m_sCurrentUser,strUserID)); + + return true; + } +}; + +struct _MONSTER_RESPAWN_LIST_INFORMATION +{ + uint16 sIndex; + uint16 sSid; + uint8 ZoneID; + uint16 X; + uint16 Y; + uint16 Z; + uint16 sCount; + uint8 bRadius; +}; + +struct _MONSTER_RESPAWN_LIST_RANDOM +{ + uint16 sIndex; + uint16 sSid; + std::string strName; + uint16 sPid; + uint8 ZoneID; + uint8 isBoss; + uint8 Family; +}; + +struct _MINE_LIST +{ + uint32 nIndex; + uint32 Item; + uint16 Count; +}; + +#define MAX_PARTY_USERS 8 +struct _PARTY_GROUP +{ + WORD wIndex; + short uid [MAX_PARTY_USERS]; + +#ifdef GAMESERVER + uint8 bItemRouting; + std::string WantedMessage; + uint16 sWantedClass; +#endif + + _PARTY_GROUP() + { + for (int i = 0; i < MAX_PARTY_USERS; i++) + uid[i] = -1; + +#ifdef GAMESERVER + bItemRouting = 0; +#endif + } +}; + +struct _BUFF_TYPE4_INFO +{ + uint32 m_nSkillID; + uint8 m_bBuffType; + bool m_bIsBuff; // Is it a buff or a debuff? + bool m_bDurationExtended; + time_t m_tEndTime; + + INLINE bool isBuff() { return m_bIsBuff; } + INLINE bool isDebuff() { return !m_bIsBuff; } + + _BUFF_TYPE4_INFO() + : m_nSkillID(0), m_bBuffType(0), m_bIsBuff(false), m_bDurationExtended(false), m_tEndTime(0) + { + } +}; + +struct _BUFF_TYPE9_INFO +{ + uint32 nSkillID; + time_t tEndTime; + + _BUFF_TYPE9_INFO(uint32 nSkillID, time_t tEndTime) + { + this->nSkillID = nSkillID; + this->tEndTime = tEndTime; + } +}; \ No newline at end of file diff --git a/server/shared/globals.cpp b/server/shared/globals.cpp new file mode 100644 index 0000000..f9012db --- /dev/null +++ b/server/shared/globals.cpp @@ -0,0 +1,31 @@ +#include "stdafx.h" + +static std::mt19937 s_randomNumberGenerator; +static std::recursive_mutex s_rngLock; +static bool s_rngSeeded = false; + +INLINE void SeedRNG() +{ + if (!s_rngSeeded) + { + s_randomNumberGenerator.seed((unsigned long)getMSTime()); + s_rngSeeded = true; + } +} + +int32 myrand(int32 min, int32 max) +{ + Guard lock(s_rngLock); + SeedRNG(); + if (min > max) std::swap(min, max); + std::uniform_int_distribution dist(min, max); + return dist(s_randomNumberGenerator); +} + +uint64 RandUInt64() +{ + Guard lock(s_rngLock); + SeedRNG(); + std::uniform_int_distribution dist; + return dist(s_randomNumberGenerator); +} \ No newline at end of file diff --git a/server/shared/globals.h b/server/shared/globals.h new file mode 100644 index 0000000..1715346 --- /dev/null +++ b/server/shared/globals.h @@ -0,0 +1,595 @@ +#pragma once + +#include "version.h" +#include "packets.h" +#include "Packet.h" + +#define MAP_DIR "./map/" + +#define MAX_USER 3000 + +#define MIN_ID_SIZE 6 +#define MAX_ID_SIZE 20 +#define MAX_PW_SIZE 28 + +#define MAX_ITEM_COUNT 9999 + +#define MAX_ZONE_ID 255 + +#define VIEW_DISTANCE 48 + +#define DAY HOUR * 24 + +#define HOUR MINUTE * 60 +// Define a minute as 60s. +#define MINUTE 60u +// Define a second as 1000ms. +#define SECOND 1000u + +// Prmeium Slots in Account +#define PREMIUM_TOTAL 6 + +enum NameType +{ + TYPE_ACCOUNT, + TYPE_CHARACTER +}; + +enum Nation +{ + NONE = 0, + KARUS = 1, + ELMORAD = 2, + ALL = 3 +}; +enum CapureType +{ + CAPURE_RIGHT_CLICK = 1, + CAPURE_TIME = 3 +}; +enum NpcState +{ + NPC_DEAD = 0, + NPC_LIVE, + NPC_ATTACKING, + NPC_ATTACKED, + NPC_ESCAPE, + NPC_STANDING, + NPC_MOVING, + NPC_TRACING, + NPC_FIGHTING, + NPC_STRATEGY, + NPC_BACK, + NPC_SLEEPING, + NPC_FAINTING, + NPC_HEALING, + NPC_CASTING +}; + +enum NpcType +{ + NPC_MONSTER = 0, + NPC_GENERAL = 1, + NPC_TREE = 2, + NPC_BOSS = 3, + NPC_DUNGEON_MONSTER = 4, + NPC_TRAP_MONSTER = 5, + NPC_GUARD = 11, + NPC_PATROL_GUARD = 12, + NPC_STORE_GUARD = 13, + NPC_WAR_GUARD = 14, + NPC_MERCHANT = 21, + NPC_TINKER = 22, + NPC_SELITH = 23, // Selith[special store] + NPC_ANVIL = 24, + + NPC_MARK = 25, + NPC_CLAN_MATCH_ADVISOR = 26, + NPC_SIEGE_1 = 27, + NPC_OPERATOR = 29, // not sure what Operator Moira was ever supposed to do... + NPC_WAREHOUSE = 31, + NPC_KISS = 32, // pretty useless. + NPC_ISAAC = 33, // need to check which quests he handles + NPC_KAISHAN = 34, // need to see what he actually does to name this properly + NPC_CAPTAIN = 35, + NPC_CLAN = 36, + NPC_CLERIC = 37, + NPC_LADY = 38, // Calamus lady event -- need to see what they're used for + NPC_ATHIAN = 39, // Priest athian -- need to see what they're used for + NPC_HEALER = 40, + NPC_ROOM = 42, + NPC_ARENA = 43, // also recon guards + NPC_SIEGE = 44, + NPC_SENTINEL_PATRICK = 47, // need to check which quests he handles (was it the beginner quests, or was that isaac?) + + NPC_GATE = 50, + NPC_PHOENIX_GATE = 51, + NPC_SPECIAL_GATE = 52, + NPC_VICTORY_GATE = 53, + NPC_GATE_LEVER = 55, + NPC_ARTIFACT = 60, + NPC_DESTROYED_ARTIFACT = 61, + NPC_GUARD_TOWER1 = 62, + NPC_GUARD_TOWER2 = 63, + NPC_BOARD = 64, // also encampment + NPC_ARTIFACT1 = 65, // Protective artifact + NPC_ARTIFACT2 = 66, // Guard Tower artifact + NPC_ARTIFACT3 = 67, // Guard artifact + NPC_ARTIFACT4 = 68, + NPC_MONK_ELMORAD = 71, + NPC_MONK_KARUS = 72, + NPC_BLACKSMITH = 77, + NPC_RENTAL = 78, + NPC_ELECTION = 79, // king elections + NPC_TREASURY = 80, + NPC_DOMESTIC_ANIMAL = 99, + NPC_COUPON = 100, + NPC_HERO_STATUE_1 = 106, // 1st place + NPC_HERO_STATUE_2 = 107, // 2nd place + NPC_HERO_STATUE_3 = 108, // 3rd place + NPC_KEY_QUEST_1 = 111, // Sentinel of the Key + NPC_KEY_QUEST_2 = 112, // Watcher of the Key + NPC_KEY_QUEST_3 = 113, // Protector of the Key + NPC_KEY_QUEST_4 = 114, // Ranger of the Key + NPC_KEY_QUEST_5 = 115, // Patroller of the Key + NPC_KEY_QUEST_6 = 116, // Recon of the Key + NPC_KEY_QUEST_7 = 117, // Keeper of the Key + NPC_ROBOS = 118, // need to see what he actually does to name this properly + NPC_KARUS_MONUMENT = 121, // Luferson Monument/Linate Monument/Bellua monument/Laon Camp Monument + NPC_HUMAN_MONUMENT = 122, // El Morad/Asga village/Raiba village/Doda camp monuments + NPC_SERVER_TRANSFER = 123, + NPC_RANKING = 124, + NPC_LYONI = 125, // need to see what this NPC actually does to name this properly + NPC_BEGINNER_HELPER = 127, + NPC_FT_1 = 129, + NPC_FT_2 = 130, + NPC_FT_3 = 131, // also Priest Minerva + NPC_KJWAR = 133, + NPC_SIEGE_2 = 134, + NPC_CRAFTSMAN = 135, // Craftsman boy, not sure what he's actually used for + NPC_CHAOTIC_GENERATOR = 137, + NPC_SPY = 141, + NPC_ROYAL_GUARD = 142, + NPC_ROYAL_CHEF = 143, + NPC_ESLANT_WOMAN = 144, + NPC_FARMER = 145, + NPC_GATE_GUARD = 148, + NPC_ROYAL_ADVISOR = 149, + NPC_GATE2 = 150, // Doda camp gate + NPC_ADELIA = 153, // Goddess Adelia[event] + NPC_BIFROST_MONUMENT = 155, + NPC_CHAOTIC_GENERATOR2 = 162, // newer type used by the Chaotic Generator + NPC_LOYALTY_MERCHANT = 170, + NPC_SCARECROW = 171, // official scarecrow byType + NPC_PVP_MONUMENT = 186, + NPC_BATTLE_MONUMENT = 187, + NPC_KARUS_WARDER1 = 190, + NPC_KARUS_WARDER2 = 191, + NPC_ELMORAD_WARDER1 = 192, + NPC_ELMORAD_WARDER2 = 193, + NPC_KARUS_GATEKEEPER = 198, + NPC_ELMORAD_GATEKEEPER = 199, + NPC_CHAOS_STONE = 200, + NPC_BORDER_MONUMENT = 212, + NPC_BYGROUP3 = 213, + NPC_CZ_MONUMENT = 220, + NPC_FOSSIL = 214 +}; + +enum ZoneAbilityType +{ + // these control neutrality-related settings client-side, + // including whether collision is enabled for other players. + ZoneAbilityNeutral = 0, // Players cannot attack each other, or NPCs. Can walk through players. + ZoneAbilityPVP = 1, // Players can attack each other, and only NPCs from the opposite nation. Cannot walk through players. + ZoneAbilitySpectator = 2, // player is spectating a 1v1 match (ZoneAbilityPVP is sent for the attacker) + ZoneAbilitySiege1 = 3, // siege state 1 (unknown) + ZoneAbilitySiege2 = 4, // siege state 2/4: if they have 0 NP & this is set, it will not show the message telling them to buy more. + ZoneAbilitySiege3 = 5, // siege state 3 (unknown) + ZoneAbilitySiegeDisabled = 6, // CSW not running + ZoneAbilityCaitharosArena = 7, // Players can attack each other (don't seem to be able to anymore?), but not NPCs. Can walk through players. + ZoneAbilityPVPNeutralNPCs = 8 // Players can attack each other, but not NPCs. Cannot walk through players. +}; + +enum ZoneFlags +{ + ZF_TRADE_OTHER_NATION = (1 << 0), + ZF_TALK_OTHER_NATION = (1 << 1), + ZF_ATTACK_OTHER_NATION = (1 << 2), + ZF_ATTACK_SAME_NATION = (1 << 3), + ZF_FRIENDLY_NPCS = (1 << 4), + ZF_WAR_ZONE = (1 << 5), + ZF_CLAN_UPDATE = (1 << 6) // Joining, disbanding, creating etc. +}; + +// ITEM_SLOT DEFINE +const uint8 RIGHTEAR = 0; +const uint8 HEAD = 1; +const uint8 LEFTEAR = 2; +const uint8 NECK = 3; +const uint8 BREAST = 4; +const uint8 SHOULDER = 5; +const uint8 RIGHTHAND = 6; +const uint8 WAIST = 7; +const uint8 LEFTHAND = 8; +const uint8 RIGHTRING = 9; +const uint8 LEG = 10; +const uint8 LEFTRING = 11; +const uint8 GLOVE = 12; +const uint8 FOOT = 13; +const uint8 RESERVED = 14; + +const uint8 CWING = 42; +const uint8 CHELMET = 43; +const uint8 CLEFT = 44; +const uint8 CRIGHT = 45; +const uint8 CTOP = 46; +const uint8 BAG1 = 47; +const uint8 BAG2 = 48; +const uint8 FAIRY = 49; + +const uint8 COSP_WINGS = 0; +const uint8 COSP_HELMET = 1; +const uint8 COSP_GLOVE = 2; +const uint8 COSP_GLOVE2 = 3; +const uint8 COSP_BREAST = 4; + +const uint8 COSP_BAG1 = 5; // relative bag slot from cospre items +const uint8 COSP_BAG2 = 6; // relative bag slot from cospre items +const uint8 COSP_FAIRY = 7; // Fairy + +const uint8 SLOT_MAX = 14; // 14 equipped item slots +const uint8 MAX_SLOT_VIP_STORAGE = 48; +const uint8 HAVE_MAX = 28; // 28 inventory slots +const uint8 COSP_MAX = 6; // 6 cospre slots +const uint8 PET_MAX = 6; // 5 PET slots +const uint8 MBAG_COUNT = 2; // 2 magic bag slots +const uint8 MBAG_MAX = 12; // 12 slots per magic bag + +// Total number of magic bag slots +#define MBAG_TOTAL (MBAG_MAX * MBAG_COUNT) + +// Start of inventory area +#define INVENTORY_INVENT (SLOT_MAX) + +// Start of cospre area +#define INVENTORY_COSP (SLOT_MAX+HAVE_MAX) + +// Start of magic bag slots (after the slots for the bags themselves) +#define INVENTORY_MBAG (SLOT_MAX+HAVE_MAX+COSP_MAX+MBAG_COUNT) + +// Start of magic bag 1 slots (after the slots for the bags themselves) +#define INVENTORY_MBAG1 (INVENTORY_MBAG) + +// Start of magic bag 2 slots (after the slots for the bags themselves) +#define INVENTORY_MBAG2 (INVENTORY_MBAG+MBAG_MAX) + +// Total slots in the general-purpose inventory storage +#define INVENTORY_TOTAL (INVENTORY_MBAG2+MBAG_MAX) + +const uint8 WAREHOUSE_MAX = 192; +const uint8 MAX_MERCH_ITEMS = 12; + +#define MAX_MERCH_MESSAGE 40 + +const int ITEMCOUNT_MAX = 9999; + +#define MAX_KNIGHTS_MARK 2400 +#define CLAN_SYMBOL_COST 5000000 + +#define NEWCHAR_SUCCESS uint8(0) +#define NEWCHAR_NO_MORE uint8(1) +#define NEWCHAR_INVALID_DETAILS uint8(2) +#define NEWCHAR_EXISTS uint8(3) +#define NEWCHAR_DB_ERROR uint8(4) +#define NEWCHAR_INVALID_NAME uint8(5) +#define NEWCHAR_BAD_NAME uint8(6) +#define NEWCHAR_INVALID_RACE uint8(7) +#define NEWCHAR_NOT_SUPPORTED_RACE uint8(8) +#define NEWCHAR_INVALID_CLASS uint8(9) +#define NEWCHAR_POINTS_REMAINING uint8(10) +#define NEWCHAR_STAT_TOO_LOW uint8(11) + +enum ItemFlag +{ + ITEM_FLAG_NONE = 0, + ITEM_FLAG_RENTED = 1, + ITEM_FLAG_DUPLICATE = 3, + ITEM_FLAG_SEALED = 4, + ITEM_FLAG_NOT_BOUND = 7, + ITEM_FLAG_BOUND = 8 +}; + +struct _ITEM_DATA +{ + uint32 nNum; + int16 sDuration; + uint16 sCount; + uint8 bFlag; // see ItemFlag + uint16 sRemainingRentalTime; // in minutes + uint32 nExpirationTime; // in unix time + uint64 nSerialNum; + bool IsSelling; + + INLINE bool isSealed() { return bFlag == ITEM_FLAG_SEALED; } + INLINE bool isBound() { return bFlag == ITEM_FLAG_BOUND; } + INLINE bool isRented() { return bFlag == ITEM_FLAG_RENTED; } + INLINE bool isDuplicate() { return bFlag == ITEM_FLAG_DUPLICATE; } +}; + +struct _PET_MOVE +{ + float X; + float Y; + float Z; + uint32 Time; + uint8 Speed; + bool Drop; + uint32 BundleID; +}; + +struct _KILL_QUEST +{ + uint16 QuestID; + uint8 KillCount[4]; +}; + +#pragma region ACHIEVEMENT STRUCT + + +struct _ACHIEVE_COM +{ + uint32 ID; + uint8 UnKnow1; + uint32 UnKnow2; + uint32 UnKnow3; +}; + +struct _ACHIEVE_MAIN +{ + uint32 ID; + /* + 1 = ACHIEVE_WAR + 2 = ACHIEVE_MONSTER + 3 = ACHIEVE_COM + 4 = ACHIEVE_NORMAL + */ + uint8 Type; + uint16 TitleID; + uint16 Point; + uint32 ItemID; + uint32 Count; + uint8 ZoneID; + uint8 UnKnow7; + /* + 0 = Normal + 1 = Quest + 2 = War + 3 = Adventure + 4 = Challenge + */ + uint8 TabIndex; + uint16 Time; + std::string Name; + std::string Description; + uint8 PropertiesType; // 0 kapalı 1 progressbar 2 checkbox + uint8 SubTabIndex; +}; + +struct _ACHIEVE_MONSTER +{ + uint32 ID; + uint8 Unknow2; + uint8 Unknow3; + uint32 MonsterID[2][4]; + uint32 MonsterCount[2]; + +}; + +#define QUEST_MOB_GROUPS 4 +struct _QUEST_DATA +{ + uint16 dCKills[QUEST_MOB_GROUPS]; +}; + +struct _CYPHERRING_DATA +{ + uint64 m_Serial; + uint32 ID; + std::string UserName; + uint8 sClass; + uint8 bLevel; + uint64 iExp; + uint16 bRace; + +}; + +struct _ACHIEVE_QUEST +{ + uint16 ID; + uint32 KillCount[2]; +}; + +struct _ACHIEVE_NORMAL +{ + uint32 ID; + uint16 UnKnow1; + uint32 UnKnow2; +}; + +struct _ACHIEVE_TITLE +{ + uint32 ID; + uint16 UnKnow1; + int16 Strength; + int16 Health; + int16 Dexterity; + int16 Intelligence; + int16 MagicPower; + int16 Attack; + int16 Defense; + int16 Contribution; + int16 ExpBonusPercent; + int16 ShortSwordDefense; + int16 JamadarDefense; + int16 SwordDefense; + int16 BlowDefense; + int16 AxeDefense; + int16 SpearDefense; + int16 ArrowDefense; + int16 FlameBonus; + int16 IceBonus; + int16 ElectricShockBonus; + int16 FlameResistence; + int16 IceResistence; + int16 ElectrickShockResistence; + int16 MagicResistence; + int16 SpellResistence; + int16 PoisonResistence; +}; + +struct _ACHIEVE_WAR +{ + uint32 ID; + /* + 1 - Adam kesme görevleri var. + */ + uint8 Type; + uint8 UnKnow2; + uint32 Data; + uint32 UnKnow4; +}; + +#pragma endregion + +enum HairData +{ + HAIR_R, + HAIR_G, + HAIR_B, + HAIR_TYPE +}; + +struct _MERCH_DATA +{ + uint32 nNum; + int16 sDuration; + // Selling Count + uint16 sCount; + // InventoryCount + uint16 bCount; + uint64 nSerialNum; + uint32 nPrice; + uint8 bOriginalSlot; + bool IsSoldOut; +}; + +enum AuthorityTypes +{ + AUTHORITY_GAME_MASTER = 0, + AUTHORITY_PLAYER = 1, + AUTHORITY_MUTED = 11, + AUTHORITY_ATTACK_DISABLED = 12, + AUTHORITY_LIMITED_GAME_MASTER = 250, + AUTHORITY_BANNED = 255 +}; + +enum StatType +{ + STAT_STR = 0, + STAT_STA = 1, + STAT_DEX = 2, + STAT_INT = 3, + STAT_CHA = 4, // MP + STAT_COUNT +}; + +enum AttackResult +{ + ATTACK_FAIL = 0, + ATTACK_SUCCESS = 1, + ATTACK_TARGET_DEAD = 2, + ATTACK_TARGET_DEAD_OK = 3, + MAGIC_ATTACK_TARGET_DEAD = 4 +}; + +#define STAT_MAX 255 +#define QUEST_ARRAY_SIZE 600 // That's a limit of 200 quests (3 bytes per quest) +#define ACHIEVE_QUEST_ARRAY_SIZE 1500 // That's a limit of 500 quests (3 bytes per quest) +#define QUEST_LIMIT (QUEST_ARRAY_SIZE / 3) +#define ACHIEVE_QUEST_LIMIT (ACHIEVE_QUEST_ARRAY_SIZE / 3) + +enum InvisibilityType +{ + INVIS_NONE = 0, + INVIS_DISPEL_ON_MOVE = 1, + INVIS_DISPEL_ON_ATTACK = 2 +}; + +int32 myrand(int32 min, int32 max); +uint64 RandUInt64(); + +INLINE bool CheckPercent(short percent) +{ + if (percent < 0 || percent > 1000) + return false; + + return (percent > myrand(0, 1000)); +} + +INLINE time_t getMSTime() +{ +#ifdef _WIN32 +#if WINVER >= 0x0600 + typedef ULONGLONG (WINAPI *GetTickCount64_t)(void); + static GetTickCount64_t pGetTickCount64 = nullptr; + + if (!pGetTickCount64) + { + HMODULE hModule = LoadLibraryA("KERNEL32.DLL"); + pGetTickCount64 = (GetTickCount64_t)GetProcAddress(hModule, "GetTickCount64"); + if (!pGetTickCount64) + pGetTickCount64 = (GetTickCount64_t)GetTickCount; + FreeLibrary(hModule); + } + + return pGetTickCount64(); +#else + return GetTickCount(); +#endif +#else + struct timeval tv; + gettimeofday(&tv, nullptr); + return (tv.tv_sec * SECOND) + (tv.tv_usec / SECOND); +#endif +} + +INLINE void STRTOLOWER(std::string& str) +{ + for(size_t i = 0; i < str.length(); ++i) + str[i] = (char)tolower(str[i]); +}; + +INLINE void STRTOUPPER(std::string& str) +{ + for(size_t i = 0; i < str.length(); ++i) + str[i] = (char)toupper(str[i]); +}; + +#define foreach(itr, arr) \ + for (auto itr = arr.begin(); itr != arr.end(); itr++) + +// ideally this guard should be scoped within the loop... +#define foreach_stlmap(itr, arr) \ + Guard _lock(arr.m_lock); \ + foreach_stlmap_nolock(itr, arr) + +#define foreach_stlmap_nolock(itr, arr) \ + for (auto itr = arr.m_UserTypeMap.begin(); itr != arr.m_UserTypeMap.end(); itr++) + +#define foreach_array(itr, arr) foreach_array_n(itr, arr, sizeof(arr) / sizeof(arr[0])) +#define foreach_array_n(itr, arr, len) for (auto itr = 0; itr < len; itr++) + +#define foreach_region(x, z) for (int x = -1; x <= 1; x++) \ + for (int z = -1; z <= 1; z++) + diff --git a/server/shared/lzf.c b/server/shared/lzf.c new file mode 100644 index 0000000..9e2cab9 --- /dev/null +++ b/server/shared/lzf.c @@ -0,0 +1,296 @@ +#include "lzf.h" + +unsigned int + lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len +#if LZF_STATE_ARG + , LZF_STATE htab +#endif + ) +{ +#if !LZF_STATE_ARG + LZF_STATE htab; +#endif + const u8 **hslot; + const u8 *ip = (u8 *)in_data; + u8 *op = (u8 *)out_data; + const u8 *in_end = ip + in_len; + u8 *out_end = op + out_len; + const u8 *ref; + + /* off requires a type wide enough to hold a general pointer difference. + * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only + * works for differences within a single object). We also assume that no + * no bit pattern traps. Since the only platform that is both non-POSIX + * and fails to support both assumptions is windows 64 bit, we make a + * special workaround for it. + */ +#if defined (WIN32) && defined (_M_X64) + unsigned _int64 off; /* workaround for missing POSIX compliance */ +#else + unsigned long off; +#endif + unsigned int hval; + int lit; + + if (!in_len || !out_len) + return 0; + +#if INIT_HTAB + memset (htab, 0, sizeof (htab)); +# if 0 + for (hslot = htab; hslot < htab + HSIZE; hslot++) + *hslot++ = ip; +# endif +#endif + + lit = 0; op++; /* start run */ + + hval = FRST (ip); + while (ip < in_end - 2) + { + hval = NEXT (hval, ip); + hslot = htab + IDX (hval); + ref = *hslot; *hslot = ip; + + if (1 +#if INIT_HTAB + && ref < ip /* the next test will actually take care of this, but this is faster */ +#endif + && (off = ip - ref - 1) < MAX_OFF + && ip + 4 < in_end + && ref > (u8 *)in_data +#if STRICT_ALIGN + && ref[0] == ip[0] + && ref[1] == ip[1] + && ref[2] == ip[2] +#else + && *(u16 *)ref == *(u16 *)ip + && ref[2] == ip[2] +#endif + ) + { + /* match found at *ref++ */ + unsigned int len = 2; + unsigned int maxlen = in_end - ip - len; + maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; + + if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ + if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ + return 0; + + op [- lit - 1] = lit - 1; /* stop run */ + op -= !lit; /* undo run if length is zero */ + + for (;;) + { + if (expect_true (maxlen > 16)) + { + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + } + + do + len++; + while (len < maxlen && ref[len] == ip[len]); + + break; + } + + len -= 2; /* len is now #octets - 1 */ + ip++; + + if (len < 7) + { + *op++ = (u8)(off >> 8) + (len << 5); + } + else + { + *op++ = (u8)((off >> 8) + (7 << 5)); + *op++ = len - 7; + } + + *op++ = (u8)off; + lit = 0; op++; /* start run */ + + ip += len + 1; + + if (expect_false (ip >= in_end - 2)) + break; + +#if ULTRA_FAST || VERY_FAST + --ip; +# if VERY_FAST && !ULTRA_FAST + --ip; +# endif + hval = FRST (ip); + + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; + +# if VERY_FAST && !ULTRA_FAST + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; +# endif +#else + ip -= len + 1; + + do + { + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; + } + while (len--); +#endif + } + else + { + /* one more literal byte we must copy */ + if (expect_false (op >= out_end)) + return 0; + + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + } + + if (op + 3 > out_end) /* at most 3 bytes can be missing here */ + return 0; + + while (ip < in_end) + { + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + + op [- lit - 1] = lit - 1; /* end run */ + op -= !lit; /* undo run if length is zero */ + + return op - (u8 *)out_data; +} + +unsigned int + lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len) +{ + u8 const *ip = (const u8 *)in_data; + u8 *op = (u8 *)out_data; + u8 const *const in_end = ip + in_len; + u8 *const out_end = op + out_len; + + do + { + unsigned int ctrl = *ip++; + + if (ctrl < (1 << 5)) /* literal run */ + { + ctrl++; + + if (op + ctrl > out_end) + { + SET_ERRNO (E2BIG); + return 0; + } + +#if CHECK_INPUT + if (ip + ctrl > in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + +#ifdef lzf_movsb + lzf_movsb (op, ip, ctrl); +#else + do + *op++ = *ip++; + while (--ctrl); +#endif + } + else /* back reference */ + { + unsigned int len = ctrl >> 5; + + u8 *ref = op - ((ctrl & 0x1f) << 8) - 1; + +#if CHECK_INPUT + if (ip >= in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + if (len == 7) + { + len += *ip++; +#if CHECK_INPUT + if (ip >= in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + } + + ref -= *ip++; + + if (op + len + 2 > out_end) + { + SET_ERRNO (E2BIG); + return 0; + } + + if (ref < (u8 *)out_data) + { + SET_ERRNO (EINVAL); + return 0; + } + +#ifdef lzf_movsb + len += 2; + lzf_movsb (op, ref, len); +#else + *op++ = *ref++; + *op++ = *ref++; + + do + *op++ = *ref++; + while (--len); +#endif + } + } + while (ip < in_end); + + return op - (u8 *)out_data; +} \ No newline at end of file diff --git a/server/shared/lzf.h b/server/shared/lzf.h new file mode 100644 index 0000000..55464d0 --- /dev/null +++ b/server/shared/lzf.h @@ -0,0 +1,248 @@ +/* +* Copyright (c) 2000-2008 Marc Alexander Lehmann +* +* Redistribution and use in source and binary forms, with or without modifica- +* tion, are permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- +* CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- +* CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- +* ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License ("GPL") version 2 or any later version, +* in which case the provisions of the GPL are applicable instead of +* the above. If you wish to allow the use of your version of this file +* only under the terms of the GPL and not to allow others to use your +* version of this file under the BSD license, indicate your decision +* by deleting the provisions above and replace them with the notice +* and other provisions required by the GPL. If you do not delete the +* provisions above, a recipient may use your version of this file under +* either the BSD or the GPL. +*/ + +#ifndef __LZF_H +#define __LZF_H + +#define LZF_MARGIN 128 +#define LZF_VERSION 0x0105 /* 1.5, API version */ +#define AVOID_ERRNO 1 + +#ifndef HLOG +# define HLOG 16 +#endif + +/* +* Sacrifice very little compression quality in favour of compression speed. +* This gives almost the same compression as the default code, and is +* (very roughly) 15% faster. This is the preferred mode of operation. +*/ +#ifndef VERY_FAST +# define VERY_FAST 1 +#endif + +/* +* Sacrifice some more compression quality in favour of compression speed. +* (roughly 1-2% worse compression for large blocks and +* 9-10% for small, redundant, blocks and >>20% better speed in both cases) +* In short: when in need for speed, enable this for binary data, +* possibly disable this for text data. +*/ +#ifndef ULTRA_FAST +# define ULTRA_FAST 0 +#endif + +/* +* Unconditionally aligning does not cost very much, so do it if unsure +*/ +#ifndef STRICT_ALIGN +# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) +#endif + +/* +* You may choose to pre-set the hash table (might be faster on some +* modern cpus and large (>>64k) blocks, and also makes compression +* deterministic/repeatable when the configuration otherwise is the same). +*/ +#ifndef INIT_HTAB +# define INIT_HTAB 0 +#endif + +/* +* Avoid assigning values to errno variable? for some embedding purposes +* (linux kernel for example), this is neccessary. NOTE: this breaks +* the documentation in lzf.h. +*/ +#ifndef AVOID_ERRNO +# define AVOID_ERRNO 0 +#endif + +/* +* Wether to pass the LZF_STATE variable as argument, or allocate it +* on the stack. For small-stack environments, define this to 1. +* NOTE: this breaks the prototype in lzf.h. +*/ +#ifndef LZF_STATE_ARG +# define LZF_STATE_ARG 0 +#endif + +/* +* Wether to add extra checks for input validity in lzf_decompress +* and return EINVAL if the input stream has been corrupted. This +* only shields against overflowing the input buffer and will not +* detect most corrupted streams. +* This check is not normally noticable on modern hardware +* (<1% slowdown), but might slow down older cpus considerably. +*/ +#ifndef CHECK_INPUT +# define CHECK_INPUT 1 +#endif + +/*****************************************************************************/ +/* nothing should be changed below */ + +typedef unsigned char u8; + +typedef const u8 *LZF_STATE[1 << (HLOG)]; + +#if !STRICT_ALIGN +/* for unaligned accesses we need a 16 bit datatype. */ +# include +# if USHRT_MAX == 65535 +typedef unsigned short u16; +# elif UINT_MAX == 65535 +typedef unsigned int u16; +# else +# undef STRICT_ALIGN +# define STRICT_ALIGN 1 +# endif +#endif + +#if ULTRA_FAST +# if defined(VERY_FAST) +# undef VERY_FAST +# endif +#endif + +#if INIT_HTAB +# ifdef __cplusplus +# include +# else +# include +# endif +#endif + +#define HSIZE (1 << (HLOG)) + +/* +* don't play with this unless you benchmark! +* decompression is not dependent on the hash function +* the hashing function might seem strange, just believe me +* it works ;) +*/ +#ifndef FRST +# define FRST(p) (((p[0]) << 8) | p[1]) +# define NEXT(v,p) (((v) << 8) | p[2]) +# if ULTRA_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h ) & (HSIZE - 1)) +# elif VERY_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# else +# define IDX(h) ((((h ^ (h << 5)) >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# endif +#endif +/* +* IDX works because it is very similar to a multiplicative hash, e.g. +* ((h * 57321 >> (3*8 - HLOG)) & (HSIZE - 1)) +* the latter is also quite fast on newer CPUs, and compresses similarly. +* +* the next one is also quite good, albeit slow ;) +* (int)(cos(h & 0xffffff) * 1e6) +*/ + +#if 0 +/* original lzv-like hash function, much worse and thus slower */ +# define FRST(p) (p[0] << 5) ^ p[1] +# define NEXT(v,p) ((v) << 5) ^ p[2] +# define IDX(h) ((h) & (HSIZE - 1)) +#endif + +#define MAX_LIT (1 << 5) +#define MAX_OFF (1 << 13) +#define MAX_REF ((1 << 8) + (1 << 3)) + +#if __GNUC__ >= 3 +# define expect(expr,value) __builtin_expect ((expr),(value)) +#else +# define expect(expr,value) (expr) +#endif + +#define expect_false(expr) expect ((expr) != 0, 0) +#define expect_true(expr) expect ((expr) != 0, 1) + +/* +* compressed format +* +* 000LLLLL ; literal +* LLLooooo oooooooo ; backref L +* 111ooooo LLLLLLLL oooooooo ; backref L+7 +* +*/ + +unsigned int + lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len +#if LZF_STATE_ARG + , LZF_STATE htab +#endif + ); + + +/* +* Decompress data compressed with some version of the lzf_compress +* function and stored at location in_data and length in_len. The result +* will be stored at out_data up to a maximum of out_len characters. +* +* If the output buffer is not large enough to hold the decompressed +* data, a 0 is returned and errno is set to E2BIG. Otherwise the number +* of decompressed bytes (i.e. the original length of the data) is +* returned. +* +* If an error in the compressed data is detected, a zero is returned and +* errno is set to EINVAL. +* +* This function is very fast, about as fast as a copying loop. +*/ + +#if AVOID_ERRNO +# define SET_ERRNO(n) +#else +# include +# define SET_ERRNO(n) errno = (n) +#endif + +#if (__i386 || __amd64) && __GNUC__ >= 3 +# define lzf_movsb(dst, src, len) \ + asm ("rep movsb" \ + : "=D" (dst), "=S" (src), "=c" (len) \ + : "0" (dst), "1" (src), "2" (len)); +#endif + +unsigned int + lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + +#endif \ No newline at end of file diff --git a/server/shared/packets.h b/server/shared/packets.h new file mode 100644 index 0000000..454c63c --- /dev/null +++ b/server/shared/packets.h @@ -0,0 +1,823 @@ +#pragma once + +#define WIZ_LOGIN 0x01 // Account Login +#define WIZ_NEW_CHAR 0x02 // Create Character DB +#define WIZ_DEL_CHAR 0x03 // Delete Character DB +#define WIZ_SEL_CHAR 0x04 // Select Character +#define WIZ_SEL_NATION 0x05 // Select Nation +#define WIZ_MOVE 0x06 // Move ( 1 Second ) +#define WIZ_USER_INOUT 0x07 // User Info Insert, delete +#define WIZ_ATTACK 0x08 // General Attack +#define WIZ_ROTATE 0x09 // Rotate +#define WIZ_NPC_INOUT 0x0A // Npc Info Insert, delete +#define WIZ_NPC_MOVE 0x0B // Npc Move ( 1 Second ) +#define WIZ_ALLCHAR_INFO_REQ 0x0C // Account All Character Info Request +#define WIZ_GAMESTART 0x0D // Request Other User, Npc Info +#define WIZ_MYINFO 0x0E // User Detail Data Download +#define WIZ_LOGOUT 0x0F // Request Logout +#define WIZ_CHAT 0x10 // User Chatting.. +#define WIZ_DEAD 0x11 // User Dead +#define WIZ_REGENE 0x12 // User Regeneration +#define WIZ_TIME 0x13 // Game Timer +#define WIZ_WEATHER 0x14 // Game Weather +#define WIZ_REGIONCHANGE 0x15 // Region UserInfo Receive +#define WIZ_REQ_USERIN 0x16 // Client Request UnRegistered User List +#define WIZ_HP_CHANGE 0x17 // Current HP Download +#define WIZ_MSP_CHANGE 0x18 // Current MP Download +#define WIZ_ITEM_LOG 0x19 // Send To Agent for Writing Log +#define WIZ_EXP_CHANGE 0x1A // Current EXP Download +#define WIZ_LEVEL_CHANGE 0x1B // Max HP, MP, SP, Weight, Exp Download +#define WIZ_NPC_REGION 0x1C // Npc Region Change Receive +#define WIZ_REQ_NPCIN 0x1D // Client Request UnRegistered NPC List +#define WIZ_WARP 0x1E // User Remote Warp +#define WIZ_ITEM_MOVE 0x1F // User Item Move +#define WIZ_NPC_EVENT 0x20 // User Click Npc Event +#define WIZ_ITEM_TRADE 0x21 // Item Trade +#define WIZ_TARGET_HP 0x22 // Attack Result Target HP +#define WIZ_ITEM_DROP 0x23 // Zone Item Insert +#define WIZ_BUNDLE_OPEN_REQ 0x24 // Zone Item list Request +#define WIZ_TRADE_NPC 0x25 // ITEM Trade start +#define WIZ_ITEM_GET 0x26 // Zone Item Get +#define WIZ_ZONE_CHANGE 0x27 // Zone Change +#define WIZ_POINT_CHANGE 0x28 // Str, Sta, dex, intel, cha, point up down +#define WIZ_STATE_CHANGE 0x29 // User Sitdown or Stand +#define WIZ_LOYALTY_CHANGE 0x2A // Nation Contribution +#define WIZ_VERSION_CHECK 0x2B // Client version check +#define WIZ_CRYPTION 0x2C // Cryption +#define WIZ_USERLOOK_CHANGE 0x2D // User Slot Item Resource Change +#define WIZ_NOTICE 0x2E // Update Notice Alarm +#define WIZ_PARTY 0x2F // Party Related Packet +#define WIZ_EXCHANGE 0x30 // Exchange Related Packet +#define WIZ_MAGIC_PROCESS 0x31 // Magic Related Packet +#define WIZ_SKILLPT_CHANGE 0x32 // User changed particular skill point +#define WIZ_OBJECT_EVENT 0x33 // Map Object Event Occur ( ex : Bind Point Setting ) +#define WIZ_CLASS_CHANGE 0x34 // 10 level over can change class +#define WIZ_CHAT_TARGET 0x35 // Select Private Chanting User +#define WIZ_CONCURRENTUSER 0x36 // Current Game User Count +#define WIZ_DATASAVE 0x37 // User GameData DB Save Request +#define WIZ_DURATION 0x38 // Item Durability Change +#define WIZ_TIMENOTIFY 0x39 // Time Adaption Magic Time Notify Packet ( 2 Seconds ) +#define WIZ_REPAIR_NPC 0x3A // Item Trade, Upgrade and Repair +#define WIZ_ITEM_REPAIR 0x3B // Item Repair Processing +#define WIZ_KNIGHTS_PROCESS 0x3C // Knights Related Packet.. +#define WIZ_ITEM_COUNT_CHANGE 0x3D // Item cout change. +#define WIZ_KNIGHTS_LIST 0x3E // All Knights List Info download +#define WIZ_ITEM_REMOVE 0x3F // Item Remove from inventory +#define WIZ_OPERATOR 0x40 // Operator Authority Packet +#define WIZ_SPEEDHACK_CHECK 0x41 // Speed Hack Using Check +#define WIZ_COMPRESS_PACKET 0x42 // Data Compressing Packet +#define WIZ_SERVER_CHECK 0x43 // Server Status Check Packet +#define WIZ_CONTINOUS_PACKET 0x44 // Region Data Packet +#define WIZ_WAREHOUSE 0x45 // Warehouse Open, In, Out +#define WIZ_SERVER_CHANGE 0x46 // When you change the server +#define WIZ_REPORT_BUG 0x47 // Report Bug to the manager +#define WIZ_HOME 0x48 // 'Come back home' by Seo Taeji & Boys +#define WIZ_FRIEND_PROCESS 0x49 // Get the status of your friend +#define WIZ_GOLD_CHANGE 0x4A // When you get the gold of your enemy. +#define WIZ_WARP_LIST 0x4B // Warp List by NPC or Object +#define WIZ_VIRTUAL_SERVER 0x4C // Battle zone Server Info packet (IP, Port) +#define WIZ_ZONE_CONCURRENT 0x4D // Battle zone concurrent users request packet +#define WIZ_CORPSE 0x4e // To have your corpse have an ID on top of it. +#define WIZ_PARTY_BBS 0x4f // For the party wanted bulletin board service.. +#define WIZ_MARKET_BBS 0x50 // For the market bulletin board service... +#define WIZ_KICKOUT 0x51 // Account ID forbid duplicate connection +#define WIZ_CLIENT_EVENT 0x52 // Client Event (for quest) +#define WIZ_MAP_EVENT 0x53 // Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¹«½¼ ¿¡ÄÚ·Î ¾²°í ÀÖµ¥¿ä. +#define WIZ_WEIGHT_CHANGE 0x54 // Notify change of weight +#define WIZ_SELECT_MSG 0x55 // Select Event Message... +#define WIZ_NPC_SAY 0x56 // Select Event Message... +#define WIZ_BATTLE_EVENT 0x57 // Battle Event Result +#define WIZ_AUTHORITY_CHANGE 0x58 // Authority change +#define WIZ_EDIT_BOX 0x59 // Activate/Receive info from Input_Box. +#define WIZ_SANTA 0x5A // Activate motherfucking Santa Claus!!! :( + +#define WIZ_ITEM_UPGRADE 0x5B +#define WIZ_PACKET1 0x5C +#define WIZ_PACKET2 0x5D +#define WIZ_ZONEABILITY 0x5E +#define WIZ_EVENT 0x5F +#define WIZ_STEALTH 0x60 // stealth related. +#define WIZ_ROOM_PACKETPROCESS 0x61 // room system +#define WIZ_ROOM 0x62 +#define WIZ_PACKET3 0x63 // new clan +#define WIZ_QUEST 0x64 +#define WIZ_PACKET4 0x65 // login +#define WIZ_KISS 0x66 +#define WIZ_RECOMMEND_USER 0x67 +#define WIZ_MERCHANT 0x68 +#define WIZ_MERCHANT_INOUT 0x69 +#define WIZ_SHOPPING_MALL 0x6A +#define WIZ_SERVER_INDEX 0x6B +#define WIZ_EFFECT 0x6C +#define WIZ_SIEGE 0x6D +#define WIZ_NAME_CHANGE 0x6E +#define WIZ_WEBPAGE 0x6F +#define WIZ_CAPE 0x70 +#define WIZ_PREMIUM 0x71 +#define WIZ_HACKTOOL 0x72 +#define WIZ_RENTAL 0x73 +#define WIZ_PACKET5 0x74 //s�reli item +#define WIZ_CHALLENGE 0x75 +#define WIZ_PET 0x76 +#define WIZ_CHINA 0x77 // we shouldn't need to worry about this +#define WIZ_KING 0x78 +#define WIZ_SKILLDATA 0x79 +#define WIZ_PROGRAMCHECK 0x7A +#define WIZ_BIFROST 0x7B +#define WIZ_REPORT 0x7C +#define WIZ_LOGOSSHOUT 0x7D +#define WIZ_PACKET6 0x7E +#define WIZ_PACKET7 0x7F +#define WIZ_RANK 0x80 +#define WIZ_STORY 0x81 +#define WIZ_NATION_CHANGE 0x82 +#define WIZ_PACKET9 0x83 +#define WIZ_PACKET10 0x84 +#define WIZ_CAPTURE 0x85 +#define WIZ_MINING 0x86 +#define WIZ_HELMET 0x87 +#define WIZ_PVP 0x88 +#define WIZ_CHANGE_HAIR 0x89 // Changes hair colour/facial features at character selection +#define WIZ_PACKET12 0x8A +#define WIZ_VIP_STORAGE 0x8B +#define WIZ_PACKET14 0x8C +#define WIZ_GENDER_CHANGE 0x8D +#define WIZ_PACKET16 0x8E +#define WIZ_PACKET17 0x8F +#define WIZ_DEATH_LIST 0x90 +#define WIZ_CLANPOINTS_BATTLE 0x91 // not sure +#define WIZ_NATION_CHAT 0x19 +#define WIZ_GENIE 0x97 +#define WIZ_USER_INFO 0x98 +#define WIZ_ACHIEVE 0x99 + +#define WIZ_EXP_SEAL 0x9A +#define WIZ_SP_CHANGE 0x9B +#define WIZ_GLOGIN 0x9F + +#define WIZ_TEST_PACKET 0xff // Test packet + + + +enum CoinChangeOpcodes +{ + CoinGain = 1, + CoinLoss = 2, + CoinEvent = 5 +}; + +//////////////////////////////////////////////////////////////// +// chat define +//////////////////////////////////////////////////////////////// +enum ChatType +{ + GENERAL_CHAT = 1, + PRIVATE_CHAT = 2, + PARTY_CHAT = 3, + FORCE_CHAT = 4, + SHOUT_CHAT = 5, + KNIGHTS_CHAT = 6, + PUBLIC_CHAT = 7, + WAR_SYSTEM_CHAT = 8, + PERMANENT_CHAT = 9, + END_PERMANENT_CHAT = 10, + MONUMENT_NOTICE = 11, + GM_CHAT = 12, + COMMAND_CHAT = 13, + MERCHANT_CHAT = 14, + ALLIANCE_CHAT = 15, + ANNOUNCEMENT_CHAT = 17, + SEEKING_PARTY_CHAT = 19, + GM_INFO_CHAT = 21, // info window : "Level: 0, UserCount:16649" (NOTE: Think this is the missing overhead info (probably in form of a command (with args)) + COMMAND_PM_CHAT = 22, + CLAN_NOTICE = 24, + KROWAZ_NOTICE = 25, + DEATH_NOTICE = 26, + CHAOS_STONE_ENEMY_NOTICE = 27, // The enemy has destroyed the Chaos stone something (Red text, middle of screen) + CHAOS_STONE_NOTICE = 28, + ANNOUNCEMENT_WHITE_CHAT = 29,/// what's it used for? + CHATROM_CHAT = 33, + NOAH_KNIGHTS_CHAT = 34 +}; + +enum DeathNoticeType +{ + DeathNoticeCoordinates = 0, // - %s defeat %s ( %d, %d ) - + DeathNotice = 1, // - %s has been defeated by %s - + DeathNoticeRival = 2, // - %s has avenged %s - + DeathNoticeNone = 0xFF +}; + +enum PVPOpcodes +{ + PVPAssignRival = 1, + PVPRemoveRival = 2, + PVPUpdateHelmet = 5, // the helmet icon indicates the level of the anger gauge + PVPResetHelmet = 6 +}; + +enum ZoneChangeOpcodes +{ + ZoneChangeLoading = 1, + ZoneChangeLoaded = 2, + ZoneChangeTeleport = 3, + MilitaryCampChange = 4 +}; + +enum PremiumPropertyOpCodes +{ + PremiumExpRestorePercent = 0, + PremiumNoahPercent = 1, + PremiumDropPercent = 2, + PremiumBonusLoyalty = 3, + PremiumRepairDiscountPercent = 4, + PremiumItemSellPercent = 5, + PremiumExpPercent = 6 +}; + +//////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////// +// weather define +//////////////////////////////////////////////////////////////// +#define WEATHER_FINE 0x01 +#define WEATHER_RAIN 0x02 +#define WEATHER_SNOW 0x03 +//////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////// +// Party Related subpacket define +//////////////////////////////////////////////////////////////// +#define PARTY_CREATE 0x01 // Party Group Create +#define PARTY_PERMIT 0x02 // Party Insert Permit +#define PARTY_INSERT 0x03 // Party Member Insert +#define PARTY_REMOVE 0x04 // Party Member Remove +#define PARTY_DELETE 0x05 // Party Group Delete +#define PARTY_HPCHANGE 0x06 // Party Member HP change +#define PARTY_LEVELCHANGE 0x07 // Party Member Level change +#define PARTY_CLASSCHANGE 0x08 // Party Member Class Change +#define PARTY_STATUSCHANGE 0x09 // Party Member Status ( disaster, poison ) Change +#define PARTY_REGISTER 0x0A // Party Message Board Register +#define PARTY_REPORT 0x0B // Party Request Message Board Messages +#define PARTY_PROMOTE 0x1C // Promotes user to party leader +#define PARTY_ALL_STATUSCHANGE 0x1D // Sets the specified status of the selected party members to 1. + +enum TradeOpcodes +{ + EXCHANGE_REQ = 1, + EXCHANGE_AGREE = 2, + EXCHANGE_ADD = 3, + EXCHANGE_OTHERADD = 4, + EXCHANGE_DECIDE = 5, + EXCHANGE_OTHERDECIDE = 6, + EXCHANGE_DONE = 7, + EXCHANGE_CANCEL = 8 +}; + +enum MerchantOpcodes +{ + MERCHANT_OPEN = 1, + MERCHANT_CLOSE = 2, + MERCHANT_ITEM_ADD = 3, + MERCHANT_ITEM_CANCEL = 4, + MERCHANT_ITEM_LIST = 5, + MERCHANT_ITEM_BUY = 6, + MERCHANT_INSERT = 7, + MERCHANT_TRADE_CANCEL = 8, + MERCHANT_ITEM_PURCHASED = 9, + + MERCHANT_BUY_OPEN = 0x21, + MERCHANT_BUY_INSERT = 0x22, + MERCHANT_BUY_LIST = 0x23, + MERCHANT_BUY_BUY = 0x24, + MERCHANT_BUY_SOLD = 0x25, + MERCHANT_BUY_BOUGHT = 0x26, + MERCHANT_BUY_CLOSE = 0x27, + MERCHANT_BUY_REGION_INSERT = 0x28, + MERCHANT_MENISIA_LIST = 0x30 +}; + +enum NameChangeOpcode +{ + NameChangePlayerRequest = 0, // contains the request with the player's name + NameChangeShowDialog = 1, + NameChangeInvalidName = 2, + NameChangeSuccess = 3, + NameChangeInClan = 4, + NameChangeKing = 5, + ClanNameChange = 16 +}; + +enum ClanNameChangeOpcode +{ + ClanNameChangeShowDialog = 1, + ClanNameChangeInvalidName = 2, + ClanNameChangeNotInClan = 4, + ClanNameChangeSuccess = 16 +}; + +enum KingSystemOpcodes +{ + KING_ELECTION = 1, + KING_IMPEACHMENT = 2, + KING_TAX = 3, + KING_EVENT = 4, + KING_NPC = 5, + KING_NATION_INTRO = 6 +}; + +enum KingEventOpcodes +{ + KING_EVENT_NOAH = 1, + KING_EVENT_EXP = 2, + KING_EVENT_PRIZE = 3, + KING_EVENT_FUGITIVE = 4, // not sure what this is exactly + KING_EVENT_WEATHER = 5, + KING_EVENT_NOTICE = 6 +}; + +enum KingSystemElectionOpcodes +{ + KING_ELECTION_SCHEDULE = 1, + KING_ELECTION_NOMINATE = 2, + KING_ELECTION_NOTICE_BOARD = 3, + KING_ELECTION_POLL = 4, + KING_ELECTION_RESIGN = 5 +}; + +enum KingSystemElectionDBOpcodes +{ + KING_ELECTION_UPDATE_STATUS, + KING_ELECTION_UPDATE_LIST +}; + +enum KingSystemCandidacyNoticeBoardOpcodes +{ + KING_CANDIDACY_BOARD_WRITE = 1, + KING_CANDIDACY_BOARD_READ = 2, + // 4, 5 +}; + +enum KingSystemImpeachmentOpcodes +{ + KING_IMPEACHMENT_REQUEST = 1, + KING_IMPEACHMENT_REQUEST_ELECT = 2, + KING_IMPEACHMENT_LIST = 3, + KING_IMPEACHMENT_ELECT = 4, + KING_IMPEACHMENT_REQUEST_UI_OPEN = 8, + KING_IMPEACHMENT_ELECTION_UI_OPEN = 9 +}; + +enum MiningSystemOpcodes +{ + // Starts the mining process + MiningStart = 1, + + // Every n seconds, calls this packet to see if they found anything. + MiningAttempt = 2, + + // Stops the mining process + MiningStop = 3, + + // Fish Stard + FishingStart = 6, + + // Fish Every n seconds, calls this packet to see if they found anything. + FishingAttempt = 7, + + // Fish the mining process + FishingStop = 8, + + MiningThing = 10, + + // Soccer handler is part of the mining handler (yuck). + MiningSoccer = 16, +}; + +enum MiningErrors +{ + MiningResultError = 0, // "Mining failed" + MiningResultSuccess = 1, // nothing is displayed + MiningResultMiningAlready = 2, // "Mining already" + MiningResultNotMiningArea = 3, // "Not mining area" + MiningResultPreparing = 4, // "Preparing mining" + MiningResultNotPickaxe = 5, // "A pickaxe is not" (i.e. invalid equipped item, need a pickaxe) + MiningResultNothingFound = 6, // "Nothing found" +}; + +#define MINING_DELAY 2 // seconds + +//////////////////////////////////////////////////////////////// +// Magic Packet sub define +//////////////////////////////////////////////////////////////// +enum MagicOpcode +{ + MAGIC_CASTING = 1, + MAGIC_FLYING = 2, + MAGIC_EFFECTING = 3, + MAGIC_FAIL = 4, + MAGIC_DURATION_EXPIRED = 5, // For the removal of durational (i.e. type 3/4) skills. + MAGIC_CANCEL = 6, // When the client requests a buff to be removed. + MAGIC_CANCEL_TRANSFORMATION = 7, // When removing a transformation. + MAGIC_TYPE4_EXTEND = 8 , // Extends the time of your type4 buffs by 2 times (requires "Duration Item" (PUS)) + MAGIC_TRANSFORM_LIST = 9, // Shows the transformation list + MAGIC_FAIL_TRANSFORMATION = 10, // Transformation errors + MAGIC_UNKNOWN = 12, + MAGIC_CANCEL2 = 13 // Not sure but it cancels... +}; + +enum e_SkillMagicFailMsg +{ + SKILLMAGIC_FAIL_CASTING = -100, // "Casting failed." + SKILLMAGIC_FAIL_KILLFLYING = -101, + SKILLMAGIC_FAIL_ENDCOMBO = -102, + SKILLMAGIC_FAIL_NOEFFECT = -103, // " failed" + SKILLMAGIC_FAIL_ATTACKZERO = -104 // " missed" +}; + +//////////////////////////////////////////////////////////////// +// Knights Packet sub define +//////////////////////////////////////////////////////////////// +enum +{ + KNIGHTS_CREATE = 0x01, // clan creation + KNIGHTS_JOIN = 0x02, // joining a clan + KNIGHTS_WITHDRAW = 0x03, // leaving a clan + KNIGHTS_REMOVE = 0x04, // removing a clan member + KNIGHTS_DESTROY = 0x05, // disbanding a clan + KNIGHTS_ADMIT = 0x06, + KNIGHTS_REJECT = 0x07, + KNIGHTS_PUNISH = 0x08, + KNIGHTS_CHIEF = 0x09, + KNIGHTS_VICECHIEF = 0x0A, + KNIGHTS_OFFICER = 0x0B, + KNIGHTS_ALLLIST_REQ = 0x0C, + KNIGHTS_MEMBER_REQ = 0x0D, + KNIGHTS_CURRENT_REQ = 0x0E, + KNIGHTS_STASH = 0x0F, + KNIGHTS_MODIFY_FAME = 0x10, + KNIGHTS_JOIN_REQ = 0x11, + KNIGHTS_LIST_REQ = 0x12, + + KNIGHTS_WAR_ANSWER = 0x14, + KNIGHTS_WAR_SURRENDER = 0x15, + + KNIGHTS_MARK_VERSION_REQ= 0x19, + KNIGHTS_MARK_REGISTER = 0x1A, + KNIGHTS_CAPE_NPC = 0x1B, + KNIGHTS_ALLY_CREATE = 0x1C, + KNIGHTS_ALLY_REQ = 0x1D, + KNIGHTS_ALLY_INSERT = 0x1E, + KNIGHTS_ALLY_REMOVE = 0x1F, + KNIGHTS_ALLY_PUNISH = 0x20, + KNIGHTS_ALLY_LIST = 0x22, + + KNIGHTS_MARK_REQ = 0x23, + KNIGHTS_UPDATE = 0x24, + KNIGHTS_MARK_REGION_REQ = 0x25, + + KNIGHTS_UPDATE_GRADE = 0x30, + KNIGHTS_POINT_REQ = 0x3B, + KNIGHTS_POINT_METHOD = 0x3C, + KNIGHTS_DONATE_POINTS = 0x3D, + KNIGHTS_HANDOVER_VICECHIEF_LIST = 0x3E, + KNIGHTS_HANDOVER_REQ = 0x3F, + + KNIGHTS_DONATION_LIST = 0x40, + KNIGHTS_TOP10 = 0x41, + KNIGHTS_HANDOVER = 0x4F, + KNIGHTS_NOTICE = 0x50, + KNIGHTS_MEMO = 0x58, + // These are NOT official client opcodes. + // They are opcodes for the database thread only. + KNIGHTS_REFUND_POINTS = 0xF0, + KNIGHTS_UPDATE_FUND = 0xF1 +}; + +enum OperatorCommands +{ + OPERATOR_ARREST = 1, + OPERATOR_BAN = 2, + OPERATOR_MUTE = 3, + OPERATOR_UNMUTE = 4, + OPERATOR_CUTOFF = 5, + OPERATOR_BAN_ACCOUNT = 6, + OPERATOR_SUMMON = 7, + OPERATOR_DISABLE_ATTACK = 8, + OPERATOR_ENABLE_ATTACK = 9 +}; + +enum DailyOperationsOpCode +{ + DAILY_CHAOS_MAP = 1, + DAILY_USER_RANK_REWARD = 2, + DAILY_USER_PERSONAL_RANK_REWARD = 3, + DAILY_KING_WING = 4, + DAILY_WARDER_KILLER_WING1 = 5, + DAILY_WARDER_KILLER_WING2 = 6, + DAILY_KEEPER_KILLER_WING = 7, + DAILY_USER_LOYALTY_WING_REWARD = 8 +}; + +enum EventOpCode +{ + TEMPLE_EVENT_BORDER_DEFENCE_WAR = 4, + TEMPLE_EVENT_CHAOS = 24, + TEMPLE_EVENT_JURAD_MOUNTAIN = 100 +}; + +enum RankTypes +{ + RANK_TYPE_PK_ZONE = 1, + RANK_TYPE_ZONE_BORDER_DEFENSE_WAR = 2, + RANK_TYPE_CHAOS_DUNGEON = 3, +}; + +//////////////////////////////////////////////////////////////// +// WareHouse Packet sub define +//////////////////////////////////////////////////////////////// +#define WAREHOUSE_OPEN 0x01 +#define WAREHOUSE_INPUT 0x02 +#define WAREHOUSE_OUTPUT 0x03 +#define WAREHOUSE_MOVE 0x04 +#define WAREHOUSE_INVENMOVE 0x05 + +#define WAREHOUSE_REQ 0x10 + +//////////////////////////////////////////////////////////////// +// Clan Packet sub define +//////////////////////////////////////////////////////////////// +#define CLAN_CREATE 0x01 +#define CLAN_JOIN 0x02 + +//////////////////////////////////////////////////////////////// +// Class change define +//////////////////////////////////////////////////////////////// +#define CLASS_CHANGE_REQ 0x01 +#define CLASS_CHANGE_RESULT 0x02 +#define ALL_POINT_CHANGE 0x03 +#define ALL_SKILLPT_CHANGE 0x04 +#define CHANGE_MONEY_REQ 0x05 +#define CHANGE_REBIRTH_STAT 0x07 + +//////////////////////////////////////////////////////////////// +// Friend subpacket define +//////////////////////////////////////////////////////////////// +enum FriendOpcodes +{ + FRIEND_REQUEST = 1, + FRIEND_REPORT = 2, + FRIEND_ADD = 3, + FRIEND_REMOVE = 4 +}; + +enum TempleOpCodes +{ + BIFROST_EVENT = 2, + TEMPLE_EVENT_BORDER_COUNTER = 3, + MONSTER_SQUARD = 5, + MONSTER_STONE = 6, + TEMPLE_EVENT = 7, + TEMPLE_EVENT_JOIN = 8, + TEMPLE_EVENT_DISBAND = 9, + TEMPLE_EVENT_FINISH = 10, + TEMPLE_EVENT_COUNTER = 16 +}; + +enum FriendAddResult +{ + FRIEND_ADD_SUCCESS = 0, + FRIEND_ADD_ERROR = 1, + FRIEND_ADD_FULL = 2, + + FRIEND_ADD_MAX +}; + +enum FriendRemoveResult +{ + FRIEND_REMOVE_SUCCESS = 0, + FRIEND_REMOVE_ERROR = 1, + FRIEND_REMOVE_NOT_FOUND = 2, + + FRIEND_REMOVE_MAX +}; + +enum +{ + ITEM_UPGRADE_REQ = 1, + ITEM_UPGRADE = 2, + ITEM_ACCESSORIES = 3, + ITEM_BIFROST_REQ = 4, + ITEM_BIFROST_EXCHANGE = 5, + ITEM_PET = 6, + ITEM_UPGRADE_REBIRTH = 7, + ITEM_SEAL = 8, + ITEM_CHARACTER_SEAL = 9, + ITEM_TRYITWHAT2 = 10, + ITEM_SPECIAL_EXCHANGE = 11, + ITEM_DISASSEMBLING = 13 +}; + + +//////////////////////////////////////////////////////////////// +// Party BBS subpacket define +//////////////////////////////////////////////////////////////// +#define PARTY_BBS_REGISTER 0x01 +#define PARTY_BBS_DELETE 0x02 +#define PARTY_BBS_NEEDED 0x03 +#define PARTY_BBS_WANTED 0x04 +#define PARTY_BBS_LIST 0x0B + +//////////////////////////////////////////////////////////////// +// Market BBS primary subpacket define +//////////////////////////////////////////////////////////////// +#define MARKET_BBS_REGISTER 0x01 +#define MARKET_BBS_DELETE 0x02 +#define MARKET_BBS_REPORT 0x03 +#define MARKET_BBS_OPEN 0x04 +#define MARKET_BBS_REMOTE_PURCHASE 0x05 +#define MARKET_BBS_MESSAGE 0x06 + +//////////////////////////////////////////////////////////////// +// Market BBS secondary subpacket define +//////////////////////////////////////////////////////////////// +#define MARKET_BBS_BUY 0x01 +#define MARKET_BBS_SELL 0x02 + +//////////////////////////////////////////////////////////////// +#define WIZ_LOGIN_INFO 0x50 // define for DBAgent Communication +//////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////// +// Server to Server Communication +//////////////////////////////////////////////////////////////// +#define STS_CHAT 0xD0 +#define UDP_BATTLE_EVENT_PACKET 0xD1 +#define UDP_KNIGHTS_PROCESS 0xD2 +#define UDP_BATTLEZONE_CURRENT_USERS 0xD3 +//////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////// +// Server to DB Agnent Communication +//////////////////////////////////////////////////////////////// +#define DB_COUPON_EVENT 0x10 // coupon event +#define CHECK_COUPON_EVENT 0x01 +#define UPDATE_COUPON_EVENT 0x02 +//////////////////////////////////////////////////////////////// + + + +//////////////////////////////////////////////////////////////// +// Authority change subpacket define +//////////////////////////////////////////////////////////////// +#define COMMAND_AUTHORITY 0x01 + +enum ShoppingMallOpcodes +{ + STORE_OPEN = 1, + STORE_CLOSE = 2, + STORE_BUY = 3, + STORE_MINI = 4, + STORE_PROCESS = 5, + STORE_LETTER = 6 +}; + +enum LetterOpcodes +{ + LETTER_UNREAD = 1, + LETTER_LIST = 2, + LETTER_HISTORY = 3, + LETTER_GET_ITEM = 4, + LETTER_READ = 5, + LETTER_SEND = 6, + LETTER_DELETE = 7, + LETTER_ITEM_CHECK = 8 // ??? +}; + +enum RentalOpcodes +{ + RENTAL_PREMIUM = 1, + RENTAL_PVP = 2, + RENTAL_NPC = 3 +}; + +enum RentalPvPOpcodes +{ + RENTAL_OPEN = 0, + RENTAL_REGISTER = 1, + RENTAL_LEND = 2, + RENTAL_ITEM_CHECK = 3, + RENTAL_ITEM_CANCEL = 4, + RENTAL_REPORT = 10 +}; + +// Skillbar +enum SkillBarOpcodes +{ + SKILL_DATA_SAVE = 1, + SKILL_DATA_LOAD = 2 +}; + +enum ObjectType +{ + OBJECT_BIND = 0, + OBJECT_GATE = 1, + OBJECT_GATE2 = 2, + OBJECT_GATE_LEVER = 3, + OBJECT_FLAG_LEVER = 4, + OBJECT_WARP_GATE = 5, + OBJECT_GATE_UNK = 6, + OBJECT_REMOVE_BIND = 7, + OBJECT_ANVIL = 8, + OBJECT_ARTIFACT = 9, + OBJECT_NPC = 11 +}; + +enum BattleWinnerTypes +{ + BATTLE_WINNER_NPC = 0, + BATTLE_WINNER_KILL = 1, + BATTLE_WINNER_MONUMENT = 2 +}; + + +// --------------------------------------------------------------------- +// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ Npc¿¡ °ü·ÃµÈ ÆÐŶÀº 1¹ø~49¹ø +// --------------------------------------------------------------------- +const uint8 AI_SERVER_CONNECT = 1; +const uint8 NPC_INFO_ALL = 2; +const uint8 MOVE_REQ = 3; +const uint8 MOVE_RESULT = 4; +const uint8 MOVE_END_REQ = 5; +const uint8 MOVE_END_RESULT = 6; +const uint8 AG_NPC_INFO = 7; +const uint8 AG_NPC_GIVE_ITEM = 8; +const uint8 AG_NPC_GATE_OPEN = 9; +const uint8 AG_NPC_GATE_DESTORY = 10; +const uint8 AG_NPC_INOUT = 11; +const uint8 AG_NPC_EVENT_ITEM = 12; +const uint8 AG_NPC_HP_REQ = 13; +const uint8 AG_NPC_SPAWN_REQ = 14; // spawns an NPC/monster at the desired location +const uint8 AG_NPC_REGION_UPDATE = 15; +const uint8 AG_NPC_UPDATE = 16; +const uint8 AG_NPC_KILL_REQ = 17; + +// --------------------------------------------------------------------- +// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ User, Npc °øÅë °ü·ÃµÈ ÆÐŶÀº 50¹ø~100¹ø +// --------------------------------------------------------------------- +const uint8 AG_SERVER_INFO = 50; // +const uint8 AG_ATTACK_REQ = 51; // Attck Packet +const uint8 AG_ATTACK_RESULT = 52; // Attck Packet +const uint8 AG_DEAD = 53; // Dead Packet +const uint8 AG_SYSTEM_MSG = 54; // System message Packet +const uint8 AG_CHECK_ALIVE_REQ = 55; // Server alive check +const uint8 AG_COMPRESSED_DATA = 56; // Packet Data compressed +const uint8 AG_ZONE_CHANGE = 57; // Zone change +const uint8 AG_MAGIC_ATTACK_REQ = 58; // Magic Attck Packet +const uint8 AG_MAGIC_ATTACK_RESULT = 59; // Magic Attck Packet +const uint8 AG_USER_INFO_ALL = 60; // UserÀÇ ¸ðµç Á¤º¸ Àü¼Û +const uint8 AG_LONG_MAGIC_ATTACK = 61; // Magic Attck Packet +const uint8 AG_PARTY_INFO_ALL = 62; // PartyÀÇ ¸ðµç Á¤º¸ Àü¼Û +const uint8 AG_HEAL_MAGIC = 63; // Healing magic +const uint8 AG_TIME_WEATHER = 64; // time and whether info +const uint8 AG_BATTLE_EVENT = 65; // battle event +const uint8 AG_COMPRESSED = 66; +const uint8 AG_ROOM_INIT = 67; +const uint8 AG_USER_EVENTROOM = 68; +const uint8 AG_CSW_OP_CL = 69; // update CSW open close status +const uint8 AG_CHAOS_CUBE = 70; +const uint8 AG_USER_TRANS_CHANGE = 71; // updates user ts + +enum AISkillOpcode +{ + AISkillOpcodeBuff, // or debuff + AISkillOpcodeRemoveBuff +}; + +// --------------------------------------------------------------------- +// Battle Event Sub Packet +// --------------------------------------------------------------------- +const uint8 BATTLE_EVENT_OPEN = 1; // battle event open +const uint8 BATTLE_MAP_EVENT_RESULT = 2; // battle zone map event result +const uint8 BATTLE_EVENT_RESULT = 3; // battle event result ( victory nation ) +const uint8 BATTLE_EVENT_MAX_USER = 4; // battle event result ( user name ) +const uint8 BATTLE_EVENT_KILL_USER = 5; // battle event result ( user kill count ) + +// --------------------------------------------------------------------- +// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ User¿¡ °ü·ÃµÈ ÆÐŶÀº 101¹ø ºÎÅÍ ½ÃÀÛ +// --------------------------------------------------------------------- +const uint8 AG_USER_INFO = 101; // UserÀÇ Á¤º¸ +const uint8 AG_USER_INOUT = 102; // UserÀÇ In,Out Á¤º¸ +const uint8 AG_USER_MOVE = 103; // UserÀÇ move Á¤º¸ +const uint8 AG_USER_MOVEEDGE = 104; // UserÀÇ move end Á¤º¸ +const uint8 AG_USER_SET_HP = 105; // UserÀÇ HP +const uint8 AG_USER_LOG_OUT = 106; // UserÀÇ LogOut +const uint8 AG_USER_REGENE = 107; // UserÀÇ Regene +const uint8 AG_USER_EXP = 108; // UserÀÇ °æÇèÄ¡ +const uint8 AG_USER_UPDATE = 109; // UserÀÇ Update Info +const uint8 AG_USER_FAIL = 110; // À߸øµÈ À¯Àú ó¸®... +const uint8 AG_USER_PARTY = 111; // ÆÄƼó¸® ´ã´ç +const uint8 AG_USER_VISIBILITY = 112; // updates invisibility status +const uint8 AG_NPC_HP_CHANGE = 113; // updates an NPC's HP + + diff --git a/server/shared/shared.vcxproj b/server/shared/shared.vcxproj new file mode 100644 index 0000000..d87e81d --- /dev/null +++ b/server/shared/shared.vcxproj @@ -0,0 +1,387 @@ + + + + + Debug-XP + Win32 + + + Debug-XP + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release-XP + Win32 + + + Release-XP + x64 + + + Release + Win32 + + + Release + x64 + + + + {221DE5A1-4C5A-4DC7-82A0-0BB66E0ADD01} + shared + 10.0.17763.0 + + + + StaticLibrary + true + v142 + MultiByte + + + StaticLibrary + true + v142 + MultiByte + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + false + v142 + true + MultiByte + + + StaticLibrary + false + v142 + true + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)..\bin\$(Configuration)\ + E:\KO\KO CALISMALAR\boost;$(IncludePath) + E:\KO\KO CALISMALAR\boost\libs;$(LibraryPath) + + + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0;$(IncludePath) + C:\Users\Administrator\Desktop\2180\2117\boost_1_63_0\stage;$(LibraryPath) + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + $(SolutionDir)..\bin\$(Configuration)\ + + + + + Level3 + Disabled + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + + + Level1 + Disabled + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + %(AdditionalLibraryDirectories) + + + + + Level3 + Disabled + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + + + Level3 + Disabled + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDebug + + + true + + + + + Level3 + MaxSpeed + true + true + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + true + WIN32;_WIN32;_MBCS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + true + + + + + + + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + Use + Use + Use + Use + Use + Use + Use + Use + + + + + Use + Use + Use + Use + Use + Use + Use + Use + + + + + + + + + Use + Use + Use + Use + Use + Use + Use + Use + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + Use + Use + + + + Use + Use + Use + Use + Use + Use + Use + Use + Use + Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/shared/shared.vcxproj.user b/server/shared/shared.vcxproj.user new file mode 100644 index 0000000..a375ae3 --- /dev/null +++ b/server/shared/shared.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/server/shared/signal_handler.cpp b/server/shared/signal_handler.cpp new file mode 100644 index 0000000..774dd3b --- /dev/null +++ b/server/shared/signal_handler.cpp @@ -0,0 +1,40 @@ +#include "stdafx.h" +#include "Condition.h" +#include "signal_handler.h" +#include + +Condition * g_hNotifier; +void HookSignals(Condition * notifier) +{ + g_hNotifier = notifier; + + signal(SIGINT, OnSignal); + signal(SIGTERM, OnSignal); + signal(SIGABRT, OnSignal); + signal(SIGBREAK, OnSignal); +} + +void OnSignal(int s) +{ + switch (s) + { + case SIGINT: + case SIGTERM: + case SIGABRT: + case SIGBREAK: + g_hNotifier->BeginSynchronized(); + g_hNotifier->Signal(); + g_hNotifier->EndSynchronized(); + break; + } + + signal(s, OnSignal); +} + +void UnhookSignals() +{ + signal(SIGINT, 0); + signal(SIGTERM, 0); + signal(SIGABRT, 0); + signal(SIGBREAK, 0); +} diff --git a/server/shared/signal_handler.h b/server/shared/signal_handler.h new file mode 100644 index 0000000..2b32ab3 --- /dev/null +++ b/server/shared/signal_handler.h @@ -0,0 +1,5 @@ +#pragma once + +void OnSignal(int s); +void HookSignals(Condition * notifier); +void UnhookSignals(); \ No newline at end of file diff --git a/server/shared/stdafx.cpp b/server/shared/stdafx.cpp new file mode 100644 index 0000000..1577c4e --- /dev/null +++ b/server/shared/stdafx.cpp @@ -0,0 +1 @@ +#include "stdafx.h" \ No newline at end of file diff --git a/server/shared/stdafx.h b/server/shared/stdafx.h new file mode 100644 index 0000000..a032532 --- /dev/null +++ b/server/shared/stdafx.h @@ -0,0 +1,92 @@ +#pragma once + +#include + +#define VC_EXTRALEAN +#define WIN32_LEAN_AND_MEAN + +#include +#include +#include + +#define THREADCALL WINAPI +#define STRCASECMP _stricmp + +#define I64FMT "%016I64X" +#define I64FMTD "%I64u" +#define SI64FMTD "%I64d" + +#if defined(_DEBUG) || defined(DEBUG) +# include +# include "DebugUtils.h" + +# define ASSERT assert +# define TRACE FormattedDebugString + +// Enables tracing to stdout. +// Preferable with the VS debugger (is thrown in the "output" window), but +// it can be spammy otherwise (especially if you don't need it enabled). +# define USE_SQL_TRACE + +// Ensure both typically used debug defines behave as intended +# ifndef DEBUG +# define DEBUG +# endif + +# ifndef _DEBUG +# define _DEBUG +# endif + +#else +# define ASSERT +# define TRACE +#endif + +// Ignore the warning "nonstandard extension used: enum '' used in qualified name" +// Sometimes it's necessary to avoid collisions, but aside from that, specifying the enumeration helps make code intent clearer. +#pragma warning(disable: 4482) + +#define STR(str) #str +#define STRINGIFY(str) STR(str) + +#include +#include +#include +#include + +class Guard +{ +public: + Guard(std::recursive_mutex& mutex) : target(mutex) { target.lock(); } + Guard(std::recursive_mutex* mutex) : target(*mutex) { target.lock(); } + ~Guard() { target.unlock(); } + +protected: + std::recursive_mutex& target; +}; + +#define sleep(ms) Sleep(ms) + +#ifdef min +#undef min +#endif + +#ifdef max +#undef max +#endif + +// define compiler-specific types +#include "types.h" + +#include +#include +#include +#include +#include + +#include "tstring.h" +#include "globals.h" +#include "Atomic.h" +#include "Thread.h" +#include "Network.h" +#include "TimeThread.h" diff --git a/server/shared/tstring.cpp b/server/shared/tstring.cpp new file mode 100644 index 0000000..cf53639 --- /dev/null +++ b/server/shared/tstring.cpp @@ -0,0 +1,75 @@ +#include "tstring.h" +#include +#include +#include +#include + +void _string_format(const std::string fmt, std::string * result, va_list args) +{ + char buffer[1024]; + _vsnprintf(buffer, sizeof(buffer), fmt.c_str(), args); + *result = buffer; +} + +std::string string_format(const std::string fmt, ...) +{ + std::string result; + va_list ap; + + va_start(ap, fmt); + _string_format(fmt, &result, ap); + va_end(ap); + + return result; +} + +template int safe_ctype(unsigned char c) { return F(c); } +static int safe_isspace(int c) { return safe_ctype(c); } + +// trim from end +std::string & rtrim(std::string &s) +{ + s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(safe_isspace))).base(), s.end()); + return s; +} + +// trim from start +std::string & ltrim(std::string &s) +{ + s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(safe_isspace)))); + return s; +} + +void tstrcpy(char *dst, size_t len, std::string & src) +{ + memset(dst, 0x00, len); + memcpy(dst, src.c_str(), src.length() > len ? len : src.length()); +} + +#define _tstrcpy(dst, src) tstrcpy(dst, sizeof(dst), src) + +#ifdef UNICODE +string_format(const tstring fmt, ...) +{ + TCHAR buffer[1024]; + va_list ap; + + va_start(ap, fmt); + _vsntprintf(buffer, sizeof(buffer), fmt.c_str(), ap); + va_end(ap); + + return buffer; +} + +tstring & rtrim(tstring &s) +{ + s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(safe_isspace))).base(), s.end()); + return s; +} + +void tstrcpy(TCHAR *dst, size_t len, tstring & src) +{ + memset(dst, 0x00, len); + memcpy(dst, src.c_str(), src.length() > len ? len : src.length()); +} +#endif diff --git a/server/shared/tstring.h b/server/shared/tstring.h new file mode 100644 index 0000000..5cee420 --- /dev/null +++ b/server/shared/tstring.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +// This header is Windows-specific +// Allow for minimal code changes for other systems. +#ifdef WIN32 +#include +#else +#define TCHAR char +#define _T(x) x +#define _tprintf printf +#define _vsntprintf vsnprintf +#define _vsnprintf vsnprintf +#define _stprintf sprintf +#define _snprintf snprintf +#endif + +#ifdef UNICODE +typedef std::wstring tstring; +#else +typedef std::string tstring; +#endif + +void _string_format(const std::string fmt, std::string * result, va_list args); +std::string string_format(const std::string fmt, ...); +std::string & rtrim(std::string &s); +std::string & ltrim(std::string &s); +void tstrcpy(char *dst, size_t len, std::string & src); \ No newline at end of file diff --git a/server/shared/types.h b/server/shared/types.h new file mode 100644 index 0000000..437e503 --- /dev/null +++ b/server/shared/types.h @@ -0,0 +1,12 @@ +#pragma once + +#define INLINE __forceinline + +typedef int64_t int64; +typedef int32_t int32; +typedef int16_t int16; +typedef int8_t int8; +typedef uint64_t uint64; +typedef uint32_t uint32; +typedef uint16_t uint16; +typedef uint8_t uint8; diff --git a/server/shared/version.h b/server/shared/version.h new file mode 100644 index 0000000..1066408 --- /dev/null +++ b/server/shared/version.h @@ -0,0 +1,3 @@ +#pragma once + +#define __VERSION 2170 \ No newline at end of file